@visactor/vchart 1.6.3 → 1.7.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +2175 -1387
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +2 -2
  6. package/cjs/chart/base-chart.d.ts +4 -4
  7. package/cjs/chart/base-chart.js +33 -22
  8. package/cjs/chart/base-chart.js.map +1 -1
  9. package/cjs/chart/interface/chart.d.ts +2 -2
  10. package/cjs/chart/interface/chart.js.map +1 -1
  11. package/cjs/chart/stack.js +1 -2
  12. package/cjs/compile/grammar-item.js +2 -1
  13. package/cjs/component/axis/base-axis.d.ts +1 -0
  14. package/cjs/component/axis/base-axis.js +2 -2
  15. package/cjs/component/axis/base-axis.js.map +1 -1
  16. package/cjs/component/axis/cartesian/axis.d.ts +12 -9
  17. package/cjs/component/axis/cartesian/axis.js +46 -55
  18. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  19. package/cjs/component/axis/cartesian/interface/theme.d.ts +1 -1
  20. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  21. package/cjs/component/axis/mixin/band-axis-mixin.js +1 -1
  22. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  23. package/cjs/component/axis/polar/axis.d.ts +3 -4
  24. package/cjs/component/axis/polar/axis.js +7 -12
  25. package/cjs/component/axis/polar/axis.js.map +1 -1
  26. package/cjs/component/base/base-component.d.ts +12 -4
  27. package/cjs/component/base/base-component.js +20 -10
  28. package/cjs/component/base/base-component.js.map +1 -1
  29. package/cjs/component/brush/brush.d.ts +3 -4
  30. package/cjs/component/brush/brush.js +3 -5
  31. package/cjs/component/brush/brush.js.map +1 -1
  32. package/cjs/component/crosshair/base.d.ts +4 -5
  33. package/cjs/component/crosshair/base.js +1 -1
  34. package/cjs/component/crosshair/base.js.map +1 -1
  35. package/cjs/component/crosshair/cartesian.d.ts +2 -0
  36. package/cjs/component/crosshair/cartesian.js +6 -8
  37. package/cjs/component/crosshair/cartesian.js.map +1 -1
  38. package/cjs/component/crosshair/interface/spec.d.ts +1 -1
  39. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  40. package/cjs/component/crosshair/polar.d.ts +2 -0
  41. package/cjs/component/crosshair/polar.js +5 -8
  42. package/cjs/component/crosshair/polar.js.map +1 -1
  43. package/cjs/component/custom-mark/custom-mark.d.ts +3 -4
  44. package/cjs/component/custom-mark/custom-mark.js +1 -2
  45. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  46. package/cjs/component/data-zoom/data-filter-base-component.d.ts +6 -8
  47. package/cjs/component/data-zoom/data-filter-base-component.js +26 -25
  48. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  49. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  50. package/cjs/component/data-zoom/data-zoom/data-zoom.js +12 -15
  51. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  52. package/cjs/component/data-zoom/data-zoom/interface.d.ts +1 -0
  53. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  54. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +1 -1
  55. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  56. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +6 -9
  57. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  58. package/cjs/component/geo/geo-coordinate.d.ts +4 -3
  59. package/cjs/component/geo/geo-coordinate.js +4 -4
  60. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  61. package/cjs/component/indicator/indicator.d.ts +2 -4
  62. package/cjs/component/indicator/indicator.js +3 -4
  63. package/cjs/component/indicator/indicator.js.map +1 -1
  64. package/cjs/component/indicator/interface.d.ts +1 -1
  65. package/cjs/component/indicator/interface.js.map +1 -1
  66. package/cjs/component/interface/common.d.ts +3 -3
  67. package/cjs/component/interface/common.js.map +1 -1
  68. package/cjs/component/label/base-label.d.ts +3 -4
  69. package/cjs/component/label/base-label.js +1 -2
  70. package/cjs/component/label/base-label.js.map +1 -1
  71. package/cjs/component/label/label.d.ts +3 -3
  72. package/cjs/component/label/label.js +2 -3
  73. package/cjs/component/label/label.js.map +1 -1
  74. package/cjs/component/label/totalLabel.d.ts +3 -3
  75. package/cjs/component/label/totalLabel.js +2 -3
  76. package/cjs/component/label/totalLabel.js.map +1 -1
  77. package/cjs/component/legend/base-legend.d.ts +6 -9
  78. package/cjs/component/legend/base-legend.js +3 -9
  79. package/cjs/component/legend/base-legend.js.map +1 -1
  80. package/cjs/component/legend/continuous/legend.d.ts +4 -1
  81. package/cjs/component/legend/continuous/legend.js +7 -7
  82. package/cjs/component/legend/continuous/legend.js.map +1 -1
  83. package/cjs/component/legend/discrete/legend.d.ts +4 -1
  84. package/cjs/component/legend/discrete/legend.js +6 -7
  85. package/cjs/component/legend/discrete/legend.js.map +1 -1
  86. package/cjs/component/legend/discrete/util.d.ts +1 -1
  87. package/cjs/component/legend/discrete/util.js.map +1 -1
  88. package/cjs/component/legend/util.d.ts +1 -1
  89. package/cjs/component/map-label/component.d.ts +2 -4
  90. package/cjs/component/map-label/component.js +1 -2
  91. package/cjs/component/map-label/component.js.map +1 -1
  92. package/cjs/component/marker/base-marker.d.ts +2 -3
  93. package/cjs/component/marker/base-marker.js.map +1 -1
  94. package/cjs/component/marker/interface.d.ts +1 -1
  95. package/cjs/component/marker/interface.js.map +1 -1
  96. package/cjs/component/marker/mark-area/mark-area.d.ts +1 -3
  97. package/cjs/component/marker/mark-area/mark-area.js +6 -10
  98. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  99. package/cjs/component/marker/mark-line/mark-line.d.ts +1 -3
  100. package/cjs/component/marker/mark-line/mark-line.js +8 -12
  101. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  102. package/cjs/component/marker/mark-point/mark-point.d.ts +1 -3
  103. package/cjs/component/marker/mark-point/mark-point.js +6 -10
  104. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  105. package/cjs/component/player/interface/theme.d.ts +1 -1
  106. package/cjs/component/player/interface/theme.js.map +1 -1
  107. package/cjs/component/player/player.d.ts +6 -7
  108. package/cjs/component/player/player.js +4 -7
  109. package/cjs/component/player/player.js.map +1 -1
  110. package/cjs/component/title/interface/theme.d.ts +1 -1
  111. package/cjs/component/title/interface/theme.js.map +1 -1
  112. package/cjs/component/title/title.d.ts +6 -9
  113. package/cjs/component/title/title.js +13 -24
  114. package/cjs/component/title/title.js.map +1 -1
  115. package/cjs/component/tooltip/handler/base.js.map +1 -1
  116. package/cjs/component/tooltip/tooltip.d.ts +4 -3
  117. package/cjs/component/tooltip/tooltip.js +5 -8
  118. package/cjs/component/tooltip/tooltip.js.map +1 -1
  119. package/cjs/constant/layout.d.ts +1 -0
  120. package/cjs/constant/layout.js +2 -2
  121. package/cjs/constant/layout.js.map +1 -1
  122. package/cjs/core/factory.d.ts +5 -2
  123. package/cjs/core/factory.js +6 -3
  124. package/cjs/core/factory.js.map +1 -1
  125. package/cjs/core/index.d.ts +1 -1
  126. package/cjs/core/index.js +1 -1
  127. package/cjs/core/index.js.map +1 -1
  128. package/cjs/core/vchart.js +2 -2
  129. package/cjs/core/vchart.js.map +1 -1
  130. package/cjs/event/events/base.d.ts +16 -0
  131. package/cjs/event/events/base.js +23 -0
  132. package/cjs/event/events/base.js.map +1 -0
  133. package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
  134. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  135. package/cjs/event/events/dimension/util/common.d.ts +1 -2
  136. package/cjs/event/events/dimension/util/common.js +1 -1
  137. package/cjs/event/events/dimension/util/common.js.map +1 -1
  138. package/cjs/event/events/dimension/util/polar.d.ts +1 -1
  139. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  140. package/cjs/event/interface.d.ts +1 -1
  141. package/cjs/event/interface.js.map +1 -1
  142. package/cjs/interaction/zoom/zoomable.d.ts +1 -0
  143. package/cjs/interaction/zoom/zoomable.js +6 -5
  144. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  145. package/cjs/layout/base-layout.d.ts +3 -5
  146. package/cjs/layout/base-layout.js +8 -8
  147. package/cjs/layout/base-layout.js.map +1 -1
  148. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -2
  149. package/cjs/layout/grid-layout/grid-layout.js +6 -4
  150. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  151. package/cjs/layout/interface.d.ts +74 -6
  152. package/cjs/layout/interface.js.map +1 -1
  153. package/cjs/{model → layout}/layout-item.d.ts +35 -23
  154. package/cjs/{model → layout}/layout-item.js +100 -64
  155. package/cjs/layout/layout-item.js.map +1 -0
  156. package/cjs/layout/layout3d/index.d.ts +2 -4
  157. package/cjs/layout/layout3d/index.js +6 -6
  158. package/cjs/layout/layout3d/index.js.map +1 -1
  159. package/cjs/layout/util.d.ts +1 -1
  160. package/cjs/layout/util.js.map +1 -1
  161. package/cjs/model/base-model.d.ts +10 -6
  162. package/cjs/model/base-model.js +23 -21
  163. package/cjs/model/base-model.js.map +1 -1
  164. package/cjs/model/interface.d.ts +20 -82
  165. package/cjs/model/interface.js.map +1 -1
  166. package/cjs/model/layout-model.d.ts +39 -0
  167. package/cjs/model/layout-model.js +75 -0
  168. package/cjs/model/layout-model.js.map +1 -0
  169. package/cjs/region/interface.d.ts +3 -2
  170. package/cjs/region/interface.js.map +1 -1
  171. package/cjs/region/region.d.ts +12 -7
  172. package/cjs/region/region.js +18 -10
  173. package/cjs/region/region.js.map +1 -1
  174. package/cjs/series/base/base-series.d.ts +10 -4
  175. package/cjs/series/base/base-series.js +27 -10
  176. package/cjs/series/base/base-series.js.map +1 -1
  177. package/cjs/series/funnel/interface.d.ts +1 -2
  178. package/cjs/series/funnel/interface.js.map +1 -1
  179. package/cjs/series/interface/series.d.ts +3 -2
  180. package/cjs/series/interface/series.js.map +1 -1
  181. package/cjs/series/mixin/line-mixin.d.ts +2 -1
  182. package/cjs/series/mixin/line-mixin.js.map +1 -1
  183. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
  184. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js +22 -0
  185. package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
  186. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
  187. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js +36 -0
  188. package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
  189. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
  190. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js +42 -0
  191. package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
  192. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
  193. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js +22 -0
  194. package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
  195. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
  196. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js +25 -0
  197. package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
  198. package/cjs/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
  199. package/cjs/theme/builtin/common-mobile/component/crosshair.js +39 -0
  200. package/cjs/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
  201. package/cjs/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
  202. package/cjs/theme/builtin/common-mobile/component/data-zoom.js +40 -0
  203. package/cjs/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
  204. package/cjs/theme/builtin/common-mobile/component/index.d.ts +2 -0
  205. package/cjs/theme/builtin/common-mobile/component/index.js +33 -0
  206. package/cjs/theme/builtin/common-mobile/component/index.js.map +1 -0
  207. package/cjs/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
  208. package/cjs/theme/builtin/common-mobile/component/indicator.js +23 -0
  209. package/cjs/theme/builtin/common-mobile/component/indicator.js.map +1 -0
  210. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
  211. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js +23 -0
  212. package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
  213. package/cjs/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
  214. package/cjs/theme/builtin/common-mobile/component/legend/continuous.js +44 -0
  215. package/cjs/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
  216. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
  217. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js +39 -0
  218. package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
  219. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
  220. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js +23 -0
  221. package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
  222. package/cjs/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
  223. package/cjs/theme/builtin/common-mobile/component/map-label.js +39 -0
  224. package/cjs/theme/builtin/common-mobile/component/map-label.js.map +1 -0
  225. package/cjs/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
  226. package/cjs/theme/builtin/common-mobile/component/mark-area.js +24 -0
  227. package/cjs/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
  228. package/cjs/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
  229. package/cjs/theme/builtin/common-mobile/component/mark-line.js +33 -0
  230. package/cjs/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
  231. package/cjs/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
  232. package/cjs/theme/builtin/common-mobile/component/mark-point.js +19 -0
  233. package/cjs/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
  234. package/cjs/theme/builtin/common-mobile/component/player.d.ts +2 -0
  235. package/cjs/theme/builtin/common-mobile/component/player.js +51 -0
  236. package/cjs/theme/builtin/common-mobile/component/player.js.map +1 -0
  237. package/cjs/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
  238. package/cjs/theme/builtin/common-mobile/component/poptip.js +25 -0
  239. package/cjs/theme/builtin/common-mobile/component/poptip.js.map +1 -0
  240. package/cjs/theme/builtin/common-mobile/component/title.d.ts +2 -0
  241. package/cjs/theme/builtin/common-mobile/component/title.js +23 -0
  242. package/cjs/theme/builtin/common-mobile/component/title.js.map +1 -0
  243. package/cjs/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
  244. package/cjs/theme/builtin/common-mobile/component/tooltip.js +43 -0
  245. package/cjs/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
  246. package/cjs/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
  247. package/cjs/theme/builtin/common-mobile/component/total-label.js +16 -0
  248. package/cjs/theme/builtin/common-mobile/component/total-label.js.map +1 -0
  249. package/cjs/theme/builtin/common-mobile/constants.d.ts +2 -0
  250. package/cjs/theme/builtin/common-mobile/constants.js +23 -0
  251. package/cjs/theme/builtin/common-mobile/constants.js.map +1 -0
  252. package/cjs/theme/builtin/common-mobile/mark.d.ts +3 -0
  253. package/cjs/theme/builtin/common-mobile/mark.js +35 -0
  254. package/cjs/theme/builtin/common-mobile/mark.js.map +1 -0
  255. package/cjs/theme/builtin/dark-mobile/index.d.ts +2 -0
  256. package/cjs/theme/builtin/dark-mobile/index.js +18 -0
  257. package/cjs/theme/builtin/dark-mobile/index.js.map +1 -0
  258. package/cjs/theme/builtin/index.js +4 -2
  259. package/cjs/theme/builtin/index.js.map +1 -1
  260. package/cjs/theme/builtin/light-mobile/index.d.ts +2 -0
  261. package/cjs/theme/builtin/light-mobile/index.js +18 -0
  262. package/cjs/theme/builtin/light-mobile/index.js.map +1 -0
  263. package/cjs/theme/interface.d.ts +1 -2
  264. package/cjs/theme/interface.js.map +1 -1
  265. package/cjs/typings/index.d.ts +1 -0
  266. package/cjs/typings/index.js +2 -1
  267. package/cjs/typings/index.js.map +1 -1
  268. package/cjs/typings/layout.d.ts +23 -0
  269. package/cjs/typings/layout.js +6 -0
  270. package/cjs/typings/layout.js.map +1 -0
  271. package/cjs/typings/spec/common.d.ts +1 -2
  272. package/cjs/typings/spec/common.js.map +1 -1
  273. package/cjs/util/space.d.ts +1 -1
  274. package/cjs/util/space.js.map +1 -1
  275. package/esm/animation/utils.d.ts +2 -2
  276. package/esm/chart/base-chart.d.ts +4 -4
  277. package/esm/chart/base-chart.js +33 -22
  278. package/esm/chart/base-chart.js.map +1 -1
  279. package/esm/chart/interface/chart.d.ts +2 -2
  280. package/esm/chart/interface/chart.js.map +1 -1
  281. package/esm/chart/stack.js +1 -2
  282. package/esm/compile/grammar-item.js +2 -1
  283. package/esm/component/axis/base-axis.d.ts +1 -0
  284. package/esm/component/axis/base-axis.js +2 -2
  285. package/esm/component/axis/base-axis.js.map +1 -1
  286. package/esm/component/axis/cartesian/axis.d.ts +12 -9
  287. package/esm/component/axis/cartesian/axis.js +44 -52
  288. package/esm/component/axis/cartesian/axis.js.map +1 -1
  289. package/esm/component/axis/cartesian/interface/theme.d.ts +1 -1
  290. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  291. package/esm/component/axis/mixin/band-axis-mixin.js +1 -1
  292. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  293. package/esm/component/axis/polar/axis.d.ts +3 -4
  294. package/esm/component/axis/polar/axis.js +7 -12
  295. package/esm/component/axis/polar/axis.js.map +1 -1
  296. package/esm/component/base/base-component.d.ts +12 -4
  297. package/esm/component/base/base-component.js +21 -11
  298. package/esm/component/base/base-component.js.map +1 -1
  299. package/esm/component/brush/brush.d.ts +3 -4
  300. package/esm/component/brush/brush.js +3 -5
  301. package/esm/component/brush/brush.js.map +1 -1
  302. package/esm/component/crosshair/base.d.ts +4 -5
  303. package/esm/component/crosshair/base.js +1 -1
  304. package/esm/component/crosshair/base.js.map +1 -1
  305. package/esm/component/crosshair/cartesian.d.ts +2 -0
  306. package/esm/component/crosshair/cartesian.js +5 -8
  307. package/esm/component/crosshair/cartesian.js.map +1 -1
  308. package/esm/component/crosshair/interface/spec.d.ts +1 -1
  309. package/esm/component/crosshair/interface/spec.js.map +1 -1
  310. package/esm/component/crosshair/polar.d.ts +2 -0
  311. package/esm/component/crosshair/polar.js +5 -8
  312. package/esm/component/crosshair/polar.js.map +1 -1
  313. package/esm/component/custom-mark/custom-mark.d.ts +3 -4
  314. package/esm/component/custom-mark/custom-mark.js +1 -2
  315. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  316. package/esm/component/data-zoom/data-filter-base-component.d.ts +6 -8
  317. package/esm/component/data-zoom/data-filter-base-component.js +26 -24
  318. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  319. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  320. package/esm/component/data-zoom/data-zoom/data-zoom.js +12 -15
  321. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  322. package/esm/component/data-zoom/data-zoom/interface.d.ts +1 -0
  323. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  324. package/esm/component/data-zoom/scroll-bar/interface.d.ts +1 -1
  325. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  326. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -9
  327. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  328. package/esm/component/geo/geo-coordinate.d.ts +4 -3
  329. package/esm/component/geo/geo-coordinate.js +3 -1
  330. package/esm/component/geo/geo-coordinate.js.map +1 -1
  331. package/esm/component/indicator/indicator.d.ts +2 -4
  332. package/esm/component/indicator/indicator.js +3 -4
  333. package/esm/component/indicator/indicator.js.map +1 -1
  334. package/esm/component/indicator/interface.d.ts +1 -1
  335. package/esm/component/indicator/interface.js.map +1 -1
  336. package/esm/component/interface/common.d.ts +3 -3
  337. package/esm/component/interface/common.js.map +1 -1
  338. package/esm/component/label/base-label.d.ts +3 -4
  339. package/esm/component/label/base-label.js +1 -3
  340. package/esm/component/label/base-label.js.map +1 -1
  341. package/esm/component/label/label.d.ts +3 -3
  342. package/esm/component/label/label.js +2 -3
  343. package/esm/component/label/label.js.map +1 -1
  344. package/esm/component/label/totalLabel.d.ts +3 -3
  345. package/esm/component/label/totalLabel.js +2 -3
  346. package/esm/component/label/totalLabel.js.map +1 -1
  347. package/esm/component/legend/base-legend.d.ts +6 -9
  348. package/esm/component/legend/base-legend.js +3 -9
  349. package/esm/component/legend/base-legend.js.map +1 -1
  350. package/esm/component/legend/continuous/legend.d.ts +4 -1
  351. package/esm/component/legend/continuous/legend.js +6 -7
  352. package/esm/component/legend/continuous/legend.js.map +1 -1
  353. package/esm/component/legend/discrete/legend.d.ts +4 -1
  354. package/esm/component/legend/discrete/legend.js +6 -7
  355. package/esm/component/legend/discrete/legend.js.map +1 -1
  356. package/esm/component/legend/discrete/util.d.ts +1 -1
  357. package/esm/component/legend/discrete/util.js.map +1 -1
  358. package/esm/component/legend/util.d.ts +1 -1
  359. package/esm/component/map-label/component.d.ts +2 -4
  360. package/esm/component/map-label/component.js +1 -1
  361. package/esm/component/map-label/component.js.map +1 -1
  362. package/esm/component/marker/base-marker.d.ts +2 -3
  363. package/esm/component/marker/base-marker.js.map +1 -1
  364. package/esm/component/marker/interface.d.ts +1 -1
  365. package/esm/component/marker/interface.js.map +1 -1
  366. package/esm/component/marker/mark-area/mark-area.d.ts +1 -3
  367. package/esm/component/marker/mark-area/mark-area.js +6 -9
  368. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  369. package/esm/component/marker/mark-line/mark-line.d.ts +1 -3
  370. package/esm/component/marker/mark-line/mark-line.js +8 -11
  371. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  372. package/esm/component/marker/mark-point/mark-point.d.ts +1 -3
  373. package/esm/component/marker/mark-point/mark-point.js +6 -9
  374. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  375. package/esm/component/player/interface/theme.d.ts +1 -1
  376. package/esm/component/player/interface/theme.js.map +1 -1
  377. package/esm/component/player/player.d.ts +6 -7
  378. package/esm/component/player/player.js +4 -7
  379. package/esm/component/player/player.js.map +1 -1
  380. package/esm/component/title/interface/theme.d.ts +1 -1
  381. package/esm/component/title/interface/theme.js.map +1 -1
  382. package/esm/component/title/title.d.ts +6 -9
  383. package/esm/component/title/title.js +12 -22
  384. package/esm/component/title/title.js.map +1 -1
  385. package/esm/component/tooltip/handler/base.js.map +1 -1
  386. package/esm/component/tooltip/tooltip.d.ts +4 -3
  387. package/esm/component/tooltip/tooltip.js +5 -8
  388. package/esm/component/tooltip/tooltip.js.map +1 -1
  389. package/esm/constant/layout.d.ts +1 -0
  390. package/esm/constant/layout.js +2 -0
  391. package/esm/constant/layout.js.map +1 -1
  392. package/esm/core/factory.d.ts +5 -2
  393. package/esm/core/factory.js +6 -3
  394. package/esm/core/factory.js.map +1 -1
  395. package/esm/core/index.d.ts +1 -1
  396. package/esm/core/index.js +1 -1
  397. package/esm/core/index.js.map +1 -1
  398. package/esm/core/vchart.js +2 -2
  399. package/esm/core/vchart.js.map +1 -1
  400. package/esm/event/events/base.d.ts +16 -0
  401. package/esm/event/events/base.js +15 -0
  402. package/esm/event/events/base.js.map +1 -0
  403. package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
  404. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  405. package/esm/event/events/dimension/util/common.d.ts +1 -2
  406. package/esm/event/events/dimension/util/common.js +1 -1
  407. package/esm/event/events/dimension/util/common.js.map +1 -1
  408. package/esm/event/events/dimension/util/polar.d.ts +1 -1
  409. package/esm/event/events/dimension/util/polar.js.map +1 -1
  410. package/esm/event/interface.d.ts +1 -1
  411. package/esm/event/interface.js.map +1 -1
  412. package/esm/interaction/zoom/zoomable.d.ts +1 -0
  413. package/esm/interaction/zoom/zoomable.js +6 -5
  414. package/esm/interaction/zoom/zoomable.js.map +1 -1
  415. package/esm/layout/base-layout.d.ts +3 -5
  416. package/esm/layout/base-layout.js +8 -8
  417. package/esm/layout/base-layout.js.map +1 -1
  418. package/esm/layout/grid-layout/grid-layout.d.ts +1 -2
  419. package/esm/layout/grid-layout/grid-layout.js +6 -4
  420. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  421. package/esm/layout/interface.d.ts +74 -6
  422. package/esm/layout/interface.js.map +1 -1
  423. package/esm/{model → layout}/layout-item.d.ts +35 -23
  424. package/esm/{model → layout}/layout-item.js +95 -63
  425. package/esm/layout/layout-item.js.map +1 -0
  426. package/esm/layout/layout3d/index.d.ts +2 -4
  427. package/esm/layout/layout3d/index.js +5 -5
  428. package/esm/layout/layout3d/index.js.map +1 -1
  429. package/esm/layout/util.d.ts +1 -1
  430. package/esm/layout/util.js.map +1 -1
  431. package/esm/model/base-model.d.ts +10 -6
  432. package/esm/model/base-model.js +24 -22
  433. package/esm/model/base-model.js.map +1 -1
  434. package/esm/model/interface.d.ts +20 -82
  435. package/esm/model/interface.js.map +1 -1
  436. package/esm/model/layout-model.d.ts +39 -0
  437. package/esm/model/layout-model.js +71 -0
  438. package/esm/model/layout-model.js.map +1 -0
  439. package/esm/region/interface.d.ts +3 -2
  440. package/esm/region/interface.js.map +1 -1
  441. package/esm/region/region.d.ts +12 -7
  442. package/esm/region/region.js +19 -11
  443. package/esm/region/region.js.map +1 -1
  444. package/esm/series/base/base-series.d.ts +10 -4
  445. package/esm/series/base/base-series.js +26 -10
  446. package/esm/series/base/base-series.js.map +1 -1
  447. package/esm/series/funnel/interface.d.ts +1 -2
  448. package/esm/series/funnel/interface.js.map +1 -1
  449. package/esm/series/interface/series.d.ts +3 -2
  450. package/esm/series/interface/series.js.map +1 -1
  451. package/esm/series/mixin/line-mixin.d.ts +2 -1
  452. package/esm/series/mixin/line-mixin.js.map +1 -1
  453. package/esm/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
  454. package/esm/theme/builtin/common-mobile/component/axis/band-axis.js +18 -0
  455. package/esm/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
  456. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
  457. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js +32 -0
  458. package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
  459. package/esm/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
  460. package/esm/theme/builtin/common-mobile/component/axis/common-axis.js +36 -0
  461. package/esm/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
  462. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
  463. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js +18 -0
  464. package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
  465. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
  466. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js +23 -0
  467. package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
  468. package/esm/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
  469. package/esm/theme/builtin/common-mobile/component/crosshair.js +35 -0
  470. package/esm/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
  471. package/esm/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
  472. package/esm/theme/builtin/common-mobile/component/data-zoom.js +34 -0
  473. package/esm/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
  474. package/esm/theme/builtin/common-mobile/component/index.d.ts +2 -0
  475. package/esm/theme/builtin/common-mobile/component/index.js +65 -0
  476. package/esm/theme/builtin/common-mobile/component/index.js.map +1 -0
  477. package/esm/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
  478. package/esm/theme/builtin/common-mobile/component/indicator.js +17 -0
  479. package/esm/theme/builtin/common-mobile/component/indicator.js.map +1 -0
  480. package/esm/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
  481. package/esm/theme/builtin/common-mobile/component/legend/color-legend.js +17 -0
  482. package/esm/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
  483. package/esm/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
  484. package/esm/theme/builtin/common-mobile/component/legend/continuous.js +38 -0
  485. package/esm/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
  486. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
  487. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js +33 -0
  488. package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
  489. package/esm/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
  490. package/esm/theme/builtin/common-mobile/component/legend/size-legend.js +17 -0
  491. package/esm/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
  492. package/esm/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
  493. package/esm/theme/builtin/common-mobile/component/map-label.js +33 -0
  494. package/esm/theme/builtin/common-mobile/component/map-label.js.map +1 -0
  495. package/esm/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
  496. package/esm/theme/builtin/common-mobile/component/mark-area.js +18 -0
  497. package/esm/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
  498. package/esm/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
  499. package/esm/theme/builtin/common-mobile/component/mark-line.js +27 -0
  500. package/esm/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
  501. package/esm/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
  502. package/esm/theme/builtin/common-mobile/component/mark-point.js +15 -0
  503. package/esm/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
  504. package/esm/theme/builtin/common-mobile/component/player.d.ts +2 -0
  505. package/esm/theme/builtin/common-mobile/component/player.js +47 -0
  506. package/esm/theme/builtin/common-mobile/component/player.js.map +1 -0
  507. package/esm/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
  508. package/esm/theme/builtin/common-mobile/component/poptip.js +19 -0
  509. package/esm/theme/builtin/common-mobile/component/poptip.js.map +1 -0
  510. package/esm/theme/builtin/common-mobile/component/title.d.ts +2 -0
  511. package/esm/theme/builtin/common-mobile/component/title.js +17 -0
  512. package/esm/theme/builtin/common-mobile/component/title.js.map +1 -0
  513. package/esm/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
  514. package/esm/theme/builtin/common-mobile/component/tooltip.js +37 -0
  515. package/esm/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
  516. package/esm/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
  517. package/esm/theme/builtin/common-mobile/component/total-label.js +10 -0
  518. package/esm/theme/builtin/common-mobile/component/total-label.js.map +1 -0
  519. package/esm/theme/builtin/common-mobile/constants.d.ts +2 -0
  520. package/esm/theme/builtin/common-mobile/constants.js +19 -0
  521. package/esm/theme/builtin/common-mobile/constants.js.map +1 -0
  522. package/esm/theme/builtin/common-mobile/mark.d.ts +3 -0
  523. package/esm/theme/builtin/common-mobile/mark.js +31 -0
  524. package/esm/theme/builtin/common-mobile/mark.js.map +1 -0
  525. package/esm/theme/builtin/dark-mobile/index.d.ts +2 -0
  526. package/esm/theme/builtin/dark-mobile/index.js +16 -0
  527. package/esm/theme/builtin/dark-mobile/index.js.map +1 -0
  528. package/esm/theme/builtin/index.js +7 -1
  529. package/esm/theme/builtin/index.js.map +1 -1
  530. package/esm/theme/builtin/light-mobile/index.d.ts +2 -0
  531. package/esm/theme/builtin/light-mobile/index.js +16 -0
  532. package/esm/theme/builtin/light-mobile/index.js.map +1 -0
  533. package/esm/theme/interface.d.ts +1 -2
  534. package/esm/theme/interface.js.map +1 -1
  535. package/esm/typings/index.d.ts +1 -0
  536. package/esm/typings/index.js +2 -0
  537. package/esm/typings/index.js.map +1 -1
  538. package/esm/typings/layout.d.ts +23 -0
  539. package/esm/typings/layout.js +2 -0
  540. package/esm/typings/layout.js.map +1 -0
  541. package/esm/typings/spec/common.d.ts +1 -2
  542. package/esm/typings/spec/common.js.map +1 -1
  543. package/esm/util/space.d.ts +1 -1
  544. package/esm/util/space.js.map +1 -1
  545. package/package.json +11 -11
  546. package/cjs/model/layout-item.js.map +0 -1
  547. package/esm/model/layout-item.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { IGroup, IGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber, IGroup as ISeriesGroup } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { array, get, isArray, isBoolean, isFunction, isNil, isValid } from '@visactor/vutils';\nimport { eachSeries, getSeries } from '../../util/model';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent, LayoutZIndex } from '../../constant';\nimport { animationConfig } from '../../animation/utils';\nimport { degreeToRadian, pickWithout, type LooseFunction, isEqual } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\nimport {\n GridEnum,\n registerAxis as registerVGrammarAxis,\n registerGrid as registerVGrammarGrid\n} from '@visactor/vgrammar-core';\nimport { ComponentMark, type IComponentMark } from '../../mark/component';\nimport { Factory } from '../../core/factory';\nimport { GroupFadeIn, GroupTransition } from '@visactor/vrender-components';\nimport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._visible = spec.visible ?? true;\n }\n\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._axisMark = axisMark;\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n this._marks.addMark(axisMark);\n\n if (this._spec.grid?.visible) {\n const gridMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}-grid` },\n {\n componentType: this.getOrient() === 'angle' ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,\n mode: this._spec.mode\n }\n );\n gridMark.setZIndex(this._spec.grid?.style?.zIndex ?? this._spec.grid?.zIndex ?? LayoutZIndex.Axis_Grid);\n this._marks.addMark(gridMark);\n this._gridMark = gridMark;\n }\n\n // interactive\n if (isBoolean(this._spec.interactive)) {\n this._marks.forEach(m => m.setInteractive(this._spec.interactive));\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(Factory.getAnimationInKey('axis')?.(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n this._marks.forEach(m => m.setAnimationConfig(axisAnimateConfig));\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(updateType?: 'domain' | 'range' | 'force'): void {\n if (updateType === 'force' || !isEqual(this._scale.range(), [0, 1])) {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: ISeriesGroup[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n _compareSpec() {\n const result = super._compareSpec();\n result.reRender = true;\n if (this._originalSpec?.type !== this._spec?.type) {\n result.reMake = true;\n return result;\n }\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n\n return {\n orient: this.getOrient(),\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._prepareSpecAfterMergingTheme(\n spec.label.style(datum.rawValue, index, datum, data, layer)\n );\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.label?.style, style))\n );\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n ...labelSpec\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._prepareSpecAfterMergingTheme((spec.tick.style as any)(value, index, datum, data));\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.tick?.style, style))\n );\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n },\n pickable: spec.title.style?.pickable !== false,\n childrenPickable: spec.title.style?.pickable !== false\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n protected _getGridAttributes() {\n const spec = this._spec;\n return {\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? () => {\n return (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.grid?.style, style))\n );\n };\n }\n : transformToGraphic(spec.grid.style),\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n}\n\nexport const registerAxis = () => {\n registerVGrammarAxis();\n registerVGrammarGrid();\n Factory.registerMark(ComponentMark.type, ComponentMark);\n Factory.registerAnimation('axis', () => ({\n appear: {\n custom: GroupFadeIn\n },\n update: {\n custom: GroupTransition\n },\n exit: {\n custom: GroupFadeOut\n }\n }));\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { IGroup, IGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber, IGroup as ISeriesGroup } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { array, get, isArray, isBoolean, isFunction, isNil, isValid } from '@visactor/vutils';\nimport { eachSeries, getSeries } from '../../util/model';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent, LayoutZIndex } from '../../constant';\nimport { animationConfig } from '../../animation/utils';\nimport { degreeToRadian, pickWithout, type LooseFunction, isEqual } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\nimport {\n GridEnum,\n registerAxis as registerVGrammarAxis,\n registerGrid as registerVGrammarGrid\n} from '@visactor/vgrammar-core';\nimport { ComponentMark, type IComponentMark } from '../../mark/component';\nimport { Factory } from '../../core/factory';\nimport { GroupFadeIn, GroupTransition } from '@visactor/vrender-components';\nimport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._visible = spec.visible ?? true;\n }\n\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._axisMark = axisMark;\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n this._marks.addMark(axisMark);\n\n if (this._spec.grid?.visible) {\n const gridMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}-grid` },\n {\n componentType: this.getOrient() === 'angle' ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,\n mode: this._spec.mode\n }\n );\n gridMark.setZIndex(this._spec.grid?.style?.zIndex ?? this._spec.grid?.zIndex ?? LayoutZIndex.Axis_Grid);\n this._marks.addMark(gridMark);\n this._gridMark = gridMark;\n }\n\n // interactive\n if (isBoolean(this._spec.interactive)) {\n this._marks.forEach(m => m.setInteractive(this._spec.interactive));\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(Factory.getAnimationInKey('axis')?.(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n this._marks.forEach(m => m.setAnimationConfig(axisAnimateConfig));\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layout.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(updateType?: 'domain' | 'range' | 'force'): void {\n if (updateType === 'force' || !isEqual(this._scale.range(), [0, 1])) {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: ISeriesGroup[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n _compareSpec() {\n const result = super._compareSpec();\n result.reRender = true;\n if (this._originalSpec?.type !== this._spec?.type) {\n result.reMake = true;\n return result;\n }\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n\n return {\n orient: this.getOrient(),\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._prepareSpecAfterMergingTheme(\n spec.label.style(datum.rawValue, index, datum, data, layer)\n );\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.label?.style, style))\n );\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n ...labelSpec\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._prepareSpecAfterMergingTheme((spec.tick.style as any)(value, index, datum, data));\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.tick?.style, style))\n );\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n },\n pickable: spec.title.style?.pickable !== false,\n childrenPickable: spec.title.style?.pickable !== false\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n protected _getGridAttributes() {\n const spec = this._spec;\n return {\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? () => {\n return (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.grid?.style, style))\n );\n };\n }\n : transformToGraphic(spec.grid.style),\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n}\n\nexport const registerAxis = () => {\n registerVGrammarAxis();\n registerVGrammarGrid();\n Factory.registerMark(ComponentMark.type, ComponentMark);\n Factory.registerAnimation('axis', () => ({\n appear: {\n custom: GroupFadeIn\n },\n update: {\n custom: GroupTransition\n },\n exit: {\n custom: GroupFadeOut\n }\n }));\n};\n"]}
@@ -1,12 +1,13 @@
1
1
  import type { IBoundsLike } from '@visactor/vutils';
2
- import type { IEffect, IModelInitOption, ILayoutRect } from '../../../model/interface';
2
+ import type { IEffect, IModelInitOption } from '../../../model/interface';
3
3
  import type { ICartesianSeries } from '../../../series/interface';
4
4
  import type { IRegion } from '../../../region/interface';
5
5
  import type { ICartesianAxisCommonSpec, IAxisHelper, ICartesianAxisCommonTheme } from './interface';
6
6
  import type { IOrientType } from '../../../typings/space';
7
7
  import type { IBaseScale } from '@visactor/vscale';
8
- import type { LayoutItem } from '../../../model/layout-item';
9
- import type { IPoint, StringOrNumber } from '../../../typings';
8
+ import type { StringOrNumber } from '../../../typings/common';
9
+ import type { IPoint } from '../../../typings/coordinate';
10
+ import type { ILayoutRect, ILayoutType } from '../../../typings/layout';
10
11
  import type { IComponentOption } from '../../interface';
11
12
  import { ComponentTypeEnum } from '../../interface/type';
12
13
  import type { IAxis, ITick } from '../interface';
@@ -21,7 +22,7 @@ export declare abstract class CartesianAxis<T extends ICartesianAxisCommonSpec =
21
22
  protected readonly _defaultBandInnerPadding = 0.1;
22
23
  protected readonly _defaultBandOuterPadding = 0.3;
23
24
  directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';
24
- layoutType: LayoutItem['layoutType'];
25
+ layoutType: ILayoutType;
25
26
  layoutZIndex: number;
26
27
  layoutLevel: number;
27
28
  protected _dataSet: DataSet;
@@ -32,8 +33,6 @@ export declare abstract class CartesianAxis<T extends ICartesianAxisCommonSpec =
32
33
  };
33
34
  protected _orient: IOrientType;
34
35
  getOrient(): IOrientType;
35
- get layoutOrient(): IOrientType;
36
- set layoutOrient(v: IOrientType);
37
36
  protected _scales: IBaseScale[];
38
37
  getScales(): IBaseScale[];
39
38
  protected _theme: ICartesianAxisCommonTheme;
@@ -63,6 +62,7 @@ export declare abstract class CartesianAxis<T extends ICartesianAxisCommonSpec =
63
62
  constructor(spec: T, options: IComponentOption);
64
63
  static createAxis(spec: any, options: IComponentOption, isHorizontal?: boolean): IAxis;
65
64
  static createComponent(spec: any, options: IComponentOption): IAxis | IAxis[];
65
+ initLayout(): void;
66
66
  setLayout3dBox(box3d: {
67
67
  width: number;
68
68
  height: number;
@@ -95,9 +95,12 @@ export declare abstract class CartesianAxis<T extends ICartesianAxisCommonSpec =
95
95
  values: any[];
96
96
  }[];
97
97
  protected updateSeriesScale(): void;
98
- setLayoutStartPosition(pos: Partial<IPoint>): void;
99
- computeBoundsInRect(rect: ILayoutRect): ILayoutRect;
100
- _boundsInRect(rect: ILayoutRect): IBoundsLike;
98
+ _transformLayoutPosition: (pos: Partial<IPoint>) => {
99
+ x: number;
100
+ y: number;
101
+ };
102
+ _transformLayoutRect: (result: ILayoutRect) => ILayoutRect;
103
+ getBoundsInRect(rect: ILayoutRect): IBoundsLike;
101
104
  updateLayoutAttribute(): void;
102
105
  private _getTitleLimit;
103
106
  private _getUpdateAttribute;
@@ -50,12 +50,6 @@ export class CartesianAxis extends AxisComponent {
50
50
  getOrient() {
51
51
  return this._orient;
52
52
  }
53
- get layoutOrient() {
54
- return this._layoutOrient;
55
- }
56
- set layoutOrient(v) {
57
- this._orient = v, this._layoutOrient = v;
58
- }
59
53
  getScales() {
60
54
  return this._scales;
61
55
  }
@@ -63,10 +57,10 @@ export class CartesianAxis extends AxisComponent {
63
57
  return this._statisticsDomain;
64
58
  }
65
59
  constructor(spec, options) {
66
- super(spec, Object.assign({}, options)), this.type = ComponentTypeEnum.cartesianAxis,
67
- this.name = ComponentTypeEnum.cartesianAxis, this._defaultBandPosition = .5, this._defaultBandInnerPadding = .1,
68
- this._defaultBandOuterPadding = .3, this.layoutType = "region-relative", this.layoutZIndex = LayoutZIndex.Axis,
69
- this.layoutLevel = LayoutLevel.Axis, this._orient = "left", this._scales = [], this._statisticsDomain = {
60
+ super(spec, options), this.type = ComponentTypeEnum.cartesianAxis, this.name = ComponentTypeEnum.cartesianAxis,
61
+ this._defaultBandPosition = .5, this._defaultBandInnerPadding = .1, this._defaultBandOuterPadding = .3,
62
+ this.layoutType = "region-relative", this.layoutZIndex = LayoutZIndex.Axis, this.layoutLevel = LayoutLevel.Axis,
63
+ this._orient = "left", this._scales = [], this._statisticsDomain = {
70
64
  domain: [],
71
65
  index: {}
72
66
  }, this._tick = void 0, this._layoutCache = {
@@ -81,12 +75,42 @@ export class CartesianAxis extends AxisComponent {
81
75
  }, this.effect = {
82
76
  scaleUpdate: params => {
83
77
  this.computeData(null == params ? void 0 : params.value), eachSeries(this._regions, (s => {
84
- isXAxis(this.getOrient()) ? s.setXAxisHelper(this.axisHelper()) : isYAxis(this.getOrient()) ? s.setYAxisHelper(this.axisHelper()) : isZAxis(this.getOrient()) && s.setZAxisHelper(this.axisHelper());
78
+ const orient = this.getOrient();
79
+ isXAxis(orient) ? s.setXAxisHelper(this.axisHelper()) : isYAxis(orient) ? s.setYAxisHelper(this.axisHelper()) : isZAxis(orient) && s.setZAxisHelper(this.axisHelper());
85
80
  }), {
86
81
  userId: this._seriesUserId,
87
82
  specIndex: this._seriesIndex
88
83
  });
89
84
  }
85
+ }, this._transformLayoutPosition = pos => {
86
+ let {x: x, y: y} = pos;
87
+ return isValidNumber(x) && (x += Number("left" === this._orient) * this.getLayoutRect().width),
88
+ isValidNumber(y) && (y += Number("top" === this._orient) * this.getLayoutRect().height),
89
+ {
90
+ x: x,
91
+ y: y
92
+ };
93
+ }, this._transformLayoutRect = result => {
94
+ if (!this._visible) return result;
95
+ const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);
96
+ switch (this._layout.layoutOrient) {
97
+ case "left":
98
+ this._layout.layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL && (result.width = bounds.x1 < 0 ? -bounds.x1 : 0);
99
+ break;
100
+
101
+ case "right":
102
+ this._layout.layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL && (result.width = bounds.x2 > 0 ? bounds.x2 : 0);
103
+ break;
104
+
105
+ case "top":
106
+ this._layout.layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL && (result.height = bounds.y1 < 0 ? -bounds.y1 : 0);
107
+ break;
108
+
109
+ case "bottom":
110
+ this._layout.layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL && (result.height = bounds.y2 > 0 ? bounds.y2 : 0);
111
+ }
112
+ return result.width = Math.ceil(result.width), result.height = Math.ceil(result.height),
113
+ this._layout.setRectInSpec(this._layoutCacheProcessing(result));
90
114
  }, this._fixAxisOnZero = () => {
91
115
  const {onZero: onZero, visible: visible} = this._spec.domainLine;
92
116
  if (this.visible && onZero && !1 !== visible) {
@@ -115,7 +139,6 @@ export class CartesianAxis extends AxisComponent {
115
139
  }
116
140
  }
117
141
  }, this._orient = getOrient(spec, [ "z" ]), isZAxis(this._orient) && (this.layoutType = "absolute"),
118
- isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent), this._layoutOrient = this._orient,
119
142
  this._dataSet = options.dataSet;
120
143
  }
121
144
  static createAxis(spec, options, isHorizontal = !1) {
@@ -126,9 +149,8 @@ export class CartesianAxis extends AxisComponent {
126
149
  }), options) : (options.onError(`Component ${componentName} not found`), null);
127
150
  }
128
151
  static createComponent(spec, options) {
129
- if (!this.type.startsWith(CartesianAxis.type)) return null;
130
152
  if (options.getRegionsInIndex().find((r => "cartesian" !== r.coordinate))) return null;
131
- let axesSpec = spec[CartesianAxis.specKey] || options.defaultSpec;
153
+ let axesSpec = spec[CartesianAxis.specKey];
132
154
  if (!axesSpec) return null;
133
155
  const isHorizontal = spec.direction === Direction.horizontal;
134
156
  if (!isArray(axesSpec)) return isValidCartesianAxis(axesSpec) ? CartesianAxis.createAxis(axesSpec, options, isHorizontal) : null;
@@ -141,11 +163,13 @@ export class CartesianAxis extends AxisComponent {
141
163
  const axes = [];
142
164
  return axesSpec.forEach(((s, i) => {
143
165
  isValidCartesianAxis(s) && axes.push(CartesianAxis.createAxis(s, Object.assign(Object.assign({}, options), {
144
- specIndex: i,
145
- specKey: CartesianAxis.specKey
166
+ specIndex: i
146
167
  }), isHorizontal));
147
168
  })), axes;
148
169
  }
170
+ initLayout() {
171
+ super.initLayout(), this._layout.autoIndent = !1 !== this._spec.autoIndent, this._layout.layoutOrient = this._orient;
172
+ }
149
173
  setLayout3dBox(box3d) {
150
174
  this.layout3dBox = box3d;
151
175
  }
@@ -289,39 +313,7 @@ export class CartesianAxis extends AxisComponent {
289
313
  specIndex: this._seriesIndex
290
314
  });
291
315
  }
292
- setLayoutStartPosition(pos) {
293
- let {x: x, y: y} = pos;
294
- isValidNumber(x) && (x += Number("left" === this._orient) * this.getLayoutRect().width),
295
- isValidNumber(y) && (y += Number("top" === this._orient) * this.getLayoutRect().height),
296
- super.setLayoutStartPosition({
297
- x: x,
298
- y: y
299
- });
300
- }
301
- computeBoundsInRect(rect) {
302
- const result = super.computeBoundsInRect(rect);
303
- if (!this._visible) return result;
304
- const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);
305
- switch (this._layoutOrient) {
306
- case "left":
307
- this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL && (result.width = bounds.x1 < 0 ? -bounds.x1 : 0);
308
- break;
309
-
310
- case "right":
311
- this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL && (result.width = bounds.x2 > 0 ? bounds.x2 : 0);
312
- break;
313
-
314
- case "top":
315
- this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL && (result.height = bounds.y1 < 0 ? -bounds.y1 : 0);
316
- break;
317
-
318
- case "bottom":
319
- this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL && (result.height = bounds.y2 > 0 ? bounds.y2 : 0);
320
- }
321
- return result.width = Math.ceil(result.width), result.height = Math.ceil(result.height),
322
- this._setRectInSpec(this._layoutCacheProcessing(result));
323
- }
324
- _boundsInRect(rect) {
316
+ getBoundsInRect(rect) {
325
317
  let result = {
326
318
  x1: 0,
327
319
  y1: 0,
@@ -447,8 +439,8 @@ export class CartesianAxis extends AxisComponent {
447
439
  anchor3d: anchor3d
448
440
  }), axisAttrs;
449
441
  }
450
- let verticalMinSize = isX ? this._minHeight : this._minWidth;
451
- (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL || isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL) && (verticalMinSize = this._verticalLimitSize);
442
+ let verticalMinSize = isX ? this.layout.minHeight : this.layout.minWidth;
443
+ (isX && this._layout.layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL || isY && this._layout.layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL) && (verticalMinSize = this._verticalLimitSize);
452
444
  const items = this.getLabelItems(axisLength), attrs = {
453
445
  start: {
454
446
  x: 0,
@@ -486,7 +478,7 @@ export class CartesianAxis extends AxisComponent {
486
478
  return [ "width", "height" ].forEach((key => {
487
479
  rect[key] < this._layoutCache[key] ? rect[key] = this._layoutCache[key] : this._layoutCache[key] = rect[key];
488
480
  })), [ "x1", "x2", "y1", "y2" ].forEach((key => {
489
- this._lastComputeOutBounds[key] < this._layoutCache._lastComputeOutBounds[key] ? this._lastComputeOutBounds[key] = this._layoutCache._lastComputeOutBounds[key] : this._layoutCache._lastComputeOutBounds[key] = this._lastComputeOutBounds[key];
481
+ this.layout.getLastComputeOutBounds()[key] < this._layoutCache._lastComputeOutBounds[key] ? this.layout.getLastComputeOutBounds()[key] = this._layoutCache._lastComputeOutBounds[key] : this._layoutCache._lastComputeOutBounds[key] = this.layout.getLastComputeOutBounds()[key];
490
482
  })), rect;
491
483
  }
492
484
  _clearLayoutCache() {