@visactor/vchart 1.3.0-beta.7 → 1.3.0-beta.8

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 (1160) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +36794 -36453
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/index.d.ts +2 -2
  6. package/cjs/chart/index.js +3 -3
  7. package/cjs/chart/index.js.map +1 -1
  8. package/cjs/chart/treemap/treemap.d.ts +1 -1
  9. package/cjs/chart/treemap/treemap.js +5 -5
  10. package/cjs/chart/treemap/treemap.js.map +1 -1
  11. package/cjs/component/axis/base-axis.d.ts +15 -14
  12. package/cjs/component/axis/base-axis.js.map +1 -1
  13. package/cjs/component/axis/cartesian/axis.d.ts +2 -2
  14. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  15. package/cjs/component/axis/cartesian/band-axis.d.ts +2 -3
  16. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  17. package/cjs/component/axis/cartesian/linear-axis.d.ts +3 -3
  18. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  19. package/cjs/component/axis/cartesian/log-axis.d.ts +3 -2
  20. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  21. package/cjs/component/axis/cartesian/time-axis.d.ts +3 -2
  22. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  23. package/cjs/component/axis/interface.d.ts +6 -1
  24. package/cjs/component/axis/interface.js.map +1 -1
  25. package/cjs/component/axis/polar/axis.d.ts +2 -2
  26. package/cjs/component/axis/polar/axis.js.map +1 -1
  27. package/cjs/component/axis/polar/band-axis.d.ts +3 -2
  28. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  29. package/cjs/component/axis/polar/interface/spec.d.ts +7 -2
  30. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  31. package/cjs/component/axis/polar/linear-axis.d.ts +2 -3
  32. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  33. package/cjs/component/base/base-component.d.ts +4 -2
  34. package/cjs/component/base/base-component.js +11 -4
  35. package/cjs/component/base/base-component.js.map +1 -1
  36. package/cjs/component/brush/brush.d.ts +2 -2
  37. package/cjs/component/brush/brush.js +1 -1
  38. package/cjs/component/brush/brush.js.map +1 -1
  39. package/cjs/component/brush/interface.d.ts +1 -0
  40. package/cjs/component/brush/interface.js.map +1 -1
  41. package/cjs/component/crosshair/base.d.ts +2 -2
  42. package/cjs/component/crosshair/base.js +1 -1
  43. package/cjs/component/crosshair/base.js.map +1 -1
  44. package/cjs/component/crosshair/cartesian.d.ts +3 -3
  45. package/cjs/component/crosshair/cartesian.js.map +1 -1
  46. package/cjs/component/crosshair/polar.d.ts +3 -3
  47. package/cjs/component/crosshair/polar.js.map +1 -1
  48. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  49. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  50. package/cjs/component/data-zoom/data-filter-base-component.d.ts +4 -4
  51. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  52. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  53. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -1
  54. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  55. package/cjs/component/data-zoom/data-zoom/interface.d.ts +3 -1
  56. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  57. package/cjs/component/data-zoom/interface.d.ts +4 -1
  58. package/cjs/component/data-zoom/interface.js.map +1 -1
  59. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  60. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  61. package/cjs/component/geo/geo-coordinate.d.ts +1 -2
  62. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  63. package/cjs/component/indicator/indicator.d.ts +2 -2
  64. package/cjs/component/indicator/indicator.js +1 -1
  65. package/cjs/component/indicator/indicator.js.map +1 -1
  66. package/cjs/component/indicator/interface.d.ts +2 -0
  67. package/cjs/component/indicator/interface.js.map +1 -1
  68. package/cjs/component/label/base-label.d.ts +2 -2
  69. package/cjs/component/label/base-label.js.map +1 -1
  70. package/cjs/component/label/interface.d.ts +3 -0
  71. package/cjs/component/label/interface.js.map +1 -1
  72. package/cjs/component/label/label.d.ts +4 -3
  73. package/cjs/component/label/label.js.map +1 -1
  74. package/cjs/component/legend/base-legend.d.ts +2 -2
  75. package/cjs/component/legend/base-legend.js.map +1 -1
  76. package/cjs/component/legend/continuous/legend.d.ts +3 -4
  77. package/cjs/component/legend/continuous/legend.js.map +1 -1
  78. package/cjs/component/legend/discrete/legend.d.ts +1 -2
  79. package/cjs/component/legend/discrete/legend.js.map +1 -1
  80. package/cjs/component/map-label/component.d.ts +1 -2
  81. package/cjs/component/map-label/component.js.map +1 -1
  82. package/cjs/component/marker/base-marker.d.ts +2 -2
  83. package/cjs/component/marker/base-marker.js.map +1 -1
  84. package/cjs/component/marker/mark-area/mark-area.d.ts +1 -2
  85. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  86. package/cjs/component/marker/mark-line/mark-line.d.ts +1 -2
  87. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  88. package/cjs/component/marker/mark-point/mark-point.d.ts +1 -2
  89. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  90. package/cjs/component/player/player.d.ts +1 -2
  91. package/cjs/component/player/player.js.map +1 -1
  92. package/cjs/component/title/title.d.ts +1 -2
  93. package/cjs/component/title/title.js.map +1 -1
  94. package/cjs/component/tooltip/handler/base.js +3 -3
  95. package/cjs/component/tooltip/handler/base.js.map +1 -1
  96. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  97. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  98. package/cjs/component/tooltip/handler/utils/attribute.js +1 -1
  99. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  100. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  101. package/cjs/component/tooltip/interface/theme.d.ts +6 -5
  102. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  103. package/cjs/component/tooltip/tooltip.d.ts +3 -2
  104. package/cjs/component/tooltip/tooltip.js +4 -1
  105. package/cjs/component/tooltip/tooltip.js.map +1 -1
  106. package/cjs/core/index.d.ts +1 -1
  107. package/cjs/core/index.js +1 -1
  108. package/cjs/core/index.js.map +1 -1
  109. package/cjs/core/vchart.js +8 -3
  110. package/cjs/core/vchart.js.map +1 -1
  111. package/cjs/data/transforms/data-key.d.ts +2 -2
  112. package/cjs/data/transforms/data-key.js.map +1 -1
  113. package/cjs/model/base-model.d.ts +4 -4
  114. package/cjs/model/base-model.js +13 -15
  115. package/cjs/model/base-model.js.map +1 -1
  116. package/cjs/model/interface.d.ts +1 -0
  117. package/cjs/model/interface.js.map +1 -1
  118. package/cjs/model/layout-item.d.ts +3 -3
  119. package/cjs/model/layout-item.js.map +1 -1
  120. package/cjs/model/tooltip-helper.d.ts +0 -2
  121. package/cjs/model/tooltip-helper.js +0 -3
  122. package/cjs/model/tooltip-helper.js.map +1 -1
  123. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  124. package/cjs/region/region.d.ts +2 -3
  125. package/cjs/region/region.js.map +1 -1
  126. package/cjs/series/area/area.d.ts +3 -2
  127. package/cjs/series/area/area.js +10 -12
  128. package/cjs/series/area/area.js.map +1 -1
  129. package/cjs/series/area/constant.d.ts +2 -0
  130. package/cjs/series/area/constant.js +15 -0
  131. package/cjs/series/area/constant.js.map +1 -0
  132. package/cjs/series/area/interface.d.ts +2 -0
  133. package/cjs/series/area/interface.js.map +1 -1
  134. package/cjs/series/bar/bar-3d.d.ts +3 -1
  135. package/cjs/series/bar/bar-3d.js +2 -7
  136. package/cjs/series/bar/bar-3d.js.map +1 -1
  137. package/cjs/series/bar/bar.js +2 -7
  138. package/cjs/series/bar/bar.js.map +1 -1
  139. package/cjs/series/bar/constant.d.ts +3 -0
  140. package/cjs/series/bar/constant.js +20 -0
  141. package/cjs/series/bar/constant.js.map +1 -0
  142. package/cjs/series/bar/interface.d.ts +3 -2
  143. package/cjs/series/bar/interface.js.map +1 -1
  144. package/cjs/series/base/base-series.d.ts +3 -6
  145. package/cjs/series/base/base-series.js +3 -19
  146. package/cjs/series/base/base-series.js.map +1 -1
  147. package/cjs/series/base/constant.d.ts +2 -0
  148. package/cjs/series/base/constant.js +15 -0
  149. package/cjs/series/base/constant.js.map +1 -0
  150. package/cjs/series/base/tooltip-helper.d.ts +0 -1
  151. package/cjs/series/base/tooltip-helper.js +1 -4
  152. package/cjs/series/base/tooltip-helper.js.map +1 -1
  153. package/cjs/series/box-plot/box-plot.d.ts +1 -2
  154. package/cjs/series/box-plot/box-plot.js +5 -14
  155. package/cjs/series/box-plot/box-plot.js.map +1 -1
  156. package/cjs/series/box-plot/constant.d.ts +2 -0
  157. package/cjs/series/box-plot/constant.js +19 -0
  158. package/cjs/series/box-plot/constant.js.map +1 -0
  159. package/cjs/series/cartesian/interface.d.ts +2 -2
  160. package/cjs/series/cartesian/interface.js.map +1 -1
  161. package/cjs/series/circle-packing/circle-packing.d.ts +1 -2
  162. package/cjs/series/circle-packing/circle-packing.js +6 -11
  163. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  164. package/cjs/series/circle-packing/constant.d.ts +2 -0
  165. package/cjs/series/circle-packing/constant.js +15 -0
  166. package/cjs/series/circle-packing/constant.js.map +1 -0
  167. package/cjs/series/dot/constant.d.ts +2 -0
  168. package/cjs/series/dot/constant.js +39 -0
  169. package/cjs/series/dot/constant.js.map +1 -0
  170. package/cjs/series/dot/dot.d.ts +1 -1
  171. package/cjs/series/dot/dot.js +2 -31
  172. package/cjs/series/dot/dot.js.map +1 -1
  173. package/cjs/series/funnel/constant.d.ts +3 -0
  174. package/cjs/series/funnel/constant.js +52 -0
  175. package/cjs/series/funnel/constant.js.map +1 -0
  176. package/cjs/series/funnel/funnel-3d.d.ts +3 -2
  177. package/cjs/series/funnel/funnel-3d.js +2 -23
  178. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  179. package/cjs/series/funnel/funnel.d.ts +1 -1
  180. package/cjs/series/funnel/funnel.js +2 -23
  181. package/cjs/series/funnel/funnel.js.map +1 -1
  182. package/cjs/series/gauge/constant.d.ts +3 -0
  183. package/cjs/series/gauge/constant.js +32 -0
  184. package/cjs/series/gauge/constant.js.map +1 -0
  185. package/cjs/series/gauge/gauge-pointer.d.ts +2 -2
  186. package/cjs/series/gauge/gauge-pointer.js +5 -15
  187. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  188. package/cjs/series/gauge/gauge.d.ts +2 -1
  189. package/cjs/series/gauge/gauge.js +8 -14
  190. package/cjs/series/gauge/gauge.js.map +1 -1
  191. package/cjs/series/heatmap/constant.d.ts +2 -0
  192. package/cjs/series/heatmap/constant.js +19 -0
  193. package/cjs/series/heatmap/constant.js.map +1 -0
  194. package/cjs/series/heatmap/heatmap.d.ts +1 -1
  195. package/cjs/series/heatmap/heatmap.js +5 -14
  196. package/cjs/series/heatmap/heatmap.js.map +1 -1
  197. package/cjs/series/index.d.ts +2 -2
  198. package/cjs/series/index.js +3 -3
  199. package/cjs/series/index.js.map +1 -1
  200. package/cjs/series/interface/theme.d.ts +3 -2
  201. package/cjs/series/interface/theme.js +34 -1
  202. package/cjs/series/interface/theme.js.map +1 -1
  203. package/cjs/series/line/constant.d.ts +2 -0
  204. package/cjs/series/line/constant.js +10 -0
  205. package/cjs/series/line/constant.js.map +1 -0
  206. package/cjs/series/line/interface.d.ts +4 -0
  207. package/cjs/series/line/interface.js.map +1 -1
  208. package/cjs/series/line/line.d.ts +3 -2
  209. package/cjs/series/line/line.js +5 -3
  210. package/cjs/series/line/line.js.map +1 -1
  211. package/cjs/series/link/constant.d.ts +2 -0
  212. package/cjs/series/link/constant.js +23 -0
  213. package/cjs/series/link/constant.js.map +1 -0
  214. package/cjs/series/link/link.d.ts +1 -1
  215. package/cjs/series/link/link.js +2 -15
  216. package/cjs/series/link/link.js.map +1 -1
  217. package/cjs/series/map/constant.d.ts +2 -0
  218. package/cjs/series/map/constant.js +15 -0
  219. package/cjs/series/map/constant.js.map +1 -0
  220. package/cjs/series/map/map.d.ts +1 -1
  221. package/cjs/series/map/map.js +2 -7
  222. package/cjs/series/map/map.js.map +1 -1
  223. package/cjs/series/mixin/line-mixin.d.ts +1 -1
  224. package/cjs/series/mixin/line-mixin.js +4 -4
  225. package/cjs/series/mixin/line-mixin.js.map +1 -1
  226. package/cjs/series/pie/constant.d.ts +3 -0
  227. package/cjs/series/pie/constant.js +28 -0
  228. package/cjs/series/pie/constant.js.map +1 -0
  229. package/cjs/series/pie/pie-3d.d.ts +1 -1
  230. package/cjs/series/pie/pie-3d.js +2 -11
  231. package/cjs/series/pie/pie-3d.js.map +1 -1
  232. package/cjs/series/pie/pie.d.ts +1 -1
  233. package/cjs/series/pie/pie.js +3 -12
  234. package/cjs/series/pie/pie.js.map +1 -1
  235. package/cjs/series/progress/circular/circular.d.ts +1 -1
  236. package/cjs/series/progress/circular/circular.js +6 -15
  237. package/cjs/series/progress/circular/circular.js.map +1 -1
  238. package/cjs/series/progress/circular/constant.d.ts +2 -0
  239. package/cjs/series/progress/circular/constant.js +19 -0
  240. package/cjs/series/progress/circular/constant.js.map +1 -0
  241. package/cjs/series/progress/linear/constant.d.ts +2 -0
  242. package/cjs/series/progress/linear/constant.js +23 -0
  243. package/cjs/series/progress/linear/constant.js.map +1 -0
  244. package/cjs/series/progress/linear/linear.d.ts +1 -1
  245. package/cjs/series/progress/linear/linear.js +2 -15
  246. package/cjs/series/progress/linear/linear.js.map +1 -1
  247. package/cjs/series/radar/constant.d.ts +2 -0
  248. package/cjs/series/radar/constant.js +15 -0
  249. package/cjs/series/radar/constant.js.map +1 -0
  250. package/cjs/series/radar/radar.d.ts +3 -2
  251. package/cjs/series/radar/radar.js +8 -10
  252. package/cjs/series/radar/radar.js.map +1 -1
  253. package/cjs/series/range-area/constant.d.ts +2 -0
  254. package/cjs/series/range-area/constant.js +10 -0
  255. package/cjs/series/range-area/constant.js.map +1 -0
  256. package/cjs/series/range-area/range-area.d.ts +2 -1
  257. package/cjs/series/range-area/range-area.js +2 -2
  258. package/cjs/series/range-area/range-area.js.map +1 -1
  259. package/cjs/series/range-column/constant.d.ts +3 -0
  260. package/cjs/series/range-column/constant.js +28 -0
  261. package/cjs/series/range-column/constant.js.map +1 -0
  262. package/cjs/series/range-column/range-column-3d.d.ts +5 -1
  263. package/cjs/series/range-column/range-column-3d.js +3 -2
  264. package/cjs/series/range-column/range-column-3d.js.map +1 -1
  265. package/cjs/series/range-column/range-column.d.ts +2 -2
  266. package/cjs/series/range-column/range-column.js +2 -11
  267. package/cjs/series/range-column/range-column.js.map +1 -1
  268. package/cjs/series/rose/constant.d.ts +2 -0
  269. package/cjs/series/rose/constant.js +15 -0
  270. package/cjs/series/rose/constant.js.map +1 -0
  271. package/cjs/series/rose/rose.d.ts +2 -1
  272. package/cjs/series/rose/rose.js +8 -10
  273. package/cjs/series/rose/rose.js.map +1 -1
  274. package/cjs/series/sankey/constant.d.ts +2 -0
  275. package/cjs/series/sankey/constant.js +19 -0
  276. package/cjs/series/sankey/constant.js.map +1 -0
  277. package/cjs/series/sankey/sankey.d.ts +1 -2
  278. package/cjs/series/sankey/sankey.js +2 -11
  279. package/cjs/series/sankey/sankey.js.map +1 -1
  280. package/cjs/series/scatter/constant.d.ts +2 -0
  281. package/cjs/series/scatter/constant.js +15 -0
  282. package/cjs/series/scatter/constant.js.map +1 -0
  283. package/cjs/series/scatter/interface.d.ts +2 -0
  284. package/cjs/series/scatter/interface.js.map +1 -1
  285. package/cjs/series/scatter/scatter.d.ts +2 -1
  286. package/cjs/series/scatter/scatter.js +8 -10
  287. package/cjs/series/scatter/scatter.js.map +1 -1
  288. package/cjs/series/sunburst/constant.d.ts +2 -0
  289. package/cjs/series/sunburst/constant.js +15 -0
  290. package/cjs/series/sunburst/constant.js.map +1 -0
  291. package/cjs/series/sunburst/sunburst.js +2 -7
  292. package/cjs/series/sunburst/sunburst.js.map +1 -1
  293. package/cjs/series/treemap/constant.d.ts +2 -0
  294. package/cjs/series/treemap/constant.js +23 -0
  295. package/cjs/series/treemap/constant.js.map +1 -0
  296. package/cjs/series/treemap/treemap.d.ts +1 -1
  297. package/cjs/series/treemap/treemap.js +10 -22
  298. package/cjs/series/treemap/treemap.js.map +1 -1
  299. package/cjs/series/waterfall/constant.d.ts +2 -0
  300. package/cjs/series/waterfall/constant.js +19 -0
  301. package/cjs/series/waterfall/constant.js.map +1 -0
  302. package/cjs/series/waterfall/waterfall.d.ts +2 -2
  303. package/cjs/series/waterfall/waterfall.js +2 -11
  304. package/cjs/series/waterfall/waterfall.js.map +1 -1
  305. package/cjs/series/word-cloud/base.js +3 -12
  306. package/cjs/series/word-cloud/base.js.map +1 -1
  307. package/cjs/series/word-cloud/constant.d.ts +2 -0
  308. package/cjs/series/word-cloud/constant.js +19 -0
  309. package/cjs/series/word-cloud/constant.js.map +1 -0
  310. package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -1
  311. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  312. package/cjs/series/word-cloud/word-cloud.d.ts +1 -1
  313. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  314. package/cjs/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  315. package/cjs/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  316. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  317. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  318. package/cjs/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  319. package/cjs/theme/builtin/common/component/axis/log-axis.js.map +1 -0
  320. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  321. package/cjs/theme/builtin/common/component/brush.js.map +1 -0
  322. package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
  323. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -0
  324. package/cjs/theme/builtin/common/component/data-zoom.js +160 -0
  325. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -0
  326. package/cjs/theme/builtin/common/component/index.js.map +1 -0
  327. package/cjs/theme/builtin/common/component/indicator.js.map +1 -0
  328. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  329. package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
  330. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -0
  331. package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
  332. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  333. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  334. package/cjs/theme/builtin/common/component/map-label.js.map +1 -0
  335. package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
  336. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -0
  337. package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
  338. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -0
  339. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -0
  340. package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
  341. package/cjs/theme/builtin/common/component/player.js.map +1 -0
  342. package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
  343. package/cjs/theme/builtin/common/component/poptip.js.map +1 -0
  344. package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
  345. package/cjs/theme/builtin/common/component/title.js.map +1 -0
  346. package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
  347. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -0
  348. package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
  349. package/cjs/theme/builtin/common/component/total-label.js.map +1 -0
  350. package/cjs/theme/{buildin-theme/light → builtin/common}/constants.js +3 -3
  351. package/cjs/theme/builtin/common/constants.js.map +1 -0
  352. package/cjs/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
  353. package/cjs/theme/builtin/common/mark.js.map +1 -0
  354. package/cjs/theme/builtin/common/series/area.js.map +1 -0
  355. package/cjs/theme/builtin/common/series/bar.js.map +1 -0
  356. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -0
  357. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -0
  358. package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
  359. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -0
  360. package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -0
  361. package/cjs/theme/builtin/common/series/dot.js.map +1 -0
  362. package/cjs/theme/builtin/common/series/funnel.js.map +1 -0
  363. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -0
  364. package/cjs/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  365. package/cjs/theme/builtin/common/series/gauge.js.map +1 -0
  366. package/cjs/theme/builtin/common/series/heatmap.js.map +1 -0
  367. package/cjs/theme/builtin/common/series/index.js.map +1 -0
  368. package/cjs/theme/builtin/common/series/line.js.map +1 -0
  369. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -0
  370. package/cjs/theme/builtin/common/series/link.js.map +1 -0
  371. package/cjs/theme/builtin/common/series/map.js.map +1 -0
  372. package/cjs/theme/builtin/common/series/pie.js.map +1 -0
  373. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -0
  374. package/cjs/theme/builtin/common/series/radar.js.map +1 -0
  375. package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
  376. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -0
  377. package/cjs/theme/builtin/common/series/rose.js.map +1 -0
  378. package/cjs/theme/builtin/common/series/sankey.js.map +1 -0
  379. package/cjs/theme/builtin/common/series/scatter.js.map +1 -0
  380. package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
  381. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -0
  382. package/cjs/theme/builtin/common/series/treemap.js.map +1 -0
  383. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -0
  384. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -0
  385. package/cjs/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  386. package/cjs/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
  387. package/cjs/theme/builtin/constant.js.map +1 -0
  388. package/cjs/theme/builtin/dark/color-scheme.js +33 -0
  389. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -0
  390. package/cjs/theme/builtin/dark/index.d.ts +2 -0
  391. package/cjs/theme/builtin/dark/index.js +13 -0
  392. package/cjs/theme/builtin/dark/index.js.map +1 -0
  393. package/{esm/theme/buildin-theme → cjs/theme/builtin}/index.d.ts +2 -2
  394. package/cjs/theme/{buildin-theme → builtin}/index.js +3 -3
  395. package/cjs/theme/builtin/index.js.map +1 -0
  396. package/cjs/theme/builtin/light/color-scheme.js +33 -0
  397. package/cjs/theme/builtin/light/color-scheme.js.map +1 -0
  398. package/cjs/theme/{buildin-theme → builtin}/light/index.js +5 -1
  399. package/cjs/theme/builtin/light/index.js.map +1 -0
  400. package/cjs/theme/color-scheme/builtin/default.d.ts +2 -0
  401. package/cjs/theme/color-scheme/builtin/default.js +11 -0
  402. package/cjs/theme/color-scheme/builtin/default.js.map +1 -0
  403. package/cjs/theme/color-scheme/util.d.ts +2 -1
  404. package/cjs/theme/color-scheme/util.js +9 -2
  405. package/cjs/theme/color-scheme/util.js.map +1 -1
  406. package/cjs/theme/index.d.ts +1 -1
  407. package/cjs/theme/index.js +1 -1
  408. package/cjs/theme/index.js.map +1 -1
  409. package/cjs/theme/interface.d.ts +2 -2
  410. package/cjs/theme/interface.js.map +1 -1
  411. package/cjs/theme/theme-manager.js +7 -7
  412. package/cjs/theme/theme-manager.js.map +1 -1
  413. package/cjs/typings/spec/common.d.ts +5 -0
  414. package/cjs/typings/spec/common.js.map +1 -1
  415. package/cjs/util/spec.d.ts +7 -0
  416. package/cjs/util/spec.js +55 -6
  417. package/cjs/util/spec.js.map +1 -1
  418. package/cjs/util/text.d.ts +0 -4
  419. package/cjs/util/text.js +6 -14
  420. package/cjs/util/text.js.map +1 -1
  421. package/cjs/vchart-all.js +1 -1
  422. package/cjs/vchart-all.js.map +1 -1
  423. package/esm/chart/index.d.ts +2 -2
  424. package/esm/chart/index.js +2 -2
  425. package/esm/chart/index.js.map +1 -1
  426. package/esm/chart/treemap/treemap.d.ts +1 -1
  427. package/esm/chart/treemap/treemap.js +4 -4
  428. package/esm/chart/treemap/treemap.js.map +1 -1
  429. package/esm/component/axis/base-axis.d.ts +15 -14
  430. package/esm/component/axis/base-axis.js.map +1 -1
  431. package/esm/component/axis/cartesian/axis.d.ts +2 -2
  432. package/esm/component/axis/cartesian/axis.js.map +1 -1
  433. package/esm/component/axis/cartesian/band-axis.d.ts +2 -3
  434. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  435. package/esm/component/axis/cartesian/linear-axis.d.ts +3 -3
  436. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  437. package/esm/component/axis/cartesian/log-axis.d.ts +3 -2
  438. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  439. package/esm/component/axis/cartesian/time-axis.d.ts +3 -2
  440. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  441. package/esm/component/axis/interface.d.ts +6 -1
  442. package/esm/component/axis/interface.js.map +1 -1
  443. package/esm/component/axis/polar/axis.d.ts +2 -2
  444. package/esm/component/axis/polar/axis.js.map +1 -1
  445. package/esm/component/axis/polar/band-axis.d.ts +3 -2
  446. package/esm/component/axis/polar/band-axis.js.map +1 -1
  447. package/esm/component/axis/polar/interface/spec.d.ts +7 -2
  448. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  449. package/esm/component/axis/polar/linear-axis.d.ts +2 -3
  450. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  451. package/esm/component/base/base-component.d.ts +4 -2
  452. package/esm/component/base/base-component.js +11 -1
  453. package/esm/component/base/base-component.js.map +1 -1
  454. package/esm/component/brush/brush.d.ts +2 -2
  455. package/esm/component/brush/brush.js +1 -1
  456. package/esm/component/brush/brush.js.map +1 -1
  457. package/esm/component/brush/interface.d.ts +1 -0
  458. package/esm/component/brush/interface.js.map +1 -1
  459. package/esm/component/crosshair/base.d.ts +2 -2
  460. package/esm/component/crosshair/base.js +1 -1
  461. package/esm/component/crosshair/base.js.map +1 -1
  462. package/esm/component/crosshair/cartesian.d.ts +3 -3
  463. package/esm/component/crosshair/cartesian.js.map +1 -1
  464. package/esm/component/crosshair/polar.d.ts +3 -3
  465. package/esm/component/crosshair/polar.js.map +1 -1
  466. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  467. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  468. package/esm/component/data-zoom/data-filter-base-component.d.ts +4 -4
  469. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  470. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  471. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  472. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  473. package/esm/component/data-zoom/data-zoom/interface.d.ts +3 -1
  474. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  475. package/esm/component/data-zoom/interface.d.ts +4 -1
  476. package/esm/component/data-zoom/interface.js.map +1 -1
  477. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  478. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  479. package/esm/component/geo/geo-coordinate.d.ts +1 -2
  480. package/esm/component/geo/geo-coordinate.js.map +1 -1
  481. package/esm/component/indicator/indicator.d.ts +2 -2
  482. package/esm/component/indicator/indicator.js +1 -1
  483. package/esm/component/indicator/indicator.js.map +1 -1
  484. package/esm/component/indicator/interface.d.ts +2 -0
  485. package/esm/component/indicator/interface.js.map +1 -1
  486. package/esm/component/label/base-label.d.ts +2 -2
  487. package/esm/component/label/base-label.js.map +1 -1
  488. package/esm/component/label/interface.d.ts +3 -0
  489. package/esm/component/label/interface.js.map +1 -1
  490. package/esm/component/label/label.d.ts +4 -3
  491. package/esm/component/label/label.js.map +1 -1
  492. package/esm/component/legend/base-legend.d.ts +2 -2
  493. package/esm/component/legend/base-legend.js.map +1 -1
  494. package/esm/component/legend/continuous/legend.d.ts +3 -4
  495. package/esm/component/legend/continuous/legend.js.map +1 -1
  496. package/esm/component/legend/discrete/legend.d.ts +1 -2
  497. package/esm/component/legend/discrete/legend.js.map +1 -1
  498. package/esm/component/map-label/component.d.ts +1 -2
  499. package/esm/component/map-label/component.js.map +1 -1
  500. package/esm/component/marker/base-marker.d.ts +2 -2
  501. package/esm/component/marker/base-marker.js.map +1 -1
  502. package/esm/component/marker/mark-area/mark-area.d.ts +1 -2
  503. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  504. package/esm/component/marker/mark-line/mark-line.d.ts +1 -2
  505. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  506. package/esm/component/marker/mark-point/mark-point.d.ts +1 -2
  507. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  508. package/esm/component/player/player.d.ts +1 -2
  509. package/esm/component/player/player.js.map +1 -1
  510. package/esm/component/title/title.d.ts +1 -2
  511. package/esm/component/title/title.js.map +1 -1
  512. package/esm/component/tooltip/handler/base.js +3 -3
  513. package/esm/component/tooltip/handler/base.js.map +1 -1
  514. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  515. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  516. package/esm/component/tooltip/handler/utils/attribute.js +2 -2
  517. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  518. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  519. package/esm/component/tooltip/interface/theme.d.ts +6 -5
  520. package/esm/component/tooltip/interface/theme.js.map +1 -1
  521. package/esm/component/tooltip/tooltip.d.ts +3 -2
  522. package/esm/component/tooltip/tooltip.js +4 -1
  523. package/esm/component/tooltip/tooltip.js.map +1 -1
  524. package/esm/core/index.d.ts +1 -1
  525. package/esm/core/index.js +1 -1
  526. package/esm/core/index.js.map +1 -1
  527. package/esm/core/vchart.js +8 -3
  528. package/esm/core/vchart.js.map +1 -1
  529. package/esm/data/transforms/data-key.d.ts +2 -2
  530. package/esm/data/transforms/data-key.js.map +1 -1
  531. package/esm/model/base-model.d.ts +4 -4
  532. package/esm/model/base-model.js +14 -16
  533. package/esm/model/base-model.js.map +1 -1
  534. package/esm/model/interface.d.ts +1 -0
  535. package/esm/model/interface.js.map +1 -1
  536. package/esm/model/layout-item.d.ts +3 -3
  537. package/esm/model/layout-item.js.map +1 -1
  538. package/esm/model/tooltip-helper.d.ts +0 -2
  539. package/esm/model/tooltip-helper.js +0 -3
  540. package/esm/model/tooltip-helper.js.map +1 -1
  541. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  542. package/esm/region/region.d.ts +2 -3
  543. package/esm/region/region.js.map +1 -1
  544. package/esm/series/area/area.d.ts +3 -2
  545. package/esm/series/area/area.js +7 -11
  546. package/esm/series/area/area.js.map +1 -1
  547. package/esm/series/area/constant.d.ts +2 -0
  548. package/esm/series/area/constant.js +15 -0
  549. package/esm/series/area/constant.js.map +1 -0
  550. package/esm/series/area/interface.d.ts +2 -0
  551. package/esm/series/area/interface.js.map +1 -1
  552. package/esm/series/bar/bar-3d.d.ts +3 -1
  553. package/esm/series/bar/bar-3d.js +3 -8
  554. package/esm/series/bar/bar-3d.js.map +1 -1
  555. package/esm/series/bar/bar.js +3 -8
  556. package/esm/series/bar/bar.js.map +1 -1
  557. package/esm/series/bar/constant.d.ts +3 -0
  558. package/esm/series/bar/constant.js +20 -0
  559. package/esm/series/bar/constant.js.map +1 -0
  560. package/esm/series/bar/interface.d.ts +3 -2
  561. package/esm/series/bar/interface.js.map +1 -1
  562. package/esm/series/base/base-series.d.ts +3 -6
  563. package/esm/series/base/base-series.js +4 -20
  564. package/esm/series/base/base-series.js.map +1 -1
  565. package/esm/series/base/constant.d.ts +2 -0
  566. package/esm/series/base/constant.js +11 -0
  567. package/esm/series/base/constant.js.map +1 -0
  568. package/esm/series/base/tooltip-helper.d.ts +0 -1
  569. package/esm/series/base/tooltip-helper.js +1 -4
  570. package/esm/series/base/tooltip-helper.js.map +1 -1
  571. package/esm/series/box-plot/box-plot.d.ts +1 -2
  572. package/esm/series/box-plot/box-plot.js +3 -14
  573. package/esm/series/box-plot/box-plot.js.map +1 -1
  574. package/esm/series/box-plot/constant.d.ts +2 -0
  575. package/esm/series/box-plot/constant.js +17 -0
  576. package/esm/series/box-plot/constant.js.map +1 -0
  577. package/esm/series/cartesian/interface.d.ts +2 -2
  578. package/esm/series/cartesian/interface.js.map +1 -1
  579. package/esm/series/circle-packing/circle-packing.d.ts +1 -2
  580. package/esm/series/circle-packing/circle-packing.js +4 -10
  581. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  582. package/esm/series/circle-packing/constant.d.ts +2 -0
  583. package/esm/series/circle-packing/constant.js +13 -0
  584. package/esm/series/circle-packing/constant.js.map +1 -0
  585. package/esm/series/dot/constant.d.ts +2 -0
  586. package/esm/series/dot/constant.js +37 -0
  587. package/esm/series/dot/constant.js.map +1 -0
  588. package/esm/series/dot/dot.d.ts +1 -1
  589. package/esm/series/dot/dot.js +3 -34
  590. package/esm/series/dot/dot.js.map +1 -1
  591. package/esm/series/funnel/constant.d.ts +3 -0
  592. package/esm/series/funnel/constant.js +52 -0
  593. package/esm/series/funnel/constant.js.map +1 -0
  594. package/esm/series/funnel/funnel-3d.d.ts +3 -2
  595. package/esm/series/funnel/funnel-3d.js +3 -24
  596. package/esm/series/funnel/funnel-3d.js.map +1 -1
  597. package/esm/series/funnel/funnel.d.ts +1 -1
  598. package/esm/series/funnel/funnel.js +3 -22
  599. package/esm/series/funnel/funnel.js.map +1 -1
  600. package/esm/series/gauge/constant.d.ts +3 -0
  601. package/esm/series/gauge/constant.js +32 -0
  602. package/esm/series/gauge/constant.js.map +1 -0
  603. package/esm/series/gauge/gauge-pointer.d.ts +2 -2
  604. package/esm/series/gauge/gauge-pointer.js +6 -16
  605. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  606. package/esm/series/gauge/gauge.d.ts +2 -1
  607. package/esm/series/gauge/gauge.js +6 -14
  608. package/esm/series/gauge/gauge.js.map +1 -1
  609. package/esm/series/heatmap/constant.d.ts +2 -0
  610. package/esm/series/heatmap/constant.js +17 -0
  611. package/esm/series/heatmap/constant.js.map +1 -0
  612. package/esm/series/heatmap/heatmap.d.ts +1 -1
  613. package/esm/series/heatmap/heatmap.js +3 -14
  614. package/esm/series/heatmap/heatmap.js.map +1 -1
  615. package/esm/series/index.d.ts +2 -2
  616. package/esm/series/index.js +2 -2
  617. package/esm/series/index.js.map +1 -1
  618. package/esm/series/interface/theme.d.ts +3 -2
  619. package/esm/series/interface/theme.js +78 -1
  620. package/esm/series/interface/theme.js.map +1 -1
  621. package/esm/series/line/constant.d.ts +2 -0
  622. package/esm/series/line/constant.js +6 -0
  623. package/esm/series/line/constant.js.map +1 -0
  624. package/esm/series/line/interface.d.ts +4 -0
  625. package/esm/series/line/interface.js.map +1 -1
  626. package/esm/series/line/line.d.ts +3 -2
  627. package/esm/series/line/line.js +7 -5
  628. package/esm/series/line/line.js.map +1 -1
  629. package/esm/series/link/constant.d.ts +2 -0
  630. package/esm/series/link/constant.js +21 -0
  631. package/esm/series/link/constant.js.map +1 -0
  632. package/esm/series/link/link.d.ts +1 -1
  633. package/esm/series/link/link.js +3 -20
  634. package/esm/series/link/link.js.map +1 -1
  635. package/esm/series/map/constant.d.ts +2 -0
  636. package/esm/series/map/constant.js +13 -0
  637. package/esm/series/map/constant.js.map +1 -0
  638. package/esm/series/map/map.d.ts +1 -1
  639. package/esm/series/map/map.js +3 -8
  640. package/esm/series/map/map.js.map +1 -1
  641. package/esm/series/mixin/line-mixin.d.ts +1 -1
  642. package/esm/series/mixin/line-mixin.js +3 -3
  643. package/esm/series/mixin/line-mixin.js.map +1 -1
  644. package/esm/series/pie/constant.d.ts +3 -0
  645. package/esm/series/pie/constant.js +28 -0
  646. package/esm/series/pie/constant.js.map +1 -0
  647. package/esm/series/pie/pie-3d.d.ts +1 -1
  648. package/esm/series/pie/pie-3d.js +3 -12
  649. package/esm/series/pie/pie-3d.js.map +1 -1
  650. package/esm/series/pie/pie.d.ts +1 -1
  651. package/esm/series/pie/pie.js +4 -13
  652. package/esm/series/pie/pie.js.map +1 -1
  653. package/esm/series/progress/circular/circular.d.ts +1 -1
  654. package/esm/series/progress/circular/circular.js +3 -14
  655. package/esm/series/progress/circular/circular.js.map +1 -1
  656. package/esm/series/progress/circular/constant.d.ts +2 -0
  657. package/esm/series/progress/circular/constant.js +17 -0
  658. package/esm/series/progress/circular/constant.js.map +1 -0
  659. package/esm/series/progress/linear/constant.d.ts +2 -0
  660. package/esm/series/progress/linear/constant.js +21 -0
  661. package/esm/series/progress/linear/constant.js.map +1 -0
  662. package/esm/series/progress/linear/linear.d.ts +1 -1
  663. package/esm/series/progress/linear/linear.js +3 -18
  664. package/esm/series/progress/linear/linear.js.map +1 -1
  665. package/esm/series/radar/constant.d.ts +2 -0
  666. package/esm/series/radar/constant.js +15 -0
  667. package/esm/series/radar/constant.js.map +1 -0
  668. package/esm/series/radar/radar.d.ts +3 -2
  669. package/esm/series/radar/radar.js +7 -11
  670. package/esm/series/radar/radar.js.map +1 -1
  671. package/esm/series/range-area/constant.d.ts +2 -0
  672. package/esm/series/range-area/constant.js +4 -0
  673. package/esm/series/range-area/constant.js.map +1 -0
  674. package/esm/series/range-area/range-area.d.ts +2 -1
  675. package/esm/series/range-area/range-area.js +3 -1
  676. package/esm/series/range-area/range-area.js.map +1 -1
  677. package/esm/series/range-column/constant.d.ts +3 -0
  678. package/esm/series/range-column/constant.js +28 -0
  679. package/esm/series/range-column/constant.js.map +1 -0
  680. package/esm/series/range-column/range-column-3d.d.ts +5 -1
  681. package/esm/series/range-column/range-column-3d.js +3 -1
  682. package/esm/series/range-column/range-column-3d.js.map +1 -1
  683. package/esm/series/range-column/range-column.d.ts +2 -2
  684. package/esm/series/range-column/range-column.js +3 -10
  685. package/esm/series/range-column/range-column.js.map +1 -1
  686. package/esm/series/rose/constant.d.ts +2 -0
  687. package/esm/series/rose/constant.js +13 -0
  688. package/esm/series/rose/constant.js.map +1 -0
  689. package/esm/series/rose/rose.d.ts +2 -1
  690. package/esm/series/rose/rose.js +6 -10
  691. package/esm/series/rose/rose.js.map +1 -1
  692. package/esm/series/sankey/constant.d.ts +2 -0
  693. package/esm/series/sankey/constant.js +17 -0
  694. package/esm/series/sankey/constant.js.map +1 -0
  695. package/esm/series/sankey/sankey.d.ts +1 -2
  696. package/esm/series/sankey/sankey.js +3 -14
  697. package/esm/series/sankey/sankey.js.map +1 -1
  698. package/esm/series/scatter/constant.d.ts +2 -0
  699. package/esm/series/scatter/constant.js +13 -0
  700. package/esm/series/scatter/constant.js.map +1 -0
  701. package/esm/series/scatter/interface.d.ts +2 -0
  702. package/esm/series/scatter/interface.js.map +1 -1
  703. package/esm/series/scatter/scatter.d.ts +2 -1
  704. package/esm/series/scatter/scatter.js +6 -10
  705. package/esm/series/scatter/scatter.js.map +1 -1
  706. package/esm/series/sunburst/constant.d.ts +2 -0
  707. package/esm/series/sunburst/constant.js +13 -0
  708. package/esm/series/sunburst/constant.js.map +1 -0
  709. package/esm/series/sunburst/sunburst.js +5 -9
  710. package/esm/series/sunburst/sunburst.js.map +1 -1
  711. package/esm/series/treemap/constant.d.ts +2 -0
  712. package/esm/series/treemap/constant.js +21 -0
  713. package/esm/series/treemap/constant.js.map +1 -0
  714. package/esm/series/treemap/treemap.d.ts +1 -1
  715. package/esm/series/treemap/treemap.js +10 -22
  716. package/esm/series/treemap/treemap.js.map +1 -1
  717. package/esm/series/waterfall/constant.d.ts +2 -0
  718. package/esm/series/waterfall/constant.js +17 -0
  719. package/esm/series/waterfall/constant.js.map +1 -0
  720. package/esm/series/waterfall/waterfall.d.ts +2 -2
  721. package/esm/series/waterfall/waterfall.js +3 -12
  722. package/esm/series/waterfall/waterfall.js.map +1 -1
  723. package/esm/series/word-cloud/base.js +3 -12
  724. package/esm/series/word-cloud/base.js.map +1 -1
  725. package/esm/series/word-cloud/constant.d.ts +2 -0
  726. package/esm/series/word-cloud/constant.js +17 -0
  727. package/esm/series/word-cloud/constant.js.map +1 -0
  728. package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -1
  729. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  730. package/esm/series/word-cloud/word-cloud.d.ts +1 -1
  731. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  732. package/esm/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  733. package/esm/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  734. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  735. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  736. package/esm/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  737. package/esm/theme/builtin/common/component/axis/log-axis.js.map +1 -0
  738. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  739. package/esm/theme/builtin/common/component/brush.js.map +1 -0
  740. package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
  741. package/esm/theme/builtin/common/component/crosshair.js.map +1 -0
  742. package/esm/theme/builtin/common/component/data-zoom.js +156 -0
  743. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -0
  744. package/esm/theme/builtin/common/component/index.js.map +1 -0
  745. package/esm/theme/builtin/common/component/indicator.js.map +1 -0
  746. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  747. package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
  748. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -0
  749. package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
  750. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  751. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  752. package/esm/theme/builtin/common/component/map-label.js.map +1 -0
  753. package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
  754. package/esm/theme/builtin/common/component/mark-area.js.map +1 -0
  755. package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
  756. package/esm/theme/builtin/common/component/mark-line.js.map +1 -0
  757. package/esm/theme/builtin/common/component/mark-point.js.map +1 -0
  758. package/esm/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
  759. package/esm/theme/builtin/common/component/player.js.map +1 -0
  760. package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
  761. package/esm/theme/builtin/common/component/poptip.js.map +1 -0
  762. package/esm/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
  763. package/esm/theme/builtin/common/component/title.js.map +1 -0
  764. package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
  765. package/esm/theme/builtin/common/component/tooltip.js.map +1 -0
  766. package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
  767. package/esm/theme/builtin/common/component/total-label.js.map +1 -0
  768. package/esm/theme/{buildin-theme/light → builtin/common}/constants.js +1 -1
  769. package/esm/theme/builtin/common/constants.js.map +1 -0
  770. package/esm/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
  771. package/esm/theme/builtin/common/mark.js.map +1 -0
  772. package/esm/theme/builtin/common/series/area.js.map +1 -0
  773. package/esm/theme/builtin/common/series/bar.js.map +1 -0
  774. package/esm/theme/builtin/common/series/bar3d.js.map +1 -0
  775. package/esm/theme/builtin/common/series/box-plot.js.map +1 -0
  776. package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
  777. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -0
  778. package/esm/theme/builtin/common/series/circular-progress.js.map +1 -0
  779. package/esm/theme/builtin/common/series/dot.js.map +1 -0
  780. package/esm/theme/builtin/common/series/funnel.js.map +1 -0
  781. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -0
  782. package/esm/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  783. package/esm/theme/builtin/common/series/gauge.js.map +1 -0
  784. package/esm/theme/builtin/common/series/heatmap.js.map +1 -0
  785. package/esm/theme/builtin/common/series/index.js.map +1 -0
  786. package/esm/theme/builtin/common/series/line.js.map +1 -0
  787. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -0
  788. package/esm/theme/builtin/common/series/link.js.map +1 -0
  789. package/esm/theme/builtin/common/series/map.js.map +1 -0
  790. package/esm/theme/builtin/common/series/pie.js.map +1 -0
  791. package/esm/theme/builtin/common/series/pie3d.js.map +1 -0
  792. package/esm/theme/builtin/common/series/radar.js.map +1 -0
  793. package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
  794. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -0
  795. package/esm/theme/builtin/common/series/rose.js.map +1 -0
  796. package/esm/theme/builtin/common/series/sankey.js.map +1 -0
  797. package/esm/theme/builtin/common/series/scatter.js.map +1 -0
  798. package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
  799. package/esm/theme/builtin/common/series/sunburst.js.map +1 -0
  800. package/esm/theme/builtin/common/series/treemap.js.map +1 -0
  801. package/esm/theme/builtin/common/series/waterfall.js.map +1 -0
  802. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -0
  803. package/esm/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  804. package/esm/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
  805. package/esm/theme/builtin/constant.js.map +1 -0
  806. package/esm/theme/builtin/dark/color-scheme.d.ts +2 -0
  807. package/esm/theme/builtin/dark/color-scheme.js +27 -0
  808. package/esm/theme/builtin/dark/color-scheme.js.map +1 -0
  809. package/esm/theme/builtin/dark/index.d.ts +2 -0
  810. package/esm/theme/builtin/dark/index.js +7 -0
  811. package/esm/theme/builtin/dark/index.js.map +1 -0
  812. package/{cjs/theme/buildin-theme → esm/theme/builtin}/index.d.ts +2 -2
  813. package/esm/theme/builtin/index.js +12 -0
  814. package/esm/theme/builtin/index.js.map +1 -0
  815. package/esm/theme/builtin/light/color-scheme.d.ts +2 -0
  816. package/esm/theme/builtin/light/color-scheme.js +27 -0
  817. package/esm/theme/builtin/light/color-scheme.js.map +1 -0
  818. package/esm/theme/{buildin-theme → builtin}/light/index.js +8 -4
  819. package/esm/theme/builtin/light/index.js.map +1 -0
  820. package/esm/theme/color-scheme/builtin/default.d.ts +2 -0
  821. package/esm/theme/color-scheme/builtin/default.js +7 -0
  822. package/esm/theme/color-scheme/builtin/default.js.map +1 -0
  823. package/esm/theme/color-scheme/util.d.ts +2 -1
  824. package/esm/theme/color-scheme/util.js +6 -0
  825. package/esm/theme/color-scheme/util.js.map +1 -1
  826. package/esm/theme/index.d.ts +1 -1
  827. package/esm/theme/index.js +1 -1
  828. package/esm/theme/index.js.map +1 -1
  829. package/esm/theme/interface.d.ts +2 -2
  830. package/esm/theme/interface.js.map +1 -1
  831. package/esm/theme/theme-manager.js +6 -6
  832. package/esm/theme/theme-manager.js.map +1 -1
  833. package/esm/typings/spec/common.d.ts +5 -0
  834. package/esm/typings/spec/common.js.map +1 -1
  835. package/esm/util/spec.d.ts +7 -0
  836. package/esm/util/spec.js +52 -4
  837. package/esm/util/spec.js.map +1 -1
  838. package/esm/util/text.d.ts +0 -4
  839. package/esm/util/text.js +2 -8
  840. package/esm/util/text.js.map +1 -1
  841. package/esm/vchart-all.js +2 -2
  842. package/esm/vchart-all.js.map +1 -1
  843. package/package.json +8 -8
  844. package/cjs/theme/buildin-theme/config.js.map +0 -1
  845. package/cjs/theme/buildin-theme/index.js.map +0 -1
  846. package/cjs/theme/buildin-theme/light/color-scheme.js +0 -21
  847. package/cjs/theme/buildin-theme/light/color-scheme.js.map +0 -1
  848. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  849. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  850. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  851. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  852. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  853. package/cjs/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  854. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  855. package/cjs/theme/buildin-theme/light/component/brush.js.map +0 -1
  856. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  857. package/cjs/theme/buildin-theme/light/component/data-zoom.js +0 -105
  858. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  859. package/cjs/theme/buildin-theme/light/component/index.js.map +0 -1
  860. package/cjs/theme/buildin-theme/light/component/indicator.js.map +0 -1
  861. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  862. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  863. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  864. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  865. package/cjs/theme/buildin-theme/light/component/map-label.js.map +0 -1
  866. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  867. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  868. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  869. package/cjs/theme/buildin-theme/light/component/player.js.map +0 -1
  870. package/cjs/theme/buildin-theme/light/component/poptip.js.map +0 -1
  871. package/cjs/theme/buildin-theme/light/component/title.js.map +0 -1
  872. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  873. package/cjs/theme/buildin-theme/light/component/total-label.js.map +0 -1
  874. package/cjs/theme/buildin-theme/light/constants.js.map +0 -1
  875. package/cjs/theme/buildin-theme/light/index.js.map +0 -1
  876. package/cjs/theme/buildin-theme/light/mark.js.map +0 -1
  877. package/cjs/theme/buildin-theme/light/series/area.js.map +0 -1
  878. package/cjs/theme/buildin-theme/light/series/bar.js.map +0 -1
  879. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  880. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  881. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  882. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  883. package/cjs/theme/buildin-theme/light/series/dot.js.map +0 -1
  884. package/cjs/theme/buildin-theme/light/series/funnel.js.map +0 -1
  885. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  886. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  887. package/cjs/theme/buildin-theme/light/series/gauge.js.map +0 -1
  888. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  889. package/cjs/theme/buildin-theme/light/series/index.js.map +0 -1
  890. package/cjs/theme/buildin-theme/light/series/line.js.map +0 -1
  891. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  892. package/cjs/theme/buildin-theme/light/series/link.js.map +0 -1
  893. package/cjs/theme/buildin-theme/light/series/map.js.map +0 -1
  894. package/cjs/theme/buildin-theme/light/series/pie.js.map +0 -1
  895. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  896. package/cjs/theme/buildin-theme/light/series/radar.js.map +0 -1
  897. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  898. package/cjs/theme/buildin-theme/light/series/rose.js.map +0 -1
  899. package/cjs/theme/buildin-theme/light/series/sankey.js.map +0 -1
  900. package/cjs/theme/buildin-theme/light/series/scatter.js.map +0 -1
  901. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  902. package/cjs/theme/buildin-theme/light/series/treemap.js.map +0 -1
  903. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  904. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  905. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  906. package/esm/theme/buildin-theme/config.js.map +0 -1
  907. package/esm/theme/buildin-theme/index.js +0 -10
  908. package/esm/theme/buildin-theme/index.js.map +0 -1
  909. package/esm/theme/buildin-theme/light/color-scheme.js +0 -17
  910. package/esm/theme/buildin-theme/light/color-scheme.js.map +0 -1
  911. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  912. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  913. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  914. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  915. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  916. package/esm/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  917. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  918. package/esm/theme/buildin-theme/light/component/brush.js.map +0 -1
  919. package/esm/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  920. package/esm/theme/buildin-theme/light/component/data-zoom.js +0 -101
  921. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  922. package/esm/theme/buildin-theme/light/component/index.js.map +0 -1
  923. package/esm/theme/buildin-theme/light/component/indicator.js.map +0 -1
  924. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  925. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  926. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  927. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  928. package/esm/theme/buildin-theme/light/component/map-label.js.map +0 -1
  929. package/esm/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  930. package/esm/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  931. package/esm/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  932. package/esm/theme/buildin-theme/light/component/player.js.map +0 -1
  933. package/esm/theme/buildin-theme/light/component/poptip.js.map +0 -1
  934. package/esm/theme/buildin-theme/light/component/title.js.map +0 -1
  935. package/esm/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  936. package/esm/theme/buildin-theme/light/component/total-label.js.map +0 -1
  937. package/esm/theme/buildin-theme/light/constants.js.map +0 -1
  938. package/esm/theme/buildin-theme/light/index.js.map +0 -1
  939. package/esm/theme/buildin-theme/light/mark.js.map +0 -1
  940. package/esm/theme/buildin-theme/light/series/area.js.map +0 -1
  941. package/esm/theme/buildin-theme/light/series/bar.js.map +0 -1
  942. package/esm/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  943. package/esm/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  944. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  945. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  946. package/esm/theme/buildin-theme/light/series/dot.js.map +0 -1
  947. package/esm/theme/buildin-theme/light/series/funnel.js.map +0 -1
  948. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  949. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  950. package/esm/theme/buildin-theme/light/series/gauge.js.map +0 -1
  951. package/esm/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  952. package/esm/theme/buildin-theme/light/series/index.js.map +0 -1
  953. package/esm/theme/buildin-theme/light/series/line.js.map +0 -1
  954. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  955. package/esm/theme/buildin-theme/light/series/link.js.map +0 -1
  956. package/esm/theme/buildin-theme/light/series/map.js.map +0 -1
  957. package/esm/theme/buildin-theme/light/series/pie.js.map +0 -1
  958. package/esm/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  959. package/esm/theme/buildin-theme/light/series/radar.js.map +0 -1
  960. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  961. package/esm/theme/buildin-theme/light/series/rose.js.map +0 -1
  962. package/esm/theme/buildin-theme/light/series/sankey.js.map +0 -1
  963. package/esm/theme/buildin-theme/light/series/scatter.js.map +0 -1
  964. package/esm/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  965. package/esm/theme/buildin-theme/light/series/treemap.js.map +0 -1
  966. package/esm/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  967. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  968. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  969. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  970. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  971. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
  972. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  973. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
  974. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  975. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  976. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
  977. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
  978. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  979. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
  980. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  981. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  982. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  983. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  984. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  985. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
  986. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  987. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
  988. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  989. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
  990. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  991. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  992. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  993. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
  994. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  995. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
  996. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  997. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  998. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  999. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1000. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1001. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
  1002. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1003. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1004. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
  1005. /package/cjs/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1006. /package/cjs/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1007. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1008. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
  1009. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1010. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
  1011. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1012. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
  1013. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1014. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1015. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1016. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1017. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1018. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1019. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
  1020. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1021. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
  1022. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1023. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
  1024. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1025. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1026. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1027. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1028. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1029. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1030. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1031. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1032. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1033. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
  1034. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1035. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1036. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1037. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1038. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1039. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
  1040. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1041. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
  1042. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1043. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
  1044. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1045. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
  1046. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1047. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1048. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
  1049. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1050. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
  1051. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1052. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
  1053. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1054. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1055. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
  1056. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1057. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
  1058. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1059. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1060. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1061. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1062. /package/cjs/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
  1063. /package/cjs/theme/{buildin-theme/light → builtin/dark}/color-scheme.d.ts +0 -0
  1064. /package/{esm/theme/buildin-theme → cjs/theme/builtin}/light/color-scheme.d.ts +0 -0
  1065. /package/cjs/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
  1066. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  1067. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  1068. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
  1069. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  1070. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
  1071. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  1072. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  1073. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
  1074. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
  1075. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  1076. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
  1077. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  1078. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  1079. /package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  1080. /package/esm/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  1081. /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  1082. /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
  1083. /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  1084. /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
  1085. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  1086. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
  1087. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  1088. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  1089. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  1090. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
  1091. /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  1092. /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
  1093. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  1094. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  1095. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  1096. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1097. /package/esm/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1098. /package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
  1099. /package/esm/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1100. /package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1101. /package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
  1102. /package/esm/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1103. /package/esm/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1104. /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1105. /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
  1106. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1107. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
  1108. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1109. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
  1110. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1111. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1112. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1113. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1114. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1115. /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1116. /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
  1117. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1118. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
  1119. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1120. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
  1121. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1122. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1123. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1124. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1125. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1126. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1127. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1128. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1129. /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1130. /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
  1131. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1132. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1133. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1134. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1135. /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1136. /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
  1137. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1138. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
  1139. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1140. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
  1141. /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1142. /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
  1143. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1144. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1145. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
  1146. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1147. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
  1148. /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1149. /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
  1150. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1151. /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1152. /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
  1153. /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1154. /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
  1155. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1156. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1157. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1158. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1159. /package/esm/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
  1160. /package/esm/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { IMark, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { VChart } from '../vchart-all';\nimport type { IData, IElement, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport type {\n IOrientType,\n IPoint,\n IGroupMarkSpec,\n ConvertToMarkStyleSpec,\n CoordinateType,\n ICommonSpec,\n IRect,\n StringOrNumber\n} from '../typings';\nimport type { ITheme } from '../theme';\nimport type { StateValueType } from '../typings/spec';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { ModelStateManager } from './model-state-manager';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { ICompilableData } from '../compile/data';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart } from '../chart/interface';\n\nexport type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRectLevel {\n width: number;\n height: number;\n}\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type IPercentOffset = { percent?: number; offset?: number };\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\ntype ILayoutType = 'region-relative' | 'region' | 'normal' | 'absolute' | 'normal-inline';\n\nexport type ILayoutOrientPadding = {\n left?: ILayoutNumber;\n right?: ILayoutNumber;\n top?: ILayoutNumber;\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\n/**\n * 因为这些元素都会继承到各个模块,所以这里统一有前缀避免语意冲突\n */\nexport interface ILayoutItem {\n /**\n * 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n */\n directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n layoutClip: boolean;\n layoutType: ILayoutType;\n layoutBindRegionID: number | number[];\n layoutOrient: IOrientType;\n\n layoutPaddingLeft: number;\n layoutPaddingTop: number;\n layoutPaddingRight: number;\n layoutPaddingBottom: number;\n\n layoutOffsetX: number;\n layoutOffsetY: number;\n\n // 越大越先处理\n layoutLevel: number;\n\n layoutZIndex: number;\n chartLayoutRect: ILayoutRect;\n\n /** 是否可见 */\n getVisible: () => boolean;\n\n /** 是否自动缩进 */\n getAutoIndent: () => boolean;\n getLayoutStartPoint: () => ILayoutPoint;\n getLayoutRect: () => ILayoutRect;\n getLastComputeOutBounds: () => IBoundsLike;\n\n /**\n * 更新元素布局的 layoutRect 大小,用来更新指定布局空间\n */\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) => void;\n /**\n * 基于元素内部逻辑计算占位空间,rect表示可用空间\n */\n computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;\n /**\n * 更新元素布局的起始点位置\n */\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n /**\n * 更新绝对布局元素的位置信息\n */\n absoluteLayoutInRect: (rect: IRect) => void;\n /**\n * 元素内部布局信息更新\n */\n updateLayoutAttribute: () => void;\n}\n\nexport interface ILayoutItemSpec {\n /** 当前模块的布局类型,配置为 absolute 的话,当前元素会以图表左上角为原点进行绝对布局 */\n layoutType?: ILayoutType;\n /**\n * 布局顺序等级,等级越大的,越优先布局\n * 比如顶部同时有标题和图例的场景,期望标题先放在顶部,然后放置图例。\n */\n layoutLevel?: number;\n\n // 基础的布局配置\n /** 模块布局位置 */\n orient?: IOrientType;\n /** 模块的布局间距 */\n padding?: ILayoutPaddingSpec;\n /** 模块的布局大小:宽度 */\n width?: ILayoutNumber;\n /** 模块的布局最大宽度 */\n maxWidth?: ILayoutNumber;\n /** 模块的布局最小宽度 */\n minWidth?: ILayoutNumber;\n /** 模块的布局大小:高度 */\n height?: ILayoutNumber;\n /** 模块的布局最大高度 */\n maxHeight?: ILayoutNumber;\n /** 模块的布局最小高度 */\n minHeight?: ILayoutNumber;\n /** 模块的布局位置偏移:X */\n offsetX?: ILayoutNumber;\n /** 模块的布局位置偏移:Y */\n offsetY?: ILayoutNumber;\n\n /** 模块的展示层级,当2个模块重叠时,层级较大的展示在上方 */\n zIndex?: number;\n /** 模块是否裁剪超出布局区域外的绘图内容 */\n clip?: boolean;\n\n // 绝对布局下的对齐设置\n\n /** 模块绝对布局下,与图表左侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n left?: ILayoutNumber;\n /** 模块绝对布局下,与图表右侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n right?: ILayoutNumber;\n /** 模块绝对布局下,与图表顶部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n top?: ILayoutNumber;\n /** 模块绝对布局下,与图表底部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n bottom?: ILayoutNumber;\n /** 模块绝对布局下,元素将放置在图表的正中间。注意仅在 layoutType === 'absolute' 时生效,同时将忽略 padding 属性 */\n center?: boolean;\n}\n\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface IMarkTreeGroup extends Partial<IMarkStyle<IGroupMarkSpec>> {\n // 必须要有名字\n type: 'group';\n name: string;\n marks: (IMarkTreeGroup | IMark)[];\n // TODO: 这里要不要支持复杂场景,有图形组合的场景,用自定义mark?\n // from?: IData;\n}\n\nexport type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];\n\nexport interface IUpdateSpecResult {\n change: boolean;\n reMake: boolean;\n reMakeData?: boolean;\n reRender?: boolean;\n reSize?: boolean;\n // TODO: compile 的判断应不应该出现在这里?\n reCompile?: boolean;\n}\n\nexport interface IModelProduct {\n srData: IData;\n}\n\nexport interface IModel extends ICompilable, ILayoutItem {\n readonly modelType: string;\n readonly type: string;\n readonly specKey: string;\n\n readonly id: number;\n\n readonly userId?: StringOrNumber;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // state如果绑定到mark的更新?\n // 组件的 mark 要怎么样描述,才能正确的基于组件状态进行样式更新?\n // 方案1: 组件的 state 关联到 mark 的状态。\n // 方案2: 组件设置 mark 属性,mark自身属性变化时,自己去更新。\n // react state\n readonly state: ModelStateManager;\n getState: () => ModelStateManager['_stateMap'];\n\n coordinate?: CoordinateType;\n\n // 初始化参数\n getOption: () => IModelOption;\n\n getMarks: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarkInfoList: () => IModelMarkInfo[];\n\n getData: () => ICompilableData;\n\n getChart: () => IChart;\n\n //生命周期\n // 创建模块自身内容,设置自身属性\n created: () => void;\n // 用来处理与其他图表模块的联系\n init: (option: IModelInitOption) => void;\n // updateSpec 或者切换主题后,根据新 spec 执行的初始化过程\n reInit: (theme?: any) => void;\n\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: IModelLayoutOption) => void;\n onLayoutEnd: (ctx: IModelLayoutOption) => void;\n onEvaluateEnd: (ctx: IModelEvaluateOption) => void;\n onRender: (ctx: IModelRenderOption) => void;\n onDataUpdate: () => void;\n\n updateSpec: (spec: any) => IUpdateSpecResult;\n getSpec?: () => any;\n getSpecIndex: () => number;\n\n setCurrentTheme: (theme: any, noRender?: boolean) => void;\n\n setMarkStyle: <T extends ICommonSpec>(\n mark?: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) => void;\n\n initMarkStyleWithSpec: (mark?: IMark, spec?: any, key?: string) => void;\n\n // tooltip\n tooltipHelper: ITooltipHelper;\n\n /** 绑定场景结点 */\n bindSceneNode: (node: IElement) => void;\n /** 获取场景结点 */\n getSceneNodes: () => IElement[];\n /** 获取场景结点对应 mark */\n getSceneNodeMarks: () => IVGrammarMark[];\n}\n\nexport interface IModelOption extends ICompilableInitOption {\n eventDispatcher: IEventDispatcher;\n dataSet: DataSet;\n map: Map<StringOrNumber, IModel | IMark>;\n mode: RenderMode;\n globalInstance: VChart;\n specIndex?: number;\n specKey?: string;\n\n getTheme?: () => ITheme;\n\n getChartLayoutRect: () => IRect;\n getChartViewRect: () => ILayoutRect;\n\n getChart: () => IChart;\n\n globalScale: IGlobalScale;\n animation: boolean;\n /**\n * 错误消息回调函数\n */\n onError: (...args: any[]) => void;\n}\n\nexport interface IModelConstructor {\n new (ctx: IModelOption): IModel;\n}\n\nexport type ILayoutModelState = ModelStateManager['_stateMap'];\n\n// TODO: 补充model共有配置\nexport type IModelSpec = ILayoutItemSpec & { id?: StringOrNumber };\n\nexport interface IModelMarkInfo {\n /** mark 类型 */\n type: MarkTypeEnum | string | (MarkTypeEnum | string)[];\n /** mark 名称 */\n name: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { IMark, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { VChart } from '../vchart-all';\nimport type { IData, IElement, IMark as IVGrammarMark } from '@visactor/vgrammar';\nimport type {\n IOrientType,\n IPoint,\n IGroupMarkSpec,\n ConvertToMarkStyleSpec,\n CoordinateType,\n ICommonSpec,\n IRect,\n StringOrNumber\n} from '../typings';\nimport type { ITheme } from '../theme';\nimport type { StateValueType } from '../typings/spec';\nimport type { ITooltipHelper } from './tooltip-helper';\nimport type { ModelStateManager } from './model-state-manager';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { ICompilableData } from '../compile/data';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart } from '../chart/interface';\n\nexport type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset;\n\nexport interface ILayoutPoint {\n x: number;\n y: number;\n}\n\nexport interface ILayoutRectLevel {\n width: number;\n height: number;\n}\nexport interface ILayoutRect {\n width: number;\n height: number;\n}\n\nexport type IPercent = `${number}%`;\n\nexport type IPercentOffset = { percent?: number; offset?: number };\n\nexport type ILayoutPercent = IPercent | number;\n\n/**\n * 相对布局和绝对布局\n * 在相对布局结束后进行二次的绝对布局\n * 绝对布局会只根据 chart 进行相对处理\n */\n\ntype ILayoutType = 'region-relative' | 'region' | 'normal' | 'absolute' | 'normal-inline';\n\nexport type ILayoutOrientPadding = {\n left?: ILayoutNumber;\n right?: ILayoutNumber;\n top?: ILayoutNumber;\n bottom?: ILayoutNumber;\n};\n\n/** 布局 padding的配置 */\nexport type ILayoutPaddingSpec = ILayoutOrientPadding | ILayoutNumber | ILayoutNumber[];\n\n/**\n * 因为这些元素都会继承到各个模块,所以这里统一有前缀避免语意冲突\n */\nexport interface ILayoutItem {\n /**\n * 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n */\n directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n layoutClip: boolean;\n layoutType: ILayoutType;\n layoutBindRegionID: number | number[];\n layoutOrient: IOrientType;\n\n layoutPaddingLeft: number;\n layoutPaddingTop: number;\n layoutPaddingRight: number;\n layoutPaddingBottom: number;\n\n layoutOffsetX: number;\n layoutOffsetY: number;\n\n // 越大越先处理\n layoutLevel: number;\n\n layoutZIndex: number;\n chartLayoutRect: ILayoutRect;\n\n /** 是否可见 */\n getVisible: () => boolean;\n\n /** 是否自动缩进 */\n getAutoIndent: () => boolean;\n getLayoutStartPoint: () => ILayoutPoint;\n getLayoutRect: () => ILayoutRect;\n getLastComputeOutBounds: () => IBoundsLike;\n\n /**\n * 更新元素布局的 layoutRect 大小,用来更新指定布局空间\n */\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) => void;\n /**\n * 基于元素内部逻辑计算占位空间,rect表示可用空间\n */\n computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;\n /**\n * 更新元素布局的起始点位置\n */\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n /**\n * 更新绝对布局元素的位置信息\n */\n absoluteLayoutInRect: (rect: IRect) => void;\n /**\n * 元素内部布局信息更新\n */\n updateLayoutAttribute: () => void;\n}\n\nexport interface ILayoutItemSpec {\n /** 当前模块的布局类型,配置为 absolute 的话,当前元素会以图表左上角为原点进行绝对布局 */\n layoutType?: ILayoutType;\n /**\n * 布局顺序等级,等级越大的,越优先布局\n * 比如顶部同时有标题和图例的场景,期望标题先放在顶部,然后放置图例。\n */\n layoutLevel?: number;\n\n // 基础的布局配置\n /** 模块布局位置 */\n orient?: IOrientType;\n /** 模块的布局间距 */\n padding?: ILayoutPaddingSpec;\n /** 是否按照 orient 自动修改 padding,隐藏位于外侧的 padding。目前只在组件上生效 */\n noOuterPadding?: boolean;\n /** 模块的布局大小:宽度 */\n width?: ILayoutNumber;\n /** 模块的布局最大宽度 */\n maxWidth?: ILayoutNumber;\n /** 模块的布局最小宽度 */\n minWidth?: ILayoutNumber;\n /** 模块的布局大小:高度 */\n height?: ILayoutNumber;\n /** 模块的布局最大高度 */\n maxHeight?: ILayoutNumber;\n /** 模块的布局最小高度 */\n minHeight?: ILayoutNumber;\n /** 模块的布局位置偏移:X */\n offsetX?: ILayoutNumber;\n /** 模块的布局位置偏移:Y */\n offsetY?: ILayoutNumber;\n\n /** 模块的展示层级,当2个模块重叠时,层级较大的展示在上方 */\n zIndex?: number;\n /** 模块是否裁剪超出布局区域外的绘图内容 */\n clip?: boolean;\n\n // 绝对布局下的对齐设置\n\n /** 模块绝对布局下,与图表左侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n left?: ILayoutNumber;\n /** 模块绝对布局下,与图表右侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n right?: ILayoutNumber;\n /** 模块绝对布局下,与图表顶部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n top?: ILayoutNumber;\n /** 模块绝对布局下,与图表底部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n bottom?: ILayoutNumber;\n /** 模块绝对布局下,元素将放置在图表的正中间。注意仅在 layoutType === 'absolute' 时生效,同时将忽略 padding 属性 */\n center?: boolean;\n}\n\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface IMarkTreeGroup extends Partial<IMarkStyle<IGroupMarkSpec>> {\n // 必须要有名字\n type: 'group';\n name: string;\n marks: (IMarkTreeGroup | IMark)[];\n // TODO: 这里要不要支持复杂场景,有图形组合的场景,用自定义mark?\n // from?: IData;\n}\n\nexport type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];\n\nexport interface IUpdateSpecResult {\n change: boolean;\n reMake: boolean;\n reMakeData?: boolean;\n reRender?: boolean;\n reSize?: boolean;\n // TODO: compile 的判断应不应该出现在这里?\n reCompile?: boolean;\n}\n\nexport interface IModelProduct {\n srData: IData;\n}\n\nexport interface IModel extends ICompilable, ILayoutItem {\n readonly modelType: string;\n readonly type: string;\n readonly specKey: string;\n\n readonly id: number;\n\n readonly userId?: StringOrNumber;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n // state如果绑定到mark的更新?\n // 组件的 mark 要怎么样描述,才能正确的基于组件状态进行样式更新?\n // 方案1: 组件的 state 关联到 mark 的状态。\n // 方案2: 组件设置 mark 属性,mark自身属性变化时,自己去更新。\n // react state\n readonly state: ModelStateManager;\n getState: () => ModelStateManager['_stateMap'];\n\n coordinate?: CoordinateType;\n\n // 初始化参数\n getOption: () => IModelOption;\n\n getMarks: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarkInfoList: () => IModelMarkInfo[];\n\n getData: () => ICompilableData;\n\n getChart: () => IChart;\n\n //生命周期\n // 创建模块自身内容,设置自身属性\n created: () => void;\n // 用来处理与其他图表模块的联系\n init: (option: IModelInitOption) => void;\n // updateSpec 或者切换主题后,根据新 spec 执行的初始化过程\n reInit: (theme?: any) => void;\n\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: IModelLayoutOption) => void;\n onLayoutEnd: (ctx: IModelLayoutOption) => void;\n onEvaluateEnd: (ctx: IModelEvaluateOption) => void;\n onRender: (ctx: IModelRenderOption) => void;\n onDataUpdate: () => void;\n\n updateSpec: (spec: any) => IUpdateSpecResult;\n getSpec?: () => any;\n getSpecIndex: () => number;\n\n setCurrentTheme: (theme: any, noRender?: boolean) => void;\n\n setMarkStyle: <T extends ICommonSpec>(\n mark?: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) => void;\n\n initMarkStyleWithSpec: (mark?: IMark, spec?: any, key?: string) => void;\n\n // tooltip\n tooltipHelper: ITooltipHelper;\n\n /** 绑定场景结点 */\n bindSceneNode: (node: IElement) => void;\n /** 获取场景结点 */\n getSceneNodes: () => IElement[];\n /** 获取场景结点对应 mark */\n getSceneNodeMarks: () => IVGrammarMark[];\n}\n\nexport interface IModelOption extends ICompilableInitOption {\n eventDispatcher: IEventDispatcher;\n dataSet: DataSet;\n map: Map<StringOrNumber, IModel | IMark>;\n mode: RenderMode;\n globalInstance: VChart;\n specIndex?: number;\n specKey?: string;\n\n getTheme?: () => ITheme;\n\n getChartLayoutRect: () => IRect;\n getChartViewRect: () => ILayoutRect;\n\n getChart: () => IChart;\n\n globalScale: IGlobalScale;\n animation: boolean;\n /**\n * 错误消息回调函数\n */\n onError: (...args: any[]) => void;\n}\n\nexport interface IModelConstructor {\n new (ctx: IModelOption): IModel;\n}\n\nexport type ILayoutModelState = ModelStateManager['_stateMap'];\n\n// TODO: 补充model共有配置\nexport type IModelSpec = ILayoutItemSpec & { id?: StringOrNumber };\n\nexport interface IModelMarkInfo {\n /** mark 类型 */\n type: MarkTypeEnum | string | (MarkTypeEnum | string)[];\n /** mark 名称 */\n name: string;\n}\n"]}
@@ -2,9 +2,9 @@ import type { IRect, IPoint } from '../typings';
2
2
  import type { IBoundsLike } from '@visactor/vutils';
3
3
  import type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';
4
4
  import { CompilableBase } from '../compile/compilable-base';
5
- export declare class LayoutItem extends CompilableBase implements ILayoutItem {
6
- protected _spec: ILayoutItemSpec;
7
- getSpec(): any;
5
+ export declare class LayoutItem<T extends ILayoutItemSpec = ILayoutItemSpec> extends CompilableBase implements ILayoutItem {
6
+ protected _spec: T;
7
+ getSpec(): T;
8
8
  layoutClip: boolean;
9
9
  protected _autoIndent: boolean;
10
10
  getAutoIndent(): boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil } from '@visactor/vutils';\nimport { isValidNumber, calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';\nimport { CompilableBase } from '../compile/compilable-base';\n\nexport class LayoutItem extends CompilableBase implements ILayoutItem {\n protected _spec: ILayoutItemSpec;\n getSpec(): any {\n return this._spec;\n }\n\n layoutClip: boolean = false;\n\n protected _autoIndent: boolean = true;\n getAutoIndent(): boolean {\n return this._autoIndent;\n }\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n protected _minWidth: number | null = null;\n protected _maxWidth: number | null = null;\n protected _minHeight: number | null = null;\n protected _maxHeight: number | null = null;\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRectLevel = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n protected _forceLayoutTag: boolean = false;\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n // layoutAbsoluteLeft: ILayoutItem['layoutAbsoluteLeft'] = Number.NaN;\n // layoutAbsoluteTop: ILayoutItem['layoutAbsoluteTop'] = Number.NaN;\n // layoutAbsoluteRight: ILayoutItem['layoutAbsoluteRight'] = Number.NaN;\n // layoutAbsoluteBottom: ILayoutItem['layoutAbsoluteBottom'] = Number.NaN;\n layoutZIndex: ILayoutItem['layoutZIndex'] = 0;\n chartLayoutRect!: ILayoutRect;\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n this.layoutZIndex = spec.zIndex ?? this.layoutZIndex;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, _ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition({ x, y }: Partial<IPoint>): void {\n if (isValidNumber(x)) {\n this._layoutStartPoint.x = x;\n }\n if (isValidNumber(y)) {\n this._layoutStartPoint.y = y;\n }\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this._setRectInSpec(this._layoutRect);\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n protected _setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this.boundsInRect(this._setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n if (this._autoIndent) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n return this._setRectInSpec(boundsInRect(bounds, rect));\n }\n\n /**\n * 实际bounds预计算方法\n * 需要在布局方法中更新 _lastComputeBounds\n * @param rect 布局最终使用的rect\n * @param fullSpace 布局可以使用的空间,用与部分模块的 position 计算\n */\n boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): IBoundsLike {\n return { x1: 0, y1: 0, x2: rect.width, y2: rect.height };\n }\n\n updateLayoutAttribute(): void {\n // do nothing\n }\n\n compile(): void {\n // do nothing\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/model/layout-item.ts"],"names":[],"mappings":"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","file":"layout-item.js","sourcesContent":["import type { IPadding, IRect, IPoint } from '../typings';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNil } from '@visactor/vutils';\nimport { isValidNumber, calcLayoutNumber, calcPadding, normalizeLayoutPaddingSpec, boundsInRect } from '../util';\nimport { LayoutLevel, DEFAULT_LAYOUT_RECT_LEVEL, USER_LAYOUT_RECT_LEVEL } from '../constant';\n\nimport type { ILayoutItem, ILayoutItemSpec, ILayoutPoint, ILayoutRect, ILayoutRectLevel } from './interface';\nimport { CompilableBase } from '../compile/compilable-base';\n\nexport class LayoutItem<T extends ILayoutItemSpec = ILayoutItemSpec> extends CompilableBase implements ILayoutItem {\n protected _spec: T;\n getSpec(): T {\n return this._spec;\n }\n\n layoutClip: boolean = false;\n\n protected _autoIndent: boolean = true;\n getAutoIndent(): boolean {\n return this._autoIndent;\n }\n\n private _layoutStartPoint: ILayoutPoint = {\n x: 0,\n y: 0\n };\n\n getLayoutStartPoint(): ILayoutPoint {\n return this._layoutStartPoint;\n }\n\n private _layoutRect: ILayoutRect = { width: 0, height: 0 };\n\n protected _minWidth: number | null = null;\n protected _maxWidth: number | null = null;\n protected _minHeight: number | null = null;\n protected _maxHeight: number | null = null;\n\n // 处理用户和逻辑的优先级覆盖,让用户也可以设置 rect\n protected _layoutRectLevelMap: ILayoutRectLevel = {\n width: DEFAULT_LAYOUT_RECT_LEVEL,\n height: DEFAULT_LAYOUT_RECT_LEVEL\n };\n /** for layout diff */\n protected _lastComputeRect: ILayoutRect = null;\n protected _lastComputeOutBounds: IBoundsLike = { x1: 0, x2: 0, y1: 0, y2: 0 };\n getLastComputeOutBounds(): IBoundsLike {\n return this._lastComputeOutBounds;\n }\n protected _forceLayoutTag: boolean = false;\n\n getLayoutRect: () => ILayoutRect = () => {\n return this._layoutRect;\n };\n\n layoutType: ILayoutItem['layoutType'] = 'normal';\n\n layoutBindRegionID!: ILayoutItem['layoutBindRegionID'];\n\n _layoutOrient: ILayoutItem['layoutOrient'] = 'left';\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: ILayoutItem['layoutOrient']) {\n this._layoutOrient = v;\n }\n layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'] = 0;\n layoutPaddingTop: ILayoutItem['layoutPaddingTop'] = 0;\n layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0;\n layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0;\n\n layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0;\n layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0;\n\n layoutLevel: ILayoutItem['layoutLevel'] = LayoutLevel.Region;\n\n // layoutAbsoluteLeft: ILayoutItem['layoutAbsoluteLeft'] = Number.NaN;\n // layoutAbsoluteTop: ILayoutItem['layoutAbsoluteTop'] = Number.NaN;\n // layoutAbsoluteRight: ILayoutItem['layoutAbsoluteRight'] = Number.NaN;\n // layoutAbsoluteBottom: ILayoutItem['layoutAbsoluteBottom'] = Number.NaN;\n layoutZIndex: ILayoutItem['layoutZIndex'] = 0;\n chartLayoutRect!: ILayoutRect;\n\n getVisible() {\n return (this._spec as unknown as any)?.visible !== false;\n }\n\n private _setLayoutAttributeFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n if ((this._spec as unknown as any).visible !== false) {\n // 处理 user spec value to px;\n const padding = normalizeLayoutPaddingSpec(spec.padding);\n const paddingValue = calcPadding(padding, chartViewRect, chartViewRect);\n this.layoutPaddingLeft = paddingValue.left;\n this.layoutPaddingRight = paddingValue.right;\n this.layoutPaddingTop = paddingValue.top;\n this.layoutPaddingBottom = paddingValue.bottom;\n\n this._minHeight = isNil(spec.minHeight)\n ? null\n : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect);\n this._maxHeight = isNil(spec.maxHeight)\n ? null\n : calcLayoutNumber(spec.maxHeight, chartViewRect.height, chartViewRect);\n this._minWidth = isNil(spec.minWidth)\n ? null\n : calcLayoutNumber(spec.minWidth, chartViewRect.width, chartViewRect);\n this._maxWidth = isNil(spec.maxWidth)\n ? null\n : calcLayoutNumber(spec.maxWidth, chartViewRect.width, chartViewRect);\n // 处理 user width\n if (spec.width) {\n this.setLayoutRect(\n {\n width: calcLayoutNumber(spec.width, chartViewRect.width, chartViewRect)\n },\n {\n width: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n if (spec.height) {\n this.setLayoutRect(\n {\n height: calcLayoutNumber(spec.height, chartViewRect.height, chartViewRect)\n },\n {\n height: USER_LAYOUT_RECT_LEVEL\n }\n );\n }\n\n // offset\n if (!isNil(spec.offsetX)) {\n this.layoutOffsetX = calcLayoutNumber(spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(spec.offsetY)) {\n this.layoutOffsetY = calcLayoutNumber(spec.offsetY, chartViewRect.height, chartViewRect);\n }\n }\n }\n\n setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect) {\n this.layoutType = spec.layoutType ?? this.layoutType;\n this.layoutLevel = spec.layoutLevel ?? this.layoutLevel;\n this.layoutOrient = spec.orient ?? this.layoutOrient;\n\n this._setLayoutAttributeFromSpec(spec, chartViewRect);\n\n this.layoutClip = spec.clip ?? this.layoutClip;\n this.layoutZIndex = spec.zIndex ?? this.layoutZIndex;\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, _ctx: any) {\n // 在 layoutStart 时重新计算 spec 中的布局属性值,确保 resize 后,这些值保持正确的px值。\n this._setLayoutAttributeFromSpec(this._spec, viewRect);\n }\n\n private _getAbsoluteSpecValue(layoutRect: ILayoutRect) {\n const result: IPadding = { top: null, bottom: null, left: null, right: null };\n ['top', 'bottom', 'left', 'right'].forEach(k => {\n if (!isNil(this._spec[k])) {\n result[k] = calcLayoutNumber(\n this._spec[k],\n k === 'top' || k === 'bottom' ? layoutRect.height : layoutRect.width,\n layoutRect\n );\n }\n });\n return result;\n }\n\n absoluteLayoutInRect(layoutRect: IRect) {\n const { top, bottom, left, right } = this._getAbsoluteSpecValue(layoutRect);\n\n // size first\n const layoutSize = {\n width: layoutRect.width - this.layoutPaddingLeft - this.layoutPaddingRight,\n height: layoutRect.height - this.layoutPaddingTop - this.layoutPaddingBottom\n };\n if (!isNil(left)) {\n layoutSize.width -= left;\n }\n if (!isNil(right)) {\n layoutSize.width -= right;\n }\n if (!isNil(top)) {\n layoutSize.height -= top;\n }\n if (!isNil(bottom)) {\n layoutSize.height -= bottom;\n }\n\n this.setLayoutRect(layoutSize);\n const { width, height } = this.computeBoundsInRect(this.getLayoutRect());\n this.setLayoutRect({ width, height });\n const pos = { x: layoutRect.x, y: layoutRect.y };\n if (this._spec.center === true) {\n pos.x = layoutRect.x + layoutRect.width * 0.5 - width * 0.5;\n pos.y = layoutRect.y + layoutRect.height * 0.5 - height * 0.5;\n } else {\n if (!isNil(left)) {\n pos.x = layoutRect.x + left + this.layoutPaddingLeft;\n } else if (!isNil(right)) {\n pos.x = layoutRect.x + layoutRect.width - this.layoutPaddingRight - right - width;\n }\n if (!isNil(top)) {\n pos.y = layoutRect.y + top + this.layoutPaddingTop;\n } else if (!isNil(bottom)) {\n pos.y = layoutRect.y + layoutRect.height - this.layoutPaddingBottom - bottom - height;\n }\n }\n\n this.setLayoutStartPosition(pos);\n }\n\n setLayoutStartPosition({ x, y }: Partial<IPoint>): void {\n if (isValidNumber(x)) {\n this._layoutStartPoint.x = x;\n }\n if (isValidNumber(y)) {\n this._layoutStartPoint.y = y;\n }\n }\n\n setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRectLevel>) {\n if (isValidNumber(width) && (levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.width) {\n this._layoutRect.width = width;\n this._layoutRectLevelMap.width = levelMap?.width ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n if (isValidNumber(height) && (levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL) >= this._layoutRectLevelMap.height) {\n this._layoutRect.height = height;\n this._layoutRectLevelMap.height = levelMap?.height ?? DEFAULT_LAYOUT_RECT_LEVEL;\n }\n\n this._setRectInSpec(this._layoutRect);\n }\n\n mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect {\n const rect = { width, height };\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.width = this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n rect.height = this._layoutRect.height;\n }\n return rect;\n }\n\n getOrientPosAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'x' : 'y';\n }\n getOrientSizeAttribute() {\n return this._layoutOrient === 'bottom' || this._layoutOrient === 'top' ? 'width' : 'height';\n }\n\n protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike {\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n if (this._layoutRectLevelMap.width > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.x2 = bounds.x1 + this._layoutRect.width;\n }\n if (this._layoutRectLevelMap.height > DEFAULT_LAYOUT_RECT_LEVEL) {\n bounds.y2 = bounds.y1 + this._layoutRect.height;\n }\n bounds.x1 -= this._layoutStartPoint.x;\n bounds.x2 -= this._layoutStartPoint.x;\n bounds.y1 -= this._layoutStartPoint.y;\n bounds.y2 -= this._layoutStartPoint.y;\n return bounds;\n }\n\n protected _setRectInSpec(rect: ILayoutRect) {\n const result = { ...rect };\n if (this._layoutRectLevelMap.width < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minWidth)) {\n result.width = Math.max(result.width, this._minWidth);\n }\n if (!isNil(this._maxWidth)) {\n result.width = Math.min(result.width, this._maxWidth);\n }\n } else {\n result.width = this._layoutRect.width;\n }\n\n if (this._layoutRectLevelMap.height < USER_LAYOUT_RECT_LEVEL) {\n if (!isNil(this._minHeight)) {\n result.height = Math.max(result.height, this._minHeight);\n }\n if (!isNil(this._maxHeight)) {\n result.height = Math.min(result.height, this._maxHeight);\n }\n } else {\n result.height = this._layoutRect.height;\n }\n return result;\n }\n\n computeBoundsInRect(rect: ILayoutRect): ILayoutRect {\n // 保留布局使用的rect\n this._lastComputeRect = rect;\n // 将布局空间限制到 spec 设置内\n // 避免操作到元素本身的 aabbbounds\n const bounds = { ...this.boundsInRect(this._setRectInSpec(rect), rect) };\n // 用户设置了布局元素宽高的场景下,内部布局结果的 bounds 不能直接作为图表布局bounds\n this.changeBoundsBySetting(bounds);\n // 保留当前模块的布局超出内容,用来处理自动缩进\n if (this._autoIndent) {\n this._lastComputeOutBounds.x1 = Math.ceil(-bounds.x1);\n this._lastComputeOutBounds.x2 = Math.ceil(bounds.x2 - rect.width);\n this._lastComputeOutBounds.y1 = Math.ceil(-bounds.y1);\n this._lastComputeOutBounds.y2 = Math.ceil(bounds.y2 - rect.height);\n }\n // 返回的布局大小也要限制到 spec 设置内\n return this._setRectInSpec(boundsInRect(bounds, rect));\n }\n\n /**\n * 实际bounds预计算方法\n * 需要在布局方法中更新 _lastComputeBounds\n * @param rect 布局最终使用的rect\n * @param fullSpace 布局可以使用的空间,用与部分模块的 position 计算\n */\n boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): IBoundsLike {\n return { x1: 0, y1: 0, x2: rect.width, y2: rect.height };\n }\n\n updateLayoutAttribute(): void {\n // do nothing\n }\n\n compile(): void {\n // do nothing\n }\n}\n"]}
@@ -8,7 +8,6 @@ export interface ITooltipHelper {
8
8
  activeType: TooltipActiveType[];
9
9
  activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;
10
10
  ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;
11
- getDefaultShapeType: () => string;
12
11
  updateTooltipSpec: () => void;
13
12
  }
14
13
  export declare abstract class BaseTooltipHelper implements ITooltipHelper {
@@ -22,6 +21,5 @@ export declare abstract class BaseTooltipHelper implements ITooltipHelper {
22
21
  mark: Set<TooltipTrigger>;
23
22
  dimension: Set<TooltipTrigger>;
24
23
  };
25
- getDefaultShapeType(): string;
26
24
  abstract updateTooltipSpec(): void;
27
25
  }
@@ -8,8 +8,5 @@ export class BaseTooltipHelper {
8
8
  dimension: new Set
9
9
  };
10
10
  }
11
- getDefaultShapeType() {
12
- return "circle";
13
- }
14
11
  }
15
12
  //# sourceMappingURL=tooltip-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;IAOJ,CAAC;IALC,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;CAGF","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n\n /** 默认tooltip shape type */\n getDefaultShapeType: () => string;\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n\n getDefaultShapeType(): string {\n return 'circle';\n }\n\n abstract updateTooltipSpec(): void;\n}\n"]}
1
+ {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,SAAS,EAAE,IAAI,GAAG,EAAkB;SACrC,CAAC;IAGJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: ITooltipActiveTypeAsKeys<Set<TooltipTrigger>, Set<TooltipTrigger>>;\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n dimension: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/axis-sync-plugin/axis-sync.ts"],"names":[],"mappings":"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","file":"axis-sync.js","sourcesContent":["import { ChartEvent } from './../../../constant/event';\nimport { zeroAlign } from './zero-align-transform';\nimport { BasicComponentPlugin } from '../basic-plugin';\nimport type { IComponentPlugin, IComponentPluginService } from '../interface';\nimport type { CartesianAxis, ILinearAxisSync } from '../../../component/axis/cartesian';\nimport { isContinuous } from '@visactor/vscale';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { tickAlign } from './tick-align-transform';\n\nexport class AxisSyncPlugin extends BasicComponentPlugin implements IComponentPlugin {\n Name: string = 'AxisSyncPlugin';\n\n constructor() {\n super(AxisSyncPlugin.Name);\n }\n\n protected _checkEnableSync(axis: CartesianAxis): ILinearAxisSync | false {\n if (!isContinuous(axis.getScale().type)) {\n return false;\n }\n const sync = axis.getSpec().sync as ILinearAxisSync;\n if (!sync?.axisId) {\n return false;\n }\n return sync;\n }\n\n private _getTargetAxis(axis: CartesianAxis, sync: ILinearAxisSync) {\n const targetAxis = axis.getOption().getChart().getComponentByUserId(sync.axisId) as CartesianAxis;\n if (!targetAxis?.type.startsWith('cartesianAxis')) {\n return null;\n }\n return targetAxis;\n }\n\n onInit(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n if (!sync.zeroAlign) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n // because of if the to axes bind in same region, the region will update them both in the data update.\n axis.event.on(ChartEvent.scaleDomainUpdate, { filter: ({ model }) => model.id === axis.id }, () => {\n zeroAlign(targetAxis, axis);\n });\n }\n\n onDidCompile(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n if (sync.tickAlign) {\n registerDataSetInstanceTransform(axis.getOption().dataSet, 'tickAlign', tickAlign);\n const opt = {\n targetAxis: () => targetAxis,\n currentAxis: () => axis\n };\n // only make this one follow target\n axis.addTransformToTickData({ type: 'tickAlign', options: opt, level: Number.MAX_SAFE_INTEGER }, false);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/axis-sync-plugin/axis-sync.ts"],"names":[],"mappings":"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","file":"axis-sync.js","sourcesContent":["import { ChartEvent } from './../../../constant/event';\nimport { zeroAlign } from './zero-align-transform';\nimport { BasicComponentPlugin } from '../basic-plugin';\nimport type { IComponentPlugin, IComponentPluginService } from '../interface';\nimport type { CartesianAxis, ICartesianLinearAxisSpec, ILinearAxisSync } from '../../../component/axis/cartesian';\nimport { isContinuous } from '@visactor/vscale';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { tickAlign } from './tick-align-transform';\n\nexport class AxisSyncPlugin extends BasicComponentPlugin implements IComponentPlugin {\n Name: string = 'AxisSyncPlugin';\n\n constructor() {\n super(AxisSyncPlugin.Name);\n }\n\n protected _checkEnableSync(axis: CartesianAxis): ILinearAxisSync | false {\n if (!isContinuous(axis.getScale().type)) {\n return false;\n }\n const sync = (axis.getSpec() as ICartesianLinearAxisSpec).sync as ILinearAxisSync;\n if (!sync?.axisId) {\n return false;\n }\n return sync;\n }\n\n private _getTargetAxis(axis: CartesianAxis, sync: ILinearAxisSync) {\n const targetAxis = axis.getOption().getChart().getComponentByUserId(sync.axisId) as CartesianAxis;\n if (!targetAxis?.type.startsWith('cartesianAxis')) {\n return null;\n }\n return targetAxis;\n }\n\n onInit(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n if (!sync.zeroAlign) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n // because of if the to axes bind in same region, the region will update them both in the data update.\n axis.event.on(ChartEvent.scaleDomainUpdate, { filter: ({ model }) => model.id === axis.id }, () => {\n zeroAlign(targetAxis, axis);\n });\n }\n\n onDidCompile(service: IComponentPluginService, axis: CartesianAxis) {\n const sync = this._checkEnableSync(axis);\n if (!sync) {\n return;\n }\n const targetAxis = this._getTargetAxis(axis, sync);\n if (!targetAxis) {\n return;\n }\n if (sync.tickAlign) {\n registerDataSetInstanceTransform(axis.getOption().dataSet, 'tickAlign', tickAlign);\n const opt = {\n targetAxis: () => targetAxis,\n currentAxis: () => axis\n };\n // only make this one follow target\n axis.addTransformToTickData({ type: 'tickAlign', options: opt, level: Number.MAX_SAFE_INTEGER }, false);\n }\n }\n}\n"]}
@@ -9,7 +9,7 @@ import type { IInteraction, ITrigger } from '../interaction/interface';
9
9
  import type { IRectMark } from '../mark/rect';
10
10
  import type { IAnimate } from '../animation/interface';
11
11
  import type { StringOrNumber } from '../typings';
12
- export declare class Region extends BaseModel implements IRegion {
12
+ export declare class Region<T extends IRegionSpec = IRegionSpec> extends BaseModel<T> implements IRegion {
13
13
  static type: string;
14
14
  readonly modelType: string;
15
15
  type: string;
@@ -23,8 +23,7 @@ export declare class Region extends BaseModel implements IRegion {
23
23
  protected _backgroundMark?: IRectMark;
24
24
  protected _foregroundMark?: IRectMark;
25
25
  protected _trigger: ITrigger;
26
- protected _spec: IRegionSpec;
27
- constructor(spec: IRegionSpec, ctx: IModelOption);
26
+ constructor(spec: T, ctx: IModelOption);
28
27
  protected _getClipDefaultValue(): boolean;
29
28
  created(): void;
30
29
  init(option: any): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOhD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,MAAM,OAAO,MAAO,SAAQ,SAAS;IAcnC,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IASD,YAAY,IAAiB,EAAE,GAAiB;;QAC9C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAxBV,cAAS,GAAW,QAAQ,CAAC;QAEtC,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACT,YAAO,GAAc,EAAE,CAAC;QAClC,eAAU,GAA8B,QAAQ,CAAC;QACjD,iBAAY,GAAW,YAAY,CAAC,MAAM,CAAC;QAI3C,gBAAW,GAAiB,IAAI,WAAW,EAAE,CAAC;QAoO9C,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;QAvNA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,WAAW,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;gBAChC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;IACH,CAAC;IAES,oBAAoB;;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,MAAA,MAAC,SAAiB,CAAC,QAAQ,0CAAE,IAAI,mDAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,MAAA,MAAC,SAAiB,CAAC,SAAS,0CAAE,IAAI,mDAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAElH,OAAO,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9D,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAe,CAAC;QACpG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;YACzC,IAAI;SACL,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,YAAY;SAC7C,EACD,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;YAC5G,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;aAC7G;YACD,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,YAAY,CACf,IAAI,EACJ;wBACE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;wBACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;qBAC1C,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAW;QACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB;;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kBAElB,WAAW,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACxC,IAAI,CAAC,KAAK,CAAC,KAAK,GAErB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;YACF,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAClD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;oBACE,aAAa,EAAE,CAAC;iBACjB,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;aACH;SACF;IACH,CAAC;IAES,wBAAwB;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kCAEf,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,WAAW,EAAE,CAAC,KAEhB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;SACH;IACH,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC,EAAE;YAChF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAW;QAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAED,YAAY,CAAC,CAAU;QACrB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,CACP,MAQI,EAAE;QAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE;;YACF,OAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,UAAU,iDAAI,0CAAE,IAAI,MAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAAA,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,yBAAyB,CAAC,cAA8B;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,kBAAkB;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzG,CAAC;IAOD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,aAAa;QACX,MAAM,cAAc,mCACf,IAAI,CAAC,OAAO,KACf,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,IAAI,CAAC,WAAW,GAC9B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QAGT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QAEb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;oBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CACV,SAAS,CAAC;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,EACA,MAAM,CACL,CAAC,KAAyB,EAAE,QAAiB,EAAE,kBAA+B,EAAE,OAAwB,EAAE,EAAE;YAE5G,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;;QACX,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,aAAa,CAAC,IAAc;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAe,CAAC,CAAC;IACrD,CAAC;;AAtTM,WAAI,GAAG,QAAQ,CAAC","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty } from '@visactor/vutils';\nimport type { Element, IElement, IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface';\nimport { BaseModel } from '../model/base-model';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption, ILayoutItem } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport { array, isValid } from '../util';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { StringOrNumber } from '../typings';\nimport type { IDataZoomSpec, IScrollBarSpec } from '../component/data-zoom';\n\nexport class Region extends BaseModel implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutItem['layoutType'] = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n protected declare _spec: IRegionSpec;\n\n constructor(spec: IRegionSpec, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n // 层级应当支持配置\n if (isValid(spec.zIndex)) {\n this.layoutZIndex = spec.zIndex;\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: IDataZoomSpec) => entry.filterMode === 'axis');\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: IScrollBarSpec) => entry.filterMode === 'axis');\n\n return hasDataZoom || hasScrollBar ? true : this.layoutClip;\n }\n\n created(): void {\n super.created();\n this._groupMark = this._createMark({ type: MarkTypeEnum.group, name: 'regionGroup' }) as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if ((originalSpec.style && !spec?.style) || (!originalSpec.style && spec?.style)) {\n result.reMake = true;\n return result;\n }\n\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId && s.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => s.reTransformViewData());\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compileSignal() {\n super.compileSignal();\n this.animate?.compile();\n }\n\n compile() {\n this.compileSignal();\n this.compileMarks();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set('default', node as Element);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOhD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,MAAM,OAAO,MAA4C,SAAQ,SAAY;IAc3E,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAOD,YAAY,IAAO,EAAE,GAAiB;;QACpC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAtBV,cAAS,GAAW,QAAQ,CAAC;QAEtC,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACT,YAAO,GAAc,EAAE,CAAC;QAClC,eAAU,GAA8B,QAAQ,CAAC;QACjD,iBAAY,GAAW,YAAY,CAAC,MAAM,CAAC;QAI3C,gBAAW,GAAiB,IAAI,WAAW,EAAE,CAAC;QAkO9C,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;QAvNA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,WAAW,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;gBAChC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;IACH,CAAC;IAES,oBAAoB;;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,MAAA,MAAC,SAAiB,CAAC,QAAQ,0CAAE,IAAI,mDAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,MAAA,MAAC,SAAiB,CAAC,SAAS,0CAAE,IAAI,mDAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAElH,OAAO,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9D,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAe,CAAC;QACpG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;YACzC,IAAI;SACL,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,YAAY;SAC7C,EACD,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;YAC5G,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;aAC7G;YACD,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,YAAY,CACf,IAAI,EACJ;wBACE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;wBACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;qBAC1C,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAW;QACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB;;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kBAElB,WAAW,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACxC,IAAI,CAAC,KAAK,CAAC,KAAK,GAErB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;YACF,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAClD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;oBACE,aAAa,EAAE,CAAC;iBACjB,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;aACH;SACF;IACH,CAAC;IAES,wBAAwB;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kCAEf,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,WAAW,EAAE,CAAC,KAEhB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;SACH;IACH,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC,EAAE;YAChF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAW;QAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAED,YAAY,CAAC,CAAU;QACrB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,CACP,MAQI,EAAE;QAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE;;YACF,OAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,UAAU,iDAAI,0CAAE,IAAI,MAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAAA,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,yBAAyB,CAAC,cAA8B;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,kBAAkB;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzG,CAAC;IAOD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,aAAa;QACX,MAAM,cAAc,mCACf,IAAI,CAAC,OAAO,KACf,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,IAAI,CAAC,WAAW,GAC9B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QAGT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QAEb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;oBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CACV,SAAS,CAAC;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,EACA,MAAM,CACL,CAAC,KAAyB,EAAE,QAAiB,EAAE,kBAA+B,EAAE,OAAwB,EAAE,EAAE;YAE5G,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;;QACX,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,aAAa,CAAC,IAAc;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAe,CAAC,CAAC;IACrD,CAAC;;AApTM,WAAI,GAAG,QAAQ,CAAC","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty } from '@visactor/vutils';\nimport type { Element, IElement, IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface';\nimport { BaseModel } from '../model/base-model';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption, ILayoutItem } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport { array, isValid } from '../util';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { StringOrNumber } from '../typings';\nimport type { IDataZoomSpec, IScrollBarSpec } from '../component/data-zoom';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends BaseModel<T> implements IRegion {\n static type = 'region';\n readonly modelType: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutItem['layoutType'] = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n // 层级应当支持配置\n if (isValid(spec.zIndex)) {\n this.layoutZIndex = spec.zIndex;\n }\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: IDataZoomSpec) => entry.filterMode === 'axis');\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: IScrollBarSpec) => entry.filterMode === 'axis');\n\n return hasDataZoom || hasScrollBar ? true : this.layoutClip;\n }\n\n created(): void {\n super.created();\n this._groupMark = this._createMark({ type: MarkTypeEnum.group, name: 'regionGroup' }) as IGroupMark;\n this._groupMark.setUserId(this.userId);\n this._groupMark.setZIndex(this.layoutZIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n this._groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n this._groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(this._groupMark);\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if ((originalSpec.style && !spec?.style) || (!originalSpec.style && spec?.style)) {\n result.reMake = true;\n return result;\n }\n\n return result;\n }\n\n reInit(theme?: any) {\n super.reInit(theme);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId && s.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => s.reTransformViewData());\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compileSignal() {\n super.compileSignal();\n this.animate?.compile();\n }\n\n compile() {\n this.compileSignal();\n this.compileMarks();\n }\n\n bindSceneNode(node: IElement) {\n this._sceneNodeMap.set('default', node as Element);\n }\n}\n"]}
@@ -5,9 +5,9 @@ import type { Maybe } from '../../typings';
5
5
  import type { SeriesMarkMap } from '../interface';
6
6
  import { SeriesTypeEnum } from '../interface';
7
7
  import type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';
8
- export interface AreaSeries extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | '_lineMark' | '_symbolMark'>, CartesianSeries<IAreaSeriesSpec> {
8
+ export interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | '_lineMark' | '_symbolMark'>, CartesianSeries<T> {
9
9
  }
10
- export declare class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {
10
+ export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {
11
11
  static readonly type: string;
12
12
  type: SeriesTypeEnum;
13
13
  static readonly mark: SeriesMarkMap;
@@ -19,4 +19,5 @@ export declare class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {
19
19
  initMarkStyle(): void;
20
20
  initAnimation(): void;
21
21
  protected initTooltip(): void;
22
+ getDefaultShapeType(): string;
22
23
  }
@@ -1,11 +1,9 @@
1
1
  import { isValid, merge } from "@visactor/vutils";
2
2
 
3
- import { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from "../mixin/line-mixin";
3
+ import { LineLikeSeriesMixin } from "../mixin/line-mixin";
4
4
 
5
5
  import { Direction } from "../../typings/space";
6
6
 
7
- import { MarkTypeEnum } from "../../mark/interface";
8
-
9
7
  import { CartesianSeries } from "../cartesian/cartesian";
10
8
 
11
9
  import { AttributeLevel } from "../../constant";
@@ -24,8 +22,6 @@ import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
24
22
 
25
23
  import { DEFAULT_SMOOTH_INTERPOLATE } from "../../typings/interpolate";
26
24
 
27
- import { BaseSeries } from "../base/base-series";
28
-
29
25
  import { VChart } from "../../core/vchart";
30
26
 
31
27
  import { LineMark } from "../../mark/line";
@@ -38,6 +34,8 @@ import { SymbolMark } from "../../mark/symbol";
38
34
 
39
35
  import { AreaSeriesTooltipHelper } from "./tooltip-helpter";
40
36
 
37
+ import { areaSeriesMark } from "./constant";
38
+
41
39
  VChart.useMark([ LineMark, AreaMark, TextMark, SymbolMark ]);
42
40
 
43
41
  export class AreaSeries extends CartesianSeries {
@@ -120,12 +118,10 @@ export class AreaSeries extends CartesianSeries {
120
118
  initTooltip() {
121
119
  this._tooltipHelper = new AreaSeriesTooltipHelper(this);
122
120
  }
121
+ getDefaultShapeType() {
122
+ return "square";
123
+ }
123
124
  }
124
125
 
125
- AreaSeries.type = SeriesTypeEnum.area, AreaSeries.mark = Object.assign(Object.assign(Object.assign({}, BaseSeries.mark), lineLikeSeriesMarkMap), {
126
- [SeriesMarkNameEnum.area]: {
127
- name: SeriesMarkNameEnum.area,
128
- type: MarkTypeEnum.area
129
- }
130
- }), mixin(AreaSeries, LineLikeSeriesMixin);
126
+ AreaSeries.type = SeriesTypeEnum.area, AreaSeries.mark = areaSeriesMark, mixin(AreaSeries, LineLikeSeriesMixin);
131
127
  //# 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 { isValid, merge } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin, lineLikeSeriesMarkMap } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, ConvertToMarkStyleSpec, IAreaMarkSpec } from '../../typings';\nimport { valueInScaleRange, couldBeValidNumber } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\n\nimport { VChart } from '../../core/vchart';\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';\nVChart.useMark([LineMark, AreaMark, TextMark, SymbolMark]);\n\nexport interface AreaSeries\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n >,\n CartesianSeries<IAreaSeriesSpec> {}\n\nexport class AreaSeries extends CartesianSeries<IAreaSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n ...lineLikeSeriesMarkMap,\n [SeriesMarkNameEnum.area]: { name: SeriesMarkNameEnum.area, type: MarkTypeEnum.area }\n };\n\n protected declare _theme: Maybe<IAreaSeriesTheme>;\n\n protected _areaMark!: IAreaMark;\n protected _stack: boolean = true;\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 = merge({}, subSpec.style, mainSpec.style);\n areaSpec.state = merge({}, 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 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 }) as IAreaMark;\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 ?? this.getSpec().line?.style?.curveType;\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.dataToPositionZ.bind(this)\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.dataToPositionZ.bind(this),\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 this._tooltipHelper.activeTriggerSet.dimension.add(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 this.initLabelMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec))\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n"]}
1
+ {"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import { isValid, merge } 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 { valueInScaleRange } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\n\nimport { VChart } from '../../core/vchart';\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';\nVChart.useMark([LineMark, AreaMark, TextMark, SymbolMark]);\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\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 _stack: boolean = true;\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 = merge({}, subSpec.style, mainSpec.style);\n areaSpec.state = merge({}, 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 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 }) as IAreaMark;\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.dataToPositionZ.bind(this)\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.dataToPositionZ.bind(this),\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 this._tooltipHelper.activeTriggerSet.dimension.add(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 this.initLabelMarkStyle();\n }\n\n initAnimation() {\n const animationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IMarkAnimateSpec<string>)?.preset;\n\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.line(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.area(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec)\n )\n );\n }\n\n if (this._symbolMark) {\n this._symbolMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), userAnimationConfig(SeriesMarkNameEnum.point, this._spec))\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n"]}
@@ -0,0 +1,2 @@
1
+ import { type SeriesMarkMap } from '../interface/common';
2
+ export declare const areaSeriesMark: SeriesMarkMap;
@@ -0,0 +1,15 @@
1
+ import { MarkTypeEnum } from "../../mark/interface";
2
+
3
+ import { baseSeriesMark } from "../base/constant";
4
+
5
+ import { SeriesMarkNameEnum } from "../interface/common";
6
+
7
+ import { lineLikeSeriesMark } from "../mixin/line-mixin";
8
+
9
+ export const areaSeriesMark = Object.assign(Object.assign(Object.assign({}, baseSeriesMark), lineLikeSeriesMark), {
10
+ [SeriesMarkNameEnum.area]: {
11
+ name: SeriesMarkNameEnum.area,
12
+ type: MarkTypeEnum.area
13
+ }
14
+ });
15
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/area/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,iDACtB,cAAc,GACd,kBAAkB,KACrB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,GACtF,CAAC","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport { SeriesMarkNameEnum, type SeriesMarkMap } from '../interface/common';\nimport { lineLikeSeriesMark } from '../mixin/line-mixin';\n\nexport const areaSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n ...lineLikeSeriesMark,\n [SeriesMarkNameEnum.area]: { name: SeriesMarkNameEnum.area, type: MarkTypeEnum.area }\n};\n"]}
@@ -8,6 +8,8 @@ import type { AreaAppearPreset } from './animation';
8
8
  import type { IMarkProgressiveConfig } from '../../mark/interface';
9
9
  export interface IAreaSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<string, AreaAppearPreset>, IMarkProgressiveConfig {
10
10
  type: 'area';
11
+ xField: string | string[];
12
+ yField: string | string[];
11
13
  [SeriesMarkNameEnum.point]?: IMarkSpec<ISymbolMarkSpec>;
12
14
  [SeriesMarkNameEnum.line]?: IMarkSpec<ILineMarkSpec>;
13
15
  [SeriesMarkNameEnum.area]?: IMarkSpec<IAreaMarkSpec>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/area/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'area';\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 * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, 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, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { ISymbolMarkSpec, ILineMarkSpec, IAreaMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface';\nimport type { ILineLikeSeriesTheme } from '../mixin/line-mixin';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AreaAppearPreset } from './animation';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\nexport interface IAreaSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<string, AreaAppearPreset>,\n IMarkProgressiveConfig {\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 * 系列主 mark 类型配置,该配置会影响图例的展示\n * @default 'area'\n * @since 1.2.0\n */\n seriesMark?: 'point' | 'line' | 'area';\n\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n}\n\nexport interface IAreaSeriesTheme extends ICartesianSeriesTheme, ILineLikeSeriesTheme {\n [SeriesMarkNameEnum.area]?: Partial<IMarkTheme<IAreaMarkSpec>>;\n}\n"]}
@@ -2,7 +2,9 @@ import { MarkTypeEnum } from '../../mark/interface';
2
2
  import type { SeriesMarkMap } from '../interface';
3
3
  import { SeriesTypeEnum, SeriesMarkNameEnum } from '../interface';
4
4
  import { BarSeries } from './bar';
5
- export declare class Bar3dSeries extends BarSeries {
5
+ import type { IBar3dSeriesSpec } from './interface';
6
+ import type { AdaptiveSpec } from '../../typings';
7
+ export declare class Bar3dSeries<T extends IBar3dSeriesSpec = IBar3dSeriesSpec> extends BarSeries<AdaptiveSpec<T, 'type'>> {
6
8
  static readonly type: string;
7
9
  type: SeriesTypeEnum;
8
10
  static readonly mark: SeriesMarkMap;
@@ -1,7 +1,5 @@
1
1
  import { MarkTypeEnum } from "../../mark/interface";
2
2
 
3
- import { BaseSeries } from "../base/base-series";
4
-
5
3
  import { SeriesTypeEnum, SeriesMarkNameEnum } from "../interface";
6
4
 
7
5
  import { BarSeries } from "./bar";
@@ -12,6 +10,8 @@ import { Rect3dMark } from "../../mark/rect-3d";
12
10
 
13
11
  import { TextMark } from "../../mark/text";
14
12
 
13
+ import { bar3dSeriesMark } from "./constant";
14
+
15
15
  VChart.useMark([ Rect3dMark, TextMark ]);
16
16
 
17
17
  export class Bar3dSeries extends BarSeries {
@@ -21,10 +21,5 @@ export class Bar3dSeries extends BarSeries {
21
21
  }
22
22
  }
23
23
 
24
- Bar3dSeries.type = SeriesTypeEnum.bar3d, Bar3dSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
25
- [SeriesMarkNameEnum.bar3d]: {
26
- name: SeriesMarkNameEnum.bar3d,
27
- type: MarkTypeEnum.rect3d
28
- }
29
- });
24
+ Bar3dSeries.type = SeriesTypeEnum.bar3d, Bar3dSeries.mark = bar3dSeriesMark;
30
25
  //# sourceMappingURL=bar-3d.js.map