@visactor/vchart 1.3.0-beta.9 → 1.3.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 (925) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +17475 -16797
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +2 -2
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/area/area.js +2 -2
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +1 -0
  14. package/cjs/chart/base-chart.js +14 -8
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +1 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/index.d.ts +1 -1
  35. package/cjs/chart/index.js.map +1 -1
  36. package/cjs/chart/line/line.js +2 -2
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/polar/progress-like.js +2 -2
  45. package/cjs/chart/polar/progress-like.js.map +1 -1
  46. package/cjs/chart/polar/rose-like.js +1 -1
  47. package/cjs/chart/polar/rose-like.js.map +1 -1
  48. package/cjs/chart/progress/circular/circular.js +2 -2
  49. package/cjs/chart/progress/circular/circular.js.map +1 -1
  50. package/cjs/chart/progress/linear/linear.js +4 -4
  51. package/cjs/chart/progress/linear/linear.js.map +1 -1
  52. package/cjs/chart/radar/radar.js +4 -4
  53. package/cjs/chart/radar/radar.js.map +1 -1
  54. package/cjs/chart/range-area/range-area.js +2 -2
  55. package/cjs/chart/range-area/range-area.js.map +1 -1
  56. package/cjs/chart/range-column/range-column-3d.js +2 -2
  57. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  58. package/cjs/chart/range-column/range-column.js +2 -2
  59. package/cjs/chart/range-column/range-column.js.map +1 -1
  60. package/cjs/chart/rose/rose.js +3 -3
  61. package/cjs/chart/rose/rose.js.map +1 -1
  62. package/cjs/chart/sankey/sankey.js +2 -2
  63. package/cjs/chart/sankey/sankey.js.map +1 -1
  64. package/cjs/chart/scatter/scatter.js +2 -2
  65. package/cjs/chart/scatter/scatter.js.map +1 -1
  66. package/cjs/chart/sequence/sequence.js +2 -2
  67. package/cjs/chart/sequence/sequence.js.map +1 -1
  68. package/cjs/chart/sunburst/sunburst.js +2 -2
  69. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  70. package/cjs/chart/treemap/treemap.js +2 -2
  71. package/cjs/chart/treemap/treemap.js.map +1 -1
  72. package/cjs/chart/util.js +1 -1
  73. package/cjs/chart/util.js.map +1 -1
  74. package/cjs/chart/waterfall/waterfall.js +2 -2
  75. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  76. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  77. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  78. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  79. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  80. package/cjs/compile/compiler.d.ts +4 -0
  81. package/cjs/compile/compiler.js +4 -0
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  84. package/cjs/compile/interface/compilable-item.js.map +1 -1
  85. package/cjs/component/axis/base-axis.d.ts +1 -14
  86. package/cjs/component/axis/base-axis.js +18 -29
  87. package/cjs/component/axis/base-axis.js.map +1 -1
  88. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  89. package/cjs/component/axis/cartesian/axis.js +23 -23
  90. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  91. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  92. package/cjs/component/axis/cartesian/index.js +2 -1
  93. package/cjs/component/axis/cartesian/index.js.map +1 -1
  94. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  95. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  96. package/cjs/component/axis/cartesian/linear-axis.js +2 -2
  97. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/symlog-axis.d.ts +16 -0
  99. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  100. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  101. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  102. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  103. package/cjs/component/axis/interface.d.ts +4 -8
  104. package/cjs/component/axis/interface.js.map +1 -1
  105. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  106. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  107. package/cjs/component/axis/polar/axis.d.ts +1 -1
  108. package/cjs/component/axis/polar/axis.js +14 -14
  109. package/cjs/component/axis/polar/axis.js.map +1 -1
  110. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  111. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  112. package/cjs/component/axis/{utils.d.ts → util.d.ts} +1 -1
  113. package/cjs/component/axis/{utils.js → util.js} +6 -6
  114. package/cjs/component/axis/util.js.map +1 -0
  115. package/cjs/component/base/base-component.d.ts +10 -2
  116. package/cjs/component/base/base-component.js +10 -5
  117. package/cjs/component/base/base-component.js.map +1 -1
  118. package/cjs/component/base/interface.d.ts +8 -0
  119. package/cjs/component/base/interface.js +6 -0
  120. package/cjs/component/base/interface.js.map +1 -0
  121. package/cjs/component/base/util.d.ts +2 -1
  122. package/cjs/component/base/util.js +21 -16
  123. package/cjs/component/base/util.js.map +1 -1
  124. package/cjs/component/brush/brush.d.ts +12 -2
  125. package/cjs/component/brush/brush.js +74 -63
  126. package/cjs/component/brush/brush.js.map +1 -1
  127. package/cjs/component/crosshair/base.d.ts +2 -2
  128. package/cjs/component/crosshair/base.js +1 -1
  129. package/cjs/component/crosshair/base.js.map +1 -1
  130. package/cjs/component/crosshair/cartesian.js +9 -9
  131. package/cjs/component/crosshair/cartesian.js.map +1 -1
  132. package/cjs/component/crosshair/interface/spec.d.ts +8 -8
  133. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  134. package/cjs/component/crosshair/interface/theme.d.ts +3 -1
  135. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  136. package/cjs/component/crosshair/polar.js +9 -9
  137. package/cjs/component/crosshair/polar.js.map +1 -1
  138. package/cjs/component/crosshair/util.d.ts +5 -0
  139. package/cjs/component/crosshair/util.js +41 -4
  140. package/cjs/component/crosshair/util.js.map +1 -1
  141. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  142. package/cjs/component/custom-mark/custom-mark.js +3 -3
  143. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  144. package/cjs/component/data-zoom/data-filter-base-component.js +2 -3
  145. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  146. package/cjs/component/data-zoom/data-zoom/data-zoom.js +6 -6
  147. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  148. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -2
  149. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  150. package/cjs/component/data-zoom/interface.d.ts +2 -5
  151. package/cjs/component/data-zoom/interface.js.map +1 -1
  152. package/cjs/component/geo/geo-coordinate.d.ts +2 -0
  153. package/cjs/component/geo/geo-coordinate.js +15 -5
  154. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  155. package/cjs/component/geo/projection.d.ts +1 -0
  156. package/cjs/component/geo/projection.js +4 -0
  157. package/cjs/component/geo/projection.js.map +1 -1
  158. package/cjs/component/index.d.ts +2 -2
  159. package/cjs/component/index.js +6 -1
  160. package/cjs/component/index.js.map +1 -1
  161. package/cjs/component/indicator/indicator.d.ts +1 -0
  162. package/cjs/component/indicator/indicator.js +10 -7
  163. package/cjs/component/indicator/indicator.js.map +1 -1
  164. package/cjs/component/indicator/interface.d.ts +5 -6
  165. package/cjs/component/indicator/interface.js.map +1 -1
  166. package/cjs/component/interface/theme.d.ts +2 -2
  167. package/cjs/component/interface/theme.js.map +1 -1
  168. package/cjs/component/interface/type.d.ts +1 -0
  169. package/cjs/component/interface/type.js +12 -11
  170. package/cjs/component/interface/type.js.map +1 -1
  171. package/cjs/component/label/base-label.d.ts +0 -1
  172. package/cjs/component/label/base-label.js +0 -5
  173. package/cjs/component/label/base-label.js.map +1 -1
  174. package/cjs/component/label/interface.d.ts +2 -1
  175. package/cjs/component/label/interface.js.map +1 -1
  176. package/cjs/component/label/label.d.ts +0 -1
  177. package/cjs/component/label/label.js +1 -6
  178. package/cjs/component/label/label.js.map +1 -1
  179. package/cjs/component/label/totalLabel.js +1 -1
  180. package/cjs/component/label/totalLabel.js.map +1 -1
  181. package/cjs/component/legend/base-legend.js +4 -4
  182. package/cjs/component/legend/base-legend.js.map +1 -1
  183. package/cjs/component/legend/continuous/util.js +4 -4
  184. package/cjs/component/legend/continuous/util.js.map +1 -1
  185. package/cjs/component/legend/discrete/interface.d.ts +3 -1
  186. package/cjs/component/legend/discrete/interface.js.map +1 -1
  187. package/cjs/component/legend/discrete/legend.js +2 -2
  188. package/cjs/component/legend/discrete/legend.js.map +1 -1
  189. package/cjs/component/legend/discrete/util.js +2 -2
  190. package/cjs/component/legend/discrete/util.js.map +1 -1
  191. package/cjs/component/legend/interface.d.ts +2 -6
  192. package/cjs/component/legend/interface.js.map +1 -1
  193. package/cjs/component/legend/util.js +2 -2
  194. package/cjs/component/legend/util.js.map +1 -1
  195. package/cjs/component/marker/interface.d.ts +2 -2
  196. package/cjs/component/marker/interface.js.map +1 -1
  197. package/cjs/component/poptip/interface.d.ts +15 -0
  198. package/cjs/component/poptip/interface.js +6 -0
  199. package/cjs/component/poptip/interface.js.map +1 -0
  200. package/cjs/component/title/interface/spec.d.ts +2 -2
  201. package/cjs/component/title/interface/spec.js.map +1 -1
  202. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +5 -5
  203. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  204. package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
  205. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  206. package/cjs/component/tooltip/handler/dom/model/title-model.js +2 -2
  207. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  208. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
  209. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  210. package/cjs/component/tooltip/handler/dom/util.js +3 -3
  211. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  212. package/cjs/component/tooltip/handler/utils/attribute.js +3 -3
  213. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  214. package/cjs/component/tooltip/handler/utils/get-spec.js +1 -1
  215. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  216. package/cjs/component/tooltip/handler/utils/style.js +2 -2
  217. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  218. package/cjs/component/tooltip/processor/base.js +1 -1
  219. package/cjs/component/tooltip/processor/base.js.map +1 -1
  220. package/cjs/component/tooltip/tooltip.js +1 -1
  221. package/cjs/component/tooltip/tooltip.js.map +1 -1
  222. package/cjs/core/index.d.ts +1 -1
  223. package/cjs/core/index.js +1 -1
  224. package/cjs/core/index.js.map +1 -1
  225. package/cjs/core/vchart.js +20 -17
  226. package/cjs/core/vchart.js.map +1 -1
  227. package/cjs/data/transforms/legend-data/discrete/discrete.js +4 -2
  228. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  229. package/cjs/data/transforms/tick-data/discrete/polar-angle.js +2 -2
  230. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  231. package/cjs/data/transforms/tick-data/util.js +5 -5
  232. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  233. package/cjs/event/events/dimension/util/cartesian.js +2 -2
  234. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  235. package/cjs/event/events/dimension/util/polar.js +1 -1
  236. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  237. package/cjs/interaction/trigger.js +2 -2
  238. package/cjs/interaction/trigger.js.map +1 -1
  239. package/cjs/mark/base/base-mark.d.ts +1 -0
  240. package/cjs/mark/base/base-mark.js +19 -2
  241. package/cjs/mark/base/base-mark.js.map +1 -1
  242. package/cjs/mark/mark-set/index.d.ts +1 -0
  243. package/cjs/mark/mark-set/index.js.map +1 -1
  244. package/cjs/model/base-model.js +2 -2
  245. package/cjs/model/base-model.js.map +1 -1
  246. package/cjs/model/interface.d.ts +1 -1
  247. package/cjs/model/interface.js.map +1 -1
  248. package/cjs/plugin/components/index.d.ts +0 -2
  249. package/cjs/plugin/components/index.js +1 -2
  250. package/cjs/plugin/components/index.js.map +1 -1
  251. package/cjs/series/area/area.d.ts +1 -0
  252. package/cjs/series/area/area.js +4 -3
  253. package/cjs/series/area/area.js.map +1 -1
  254. package/cjs/series/bar/bar.js +9 -9
  255. package/cjs/series/bar/bar.js.map +1 -1
  256. package/cjs/series/base/base-series.d.ts +1 -0
  257. package/cjs/series/base/base-series.js +25 -8
  258. package/cjs/series/base/base-series.js.map +1 -1
  259. package/cjs/series/cartesian/cartesian.d.ts +4 -0
  260. package/cjs/series/cartesian/cartesian.js +16 -4
  261. package/cjs/series/cartesian/cartesian.js.map +1 -1
  262. package/cjs/series/cartesian/interface.d.ts +1 -0
  263. package/cjs/series/cartesian/interface.js.map +1 -1
  264. package/cjs/series/dot/dot.js +1 -1
  265. package/cjs/series/dot/dot.js.map +1 -1
  266. package/cjs/series/funnel/funnel.js +13 -3
  267. package/cjs/series/funnel/funnel.js.map +1 -1
  268. package/cjs/series/heatmap/heatmap.js +1 -1
  269. package/cjs/series/heatmap/heatmap.js.map +1 -1
  270. package/cjs/series/line/interface.d.ts +0 -2
  271. package/cjs/series/line/interface.js.map +1 -1
  272. package/cjs/series/line/line.d.ts +1 -0
  273. package/cjs/series/line/line.js +1 -1
  274. package/cjs/series/line/line.js.map +1 -1
  275. package/cjs/series/map/geo-source.js +2 -2
  276. package/cjs/series/map/geo-source.js.map +1 -1
  277. package/cjs/series/map/interface.d.ts +1 -0
  278. package/cjs/series/map/interface.js.map +1 -1
  279. package/cjs/series/map/map.js +8 -4
  280. package/cjs/series/map/map.js.map +1 -1
  281. package/cjs/series/mixin/line-mixin.d.ts +1 -1
  282. package/cjs/series/mixin/line-mixin.js +1 -1
  283. package/cjs/series/mixin/line-mixin.js.map +1 -1
  284. package/cjs/series/pie/pie.js +1 -1
  285. package/cjs/series/pie/pie.js.map +1 -1
  286. package/cjs/series/polar/interface.d.ts +1 -0
  287. package/cjs/series/polar/interface.js.map +1 -1
  288. package/cjs/series/polar/polar.d.ts +4 -0
  289. package/cjs/series/polar/polar.js +15 -3
  290. package/cjs/series/polar/polar.js.map +1 -1
  291. package/cjs/series/radar/radar.d.ts +1 -0
  292. package/cjs/series/radar/radar.js +1 -1
  293. package/cjs/series/radar/radar.js.map +1 -1
  294. package/cjs/series/range-column/range-column.js +1 -1
  295. package/cjs/series/range-column/range-column.js.map +1 -1
  296. package/cjs/series/rose/rose.js +1 -1
  297. package/cjs/series/rose/rose.js.map +1 -1
  298. package/cjs/series/sankey/interface.d.ts +3 -2
  299. package/cjs/series/sankey/interface.js.map +1 -1
  300. package/cjs/series/sankey/sankey.d.ts +5 -0
  301. package/cjs/series/sankey/sankey.js +246 -92
  302. package/cjs/series/sankey/sankey.js.map +1 -1
  303. package/cjs/series/scatter/scatter.js +1 -1
  304. package/cjs/series/scatter/scatter.js.map +1 -1
  305. package/cjs/series/util/utils.d.ts +4 -1
  306. package/cjs/series/util/utils.js +8 -6
  307. package/cjs/series/util/utils.js.map +1 -1
  308. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  309. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  310. package/cjs/theme/builtin/common/component/axis/common-axis.js +12 -6
  311. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  312. package/cjs/theme/builtin/common/component/axis/polar-axis.js +1 -1
  313. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  314. package/cjs/theme/builtin/common/component/crosshair.js +73 -117
  315. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  316. package/cjs/theme/builtin/common/component/data-zoom.js +19 -7
  317. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  318. package/cjs/theme/builtin/common/component/indicator.js +17 -5
  319. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  320. package/cjs/theme/builtin/common/component/legend/color-legend.js +31 -5
  321. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  322. package/cjs/theme/builtin/common/component/legend/continuous.js +26 -12
  323. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  324. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  325. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  326. package/cjs/theme/builtin/common/component/legend/size-legend.js +54 -15
  327. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  328. package/cjs/theme/builtin/common/component/map-label.js +5 -5
  329. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  330. package/cjs/theme/builtin/common/component/mark-area.js +7 -2
  331. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  332. package/cjs/theme/builtin/common/component/mark-line.js +7 -2
  333. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  334. package/cjs/theme/builtin/common/component/player.js +33 -7
  335. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  336. package/cjs/theme/builtin/common/component/poptip.d.ts +2 -2
  337. package/cjs/theme/builtin/common/component/poptip.js +20 -12
  338. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  339. package/cjs/theme/builtin/common/component/title.js +9 -5
  340. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  341. package/cjs/theme/builtin/common/component/tooltip.js +13 -10
  342. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  343. package/cjs/theme/builtin/common/component/total-label.js +4 -4
  344. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  345. package/cjs/theme/builtin/common/constants.js +17 -10
  346. package/cjs/theme/builtin/common/constants.js.map +1 -1
  347. package/cjs/theme/builtin/common/mark.js +8 -4
  348. package/cjs/theme/builtin/common/mark.js.map +1 -1
  349. package/cjs/theme/builtin/common/series/area.js +2 -7
  350. package/cjs/theme/builtin/common/series/area.js.map +1 -1
  351. package/cjs/theme/builtin/common/series/bar.js +2 -7
  352. package/cjs/theme/builtin/common/series/bar.js.map +1 -1
  353. package/cjs/theme/builtin/common/series/bar3d.js +1 -6
  354. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -1
  355. package/cjs/theme/builtin/common/series/circle-packing.js +11 -5
  356. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  357. package/cjs/theme/builtin/common/series/dot.js +11 -3
  358. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  359. package/cjs/theme/builtin/common/series/funnel.js +7 -4
  360. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  361. package/cjs/theme/builtin/common/series/funnel3d.js +7 -4
  362. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  363. package/cjs/theme/builtin/common/series/line.js +2 -7
  364. package/cjs/theme/builtin/common/series/line.js.map +1 -1
  365. package/cjs/theme/builtin/common/series/map.js +4 -2
  366. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  367. package/cjs/theme/builtin/common/series/pie.js +1 -6
  368. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  369. package/cjs/theme/builtin/common/series/pie3d.js +2 -9
  370. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
  371. package/cjs/theme/builtin/common/series/radar.js +2 -7
  372. package/cjs/theme/builtin/common/series/radar.js.map +1 -1
  373. package/cjs/theme/builtin/common/series/rangeColumn.js +2 -3
  374. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  375. package/cjs/theme/builtin/common/series/rose.js +1 -2
  376. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  377. package/cjs/theme/builtin/common/series/sankey.js +0 -1
  378. package/cjs/theme/builtin/common/series/sankey.js.map +1 -1
  379. package/cjs/theme/builtin/common/series/scatter.js +2 -7
  380. package/cjs/theme/builtin/common/series/scatter.js.map +1 -1
  381. package/cjs/theme/builtin/common/series/sunburst.js +5 -2
  382. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  383. package/cjs/theme/builtin/common/series/treemap.js +9 -5
  384. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  385. package/cjs/theme/builtin/common/series/waterfall.js +5 -6
  386. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  387. package/cjs/theme/builtin/dark/color-scheme.js +5 -3
  388. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  389. package/cjs/theme/builtin/index.d.ts +0 -1
  390. package/cjs/theme/builtin/index.js +1 -2
  391. package/cjs/theme/builtin/index.js.map +1 -1
  392. package/cjs/theme/builtin/light/color-scheme.js +4 -2
  393. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  394. package/cjs/theme/builtin/light/index.js +2 -2
  395. package/cjs/theme/builtin/light/index.js.map +1 -1
  396. package/cjs/theme/color-scheme/builtin/interface.d.ts +22 -0
  397. package/cjs/theme/color-scheme/builtin/interface.js +6 -0
  398. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -0
  399. package/cjs/theme/color-scheme/interface.d.ts +3 -2
  400. package/cjs/theme/color-scheme/interface.js.map +1 -1
  401. package/cjs/theme/color-scheme/util.js +8 -2
  402. package/cjs/theme/color-scheme/util.js.map +1 -1
  403. package/cjs/theme/interface.d.ts +16 -5
  404. package/cjs/theme/interface.js.map +1 -1
  405. package/cjs/typings/spec/common.d.ts +2 -1
  406. package/cjs/typings/spec/common.js.map +1 -1
  407. package/cjs/typings/visual.d.ts +10 -20
  408. package/cjs/typings/visual.js.map +1 -1
  409. package/cjs/util/data.d.ts +0 -8
  410. package/cjs/util/data.js +2 -9
  411. package/cjs/util/data.js.map +1 -1
  412. package/cjs/util/object.d.ts +2 -4
  413. package/cjs/util/object.js +2 -18
  414. package/cjs/util/object.js.map +1 -1
  415. package/cjs/util/scale.d.ts +2 -6
  416. package/cjs/util/scale.js +1 -6
  417. package/cjs/util/scale.js.map +1 -1
  418. package/cjs/util/space.d.ts +3 -10
  419. package/cjs/util/space.js +13 -28
  420. package/cjs/util/space.js.map +1 -1
  421. package/cjs/util/spec/background.d.ts +4 -0
  422. package/cjs/util/spec/background.js +27 -0
  423. package/cjs/util/spec/background.js.map +1 -0
  424. package/cjs/util/spec/clone-deep.d.ts +1 -0
  425. package/cjs/util/spec/clone-deep.js +27 -0
  426. package/cjs/util/spec/clone-deep.js.map +1 -0
  427. package/cjs/util/spec/common.d.ts +3 -0
  428. package/cjs/util/spec/common.js +23 -0
  429. package/cjs/util/spec/common.js.map +1 -0
  430. package/cjs/util/spec/index.d.ts +7 -0
  431. package/cjs/util/spec/index.js +24 -0
  432. package/cjs/util/spec/index.js.map +1 -0
  433. package/cjs/util/spec/merge-spec.d.ts +1 -0
  434. package/cjs/util/spec/merge-spec.js +58 -0
  435. package/cjs/util/spec/merge-spec.js.map +1 -0
  436. package/cjs/util/spec/merge-theme.d.ts +3 -0
  437. package/cjs/util/spec/merge-theme.js +37 -0
  438. package/cjs/util/spec/merge-theme.js.map +1 -0
  439. package/cjs/util/spec/preprocess.d.ts +3 -0
  440. package/cjs/util/spec/preprocess.js +24 -0
  441. package/cjs/util/spec/preprocess.js.map +1 -0
  442. package/cjs/util/spec/transform.d.ts +3 -0
  443. package/cjs/util/spec/transform.js +28 -0
  444. package/cjs/util/spec/transform.js.map +1 -0
  445. package/cjs/util/text.d.ts +1 -2
  446. package/cjs/util/text.js +4 -14
  447. package/cjs/util/text.js.map +1 -1
  448. package/cjs/vchart-all.js +1 -1
  449. package/cjs/vchart-all.js.map +1 -1
  450. package/cjs/vchart-simple.js +3 -4
  451. package/cjs/vchart-simple.js.map +1 -1
  452. package/esm/animation/utils.js +3 -3
  453. package/esm/animation/utils.js.map +1 -1
  454. package/esm/chart/area/area.js +3 -3
  455. package/esm/chart/area/area.js.map +1 -1
  456. package/esm/chart/bar/bar-3d.js +2 -2
  457. package/esm/chart/bar/bar-3d.js.map +1 -1
  458. package/esm/chart/bar/bar.js +2 -2
  459. package/esm/chart/bar/bar.js.map +1 -1
  460. package/esm/chart/base-chart.d.ts +1 -0
  461. package/esm/chart/base-chart.js +14 -8
  462. package/esm/chart/base-chart.js.map +1 -1
  463. package/esm/chart/box-plot/box-plot.js +1 -1
  464. package/esm/chart/box-plot/box-plot.js.map +1 -1
  465. package/esm/chart/cartesian/cartesian.js +1 -1
  466. package/esm/chart/cartesian/cartesian.js.map +1 -1
  467. package/esm/chart/circle-packing/circle-packing.js +1 -1
  468. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  469. package/esm/chart/funnel/funnel-3d.js +1 -1
  470. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  471. package/esm/chart/funnel/funnel.js +1 -1
  472. package/esm/chart/funnel/funnel.js.map +1 -1
  473. package/esm/chart/gauge/gauge.js +2 -2
  474. package/esm/chart/gauge/gauge.js.map +1 -1
  475. package/esm/chart/heatmap/heatmap.js +1 -1
  476. package/esm/chart/heatmap/heatmap.js.map +1 -1
  477. package/esm/chart/histogram/histogram-3d.js +2 -2
  478. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  479. package/esm/chart/histogram/histogram.js +2 -2
  480. package/esm/chart/histogram/histogram.js.map +1 -1
  481. package/esm/chart/index.d.ts +1 -1
  482. package/esm/chart/index.js.map +1 -1
  483. package/esm/chart/line/line.js +1 -1
  484. package/esm/chart/line/line.js.map +1 -1
  485. package/esm/chart/map/map.js +2 -2
  486. package/esm/chart/map/map.js.map +1 -1
  487. package/esm/chart/pie/pie-3d.js +2 -2
  488. package/esm/chart/pie/pie-3d.js.map +1 -1
  489. package/esm/chart/pie/pie.js +2 -2
  490. package/esm/chart/pie/pie.js.map +1 -1
  491. package/esm/chart/polar/progress-like.js +1 -1
  492. package/esm/chart/polar/progress-like.js.map +1 -1
  493. package/esm/chart/polar/rose-like.js +1 -1
  494. package/esm/chart/polar/rose-like.js.map +1 -1
  495. package/esm/chart/progress/circular/circular.js +1 -1
  496. package/esm/chart/progress/circular/circular.js.map +1 -1
  497. package/esm/chart/progress/linear/linear.js +2 -2
  498. package/esm/chart/progress/linear/linear.js.map +1 -1
  499. package/esm/chart/radar/radar.js +5 -5
  500. package/esm/chart/radar/radar.js.map +1 -1
  501. package/esm/chart/range-area/range-area.js +1 -1
  502. package/esm/chart/range-area/range-area.js.map +1 -1
  503. package/esm/chart/range-column/range-column-3d.js +1 -1
  504. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  505. package/esm/chart/range-column/range-column.js +1 -1
  506. package/esm/chart/range-column/range-column.js.map +1 -1
  507. package/esm/chart/rose/rose.js +4 -4
  508. package/esm/chart/rose/rose.js.map +1 -1
  509. package/esm/chart/sankey/sankey.js +1 -1
  510. package/esm/chart/sankey/sankey.js.map +1 -1
  511. package/esm/chart/scatter/scatter.js +2 -2
  512. package/esm/chart/scatter/scatter.js.map +1 -1
  513. package/esm/chart/sequence/sequence.js +4 -2
  514. package/esm/chart/sequence/sequence.js.map +1 -1
  515. package/esm/chart/sunburst/sunburst.js +1 -1
  516. package/esm/chart/sunburst/sunburst.js.map +1 -1
  517. package/esm/chart/treemap/treemap.js +1 -1
  518. package/esm/chart/treemap/treemap.js.map +1 -1
  519. package/esm/chart/util.js +2 -2
  520. package/esm/chart/util.js.map +1 -1
  521. package/esm/chart/waterfall/waterfall.js +1 -1
  522. package/esm/chart/waterfall/waterfall.js.map +1 -1
  523. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  524. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  525. package/esm/chart/word-cloud/word-cloud.js +1 -1
  526. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  527. package/esm/compile/compiler.d.ts +4 -0
  528. package/esm/compile/compiler.js +4 -0
  529. package/esm/compile/compiler.js.map +1 -1
  530. package/esm/compile/interface/compilable-item.d.ts +1 -0
  531. package/esm/compile/interface/compilable-item.js.map +1 -1
  532. package/esm/component/axis/base-axis.d.ts +1 -14
  533. package/esm/component/axis/base-axis.js +19 -30
  534. package/esm/component/axis/base-axis.js.map +1 -1
  535. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  536. package/esm/component/axis/cartesian/axis.js +20 -20
  537. package/esm/component/axis/cartesian/axis.js.map +1 -1
  538. package/esm/component/axis/cartesian/index.d.ts +1 -0
  539. package/esm/component/axis/cartesian/index.js +2 -0
  540. package/esm/component/axis/cartesian/index.js.map +1 -1
  541. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  542. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  543. package/esm/component/axis/cartesian/linear-axis.js +1 -3
  544. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  545. package/esm/component/axis/cartesian/symlog-axis.d.ts +16 -0
  546. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  547. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  548. package/esm/component/axis/cartesian/time-axis.js +3 -3
  549. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  550. package/esm/component/axis/interface.d.ts +4 -8
  551. package/esm/component/axis/interface.js.map +1 -1
  552. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  553. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  554. package/esm/component/axis/polar/axis.d.ts +1 -1
  555. package/esm/component/axis/polar/axis.js +13 -13
  556. package/esm/component/axis/polar/axis.js.map +1 -1
  557. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  558. package/esm/component/axis/polar/interface/common.js.map +1 -1
  559. package/esm/component/axis/{utils.d.ts → util.d.ts} +1 -1
  560. package/esm/component/axis/{utils.js → util.js} +7 -5
  561. package/esm/component/axis/util.js.map +1 -0
  562. package/esm/component/base/base-component.d.ts +10 -2
  563. package/esm/component/base/base-component.js +9 -5
  564. package/esm/component/base/base-component.js.map +1 -1
  565. package/esm/component/base/interface.d.ts +8 -0
  566. package/esm/component/base/interface.js +2 -0
  567. package/esm/component/base/interface.js.map +1 -0
  568. package/esm/component/base/util.d.ts +2 -1
  569. package/esm/component/base/util.js +14 -7
  570. package/esm/component/base/util.js.map +1 -1
  571. package/esm/component/brush/brush.d.ts +12 -2
  572. package/esm/component/brush/brush.js +74 -62
  573. package/esm/component/brush/brush.js.map +1 -1
  574. package/esm/component/crosshair/base.d.ts +2 -2
  575. package/esm/component/crosshair/base.js +1 -1
  576. package/esm/component/crosshair/base.js.map +1 -1
  577. package/esm/component/crosshair/cartesian.js +7 -7
  578. package/esm/component/crosshair/cartesian.js.map +1 -1
  579. package/esm/component/crosshair/interface/spec.d.ts +8 -8
  580. package/esm/component/crosshair/interface/spec.js.map +1 -1
  581. package/esm/component/crosshair/interface/theme.d.ts +3 -1
  582. package/esm/component/crosshair/interface/theme.js.map +1 -1
  583. package/esm/component/crosshair/polar.js +8 -8
  584. package/esm/component/crosshair/polar.js.map +1 -1
  585. package/esm/component/crosshair/util.d.ts +5 -0
  586. package/esm/component/crosshair/util.js +34 -0
  587. package/esm/component/crosshair/util.js.map +1 -1
  588. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  589. package/esm/component/custom-mark/custom-mark.js +4 -4
  590. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  591. package/esm/component/data-zoom/data-filter-base-component.js +2 -3
  592. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  593. package/esm/component/data-zoom/data-zoom/data-zoom.js +8 -6
  594. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  595. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -2
  596. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  597. package/esm/component/data-zoom/interface.d.ts +2 -5
  598. package/esm/component/data-zoom/interface.js.map +1 -1
  599. package/esm/component/geo/geo-coordinate.d.ts +2 -0
  600. package/esm/component/geo/geo-coordinate.js +16 -6
  601. package/esm/component/geo/geo-coordinate.js.map +1 -1
  602. package/esm/component/geo/projection.d.ts +1 -0
  603. package/esm/component/geo/projection.js +4 -0
  604. package/esm/component/geo/projection.js.map +1 -1
  605. package/esm/component/index.d.ts +2 -2
  606. package/esm/component/index.js +2 -2
  607. package/esm/component/index.js.map +1 -1
  608. package/esm/component/indicator/indicator.d.ts +1 -0
  609. package/esm/component/indicator/indicator.js +8 -7
  610. package/esm/component/indicator/indicator.js.map +1 -1
  611. package/esm/component/indicator/interface.d.ts +5 -6
  612. package/esm/component/indicator/interface.js.map +1 -1
  613. package/esm/component/interface/theme.d.ts +2 -2
  614. package/esm/component/interface/theme.js.map +1 -1
  615. package/esm/component/interface/type.d.ts +1 -0
  616. package/esm/component/interface/type.js +12 -11
  617. package/esm/component/interface/type.js.map +1 -1
  618. package/esm/component/label/base-label.d.ts +0 -1
  619. package/esm/component/label/base-label.js +0 -5
  620. package/esm/component/label/base-label.js.map +1 -1
  621. package/esm/component/label/interface.d.ts +2 -1
  622. package/esm/component/label/interface.js.map +1 -1
  623. package/esm/component/label/label.d.ts +0 -1
  624. package/esm/component/label/label.js +2 -7
  625. package/esm/component/label/label.js.map +1 -1
  626. package/esm/component/label/totalLabel.js +2 -2
  627. package/esm/component/label/totalLabel.js.map +1 -1
  628. package/esm/component/legend/base-legend.js +5 -5
  629. package/esm/component/legend/base-legend.js.map +1 -1
  630. package/esm/component/legend/continuous/util.js +5 -3
  631. package/esm/component/legend/continuous/util.js.map +1 -1
  632. package/esm/component/legend/discrete/interface.d.ts +3 -1
  633. package/esm/component/legend/discrete/interface.js.map +1 -1
  634. package/esm/component/legend/discrete/legend.js +2 -2
  635. package/esm/component/legend/discrete/legend.js.map +1 -1
  636. package/esm/component/legend/discrete/util.js +4 -4
  637. package/esm/component/legend/discrete/util.js.map +1 -1
  638. package/esm/component/legend/interface.d.ts +2 -6
  639. package/esm/component/legend/interface.js.map +1 -1
  640. package/esm/component/legend/util.js +4 -2
  641. package/esm/component/legend/util.js.map +1 -1
  642. package/esm/component/marker/interface.d.ts +2 -2
  643. package/esm/component/marker/interface.js.map +1 -1
  644. package/esm/component/poptip/interface.d.ts +15 -0
  645. package/esm/component/poptip/interface.js +2 -0
  646. package/esm/component/poptip/interface.js.map +1 -0
  647. package/esm/component/title/interface/spec.d.ts +2 -2
  648. package/esm/component/title/interface/spec.js.map +1 -1
  649. package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  650. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  651. package/esm/component/tooltip/handler/dom/model/content-model.js +2 -2
  652. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  653. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  654. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  655. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +4 -2
  656. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  657. package/esm/component/tooltip/handler/dom/util.js +4 -4
  658. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  659. package/esm/component/tooltip/handler/utils/attribute.js +5 -5
  660. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  661. package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
  662. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  663. package/esm/component/tooltip/handler/utils/style.js +2 -2
  664. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  665. package/esm/component/tooltip/processor/base.js +1 -1
  666. package/esm/component/tooltip/processor/base.js.map +1 -1
  667. package/esm/component/tooltip/tooltip.js +2 -2
  668. package/esm/component/tooltip/tooltip.js.map +1 -1
  669. package/esm/core/index.d.ts +1 -1
  670. package/esm/core/index.js +1 -1
  671. package/esm/core/index.js.map +1 -1
  672. package/esm/core/vchart.js +22 -19
  673. package/esm/core/vchart.js.map +1 -1
  674. package/esm/data/transforms/legend-data/discrete/discrete.js +4 -3
  675. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  676. package/esm/data/transforms/tick-data/discrete/polar-angle.js +1 -1
  677. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  678. package/esm/data/transforms/tick-data/util.js +1 -1
  679. package/esm/data/transforms/tick-data/util.js.map +1 -1
  680. package/esm/event/events/dimension/util/cartesian.js +2 -2
  681. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  682. package/esm/event/events/dimension/util/polar.js +1 -1
  683. package/esm/event/events/dimension/util/polar.js.map +1 -1
  684. package/esm/interaction/trigger.js +3 -3
  685. package/esm/interaction/trigger.js.map +1 -1
  686. package/esm/mark/base/base-mark.d.ts +1 -0
  687. package/esm/mark/base/base-mark.js +20 -3
  688. package/esm/mark/base/base-mark.js.map +1 -1
  689. package/esm/mark/mark-set/index.d.ts +1 -0
  690. package/esm/mark/mark-set/index.js.map +1 -1
  691. package/esm/model/base-model.js +4 -4
  692. package/esm/model/base-model.js.map +1 -1
  693. package/esm/model/interface.d.ts +1 -1
  694. package/esm/model/interface.js.map +1 -1
  695. package/esm/plugin/components/index.d.ts +0 -2
  696. package/esm/plugin/components/index.js +0 -3
  697. package/esm/plugin/components/index.js.map +1 -1
  698. package/esm/series/area/area.d.ts +1 -0
  699. package/esm/series/area/area.js +5 -5
  700. package/esm/series/area/area.js.map +1 -1
  701. package/esm/series/bar/bar.js +2 -4
  702. package/esm/series/bar/bar.js.map +1 -1
  703. package/esm/series/base/base-series.d.ts +1 -0
  704. package/esm/series/base/base-series.js +25 -9
  705. package/esm/series/base/base-series.js.map +1 -1
  706. package/esm/series/cartesian/cartesian.d.ts +4 -0
  707. package/esm/series/cartesian/cartesian.js +15 -3
  708. package/esm/series/cartesian/cartesian.js.map +1 -1
  709. package/esm/series/cartesian/interface.d.ts +1 -0
  710. package/esm/series/cartesian/interface.js.map +1 -1
  711. package/esm/series/dot/dot.js +2 -2
  712. package/esm/series/dot/dot.js.map +1 -1
  713. package/esm/series/funnel/funnel.js +12 -2
  714. package/esm/series/funnel/funnel.js.map +1 -1
  715. package/esm/series/heatmap/heatmap.js +2 -2
  716. package/esm/series/heatmap/heatmap.js.map +1 -1
  717. package/esm/series/line/interface.d.ts +0 -2
  718. package/esm/series/line/interface.js.map +1 -1
  719. package/esm/series/line/line.d.ts +1 -0
  720. package/esm/series/line/line.js +1 -1
  721. package/esm/series/line/line.js.map +1 -1
  722. package/esm/series/map/geo-source.js +3 -1
  723. package/esm/series/map/geo-source.js.map +1 -1
  724. package/esm/series/map/interface.d.ts +1 -0
  725. package/esm/series/map/interface.js.map +1 -1
  726. package/esm/series/map/map.js +9 -3
  727. package/esm/series/map/map.js.map +1 -1
  728. package/esm/series/mixin/line-mixin.d.ts +1 -1
  729. package/esm/series/mixin/line-mixin.js +2 -2
  730. package/esm/series/mixin/line-mixin.js.map +1 -1
  731. package/esm/series/pie/pie.js +2 -2
  732. package/esm/series/pie/pie.js.map +1 -1
  733. package/esm/series/polar/interface.d.ts +1 -0
  734. package/esm/series/polar/interface.js.map +1 -1
  735. package/esm/series/polar/polar.d.ts +4 -0
  736. package/esm/series/polar/polar.js +15 -2
  737. package/esm/series/polar/polar.js.map +1 -1
  738. package/esm/series/radar/radar.d.ts +1 -0
  739. package/esm/series/radar/radar.js +1 -1
  740. package/esm/series/radar/radar.js.map +1 -1
  741. package/esm/series/range-column/range-column.js +2 -2
  742. package/esm/series/range-column/range-column.js.map +1 -1
  743. package/esm/series/rose/rose.js +2 -2
  744. package/esm/series/rose/rose.js.map +1 -1
  745. package/esm/series/sankey/interface.d.ts +3 -2
  746. package/esm/series/sankey/interface.js.map +1 -1
  747. package/esm/series/sankey/sankey.d.ts +5 -0
  748. package/esm/series/sankey/sankey.js +248 -93
  749. package/esm/series/sankey/sankey.js.map +1 -1
  750. package/esm/series/scatter/scatter.js +2 -2
  751. package/esm/series/scatter/scatter.js.map +1 -1
  752. package/esm/series/util/utils.d.ts +4 -1
  753. package/esm/series/util/utils.js +6 -4
  754. package/esm/series/util/utils.js.map +1 -1
  755. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  756. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  757. package/esm/theme/builtin/common/component/axis/common-axis.js +12 -6
  758. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  759. package/esm/theme/builtin/common/component/axis/polar-axis.js +1 -1
  760. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  761. package/esm/theme/builtin/common/component/crosshair.js +73 -117
  762. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  763. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  764. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  765. package/esm/theme/builtin/common/component/indicator.js +14 -4
  766. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  767. package/esm/theme/builtin/common/component/legend/color-legend.js +32 -4
  768. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  769. package/esm/theme/builtin/common/component/legend/continuous.js +26 -12
  770. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  771. package/esm/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  772. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  773. package/esm/theme/builtin/common/component/legend/size-legend.js +55 -14
  774. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  775. package/esm/theme/builtin/common/component/map-label.js +4 -6
  776. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  777. package/esm/theme/builtin/common/component/mark-area.js +4 -1
  778. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  779. package/esm/theme/builtin/common/component/mark-line.js +4 -1
  780. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  781. package/esm/theme/builtin/common/component/player.js +33 -7
  782. package/esm/theme/builtin/common/component/player.js.map +1 -1
  783. package/esm/theme/builtin/common/component/poptip.d.ts +2 -2
  784. package/esm/theme/builtin/common/component/poptip.js +17 -11
  785. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  786. package/esm/theme/builtin/common/component/title.js +9 -5
  787. package/esm/theme/builtin/common/component/title.js.map +1 -1
  788. package/esm/theme/builtin/common/component/tooltip.js +12 -11
  789. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  790. package/esm/theme/builtin/common/component/total-label.js +3 -5
  791. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  792. package/esm/theme/builtin/common/constants.js +16 -7
  793. package/esm/theme/builtin/common/constants.js.map +1 -1
  794. package/esm/theme/builtin/common/mark.js +8 -4
  795. package/esm/theme/builtin/common/mark.js.map +1 -1
  796. package/esm/theme/builtin/common/series/area.js +1 -4
  797. package/esm/theme/builtin/common/series/area.js.map +1 -1
  798. package/esm/theme/builtin/common/series/bar.js +1 -4
  799. package/esm/theme/builtin/common/series/bar.js.map +1 -1
  800. package/esm/theme/builtin/common/series/bar3d.js +0 -3
  801. package/esm/theme/builtin/common/series/bar3d.js.map +1 -1
  802. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  803. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  804. package/esm/theme/builtin/common/series/dot.js +8 -2
  805. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  806. package/esm/theme/builtin/common/series/funnel.js +6 -5
  807. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  808. package/esm/theme/builtin/common/series/funnel3d.js +6 -5
  809. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  810. package/esm/theme/builtin/common/series/line.js +1 -4
  811. package/esm/theme/builtin/common/series/line.js.map +1 -1
  812. package/esm/theme/builtin/common/series/map.js +4 -2
  813. package/esm/theme/builtin/common/series/map.js.map +1 -1
  814. package/esm/theme/builtin/common/series/pie.js +0 -3
  815. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  816. package/esm/theme/builtin/common/series/pie3d.js +1 -6
  817. package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
  818. package/esm/theme/builtin/common/series/radar.js +1 -4
  819. package/esm/theme/builtin/common/series/radar.js.map +1 -1
  820. package/esm/theme/builtin/common/series/rangeColumn.js +1 -4
  821. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  822. package/esm/theme/builtin/common/series/rose.js +1 -2
  823. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  824. package/esm/theme/builtin/common/series/sankey.js +0 -1
  825. package/esm/theme/builtin/common/series/sankey.js.map +1 -1
  826. package/esm/theme/builtin/common/series/scatter.js +1 -4
  827. package/esm/theme/builtin/common/series/scatter.js.map +1 -1
  828. package/esm/theme/builtin/common/series/sunburst.js +6 -1
  829. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  830. package/esm/theme/builtin/common/series/treemap.js +8 -6
  831. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  832. package/esm/theme/builtin/common/series/waterfall.js +4 -7
  833. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  834. package/esm/theme/builtin/dark/color-scheme.js +5 -3
  835. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  836. package/esm/theme/builtin/index.d.ts +0 -1
  837. package/esm/theme/builtin/index.js +0 -2
  838. package/esm/theme/builtin/index.js.map +1 -1
  839. package/esm/theme/builtin/light/color-scheme.js +4 -2
  840. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  841. package/esm/theme/builtin/light/index.js +2 -2
  842. package/esm/theme/builtin/light/index.js.map +1 -1
  843. package/esm/theme/color-scheme/builtin/interface.d.ts +22 -0
  844. package/esm/theme/color-scheme/builtin/interface.js +2 -0
  845. package/esm/theme/color-scheme/builtin/interface.js.map +1 -0
  846. package/esm/theme/color-scheme/interface.d.ts +3 -2
  847. package/esm/theme/color-scheme/interface.js.map +1 -1
  848. package/esm/theme/color-scheme/util.js +8 -3
  849. package/esm/theme/color-scheme/util.js.map +1 -1
  850. package/esm/theme/interface.d.ts +16 -5
  851. package/esm/theme/interface.js.map +1 -1
  852. package/esm/typings/spec/common.d.ts +2 -1
  853. package/esm/typings/spec/common.js.map +1 -1
  854. package/esm/typings/visual.d.ts +10 -20
  855. package/esm/typings/visual.js.map +1 -1
  856. package/esm/util/data.d.ts +0 -8
  857. package/esm/util/data.js +1 -7
  858. package/esm/util/data.js.map +1 -1
  859. package/esm/util/object.d.ts +2 -4
  860. package/esm/util/object.js +2 -13
  861. package/esm/util/object.js.map +1 -1
  862. package/esm/util/scale.d.ts +2 -6
  863. package/esm/util/scale.js +1 -5
  864. package/esm/util/scale.js.map +1 -1
  865. package/esm/util/space.d.ts +3 -10
  866. package/esm/util/space.js +5 -23
  867. package/esm/util/space.js.map +1 -1
  868. package/esm/util/spec/background.d.ts +4 -0
  869. package/esm/util/spec/background.js +21 -0
  870. package/esm/util/spec/background.js.map +1 -0
  871. package/esm/util/spec/clone-deep.d.ts +1 -0
  872. package/esm/util/spec/clone-deep.js +20 -0
  873. package/esm/util/spec/clone-deep.js.map +1 -0
  874. package/esm/util/spec/common.d.ts +3 -0
  875. package/esm/util/spec/common.js +15 -0
  876. package/esm/util/spec/common.js.map +1 -0
  877. package/esm/util/spec/index.d.ts +7 -0
  878. package/esm/util/spec/index.js +14 -0
  879. package/esm/util/spec/index.js.map +1 -0
  880. package/esm/util/spec/merge-spec.d.ts +1 -0
  881. package/esm/util/spec/merge-spec.js +48 -0
  882. package/esm/util/spec/merge-spec.js.map +1 -0
  883. package/esm/util/spec/merge-theme.d.ts +3 -0
  884. package/esm/util/spec/merge-theme.js +34 -0
  885. package/esm/util/spec/merge-theme.js.map +1 -0
  886. package/esm/util/spec/preprocess.d.ts +3 -0
  887. package/esm/util/spec/preprocess.js +20 -0
  888. package/esm/util/spec/preprocess.js.map +1 -0
  889. package/esm/util/spec/transform.d.ts +3 -0
  890. package/esm/util/spec/transform.js +20 -0
  891. package/esm/util/spec/transform.js.map +1 -0
  892. package/esm/util/text.d.ts +1 -2
  893. package/esm/util/text.js +4 -12
  894. package/esm/util/text.js.map +1 -1
  895. package/esm/vchart-all.js +2 -2
  896. package/esm/vchart-all.js.map +1 -1
  897. package/esm/vchart-simple.js +18 -2
  898. package/esm/vchart-simple.js.map +1 -1
  899. package/package.json +20 -13
  900. package/cjs/component/axis/utils.js.map +0 -1
  901. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  902. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  903. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  904. package/cjs/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  905. package/cjs/theme/builtin/common/component/axis/log-axis.js +0 -22
  906. package/cjs/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  907. package/cjs/theme/builtin/constant.d.ts +0 -2
  908. package/cjs/theme/builtin/constant.js +0 -8
  909. package/cjs/theme/builtin/constant.js.map +0 -1
  910. package/cjs/util/spec.d.ts +0 -17
  911. package/cjs/util/spec.js +0 -121
  912. package/cjs/util/spec.js.map +0 -1
  913. package/esm/component/axis/utils.js.map +0 -1
  914. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  915. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  916. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  917. package/esm/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  918. package/esm/theme/builtin/common/component/axis/log-axis.js +0 -18
  919. package/esm/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  920. package/esm/theme/builtin/constant.d.ts +0 -2
  921. package/esm/theme/builtin/constant.js +0 -4
  922. package/esm/theme/builtin/constant.js.map +0 -1
  923. package/esm/util/spec.d.ts +0 -17
  924. package/esm/util/spec.js +0 -112
  925. package/esm/util/spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["/**\n * @todo vgrammar axis 支持 mode: '3d' 配置传入\n */\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport type { IRegion } from '../../../region/interface';\nimport type { IAxisLocationCfg, ICartesianAxisCommonSpec, IAxisHelper, ICartesianAxisCommonTheme } from './interface';\nimport { isArray, isValid, isValidNumber, merge, eachSeries, isNil, isUndefined } from '../../../util';\nimport type { IOrientType } from '../../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings/space';\nimport type { IBaseScale, ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport { autoAxisType, isXAxis, getOrient, isZAxis, isYAxis } from './util';\nimport { ChartEvent, DEFAULT_LAYOUT_RECT_LEVEL, LayoutZIndex, USER_LAYOUT_RECT_LEVEL } from '../../../constant';\nimport { LayoutLevel } from '../../../constant/index';\nimport pluginMap from '../../../plugin/components';\nimport type { IPoint, StringOrNumber } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar';\nimport type { LineAxisAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidCartesianAxis } from '../utils';\nimport type { IAxis, ITick } from '../interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { ICartesianTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { DataSet } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\n\nconst CartesianAxisPlugin = [pluginMap.AxisLabelOverlapPlugin, pluginMap.AxisSyncPlugin];\n\nexport abstract class CartesianAxis<T extends ICartesianAxisCommonSpec = ICartesianAxisCommonSpec>\n extends AxisComponent<T>\n implements IAxis\n{\n static type = ComponentTypeEnum.cartesianAxis;\n type = ComponentTypeEnum.cartesianAxis;\n name: string = ComponentTypeEnum.cartesianAxis;\n\n // 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n declare directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n layoutZIndex: number = LayoutZIndex.Axis;\n layoutLevel: number = LayoutLevel.Axis;\n\n protected _dataSet: DataSet;\n\n layout3dBox?: { width: number; height: number; length: number };\n\n protected _orient: IOrientType = 'left';\n get orient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n this._layoutOrient = v;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme;\n\n protected _statisticsDomain: {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n } = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n protected _tick: ITick | undefined = undefined;\n\n private _axisStyle: Partial<LineAxisAttributes>;\n private _latestBounds: IBounds;\n private _verticalLimitSize: number;\n\n protected _layoutCache: {\n width: number;\n height: number;\n _lastComputeOutBounds: IBoundsLike;\n } = { width: 0, height: 0, _lastComputeOutBounds: { x1: 0, x2: 0, y1: 0, y2: 0 } };\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec, ['z']);\n if (isZAxis(this._orient)) {\n this.layoutType = 'absolute';\n }\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n this._layoutOrient = this._orient;\n this._dataSet = options.dataSet;\n }\n\n static createAxis(spec: any, options: IComponentOption, isHorizontal: boolean = false): IAxis {\n const axisType = spec.type ?? autoAxisType(spec.orient, isHorizontal);\n const componentName = `${CartesianAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n // 这里处理下 direction === 'horizontal' 下的 Y 轴\n // 因为 Y 轴绘制的时候默认是从下至上绘制的,但是在 direction === 'horizontal' 场景下,图表应该是按照从上至下阅读的\n // 所以这里在这种场景下坐标轴会默认 inverse 已达到效果\n let inverse = spec.inverse;\n if (isHorizontal && !isXAxis(spec.orient)) {\n inverse = isValid(spec.inverse) ? !spec.inverse : true;\n }\n return new C(\n {\n ...spec,\n type: axisType,\n inverse\n },\n options\n ) as IAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(CartesianAxis.type)) {\n return null;\n }\n const regions = options.getRegionsInIndex();\n if (regions.find(r => r.coordinate !== 'cartesian')) {\n return null;\n }\n let axesSpec = spec[CartesianAxis.specKey] || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n const isHorizontal = spec.direction === Direction.horizontal;\n if (!isArray(axesSpec)) {\n // 如果非法,或者只有一个z轴就不创建\n if (!isValidCartesianAxis(axesSpec)) {\n return null;\n }\n return CartesianAxis.createAxis(axesSpec, options, isHorizontal);\n }\n // 处理spec\n const zAxis = axesSpec.filter(s => s.orient === 'z')[0];\n let valid = true;\n if (zAxis) {\n const xAxis = axesSpec.filter(s => s.orient === 'bottom')[0];\n const yAxis = axesSpec.filter(s => isYAxis(s.orient))[0];\n // 必须有x和y,且x必须是bottom\n valid = axesSpec.length === 3 && xAxis && yAxis;\n }\n if (!valid) {\n axesSpec = axesSpec.filter(s => s.orient !== 'z');\n }\n const axes: IAxis[] = [];\n axesSpec.forEach((s: any, i: any) => {\n if (!isValidCartesianAxis(s)) {\n return;\n }\n axes.push(\n CartesianAxis.createAxis(\n s,\n {\n ...options,\n specIndex: i,\n specKey: CartesianAxis.specKey\n },\n isHorizontal\n ) as IAxis\n );\n });\n return axes;\n }\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.orient)) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.orient)) {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.orient)) {\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: IAxisLocationCfg): number;\n abstract valueToPosition(value: any): number;\n\n protected updateScaleRange() {\n let isScaleChange = false;\n const { width, height } = this.getLayoutRect();\n const inverse = this._spec.inverse;\n let newRange: number[] = [];\n if (isXAxis(this.orient)) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n }\n } else if (isZAxis(this.orient)) {\n if (isValidNumber(width)) {\n // TODO 这里需要设置布局\n newRange = inverse ? [width, 0] : [0, width];\n this._scale.range(newRange);\n }\n } else {\n if (isValidNumber(height)) {\n newRange = inverse ? [0, height] : [height, 0];\n }\n }\n\n const [start, end] = this._scale.range();\n if (newRange[0] !== start || newRange[1] !== end) {\n isScaleChange = true;\n this._scale.range(newRange);\n }\n\n return isScaleChange;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.pluginService?.load(CartesianAxisPlugin.map(P => new P()));\n this.callPlugin(plugin => {\n this.pluginService && plugin.onInit && plugin.onInit(this.pluginService, this);\n });\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const isX = isXAxis(this.orient);\n if (isX) {\n if (isUndefined(this._spec.maxHeight)) {\n this._spec.maxHeight = '30%';\n }\n } else if (isUndefined(this._spec.maxWidth)) {\n this._spec.maxWidth = '30%';\n }\n\n const axisStyle: any = this._getAxisAttributes();\n axisStyle.label.formatMethod = this.getLabelFormatMethod();\n axisStyle.verticalFactor = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n }\n\n protected getSeriesStatisticsField(s: ICartesianSeries) {\n let f: string[];\n if (isXAxis(this.orient)) {\n f = s.fieldX;\n } else if (isZAxis(this.orient)) {\n f = s.fieldZ;\n } else {\n f = s.fieldY;\n }\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected _initData() {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._tick || {};\n const tickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected axisHelper(): IAxisHelper {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n return {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n // TODO 轴可以设置domain\n getStatisticsDomain: () => this.getStatisticsDomain(),\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._spec.inverse === true\n };\n }\n\n /** LifeCycle API**/\n afterCompile() {\n const product = this.getMarks()[0]?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n // 插件在布局后\n if (isXAxis(this.orient)) {\n this.callPlugin(plugin => {\n this.pluginService &&\n plugin.onDidLayoutHorizontal &&\n plugin.onDidLayoutHorizontal(this.pluginService, this);\n });\n } else {\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidLayoutVertical && plugin.onDidLayoutVertical(this.pluginService, this);\n });\n }\n\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidCompile && plugin.onDidCompile(this.pluginService, this);\n });\n }\n\n onLayoutEnd(ctx: any): void {\n const isRangeChange = this.updateScaleRange();\n if (isRangeChange) {\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n // 这里会执行 computeData ,会执行系列scale更新\n } else {\n this.updateSeriesScale();\n }\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n protected collectScale() {\n const scales: IBaseScale[] = [];\n eachSeries(\n this._regions,\n s => {\n scales.push(\n this.orient === 'left' || this.orient === 'right'\n ? (s as ICartesianSeries).scaleY\n : (s as ICartesianSeries).scaleX\n );\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return scales;\n }\n\n protected collectData(depth?: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n if (isXAxis(this.orient)) {\n field = (s as ICartesianSeries).fieldX2\n ? [...(s as ICartesianSeries).fieldX, (s as ICartesianSeries).fieldX2]\n : (s as ICartesianSeries).fieldX;\n } else if (isZAxis(this.orient)) {\n field = (s as ICartesianSeries).fieldZ;\n } else {\n field = (s as ICartesianSeries).fieldY;\n }\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected updateSeriesScale() {\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.orient)) {\n (s as ICartesianSeries).setScaleX(this._scale);\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.orient)) {\n (s as ICartesianSeries).setScaleY(this._scale);\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.orient)) {\n (s as ICartesianSeries).setScaleZ(this._scale);\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this._orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this._orient === 'top') * this.getLayoutRect().height;\n }\n super.setLayoutStartPosition({ x, y });\n }\n\n computeBoundsInRect(rect: ILayoutRect) {\n const result = super.computeBoundsInRect(rect);\n if (!this._visible) {\n return result;\n }\n const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);\n switch (this._layoutOrient) {\n case 'left':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x1 < 0 ? -bounds.x1 : 0;\n }\n break;\n case 'right':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x2 > 0 ? bounds.x2 : 0;\n }\n break;\n case 'top':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y1 < 0 ? -bounds.y1 : 0;\n }\n break;\n case 'bottom':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y2 > 0 ? bounds.y2 : 0;\n }\n break;\n default:\n break;\n }\n result.width = Math.ceil(result.width);\n result.height = Math.ceil(result.height);\n // because of changed width\\height, reset result in spec configuration.\n return this._setRectInSpec(this._layoutCacheProcessing(result));\n }\n /**\n * bounds 预计算\n * @param rect\n * @returns\n */\n boundsInRect(rect: ILayoutRect): IBoundsLike {\n let result: IBoundsLike = { x1: 0, y1: 0, x2: 0, y2: 0 };\n if (!this._visible) {\n return result;\n }\n this._verticalLimitSize = isXAxis(this.orient) ? rect.height : rect.width;\n\n this.setLayoutRect(rect);\n this.updateScaleRange();\n this.computeData();\n const isX = isXAxis(this.orient);\n const context = { skipLayout: false };\n\n if (isX) {\n // 钩子直接传 vchart 的 component 实例\n this.pluginService &&\n this.callPlugin(plugin => {\n plugin.onWillLayoutHorizontal && plugin.onWillLayoutHorizontal(this.pluginService, context, this);\n });\n } else {\n this.pluginService &&\n this.callPlugin(plugin => {\n plugin.onWillLayoutVertical && plugin.onWillLayoutVertical(this.pluginService, context, this);\n });\n }\n const product = this.getMarks()[0].getProduct();\n this._latestBounds = product.getBounds();\n if (!context.skipLayout) {\n const attrs = this._getUpdateAttribute(true);\n const axisComponent = product.getGroupGraphicItem();\n const updateBounds = axisComponent.getBoundsWithoutRender(\n merge({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs)\n );\n if (isFinite(updateBounds.width())) {\n result = updateBounds;\n this._latestBounds = updateBounds;\n }\n }\n return result;\n }\n\n updateLayoutAttribute(): void {\n if (!this.visible) {\n return;\n }\n // 正式的更新布局属性\n const attrs = this._getUpdateAttribute(false);\n const product = this.getMarks()[0].getProduct(); // 获取语法元素\n const axisAttrs = merge({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs);\n product.encode(axisAttrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this._spec.title.visible && isNil(this._spec.title.style?.maxLineWidth)) {\n const angle = this._axisStyle.title?.angle ?? this._spec.title.style?.angle ?? 0;\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(angle));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(angle));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n private _getUpdateAttribute(ignoreGrid: boolean) {\n // 获取更新的坐标轴属性\n let regionHeight = 0;\n let regionWidth = 0;\n\n if (!ignoreGrid) {\n const regions = this.getRegions();\n let { x: minX, y: minY } = regions[0].getLayoutStartPoint();\n let maxX = minX + regions[0].getLayoutRect().width;\n let maxY = minY + regions[0].getLayoutRect().height;\n\n for (let index = 1; index < regions.length; index++) {\n const region = regions[index];\n const { x, y } = region.getLayoutStartPoint();\n const { width, height } = region.getLayoutRect();\n\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, width + x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, height + y);\n }\n regionHeight = Math.abs(maxY - minY);\n regionWidth = Math.abs(maxX - minX);\n }\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const isY = isYAxis(this._orient);\n const isZ = isZAxis(this._orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n const depth = this.layout3dBox ? this.layout3dBox.length : 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n if (isZ) {\n const directionStr = this.directionStr ?? 'r2l';\n const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = this.layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n return {\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n z: z,\n alpha,\n anchor3d,\n grid: {\n type: 'line',\n depth: depthZ,\n length: regionHeight,\n visible: this._spec.grid.visible && !ignoreGrid\n },\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(width)\n } as LineAxisAttributes;\n }\n let verticalMinSize = isX ? this._minHeight : this._minWidth;\n if (\n (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||\n (isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)\n ) {\n verticalMinSize = this._verticalLimitSize;\n }\n const attrs: LineAxisAttributes = {\n start: { x: 0, y: 0 },\n end,\n grid: {\n type: 'line',\n depth,\n length: gridLength,\n visible: this._spec.grid.visible && !ignoreGrid\n },\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(axisLength),\n verticalLimitSize: this._verticalLimitSize,\n verticalMinSize\n };\n\n return attrs;\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n // 布局结束之后处理 0 基线问题\n this.event.on(ChartEvent.layoutEnd, this._fixAxisOnZero);\n // 图表resize后,需要正常布局,清除布局缓存\n this.event.on(ChartEvent.layoutRectUpdate, () => {\n this._clearLayoutCache();\n });\n }\n }\n\n private _fixAxisOnZero = () => {\n // 在布局结束之后调整坐标轴零基线\n const { onZero, visible } = this._spec.domainLine;\n if (this.visible && onZero && visible !== false) {\n const { onZeroAxisId, onZeroAxisIndex } = this._spec.domainLine;\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n const isX = isXAxis(this.orient);\n\n // 判断坐标轴是否可用\n const isValidAxis = (item: any) => {\n return (\n (isX ? !isXAxis(item.orient) : isXAxis(item.orient)) &&\n isContinuous(item.getScale().type) &&\n item\n .getTickData()\n .getLatestData()\n ?.find((d: any) => d.value === 0)\n );\n };\n const relativeAxes = axesComponents.filter(item => isValidAxis(item));\n if (relativeAxes.length) {\n let bindAxis;\n if (isValid(onZeroAxisId)) {\n bindAxis = relativeAxes.find(axis => axis.id === onZeroAxisId);\n } else if (isValid(onZeroAxisIndex)) {\n const indexAxis = axesComponents[onZeroAxisIndex];\n if (isValidAxis(indexAxis)) {\n bindAxis = indexAxis;\n }\n } else {\n // 默认绑定第一条的相对坐标轴\n bindAxis = relativeAxes[0];\n }\n if (bindAxis) {\n const axisMark = this.getMarks()[0].getProduct();\n // 找到了绑定的 axis,获取基线的位置\n const position = bindAxis.valueToPosition(0);\n // 获取偏移量\n if (isX) {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dy: this._orient === 'bottom' ? -(bindAxis.getScale().range()[0] - position) : position\n }\n });\n } else {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dx: this._orient === 'left' ? position : -(bindAxis.getScale().range()[1] - position)\n }\n });\n }\n }\n }\n }\n };\n\n protected _layoutCacheProcessing(rect: ILayoutRect) {\n ['width', 'height'].forEach(key => {\n if (rect[key] < this._layoutCache[key]) {\n rect[key] = this._layoutCache[key];\n } else {\n this._layoutCache[key] = rect[key];\n }\n });\n\n // outBounds\n ['x1', 'x2', 'y1', 'y2'].forEach(key => {\n if (this._lastComputeOutBounds[key] < this._layoutCache._lastComputeOutBounds[key]) {\n this._lastComputeOutBounds[key] = this._layoutCache._lastComputeOutBounds[key];\n } else {\n this._layoutCache._lastComputeOutBounds[key] = this._lastComputeOutBounds[key];\n }\n });\n\n return rect;\n }\n\n _clearLayoutCache() {\n this._layoutCache.width = 0;\n this._layoutCache.height = 0;\n this._layoutCache._lastComputeOutBounds = { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n onDataUpdate(): void {\n // clear layout cache\n this._clearLayoutCache();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["/**\n * @todo vgrammar axis 支持 mode: '3d' 配置传入\n */\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport type { IRegion } from '../../../region/interface';\nimport type { IAxisLocationCfg, ICartesianAxisCommonSpec, IAxisHelper, ICartesianAxisCommonTheme } from './interface';\nimport { isArray, isValid, isValidNumber, mergeSpec, eachSeries, isNil, isUndefined } from '../../../util';\nimport type { IOrientType } from '../../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings/space';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport { autoAxisType, isXAxis, getOrient, isZAxis, isYAxis } from './util';\nimport { ChartEvent, DEFAULT_LAYOUT_RECT_LEVEL, LayoutZIndex, USER_LAYOUT_RECT_LEVEL } from '../../../constant';\nimport { LayoutLevel } from '../../../constant/index';\nimport pluginMap from '../../../plugin/components';\nimport type { IPoint, StringOrNumber } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar';\nimport type { LineAxisAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidCartesianAxis } from '../util';\nimport type { IAxis, ITick } from '../interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { ICartesianTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { DataSet } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\n\nconst CartesianAxisPlugin = [pluginMap.AxisSyncPlugin];\n\nexport abstract class CartesianAxis<T extends ICartesianAxisCommonSpec = ICartesianAxisCommonSpec>\n extends AxisComponent<T>\n implements IAxis\n{\n static type = ComponentTypeEnum.cartesianAxis;\n type = ComponentTypeEnum.cartesianAxis;\n name: string = ComponentTypeEnum.cartesianAxis;\n\n // 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n declare directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n layoutZIndex: number = LayoutZIndex.Axis;\n layoutLevel: number = LayoutLevel.Axis;\n\n protected _dataSet: DataSet;\n\n layout3dBox?: { width: number; height: number; length: number };\n\n protected _orient: IOrientType = 'left';\n getOrient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n this._layoutOrient = v;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme;\n\n protected _statisticsDomain: {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n } = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n protected _tick: ITick | undefined = undefined;\n\n private _axisStyle: Partial<LineAxisAttributes>;\n private _latestBounds: IBounds;\n private _verticalLimitSize: number;\n\n protected _layoutCache: {\n width: number;\n height: number;\n _lastComputeOutBounds: IBoundsLike;\n } = { width: 0, height: 0, _lastComputeOutBounds: { x1: 0, x2: 0, y1: 0, y2: 0 } };\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec, ['z']);\n if (isZAxis(this._orient)) {\n this.layoutType = 'absolute';\n }\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n this._layoutOrient = this._orient;\n this._dataSet = options.dataSet;\n }\n\n static createAxis(spec: any, options: IComponentOption, isHorizontal: boolean = false): IAxis {\n const axisType = spec.type ?? autoAxisType(spec.orient, isHorizontal);\n const componentName = `${CartesianAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n // 这里处理下 direction === 'horizontal' 下的 Y 轴\n // 因为 Y 轴绘制的时候默认是从下至上绘制的,但是在 direction === 'horizontal' 场景下,图表应该是按照从上至下阅读的\n // 所以这里在这种场景下坐标轴会默认 inverse 已达到效果\n let inverse = spec.inverse;\n if (isHorizontal && !isXAxis(spec.orient)) {\n inverse = isValid(spec.inverse) ? !spec.inverse : true;\n }\n return new C(\n {\n ...spec,\n type: axisType,\n inverse\n },\n options\n ) as IAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(CartesianAxis.type)) {\n return null;\n }\n const regions = options.getRegionsInIndex();\n if (regions.find(r => r.coordinate !== 'cartesian')) {\n return null;\n }\n let axesSpec = spec[CartesianAxis.specKey] || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n const isHorizontal = spec.direction === Direction.horizontal;\n if (!isArray(axesSpec)) {\n // 如果非法,或者只有一个z轴就不创建\n if (!isValidCartesianAxis(axesSpec)) {\n return null;\n }\n return CartesianAxis.createAxis(axesSpec, options, isHorizontal);\n }\n // 处理spec\n const zAxis = axesSpec.filter(s => s.orient === 'z')[0];\n let valid = true;\n if (zAxis) {\n const xAxis = axesSpec.filter(s => s.orient === 'bottom')[0];\n const yAxis = axesSpec.filter(s => isYAxis(s.orient))[0];\n // 必须有x和y,且x必须是bottom\n valid = axesSpec.length === 3 && xAxis && yAxis;\n }\n if (!valid) {\n axesSpec = axesSpec.filter(s => s.orient !== 'z');\n }\n const axes: IAxis[] = [];\n axesSpec.forEach((s: any, i: any) => {\n if (!isValidCartesianAxis(s)) {\n return;\n }\n axes.push(\n CartesianAxis.createAxis(\n s,\n {\n ...options,\n specIndex: i,\n specKey: CartesianAxis.specKey\n },\n isHorizontal\n ) as IAxis\n );\n });\n return axes;\n }\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: IAxisLocationCfg): number;\n abstract valueToPosition(value: any): number;\n\n protected updateScaleRange() {\n let isScaleChange = false;\n const { width, height } = this.getLayoutRect();\n const inverse = this._spec.inverse;\n let newRange: number[] = [];\n if (isXAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n }\n } else if (isZAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n // TODO 这里需要设置布局\n newRange = inverse ? [width, 0] : [0, width];\n this._scale.range(newRange);\n }\n } else {\n if (isValidNumber(height)) {\n newRange = inverse ? [0, height] : [height, 0];\n }\n }\n\n const [start, end] = this._scale.range();\n if (newRange[0] !== start || newRange[1] !== end) {\n isScaleChange = true;\n this._scale.range(newRange);\n }\n\n return isScaleChange;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.pluginService?.load(CartesianAxisPlugin.map(P => new P()));\n this.callPlugin(plugin => {\n this.pluginService && plugin.onInit && plugin.onInit(this.pluginService, this);\n });\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const isX = isXAxis(this.getOrient());\n if (isX) {\n if (isUndefined(this._spec.maxHeight)) {\n this._spec.maxHeight = '30%';\n }\n } else if (isUndefined(this._spec.maxWidth)) {\n this._spec.maxWidth = '30%';\n }\n\n const axisStyle: any = this._getAxisAttributes();\n axisStyle.label.formatMethod = this.getLabelFormatMethod();\n axisStyle.verticalFactor = this.getOrient() === 'top' || this.getOrient() === 'right' ? -1 : 1;\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n }\n\n protected getSeriesStatisticsField(s: ICartesianSeries) {\n let f: string[];\n if (isXAxis(this.getOrient())) {\n f = s.fieldX;\n } else if (isZAxis(this.getOrient())) {\n f = s.fieldZ;\n } else {\n f = s.fieldY;\n }\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected _initData() {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._tick || {};\n const tickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected axisHelper(): IAxisHelper {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n return {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n // TODO 轴可以设置domain\n getStatisticsDomain: () => this.getStatisticsDomain(),\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._spec.inverse === true\n };\n }\n\n /** LifeCycle API**/\n afterCompile() {\n const product = this.getMarks()[0]?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n // 插件在布局后\n if (isXAxis(this.getOrient())) {\n this.callPlugin(plugin => {\n this.pluginService &&\n plugin.onDidLayoutHorizontal &&\n plugin.onDidLayoutHorizontal(this.pluginService, this);\n });\n } else {\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidLayoutVertical && plugin.onDidLayoutVertical(this.pluginService, this);\n });\n }\n\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidCompile && plugin.onDidCompile(this.pluginService, this);\n });\n }\n\n onLayoutEnd(ctx: any): void {\n const isRangeChange = this.updateScaleRange();\n if (isRangeChange) {\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n // 这里会执行 computeData ,会执行系列scale更新\n } else {\n this.updateSeriesScale();\n }\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n protected collectScale() {\n const scales: IBaseScale[] = [];\n eachSeries(\n this._regions,\n s => {\n scales.push(\n this.getOrient() === 'left' || this.getOrient() === 'right'\n ? (s as ICartesianSeries).scaleY\n : (s as ICartesianSeries).scaleX\n );\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return scales;\n }\n\n protected collectData(depth?: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n if (isXAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldX2\n ? [...(s as ICartesianSeries).fieldX, (s as ICartesianSeries).fieldX2]\n : (s as ICartesianSeries).fieldX;\n } else if (isZAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldZ;\n } else {\n field = (s as ICartesianSeries).fieldY;\n }\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected updateSeriesScale() {\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleX(this._scale);\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleY(this._scale);\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleZ(this._scale);\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this._orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this._orient === 'top') * this.getLayoutRect().height;\n }\n super.setLayoutStartPosition({ x, y });\n }\n\n computeBoundsInRect(rect: ILayoutRect) {\n const result = super.computeBoundsInRect(rect);\n if (!this._visible) {\n return result;\n }\n const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);\n switch (this._layoutOrient) {\n case 'left':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x1 < 0 ? -bounds.x1 : 0;\n }\n break;\n case 'right':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x2 > 0 ? bounds.x2 : 0;\n }\n break;\n case 'top':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y1 < 0 ? -bounds.y1 : 0;\n }\n break;\n case 'bottom':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y2 > 0 ? bounds.y2 : 0;\n }\n break;\n default:\n break;\n }\n result.width = Math.ceil(result.width);\n result.height = Math.ceil(result.height);\n // because of changed width\\height, reset result in spec configuration.\n return this._setRectInSpec(this._layoutCacheProcessing(result));\n }\n /**\n * bounds 预计算\n * @param rect\n * @returns\n */\n boundsInRect(rect: ILayoutRect): IBoundsLike {\n let result: IBoundsLike = { x1: 0, y1: 0, x2: 0, y2: 0 };\n if (!this._visible) {\n return result;\n }\n this._verticalLimitSize = isXAxis(this.getOrient()) ? rect.height : rect.width;\n\n this.setLayoutRect(rect);\n this.updateScaleRange();\n this.computeData();\n const isX = isXAxis(this.getOrient());\n const context = { skipLayout: false };\n\n if (isX) {\n // 钩子直接传 vchart 的 component 实例\n this.pluginService &&\n this.callPlugin(plugin => {\n plugin.onWillLayoutHorizontal && plugin.onWillLayoutHorizontal(this.pluginService, context, this);\n });\n } else {\n this.pluginService &&\n this.callPlugin(plugin => {\n plugin.onWillLayoutVertical && plugin.onWillLayoutVertical(this.pluginService, context, this);\n });\n }\n const product = this.getMarks()[0].getProduct();\n this._latestBounds = product.getBounds();\n if (!context.skipLayout) {\n const attrs = this._getUpdateAttribute(true);\n const axisComponent = product.getGroupGraphicItem();\n const updateBounds = axisComponent.getBoundsWithoutRender(\n mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs)\n );\n if (isFinite(updateBounds.width())) {\n result = updateBounds;\n this._latestBounds = updateBounds;\n }\n }\n return result;\n }\n\n updateLayoutAttribute(): void {\n if (!this.visible) {\n return;\n }\n // 正式的更新布局属性\n const attrs = this._getUpdateAttribute(false);\n const product = this.getMarks()[0].getProduct(); // 获取语法元素\n const axisAttrs = mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs);\n product.encode(axisAttrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this._spec.title.visible && isNil(this._spec.title.style?.maxLineWidth)) {\n const angle = this._axisStyle.title?.angle ?? this._spec.title.style?.angle ?? 0;\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(angle));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(angle));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n private _getUpdateAttribute(ignoreGrid: boolean) {\n // 获取更新的坐标轴属性\n let regionHeight = 0;\n let regionWidth = 0;\n\n if (!ignoreGrid) {\n const regions = this.getRegions();\n let { x: minX, y: minY } = regions[0].getLayoutStartPoint();\n let maxX = minX + regions[0].getLayoutRect().width;\n let maxY = minY + regions[0].getLayoutRect().height;\n\n for (let index = 1; index < regions.length; index++) {\n const region = regions[index];\n const { x, y } = region.getLayoutStartPoint();\n const { width, height } = region.getLayoutRect();\n\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, width + x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, height + y);\n }\n regionHeight = Math.abs(maxY - minY);\n regionWidth = Math.abs(maxX - minX);\n }\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const isY = isYAxis(this._orient);\n const isZ = isZAxis(this._orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n const depth = this.layout3dBox ? this.layout3dBox.length : 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n if (isZ) {\n const directionStr = this.directionStr ?? 'r2l';\n const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = this.layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n return {\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n z: z,\n alpha,\n anchor3d,\n grid: {\n type: 'line',\n depth: depthZ,\n length: regionHeight,\n visible: this._spec.grid.visible && !ignoreGrid\n },\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(width)\n } as LineAxisAttributes;\n }\n let verticalMinSize = isX ? this._minHeight : this._minWidth;\n if (\n (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||\n (isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)\n ) {\n verticalMinSize = this._verticalLimitSize;\n }\n const attrs: LineAxisAttributes = {\n start: { x: 0, y: 0 },\n end,\n grid: {\n type: 'line',\n depth,\n length: gridLength,\n visible: this._spec.grid.visible && !ignoreGrid\n },\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items: this.getLabelItems(axisLength),\n verticalLimitSize: this._verticalLimitSize,\n verticalMinSize\n };\n\n return attrs;\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n // 布局结束之后处理 0 基线问题\n this.event.on(ChartEvent.layoutEnd, this._fixAxisOnZero);\n // 图表resize后,需要正常布局,清除布局缓存\n this.event.on(ChartEvent.layoutRectUpdate, () => {\n this._clearLayoutCache();\n });\n }\n }\n\n private _fixAxisOnZero = () => {\n // 在布局结束之后调整坐标轴零基线\n const { onZero, visible } = this._spec.domainLine;\n if (this.visible && onZero && visible !== false) {\n const { onZeroAxisId, onZeroAxisIndex } = this._spec.domainLine;\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n const isX = isXAxis(this.getOrient());\n\n // 判断坐标轴是否可用\n const isValidAxis = (item: any) => {\n return (\n (isX ? !isXAxis(item.orient) : isXAxis(item.orient)) &&\n isContinuous(item.getScale().type) &&\n item\n .getTickData()\n .getLatestData()\n ?.find((d: any) => d.value === 0)\n );\n };\n const relativeAxes = axesComponents.filter(item => isValidAxis(item));\n if (relativeAxes.length) {\n let bindAxis;\n if (isValid(onZeroAxisId)) {\n bindAxis = relativeAxes.find(axis => axis.id === onZeroAxisId);\n } else if (isValid(onZeroAxisIndex)) {\n const indexAxis = axesComponents[onZeroAxisIndex];\n if (isValidAxis(indexAxis)) {\n bindAxis = indexAxis;\n }\n } else {\n // 默认绑定第一条的相对坐标轴\n bindAxis = relativeAxes[0];\n }\n if (bindAxis) {\n const axisMark = this.getMarks()[0].getProduct();\n // 找到了绑定的 axis,获取基线的位置\n const position = bindAxis.valueToPosition(0);\n // 获取偏移量\n if (isX) {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dy: this._orient === 'bottom' ? -(bindAxis.getScale().range()[0] - position) : position\n }\n });\n } else {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dx: this._orient === 'left' ? position : -(bindAxis.getScale().range()[1] - position)\n }\n });\n }\n }\n }\n }\n };\n\n protected _layoutCacheProcessing(rect: ILayoutRect) {\n ['width', 'height'].forEach(key => {\n if (rect[key] < this._layoutCache[key]) {\n rect[key] = this._layoutCache[key];\n } else {\n this._layoutCache[key] = rect[key];\n }\n });\n\n // outBounds\n ['x1', 'x2', 'y1', 'y2'].forEach(key => {\n if (this._lastComputeOutBounds[key] < this._layoutCache._lastComputeOutBounds[key]) {\n this._lastComputeOutBounds[key] = this._layoutCache._lastComputeOutBounds[key];\n } else {\n this._layoutCache._lastComputeOutBounds[key] = this._lastComputeOutBounds[key];\n }\n });\n\n return rect;\n }\n\n _clearLayoutCache() {\n this._layoutCache.width = 0;\n this._layoutCache.height = 0;\n this._layoutCache._lastComputeOutBounds = { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n onDataUpdate(): void {\n // clear layout cache\n this._clearLayoutCache();\n }\n}\n"]}
@@ -3,4 +3,5 @@ export * from './linear-axis';
3
3
  export * from './band-axis';
4
4
  export * from './time-axis';
5
5
  export * from './log-axis';
6
+ export * from './symlog-axis';
6
7
  export * from './interface';
@@ -8,5 +8,7 @@ export * from "./time-axis";
8
8
 
9
9
  export * from "./log-axis";
10
10
 
11
+ export * from "./symlog-axis";
12
+
11
13
  export * from "./interface";
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './axis';\nexport * from './linear-axis';\nexport * from './band-axis';\nexport * from './time-axis';\nexport * from './log-axis';\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './axis';\nexport * from './linear-axis';\nexport * from './band-axis';\nexport * from './time-axis';\nexport * from './log-axis';\nexport * from './symlog-axis';\nexport * from './interface';\n"]}
@@ -2,7 +2,7 @@ import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typ
2
2
  import type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';
3
3
  import type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';
4
4
  import type { AxisItemStateStyle } from '@visactor/vrender-components';
5
- export type ICartesianAxisSpec = ICartesianLinearAxisSpec | ICartesianBandAxisSpec | ICartesianTimeAxisSpec | ICartesianLogAxisSpec;
5
+ export type ICartesianAxisSpec = ICartesianLinearAxisSpec | ICartesianBandAxisSpec | ICartesianTimeAxisSpec | ICartesianLogAxisSpec | ICartesianSymlogAxisSpec;
6
6
  export type ICartesianAxisCommonSpec = ICommonAxisSpec & {
7
7
  orient: IOrientType;
8
8
  grid?: IGrid;
@@ -34,3 +34,6 @@ export type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> &
34
34
  export type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {
35
35
  base?: number;
36
36
  };
37
+ export type ICartesianSymlogAxisSpec = ICartesianLinearAxisSpec & {
38
+ constant?: number;
39
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typings';\nimport type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';\nimport type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';\nimport type { AxisItemStateStyle } from '@visactor/vrender-components';\n\n/** spec */\nexport type ICartesianAxisSpec =\n | ICartesianLinearAxisSpec\n | ICartesianBandAxisSpec\n | ICartesianTimeAxisSpec\n | ICartesianLogAxisSpec;\n\nexport type ICartesianAxisCommonSpec = ICommonAxisSpec & {\n /** 轴位置 */\n orient: IOrientType;\n /**\n * 网格线配置\n */\n grid?: IGrid;\n /**\n * 子网格线配置\n */\n subGrid?: IGrid;\n /**\n * 轴线配置\n */\n domainLine?: ICartesianDomainLine;\n /**\n * 轴标签配置\n */\n label?: ICartesianLabel;\n /**\n * 轴标题配置\n */\n title?: ICartesianTitle;\n /**\n * 是否进行自动缩进\n * 设置为 true 时,当轴元素超出绘图区会被裁剪时,会对图表增加额外的padding,使轴可以显示完整\n */\n autoIndent?: boolean;\n /**\n * 坐标轴背景配置\n */\n background?: {\n /**\n * 是否绘制坐标轴背景\n * @default false\n */\n visible: boolean;\n /**\n * 背景样式\n */\n style?: Partial<IRectMarkSpec>;\n /**\n * 背景在交互状态下的样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * 是否是3d模式的轴\n */\n mode?: '2d' | '3d';\n /**\n * 轴的z方向深度\n */\n depth?: number;\n};\n\nexport interface ILinearAxisSync {\n axisId: StringOrNumber;\n zeroAlign?: boolean;\n tickAlign?: boolean;\n}\n\nexport type ICartesianLinearAxisSpec = ICartesianAxisCommonSpec &\n ILinearAxisSpec & {\n sync?: ILinearAxisSync;\n };\n\nexport type ICartesianBandAxisSpec = ICartesianAxisCommonSpec & IBandAxisSpec;\n\nexport type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> & {\n /**\n * 轴的层级配置。\n * layer[0] 为主轴,即离坐标轴线最近的轴\n * @description 目前仅支持单层 / 双层,即layers.length <= 2\n */\n layers?: ITimeLayerType[];\n};\n\nexport type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n base?: number;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typings';\nimport type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';\nimport type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';\nimport type { AxisItemStateStyle } from '@visactor/vrender-components';\n\n/** spec */\nexport type ICartesianAxisSpec =\n | ICartesianLinearAxisSpec\n | ICartesianBandAxisSpec\n | ICartesianTimeAxisSpec\n | ICartesianLogAxisSpec\n | ICartesianSymlogAxisSpec;\n\nexport type ICartesianAxisCommonSpec = ICommonAxisSpec & {\n /** 轴位置 */\n orient: IOrientType;\n /**\n * 网格线配置\n */\n grid?: IGrid;\n /**\n * 子网格线配置\n */\n subGrid?: IGrid;\n /**\n * 轴线配置\n */\n domainLine?: ICartesianDomainLine;\n /**\n * 轴标签配置\n */\n label?: ICartesianLabel;\n /**\n * 轴标题配置\n */\n title?: ICartesianTitle;\n /**\n * 是否进行自动缩进\n * 设置为 true 时,当轴元素超出绘图区会被裁剪时,会对图表增加额外的padding,使轴可以显示完整\n */\n autoIndent?: boolean;\n /**\n * 坐标轴背景配置\n */\n background?: {\n /**\n * 是否绘制坐标轴背景\n * @default false\n */\n visible: boolean;\n /**\n * 背景样式\n */\n style?: Partial<IRectMarkSpec>;\n /**\n * 背景在交互状态下的样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * 是否是3d模式的轴\n */\n mode?: '2d' | '3d';\n /**\n * 轴的z方向深度\n */\n depth?: number;\n};\n\nexport interface ILinearAxisSync {\n axisId: StringOrNumber;\n zeroAlign?: boolean;\n tickAlign?: boolean;\n}\n\nexport type ICartesianLinearAxisSpec = ICartesianAxisCommonSpec &\n ILinearAxisSpec & {\n sync?: ILinearAxisSync;\n };\n\nexport type ICartesianBandAxisSpec = ICartesianAxisCommonSpec & IBandAxisSpec;\n\nexport type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> & {\n /**\n * 轴的层级配置。\n * layer[0] 为主轴,即离坐标轴线最近的轴\n * @description 目前仅支持单层 / 双层,即layers.length <= 2\n */\n layers?: ITimeLayerType[];\n};\n\nexport type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n base?: number;\n};\n\nexport type ICartesianSymlogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n constant?: number;\n};\n"]}
@@ -6,8 +6,6 @@ import { isValid } from "../../../util";
6
6
 
7
7
  import { ComponentTypeEnum } from "../../interface";
8
8
 
9
- import { getLinearAxisSpecDomain } from "../utils";
10
-
11
9
  import { LinearAxisMixin } from "../mixin/linear-axis-mixin";
12
10
 
13
11
  import { mixin } from "@visactor/vutils";
@@ -18,7 +16,7 @@ export class CartesianLinearAxis extends CartesianAxis {
18
16
  this._nice = !0, this._extend = {}, this._scale = new LinearScale;
19
17
  }
20
18
  setAttrFromSpec() {
21
- super.setAttrFromSpec(), this.setExtraAttrFromSpec(), this._domain = getLinearAxisSpecDomain(this._spec);
19
+ super.setAttrFromSpec(), this.setExtraAttrFromSpec();
22
20
  }
23
21
  initScales() {
24
22
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAiBzC,MAAM,OAAO,mBAEX,SAAQ,aAAgB;IAF1B;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,WAAW,EAAE,CAAC;IAmC/D,CAAC;IAhCC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAwB,CAAC,CAAC;IACxE,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAzCM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AA4CtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid } from '../../../util';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { getLinearAxisSpecDomain } from '../utils';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { ILinearAxisSpec } from '../interface';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'dataToPosition'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n this._domain = getLinearAxisSpecDomain(this._spec as ILinearAxisSpec);\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBzC,MAAM,OAAO,mBAEX,SAAQ,aAAgB;IAF1B;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,WAAW,EAAE,CAAC;IAkC/D,CAAC;IA/BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxCM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AA2CtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid } from '../../../util';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'dataToPosition'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n"]}
@@ -0,0 +1,16 @@
1
+ import { CartesianLinearAxis } from './linear-axis';
2
+ import { ComponentTypeEnum } from '../../interface';
3
+ import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
4
+ import { SymlogScale } from '@visactor/vscale';
5
+ import type { ICartesianSymlogAxisSpec } from './interface';
6
+ export interface CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec> extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>, CartesianLinearAxis<T> {
7
+ }
8
+ export declare class CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec> extends CartesianLinearAxis<T> {
9
+ static type: ComponentTypeEnum;
10
+ type: ComponentTypeEnum;
11
+ protected _zero: boolean;
12
+ protected _scale: SymlogScale;
13
+ protected _scales: SymlogScale[];
14
+ protected initScales(): void;
15
+ transformScaleDomain(): void;
16
+ }
@@ -0,0 +1,24 @@
1
+ import { CartesianLinearAxis } from "./linear-axis";
2
+
3
+ import { ComponentTypeEnum } from "../../interface";
4
+
5
+ import { LinearAxisMixin } from "../mixin/linear-axis-mixin";
6
+
7
+ import { SymlogScale } from "@visactor/vscale";
8
+
9
+ import { mixin } from "@visactor/vutils";
10
+
11
+ export class CartesianSymlogAxis extends CartesianLinearAxis {
12
+ constructor() {
13
+ super(...arguments), this.type = ComponentTypeEnum.cartesianSymlogAxis, this._zero = !1,
14
+ this._scale = new SymlogScale;
15
+ }
16
+ initScales() {
17
+ var _a;
18
+ super.initScales(), this._scale.constant(null !== (_a = this._spec.constant) && void 0 !== _a ? _a : 10);
19
+ }
20
+ transformScaleDomain() {}
21
+ }
22
+
23
+ CartesianSymlogAxis.type = ComponentTypeEnum.cartesianSymlogAxis, mixin(CartesianSymlogAxis, LinearAxisMixin);
24
+ //# sourceMappingURL=symlog-axis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/component/axis/cartesian/symlog-axis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,MAAM,OAAO,mBAEX,SAAQ,mBAAsB;IAFhC;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAgB,IAAI,WAAW,EAAE,CAAC;IAcpD,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAlBM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AAqBtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC","file":"symlog-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { SymlogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianSymlogAxisSpec } from './interface';\n\nexport interface CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianSymlogAxis<\n T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec\n> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianSymlogAxis;\n type = ComponentTypeEnum.cartesianSymlogAxis;\n\n protected _zero: boolean = false;\n\n protected _scale: SymlogScale = new SymlogScale();\n protected declare _scales: SymlogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.constant(this._spec.constant ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianSymlogAxis, LinearAxisMixin);\n"]}
@@ -2,7 +2,7 @@ import { DataView } from "@visactor/vdataset";
2
2
 
3
3
  import { isXAxis, TimeUtil } from "./util";
4
4
 
5
- import { eachSeries, isArray, merge } from "../../../util";
5
+ import { eachSeries, isArray, mergeSpec } from "../../../util";
6
6
 
7
7
  import { CartesianLinearAxis } from "./linear-axis";
8
8
 
@@ -16,7 +16,7 @@ export class CartesianTimeAxis extends CartesianLinearAxis {
16
16
  this.effect = {
17
17
  scaleUpdate: () => {
18
18
  this.computeData(), eachSeries(this._regions, (s => {
19
- isXAxis(this.orient) ? s.setXAxisHelper(this.axisHelper()) : s.setYAxisHelper(this.axisHelper());
19
+ isXAxis(this.getOrient()) ? s.setXAxisHelper(this.axisHelper()) : s.setYAxisHelper(this.axisHelper());
20
20
  }), {
21
21
  userId: this._seriesUserId,
22
22
  specIndex: this._seriesIndex
@@ -26,7 +26,7 @@ export class CartesianTimeAxis extends CartesianLinearAxis {
26
26
  }
27
27
  setAttrFromSpec() {
28
28
  var _a;
29
- super.setAttrFromSpec(), this._tick = merge({}, this._spec.tick, null === (_a = this._spec.layers) || void 0 === _a ? void 0 : _a[0]);
29
+ super.setAttrFromSpec(), this._tick = mergeSpec({}, this._spec.tick, null === (_a = this._spec.layers) || void 0 === _a ? void 0 : _a[0]);
30
30
  }
31
31
  _initData() {
32
32
  var _a, _b, _c, _d, _e, _f, _g;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/time-axis.ts"],"names":[],"mappings":"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","file":"time-axis.js","sourcesContent":["import type { IEffect } from '../../../model/interface';\nimport { DataView } from '@visactor/vdataset';\nimport { isXAxis, TimeUtil } from './util';\nimport { eachSeries, isArray, merge } from '../../../util';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { CartesianLinearAxis } from './linear-axis';\nimport type { ICartesianTickDataOpt } from '../../../data/transforms/tick-data';\nimport { ComponentTypeEnum } from '../../interface';\nimport type { Datum } from '../../../typings';\nimport { CompilableData } from '../../../compile/data';\nimport type { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport type { ICartesianTimeAxisSpec } from './interface';\n\nexport interface CartesianTimeAxis<T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianTimeAxis<\n T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec\n> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianTimeAxis;\n type = ComponentTypeEnum.cartesianTimeAxis;\n\n protected _layerTickData!: CompilableData;\n\n protected _zero: boolean = false;\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.orient)) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._tick = merge({}, this._spec.tick, this._spec.layers?.[0]);\n }\n\n protected _initData() {\n super._initData();\n\n // 如果layer数组的第二项未配置,则不显示第二层\n if (this._spec.layers?.[1]) {\n const label = this._spec.label || {};\n const layerTickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: this._spec.layers?.[1]?.tickCount,\n forceTickCount: this._spec.layers?.[1]?.forceTickCount,\n tickStep: this._spec.layers?.[1]?.tickStep,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n // layerTickData.target.addListener('change', this.updateAxis.bind(this));\n\n this._layerTickData = new CompilableData(this._option, layerTickData);\n }\n }\n\n /**\n * @override\n */\n protected computeData(): void {\n super.computeData();\n if (this._layerTickData) {\n this._layerTickData.getDataView().reRunAllTransform();\n this._layerTickData.updateData();\n }\n }\n\n protected getLabelFormatMethod(): any {\n const timeUtil = TimeUtil.getInstance();\n const timeFormat1 = this._spec?.layers?.[1]?.timeFormat || '%Y%m%d';\n const timeFormatMode1 = this._spec?.layers?.[1]?.timeFormatMode || 'local';\n const timeFormatter1 = timeFormatMode1 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n const timeFormat0 = this._spec?.layers?.[0]?.timeFormat || '%Y%m%d';\n const timeFormatMode0 = this._spec?.layers?.[0]?.timeFormatMode || 'local';\n const timeFormatter0 = timeFormatMode0 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n return (value: any, datum: any, index: number, data: any[], layer: number) => {\n let timeValue: string;\n if (layer === 0) {\n timeValue = timeFormatter0(timeFormat0, value);\n } else {\n timeValue = timeFormatter1(timeFormat1, value);\n }\n\n return this._spec.label?.formatMethod ? this._spec.label.formatMethod(timeValue, datum) : timeValue;\n };\n }\n\n protected getLabelItems(length: number) {\n const items = [];\n if (isArray(this._tickData.getLatestData())) {\n items.push(\n this._tickData.getLatestData().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 );\n }\n\n if (this._layerTickData && isArray(this._layerTickData.getLatestData())) {\n items.push(\n this._layerTickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: value / length,\n rawValue: obj.value\n };\n })\n );\n }\n\n return items;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/time-axis.ts"],"names":[],"mappings":"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","file":"time-axis.js","sourcesContent":["import type { IEffect } from '../../../model/interface';\nimport { DataView } from '@visactor/vdataset';\nimport { isXAxis, TimeUtil } from './util';\nimport { eachSeries, isArray, mergeSpec } from '../../../util';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { CartesianLinearAxis } from './linear-axis';\nimport type { ICartesianTickDataOpt } from '../../../data/transforms/tick-data';\nimport { ComponentTypeEnum } from '../../interface';\nimport type { Datum } from '../../../typings';\nimport { CompilableData } from '../../../compile/data';\nimport type { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport type { ICartesianTimeAxisSpec } from './interface';\n\nexport interface CartesianTimeAxis<T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianTimeAxis<\n T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec\n> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianTimeAxis;\n type = ComponentTypeEnum.cartesianTimeAxis;\n\n protected _layerTickData!: CompilableData;\n\n protected _zero: boolean = false;\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._tick = mergeSpec({}, this._spec.tick, this._spec.layers?.[0]);\n }\n\n protected _initData() {\n super._initData();\n\n // 如果layer数组的第二项未配置,则不显示第二层\n if (this._spec.layers?.[1]) {\n const label = this._spec.label || {};\n const layerTickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: this._spec.layers?.[1]?.tickCount,\n forceTickCount: this._spec.layers?.[1]?.forceTickCount,\n tickStep: this._spec.layers?.[1]?.tickStep,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n // layerTickData.target.addListener('change', this.updateAxis.bind(this));\n\n this._layerTickData = new CompilableData(this._option, layerTickData);\n }\n }\n\n /**\n * @override\n */\n protected computeData(): void {\n super.computeData();\n if (this._layerTickData) {\n this._layerTickData.getDataView().reRunAllTransform();\n this._layerTickData.updateData();\n }\n }\n\n protected getLabelFormatMethod(): any {\n const timeUtil = TimeUtil.getInstance();\n const timeFormat1 = this._spec?.layers?.[1]?.timeFormat || '%Y%m%d';\n const timeFormatMode1 = this._spec?.layers?.[1]?.timeFormatMode || 'local';\n const timeFormatter1 = timeFormatMode1 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n const timeFormat0 = this._spec?.layers?.[0]?.timeFormat || '%Y%m%d';\n const timeFormatMode0 = this._spec?.layers?.[0]?.timeFormatMode || 'local';\n const timeFormatter0 = timeFormatMode0 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n return (value: any, datum: any, index: number, data: any[], layer: number) => {\n let timeValue: string;\n if (layer === 0) {\n timeValue = timeFormatter0(timeFormat0, value);\n } else {\n timeValue = timeFormatter1(timeFormat1, value);\n }\n\n return this._spec.label?.formatMethod ? this._spec.label.formatMethod(timeValue, datum) : timeValue;\n };\n }\n\n protected getLabelItems(length: number) {\n const items = [];\n if (isArray(this._tickData.getLatestData())) {\n items.push(\n this._tickData.getLatestData().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 );\n }\n\n if (this._layerTickData && isArray(this._layerTickData.getLatestData())) {\n items.push(\n this._layerTickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: value / length,\n rawValue: obj.value\n };\n })\n );\n }\n\n return items;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\n"]}
@@ -2,9 +2,9 @@ import type { Datum, IPadding, IPolarOrientType, IRectMarkSpec, IRuleMarkSpec, I
2
2
  import type { ICartesianAxisSpec } from './cartesian/interface';
3
3
  import type { IComponent } from '../interface';
4
4
  import type { IBaseScale } from '@visactor/vscale';
5
- import type { IModelSpec } from '../../model/interface';
6
5
  import type { IAnimationSpec } from '../../animation/spec';
7
6
  import type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';
7
+ import type { IComponentSpec } from '../base/interface';
8
8
  export interface StatisticsDomain {
9
9
  domain: any[];
10
10
  index: {
@@ -15,7 +15,7 @@ export interface IAxis extends IComponent {
15
15
  valueToPosition: (value: any) => number;
16
16
  getScale: () => IBaseScale;
17
17
  getScales: () => IBaseScale[];
18
- orient: ICartesianAxisSpec['orient'] | IPolarOrientType;
18
+ getOrient: () => ICartesianAxisSpec['orient'] | IPolarOrientType;
19
19
  visible: boolean;
20
20
  getStatisticsDomain: () => StatisticsDomain;
21
21
  }
@@ -28,16 +28,12 @@ export interface IAxisItemTheme<T> {
28
28
  style?: Omit<T, 'visible'>;
29
29
  }
30
30
  export type AxisAnimationPreset = 'groupFadeIn' | 'fadeIn' | 'grow';
31
- export interface ICommonAxisSpec extends Omit<IModelSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {
31
+ export interface ICommonAxisSpec extends Omit<IComponentSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {
32
32
  type?: AxisType;
33
33
  visible?: boolean;
34
34
  inverse?: boolean;
35
35
  tick?: ITick;
36
36
  subTick?: ISubTick;
37
- regionIndex?: number | number[];
38
- regionId?: StringOrNumber | StringOrNumber[];
39
- seriesIndex?: number | number[];
40
- seriesId?: StringOrNumber | StringOrNumber[];
41
37
  animation?: boolean;
42
38
  select?: boolean;
43
39
  hover?: boolean;
@@ -116,7 +112,7 @@ export interface ITitle extends IAxisItem<ITextMarkSpec> {
116
112
  state?: AxisItemStateStyle<Partial<ITextMarkSpec>>;
117
113
  }
118
114
  export type StyleCallback<T> = (value: any, index: number, datum: Datum, data: Datum[]) => T;
119
- export type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log';
115
+ export type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log' | 'symlog';
120
116
  export interface IAxisCommonTheme {
121
117
  grid?: IGrid;
122
118
  subGrid?: IGrid;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n Datum,\n IPadding,\n IPolarOrientType,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { ICartesianAxisSpec } from './cartesian/interface';\nimport type { IComponent } from '../interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IModelSpec } from '../../model/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';\n\nexport interface StatisticsDomain {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n}\n\nexport interface IAxis extends IComponent {\n valueToPosition: (value: any) => number;\n getScale: () => IBaseScale;\n getScales: () => IBaseScale[];\n orient: ICartesianAxisSpec['orient'] | IPolarOrientType;\n visible: boolean;\n getStatisticsDomain: () => StatisticsDomain;\n}\n\nexport interface IAxisItem<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\n\nexport interface IAxisItemTheme<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\nexport type AxisAnimationPreset = 'groupFadeIn' | 'fadeIn' | 'grow';\n\nexport interface ICommonAxisSpec extends Omit<IModelSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {\n /**\n * 轴类型\n */\n type?: AxisType;\n /**\n * 是否显示坐标轴\n * @default true\n */\n visible?: boolean;\n /**\n * 是否开启反向坐标轴。\n * @default false\n */\n inverse?: boolean;\n /**\n * 轴刻度线配置\n */\n tick?: ITick;\n /**\n * 子刻度线配置\n */\n subTick?: ISubTick;\n /**\n * 轴关联的region索引\n * @default 0\n */\n regionIndex?: number | number[];\n /**\n * 轴关联的region id\n */\n regionId?: StringOrNumber | StringOrNumber[];\n /**\n * 轴关联的系列索引,默认为0\n */\n seriesIndex?: number | number[];\n /**\n * 轴关联的系列id\n */\n seriesId?: StringOrNumber | StringOrNumber[];\n\n /**\n * 是否开启动画,默认关闭\n * @default false\n */\n animation?: boolean;\n\n // 交互相关的配置\n /**\n * 是否开启 select 选中交互,默认关闭\n * @default false\n */\n select?: boolean;\n /**\n * 是否开启 hover 悬浮交互,默认关闭\n * @default false\n */\n hover?: boolean;\n\n /**\n * 是否开启轴数据采样,默认开启。\n * 轴采样开启之后,会对轴数据进行采样显示,防止轴数据的重叠。\n * 通过配置 `label.minGap` 可以控制轴标签之间的间距。\n * @default true\n * @since 1.1.0\n */\n sampling?: boolean;\n}\n\nexport interface ILinearAxisSpec {\n // 线性轴数值范围配置\n /** 最小值,**优先级高于 zero,nice** */\n min?: number;\n /** 最大值,**优先级高于 zero,nice** */\n max?: number;\n\n /** @deparated 线性轴数值范围配置(已弃用,请使用外层 min/max) */\n range?: {\n /** @deparated 最小值 */\n min?: number;\n /** @deparated 最大值 */\n max?: number;\n };\n\n /**\n * 是否根据数据将轴范围调整到相对规整的数值\n * @default true\n * @description 当配置了 min 和 max,该配置项失效\n * @example 当配置了 max = 999, nice并不会将轴范围优化到1000\n */\n nice?: boolean;\n /**\n * nice效果的类型,是精度优先还是tickCount优先(比如tickCount为2那nice出来的精度就很低)\n * @default undefined('tickCountFirst')\n * @description 不配置就默认是tickCountFirst\n * @example 数据范围是0~6000,如果tickCount为2,那么tickCountFirst出来的range就是[0, 10000], accurateFirst出来的range就是[0, 6000]但10000显示不了\n */\n niceType?: 'tickCountFirst' | 'accurateFirst';\n /**\n * 是否包含0值\n * @default true\n * @description 当配置了 min和 max,该配置项失效\n */\n zero?: boolean;\n /**\n * 轴范围按比例扩展\n * @description 当配置了 min和 max,该配置项失效\n */\n expand?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IBandAxisSpec {\n /**\n * 同时设置轴的 paddingInner 和 paddingOuter\n * **因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 bandPadding 配置**\n */\n bandPadding?: number | number[];\n /**\n * band 轴的内边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingInner 配置**\n * @default 0.1\n */\n paddingInner?: number | number[];\n /**\n * band 轴的外边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingOuter 配置**\n * @default 0.3\n */\n paddingOuter?: number | number[];\n /**\n * 配置离散轴的数值范围\n * @since 1.1.0\n */\n domain?: StringOrNumber[];\n}\n// Grid 配置项\nexport interface IGrid extends IAxisItem<IRuleMarkSpec> {\n /**\n * 两个栅格线间的填充色\n */\n alternateColor?: string | string[];\n /**\n * grid 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /**\n * 网格线样式,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n}\n\n// 刻度线配置\nexport interface ITick extends IAxisItem<IRuleMarkSpec> {\n /**\n * Length of tick lines\n * 坐标轴刻度线的长度\n * @default 4\n */\n tickSize?: number;\n /**\n * 刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * tick 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /** tick步长 */\n tickStep?: number;\n /**\n * 期望的连续轴tick数量\n * The desired number of ticks draw on linear axis.\n * @default 10\n * @description 建议的tick数量,并不保证结果一定是配置值\n */\n tickCount?: number;\n /**\n * 强制设置tick数量\n * The exact number of ticks draw on linear axis. Might lead to decimal step.\n * @default 10\n * @description 强制设置的tick数量,可能由于数据范围导致tick值为小数\n */\n forceTickCount?: number;\n /**\n * 连续轴 tick 生成算法:\n * 'average': 尽可能均分;\n * 'd3':与 d3 默认逻辑一致,以 [1, 2, 5] 为基数生成;\n * @default 'average'\n * @since 1.3.0\n */\n tickMode?: 'average' | 'd3';\n /**\n * 连续轴,是否避免小数 tick。\n * @default false\n * @description 当配置了 tickStep 或 forceTickCount 时不生效。\n * @since 1.3.0\n */\n noDecimals?: boolean;\n /**\n * 刻度线样式设置,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n /**\n * 刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n /**\n * 用于 tick 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[]) => AxisItem[];\n}\n\n// 子刻度线配置\nexport interface ISubTick extends IAxisItem<IRuleMarkSpec> {\n /**\n * TODO: 考虑下 log 轴,自刻度线之间的间距是不均匀的问题\n * 子刻度个数\n */\n tickCount?: number;\n /**\n * 子刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /** 子刻度线的长度 */\n tickSize?: number;\n /**\n * 子刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标签配置\nexport interface ILabel extends IAxisItem<ITextMarkSpec> {\n /**\n * 轴标签内容格式化函数\n * @param text 原始标签文本值\n * @param datum 图形数据\n * @returns 格式化后的文本\n */\n formatMethod?: (text: string | string[], datum?: Datum) => string | string[];\n /** 标签同 tick 之间的间距 */\n space?: number;\n /**\n * 标签朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * 标签之间的最小间距(单位为像素),仅当轴采样开始时生效(`sampling: true`)。\n * 该配置会影响轴采样的结果。\n */\n minGap?: number;\n /**\n * 文本样式设置\n */\n style?: ITextMarkSpec | StyleCallback<ITextMarkSpec | undefined>;\n /**\n * label 不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<ITextMarkSpec>;\n /**\n * 用于 label 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[], layer: number) => AxisItem[];\n}\n\n// 轴线配置\nexport interface IDomainLine extends IAxisItem<IRuleMarkSpec> {\n /**\n * domainLine 在不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标题配置\nexport interface ITitle extends IAxisItem<ITextMarkSpec> {\n /**\n * 标题的显示位置,直角坐标系默认 'middle';\n * 极坐标系的圆弧轴如果配置了内半径,则默认 'middle',否则 'end'\n */\n position?: 'start' | 'middle' | 'end';\n /**\n * 标题距离坐标轴(轴线、刻度、标签共同构成的包围盒)的距离\n */\n space?: number;\n /**\n * 标题内边距配置\n */\n padding?: IPadding | number | number[];\n /**\n * 标题背景色设置\n */\n background?: IAxisItem<IRectMarkSpec> & {\n /**\n * 背景的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * TODO: 接入富文本\n * 标题 shape 配置\n */\n shape?: IAxisItem<ISymbolMarkSpec> & {\n /**\n * shape 同标题文本之间的间距\n */\n space?: number;\n /**\n * shape 标记的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ISymbolMarkSpec>>;\n };\n text?: string | string[];\n /**\n * 标题整体的旋转角度(如果标题配置了 background、shape 等属性的话,需要使用该属性进行整体的配置旋转)。\n */\n angle?: number;\n /**\n * text 文本的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ITextMarkSpec>>;\n}\n\nexport type StyleCallback<T> = (value: any, index: number, datum: Datum, data: Datum[]) => T;\nexport type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log';\n\nexport interface IAxisCommonTheme {\n /** 网格线配置 */\n grid?: IGrid;\n /** 网格线配置 */\n subGrid?: IGrid;\n /** 轴线配置 */\n domainLine?: IDomainLine;\n /** 轴标签配置 */\n label?: ILabel;\n /** 轴标题配置 */\n title?: ITitle;\n /** 轴刻度线配置 */\n tick?: ITick;\n /** 轴刻度线配置 */\n subTick?: ISubTick;\n}\n\nexport interface IBandAxisTheme extends IAxisCommonTheme {\n bandPadding?: number | number[];\n paddingInner?: number | number[];\n paddingOuter?: number | number[];\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n Datum,\n IPadding,\n IPolarOrientType,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { ICartesianAxisSpec } from './cartesian/interface';\nimport type { IComponent } from '../interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IModelSpec } from '../../model/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';\nimport type { IComponentSpec } from '../base/interface';\n\nexport interface StatisticsDomain {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n}\n\nexport interface IAxis extends IComponent {\n valueToPosition: (value: any) => number;\n getScale: () => IBaseScale;\n getScales: () => IBaseScale[];\n getOrient: () => ICartesianAxisSpec['orient'] | IPolarOrientType;\n visible: boolean;\n getStatisticsDomain: () => StatisticsDomain;\n}\n\nexport interface IAxisItem<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\n\nexport interface IAxisItemTheme<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\nexport type AxisAnimationPreset = 'groupFadeIn' | 'fadeIn' | 'grow';\n\nexport interface ICommonAxisSpec extends Omit<IComponentSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {\n /**\n * 轴类型\n */\n type?: AxisType;\n /**\n * 是否显示坐标轴\n * @default true\n */\n visible?: boolean;\n /**\n * 是否开启反向坐标轴。\n * @default false\n */\n inverse?: boolean;\n /**\n * 轴刻度线配置\n */\n tick?: ITick;\n /**\n * 子刻度线配置\n */\n subTick?: ISubTick;\n\n /**\n * 是否开启动画,默认关闭\n * @default false\n */\n animation?: boolean;\n\n // 交互相关的配置\n /**\n * 是否开启 select 选中交互,默认关闭\n * @default false\n */\n select?: boolean;\n /**\n * 是否开启 hover 悬浮交互,默认关闭\n * @default false\n */\n hover?: boolean;\n\n /**\n * 是否开启轴数据采样,默认开启。\n * 轴采样开启之后,会对轴数据进行采样显示,防止轴数据的重叠。\n * 通过配置 `label.minGap` 可以控制轴标签之间的间距。\n * @default true\n * @since 1.1.0\n */\n sampling?: boolean;\n}\n\nexport interface ILinearAxisSpec {\n // 线性轴数值范围配置\n /** 最小值,**优先级高于 zero,nice** */\n min?: number;\n /** 最大值,**优先级高于 zero,nice** */\n max?: number;\n\n /** @deparated 线性轴数值范围配置(已弃用,请使用外层 min/max) */\n range?: {\n /** @deparated 最小值 */\n min?: number;\n /** @deparated 最大值 */\n max?: number;\n };\n\n /**\n * 是否根据数据将轴范围调整到相对规整的数值\n * @default true\n * @description 当配置了 min 和 max,该配置项失效\n * @example 当配置了 max = 999, nice并不会将轴范围优化到1000\n */\n nice?: boolean;\n /**\n * nice效果的类型,是精度优先还是tickCount优先(比如tickCount为2那nice出来的精度就很低)\n * @default undefined('tickCountFirst')\n * @description 不配置就默认是tickCountFirst\n * @example 数据范围是0~6000,如果tickCount为2,那么tickCountFirst出来的range就是[0, 10000], accurateFirst出来的range就是[0, 6000]但10000显示不了\n */\n niceType?: 'tickCountFirst' | 'accurateFirst';\n /**\n * 是否包含0值\n * @default true\n * @description 当配置了 min和 max,该配置项失效\n */\n zero?: boolean;\n /**\n * 轴范围按比例扩展\n * @description 当配置了 min和 max,该配置项失效\n */\n expand?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IBandAxisSpec {\n /**\n * 同时设置轴的 paddingInner 和 paddingOuter\n * **因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 bandPadding 配置**\n */\n bandPadding?: number | number[];\n /**\n * band 轴的内边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingInner 配置**\n * @default 0.1\n */\n paddingInner?: number | number[];\n /**\n * band 轴的外边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingOuter 配置**\n * @default 0.3\n */\n paddingOuter?: number | number[];\n /**\n * 配置离散轴的数值范围\n * @since 1.1.0\n */\n domain?: StringOrNumber[];\n}\n// Grid 配置项\nexport interface IGrid extends IAxisItem<IRuleMarkSpec> {\n /**\n * 两个栅格线间的填充色\n */\n alternateColor?: string | string[];\n /**\n * grid 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /**\n * 网格线样式,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n}\n\n// 刻度线配置\nexport interface ITick extends IAxisItem<IRuleMarkSpec> {\n /**\n * Length of tick lines\n * 坐标轴刻度线的长度\n * @default 4\n */\n tickSize?: number;\n /**\n * 刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * tick 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /** tick步长 */\n tickStep?: number;\n /**\n * 期望的连续轴tick数量\n * The desired number of ticks draw on linear axis.\n * @default 10\n * @description 建议的tick数量,并不保证结果一定是配置值\n */\n tickCount?: number;\n /**\n * 强制设置tick数量\n * The exact number of ticks draw on linear axis. Might lead to decimal step.\n * @default 10\n * @description 强制设置的tick数量,可能由于数据范围导致tick值为小数\n */\n forceTickCount?: number;\n /**\n * 连续轴 tick 生成算法:\n * 'average': 尽可能均分;\n * 'd3':与 d3 默认逻辑一致,以 [1, 2, 5] 为基数生成;\n * @default 'average'\n * @since 1.3.0\n */\n tickMode?: 'average' | 'd3';\n /**\n * 连续轴,是否避免小数 tick。\n * @default false\n * @description 当配置了 tickStep 或 forceTickCount 时不生效。\n * @since 1.3.0\n */\n noDecimals?: boolean;\n /**\n * 刻度线样式设置,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n /**\n * 刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n /**\n * 用于 tick 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[]) => AxisItem[];\n}\n\n// 子刻度线配置\nexport interface ISubTick extends IAxisItem<IRuleMarkSpec> {\n /**\n * TODO: 考虑下 log 轴,自刻度线之间的间距是不均匀的问题\n * 子刻度个数\n */\n tickCount?: number;\n /**\n * 子刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /** 子刻度线的长度 */\n tickSize?: number;\n /**\n * 子刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标签配置\nexport interface ILabel extends IAxisItem<ITextMarkSpec> {\n /**\n * 轴标签内容格式化函数\n * @param text 原始标签文本值\n * @param datum 图形数据\n * @returns 格式化后的文本\n */\n formatMethod?: (text: string | string[], datum?: Datum) => string | string[];\n /** 标签同 tick 之间的间距 */\n space?: number;\n /**\n * 标签朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * 标签之间的最小间距(单位为像素),仅当轴采样开始时生效(`sampling: true`)。\n * 该配置会影响轴采样的结果。\n */\n minGap?: number;\n /**\n * 文本样式设置\n */\n style?: ITextMarkSpec | StyleCallback<ITextMarkSpec | undefined>;\n /**\n * label 不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<ITextMarkSpec>;\n /**\n * 用于 label 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[], layer: number) => AxisItem[];\n}\n\n// 轴线配置\nexport interface IDomainLine extends IAxisItem<IRuleMarkSpec> {\n /**\n * domainLine 在不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标题配置\nexport interface ITitle extends IAxisItem<ITextMarkSpec> {\n /**\n * 标题的显示位置,直角坐标系默认 'middle';\n * 极坐标系的圆弧轴如果配置了内半径,则默认 'middle',否则 'end'\n */\n position?: 'start' | 'middle' | 'end';\n /**\n * 标题距离坐标轴(轴线、刻度、标签共同构成的包围盒)的距离\n */\n space?: number;\n /**\n * 标题内边距配置\n */\n padding?: IPadding | number | number[];\n /**\n * 标题背景色设置\n */\n background?: IAxisItem<IRectMarkSpec> & {\n /**\n * 背景的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * TODO: 接入富文本\n * 标题 shape 配置\n */\n shape?: IAxisItem<ISymbolMarkSpec> & {\n /**\n * shape 同标题文本之间的间距\n */\n space?: number;\n /**\n * shape 标记的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ISymbolMarkSpec>>;\n };\n text?: string | string[];\n /**\n * 标题整体的旋转角度(如果标题配置了 background、shape 等属性的话,需要使用该属性进行整体的配置旋转)。\n */\n angle?: number;\n /**\n * text 文本的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ITextMarkSpec>>;\n}\n\nexport type StyleCallback<T> = (value: any, index: number, datum: Datum, data: Datum[]) => T;\nexport type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log' | 'symlog';\n\nexport interface IAxisCommonTheme {\n /** 网格线配置 */\n grid?: IGrid;\n /** 网格线配置 */\n subGrid?: IGrid;\n /** 轴线配置 */\n domainLine?: IDomainLine;\n /** 轴标签配置 */\n label?: ILabel;\n /** 轴标题配置 */\n title?: ITitle;\n /** 轴刻度线配置 */\n tick?: ITick;\n /** 轴刻度线配置 */\n subTick?: ISubTick;\n}\n\nexport interface IBandAxisTheme extends IAxisCommonTheme {\n bandPadding?: number | number[];\n paddingInner?: number | number[];\n paddingOuter?: number | number[];\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { isNil, isValid, maxInArr, minInArr } from "../../../util";
2
2
 
3
- import { getLinearAxisSpecDomain } from "../utils";
3
+ import { getLinearAxisSpecDomain } from "../util";
4
4
 
5
5
  import { ChartEvent } from "../../../constant";
6
6