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

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 (1212) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +30922 -30376
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/index.d.ts +2 -2
  6. package/cjs/chart/index.js +3 -3
  7. package/cjs/chart/index.js.map +1 -1
  8. package/cjs/chart/stack.js.map +1 -1
  9. package/cjs/chart/treemap/treemap.d.ts +1 -1
  10. package/cjs/chart/treemap/treemap.js +5 -5
  11. package/cjs/chart/treemap/treemap.js.map +1 -1
  12. package/cjs/compile/mark/compilable-mark.js +9 -10
  13. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  14. package/cjs/compile/mark/interface.d.ts +0 -1
  15. package/cjs/compile/mark/interface.js.map +1 -1
  16. package/cjs/compile/mark/util.d.ts +2 -1
  17. package/cjs/compile/mark/util.js +21 -5
  18. package/cjs/compile/mark/util.js.map +1 -1
  19. package/cjs/component/axis/base-axis.d.ts +15 -14
  20. package/cjs/component/axis/base-axis.js.map +1 -1
  21. package/cjs/component/axis/cartesian/axis.d.ts +2 -2
  22. package/cjs/component/axis/cartesian/axis.js +1 -0
  23. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  24. package/cjs/component/axis/cartesian/band-axis.d.ts +3 -3
  25. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  26. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  27. package/cjs/component/axis/cartesian/interface/common.d.ts +2 -0
  28. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  29. package/cjs/component/axis/cartesian/linear-axis.d.ts +3 -3
  30. package/cjs/component/axis/cartesian/linear-axis.js +2 -1
  31. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  32. package/cjs/component/axis/cartesian/log-axis.d.ts +3 -2
  33. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  34. package/cjs/component/axis/cartesian/time-axis.d.ts +3 -2
  35. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  36. package/cjs/component/axis/interface.d.ts +6 -1
  37. package/cjs/component/axis/interface.js.map +1 -1
  38. package/cjs/component/axis/polar/axis.d.ts +3 -2
  39. package/cjs/component/axis/polar/axis.js +1 -0
  40. package/cjs/component/axis/polar/axis.js.map +1 -1
  41. package/cjs/component/axis/polar/band-axis.d.ts +4 -2
  42. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  43. package/cjs/component/axis/polar/interface/spec.d.ts +7 -2
  44. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  45. package/cjs/component/axis/polar/linear-axis.d.ts +2 -3
  46. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  47. package/cjs/component/base/base-component.d.ts +4 -2
  48. package/cjs/component/base/base-component.js +11 -4
  49. package/cjs/component/base/base-component.js.map +1 -1
  50. package/cjs/component/brush/brush.d.ts +2 -2
  51. package/cjs/component/brush/brush.js +1 -1
  52. package/cjs/component/brush/brush.js.map +1 -1
  53. package/cjs/component/brush/interface.d.ts +1 -0
  54. package/cjs/component/brush/interface.js.map +1 -1
  55. package/cjs/component/crosshair/base.d.ts +2 -2
  56. package/cjs/component/crosshair/base.js +1 -1
  57. package/cjs/component/crosshair/base.js.map +1 -1
  58. package/cjs/component/crosshair/cartesian.d.ts +3 -3
  59. package/cjs/component/crosshair/cartesian.js.map +1 -1
  60. package/cjs/component/crosshair/polar.d.ts +3 -3
  61. package/cjs/component/crosshair/polar.js.map +1 -1
  62. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  63. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  64. package/cjs/component/data-zoom/data-filter-base-component.d.ts +4 -5
  65. package/cjs/component/data-zoom/data-filter-base-component.js +0 -6
  66. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  67. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  68. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -1
  69. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  70. package/cjs/component/data-zoom/data-zoom/interface.d.ts +3 -1
  71. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  72. package/cjs/component/data-zoom/interface.d.ts +4 -1
  73. package/cjs/component/data-zoom/interface.js.map +1 -1
  74. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  75. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  76. package/cjs/component/geo/geo-coordinate.d.ts +1 -2
  77. package/cjs/component/geo/geo-coordinate.js +16 -0
  78. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  79. package/cjs/component/indicator/indicator.d.ts +2 -2
  80. package/cjs/component/indicator/indicator.js +1 -1
  81. package/cjs/component/indicator/indicator.js.map +1 -1
  82. package/cjs/component/indicator/interface.d.ts +2 -0
  83. package/cjs/component/indicator/interface.js.map +1 -1
  84. package/cjs/component/label/base-label.d.ts +2 -2
  85. package/cjs/component/label/base-label.js.map +1 -1
  86. package/cjs/component/label/interface.d.ts +3 -0
  87. package/cjs/component/label/interface.js.map +1 -1
  88. package/cjs/component/label/label.d.ts +4 -3
  89. package/cjs/component/label/label.js.map +1 -1
  90. package/cjs/component/legend/base-legend.d.ts +2 -2
  91. package/cjs/component/legend/base-legend.js.map +1 -1
  92. package/cjs/component/legend/continuous/legend.d.ts +3 -4
  93. package/cjs/component/legend/continuous/legend.js.map +1 -1
  94. package/cjs/component/legend/discrete/legend.d.ts +1 -2
  95. package/cjs/component/legend/discrete/legend.js.map +1 -1
  96. package/cjs/component/map-label/component.d.ts +1 -2
  97. package/cjs/component/map-label/component.js.map +1 -1
  98. package/cjs/component/marker/base-marker.d.ts +2 -2
  99. package/cjs/component/marker/base-marker.js.map +1 -1
  100. package/cjs/component/marker/mark-area/mark-area.d.ts +1 -2
  101. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  102. package/cjs/component/marker/mark-line/mark-line.d.ts +1 -2
  103. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  104. package/cjs/component/marker/mark-point/mark-point.d.ts +1 -2
  105. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  106. package/cjs/component/player/player.d.ts +1 -2
  107. package/cjs/component/player/player.js.map +1 -1
  108. package/cjs/component/title/title.d.ts +1 -2
  109. package/cjs/component/title/title.js.map +1 -1
  110. package/cjs/component/tooltip/handler/base.js +3 -3
  111. package/cjs/component/tooltip/handler/base.js.map +1 -1
  112. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  113. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  114. package/cjs/component/tooltip/handler/utils/attribute.js +1 -1
  115. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  116. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  117. package/cjs/component/tooltip/interface/theme.d.ts +6 -5
  118. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  119. package/cjs/component/tooltip/tooltip.d.ts +3 -2
  120. package/cjs/component/tooltip/tooltip.js +6 -2
  121. package/cjs/component/tooltip/tooltip.js.map +1 -1
  122. package/cjs/core/index.d.ts +1 -1
  123. package/cjs/core/index.js +1 -1
  124. package/cjs/core/index.js.map +1 -1
  125. package/cjs/core/vchart.js +8 -3
  126. package/cjs/core/vchart.js.map +1 -1
  127. package/cjs/data/transforms/data-key.d.ts +2 -2
  128. package/cjs/data/transforms/data-key.js.map +1 -1
  129. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  130. package/cjs/data/transforms/dimension-statistics.js +34 -22
  131. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  132. package/cjs/mark/base/base-mark.js +2 -2
  133. package/cjs/mark/base/base-mark.js.map +1 -1
  134. package/cjs/mark/symbol.js +1 -1
  135. package/cjs/mark/symbol.js.map +1 -1
  136. package/cjs/model/base-model.d.ts +4 -4
  137. package/cjs/model/base-model.js +13 -15
  138. package/cjs/model/base-model.js.map +1 -1
  139. package/cjs/model/interface.d.ts +1 -0
  140. package/cjs/model/interface.js.map +1 -1
  141. package/cjs/model/layout-item.d.ts +3 -3
  142. package/cjs/model/layout-item.js.map +1 -1
  143. package/cjs/model/tooltip-helper.d.ts +0 -2
  144. package/cjs/model/tooltip-helper.js +0 -3
  145. package/cjs/model/tooltip-helper.js.map +1 -1
  146. package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  147. package/cjs/region/region.d.ts +2 -3
  148. package/cjs/region/region.js.map +1 -1
  149. package/cjs/series/area/area.d.ts +5 -2
  150. package/cjs/series/area/area.js +15 -14
  151. package/cjs/series/area/area.js.map +1 -1
  152. package/cjs/series/area/constant.d.ts +2 -0
  153. package/cjs/series/area/constant.js +15 -0
  154. package/cjs/series/area/constant.js.map +1 -0
  155. package/cjs/series/area/interface.d.ts +2 -0
  156. package/cjs/series/area/interface.js.map +1 -1
  157. package/cjs/series/bar/bar-3d.d.ts +3 -1
  158. package/cjs/series/bar/bar-3d.js +2 -7
  159. package/cjs/series/bar/bar-3d.js.map +1 -1
  160. package/cjs/series/bar/bar.js +3 -8
  161. package/cjs/series/bar/bar.js.map +1 -1
  162. package/cjs/series/bar/constant.d.ts +3 -0
  163. package/cjs/series/bar/constant.js +20 -0
  164. package/cjs/series/bar/constant.js.map +1 -0
  165. package/cjs/series/bar/interface.d.ts +3 -2
  166. package/cjs/series/bar/interface.js.map +1 -1
  167. package/cjs/series/base/base-series.d.ts +4 -6
  168. package/cjs/series/base/base-series.js +49 -26
  169. package/cjs/series/base/base-series.js.map +1 -1
  170. package/cjs/series/base/constant.d.ts +2 -0
  171. package/cjs/series/base/constant.js +15 -0
  172. package/cjs/series/base/constant.js.map +1 -0
  173. package/cjs/series/base/tooltip-helper.d.ts +0 -1
  174. package/cjs/series/base/tooltip-helper.js +4 -5
  175. package/cjs/series/base/tooltip-helper.js.map +1 -1
  176. package/cjs/series/box-plot/box-plot.d.ts +1 -2
  177. package/cjs/series/box-plot/box-plot.js +6 -15
  178. package/cjs/series/box-plot/box-plot.js.map +1 -1
  179. package/cjs/series/box-plot/constant.d.ts +2 -0
  180. package/cjs/series/box-plot/constant.js +19 -0
  181. package/cjs/series/box-plot/constant.js.map +1 -0
  182. package/cjs/series/cartesian/cartesian.d.ts +6 -3
  183. package/cjs/series/cartesian/cartesian.js +25 -25
  184. package/cjs/series/cartesian/cartesian.js.map +1 -1
  185. package/cjs/series/cartesian/interface.d.ts +2 -2
  186. package/cjs/series/cartesian/interface.js.map +1 -1
  187. package/cjs/series/circle-packing/circle-packing.d.ts +1 -2
  188. package/cjs/series/circle-packing/circle-packing.js +6 -11
  189. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  190. package/cjs/series/circle-packing/constant.d.ts +2 -0
  191. package/cjs/series/circle-packing/constant.js +15 -0
  192. package/cjs/series/circle-packing/constant.js.map +1 -0
  193. package/cjs/series/dot/constant.d.ts +2 -0
  194. package/cjs/series/dot/constant.js +39 -0
  195. package/cjs/series/dot/constant.js.map +1 -0
  196. package/cjs/series/dot/dot.d.ts +1 -1
  197. package/cjs/series/dot/dot.js +2 -31
  198. package/cjs/series/dot/dot.js.map +1 -1
  199. package/cjs/series/funnel/constant.d.ts +3 -0
  200. package/cjs/series/funnel/constant.js +52 -0
  201. package/cjs/series/funnel/constant.js.map +1 -0
  202. package/cjs/series/funnel/funnel-3d.d.ts +3 -2
  203. package/cjs/series/funnel/funnel-3d.js +2 -23
  204. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  205. package/cjs/series/funnel/funnel.d.ts +1 -1
  206. package/cjs/series/funnel/funnel.js +2 -23
  207. package/cjs/series/funnel/funnel.js.map +1 -1
  208. package/cjs/series/gauge/constant.d.ts +3 -0
  209. package/cjs/series/gauge/constant.js +32 -0
  210. package/cjs/series/gauge/constant.js.map +1 -0
  211. package/cjs/series/gauge/gauge-pointer.d.ts +2 -2
  212. package/cjs/series/gauge/gauge-pointer.js +5 -15
  213. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  214. package/cjs/series/gauge/gauge.d.ts +2 -1
  215. package/cjs/series/gauge/gauge.js +8 -14
  216. package/cjs/series/gauge/gauge.js.map +1 -1
  217. package/cjs/series/heatmap/constant.d.ts +2 -0
  218. package/cjs/series/heatmap/constant.js +19 -0
  219. package/cjs/series/heatmap/constant.js.map +1 -0
  220. package/cjs/series/heatmap/heatmap.d.ts +1 -1
  221. package/cjs/series/heatmap/heatmap.js +5 -14
  222. package/cjs/series/heatmap/heatmap.js.map +1 -1
  223. package/cjs/series/index.d.ts +2 -2
  224. package/cjs/series/index.js +3 -3
  225. package/cjs/series/index.js.map +1 -1
  226. package/cjs/series/interface/theme.d.ts +3 -2
  227. package/cjs/series/interface/theme.js +34 -1
  228. package/cjs/series/interface/theme.js.map +1 -1
  229. package/cjs/series/line/constant.d.ts +2 -0
  230. package/cjs/series/line/constant.js +10 -0
  231. package/cjs/series/line/constant.js.map +1 -0
  232. package/cjs/series/line/interface.d.ts +4 -0
  233. package/cjs/series/line/interface.js.map +1 -1
  234. package/cjs/series/line/line.d.ts +3 -2
  235. package/cjs/series/line/line.js +5 -3
  236. package/cjs/series/line/line.js.map +1 -1
  237. package/cjs/series/link/constant.d.ts +2 -0
  238. package/cjs/series/link/constant.js +23 -0
  239. package/cjs/series/link/constant.js.map +1 -0
  240. package/cjs/series/link/link.d.ts +1 -1
  241. package/cjs/series/link/link.js +3 -16
  242. package/cjs/series/link/link.js.map +1 -1
  243. package/cjs/series/map/constant.d.ts +2 -0
  244. package/cjs/series/map/constant.js +15 -0
  245. package/cjs/series/map/constant.js.map +1 -0
  246. package/cjs/series/map/map.d.ts +1 -1
  247. package/cjs/series/map/map.js +2 -7
  248. package/cjs/series/map/map.js.map +1 -1
  249. package/cjs/series/mixin/line-mixin.d.ts +3 -2
  250. package/cjs/series/mixin/line-mixin.js +33 -16
  251. package/cjs/series/mixin/line-mixin.js.map +1 -1
  252. package/cjs/series/pie/constant.d.ts +3 -0
  253. package/cjs/series/pie/constant.js +28 -0
  254. package/cjs/series/pie/constant.js.map +1 -0
  255. package/cjs/series/pie/pie-3d.d.ts +1 -1
  256. package/cjs/series/pie/pie-3d.js +2 -11
  257. package/cjs/series/pie/pie-3d.js.map +1 -1
  258. package/cjs/series/pie/pie.d.ts +1 -1
  259. package/cjs/series/pie/pie.js +3 -12
  260. package/cjs/series/pie/pie.js.map +1 -1
  261. package/cjs/series/progress/circular/circular.d.ts +1 -1
  262. package/cjs/series/progress/circular/circular.js +6 -15
  263. package/cjs/series/progress/circular/circular.js.map +1 -1
  264. package/cjs/series/progress/circular/constant.d.ts +2 -0
  265. package/cjs/series/progress/circular/constant.js +19 -0
  266. package/cjs/series/progress/circular/constant.js.map +1 -0
  267. package/cjs/series/progress/linear/constant.d.ts +2 -0
  268. package/cjs/series/progress/linear/constant.js +23 -0
  269. package/cjs/series/progress/linear/constant.js.map +1 -0
  270. package/cjs/series/progress/linear/linear.d.ts +1 -1
  271. package/cjs/series/progress/linear/linear.js +2 -15
  272. package/cjs/series/progress/linear/linear.js.map +1 -1
  273. package/cjs/series/radar/constant.d.ts +2 -0
  274. package/cjs/series/radar/constant.js +15 -0
  275. package/cjs/series/radar/constant.js.map +1 -0
  276. package/cjs/series/radar/radar.d.ts +3 -2
  277. package/cjs/series/radar/radar.js +8 -10
  278. package/cjs/series/radar/radar.js.map +1 -1
  279. package/cjs/series/range-area/constant.d.ts +2 -0
  280. package/cjs/series/range-area/constant.js +10 -0
  281. package/cjs/series/range-area/constant.js.map +1 -0
  282. package/cjs/series/range-area/range-area.d.ts +4 -1
  283. package/cjs/series/range-area/range-area.js +5 -2
  284. package/cjs/series/range-area/range-area.js.map +1 -1
  285. package/cjs/series/range-column/constant.d.ts +3 -0
  286. package/cjs/series/range-column/constant.js +28 -0
  287. package/cjs/series/range-column/constant.js.map +1 -0
  288. package/cjs/series/range-column/range-column-3d.d.ts +5 -1
  289. package/cjs/series/range-column/range-column-3d.js +3 -2
  290. package/cjs/series/range-column/range-column-3d.js.map +1 -1
  291. package/cjs/series/range-column/range-column.d.ts +2 -2
  292. package/cjs/series/range-column/range-column.js +3 -12
  293. package/cjs/series/range-column/range-column.js.map +1 -1
  294. package/cjs/series/rose/constant.d.ts +2 -0
  295. package/cjs/series/rose/constant.js +15 -0
  296. package/cjs/series/rose/constant.js.map +1 -0
  297. package/cjs/series/rose/rose.d.ts +2 -1
  298. package/cjs/series/rose/rose.js +8 -10
  299. package/cjs/series/rose/rose.js.map +1 -1
  300. package/cjs/series/sankey/constant.d.ts +2 -0
  301. package/cjs/series/sankey/constant.js +19 -0
  302. package/cjs/series/sankey/constant.js.map +1 -0
  303. package/cjs/series/sankey/sankey.d.ts +1 -2
  304. package/cjs/series/sankey/sankey.js +2 -11
  305. package/cjs/series/sankey/sankey.js.map +1 -1
  306. package/cjs/series/scatter/constant.d.ts +2 -0
  307. package/cjs/series/scatter/constant.js +15 -0
  308. package/cjs/series/scatter/constant.js.map +1 -0
  309. package/cjs/series/scatter/interface.d.ts +2 -0
  310. package/cjs/series/scatter/interface.js.map +1 -1
  311. package/cjs/series/scatter/scatter.d.ts +3 -2
  312. package/cjs/series/scatter/scatter.js +20 -17
  313. package/cjs/series/scatter/scatter.js.map +1 -1
  314. package/cjs/series/sunburst/constant.d.ts +2 -0
  315. package/cjs/series/sunburst/constant.js +15 -0
  316. package/cjs/series/sunburst/constant.js.map +1 -0
  317. package/cjs/series/sunburst/sunburst.js +2 -7
  318. package/cjs/series/sunburst/sunburst.js.map +1 -1
  319. package/cjs/series/treemap/constant.d.ts +2 -0
  320. package/cjs/series/treemap/constant.js +23 -0
  321. package/cjs/series/treemap/constant.js.map +1 -0
  322. package/cjs/series/treemap/treemap.d.ts +1 -1
  323. package/cjs/series/treemap/treemap.js +10 -22
  324. package/cjs/series/treemap/treemap.js.map +1 -1
  325. package/cjs/series/waterfall/constant.d.ts +2 -0
  326. package/cjs/series/waterfall/constant.js +19 -0
  327. package/cjs/series/waterfall/constant.js.map +1 -0
  328. package/cjs/series/waterfall/waterfall.d.ts +2 -2
  329. package/cjs/series/waterfall/waterfall.js +2 -11
  330. package/cjs/series/waterfall/waterfall.js.map +1 -1
  331. package/cjs/series/word-cloud/base.js +3 -12
  332. package/cjs/series/word-cloud/base.js.map +1 -1
  333. package/cjs/series/word-cloud/constant.d.ts +2 -0
  334. package/cjs/series/word-cloud/constant.js +19 -0
  335. package/cjs/series/word-cloud/constant.js.map +1 -0
  336. package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -1
  337. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  338. package/cjs/series/word-cloud/word-cloud.d.ts +1 -1
  339. package/cjs/series/word-cloud/word-cloud.js.map +1 -1
  340. package/cjs/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  341. package/cjs/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  342. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  343. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  344. package/cjs/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  345. package/cjs/theme/builtin/common/component/axis/log-axis.js.map +1 -0
  346. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  347. package/cjs/theme/builtin/common/component/brush.js.map +1 -0
  348. package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
  349. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -0
  350. package/cjs/theme/builtin/common/component/data-zoom.js +160 -0
  351. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -0
  352. package/cjs/theme/builtin/common/component/index.js.map +1 -0
  353. package/cjs/theme/builtin/common/component/indicator.js.map +1 -0
  354. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  355. package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
  356. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -0
  357. package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
  358. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  359. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  360. package/cjs/theme/builtin/common/component/map-label.js.map +1 -0
  361. package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
  362. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -0
  363. package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
  364. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -0
  365. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -0
  366. package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
  367. package/cjs/theme/builtin/common/component/player.js.map +1 -0
  368. package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
  369. package/cjs/theme/builtin/common/component/poptip.js.map +1 -0
  370. package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
  371. package/cjs/theme/builtin/common/component/title.js.map +1 -0
  372. package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
  373. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -0
  374. package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
  375. package/cjs/theme/builtin/common/component/total-label.js.map +1 -0
  376. package/cjs/theme/{buildin-theme/light → builtin/common}/constants.js +3 -3
  377. package/cjs/theme/builtin/common/constants.js.map +1 -0
  378. package/cjs/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
  379. package/cjs/theme/builtin/common/mark.js.map +1 -0
  380. package/cjs/theme/builtin/common/series/area.js.map +1 -0
  381. package/cjs/theme/builtin/common/series/bar.js.map +1 -0
  382. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -0
  383. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -0
  384. package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
  385. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -0
  386. package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -0
  387. package/cjs/theme/builtin/common/series/dot.js.map +1 -0
  388. package/cjs/theme/builtin/common/series/funnel.js.map +1 -0
  389. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -0
  390. package/cjs/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  391. package/cjs/theme/builtin/common/series/gauge.js.map +1 -0
  392. package/cjs/theme/builtin/common/series/heatmap.js.map +1 -0
  393. package/cjs/theme/builtin/common/series/index.js.map +1 -0
  394. package/cjs/theme/builtin/common/series/line.js.map +1 -0
  395. package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -0
  396. package/cjs/theme/builtin/common/series/link.js.map +1 -0
  397. package/cjs/theme/builtin/common/series/map.js.map +1 -0
  398. package/cjs/theme/builtin/common/series/pie.js.map +1 -0
  399. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -0
  400. package/cjs/theme/builtin/common/series/radar.js.map +1 -0
  401. package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
  402. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -0
  403. package/cjs/theme/builtin/common/series/rose.js.map +1 -0
  404. package/cjs/theme/builtin/common/series/sankey.js.map +1 -0
  405. package/cjs/theme/builtin/common/series/scatter.js.map +1 -0
  406. package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
  407. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -0
  408. package/cjs/theme/builtin/common/series/treemap.js.map +1 -0
  409. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -0
  410. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -0
  411. package/cjs/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  412. package/cjs/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
  413. package/cjs/theme/builtin/constant.js.map +1 -0
  414. package/cjs/theme/builtin/dark/color-scheme.js +33 -0
  415. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -0
  416. package/cjs/theme/builtin/dark/index.d.ts +2 -0
  417. package/cjs/theme/builtin/dark/index.js +13 -0
  418. package/cjs/theme/builtin/dark/index.js.map +1 -0
  419. package/{esm/theme/buildin-theme → cjs/theme/builtin}/index.d.ts +2 -2
  420. package/cjs/theme/{buildin-theme → builtin}/index.js +3 -3
  421. package/cjs/theme/builtin/index.js.map +1 -0
  422. package/cjs/theme/builtin/light/color-scheme.js +33 -0
  423. package/cjs/theme/builtin/light/color-scheme.js.map +1 -0
  424. package/cjs/theme/{buildin-theme → builtin}/light/index.js +5 -1
  425. package/cjs/theme/builtin/light/index.js.map +1 -0
  426. package/cjs/theme/color-scheme/builtin/default.d.ts +2 -0
  427. package/cjs/theme/color-scheme/builtin/default.js +11 -0
  428. package/cjs/theme/color-scheme/builtin/default.js.map +1 -0
  429. package/cjs/theme/color-scheme/util.d.ts +2 -1
  430. package/cjs/theme/color-scheme/util.js +9 -2
  431. package/cjs/theme/color-scheme/util.js.map +1 -1
  432. package/cjs/theme/index.d.ts +1 -1
  433. package/cjs/theme/index.js +1 -1
  434. package/cjs/theme/index.js.map +1 -1
  435. package/cjs/theme/interface.d.ts +2 -2
  436. package/cjs/theme/interface.js.map +1 -1
  437. package/cjs/theme/theme-manager.js +7 -7
  438. package/cjs/theme/theme-manager.js.map +1 -1
  439. package/cjs/typings/spec/common.d.ts +5 -0
  440. package/cjs/typings/spec/common.js.map +1 -1
  441. package/cjs/util/spec.d.ts +7 -0
  442. package/cjs/util/spec.js +55 -6
  443. package/cjs/util/spec.js.map +1 -1
  444. package/cjs/util/text.d.ts +0 -4
  445. package/cjs/util/text.js +6 -14
  446. package/cjs/util/text.js.map +1 -1
  447. package/cjs/vchart-all.js +1 -1
  448. package/cjs/vchart-all.js.map +1 -1
  449. package/esm/chart/index.d.ts +2 -2
  450. package/esm/chart/index.js +2 -2
  451. package/esm/chart/index.js.map +1 -1
  452. package/esm/chart/stack.js.map +1 -1
  453. package/esm/chart/treemap/treemap.d.ts +1 -1
  454. package/esm/chart/treemap/treemap.js +4 -4
  455. package/esm/chart/treemap/treemap.js.map +1 -1
  456. package/esm/compile/mark/compilable-mark.js +9 -11
  457. package/esm/compile/mark/compilable-mark.js.map +1 -1
  458. package/esm/compile/mark/interface.d.ts +0 -1
  459. package/esm/compile/mark/interface.js.map +1 -1
  460. package/esm/compile/mark/util.d.ts +2 -1
  461. package/esm/compile/mark/util.js +19 -3
  462. package/esm/compile/mark/util.js.map +1 -1
  463. package/esm/component/axis/base-axis.d.ts +15 -14
  464. package/esm/component/axis/base-axis.js.map +1 -1
  465. package/esm/component/axis/cartesian/axis.d.ts +2 -2
  466. package/esm/component/axis/cartesian/axis.js +1 -0
  467. package/esm/component/axis/cartesian/axis.js.map +1 -1
  468. package/esm/component/axis/cartesian/band-axis.d.ts +3 -3
  469. package/esm/component/axis/cartesian/band-axis.js +1 -0
  470. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  471. package/esm/component/axis/cartesian/interface/common.d.ts +2 -0
  472. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  473. package/esm/component/axis/cartesian/linear-axis.d.ts +3 -3
  474. package/esm/component/axis/cartesian/linear-axis.js +2 -1
  475. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  476. package/esm/component/axis/cartesian/log-axis.d.ts +3 -2
  477. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  478. package/esm/component/axis/cartesian/time-axis.d.ts +3 -2
  479. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  480. package/esm/component/axis/interface.d.ts +6 -1
  481. package/esm/component/axis/interface.js.map +1 -1
  482. package/esm/component/axis/polar/axis.d.ts +3 -2
  483. package/esm/component/axis/polar/axis.js +1 -0
  484. package/esm/component/axis/polar/axis.js.map +1 -1
  485. package/esm/component/axis/polar/band-axis.d.ts +4 -2
  486. package/esm/component/axis/polar/band-axis.js.map +1 -1
  487. package/esm/component/axis/polar/interface/spec.d.ts +7 -2
  488. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  489. package/esm/component/axis/polar/linear-axis.d.ts +2 -3
  490. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  491. package/esm/component/base/base-component.d.ts +4 -2
  492. package/esm/component/base/base-component.js +11 -1
  493. package/esm/component/base/base-component.js.map +1 -1
  494. package/esm/component/brush/brush.d.ts +2 -2
  495. package/esm/component/brush/brush.js +1 -1
  496. package/esm/component/brush/brush.js.map +1 -1
  497. package/esm/component/brush/interface.d.ts +1 -0
  498. package/esm/component/brush/interface.js.map +1 -1
  499. package/esm/component/crosshair/base.d.ts +2 -2
  500. package/esm/component/crosshair/base.js +1 -1
  501. package/esm/component/crosshair/base.js.map +1 -1
  502. package/esm/component/crosshair/cartesian.d.ts +3 -3
  503. package/esm/component/crosshair/cartesian.js.map +1 -1
  504. package/esm/component/crosshair/polar.d.ts +3 -3
  505. package/esm/component/crosshair/polar.js.map +1 -1
  506. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  507. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  508. package/esm/component/data-zoom/data-filter-base-component.d.ts +4 -5
  509. package/esm/component/data-zoom/data-filter-base-component.js +0 -6
  510. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  511. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
  512. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  513. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  514. package/esm/component/data-zoom/data-zoom/interface.d.ts +3 -1
  515. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  516. package/esm/component/data-zoom/interface.d.ts +4 -1
  517. package/esm/component/data-zoom/interface.js.map +1 -1
  518. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
  519. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  520. package/esm/component/geo/geo-coordinate.d.ts +1 -2
  521. package/esm/component/geo/geo-coordinate.js +16 -0
  522. package/esm/component/geo/geo-coordinate.js.map +1 -1
  523. package/esm/component/indicator/indicator.d.ts +2 -2
  524. package/esm/component/indicator/indicator.js +1 -1
  525. package/esm/component/indicator/indicator.js.map +1 -1
  526. package/esm/component/indicator/interface.d.ts +2 -0
  527. package/esm/component/indicator/interface.js.map +1 -1
  528. package/esm/component/label/base-label.d.ts +2 -2
  529. package/esm/component/label/base-label.js.map +1 -1
  530. package/esm/component/label/interface.d.ts +3 -0
  531. package/esm/component/label/interface.js.map +1 -1
  532. package/esm/component/label/label.d.ts +4 -3
  533. package/esm/component/label/label.js.map +1 -1
  534. package/esm/component/legend/base-legend.d.ts +2 -2
  535. package/esm/component/legend/base-legend.js.map +1 -1
  536. package/esm/component/legend/continuous/legend.d.ts +3 -4
  537. package/esm/component/legend/continuous/legend.js.map +1 -1
  538. package/esm/component/legend/discrete/legend.d.ts +1 -2
  539. package/esm/component/legend/discrete/legend.js.map +1 -1
  540. package/esm/component/map-label/component.d.ts +1 -2
  541. package/esm/component/map-label/component.js.map +1 -1
  542. package/esm/component/marker/base-marker.d.ts +2 -2
  543. package/esm/component/marker/base-marker.js.map +1 -1
  544. package/esm/component/marker/mark-area/mark-area.d.ts +1 -2
  545. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  546. package/esm/component/marker/mark-line/mark-line.d.ts +1 -2
  547. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  548. package/esm/component/marker/mark-point/mark-point.d.ts +1 -2
  549. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  550. package/esm/component/player/player.d.ts +1 -2
  551. package/esm/component/player/player.js.map +1 -1
  552. package/esm/component/title/title.d.ts +1 -2
  553. package/esm/component/title/title.js.map +1 -1
  554. package/esm/component/tooltip/handler/base.js +3 -3
  555. package/esm/component/tooltip/handler/base.js.map +1 -1
  556. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
  557. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  558. package/esm/component/tooltip/handler/utils/attribute.js +2 -2
  559. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  560. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  561. package/esm/component/tooltip/interface/theme.d.ts +6 -5
  562. package/esm/component/tooltip/interface/theme.js.map +1 -1
  563. package/esm/component/tooltip/tooltip.d.ts +3 -2
  564. package/esm/component/tooltip/tooltip.js +6 -2
  565. package/esm/component/tooltip/tooltip.js.map +1 -1
  566. package/esm/core/index.d.ts +1 -1
  567. package/esm/core/index.js +1 -1
  568. package/esm/core/index.js.map +1 -1
  569. package/esm/core/vchart.js +8 -3
  570. package/esm/core/vchart.js.map +1 -1
  571. package/esm/data/transforms/data-key.d.ts +2 -2
  572. package/esm/data/transforms/data-key.js.map +1 -1
  573. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  574. package/esm/data/transforms/dimension-statistics.js +33 -22
  575. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  576. package/esm/mark/base/base-mark.js +2 -2
  577. package/esm/mark/base/base-mark.js.map +1 -1
  578. package/esm/mark/symbol.js +1 -1
  579. package/esm/mark/symbol.js.map +1 -1
  580. package/esm/model/base-model.d.ts +4 -4
  581. package/esm/model/base-model.js +14 -16
  582. package/esm/model/base-model.js.map +1 -1
  583. package/esm/model/interface.d.ts +1 -0
  584. package/esm/model/interface.js.map +1 -1
  585. package/esm/model/layout-item.d.ts +3 -3
  586. package/esm/model/layout-item.js.map +1 -1
  587. package/esm/model/tooltip-helper.d.ts +0 -2
  588. package/esm/model/tooltip-helper.js +0 -3
  589. package/esm/model/tooltip-helper.js.map +1 -1
  590. package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
  591. package/esm/region/region.d.ts +2 -3
  592. package/esm/region/region.js.map +1 -1
  593. package/esm/series/area/area.d.ts +5 -2
  594. package/esm/series/area/area.js +12 -13
  595. package/esm/series/area/area.js.map +1 -1
  596. package/esm/series/area/constant.d.ts +2 -0
  597. package/esm/series/area/constant.js +15 -0
  598. package/esm/series/area/constant.js.map +1 -0
  599. package/esm/series/area/interface.d.ts +2 -0
  600. package/esm/series/area/interface.js.map +1 -1
  601. package/esm/series/bar/bar-3d.d.ts +3 -1
  602. package/esm/series/bar/bar-3d.js +3 -8
  603. package/esm/series/bar/bar-3d.js.map +1 -1
  604. package/esm/series/bar/bar.js +4 -9
  605. package/esm/series/bar/bar.js.map +1 -1
  606. package/esm/series/bar/constant.d.ts +3 -0
  607. package/esm/series/bar/constant.js +20 -0
  608. package/esm/series/bar/constant.js.map +1 -0
  609. package/esm/series/bar/interface.d.ts +3 -2
  610. package/esm/series/bar/interface.js.map +1 -1
  611. package/esm/series/base/base-series.d.ts +4 -6
  612. package/esm/series/base/base-series.js +50 -27
  613. package/esm/series/base/base-series.js.map +1 -1
  614. package/esm/series/base/constant.d.ts +2 -0
  615. package/esm/series/base/constant.js +11 -0
  616. package/esm/series/base/constant.js.map +1 -0
  617. package/esm/series/base/tooltip-helper.d.ts +0 -1
  618. package/esm/series/base/tooltip-helper.js +4 -5
  619. package/esm/series/base/tooltip-helper.js.map +1 -1
  620. package/esm/series/box-plot/box-plot.d.ts +1 -2
  621. package/esm/series/box-plot/box-plot.js +4 -15
  622. package/esm/series/box-plot/box-plot.js.map +1 -1
  623. package/esm/series/box-plot/constant.d.ts +2 -0
  624. package/esm/series/box-plot/constant.js +17 -0
  625. package/esm/series/box-plot/constant.js.map +1 -0
  626. package/esm/series/cartesian/cartesian.d.ts +6 -3
  627. package/esm/series/cartesian/cartesian.js +24 -25
  628. package/esm/series/cartesian/cartesian.js.map +1 -1
  629. package/esm/series/cartesian/interface.d.ts +2 -2
  630. package/esm/series/cartesian/interface.js.map +1 -1
  631. package/esm/series/circle-packing/circle-packing.d.ts +1 -2
  632. package/esm/series/circle-packing/circle-packing.js +4 -10
  633. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  634. package/esm/series/circle-packing/constant.d.ts +2 -0
  635. package/esm/series/circle-packing/constant.js +13 -0
  636. package/esm/series/circle-packing/constant.js.map +1 -0
  637. package/esm/series/dot/constant.d.ts +2 -0
  638. package/esm/series/dot/constant.js +37 -0
  639. package/esm/series/dot/constant.js.map +1 -0
  640. package/esm/series/dot/dot.d.ts +1 -1
  641. package/esm/series/dot/dot.js +3 -34
  642. package/esm/series/dot/dot.js.map +1 -1
  643. package/esm/series/funnel/constant.d.ts +3 -0
  644. package/esm/series/funnel/constant.js +52 -0
  645. package/esm/series/funnel/constant.js.map +1 -0
  646. package/esm/series/funnel/funnel-3d.d.ts +3 -2
  647. package/esm/series/funnel/funnel-3d.js +3 -24
  648. package/esm/series/funnel/funnel-3d.js.map +1 -1
  649. package/esm/series/funnel/funnel.d.ts +1 -1
  650. package/esm/series/funnel/funnel.js +3 -22
  651. package/esm/series/funnel/funnel.js.map +1 -1
  652. package/esm/series/gauge/constant.d.ts +3 -0
  653. package/esm/series/gauge/constant.js +32 -0
  654. package/esm/series/gauge/constant.js.map +1 -0
  655. package/esm/series/gauge/gauge-pointer.d.ts +2 -2
  656. package/esm/series/gauge/gauge-pointer.js +6 -16
  657. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  658. package/esm/series/gauge/gauge.d.ts +2 -1
  659. package/esm/series/gauge/gauge.js +6 -14
  660. package/esm/series/gauge/gauge.js.map +1 -1
  661. package/esm/series/heatmap/constant.d.ts +2 -0
  662. package/esm/series/heatmap/constant.js +17 -0
  663. package/esm/series/heatmap/constant.js.map +1 -0
  664. package/esm/series/heatmap/heatmap.d.ts +1 -1
  665. package/esm/series/heatmap/heatmap.js +3 -14
  666. package/esm/series/heatmap/heatmap.js.map +1 -1
  667. package/esm/series/index.d.ts +2 -2
  668. package/esm/series/index.js +2 -2
  669. package/esm/series/index.js.map +1 -1
  670. package/esm/series/interface/theme.d.ts +3 -2
  671. package/esm/series/interface/theme.js +78 -1
  672. package/esm/series/interface/theme.js.map +1 -1
  673. package/esm/series/line/constant.d.ts +2 -0
  674. package/esm/series/line/constant.js +6 -0
  675. package/esm/series/line/constant.js.map +1 -0
  676. package/esm/series/line/interface.d.ts +4 -0
  677. package/esm/series/line/interface.js.map +1 -1
  678. package/esm/series/line/line.d.ts +3 -2
  679. package/esm/series/line/line.js +7 -5
  680. package/esm/series/line/line.js.map +1 -1
  681. package/esm/series/link/constant.d.ts +2 -0
  682. package/esm/series/link/constant.js +21 -0
  683. package/esm/series/link/constant.js.map +1 -0
  684. package/esm/series/link/link.d.ts +1 -1
  685. package/esm/series/link/link.js +4 -21
  686. package/esm/series/link/link.js.map +1 -1
  687. package/esm/series/map/constant.d.ts +2 -0
  688. package/esm/series/map/constant.js +13 -0
  689. package/esm/series/map/constant.js.map +1 -0
  690. package/esm/series/map/map.d.ts +1 -1
  691. package/esm/series/map/map.js +3 -8
  692. package/esm/series/map/map.js.map +1 -1
  693. package/esm/series/mixin/line-mixin.d.ts +3 -2
  694. package/esm/series/mixin/line-mixin.js +34 -15
  695. package/esm/series/mixin/line-mixin.js.map +1 -1
  696. package/esm/series/pie/constant.d.ts +3 -0
  697. package/esm/series/pie/constant.js +28 -0
  698. package/esm/series/pie/constant.js.map +1 -0
  699. package/esm/series/pie/pie-3d.d.ts +1 -1
  700. package/esm/series/pie/pie-3d.js +3 -12
  701. package/esm/series/pie/pie-3d.js.map +1 -1
  702. package/esm/series/pie/pie.d.ts +1 -1
  703. package/esm/series/pie/pie.js +4 -13
  704. package/esm/series/pie/pie.js.map +1 -1
  705. package/esm/series/progress/circular/circular.d.ts +1 -1
  706. package/esm/series/progress/circular/circular.js +3 -14
  707. package/esm/series/progress/circular/circular.js.map +1 -1
  708. package/esm/series/progress/circular/constant.d.ts +2 -0
  709. package/esm/series/progress/circular/constant.js +17 -0
  710. package/esm/series/progress/circular/constant.js.map +1 -0
  711. package/esm/series/progress/linear/constant.d.ts +2 -0
  712. package/esm/series/progress/linear/constant.js +21 -0
  713. package/esm/series/progress/linear/constant.js.map +1 -0
  714. package/esm/series/progress/linear/linear.d.ts +1 -1
  715. package/esm/series/progress/linear/linear.js +3 -18
  716. package/esm/series/progress/linear/linear.js.map +1 -1
  717. package/esm/series/radar/constant.d.ts +2 -0
  718. package/esm/series/radar/constant.js +15 -0
  719. package/esm/series/radar/constant.js.map +1 -0
  720. package/esm/series/radar/radar.d.ts +3 -2
  721. package/esm/series/radar/radar.js +7 -11
  722. package/esm/series/radar/radar.js.map +1 -1
  723. package/esm/series/range-area/constant.d.ts +2 -0
  724. package/esm/series/range-area/constant.js +4 -0
  725. package/esm/series/range-area/constant.js.map +1 -0
  726. package/esm/series/range-area/range-area.d.ts +4 -1
  727. package/esm/series/range-area/range-area.js +6 -1
  728. package/esm/series/range-area/range-area.js.map +1 -1
  729. package/esm/series/range-column/constant.d.ts +3 -0
  730. package/esm/series/range-column/constant.js +28 -0
  731. package/esm/series/range-column/constant.js.map +1 -0
  732. package/esm/series/range-column/range-column-3d.d.ts +5 -1
  733. package/esm/series/range-column/range-column-3d.js +3 -1
  734. package/esm/series/range-column/range-column-3d.js.map +1 -1
  735. package/esm/series/range-column/range-column.d.ts +2 -2
  736. package/esm/series/range-column/range-column.js +4 -11
  737. package/esm/series/range-column/range-column.js.map +1 -1
  738. package/esm/series/rose/constant.d.ts +2 -0
  739. package/esm/series/rose/constant.js +13 -0
  740. package/esm/series/rose/constant.js.map +1 -0
  741. package/esm/series/rose/rose.d.ts +2 -1
  742. package/esm/series/rose/rose.js +6 -10
  743. package/esm/series/rose/rose.js.map +1 -1
  744. package/esm/series/sankey/constant.d.ts +2 -0
  745. package/esm/series/sankey/constant.js +17 -0
  746. package/esm/series/sankey/constant.js.map +1 -0
  747. package/esm/series/sankey/sankey.d.ts +1 -2
  748. package/esm/series/sankey/sankey.js +3 -14
  749. package/esm/series/sankey/sankey.js.map +1 -1
  750. package/esm/series/scatter/constant.d.ts +2 -0
  751. package/esm/series/scatter/constant.js +13 -0
  752. package/esm/series/scatter/constant.js.map +1 -0
  753. package/esm/series/scatter/interface.d.ts +2 -0
  754. package/esm/series/scatter/interface.js.map +1 -1
  755. package/esm/series/scatter/scatter.d.ts +3 -2
  756. package/esm/series/scatter/scatter.js +18 -17
  757. package/esm/series/scatter/scatter.js.map +1 -1
  758. package/esm/series/sunburst/constant.d.ts +2 -0
  759. package/esm/series/sunburst/constant.js +13 -0
  760. package/esm/series/sunburst/constant.js.map +1 -0
  761. package/esm/series/sunburst/sunburst.js +5 -9
  762. package/esm/series/sunburst/sunburst.js.map +1 -1
  763. package/esm/series/treemap/constant.d.ts +2 -0
  764. package/esm/series/treemap/constant.js +21 -0
  765. package/esm/series/treemap/constant.js.map +1 -0
  766. package/esm/series/treemap/treemap.d.ts +1 -1
  767. package/esm/series/treemap/treemap.js +10 -22
  768. package/esm/series/treemap/treemap.js.map +1 -1
  769. package/esm/series/waterfall/constant.d.ts +2 -0
  770. package/esm/series/waterfall/constant.js +17 -0
  771. package/esm/series/waterfall/constant.js.map +1 -0
  772. package/esm/series/waterfall/waterfall.d.ts +2 -2
  773. package/esm/series/waterfall/waterfall.js +3 -12
  774. package/esm/series/waterfall/waterfall.js.map +1 -1
  775. package/esm/series/word-cloud/base.js +3 -12
  776. package/esm/series/word-cloud/base.js.map +1 -1
  777. package/esm/series/word-cloud/constant.d.ts +2 -0
  778. package/esm/series/word-cloud/constant.js +17 -0
  779. package/esm/series/word-cloud/constant.js.map +1 -0
  780. package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -1
  781. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  782. package/esm/series/word-cloud/word-cloud.d.ts +1 -1
  783. package/esm/series/word-cloud/word-cloud.js.map +1 -1
  784. package/esm/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
  785. package/esm/theme/builtin/common/component/axis/band-axis.js.map +1 -0
  786. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
  787. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -0
  788. package/esm/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
  789. package/esm/theme/builtin/common/component/axis/log-axis.js.map +1 -0
  790. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
  791. package/esm/theme/builtin/common/component/brush.js.map +1 -0
  792. package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
  793. package/esm/theme/builtin/common/component/crosshair.js.map +1 -0
  794. package/esm/theme/builtin/common/component/data-zoom.js +156 -0
  795. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -0
  796. package/esm/theme/builtin/common/component/index.js.map +1 -0
  797. package/esm/theme/builtin/common/component/indicator.js.map +1 -0
  798. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -0
  799. package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
  800. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -0
  801. package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
  802. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
  803. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -0
  804. package/esm/theme/builtin/common/component/map-label.js.map +1 -0
  805. package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
  806. package/esm/theme/builtin/common/component/mark-area.js.map +1 -0
  807. package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
  808. package/esm/theme/builtin/common/component/mark-line.js.map +1 -0
  809. package/esm/theme/builtin/common/component/mark-point.js.map +1 -0
  810. package/esm/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
  811. package/esm/theme/builtin/common/component/player.js.map +1 -0
  812. package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
  813. package/esm/theme/builtin/common/component/poptip.js.map +1 -0
  814. package/esm/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
  815. package/esm/theme/builtin/common/component/title.js.map +1 -0
  816. package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
  817. package/esm/theme/builtin/common/component/tooltip.js.map +1 -0
  818. package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
  819. package/esm/theme/builtin/common/component/total-label.js.map +1 -0
  820. package/esm/theme/{buildin-theme/light → builtin/common}/constants.js +1 -1
  821. package/esm/theme/builtin/common/constants.js.map +1 -0
  822. package/esm/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
  823. package/esm/theme/builtin/common/mark.js.map +1 -0
  824. package/esm/theme/builtin/common/series/area.js.map +1 -0
  825. package/esm/theme/builtin/common/series/bar.js.map +1 -0
  826. package/esm/theme/builtin/common/series/bar3d.js.map +1 -0
  827. package/esm/theme/builtin/common/series/box-plot.js.map +1 -0
  828. package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
  829. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -0
  830. package/esm/theme/builtin/common/series/circular-progress.js.map +1 -0
  831. package/esm/theme/builtin/common/series/dot.js.map +1 -0
  832. package/esm/theme/builtin/common/series/funnel.js.map +1 -0
  833. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -0
  834. package/esm/theme/builtin/common/series/gauge-pointer.js.map +1 -0
  835. package/esm/theme/builtin/common/series/gauge.js.map +1 -0
  836. package/esm/theme/builtin/common/series/heatmap.js.map +1 -0
  837. package/esm/theme/builtin/common/series/index.js.map +1 -0
  838. package/esm/theme/builtin/common/series/line.js.map +1 -0
  839. package/esm/theme/builtin/common/series/linear-progress.js.map +1 -0
  840. package/esm/theme/builtin/common/series/link.js.map +1 -0
  841. package/esm/theme/builtin/common/series/map.js.map +1 -0
  842. package/esm/theme/builtin/common/series/pie.js.map +1 -0
  843. package/esm/theme/builtin/common/series/pie3d.js.map +1 -0
  844. package/esm/theme/builtin/common/series/radar.js.map +1 -0
  845. package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
  846. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -0
  847. package/esm/theme/builtin/common/series/rose.js.map +1 -0
  848. package/esm/theme/builtin/common/series/sankey.js.map +1 -0
  849. package/esm/theme/builtin/common/series/scatter.js.map +1 -0
  850. package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
  851. package/esm/theme/builtin/common/series/sunburst.js.map +1 -0
  852. package/esm/theme/builtin/common/series/treemap.js.map +1 -0
  853. package/esm/theme/builtin/common/series/waterfall.js.map +1 -0
  854. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -0
  855. package/esm/theme/builtin/common/series/word-cloud3d.js.map +1 -0
  856. package/esm/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
  857. package/esm/theme/builtin/constant.js.map +1 -0
  858. package/esm/theme/builtin/dark/color-scheme.d.ts +2 -0
  859. package/esm/theme/builtin/dark/color-scheme.js +27 -0
  860. package/esm/theme/builtin/dark/color-scheme.js.map +1 -0
  861. package/esm/theme/builtin/dark/index.d.ts +2 -0
  862. package/esm/theme/builtin/dark/index.js +7 -0
  863. package/esm/theme/builtin/dark/index.js.map +1 -0
  864. package/{cjs/theme/buildin-theme → esm/theme/builtin}/index.d.ts +2 -2
  865. package/esm/theme/builtin/index.js +12 -0
  866. package/esm/theme/builtin/index.js.map +1 -0
  867. package/esm/theme/builtin/light/color-scheme.d.ts +2 -0
  868. package/esm/theme/builtin/light/color-scheme.js +27 -0
  869. package/esm/theme/builtin/light/color-scheme.js.map +1 -0
  870. package/esm/theme/{buildin-theme → builtin}/light/index.js +8 -4
  871. package/esm/theme/builtin/light/index.js.map +1 -0
  872. package/esm/theme/color-scheme/builtin/default.d.ts +2 -0
  873. package/esm/theme/color-scheme/builtin/default.js +7 -0
  874. package/esm/theme/color-scheme/builtin/default.js.map +1 -0
  875. package/esm/theme/color-scheme/util.d.ts +2 -1
  876. package/esm/theme/color-scheme/util.js +6 -0
  877. package/esm/theme/color-scheme/util.js.map +1 -1
  878. package/esm/theme/index.d.ts +1 -1
  879. package/esm/theme/index.js +1 -1
  880. package/esm/theme/index.js.map +1 -1
  881. package/esm/theme/interface.d.ts +2 -2
  882. package/esm/theme/interface.js.map +1 -1
  883. package/esm/theme/theme-manager.js +6 -6
  884. package/esm/theme/theme-manager.js.map +1 -1
  885. package/esm/typings/spec/common.d.ts +5 -0
  886. package/esm/typings/spec/common.js.map +1 -1
  887. package/esm/util/spec.d.ts +7 -0
  888. package/esm/util/spec.js +52 -4
  889. package/esm/util/spec.js.map +1 -1
  890. package/esm/util/text.d.ts +0 -4
  891. package/esm/util/text.js +2 -8
  892. package/esm/util/text.js.map +1 -1
  893. package/esm/vchart-all.js +2 -2
  894. package/esm/vchart-all.js.map +1 -1
  895. package/package.json +8 -8
  896. package/cjs/theme/buildin-theme/config.js.map +0 -1
  897. package/cjs/theme/buildin-theme/index.js.map +0 -1
  898. package/cjs/theme/buildin-theme/light/color-scheme.js +0 -21
  899. package/cjs/theme/buildin-theme/light/color-scheme.js.map +0 -1
  900. package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  901. package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  902. package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  903. package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  904. package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  905. package/cjs/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  906. package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  907. package/cjs/theme/buildin-theme/light/component/brush.js.map +0 -1
  908. package/cjs/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  909. package/cjs/theme/buildin-theme/light/component/data-zoom.js +0 -105
  910. package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  911. package/cjs/theme/buildin-theme/light/component/index.js.map +0 -1
  912. package/cjs/theme/buildin-theme/light/component/indicator.js.map +0 -1
  913. package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  914. package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  915. package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  916. package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  917. package/cjs/theme/buildin-theme/light/component/map-label.js.map +0 -1
  918. package/cjs/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  919. package/cjs/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  920. package/cjs/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  921. package/cjs/theme/buildin-theme/light/component/player.js.map +0 -1
  922. package/cjs/theme/buildin-theme/light/component/poptip.js.map +0 -1
  923. package/cjs/theme/buildin-theme/light/component/title.js.map +0 -1
  924. package/cjs/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  925. package/cjs/theme/buildin-theme/light/component/total-label.js.map +0 -1
  926. package/cjs/theme/buildin-theme/light/constants.js.map +0 -1
  927. package/cjs/theme/buildin-theme/light/index.js.map +0 -1
  928. package/cjs/theme/buildin-theme/light/mark.js.map +0 -1
  929. package/cjs/theme/buildin-theme/light/series/area.js.map +0 -1
  930. package/cjs/theme/buildin-theme/light/series/bar.js.map +0 -1
  931. package/cjs/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  932. package/cjs/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  933. package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  934. package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  935. package/cjs/theme/buildin-theme/light/series/dot.js.map +0 -1
  936. package/cjs/theme/buildin-theme/light/series/funnel.js.map +0 -1
  937. package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  938. package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  939. package/cjs/theme/buildin-theme/light/series/gauge.js.map +0 -1
  940. package/cjs/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  941. package/cjs/theme/buildin-theme/light/series/index.js.map +0 -1
  942. package/cjs/theme/buildin-theme/light/series/line.js.map +0 -1
  943. package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  944. package/cjs/theme/buildin-theme/light/series/link.js.map +0 -1
  945. package/cjs/theme/buildin-theme/light/series/map.js.map +0 -1
  946. package/cjs/theme/buildin-theme/light/series/pie.js.map +0 -1
  947. package/cjs/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  948. package/cjs/theme/buildin-theme/light/series/radar.js.map +0 -1
  949. package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  950. package/cjs/theme/buildin-theme/light/series/rose.js.map +0 -1
  951. package/cjs/theme/buildin-theme/light/series/sankey.js.map +0 -1
  952. package/cjs/theme/buildin-theme/light/series/scatter.js.map +0 -1
  953. package/cjs/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  954. package/cjs/theme/buildin-theme/light/series/treemap.js.map +0 -1
  955. package/cjs/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  956. package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  957. package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  958. package/esm/theme/buildin-theme/config.js.map +0 -1
  959. package/esm/theme/buildin-theme/index.js +0 -10
  960. package/esm/theme/buildin-theme/index.js.map +0 -1
  961. package/esm/theme/buildin-theme/light/color-scheme.js +0 -17
  962. package/esm/theme/buildin-theme/light/color-scheme.js.map +0 -1
  963. package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
  964. package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
  965. package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
  966. package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
  967. package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
  968. package/esm/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
  969. package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
  970. package/esm/theme/buildin-theme/light/component/brush.js.map +0 -1
  971. package/esm/theme/buildin-theme/light/component/crosshair.js.map +0 -1
  972. package/esm/theme/buildin-theme/light/component/data-zoom.js +0 -101
  973. package/esm/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
  974. package/esm/theme/buildin-theme/light/component/index.js.map +0 -1
  975. package/esm/theme/buildin-theme/light/component/indicator.js.map +0 -1
  976. package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
  977. package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
  978. package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
  979. package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
  980. package/esm/theme/buildin-theme/light/component/map-label.js.map +0 -1
  981. package/esm/theme/buildin-theme/light/component/mark-area.js.map +0 -1
  982. package/esm/theme/buildin-theme/light/component/mark-line.js.map +0 -1
  983. package/esm/theme/buildin-theme/light/component/mark-point.js.map +0 -1
  984. package/esm/theme/buildin-theme/light/component/player.js.map +0 -1
  985. package/esm/theme/buildin-theme/light/component/poptip.js.map +0 -1
  986. package/esm/theme/buildin-theme/light/component/title.js.map +0 -1
  987. package/esm/theme/buildin-theme/light/component/tooltip.js.map +0 -1
  988. package/esm/theme/buildin-theme/light/component/total-label.js.map +0 -1
  989. package/esm/theme/buildin-theme/light/constants.js.map +0 -1
  990. package/esm/theme/buildin-theme/light/index.js.map +0 -1
  991. package/esm/theme/buildin-theme/light/mark.js.map +0 -1
  992. package/esm/theme/buildin-theme/light/series/area.js.map +0 -1
  993. package/esm/theme/buildin-theme/light/series/bar.js.map +0 -1
  994. package/esm/theme/buildin-theme/light/series/bar3d.js.map +0 -1
  995. package/esm/theme/buildin-theme/light/series/box-plot.js.map +0 -1
  996. package/esm/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
  997. package/esm/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
  998. package/esm/theme/buildin-theme/light/series/dot.js.map +0 -1
  999. package/esm/theme/buildin-theme/light/series/funnel.js.map +0 -1
  1000. package/esm/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
  1001. package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
  1002. package/esm/theme/buildin-theme/light/series/gauge.js.map +0 -1
  1003. package/esm/theme/buildin-theme/light/series/heatmap.js.map +0 -1
  1004. package/esm/theme/buildin-theme/light/series/index.js.map +0 -1
  1005. package/esm/theme/buildin-theme/light/series/line.js.map +0 -1
  1006. package/esm/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
  1007. package/esm/theme/buildin-theme/light/series/link.js.map +0 -1
  1008. package/esm/theme/buildin-theme/light/series/map.js.map +0 -1
  1009. package/esm/theme/buildin-theme/light/series/pie.js.map +0 -1
  1010. package/esm/theme/buildin-theme/light/series/pie3d.js.map +0 -1
  1011. package/esm/theme/buildin-theme/light/series/radar.js.map +0 -1
  1012. package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
  1013. package/esm/theme/buildin-theme/light/series/rose.js.map +0 -1
  1014. package/esm/theme/buildin-theme/light/series/sankey.js.map +0 -1
  1015. package/esm/theme/buildin-theme/light/series/scatter.js.map +0 -1
  1016. package/esm/theme/buildin-theme/light/series/sunburst.js.map +0 -1
  1017. package/esm/theme/buildin-theme/light/series/treemap.js.map +0 -1
  1018. package/esm/theme/buildin-theme/light/series/waterfall.js.map +0 -1
  1019. package/esm/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
  1020. package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
  1021. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  1022. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  1023. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
  1024. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  1025. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
  1026. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  1027. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  1028. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
  1029. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
  1030. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  1031. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
  1032. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  1033. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  1034. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  1035. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  1036. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  1037. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
  1038. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  1039. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
  1040. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  1041. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
  1042. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  1043. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  1044. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  1045. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
  1046. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  1047. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
  1048. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  1049. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  1050. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  1051. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1052. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1053. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
  1054. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1055. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1056. /package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
  1057. /package/cjs/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1058. /package/cjs/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1059. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1060. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
  1061. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1062. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
  1063. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1064. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
  1065. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1066. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1067. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1068. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1069. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1070. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1071. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
  1072. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1073. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
  1074. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1075. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
  1076. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1077. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1078. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1079. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1080. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1081. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1082. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1083. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1084. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1085. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
  1086. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1087. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1088. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1089. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1090. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1091. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
  1092. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1093. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
  1094. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1095. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
  1096. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1097. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
  1098. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1099. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1100. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
  1101. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1102. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
  1103. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1104. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
  1105. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1106. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1107. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
  1108. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1109. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
  1110. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1111. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1112. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1113. /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1114. /package/cjs/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
  1115. /package/cjs/theme/{buildin-theme/light → builtin/dark}/color-scheme.d.ts +0 -0
  1116. /package/{esm/theme/buildin-theme → cjs/theme/builtin}/light/color-scheme.d.ts +0 -0
  1117. /package/cjs/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
  1118. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
  1119. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
  1120. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
  1121. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
  1122. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
  1123. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
  1124. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
  1125. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
  1126. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
  1127. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
  1128. /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
  1129. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
  1130. /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
  1131. /package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
  1132. /package/esm/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
  1133. /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
  1134. /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
  1135. /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
  1136. /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
  1137. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
  1138. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
  1139. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
  1140. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
  1141. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
  1142. /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
  1143. /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
  1144. /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
  1145. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
  1146. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
  1147. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
  1148. /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
  1149. /package/esm/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
  1150. /package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
  1151. /package/esm/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
  1152. /package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
  1153. /package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
  1154. /package/esm/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
  1155. /package/esm/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
  1156. /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
  1157. /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
  1158. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
  1159. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
  1160. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
  1161. /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
  1162. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
  1163. /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
  1164. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
  1165. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
  1166. /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
  1167. /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
  1168. /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
  1169. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
  1170. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
  1171. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
  1172. /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
  1173. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
  1174. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
  1175. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
  1176. /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
  1177. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
  1178. /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
  1179. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
  1180. /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
  1181. /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
  1182. /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
  1183. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
  1184. /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
  1185. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
  1186. /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
  1187. /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
  1188. /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
  1189. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
  1190. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
  1191. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
  1192. /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
  1193. /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
  1194. /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
  1195. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
  1196. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
  1197. /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
  1198. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
  1199. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
  1200. /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
  1201. /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
  1202. /package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
  1203. /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
  1204. /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
  1205. /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
  1206. /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
  1207. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
  1208. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
  1209. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
  1210. /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
  1211. /package/esm/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
  1212. /package/esm/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,kEAA6D;AAC7D,6CAA4C;AAC5C,6CAAyC;AAMzC,MAAa,gBAAiB,SAAQ,iCAAmB;IAAzD;;QAEE,SAAI,GAAG,6BAAiB,CAAC,gBAAgB,CAAC;QAEhC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAa,IAAI,iBAAQ,EAAE,CAAC;IAc9C,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAnBH,4CAoBC;AAnBQ,qBAAI,GAAG,6BAAiB,CAAC,gBAAgB,CAAC;AAqBnD,IAAA,cAAK,EAAC,gBAAgB,EAAE,mCAAe,CAAC,CAAC","file":"log-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { LogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\n\nexport interface CartesianLogAxis\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis {}\n\nexport class CartesianLogAxis extends CartesianLinearAxis {\n static type = ComponentTypeEnum.cartesianLogAxis;\n type = ComponentTypeEnum.cartesianLogAxis;\n\n protected _zero: boolean = false;\n\n protected _scale: LogScale = new LogScale();\n protected declare _scales: LogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.base(this._spec.base ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianLogAxis, LinearAxisMixin);\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,kEAA6D;AAC7D,6CAA4C;AAC5C,6CAAyC;AAOzC,MAAa,gBAA0E,SAAQ,iCAAsB;IAArH;;QAEE,SAAI,GAAG,6BAAiB,CAAC,gBAAgB,CAAC;QAEhC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAa,IAAI,iBAAQ,EAAE,CAAC;IAc9C,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAnBH,4CAoBC;AAnBQ,qBAAI,GAAG,6BAAiB,CAAC,gBAAgB,CAAC;AAqBnD,IAAA,cAAK,EAAC,gBAAgB,EAAE,mCAAe,CAAC,CAAC","file":"log-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { LogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianLogAxisSpec } from './interface';\n\nexport interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianLogAxis;\n type = ComponentTypeEnum.cartesianLogAxis;\n\n protected _zero: boolean = false;\n\n protected _scale: LogScale = new LogScale();\n protected declare _scales: LogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.base(this._spec.base ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianLogAxis, LinearAxisMixin);\n"]}
@@ -3,9 +3,10 @@ import { CartesianLinearAxis } from './linear-axis';
3
3
  import { ComponentTypeEnum } from '../../interface';
4
4
  import { CompilableData } from '../../../compile/data';
5
5
  import type { LinearAxisMixin } from '../mixin/linear-axis-mixin';
6
- export interface CartesianTimeAxis extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>, CartesianLinearAxis {
6
+ import type { ICartesianTimeAxisSpec } from './interface';
7
+ export interface CartesianTimeAxis<T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec> extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>, CartesianLinearAxis<T> {
7
8
  }
8
- export declare class CartesianTimeAxis extends CartesianLinearAxis {
9
+ export declare class CartesianTimeAxis<T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec> extends CartesianLinearAxis<T> {
9
10
  static type: ComponentTypeEnum;
10
11
  type: ComponentTypeEnum;
11
12
  protected _layerTickData: CompilableData;
@@ -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';\n\nexport interface CartesianTimeAxis\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis {}\n\nexport class CartesianTimeAxis extends CartesianLinearAxis {\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, 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"]}
@@ -28,7 +28,7 @@ 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'>, IAnimationSpec<string, string> {
31
+ export interface ICommonAxisSpec extends Omit<IModelSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {
32
32
  type?: AxisType;
33
33
  visible?: boolean;
34
34
  inverse?: boolean;
@@ -126,3 +126,8 @@ export interface IAxisCommonTheme {
126
126
  tick?: ITick;
127
127
  subTick?: ISubTick;
128
128
  }
129
+ export interface IBandAxisTheme extends IAxisCommonTheme {
130
+ bandPadding?: number | number[];
131
+ paddingInner?: number | number[];
132
+ paddingOuter?: number | number[];
133
+ }
@@ -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'>, 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"]}
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,6 +1,6 @@
1
1
  import type { IBaseScale } from '@visactor/vscale';
2
2
  import type { LayoutItem } from '../../../model/layout-item';
3
- import type { IPolarAxis, IPolarAxisCommonTheme } from './interface';
3
+ import type { IPolarAxis, IPolarAxisCommonSpec, IPolarAxisCommonTheme } from './interface';
4
4
  import type { IComponentOption } from '../../interface';
5
5
  import { ComponentTypeEnum } from '../../interface';
6
6
  import type { IPolarSeries } from '../../../series/interface';
@@ -8,7 +8,7 @@ import type { IPoint, IPolarOrientType, IPolarPoint, StringOrNumber } from '../.
8
8
  import type { IEffect } from '../../../model/interface';
9
9
  import { AxisComponent } from '../base-axis';
10
10
  import type { ITick } from '../interface';
11
- export declare abstract class PolarAxis extends AxisComponent implements IPolarAxis {
11
+ export declare abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec> extends AxisComponent<T> implements IPolarAxis {
12
12
  static type: ComponentTypeEnum;
13
13
  type: ComponentTypeEnum;
14
14
  name: string;
@@ -54,6 +54,7 @@ export declare abstract class PolarAxis extends AxisComponent implements IPolarA
54
54
  protected getSeriesStatisticsField(s: IPolarSeries): string[];
55
55
  protected initGroupScales(): void;
56
56
  protected axisHelper(): {
57
+ isContinuous: boolean;
57
58
  dataToPosition: (values: any[]) => number;
58
59
  coordToPoint: (point: IPolarPoint) => IPoint;
59
60
  pointToCoord: (point: IPoint) => IPolarPoint;
@@ -168,6 +168,7 @@ class PolarAxis extends base_axis_1.AxisComponent {
168
168
  initGroupScales() {}
169
169
  axisHelper() {
170
170
  return {
171
+ isContinuous: (0, vscale_1.isContinuous)(this._scale.type),
171
172
  dataToPosition: this.dataToPosition.bind(this),
172
173
  coordToPoint: this.coordToPoint.bind(this),
173
174
  pointToCoord: this.pointToCoord.bind(this),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport { DataView } from '@visactor/vdataset';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IPolarAxis, IPolarAxisCommonTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { Factory } from '../../../core/factory';\nimport { isArray, isValidNumber, merge, polarToCartesian, radians, eachSeries, getFieldAlias } from '../../../util';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { IPolarTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber } from '../../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { isValidPolarAxis } from '../utils';\n\nimport type { Dict } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, isValid } from '@visactor/vutils';\nimport type { IEffect } from '../../../model/interface';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\nimport type { ITick } from '../interface';\n\nexport abstract class PolarAxis extends AxisComponent implements IPolarAxis {\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected declare _theme: IPolarAxisCommonTheme;\n\n protected _orient: IPolarOrientType = 'radius';\n get orient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n protected _refAngleAxis!: IPolarAxis;\n setRefAngleAxis(axes: IPolarAxis): this {\n this._refAngleAxis = axes;\n return this;\n }\n\n private _axisStyle: any;\n\n static createAxis(spec: any, options: IComponentOption): IPolarAxis {\n // TODO: 基于数据处理 axis 类型\n const axisType = spec.type ?? (spec.orient === 'angle' ? 'band' : 'linear');\n const componentName = `${PolarAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IPolarAxis;\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(PolarAxis.type)) {\n return null;\n }\n const axesSpec = spec.axes || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n axesSpec.center = spec.center;\n axesSpec.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n axesSpec.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n return PolarAxis.createAxis(axesSpec, {\n ...options,\n specKey: 'axes'\n });\n }\n const axes: IPolarAxis[] = [];\n let angleAxes: IPolarAxis;\n const radiusAxes: IPolarAxis[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n s.center = spec.center;\n s.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n s.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n // 优先使用outerRadius, 但要兼容s.radius, spec.radius\n s.outerRadius = s.radius ?? spec.outerRadius ?? spec.radius ?? POLAR_DEFAULT_RADIUS;\n const polarAxes = PolarAxis.createAxis(s, {\n ...options,\n specIndex: i,\n specKey: 'axes'\n }) as IPolarAxis;\n axes.push(polarAxes);\n if (s.orient === 'radius') {\n radiusAxes.push(polarAxes);\n } else {\n angleAxes = polarAxes;\n }\n });\n radiusAxes.forEach(axes => axes.setRefAngleAxis(angleAxes));\n return axes;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const axisStyle = this._getAxisAttributes();\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n const chartSpec = this.getChart().getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec.startAngle;\n const endAngle = this._spec.endAngle ?? chartSpec.endAngle;\n this._startAngle = radians(startAngle ?? POLAR_START_ANGLE);\n this._endAngle = radians(endAngle ?? (isValid(startAngle) ? startAngle + 360 : POLAR_END_ANGLE));\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n const region = this.getRegions()?.[0];\n const startPoint = region ? region.getLayoutStartPoint() : pos;\n super.setLayoutStartPosition(startPoint);\n }\n\n onLayoutEnd(ctx: any): void {\n this.updateScaleRange();\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\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 // data\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._spec.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 coordinateType: 'polar',\n axisOrientType: this._orient,\n startAngle: this.startAngle,\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n axisSpec: this._spec,\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt\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 initEvent() {\n super.initEvent();\n\n if (this.visible) {\n this.event.on('afterElementEncode', eventParams => {\n const mark = eventParams.item;\n if (this._option.getChart().getLayoutTag() === false && mark.context?.model === this) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(mark.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const inverse = this._spec.inverse;\n if (this.orient === 'radius') {\n this._scale.range(\n inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()]\n );\n } else {\n this._scale.range(inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle]);\n }\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 field = this.orient === 'radius' ? (s as IPolarSeries).getRadiusField() : (s as IPolarSeries).getAngleField();\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 abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.orient === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id\n };\n return helper;\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.orient === 'radius') {\n return this._scale.invert(coord.radius);\n }\n\n if (this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n if (range[0] < 0) {\n const angle = coord.angle + (this._scale as BandScale).bandwidth() / 2;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n\n return this._scale.invert((coord.angle + (this._scale as BandScale).bandwidth() / 2) % rangeValue);\n }\n\n return this._scale.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n const dir = radian < startAngle ? 1 : -1;\n while (radian < startAngle || radian > endAngle) {\n radian += dir * Math.PI * 2;\n }\n\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n tickValues(): number[] {\n return this._tickData.getLatestData() || [];\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.orient === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const attrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n grid: {\n type: 'line',\n smoothLink: true\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const angle = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (angle - this._startAngle) / angleRange,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const attrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1,\n grid: {\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._refAngleAxis.tickValues().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (value - innerRadius) / distance,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const product = this.getMarks()[0].getProduct(); // 获取语法元素并更新\n product.encode(merge({}, this._axisStyle, attrs));\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport { DataView } from '@visactor/vdataset';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IPolarAxis, IPolarAxisCommonSpec, IPolarAxisCommonTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { Factory } from '../../../core/factory';\nimport { isArray, isValidNumber, merge, polarToCartesian, radians, eachSeries } from '../../../util';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { IPolarTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber } from '../../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { isValidPolarAxis } from '../utils';\n\nimport type { Dict } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, isValid } from '@visactor/vutils';\nimport type { IEffect } from '../../../model/interface';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\nimport type { ITick } from '../interface';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected declare _theme: IPolarAxisCommonTheme;\n\n protected _orient: IPolarOrientType = 'radius';\n get orient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n protected _refAngleAxis!: IPolarAxis;\n setRefAngleAxis(axes: IPolarAxis): this {\n this._refAngleAxis = axes;\n return this;\n }\n\n private _axisStyle: any;\n\n static createAxis(spec: any, options: IComponentOption): IPolarAxis {\n // TODO: 基于数据处理 axis 类型\n const axisType = spec.type ?? (spec.orient === 'angle' ? 'band' : 'linear');\n const componentName = `${PolarAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IPolarAxis;\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(PolarAxis.type)) {\n return null;\n }\n const axesSpec = spec.axes || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n axesSpec.center = spec.center;\n axesSpec.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n axesSpec.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n return PolarAxis.createAxis(axesSpec, {\n ...options,\n specKey: 'axes'\n });\n }\n const axes: IPolarAxis[] = [];\n let angleAxes: IPolarAxis;\n const radiusAxes: IPolarAxis[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n s.center = spec.center;\n s.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n s.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n // 优先使用outerRadius, 但要兼容s.radius, spec.radius\n s.outerRadius = s.radius ?? spec.outerRadius ?? spec.radius ?? POLAR_DEFAULT_RADIUS;\n const polarAxes = PolarAxis.createAxis(s, {\n ...options,\n specIndex: i,\n specKey: 'axes'\n }) as IPolarAxis;\n axes.push(polarAxes);\n if (s.orient === 'radius') {\n radiusAxes.push(polarAxes);\n } else {\n angleAxes = polarAxes;\n }\n });\n radiusAxes.forEach(axes => axes.setRefAngleAxis(angleAxes));\n return axes;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const axisStyle = this._getAxisAttributes();\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n const chartSpec = this.getChart().getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec.startAngle;\n const endAngle = this._spec.endAngle ?? chartSpec.endAngle;\n this._startAngle = radians(startAngle ?? POLAR_START_ANGLE);\n this._endAngle = radians(endAngle ?? (isValid(startAngle) ? startAngle + 360 : POLAR_END_ANGLE));\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n const region = this.getRegions()?.[0];\n const startPoint = region ? region.getLayoutStartPoint() : pos;\n super.setLayoutStartPosition(startPoint);\n }\n\n onLayoutEnd(ctx: any): void {\n this.updateScaleRange();\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\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 // data\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._spec.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 coordinateType: 'polar',\n axisOrientType: this._orient,\n startAngle: this.startAngle,\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n axisSpec: this._spec,\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt\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 initEvent() {\n super.initEvent();\n\n if (this.visible) {\n this.event.on('afterElementEncode', eventParams => {\n const mark = eventParams.item;\n if (this._option.getChart().getLayoutTag() === false && mark.context?.model === this) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(mark.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const inverse = this._spec.inverse;\n if (this.orient === 'radius') {\n this._scale.range(\n inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()]\n );\n } else {\n this._scale.range(inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle]);\n }\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 field = this.orient === 'radius' ? (s as IPolarSeries).getRadiusField() : (s as IPolarSeries).getAngleField();\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 abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.orient === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id\n };\n return helper;\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.orient === 'radius') {\n return this._scale.invert(coord.radius);\n }\n\n if (this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n if (range[0] < 0) {\n const angle = coord.angle + (this._scale as BandScale).bandwidth() / 2;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n\n return this._scale.invert((coord.angle + (this._scale as BandScale).bandwidth() / 2) % rangeValue);\n }\n\n return this._scale.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n const dir = radian < startAngle ? 1 : -1;\n while (radian < startAngle || radian > endAngle) {\n radian += dir * Math.PI * 2;\n }\n\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n tickValues(): number[] {\n return this._tickData.getLatestData() || [];\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.orient === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const attrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n grid: {\n type: 'line',\n smoothLink: true\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const angle = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (angle - this._startAngle) / angleRange,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const attrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1,\n grid: {\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._refAngleAxis.tickValues().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (value - innerRadius) / distance,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const product = this.getMarks()[0].getProduct(); // 获取语法元素并更新\n product.encode(merge({}, this._axisStyle, attrs));\n }\n}\n"]}
@@ -3,9 +3,10 @@ import { ComponentTypeEnum } from '../../interface';
3
3
  import { PolarAxis } from './axis';
4
4
  import { BandAxisMixin } from '../mixin/band-axis-mixin';
5
5
  import type { StringOrNumber } from '../../../typings';
6
- export interface PolarBandAxis extends Pick<BandAxisMixin, 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'>, PolarAxis {
6
+ import type { IPolarBandAxisSpec } from './interface';
7
+ export interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends Pick<BandAxisMixin, 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'>, PolarAxis<T> {
7
8
  }
8
- export declare class PolarBandAxis extends PolarAxis {
9
+ export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {
9
10
  static type: ComponentTypeEnum;
10
11
  type: ComponentTypeEnum;
11
12
  protected _scale: BandScale;
@@ -19,6 +20,7 @@ export declare class PolarBandAxis extends PolarAxis {
19
20
  protected updateScaleRange(): void;
20
21
  protected axisHelper(): {
21
22
  getBandwidth: (depth: number) => number;
23
+ isContinuous: boolean;
22
24
  dataToPosition: (values: any[]) => number;
23
25
  coordToPoint: (point: import("../../../typings").IPolarPoint) => import("../../../typings").IPoint;
24
26
  pointToCoord: (point: import("../../../typings").IPoint) => import("../../../typings").IPolarPoint;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,+CAAoD;AACpD,iCAAmC;AACnC,qCAAkF;AAClF,6CAAyC;AACzC,8DAAyD;AAUzD,MAAa,aAAc,SAAQ,gBAAS;IAA5C;;QAEE,SAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;QAE7B,WAAM,GAAc,IAAI,kBAAS,EAAE,CAAC;IAuChD,CAAC;IAnCW,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,MAAa;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,OAAO,CAAC,CAAC;SACV;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAGS,UAAU;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,OAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEF,uCAAY,MAAM,KAAE,YAAY,IAAG;IACrC,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mCAA0B,EAAE,mCAA0B,CAAC,CAAC;IAC1E,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AA1CH,sCA2CC;AA1CQ,kBAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;AA2ChD,IAAA,cAAK,EAAC,aAAa,EAAE,+BAAa,CAAC,CAAC","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport { DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING } from './config';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\n\nexport interface PolarBandAxis\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis {}\n\nexport class PolarBandAxis extends PolarAxis {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n dataToPosition(values: any[]): number {\n if (values.length === 0 || this._scales.length === 0) {\n return 0;\n }\n const { position } = this.getPosition(values);\n return position;\n }\n\n protected updateScaleRange() {\n super.updateScaleRange();\n this.updateGroupScaleRange();\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,+CAAoD;AACpD,iCAAmC;AACnC,qCAAkF;AAClF,6CAAyC;AACzC,8DAAyD;AAWzD,MAAa,aAAiE,SAAQ,gBAAY;IAAlG;;QAEE,SAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;QAE7B,WAAM,GAAc,IAAI,kBAAS,EAAE,CAAC;IAuChD,CAAC;IAnCW,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,MAAa;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,OAAO,CAAC,CAAC;SACV;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAGS,UAAU;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,OAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEF,uCAAY,MAAM,KAAE,YAAY,IAAG;IACrC,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mCAA0B,EAAE,mCAA0B,CAAC,CAAC;IAC1E,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AA1CH,sCA2CC;AA1CQ,kBAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;AA2ChD,IAAA,cAAK,EAAC,aAAa,EAAE,+BAAa,CAAC,CAAC","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport { DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING } from './config';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n dataToPosition(values: any[]): number {\n if (values.length === 0 || this._scales.length === 0) {\n return 0;\n }\n const { position } = this.getPosition(values);\n return position;\n }\n\n protected updateScaleRange() {\n super.updateScaleRange();\n this.updateGroupScaleRange();\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n"]}
@@ -1,8 +1,8 @@
1
- import type { IPolarOrientType } from '../../../../typings';
1
+ import type { IPoint, IPolarOrientType } from '../../../../typings';
2
2
  import type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';
3
3
  import type { IPolarGrid } from './common';
4
4
  export type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;
5
- export type IPolarAxisCommonSpec = ICommonAxisSpec & {
5
+ export type IPolarAxisCommonSpec = Omit<ICommonAxisSpec, 'center'> & {
6
6
  inside?: boolean;
7
7
  orient: IPolarOrientType;
8
8
  grid?: IPolarGrid;
@@ -11,6 +11,11 @@ export type IPolarAxisCommonSpec = ICommonAxisSpec & {
11
11
  domainLine?: IDomainLine;
12
12
  label?: ILabel;
13
13
  title?: ITitle;
14
+ innerRadius?: number;
15
+ outerRadius?: number;
16
+ center?: IPoint;
17
+ startAngle?: number;
18
+ endAngle?: number;
14
19
  };
15
20
  export type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;
16
21
  export type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPolarOrientType } from '../../../../typings';\nimport type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';\nimport type { IPolarGrid } from './common';\n\n/** spec */\nexport type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;\n\nexport type IPolarAxisCommonSpec = ICommonAxisSpec & {\n /**\n * 当配置了 innerRadius 时,可以通过设置 inside: true,将坐标轴展示在内圆。\n * @default false\n */\n inside?: boolean;\n /**\n * 轴位置,枚举类型,支持:`'radius'` 和 `'angle'`\n * - `'radius'` 代表半径轴\n * - `'angle'` 代表角度轴\n */\n orient: IPolarOrientType;\n /**\n * 网格线配置\n */\n grid?: IPolarGrid;\n /**\n * 轴的外半径,数值范围 0 -1\n */\n radius?: number;\n /**\n * 子网格线配置\n */\n subGrid?: IPolarGrid;\n /**\n * 轴线配置\n */\n domainLine?: IDomainLine;\n /**\n * 轴标签配置\n */\n label?: ILabel;\n /**\n * 轴标题配置\n */\n title?: ITitle;\n};\n\nexport type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;\n\nexport type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPoint, IPolarOrientType } from '../../../../typings';\nimport type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';\nimport type { IPolarGrid } from './common';\n\n/** spec */\nexport type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;\n\nexport type IPolarAxisCommonSpec = Omit<ICommonAxisSpec, 'center'> & {\n /**\n * 当配置了 innerRadius 时,可以通过设置 inside: true,将坐标轴展示在内圆。\n * @default false\n */\n inside?: boolean;\n /**\n * 轴位置,枚举类型,支持:`'radius'` 和 `'angle'`\n * - `'radius'` 代表半径轴\n * - `'angle'` 代表角度轴\n */\n orient: IPolarOrientType;\n /**\n * 网格线配置\n */\n grid?: IPolarGrid;\n /**\n * 轴的外半径,数值范围 0 -1\n */\n radius?: number;\n /**\n * 子网格线配置\n */\n subGrid?: IPolarGrid;\n /**\n * 轴线配置\n */\n domainLine?: IDomainLine;\n /**\n * 轴标签配置\n */\n label?: ILabel;\n /**\n * 轴标题配置\n */\n title?: ITitle;\n /**\n * 内半径(比例值,取值范围 0~1)\n */\n innerRadius?: number;\n /**\n * 外半径(比例值,取值范围 0~1)\n */\n outerRadius?: number;\n /**\n * 中心点\n */\n center?: IPoint;\n /**\n * 起始角度\n */\n startAngle?: number;\n /**\n * 终止角度\n */\n endAngle?: number;\n};\n\nexport type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;\n\nexport type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;\n"]}
@@ -3,16 +3,15 @@ import { ComponentTypeEnum } from '../../interface';
3
3
  import { PolarAxis } from './axis';
4
4
  import type { IPolarLinearAxisSpec } from './interface/spec';
5
5
  import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
6
- export interface PolarLinearAxis extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'>, PolarAxis {
6
+ export interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'>, PolarAxis<T> {
7
7
  }
8
- export declare class PolarLinearAxis extends PolarAxis {
8
+ export declare class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {
9
9
  static type: ComponentTypeEnum;
10
10
  type: ComponentTypeEnum;
11
11
  protected _zero: boolean;
12
12
  protected _nice: boolean;
13
13
  protected _scale: LinearScale;
14
14
  protected _groupScales: LinearScale[];
15
- protected _spec: IPolarLinearAxisSpec;
16
15
  setAttrFromSpec(): void;
17
16
  protected initScales(): void;
18
17
  protected computeDomain(data: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAoD;AACpD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AASzC,MAAa,eAAgB,SAAQ,gBAAS;IAA9C;;QAEE,SAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;QAE/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QAEtB,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IAkBvC,CAAC;IAbC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AAxBH,0CAyBC;AAxBQ,oBAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;AA0BlD,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\n\nexport interface PolarLinearAxis\n extends Pick<\n LinearAxisMixin,\n 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'\n >,\n PolarAxis {}\n\nexport class PolarLinearAxis extends PolarAxis {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n protected declare _spec: IPolarLinearAxisSpec;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAoD;AACpD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AASzC,MAAa,eAAuE,SAAQ,gBAAY;IAAxG;;QAEE,SAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;QAE/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QAEtB,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IAgBvC,CAAC;IAbC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AAtBH,0CAuBC;AAtBQ,oBAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;AAwBlD,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n"]}
@@ -7,7 +7,8 @@ import type { IComponentPluginService, IComponentPlugin } from '../../plugin/com
7
7
  import type { IGroupMark } from '@visactor/vgrammar';
8
8
  import type { IAnimate } from '../../animation/interface';
9
9
  import type { Datum } from '../../typings';
10
- export declare abstract class BaseComponent extends BaseModel implements IComponent {
10
+ import type { IModelSpec } from '../../model/interface';
11
+ export declare abstract class BaseComponent<T extends IModelSpec = IModelSpec> extends BaseModel<T> implements IComponent {
11
12
  name: string;
12
13
  readonly modelType: string;
13
14
  pluginService?: IComponentPluginService;
@@ -17,7 +18,7 @@ export declare abstract class BaseComponent extends BaseModel implements ICompon
17
18
  protected _container: IGroup;
18
19
  created(): void;
19
20
  animate?: IAnimate;
20
- constructor(spec: any, options: IComponentOption);
21
+ constructor(spec: T, options: IComponentOption);
21
22
  abstract changeRegions(regions: IRegion[]): void;
22
23
  protected callPlugin(cb: (plugin: IComponentPlugin) => void): void;
23
24
  protected eventPos(markEventParams: BaseEventParams): {
@@ -26,6 +27,7 @@ export declare abstract class BaseComponent extends BaseModel implements ICompon
26
27
  };
27
28
  setCurrentTheme(theme: any, noRender?: boolean): Promise<void>;
28
29
  protected _initTheme(theme?: any): void;
30
+ protected _shouldMergeThemeToSpec(): boolean;
29
31
  protected getContainer(): IGroup;
30
32
  release(): void;
31
33
  clear(): void;
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", {
30
30
  value: !0
31
31
  }), exports.BaseComponent = void 0;
32
32
 
33
- const base_model_1 = require("../../model/base-model"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), util_1 = require("./util"), constant_1 = require("../../constant"), animate_manager_1 = require("../../animation/animate-manager");
33
+ const base_model_1 = require("../../model/base-model"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), util_1 = require("./util"), constant_1 = require("../../constant"), animate_manager_1 = require("../../animation/animate-manager"), util_2 = require("../../util");
34
34
 
35
35
  class BaseComponent extends base_model_1.BaseModel {
36
36
  getRegions() {
@@ -78,9 +78,16 @@ class BaseComponent extends base_model_1.BaseModel {
78
78
  _initTheme(theme) {
79
79
  const globalTheme = this._option.getTheme();
80
80
  theme ? super._initTheme(theme) : super._initTheme((0, util_1.getComponentThemeFromGlobalTheme)(this.type, globalTheme, this._originalSpec)),
81
- (0, vutils_1.isArray)(this._originalSpec) ? this._spec = this._originalSpec.map((spec => (0,
82
- vutils_1.merge)({}, this._theme, spec))) : this._spec = (0, vutils_1.merge)({}, this._theme, this._originalSpec),
83
- this._preprocessSpec();
81
+ this._shouldMergeThemeToSpec && ((0, vutils_1.isArray)(this._originalSpec) ? this._spec = this._originalSpec.map((spec => (0,
82
+ vutils_1.merge)({}, this._theme, spec))) : this._mergeThemeToSpec()), this._preprocessSpec();
83
+ const {padding: padding, noOuterPadding: noOuterPadding = !0, orient: orient} = this._spec;
84
+ if (noOuterPadding && padding && orient) {
85
+ const newPadding = (0, util_2.normalizeLayoutPaddingSpec)(padding);
86
+ newPadding[orient] = 0, this._spec.padding = newPadding;
87
+ }
88
+ }
89
+ _shouldMergeThemeToSpec() {
90
+ return !0;
84
91
  }
85
92
  getContainer() {
86
93
  return this._container || (this._container = this._option.globalInstance.getStage().find((node => "root" === node.name), !0)),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import type { IGraphic, IGroup } from '@visactor/vrender';\nimport { BaseModel } from '../../model/base-model';\nimport type { IRegion } from '../../region/interface';\nimport type { ComponentTypeEnum, IComponent, IComponentOption } from '../interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport { isArray, merge } from '@visactor/vutils';\nimport { getComponentThemeFromGlobalTheme } from './util';\nimport type { IGroupMark } from '@visactor/vgrammar';\nimport { Event_Source_Type } from '../../constant';\nimport type { IAnimate } from '../../animation/interface';\nimport { AnimateManager } from '../../animation/animate-manager';\nimport type { Datum } from '../../typings';\n\nexport abstract class BaseComponent extends BaseModel implements IComponent {\n name: string = 'component';\n readonly modelType: string = 'component';\n pluginService?: IComponentPluginService;\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[] = [];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.pluginService = new ComponentPluginService(this);\n }\n\n animate?: IAnimate;\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex();\n this.layoutBindRegionID = this._regions.map(x => x.id);\n // 创建组件自己的动画管理器\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: options.getCompiler\n });\n }\n }\n\n abstract changeRegions(regions: IRegion[]): void;\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected eventPos(markEventParams: BaseEventParams) {\n return {\n x: (markEventParams.event as any).viewX - this.getLayoutStartPoint().x,\n y: (markEventParams.event as any).viewY - this.getLayoutStartPoint().y\n };\n }\n\n async setCurrentTheme(theme: any, noRender?: boolean) {\n const modifyConfig = () => {\n // 重新初始化\n this.reInit(theme);\n\n return { change: true, reMake: false };\n };\n\n if (noRender) {\n modifyConfig();\n } else {\n await this._option.globalInstance.updateCustomConfigAndRerender(modifyConfig);\n }\n }\n\n protected _initTheme(theme?: any) {\n const globalTheme = this._option.getTheme();\n\n if (theme) {\n super._initTheme(theme);\n } else {\n super._initTheme(\n getComponentThemeFromGlobalTheme(this.type as ComponentTypeEnum, globalTheme, this._originalSpec)\n );\n }\n\n // 将 theme merge 到 spec 中\n if (isArray(this._originalSpec)) {\n this._spec = this._originalSpec.map(spec => merge({}, this._theme, spec));\n } else {\n this._spec = merge({}, this._theme, this._originalSpec);\n }\n this._preprocessSpec();\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option.globalInstance.getStage().find(node => node.name === 'root', true);\n }\n\n return this._container;\n }\n\n release() {\n super.release();\n this.clear();\n }\n\n clear() {\n this._container = null;\n this.pluginService?.disposeAll();\n this.pluginService = null;\n }\n\n compile(): void {\n this.compileSignal();\n this.compileMarks();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n // 代理组件事件\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import type { IGraphic, IGroup } from '@visactor/vrender';\nimport { BaseModel } from '../../model/base-model';\nimport type { IRegion } from '../../region/interface';\nimport type { ComponentTypeEnum, IComponent, IComponentOption } from '../interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport { isArray, merge } from '@visactor/vutils';\nimport { getComponentThemeFromGlobalTheme } from './util';\nimport type { IGroupMark } from '@visactor/vgrammar';\nimport { Event_Source_Type } from '../../constant';\nimport type { IAnimate } from '../../animation/interface';\nimport { AnimateManager } from '../../animation/animate-manager';\nimport type { Datum } from '../../typings';\nimport type { IModelSpec } from '../../model/interface';\nimport { normalizeLayoutPaddingSpec } from '../../util';\n\nexport abstract class BaseComponent<T extends IModelSpec = IModelSpec> extends BaseModel<T> implements IComponent {\n name: string = 'component';\n readonly modelType: string = 'component';\n pluginService?: IComponentPluginService;\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[] = [];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.pluginService = new ComponentPluginService(this);\n }\n\n animate?: IAnimate;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex();\n this.layoutBindRegionID = this._regions.map(x => x.id);\n // 创建组件自己的动画管理器\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: options.getCompiler\n });\n }\n }\n\n abstract changeRegions(regions: IRegion[]): void;\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected eventPos(markEventParams: BaseEventParams) {\n return {\n x: (markEventParams.event as any).viewX - this.getLayoutStartPoint().x,\n y: (markEventParams.event as any).viewY - this.getLayoutStartPoint().y\n };\n }\n\n async setCurrentTheme(theme: any, noRender?: boolean) {\n const modifyConfig = () => {\n // 重新初始化\n this.reInit(theme);\n\n return { change: true, reMake: false };\n };\n\n if (noRender) {\n modifyConfig();\n } else {\n await this._option.globalInstance.updateCustomConfigAndRerender(modifyConfig);\n }\n }\n\n protected _initTheme(theme?: any) {\n const globalTheme = this._option.getTheme();\n\n if (theme) {\n super._initTheme(theme);\n } else {\n super._initTheme(\n getComponentThemeFromGlobalTheme(this.type as ComponentTypeEnum, globalTheme, this._originalSpec)\n );\n }\n\n // 将 theme merge 到 spec 中\n if (this._shouldMergeThemeToSpec) {\n if (isArray(this._originalSpec)) {\n this._spec = this._originalSpec.map(spec => merge({}, this._theme, spec)) as unknown as T;\n } else {\n this._mergeThemeToSpec();\n }\n }\n this._preprocessSpec();\n\n // 默认忽略外侧 padding\n const { padding, noOuterPadding = true, orient } = this._spec;\n if (noOuterPadding && padding && orient) {\n const newPadding = normalizeLayoutPaddingSpec(padding);\n newPadding[orient] = 0;\n this._spec.padding = newPadding;\n }\n }\n\n /** 是否在初始化时将 theme 自动 merge 到 spec */\n protected _shouldMergeThemeToSpec() {\n return true;\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option.globalInstance.getStage().find(node => node.name === 'root', true);\n }\n\n return this._container;\n }\n\n release() {\n super.release();\n this.clear();\n }\n\n clear() {\n this._container = null;\n this.pluginService?.disposeAll();\n this.pluginService = null;\n }\n\n compile(): void {\n this.compileSignal();\n this.compileMarks();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n // 代理组件事件\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n };\n}\n"]}
@@ -7,8 +7,8 @@ import type { IModelRenderOption } from '../../model/interface';
7
7
  import type { IRegion } from '../../region/interface';
8
8
  import type { ISeries } from '../../series/interface';
9
9
  import type { IElement } from '@visactor/vgrammar';
10
- import type { BrushInteractiveRangeAttr, IBrush } from './interface';
11
- export declare class Brush extends BaseComponent implements IBrush {
10
+ import type { BrushInteractiveRangeAttr, IBrush, IBrushSpec } from './interface';
11
+ export declare class Brush extends BaseComponent<IBrushSpec> implements IBrush {
12
12
  layoutType: LayoutItem['layoutType'];
13
13
  static type: ComponentTypeEnum;
14
14
  type: ComponentTypeEnum;