@visactor/vchart 1.7.4 → 1.8.0-alpha.0

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 (523) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +35567 -40135
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/config.d.ts +5 -1
  6. package/cjs/animation/config.js +28 -4
  7. package/cjs/animation/config.js.map +1 -1
  8. package/cjs/animation/utils.d.ts +2 -2
  9. package/cjs/chart/base-chart.js +7 -11
  10. package/cjs/chart/base-chart.js.map +1 -1
  11. package/cjs/compile/interface/compiler.d.ts +5 -0
  12. package/cjs/compile/interface/compiler.js.map +1 -1
  13. package/cjs/component/axis/base-axis.d.ts +29 -2
  14. package/cjs/component/axis/base-axis.js +64 -23
  15. package/cjs/component/axis/base-axis.js.map +1 -1
  16. package/cjs/component/axis/cartesian/axis.d.ts +2 -1
  17. package/cjs/component/axis/cartesian/axis.js +10 -28
  18. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  19. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  20. package/cjs/component/axis/cartesian/time-axis.js +9 -17
  21. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  22. package/cjs/component/axis/mixin/linear-axis-mixin.js +11 -15
  23. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  24. package/cjs/component/axis/polar/axis.d.ts +2 -0
  25. package/cjs/component/axis/polar/axis.js +10 -26
  26. package/cjs/component/axis/polar/axis.js.map +1 -1
  27. package/cjs/component/base/base-component.d.ts +1 -0
  28. package/cjs/component/base/base-component.js +4 -2
  29. package/cjs/component/base/base-component.js.map +1 -1
  30. package/cjs/component/brush/brush.d.ts +2 -0
  31. package/cjs/component/brush/brush.js +43 -34
  32. package/cjs/component/brush/brush.js.map +1 -1
  33. package/cjs/component/crosshair/base.js +13 -7
  34. package/cjs/component/crosshair/base.js.map +1 -1
  35. package/cjs/component/custom-mark/custom-mark.js +2 -1
  36. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  37. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
  38. package/cjs/component/data-zoom/data-filter-base-component.js +3 -2
  39. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  40. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +5 -1
  41. package/cjs/component/data-zoom/data-zoom/data-zoom.js +47 -38
  42. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  43. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -2
  44. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  45. package/cjs/component/data-zoom/interface.d.ts +1 -1
  46. package/cjs/component/data-zoom/interface.js.map +1 -1
  47. package/cjs/component/geo/geo-coordinate.d.ts +0 -3
  48. package/cjs/component/geo/geo-coordinate.js +12 -15
  49. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  50. package/cjs/component/geo/projection.js +10 -6
  51. package/cjs/component/geo/projection.js.map +1 -1
  52. package/cjs/component/label/label.js +1 -2
  53. package/cjs/component/label/label.js.map +1 -1
  54. package/cjs/component/label/totalLabel.js +2 -2
  55. package/cjs/component/label/totalLabel.js.map +1 -1
  56. package/cjs/component/legend/discrete/util.js +1 -1
  57. package/cjs/component/legend/discrete/util.js.map +1 -1
  58. package/cjs/component/legend/util.d.ts +1 -1
  59. package/cjs/component/map-label/component.js.map +1 -1
  60. package/cjs/component/marker/base-marker.js +4 -10
  61. package/cjs/component/marker/base-marker.js.map +1 -1
  62. package/cjs/component/marker/mark-area/mark-area.js +16 -15
  63. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  64. package/cjs/component/marker/mark-line/mark-line.js +22 -21
  65. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  66. package/cjs/component/marker/mark-point/mark-point.js +30 -26
  67. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  68. package/cjs/component/tooltip/handler/base.js +10 -9
  69. package/cjs/component/tooltip/handler/base.js.map +1 -1
  70. package/cjs/core/index.d.ts +1 -1
  71. package/cjs/core/index.js +1 -1
  72. package/cjs/core/index.js.map +1 -1
  73. package/cjs/core/vchart.js +5 -2
  74. package/cjs/core/vchart.js.map +1 -1
  75. package/cjs/event/events/dimension/util/cartesian.js +5 -17
  76. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  77. package/cjs/event/events/dimension/util/common.d.ts +1 -0
  78. package/cjs/event/events/dimension/util/common.js +9 -1
  79. package/cjs/event/events/dimension/util/common.js.map +1 -1
  80. package/cjs/event/events/dimension/util/polar.js +4 -17
  81. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  82. package/cjs/interaction/zoom/zoomable.js +17 -8
  83. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  84. package/cjs/mark/arc-3d.d.ts +1 -0
  85. package/cjs/mark/arc-3d.js +9 -2
  86. package/cjs/mark/arc-3d.js.map +1 -1
  87. package/cjs/mark/arc.d.ts +1 -0
  88. package/cjs/mark/arc.js +9 -2
  89. package/cjs/mark/arc.js.map +1 -1
  90. package/cjs/mark/area.d.ts +1 -0
  91. package/cjs/mark/area.js +9 -2
  92. package/cjs/mark/area.js.map +1 -1
  93. package/cjs/mark/box-plot.d.ts +1 -0
  94. package/cjs/mark/box-plot.js +10 -5
  95. package/cjs/mark/box-plot.js.map +1 -1
  96. package/cjs/mark/cell.d.ts +1 -0
  97. package/cjs/mark/cell.js +9 -2
  98. package/cjs/mark/cell.js.map +1 -1
  99. package/cjs/mark/component.d.ts +1 -0
  100. package/cjs/mark/component.js +8 -2
  101. package/cjs/mark/component.js.map +1 -1
  102. package/cjs/mark/group.d.ts +2 -1
  103. package/cjs/mark/group.js +8 -2
  104. package/cjs/mark/group.js.map +1 -1
  105. package/cjs/mark/image.d.ts +1 -0
  106. package/cjs/mark/image.js +8 -2
  107. package/cjs/mark/image.js.map +1 -1
  108. package/cjs/mark/label.d.ts +1 -0
  109. package/cjs/mark/label.js +8 -2
  110. package/cjs/mark/label.js.map +1 -1
  111. package/cjs/mark/line.d.ts +1 -0
  112. package/cjs/mark/line.js +9 -2
  113. package/cjs/mark/line.js.map +1 -1
  114. package/cjs/mark/link-path.d.ts +1 -0
  115. package/cjs/mark/link-path.js +8 -3
  116. package/cjs/mark/link-path.js.map +1 -1
  117. package/cjs/mark/path.d.ts +1 -0
  118. package/cjs/mark/path.js +8 -2
  119. package/cjs/mark/path.js.map +1 -1
  120. package/cjs/mark/polygon/polygon.d.ts +1 -0
  121. package/cjs/mark/polygon/polygon.js +9 -2
  122. package/cjs/mark/polygon/polygon.js.map +1 -1
  123. package/cjs/mark/polygon/pyramid-3d.d.ts +1 -0
  124. package/cjs/mark/polygon/pyramid-3d.js +9 -2
  125. package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
  126. package/cjs/mark/progress-arc.d.ts +1 -0
  127. package/cjs/mark/progress-arc.js +9 -2
  128. package/cjs/mark/progress-arc.js.map +1 -1
  129. package/cjs/mark/rect-3d.d.ts +1 -0
  130. package/cjs/mark/rect-3d.js +9 -2
  131. package/cjs/mark/rect-3d.js.map +1 -1
  132. package/cjs/mark/rect.d.ts +1 -0
  133. package/cjs/mark/rect.js +9 -2
  134. package/cjs/mark/rect.js.map +1 -1
  135. package/cjs/mark/ripple.d.ts +1 -0
  136. package/cjs/mark/ripple.js +8 -3
  137. package/cjs/mark/ripple.js.map +1 -1
  138. package/cjs/mark/rule.d.ts +1 -0
  139. package/cjs/mark/rule.js +8 -2
  140. package/cjs/mark/rule.js.map +1 -1
  141. package/cjs/mark/symbol.d.ts +1 -0
  142. package/cjs/mark/symbol.js +8 -2
  143. package/cjs/mark/symbol.js.map +1 -1
  144. package/cjs/mark/text.d.ts +1 -0
  145. package/cjs/mark/text.js +8 -2
  146. package/cjs/mark/text.js.map +1 -1
  147. package/cjs/model/base-model.d.ts +0 -2
  148. package/cjs/model/base-model.js +1 -8
  149. package/cjs/model/base-model.js.map +1 -1
  150. package/cjs/series/area/area.js +11 -12
  151. package/cjs/series/area/area.js.map +1 -1
  152. package/cjs/series/area/interface.d.ts +2 -2
  153. package/cjs/series/area/interface.js.map +1 -1
  154. package/cjs/series/bar/bar-3d.js +2 -2
  155. package/cjs/series/bar/bar-3d.js.map +1 -1
  156. package/cjs/series/bar/bar.js +5 -5
  157. package/cjs/series/bar/bar.js.map +1 -1
  158. package/cjs/series/bar/interface.d.ts +2 -2
  159. package/cjs/series/bar/interface.js.map +1 -1
  160. package/cjs/series/base/base-series.js +7 -3
  161. package/cjs/series/base/base-series.js.map +1 -1
  162. package/cjs/series/box-plot/box-plot.js +2 -3
  163. package/cjs/series/box-plot/box-plot.js.map +1 -1
  164. package/cjs/series/circle-packing/circle-packing.js +4 -4
  165. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  166. package/cjs/series/correlation/correlation.js +32 -29
  167. package/cjs/series/correlation/correlation.js.map +1 -1
  168. package/cjs/series/dot/dot.js +4 -5
  169. package/cjs/series/dot/dot.js.map +1 -1
  170. package/cjs/series/funnel/funnel-3d.js +1 -2
  171. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  172. package/cjs/series/funnel/funnel.js +9 -10
  173. package/cjs/series/funnel/funnel.js.map +1 -1
  174. package/cjs/series/gauge/gauge-pointer.js +2 -3
  175. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  176. package/cjs/series/gauge/gauge.js +2 -2
  177. package/cjs/series/gauge/gauge.js.map +1 -1
  178. package/cjs/series/heatmap/heatmap.d.ts +1 -1
  179. package/cjs/series/heatmap/heatmap.js +3 -4
  180. package/cjs/series/heatmap/heatmap.js.map +1 -1
  181. package/cjs/series/line/interface.d.ts +2 -2
  182. package/cjs/series/line/interface.js.map +1 -1
  183. package/cjs/series/line/line.js +2 -3
  184. package/cjs/series/line/line.js.map +1 -1
  185. package/cjs/series/link/link.js +1 -2
  186. package/cjs/series/link/link.js.map +1 -1
  187. package/cjs/series/map/map.d.ts +3 -0
  188. package/cjs/series/map/map.js +4 -1
  189. package/cjs/series/map/map.js.map +1 -1
  190. package/cjs/series/pie/pie-3d.js +1 -2
  191. package/cjs/series/pie/pie-3d.js.map +1 -1
  192. package/cjs/series/pie/pie.d.ts +2 -0
  193. package/cjs/series/pie/pie.js +34 -34
  194. package/cjs/series/pie/pie.js.map +1 -1
  195. package/cjs/series/polar/polar.d.ts +1 -0
  196. package/cjs/series/polar/polar.js +7 -1
  197. package/cjs/series/polar/polar.js.map +1 -1
  198. package/cjs/series/progress/circular/circular.js +3 -3
  199. package/cjs/series/progress/circular/circular.js.map +1 -1
  200. package/cjs/series/progress/linear/linear.js +2 -2
  201. package/cjs/series/progress/linear/linear.js.map +1 -1
  202. package/cjs/series/radar/radar.js +3 -3
  203. package/cjs/series/radar/radar.js.map +1 -1
  204. package/cjs/series/range-area/range-area.js +1 -1
  205. package/cjs/series/range-area/range-area.js.map +1 -1
  206. package/cjs/series/range-column/range-column-3d.js +1 -2
  207. package/cjs/series/range-column/range-column-3d.js.map +1 -1
  208. package/cjs/series/range-column/range-column.js +2 -3
  209. package/cjs/series/range-column/range-column.js.map +1 -1
  210. package/cjs/series/rose/rose.d.ts +3 -0
  211. package/cjs/series/rose/rose.js +16 -3
  212. package/cjs/series/rose/rose.js.map +1 -1
  213. package/cjs/series/sankey/sankey.js +11 -11
  214. package/cjs/series/sankey/sankey.js.map +1 -1
  215. package/cjs/series/scatter/interface.d.ts +2 -2
  216. package/cjs/series/scatter/interface.js.map +1 -1
  217. package/cjs/series/scatter/scatter.js +2 -2
  218. package/cjs/series/scatter/scatter.js.map +1 -1
  219. package/cjs/series/sunburst/sunburst.js +3 -3
  220. package/cjs/series/sunburst/sunburst.js.map +1 -1
  221. package/cjs/series/treemap/treemap.js +2 -3
  222. package/cjs/series/treemap/treemap.js.map +1 -1
  223. package/cjs/series/waterfall/waterfall.js +3 -4
  224. package/cjs/series/waterfall/waterfall.js.map +1 -1
  225. package/cjs/series/word-cloud/base.d.ts +3 -0
  226. package/cjs/series/word-cloud/base.js +86 -73
  227. package/cjs/series/word-cloud/base.js.map +1 -1
  228. package/cjs/series/word-cloud/word-cloud-3d.d.ts +22 -1
  229. package/cjs/series/word-cloud/word-cloud-3d.js +31 -151
  230. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  231. package/cjs/series/word-cloud/word-cloud.js +3 -3
  232. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  233. package/cjs/theme/builtin/common/component/axis/common-axis.js +4 -0
  234. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  235. package/cjs/theme/builtin/common/component/data-zoom.js +2 -4
  236. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  237. package/cjs/theme/builtin/index.d.ts +0 -1
  238. package/cjs/theme/builtin/index.js +1 -2
  239. package/cjs/theme/builtin/index.js.map +1 -1
  240. package/cjs/typings/spec/chart.d.ts +2 -1
  241. package/cjs/typings/spec/chart.js.map +1 -1
  242. package/cjs/util/model.d.ts +1 -0
  243. package/cjs/util/model.js +15 -1
  244. package/cjs/util/model.js.map +1 -1
  245. package/cjs/util/space.d.ts +1 -3
  246. package/cjs/util/space.js +4 -16
  247. package/cjs/util/space.js.map +1 -1
  248. package/cjs/vchart-all.js.map +1 -1
  249. package/esm/animation/config.d.ts +5 -1
  250. package/esm/animation/config.js +18 -2
  251. package/esm/animation/config.js.map +1 -1
  252. package/esm/animation/utils.d.ts +2 -2
  253. package/esm/chart/base-chart.js +7 -11
  254. package/esm/chart/base-chart.js.map +1 -1
  255. package/esm/compile/interface/compiler.d.ts +5 -0
  256. package/esm/compile/interface/compiler.js.map +1 -1
  257. package/esm/component/axis/base-axis.d.ts +29 -2
  258. package/esm/component/axis/base-axis.js +71 -24
  259. package/esm/component/axis/base-axis.js.map +1 -1
  260. package/esm/component/axis/cartesian/axis.d.ts +2 -1
  261. package/esm/component/axis/cartesian/axis.js +9 -34
  262. package/esm/component/axis/cartesian/axis.js.map +1 -1
  263. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  264. package/esm/component/axis/cartesian/time-axis.js +9 -17
  265. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  266. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -5
  267. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  268. package/esm/component/axis/polar/axis.d.ts +2 -0
  269. package/esm/component/axis/polar/axis.js +9 -32
  270. package/esm/component/axis/polar/axis.js.map +1 -1
  271. package/esm/component/base/base-component.d.ts +1 -0
  272. package/esm/component/base/base-component.js +4 -2
  273. package/esm/component/base/base-component.js.map +1 -1
  274. package/esm/component/brush/brush.d.ts +2 -0
  275. package/esm/component/brush/brush.js +44 -35
  276. package/esm/component/brush/brush.js.map +1 -1
  277. package/esm/component/crosshair/base.js +13 -7
  278. package/esm/component/crosshair/base.js.map +1 -1
  279. package/esm/component/custom-mark/custom-mark.js +3 -2
  280. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  281. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
  282. package/esm/component/data-zoom/data-filter-base-component.js +3 -2
  283. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  284. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +5 -1
  285. package/esm/component/data-zoom/data-zoom/data-zoom.js +47 -38
  286. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  287. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -2
  288. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  289. package/esm/component/data-zoom/interface.d.ts +1 -1
  290. package/esm/component/data-zoom/interface.js.map +1 -1
  291. package/esm/component/geo/geo-coordinate.d.ts +0 -3
  292. package/esm/component/geo/geo-coordinate.js +13 -16
  293. package/esm/component/geo/geo-coordinate.js.map +1 -1
  294. package/esm/component/geo/projection.js +10 -6
  295. package/esm/component/geo/projection.js.map +1 -1
  296. package/esm/component/label/label.js +3 -4
  297. package/esm/component/label/label.js.map +1 -1
  298. package/esm/component/label/totalLabel.js +4 -3
  299. package/esm/component/label/totalLabel.js.map +1 -1
  300. package/esm/component/legend/discrete/util.js +1 -1
  301. package/esm/component/legend/discrete/util.js.map +1 -1
  302. package/esm/component/legend/util.d.ts +1 -1
  303. package/esm/component/map-label/component.js.map +1 -1
  304. package/esm/component/marker/base-marker.js +5 -9
  305. package/esm/component/marker/base-marker.js.map +1 -1
  306. package/esm/component/marker/mark-area/mark-area.js +16 -15
  307. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  308. package/esm/component/marker/mark-line/mark-line.js +22 -21
  309. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  310. package/esm/component/marker/mark-point/mark-point.js +30 -26
  311. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  312. package/esm/component/tooltip/handler/base.js +8 -10
  313. package/esm/component/tooltip/handler/base.js.map +1 -1
  314. package/esm/core/index.d.ts +1 -1
  315. package/esm/core/index.js +1 -1
  316. package/esm/core/index.js.map +1 -1
  317. package/esm/core/vchart.js +9 -6
  318. package/esm/core/vchart.js.map +1 -1
  319. package/esm/event/events/dimension/util/cartesian.js +7 -18
  320. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  321. package/esm/event/events/dimension/util/common.d.ts +1 -0
  322. package/esm/event/events/dimension/util/common.js +5 -0
  323. package/esm/event/events/dimension/util/common.js.map +1 -1
  324. package/esm/event/events/dimension/util/polar.js +6 -17
  325. package/esm/event/events/dimension/util/polar.js.map +1 -1
  326. package/esm/interaction/zoom/zoomable.js +17 -10
  327. package/esm/interaction/zoom/zoomable.js.map +1 -1
  328. package/esm/mark/arc-3d.d.ts +1 -0
  329. package/esm/mark/arc-3d.js +10 -0
  330. package/esm/mark/arc-3d.js.map +1 -1
  331. package/esm/mark/arc.d.ts +1 -0
  332. package/esm/mark/arc.js +10 -0
  333. package/esm/mark/arc.js.map +1 -1
  334. package/esm/mark/area.d.ts +1 -0
  335. package/esm/mark/area.js +10 -0
  336. package/esm/mark/area.js.map +1 -1
  337. package/esm/mark/box-plot.d.ts +1 -0
  338. package/esm/mark/box-plot.js +7 -3
  339. package/esm/mark/box-plot.js.map +1 -1
  340. package/esm/mark/cell.d.ts +1 -0
  341. package/esm/mark/cell.js +8 -0
  342. package/esm/mark/cell.js.map +1 -1
  343. package/esm/mark/component.d.ts +1 -0
  344. package/esm/mark/component.js +6 -0
  345. package/esm/mark/component.js.map +1 -1
  346. package/esm/mark/group.d.ts +2 -1
  347. package/esm/mark/group.js +8 -0
  348. package/esm/mark/group.js.map +1 -1
  349. package/esm/mark/image.d.ts +1 -0
  350. package/esm/mark/image.js +8 -0
  351. package/esm/mark/image.js.map +1 -1
  352. package/esm/mark/label.d.ts +1 -0
  353. package/esm/mark/label.js +8 -0
  354. package/esm/mark/label.js.map +1 -1
  355. package/esm/mark/line.d.ts +1 -0
  356. package/esm/mark/line.js +10 -0
  357. package/esm/mark/line.js.map +1 -1
  358. package/esm/mark/link-path.d.ts +1 -0
  359. package/esm/mark/link-path.js +6 -1
  360. package/esm/mark/link-path.js.map +1 -1
  361. package/esm/mark/path.d.ts +1 -0
  362. package/esm/mark/path.js +8 -0
  363. package/esm/mark/path.js.map +1 -1
  364. package/esm/mark/polygon/polygon.d.ts +1 -0
  365. package/esm/mark/polygon/polygon.js +10 -0
  366. package/esm/mark/polygon/polygon.js.map +1 -1
  367. package/esm/mark/polygon/pyramid-3d.d.ts +1 -0
  368. package/esm/mark/polygon/pyramid-3d.js +11 -0
  369. package/esm/mark/polygon/pyramid-3d.js.map +1 -1
  370. package/esm/mark/progress-arc.d.ts +1 -0
  371. package/esm/mark/progress-arc.js +10 -0
  372. package/esm/mark/progress-arc.js.map +1 -1
  373. package/esm/mark/rect-3d.d.ts +1 -0
  374. package/esm/mark/rect-3d.js +10 -0
  375. package/esm/mark/rect-3d.js.map +1 -1
  376. package/esm/mark/rect.d.ts +1 -0
  377. package/esm/mark/rect.js +10 -0
  378. package/esm/mark/rect.js.map +1 -1
  379. package/esm/mark/ripple.d.ts +1 -0
  380. package/esm/mark/ripple.js +6 -1
  381. package/esm/mark/ripple.js.map +1 -1
  382. package/esm/mark/rule.d.ts +1 -0
  383. package/esm/mark/rule.js +8 -0
  384. package/esm/mark/rule.js.map +1 -1
  385. package/esm/mark/symbol.d.ts +1 -0
  386. package/esm/mark/symbol.js +8 -0
  387. package/esm/mark/symbol.js.map +1 -1
  388. package/esm/mark/text.d.ts +1 -0
  389. package/esm/mark/text.js +7 -1
  390. package/esm/mark/text.js.map +1 -1
  391. package/esm/model/base-model.d.ts +0 -2
  392. package/esm/model/base-model.js +1 -7
  393. package/esm/model/base-model.js.map +1 -1
  394. package/esm/series/area/area.js +13 -17
  395. package/esm/series/area/area.js.map +1 -1
  396. package/esm/series/area/interface.d.ts +2 -2
  397. package/esm/series/area/interface.js.map +1 -1
  398. package/esm/series/bar/bar-3d.js +2 -3
  399. package/esm/series/bar/bar-3d.js.map +1 -1
  400. package/esm/series/bar/bar.js +5 -6
  401. package/esm/series/bar/bar.js.map +1 -1
  402. package/esm/series/bar/interface.d.ts +2 -2
  403. package/esm/series/bar/interface.js.map +1 -1
  404. package/esm/series/base/base-series.js +7 -3
  405. package/esm/series/base/base-series.js.map +1 -1
  406. package/esm/series/box-plot/box-plot.js +3 -4
  407. package/esm/series/box-plot/box-plot.js.map +1 -1
  408. package/esm/series/circle-packing/circle-packing.js +6 -7
  409. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  410. package/esm/series/correlation/correlation.js +34 -30
  411. package/esm/series/correlation/correlation.js.map +1 -1
  412. package/esm/series/dot/dot.js +7 -8
  413. package/esm/series/dot/dot.js.map +1 -1
  414. package/esm/series/funnel/funnel-3d.js +4 -5
  415. package/esm/series/funnel/funnel-3d.js.map +1 -1
  416. package/esm/series/funnel/funnel.js +12 -13
  417. package/esm/series/funnel/funnel.js.map +1 -1
  418. package/esm/series/gauge/gauge-pointer.js +3 -4
  419. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  420. package/esm/series/gauge/gauge.js +2 -3
  421. package/esm/series/gauge/gauge.js.map +1 -1
  422. package/esm/series/heatmap/heatmap.d.ts +1 -1
  423. package/esm/series/heatmap/heatmap.js +5 -8
  424. package/esm/series/heatmap/heatmap.js.map +1 -1
  425. package/esm/series/line/interface.d.ts +2 -2
  426. package/esm/series/line/interface.js.map +1 -1
  427. package/esm/series/line/line.js +4 -5
  428. package/esm/series/line/line.js.map +1 -1
  429. package/esm/series/link/link.js +3 -4
  430. package/esm/series/link/link.js.map +1 -1
  431. package/esm/series/map/map.d.ts +3 -0
  432. package/esm/series/map/map.js +7 -4
  433. package/esm/series/map/map.js.map +1 -1
  434. package/esm/series/pie/pie-3d.js +2 -3
  435. package/esm/series/pie/pie-3d.js.map +1 -1
  436. package/esm/series/pie/pie.d.ts +2 -0
  437. package/esm/series/pie/pie.js +31 -29
  438. package/esm/series/pie/pie.js.map +1 -1
  439. package/esm/series/polar/polar.d.ts +1 -0
  440. package/esm/series/polar/polar.js +8 -0
  441. package/esm/series/polar/polar.js.map +1 -1
  442. package/esm/series/progress/circular/circular.js +4 -5
  443. package/esm/series/progress/circular/circular.js.map +1 -1
  444. package/esm/series/progress/linear/linear.js +3 -3
  445. package/esm/series/progress/linear/linear.js.map +1 -1
  446. package/esm/series/radar/radar.js +5 -6
  447. package/esm/series/radar/radar.js.map +1 -1
  448. package/esm/series/range-area/range-area.js +2 -2
  449. package/esm/series/range-area/range-area.js.map +1 -1
  450. package/esm/series/range-column/range-column-3d.js +2 -2
  451. package/esm/series/range-column/range-column-3d.js.map +1 -1
  452. package/esm/series/range-column/range-column.js +4 -5
  453. package/esm/series/range-column/range-column.js.map +1 -1
  454. package/esm/series/rose/rose.d.ts +3 -0
  455. package/esm/series/rose/rose.js +17 -5
  456. package/esm/series/rose/rose.js.map +1 -1
  457. package/esm/series/sankey/sankey.js +13 -13
  458. package/esm/series/sankey/sankey.js.map +1 -1
  459. package/esm/series/scatter/interface.d.ts +2 -2
  460. package/esm/series/scatter/interface.js.map +1 -1
  461. package/esm/series/scatter/scatter.js +2 -3
  462. package/esm/series/scatter/scatter.js.map +1 -1
  463. package/esm/series/sunburst/sunburst.js +4 -5
  464. package/esm/series/sunburst/sunburst.js.map +1 -1
  465. package/esm/series/treemap/treemap.js +4 -5
  466. package/esm/series/treemap/treemap.js.map +1 -1
  467. package/esm/series/waterfall/waterfall.js +4 -5
  468. package/esm/series/waterfall/waterfall.js.map +1 -1
  469. package/esm/series/word-cloud/base.d.ts +3 -0
  470. package/esm/series/word-cloud/base.js +86 -73
  471. package/esm/series/word-cloud/base.js.map +1 -1
  472. package/esm/series/word-cloud/word-cloud-3d.d.ts +22 -1
  473. package/esm/series/word-cloud/word-cloud-3d.js +34 -158
  474. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  475. package/esm/series/word-cloud/word-cloud.js +6 -6
  476. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  477. package/esm/theme/builtin/common/component/axis/common-axis.js +4 -0
  478. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  479. package/esm/theme/builtin/common/component/data-zoom.js +2 -4
  480. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  481. package/esm/theme/builtin/index.d.ts +0 -1
  482. package/esm/theme/builtin/index.js +0 -2
  483. package/esm/theme/builtin/index.js.map +1 -1
  484. package/esm/typings/spec/chart.d.ts +2 -1
  485. package/esm/typings/spec/chart.js.map +1 -1
  486. package/esm/util/model.d.ts +1 -0
  487. package/esm/util/model.js +12 -0
  488. package/esm/util/model.js.map +1 -1
  489. package/esm/util/space.d.ts +1 -3
  490. package/esm/util/space.js +0 -12
  491. package/esm/util/space.js.map +1 -1
  492. package/esm/vchart-all.js.map +1 -1
  493. package/package.json +14 -14
  494. package/cjs/theme/builtin/common/legacy/index.d.ts +0 -1
  495. package/cjs/theme/builtin/common/legacy/index.js +0 -21
  496. package/cjs/theme/builtin/common/legacy/index.js.map +0 -1
  497. package/cjs/theme/builtin/common/legacy/legend/color-legend.d.ts +0 -2
  498. package/cjs/theme/builtin/common/legacy/legend/color-legend.js +0 -43
  499. package/cjs/theme/builtin/common/legacy/legend/color-legend.js.map +0 -1
  500. package/cjs/theme/builtin/common/legacy/legend/continuous.d.ts +0 -2
  501. package/cjs/theme/builtin/common/legacy/legend/continuous.js +0 -60
  502. package/cjs/theme/builtin/common/legacy/legend/continuous.js.map +0 -1
  503. package/cjs/theme/builtin/common/legacy/legend/index.d.ts +0 -2
  504. package/cjs/theme/builtin/common/legacy/legend/index.js +0 -24
  505. package/cjs/theme/builtin/common/legacy/legend/index.js.map +0 -1
  506. package/cjs/theme/builtin/common/legacy/legend/size-legend.d.ts +0 -2
  507. package/cjs/theme/builtin/common/legacy/legend/size-legend.js +0 -56
  508. package/cjs/theme/builtin/common/legacy/legend/size-legend.js.map +0 -1
  509. package/esm/theme/builtin/common/legacy/index.d.ts +0 -1
  510. package/esm/theme/builtin/common/legacy/index.js +0 -2
  511. package/esm/theme/builtin/common/legacy/index.js.map +0 -1
  512. package/esm/theme/builtin/common/legacy/legend/color-legend.d.ts +0 -2
  513. package/esm/theme/builtin/common/legacy/legend/color-legend.js +0 -39
  514. package/esm/theme/builtin/common/legacy/legend/color-legend.js.map +0 -1
  515. package/esm/theme/builtin/common/legacy/legend/continuous.d.ts +0 -2
  516. package/esm/theme/builtin/common/legacy/legend/continuous.js +0 -54
  517. package/esm/theme/builtin/common/legacy/legend/continuous.js.map +0 -1
  518. package/esm/theme/builtin/common/legacy/legend/index.d.ts +0 -2
  519. package/esm/theme/builtin/common/legacy/legend/index.js +0 -4
  520. package/esm/theme/builtin/common/legacy/legend/index.js.map +0 -1
  521. package/esm/theme/builtin/common/legacy/legend/size-legend.d.ts +0 -2
  522. package/esm/theme/builtin/common/legacy/legend/size-legend.js +0 -54
  523. package/esm/theme/builtin/common/legacy/legend/size-legend.js.map +0 -1
@@ -1,9 +1,13 @@
1
+ import { Factory } from "./../core/factory";
2
+
1
3
  import { ShapeTypeEnum } from "../typings";
2
4
 
3
5
  import { BaseMark } from "./base/base-mark";
4
6
 
5
7
  import { MarkTypeEnum } from "./interface/type";
6
8
 
9
+ import { registerSymbolGraphic } from "@visactor/vgrammar-core";
10
+
7
11
  export class BaseSymbolMark extends BaseMark {
8
12
  _getDefaultStyle() {
9
13
  return Object.assign(Object.assign({}, super._getDefaultStyle()), {
@@ -22,4 +26,8 @@ export class SymbolMark extends BaseSymbolMark {
22
26
  }
23
27
 
24
28
  SymbolMark.type = MarkTypeEnum.symbol;
29
+
30
+ export const registerSymbolMark = () => {
31
+ Factory.registerMark(SymbolMark.type, SymbolMark), registerSymbolGraphic();
32
+ };
25
33
  //# sourceMappingURL=symbol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,MAAM,OAAO,cAA0C,SAAQ,QAAW;IAC9D,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,aAAa,CAAC,MAAM,EAChC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAA6B,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,cAA+B;IAA/D;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAClC,CAAC;;AAFiB,eAAI,GAAG,YAAY,CAAC,MAAM,CAAC","file":"symbol.js","sourcesContent":["import { ShapeTypeEnum } from '../typings';\nimport type { ISymbolMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\n\nexport type ISymbolMark = IMarkRaw<ISymbolMarkSpec>;\n\nexport class BaseSymbolMark<T extends ISymbolMarkSpec> extends BaseMark<T> {\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ISymbolMarkSpec> = {\n ...super._getDefaultStyle(),\n size: 1,\n symbolType: ShapeTypeEnum.circle,\n fill: undefined,\n lineWidth: 0\n };\n return defaultStyle as IMarkStyle<T>;\n }\n}\n\nexport class SymbolMark extends BaseSymbolMark<ISymbolMarkSpec> implements ISymbolMark {\n static readonly type = MarkTypeEnum.symbol;\n readonly type = SymbolMark.type;\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,MAAM,OAAO,cAA0C,SAAQ,QAAW;IAC9D,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,aAAa,CAAC,MAAM,EAChC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAA6B,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,cAA+B;IAA/D;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAClC,CAAC;;AAFiB,eAAI,GAAG,YAAY,CAAC,MAAM,CAAC;AAI7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,qBAAqB,EAAE,CAAC;AAC1B,CAAC,CAAC","file":"symbol.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ShapeTypeEnum } from '../typings';\nimport type { ISymbolMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerSymbolGraphic } from '@visactor/vgrammar-core';\n\nexport type ISymbolMark = IMarkRaw<ISymbolMarkSpec>;\n\nexport class BaseSymbolMark<T extends ISymbolMarkSpec> extends BaseMark<T> {\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ISymbolMarkSpec> = {\n ...super._getDefaultStyle(),\n size: 1,\n symbolType: ShapeTypeEnum.circle,\n fill: undefined,\n lineWidth: 0\n };\n return defaultStyle as IMarkStyle<T>;\n }\n}\n\nexport class SymbolMark extends BaseSymbolMark<ISymbolMarkSpec> implements ISymbolMark {\n static readonly type = MarkTypeEnum.symbol;\n readonly type = SymbolMark.type;\n}\n\nexport const registerSymbolMark = () => {\n Factory.registerMark(SymbolMark.type, SymbolMark);\n registerSymbolGraphic();\n};\n"]}
@@ -10,3 +10,4 @@ export declare class TextMark extends BaseMark<ITextMarkSpec> implements ITextMa
10
10
  protected _getDefaultStyle(): IMarkStyle<ITextMarkSpec>;
11
11
  protected _initProduct(group?: string | IGroupMark): void;
12
12
  }
13
+ export declare const registerTextMark: () => void;
package/esm/mark/text.js CHANGED
@@ -1,8 +1,10 @@
1
+ import { Factory } from "./../core/factory";
2
+
1
3
  import { BaseMark } from "./base/base-mark";
2
4
 
3
5
  import { MarkTypeEnum } from "./interface";
4
6
 
5
- import { GrammarMarkType } from "@visactor/vgrammar-core";
7
+ import { GrammarMarkType, registerTextGraphic } from "@visactor/vgrammar-core";
6
8
 
7
9
  export class TextMark extends BaseMark {
8
10
  constructor() {
@@ -24,4 +26,8 @@ export class TextMark extends BaseMark {
24
26
  }
25
27
 
26
28
  TextMark.type = MarkTypeEnum.text;
29
+
30
+ export const registerTextMark = () => {
31
+ Factory.registerMark(TextMark.type, TextMark), registerTextGraphic();
32
+ };
27
33
  //# sourceMappingURL=text.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK1D,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA4BhC,CAAC;IA1BW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,YAAY,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAA2B,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACvG;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAuB,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACnG;QAED,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AA5Be,aAAI,GAAG,YAAY,CAAC,IAAI,CAAC","file":"text.js","sourcesContent":["import type { ITextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle, IMarkOption } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport { GrammarMarkType } from '@visactor/vgrammar-core';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n\nexport type ITextMark = IMarkRaw<ITextMarkSpec>;\n\nexport class TextMark extends BaseMark<ITextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ITextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n protected _initProduct(group?: string | IGroupMark) {\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n\n if (this.getStyle('textType') === 'rich') {\n this._product = view.mark(GrammarMarkType.richtext as GrammarMarkType, group ?? view.rootMark).id(id);\n } else {\n this._product = view.mark(GrammarMarkType.text as GrammarMarkType, group ?? view.rootMark).id(id);\n }\n\n this._compiledProductId = id;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAK/E,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA4BhC,CAAC;IA1BW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,YAAY,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAA2B,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACvG;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAuB,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACnG;QAED,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AA5Be,aAAI,GAAG,YAAY,CAAC,IAAI,CAAC;AA+B3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,EAAE,CAAC;AACxB,CAAC,CAAC","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ITextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport { GrammarMarkType, registerTextGraphic } from '@visactor/vgrammar-core';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n\nexport type ITextMark = IMarkRaw<ITextMarkSpec>;\n\nexport class TextMark extends BaseMark<ITextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ITextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n protected _initProduct(group?: string | IGroupMark) {\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n\n if (this.getStyle('textType') === 'rich') {\n this._product = view.mark(GrammarMarkType.richtext as GrammarMarkType, group ?? view.rootMark).id(id);\n } else {\n this._product = view.mark(GrammarMarkType.text as GrammarMarkType, group ?? view.rootMark).id(id);\n }\n\n this._compiledProductId = id;\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerTextGraphic();\n};\n"]}
@@ -68,9 +68,7 @@ export declare abstract class BaseModel<T extends IModelSpec> extends Compilable
68
68
  protected _initTheme(theme?: any): void;
69
69
  protected _getTheme(): any;
70
70
  protected _mergeThemeToSpec(): void;
71
- protected _getDefaultSpecFromChart(chartSpec: any): Partial<T>;
72
71
  protected _shouldMergeThemeToSpec(): boolean;
73
- protected _prepareSpecBeforeMergingTheme(obj?: any): any;
74
72
  setCurrentTheme(): void;
75
73
  updateLayoutAttribute(): void;
76
74
  setAttrFromSpec(): void;
@@ -114,19 +114,13 @@ export class BaseModel extends CompilableBase {
114
114
  _getTheme() {}
115
115
  _mergeThemeToSpec() {
116
116
  if (this._shouldMergeThemeToSpec()) {
117
- const specFromChart = this._getDefaultSpecFromChart(this.getChart().getSpec()), merge = originalSpec => mergeSpec({}, this._theme, this._prepareSpecBeforeMergingTheme(specFromChart), this._prepareSpecBeforeMergingTheme(originalSpec)), baseSpec = this._originalSpec;
117
+ const merge = originalSpec => mergeSpec({}, this._theme, originalSpec), baseSpec = this._originalSpec;
118
118
  isArray(baseSpec) ? this._spec = baseSpec.map((spec => merge(spec))) : this._spec = merge(baseSpec);
119
119
  }
120
120
  }
121
- _getDefaultSpecFromChart(chartSpec) {
122
- return {};
123
- }
124
121
  _shouldMergeThemeToSpec() {
125
122
  return !0;
126
123
  }
127
- _prepareSpecBeforeMergingTheme(obj) {
128
- return obj;
129
- }
130
124
  setCurrentTheme() {
131
125
  this.reInit(this._getTheme());
132
126
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/base-model.ts"],"names":[],"mappings":"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","file":"base-model.js","sourcesContent":["import { cloneDeepSpec } from '../util/spec/clone-deep';\nimport { createID } from '../util/id';\nimport { mergeSpec } from '../util/spec/merge-spec';\nimport { Event } from '../event/event';\nimport type { IEvent } from '../event/interface';\nimport type {\n IEffect,\n IModel,\n IModelInitOption,\n IModelOption,\n IModelRenderOption,\n IModelEvaluateOption,\n IModelSpec,\n IModelMarkInfo\n} from './interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IMark, IMarkOption, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type {\n Datum,\n StateValueType,\n ConvertToMarkStyleSpec,\n ICommonSpec,\n StringOrNumber,\n IRect,\n ILayoutRect\n} from '../typings';\nimport type { CompilableData } from '../compile/data/compilable-data';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\nimport { isArray, isValid } from '@visactor/vutils';\nimport { Factory } from '../core/factory';\nimport { MarkSet } from '../mark/mark-set';\nimport type { ILayoutItem } from '../layout/interface';\nimport { CompilableBase } from '../compile/compilable-base';\nimport { PREFIX } from '../constant/base';\n\nexport abstract class BaseModel<T extends IModelSpec> extends CompilableBase implements IModel {\n protected _spec: T;\n getSpec(): T {\n return this._spec || ({} as T);\n }\n\n readonly type: string = 'null';\n readonly modelType: string = 'null';\n\n readonly id;\n\n userId: StringOrNumber | undefined = undefined;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // 数据\n protected _data: CompilableData = null;\n getData() {\n return this._data;\n }\n\n // 布局\n protected _layout?: ILayoutItem = null;\n get layout() {\n return this._layout;\n }\n\n protected _specIndex: number = 0;\n getSpecIndex() {\n return this._specIndex;\n }\n\n readonly specKey: string = '';\n\n protected _originalSpec: any;\n\n protected declare _option: IModelOption;\n getOption() {\n return this._option;\n }\n\n protected _marks: MarkSet = new MarkSet();\n getMarks(): IMark[] {\n return this._marks?.getMarks() ?? [];\n }\n getMarkNameMap() {\n return this._marks?.getMarkNameMap();\n }\n getMarkSet() {\n return this._marks;\n }\n getMarkInfoList(): IModelMarkInfo[] {\n return this.getMarks().map(mark => ({\n type: mark.type as MarkTypeEnum,\n name: mark.name\n }));\n }\n\n getChart() {\n return this._option.getChart();\n }\n\n protected _theme?: any; // 非全局 theme,是对应于具体 model 的 theme 对象\n\n /** for layout diff */\n protected _lastLayoutRect: ILayoutRect = null;\n\n constructor(spec: T, option: IModelOption) {\n super(option);\n this.id = createID();\n this._originalSpec = spec;\n this._initTheme();\n this._transformSpec();\n this.userId = spec.id;\n this._specIndex = option.specIndex ?? 0;\n this.effect = {};\n this.event = new Event(option.eventDispatcher, option.mode);\n option.map?.set(this.id, this);\n }\n coordinate?: CoordinateType;\n\n protected _releaseEvent() {\n this.event.release();\n }\n\n created() {\n this.setAttrFromSpec();\n }\n\n init(option: IModelInitOption) {\n // do nothing\n }\n\n afterInit() {\n // do nothing\n }\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void {\n // do nothing\n this._layout?.onLayoutStart(layoutRect, viewRect, ctx);\n }\n onLayoutEnd(ctx: any): void {\n this._layout?.onLayoutEnd(ctx);\n this.getMarks().forEach(m => m.updateLayoutState(true, true));\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption) {\n // do nothing\n }\n abstract onRender(ctx: IModelRenderOption): void;\n\n onDataUpdate() {\n // do nothing\n }\n\n beforeRelease() {\n // do nothing\n }\n\n release() {\n this._releaseEvent();\n this._originalSpec = {};\n this._spec = undefined;\n this.getMarks().forEach(m => m.release());\n this._data?.release();\n this._data = this._specIndex = null;\n this._marks.clear();\n super.release();\n }\n\n updateSpec(spec: any) {\n this._spec = cloneDeepSpec(spec);\n const result = this._compareSpec();\n this._originalSpec = spec;\n if (!result.reMake) {\n this.reInit();\n }\n return result;\n }\n\n protected _transformSpec() {\n // do nothing\n // change spec by default logic\n }\n\n protected _compareSpec() {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n return result;\n }\n\n reInit(theme?: any) {\n // before reInit reset this._spec to original\n this._spec = cloneDeepSpec(this._originalSpec);\n this._transformSpec();\n this._initTheme(theme);\n this.setAttrFromSpec();\n }\n\n protected _initTheme(theme?: any) {\n // if (this.getVisible() === false) {\n // // 不展示不需要处理主题\n // return;\n // }\n if (theme) {\n this._theme = theme;\n } else {\n this._theme = this._getTheme();\n }\n\n this._mergeThemeToSpec();\n }\n\n protected _getTheme(): any {\n return undefined;\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec() {\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(this.getChart().getSpec());\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n const merge = (originalSpec: any) =>\n mergeSpec(\n {},\n this._theme,\n this._prepareSpecBeforeMergingTheme(specFromChart),\n this._prepareSpecBeforeMergingTheme(originalSpec)\n );\n\n const baseSpec = this._originalSpec;\n if (isArray(baseSpec)) {\n this._spec = baseSpec.map(spec => merge(spec)) as unknown as T;\n } else {\n this._spec = merge(baseSpec);\n }\n }\n }\n\n /** 从 chart spec 提取配置作为 model 的默认 spec 配置 */\n protected _getDefaultSpecFromChart(chartSpec: any): Partial<T> {\n return {};\n }\n\n /** 是否在初始化时将 theme 自动 merge 到 spec */\n protected _shouldMergeThemeToSpec(): boolean {\n return true;\n }\n\n /** 在 merge 主题前对 spec 进行预处理 */\n protected _prepareSpecBeforeMergingTheme(obj?: any): any {\n // do nothing\n return obj;\n }\n\n setCurrentTheme() {\n // 重新初始化\n this.reInit(this._getTheme());\n }\n\n updateLayoutAttribute() {\n // do nothing\n }\n\n setAttrFromSpec() {\n this._layout?.setAttrFromSpec(this._spec, this._option.getChartViewRect());\n }\n\n /** mark style 内部转换逻辑,override 使用 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle: any = { ...style };\n return newStyle;\n }\n\n setMarkStyle<T extends ICommonSpec>(\n mark: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) {\n if (!isValid(mark) || !isValid(style)) {\n return;\n }\n mark.setStyle(this._convertMarkStyle(style), state, level);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string) {\n if (!isValid(mark) || !isValid(spec)) {\n return;\n }\n const { style, state } = spec;\n const newSpec = { ...spec };\n\n if (style) {\n newSpec.style = this._convertMarkStyle(style);\n }\n if (state) {\n newSpec.state = {};\n Object.keys(state).forEach(key => {\n newSpec.state[key] = this._convertMarkStyle(state[key]);\n });\n }\n mark.initStyleWithSpec(newSpec, key);\n }\n\n protected stateKeyToSignalName(key: string, opt?: string) {\n let name = `${PREFIX}_${this.modelType}_${this.type}_${this.id}_${key}`;\n opt && (name += `_${opt}`);\n return name;\n }\n\n compileData() {\n this._data?.compile();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n });\n }\n\n protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option: Partial<IMarkOption> = {}): T {\n const { type, name } = markInfo;\n const m = Factory.createMark(type as any, name, {\n model: this,\n map: this._option.map,\n getCompiler: this.getCompiler,\n globalScale: this._option.globalScale,\n ...option\n }) as T;\n m?.created();\n return m;\n }\n\n /**\n * 数据唯一ID\n * 根据自身动画数据匹配需求设置返回值。\n * 默认返回 undefined 时,根据 VGrammar 默认数据 ID 进行索引和匹配。\n */\n protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined {\n return undefined;\n }\n\n getColorScheme() {\n return this._option.getTheme?.().colorScheme;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/model/base-model.ts"],"names":[],"mappings":"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","file":"base-model.js","sourcesContent":["import { cloneDeepSpec } from '../util/spec/clone-deep';\nimport { createID } from '../util/id';\nimport { mergeSpec } from '../util/spec/merge-spec';\nimport { Event } from '../event/event';\nimport type { IEvent } from '../event/interface';\nimport type {\n IEffect,\n IModel,\n IModelInitOption,\n IModelOption,\n IModelRenderOption,\n IModelEvaluateOption,\n IModelSpec,\n IModelMarkInfo\n} from './interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IMark, IMarkOption, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type {\n Datum,\n StateValueType,\n ConvertToMarkStyleSpec,\n ICommonSpec,\n StringOrNumber,\n IRect,\n ILayoutRect\n} from '../typings';\nimport type { CompilableData } from '../compile/data/compilable-data';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\nimport { isArray, isValid } from '@visactor/vutils';\nimport { Factory } from '../core/factory';\nimport { MarkSet } from '../mark/mark-set';\nimport type { ILayoutItem } from '../layout/interface';\nimport { CompilableBase } from '../compile/compilable-base';\nimport { PREFIX } from '../constant/base';\n\nexport abstract class BaseModel<T extends IModelSpec> extends CompilableBase implements IModel {\n protected _spec: T;\n getSpec(): T {\n return this._spec || ({} as T);\n }\n\n readonly type: string = 'null';\n readonly modelType: string = 'null';\n\n readonly id;\n\n userId: StringOrNumber | undefined = undefined;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // 数据\n protected _data: CompilableData = null;\n getData() {\n return this._data;\n }\n\n // 布局\n protected _layout?: ILayoutItem = null;\n get layout() {\n return this._layout;\n }\n\n protected _specIndex: number = 0;\n getSpecIndex() {\n return this._specIndex;\n }\n\n readonly specKey: string = '';\n\n protected _originalSpec: any;\n\n protected declare _option: IModelOption;\n getOption() {\n return this._option;\n }\n\n protected _marks: MarkSet = new MarkSet();\n getMarks(): IMark[] {\n return this._marks?.getMarks() ?? [];\n }\n getMarkNameMap() {\n return this._marks?.getMarkNameMap();\n }\n getMarkSet() {\n return this._marks;\n }\n getMarkInfoList(): IModelMarkInfo[] {\n return this.getMarks().map(mark => ({\n type: mark.type as MarkTypeEnum,\n name: mark.name\n }));\n }\n\n getChart() {\n return this._option.getChart();\n }\n\n protected _theme?: any; // 非全局 theme,是对应于具体 model 的 theme 对象\n\n /** for layout diff */\n protected _lastLayoutRect: ILayoutRect = null;\n\n constructor(spec: T, option: IModelOption) {\n super(option);\n this.id = createID();\n this._originalSpec = spec;\n this._initTheme();\n this._transformSpec();\n this.userId = spec.id;\n this._specIndex = option.specIndex ?? 0;\n this.effect = {};\n this.event = new Event(option.eventDispatcher, option.mode);\n option.map?.set(this.id, this);\n }\n coordinate?: CoordinateType;\n\n protected _releaseEvent() {\n this.event.release();\n }\n\n created() {\n this.setAttrFromSpec();\n }\n\n init(option: IModelInitOption) {\n // do nothing\n }\n\n afterInit() {\n // do nothing\n }\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void {\n // do nothing\n this._layout?.onLayoutStart(layoutRect, viewRect, ctx);\n }\n onLayoutEnd(ctx: any): void {\n this._layout?.onLayoutEnd(ctx);\n this.getMarks().forEach(m => m.updateLayoutState(true, true));\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption) {\n // do nothing\n }\n abstract onRender(ctx: IModelRenderOption): void;\n\n onDataUpdate() {\n // do nothing\n }\n\n beforeRelease() {\n // do nothing\n }\n\n release() {\n this._releaseEvent();\n this._originalSpec = {};\n this._spec = undefined;\n this.getMarks().forEach(m => m.release());\n this._data?.release();\n this._data = this._specIndex = null;\n this._marks.clear();\n super.release();\n }\n\n updateSpec(spec: any) {\n this._spec = cloneDeepSpec(spec);\n const result = this._compareSpec();\n this._originalSpec = spec;\n if (!result.reMake) {\n this.reInit();\n }\n return result;\n }\n\n protected _transformSpec() {\n // do nothing\n // change spec by default logic\n }\n\n protected _compareSpec() {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n return result;\n }\n\n reInit(theme?: any) {\n // before reInit reset this._spec to original\n this._spec = cloneDeepSpec(this._originalSpec);\n this._transformSpec();\n this._initTheme(theme);\n this.setAttrFromSpec();\n }\n\n protected _initTheme(theme?: any) {\n // if (this.getVisible() === false) {\n // // 不展示不需要处理主题\n // return;\n // }\n if (theme) {\n this._theme = theme;\n } else {\n this._theme = this._getTheme();\n }\n\n this._mergeThemeToSpec();\n }\n\n protected _getTheme(): any {\n return undefined;\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec() {\n if (this._shouldMergeThemeToSpec()) {\n // this._originalSpec + this._theme = this._spec\n const merge = (originalSpec: any) => mergeSpec({}, this._theme, originalSpec);\n\n const baseSpec = this._originalSpec;\n if (isArray(baseSpec)) {\n this._spec = baseSpec.map(spec => merge(spec)) as unknown as T;\n } else {\n this._spec = merge(baseSpec);\n }\n }\n }\n\n /** 是否在初始化时将 theme 自动 merge 到 spec */\n protected _shouldMergeThemeToSpec(): boolean {\n return true;\n }\n\n setCurrentTheme() {\n // 重新初始化\n this.reInit(this._getTheme());\n }\n\n updateLayoutAttribute() {\n // do nothing\n }\n\n setAttrFromSpec() {\n this._layout?.setAttrFromSpec(this._spec, this._option.getChartViewRect());\n }\n\n /** mark style 内部转换逻辑,override 使用 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle: any = { ...style };\n return newStyle;\n }\n\n setMarkStyle<T extends ICommonSpec>(\n mark: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) {\n if (!isValid(mark) || !isValid(style)) {\n return;\n }\n mark.setStyle(this._convertMarkStyle(style), state, level);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string) {\n if (!isValid(mark) || !isValid(spec)) {\n return;\n }\n const { style, state } = spec;\n const newSpec = { ...spec };\n\n if (style) {\n newSpec.style = this._convertMarkStyle(style);\n }\n if (state) {\n newSpec.state = {};\n Object.keys(state).forEach(key => {\n newSpec.state[key] = this._convertMarkStyle(state[key]);\n });\n }\n mark.initStyleWithSpec(newSpec, key);\n }\n\n protected stateKeyToSignalName(key: string, opt?: string) {\n let name = `${PREFIX}_${this.modelType}_${this.type}_${this.id}_${key}`;\n opt && (name += `_${opt}`);\n return name;\n }\n\n compileData() {\n this._data?.compile();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n });\n }\n\n protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option: Partial<IMarkOption> = {}): T {\n const { type, name } = markInfo;\n const m = Factory.createMark(type as any, name, {\n model: this,\n map: this._option.map,\n getCompiler: this.getCompiler,\n globalScale: this._option.globalScale,\n ...option\n }) as T;\n m?.created();\n return m;\n }\n\n /**\n * 数据唯一ID\n * 根据自身动画数据匹配需求设置返回值。\n * 默认返回 undefined 时,根据 VGrammar 默认数据 ID 进行索引和匹配。\n */\n protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined {\n return undefined;\n }\n\n getColorScheme() {\n return this._option.getTheme?.().colorScheme;\n }\n}\n"]}
@@ -20,13 +20,11 @@ import { animationConfig, userAnimationConfig } from "../../animation/utils";
20
20
 
21
21
  import { DEFAULT_SMOOTH_INTERPOLATE } from "../../typings/interpolate";
22
22
 
23
- import { LineMark } from "../../mark/line";
23
+ import { registerLineMark } from "../../mark/line";
24
24
 
25
- import { AreaMark } from "../../mark/area";
25
+ import { registerAreaMark } from "../../mark/area";
26
26
 
27
- import { TextMark } from "../../mark/text";
28
-
29
- import { SymbolMark } from "../../mark/symbol";
27
+ import { registerSymbolMark } from "../../mark/symbol";
30
28
 
31
29
  import { AreaSeriesTooltipHelper } from "./tooltip-helpter";
32
30
 
@@ -58,7 +56,7 @@ export class AreaSeries extends CartesianSeries {
58
56
  isLineVisible || (areaSpec.style.stroke = !1), areaSpec.visible = !(!isAreaVisible && !isLineVisible);
59
57
  }
60
58
  initMark() {
61
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
59
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
62
60
  const progressive = {
63
61
  progressiveStep: this._spec.progressiveStep,
64
62
  progressiveThreshold: this._spec.progressiveThreshold,
@@ -71,8 +69,8 @@ export class AreaSeries extends CartesianSeries {
71
69
  progressive: progressive,
72
70
  isSeriesMark: isAreaVisible && "point" !== seriesMark,
73
71
  customShape: null === (_h = this._spec.area) || void 0 === _h ? void 0 : _h.customShape
74
- }), this._areaMark && (null === (_k = null === (_j = this._spec) || void 0 === _j ? void 0 : _j.areaLabel) || void 0 === _k ? void 0 : _k.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.areaLabel, this.initLineLabelMarkStyle), !0),
75
- !isPointVisible && this._areaMark && (null === (_l = this._spec.label) || void 0 === _l ? void 0 : _l.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label)),
72
+ }), this._areaMark && (null === (_j = this._spec.areaLabel) || void 0 === _j ? void 0 : _j.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.areaLabel, this.initLineLabelMarkStyle), !0),
73
+ !isPointVisible && this._areaMark && (null === (_k = this._spec.label) || void 0 === _k ? void 0 : _k.visible) && this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label)),
76
74
  this.initSymbolMark(progressive, "point" === seriesMark);
77
75
  }
78
76
  initMarkStyle() {
@@ -108,13 +106,13 @@ export class AreaSeries extends CartesianSeries {
108
106
  }))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle();
109
107
  }
110
108
  initAnimation() {
111
- var _a, _b, _c, _d, _e;
109
+ var _a, _b, _c, _d;
112
110
  const animationParams = {
113
111
  direction: this.direction
114
- }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
115
- this._lineMark && this._lineMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("line")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext))),
116
- this._areaMark && this._areaMark.setAnimationConfig(animationConfig(null === (_d = Factory.getAnimationInKey("area")) || void 0 === _d ? void 0 : _d(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext))),
117
- this._symbolMark && this._symbolMark.setAnimationConfig(animationConfig(null === (_e = Factory.getAnimationInKey("scaleInOut")) || void 0 === _e ? void 0 : _e(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)));
112
+ }, appearPreset = null === (_a = this._spec.animationAppear) || void 0 === _a ? void 0 : _a.preset;
113
+ this._lineMark && this._lineMark.setAnimationConfig(animationConfig(null === (_b = Factory.getAnimationInKey("line")) || void 0 === _b ? void 0 : _b(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext))),
114
+ this._areaMark && this._areaMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("area")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext))),
115
+ this._symbolMark && this._symbolMark.setAnimationConfig(animationConfig(null === (_d = Factory.getAnimationInKey("scaleInOut")) || void 0 === _d ? void 0 : _d(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)));
118
116
  }
119
117
  initTooltip() {
120
118
  this._tooltipHelper = new AreaSeriesTooltipHelper(this), this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark),
@@ -151,9 +149,7 @@ export class AreaSeries extends CartesianSeries {
151
149
  AreaSeries.type = SeriesTypeEnum.area, AreaSeries.mark = areaSeriesMark, mixin(AreaSeries, LineLikeSeriesMixin);
152
150
 
153
151
  export const registerAreaSeries = () => {
154
- registerSampleTransform(), registerMarkOverlapTransform(), Factory.registerMark(LineMark.type, LineMark),
155
- Factory.registerMark(AreaMark.type, AreaMark), Factory.registerMark(TextMark.type, TextMark),
156
- Factory.registerMark(SymbolMark.type, SymbolMark), Factory.registerSeries(AreaSeries.type, AreaSeries),
157
- registerAreaAnimation();
152
+ registerSampleTransform(), registerMarkOverlapTransform(), registerLineMark(), registerAreaMark(),
153
+ registerSymbolMark(), registerAreaAnimation(), Factory.registerSeries(AreaSeries.type, AreaSeries);
158
154
  };
159
155
  //# sourceMappingURL=area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { LineMark } from '../../mark/line';\nimport { AreaMark } from '../../mark/area';\nimport { TextMark } from '../../mark/text';\nimport { SymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport type { ILabelSpec } from '../../component';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const isLineVisible = this._spec.line?.visible !== false && this._spec.line?.style?.visible !== false;\n // merge line to area\n const areaSpec = this._spec.area ?? {};\n const lineSpec = this._spec.line ?? {};\n areaSpec.interactive = areaSpec.interactive || lineSpec.interactive;\n areaSpec.support3d = areaSpec.support3d || lineSpec.support3d;\n areaSpec.zIndex =\n isValid(areaSpec.zIndex) || isValid(lineSpec.zIndex)\n ? Math.max(areaSpec.zIndex ?? 0, lineSpec.zIndex ?? 0)\n : undefined;\n\n // remove area stroke\n if (areaSpec.style) {\n delete areaSpec.style.stroke;\n }\n if (areaSpec.state) {\n Object.keys(areaSpec.state).forEach(state => {\n if ('style' in areaSpec.state[state]) {\n delete areaSpec.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>areaSpec.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = areaSpec;\n let subSpec = lineSpec;\n const seriesMark = this._spec.seriesMark ?? 'area';\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = lineSpec;\n subSpec = areaSpec;\n }\n areaSpec.style = mergeSpec({}, subSpec.style, mainSpec.style);\n areaSpec.state = mergeSpec({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n areaSpec.style.fill = false;\n }\n if (!isLineVisible) {\n areaSpec.style.stroke = false;\n }\n areaSpec.visible = !(!isAreaVisible && !isLineVisible);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const isPointVisible = this._spec.point?.visible !== false && this._spec.point?.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: this._spec.area?.customShape\n }) as IAreaMark;\n if (this._areaMark && this._spec?.areaLabel?.visible) {\n this._areaMark.addLabelSpec(\n this._preprocessLabelSpec(this._spec.areaLabel as ILabelSpec, this.initLineLabelMarkStyle),\n true\n );\n }\n if (!isPointVisible && this._areaMark && this._spec.label?.visible) {\n this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label as ILabelSpec));\n }\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n Factory.registerMark(LineMark.type, LineMark);\n Factory.registerMark(AreaMark.type, AreaMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerMark(SymbolMark.type, SymbolMark);\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n registerAreaAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { LineMark, registerLineMark } from '../../mark/line';\nimport { AreaMark, registerAreaMark } from '../../mark/area';\nimport { SymbolMark, registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport type { ILabelSpec } from '../../component';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const isLineVisible = this._spec.line?.visible !== false && this._spec.line?.style?.visible !== false;\n // merge line to area\n const areaSpec = this._spec.area ?? {};\n const lineSpec = this._spec.line ?? {};\n areaSpec.interactive = areaSpec.interactive || lineSpec.interactive;\n areaSpec.support3d = areaSpec.support3d || lineSpec.support3d;\n areaSpec.zIndex =\n isValid(areaSpec.zIndex) || isValid(lineSpec.zIndex)\n ? Math.max(areaSpec.zIndex ?? 0, lineSpec.zIndex ?? 0)\n : undefined;\n\n // remove area stroke\n if (areaSpec.style) {\n delete areaSpec.style.stroke;\n }\n if (areaSpec.state) {\n Object.keys(areaSpec.state).forEach(state => {\n if ('style' in areaSpec.state[state]) {\n delete areaSpec.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>areaSpec.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = areaSpec;\n let subSpec = lineSpec;\n const seriesMark = this._spec.seriesMark ?? 'area';\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = lineSpec;\n subSpec = areaSpec;\n }\n areaSpec.style = mergeSpec({}, subSpec.style, mainSpec.style);\n areaSpec.state = mergeSpec({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n areaSpec.style.fill = false;\n }\n if (!isLineVisible) {\n areaSpec.style.stroke = false;\n }\n areaSpec.visible = !(!isAreaVisible && !isLineVisible);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n const isPointVisible = this._spec.point?.visible !== false && this._spec.point?.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: this._spec.area?.customShape\n }) as IAreaMark;\n if (this._areaMark && this._spec.areaLabel?.visible) {\n this._areaMark.addLabelSpec(\n this._preprocessLabelSpec(this._spec.areaLabel as ILabelSpec, this.initLineLabelMarkStyle),\n true\n );\n }\n if (!isPointVisible && this._areaMark && this._spec.label?.visible) {\n this._areaMark.addLabelSpec(this._preprocessLabelSpec(this._spec.label as ILabelSpec));\n }\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext)\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
@@ -9,8 +9,8 @@ import type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../m
9
9
  import type { ILabelSpec } from '../../component';
10
10
  export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<string, AreaAppearPreset>, IMarkProgressiveConfig, IDataSamping, IMarkOverlap {
11
11
  type: 'area';
12
- xField: string | string[];
13
- yField: string | string[];
12
+ xField?: string | string[];
13
+ yField?: string | string[];
14
14
  [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;
15
15
  [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;
16
16
  [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILineLikeLabelSpec, ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../mark/interface';\nimport type { ILabelSpec } from '../../component';\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping,\n IMarkOverlap {\n /**\n * 系列类型\n */\n type: 'area';\n /**\n * x轴字段\n */\n xField: string | string[];\n /**\n * y轴字段\n */\n yField: string | string[];\n /**\n * 点图元配置\n */\n [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;\n /**\n * 面积图元配置\n */\n [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;\n /**\n * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILineLikeLabelSpec;\n /**\n * 面积图元标签配置\n * @since 1.7.0\n */\n [SeriesMarkNameEnum.areaLabel]?: Omit<ILabelSpec, 'position'> & {\n position?: 'start' | 'end';\n };\n /**\n * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/area/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { ILineLikeLabelSpec, ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IDataSamping, IMarkOverlap, IMarkProgressiveConfig } from '../../mark/interface';\nimport type { ILabelSpec } from '../../component';\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig,\n IDataSamping,\n IMarkOverlap {\n /**\n * 系列类型\n */\n type: 'area';\n /**\n * x轴字段\n */\n xField?: string | string[];\n /**\n * y轴字段\n */\n yField?: string | string[];\n /**\n * 点图元配置\n */\n [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;\n /**\n * 线图元配置\n */\n [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;\n /**\n * 面积图元配置\n */\n [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;\n /**\n * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILineLikeLabelSpec;\n /**\n * 面积图元标签配置\n * @since 1.7.0\n */\n [SeriesMarkNameEnum.areaLabel]?: Omit<ILabelSpec, 'position'> & {\n position?: 'start' | 'end';\n };\n /**\n * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
@@ -4,7 +4,7 @@ import { SeriesTypeEnum, SeriesMarkNameEnum } from "../interface/type";
4
4
 
5
5
  import { BarSeries } from "./bar";
6
6
 
7
- import { Rect3dMark } from "../../mark/rect-3d";
7
+ import { registerRect3dMark } from "../../mark/rect-3d";
8
8
 
9
9
  import { bar3dSeriesMark } from "./constant";
10
10
 
@@ -22,7 +22,6 @@ export class Bar3dSeries extends BarSeries {
22
22
  Bar3dSeries.type = SeriesTypeEnum.bar3d, Bar3dSeries.mark = bar3dSeriesMark;
23
23
 
24
24
  export const registerBar3dSeries = () => {
25
- Factory.registerMark(Rect3dMark.type, Rect3dMark), Factory.registerSeries(Bar3dSeries.type, Bar3dSeries),
26
- registerBar3dAnimation();
25
+ registerBar3dAnimation(), registerRect3dMark(), Factory.registerSeries(Bar3dSeries.type, Bar3dSeries);
27
26
  };
28
27
  //# sourceMappingURL=bar-3d.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/bar-3d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,WAA2D,SAAQ,SAAkC;IAAlH;;QAEE,SAAI,GAAG,cAAc,CAAC,KAAK,CAAC;QAIlB,iBAAY,GAAuB,kBAAkB,CAAC,KAAK,CAAC;QAC5D,iBAAY,GAAiB,YAAY,CAAC,MAAM,CAAC;IAC7D,CAAC;;AAPiB,gBAAI,GAAW,cAAc,CAAC,KAAK,CAAC;AAGpC,gBAAI,GAAkB,eAAe,CAAC;AAMxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtD,sBAAsB,EAAE,CAAC;AAC3B,CAAC,CAAC","file":"bar-3d.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum, SeriesMarkNameEnum } from '../interface/type';\nimport { BarSeries } from './bar';\nimport { Rect3dMark } from '../../mark/rect-3d';\nimport type { IBar3dSeriesSpec } from './interface';\nimport type { AdaptiveSpec } from '../../typings';\nimport { bar3dSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerBar3dAnimation } from './animation';\n\nexport class Bar3dSeries<T extends IBar3dSeriesSpec = IBar3dSeriesSpec> extends BarSeries<AdaptiveSpec<T, 'type'>> {\n static readonly type: string = SeriesTypeEnum.bar3d;\n type = SeriesTypeEnum.bar3d;\n\n static readonly mark: SeriesMarkMap = bar3dSeriesMark;\n\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar3d;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect3d;\n}\n\nexport const registerBar3dSeries = () => {\n Factory.registerMark(Rect3dMark.type, Rect3dMark);\n Factory.registerSeries(Bar3dSeries.type, Bar3dSeries);\n registerBar3dAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/bar/bar-3d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAc,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,WAA2D,SAAQ,SAAkC;IAAlH;;QAEE,SAAI,GAAG,cAAc,CAAC,KAAK,CAAC;QAIlB,iBAAY,GAAuB,kBAAkB,CAAC,KAAK,CAAC;QAC5D,iBAAY,GAAiB,YAAY,CAAC,MAAM,CAAC;IAC7D,CAAC;;AAPiB,gBAAI,GAAW,cAAc,CAAC,KAAK,CAAC;AAGpC,gBAAI,GAAkB,eAAe,CAAC;AAMxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,sBAAsB,EAAE,CAAC;IACzB,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC","file":"bar-3d.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum, SeriesMarkNameEnum } from '../interface/type';\nimport { BarSeries } from './bar';\nimport { Rect3dMark, registerRect3dMark } from '../../mark/rect-3d';\nimport type { IBar3dSeriesSpec } from './interface';\nimport type { AdaptiveSpec } from '../../typings';\nimport { bar3dSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerBar3dAnimation } from './animation';\n\nexport class Bar3dSeries<T extends IBar3dSeriesSpec = IBar3dSeriesSpec> extends BarSeries<AdaptiveSpec<T, 'type'>> {\n static readonly type: string = SeriesTypeEnum.bar3d;\n type = SeriesTypeEnum.bar3d;\n\n static readonly mark: SeriesMarkMap = bar3dSeriesMark;\n\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar3d;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect3d;\n}\n\nexport const registerBar3dSeries = () => {\n registerBar3dAnimation();\n registerRect3dMark();\n Factory.registerSeries(Bar3dSeries.type, Bar3dSeries);\n};\n"]}
@@ -22,7 +22,7 @@ import { animationConfig, shouldMarkDoMorph, userAnimationConfig } from "../../a
22
22
 
23
23
  import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface/type";
24
24
 
25
- import { RectMark } from "../../mark/rect";
25
+ import { registerRectMark } from "../../mark/rect";
26
26
 
27
27
  import { array, isValid, last } from "@visactor/vutils";
28
28
 
@@ -237,7 +237,7 @@ export class BarSeries extends CartesianSeries {
237
237
  }, "normal", AttributeLevel.Series);
238
238
  }
239
239
  initAnimation() {
240
- var _a, _b, _c;
240
+ var _a, _b;
241
241
  const barAnimationParams = {
242
242
  yField: this._fieldY[0],
243
243
  xField: this._fieldX[0],
@@ -246,8 +246,8 @@ export class BarSeries extends CartesianSeries {
246
246
  var _a, _b;
247
247
  return "horizontal" === this.direction ? null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale(0).scale(0) : null === (_b = this._yAxisHelper) || void 0 === _b ? void 0 : _b.getScale(0).scale(0);
248
248
  }
249
- }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset, animationParams = getGroupAnimationParams(this);
250
- this._barMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("bar")) || void 0 === _c ? void 0 : _c(barAnimationParams, appearPreset), userAnimationConfig(this._barMarkName, this._spec, this._markAttributeContext), animationParams));
249
+ }, appearPreset = null === (_a = this._spec.animationAppear) || void 0 === _a ? void 0 : _a.preset, animationParams = getGroupAnimationParams(this);
250
+ this._barMark.setAnimationConfig(animationConfig(null === (_b = Factory.getAnimationInKey("bar")) || void 0 === _b ? void 0 : _b(barAnimationParams, appearPreset), userAnimationConfig(this._barMarkName, this._spec, this._markAttributeContext), animationParams));
251
251
  }
252
252
  _getBarWidth(axisHelper) {
253
253
  var _a, _b;
@@ -325,7 +325,6 @@ export class BarSeries extends CartesianSeries {
325
325
  BarSeries.type = SeriesTypeEnum.bar, BarSeries.mark = barSeriesMark;
326
326
 
327
327
  export const registerBarSeries = () => {
328
- registerSampleTransform(), Factory.registerMark(RectMark.type, RectMark), Factory.registerSeries(BarSeries.type, BarSeries),
329
- registerBarAnimation();
328
+ registerSampleTransform(), registerRectMark(), registerBarAnimation(), Factory.registerSeries(BarSeries.type, BarSeries);
330
329
  };
331
330
  //# sourceMappingURL=bar.js.map