@visactor/vchart 1.3.0-beta.9 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (925) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +17475 -16797
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +2 -2
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/area/area.js +2 -2
  8. package/cjs/chart/area/area.js.map +1 -1
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/bar/bar.js +2 -2
  12. package/cjs/chart/bar/bar.js.map +1 -1
  13. package/cjs/chart/base-chart.d.ts +1 -0
  14. package/cjs/chart/base-chart.js +14 -8
  15. package/cjs/chart/base-chart.js.map +1 -1
  16. package/cjs/chart/box-plot/box-plot.js +2 -2
  17. package/cjs/chart/box-plot/box-plot.js.map +1 -1
  18. package/cjs/chart/cartesian/cartesian.js +1 -1
  19. package/cjs/chart/cartesian/cartesian.js.map +1 -1
  20. package/cjs/chart/circle-packing/circle-packing.js +2 -2
  21. package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
  22. package/cjs/chart/funnel/funnel-3d.js +2 -2
  23. package/cjs/chart/funnel/funnel-3d.js.map +1 -1
  24. package/cjs/chart/funnel/funnel.js +2 -2
  25. package/cjs/chart/funnel/funnel.js.map +1 -1
  26. package/cjs/chart/gauge/gauge.js +2 -2
  27. package/cjs/chart/gauge/gauge.js.map +1 -1
  28. package/cjs/chart/heatmap/heatmap.js +2 -2
  29. package/cjs/chart/heatmap/heatmap.js.map +1 -1
  30. package/cjs/chart/histogram/histogram-3d.js +2 -2
  31. package/cjs/chart/histogram/histogram-3d.js.map +1 -1
  32. package/cjs/chart/histogram/histogram.js +2 -2
  33. package/cjs/chart/histogram/histogram.js.map +1 -1
  34. package/cjs/chart/index.d.ts +1 -1
  35. package/cjs/chart/index.js.map +1 -1
  36. package/cjs/chart/line/line.js +2 -2
  37. package/cjs/chart/line/line.js.map +1 -1
  38. package/cjs/chart/map/map.js +2 -2
  39. package/cjs/chart/map/map.js.map +1 -1
  40. package/cjs/chart/pie/pie-3d.js +2 -2
  41. package/cjs/chart/pie/pie-3d.js.map +1 -1
  42. package/cjs/chart/pie/pie.js +2 -2
  43. package/cjs/chart/pie/pie.js.map +1 -1
  44. package/cjs/chart/polar/progress-like.js +2 -2
  45. package/cjs/chart/polar/progress-like.js.map +1 -1
  46. package/cjs/chart/polar/rose-like.js +1 -1
  47. package/cjs/chart/polar/rose-like.js.map +1 -1
  48. package/cjs/chart/progress/circular/circular.js +2 -2
  49. package/cjs/chart/progress/circular/circular.js.map +1 -1
  50. package/cjs/chart/progress/linear/linear.js +4 -4
  51. package/cjs/chart/progress/linear/linear.js.map +1 -1
  52. package/cjs/chart/radar/radar.js +4 -4
  53. package/cjs/chart/radar/radar.js.map +1 -1
  54. package/cjs/chart/range-area/range-area.js +2 -2
  55. package/cjs/chart/range-area/range-area.js.map +1 -1
  56. package/cjs/chart/range-column/range-column-3d.js +2 -2
  57. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  58. package/cjs/chart/range-column/range-column.js +2 -2
  59. package/cjs/chart/range-column/range-column.js.map +1 -1
  60. package/cjs/chart/rose/rose.js +3 -3
  61. package/cjs/chart/rose/rose.js.map +1 -1
  62. package/cjs/chart/sankey/sankey.js +2 -2
  63. package/cjs/chart/sankey/sankey.js.map +1 -1
  64. package/cjs/chart/scatter/scatter.js +2 -2
  65. package/cjs/chart/scatter/scatter.js.map +1 -1
  66. package/cjs/chart/sequence/sequence.js +2 -2
  67. package/cjs/chart/sequence/sequence.js.map +1 -1
  68. package/cjs/chart/sunburst/sunburst.js +2 -2
  69. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  70. package/cjs/chart/treemap/treemap.js +2 -2
  71. package/cjs/chart/treemap/treemap.js.map +1 -1
  72. package/cjs/chart/util.js +1 -1
  73. package/cjs/chart/util.js.map +1 -1
  74. package/cjs/chart/waterfall/waterfall.js +2 -2
  75. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  76. package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
  77. package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
  78. package/cjs/chart/word-cloud/word-cloud.js +2 -2
  79. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  80. package/cjs/compile/compiler.d.ts +4 -0
  81. package/cjs/compile/compiler.js +4 -0
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  84. package/cjs/compile/interface/compilable-item.js.map +1 -1
  85. package/cjs/component/axis/base-axis.d.ts +1 -14
  86. package/cjs/component/axis/base-axis.js +18 -29
  87. package/cjs/component/axis/base-axis.js.map +1 -1
  88. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  89. package/cjs/component/axis/cartesian/axis.js +23 -23
  90. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  91. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  92. package/cjs/component/axis/cartesian/index.js +2 -1
  93. package/cjs/component/axis/cartesian/index.js.map +1 -1
  94. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  95. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  96. package/cjs/component/axis/cartesian/linear-axis.js +2 -2
  97. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/symlog-axis.d.ts +16 -0
  99. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  100. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  101. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  102. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  103. package/cjs/component/axis/interface.d.ts +4 -8
  104. package/cjs/component/axis/interface.js.map +1 -1
  105. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  106. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  107. package/cjs/component/axis/polar/axis.d.ts +1 -1
  108. package/cjs/component/axis/polar/axis.js +14 -14
  109. package/cjs/component/axis/polar/axis.js.map +1 -1
  110. package/cjs/component/axis/polar/interface/common.d.ts +1 -1
  111. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  112. package/cjs/component/axis/{utils.d.ts → util.d.ts} +1 -1
  113. package/cjs/component/axis/{utils.js → util.js} +6 -6
  114. package/cjs/component/axis/util.js.map +1 -0
  115. package/cjs/component/base/base-component.d.ts +10 -2
  116. package/cjs/component/base/base-component.js +10 -5
  117. package/cjs/component/base/base-component.js.map +1 -1
  118. package/cjs/component/base/interface.d.ts +8 -0
  119. package/cjs/component/base/interface.js +6 -0
  120. package/cjs/component/base/interface.js.map +1 -0
  121. package/cjs/component/base/util.d.ts +2 -1
  122. package/cjs/component/base/util.js +21 -16
  123. package/cjs/component/base/util.js.map +1 -1
  124. package/cjs/component/brush/brush.d.ts +12 -2
  125. package/cjs/component/brush/brush.js +74 -63
  126. package/cjs/component/brush/brush.js.map +1 -1
  127. package/cjs/component/crosshair/base.d.ts +2 -2
  128. package/cjs/component/crosshair/base.js +1 -1
  129. package/cjs/component/crosshair/base.js.map +1 -1
  130. package/cjs/component/crosshair/cartesian.js +9 -9
  131. package/cjs/component/crosshair/cartesian.js.map +1 -1
  132. package/cjs/component/crosshair/interface/spec.d.ts +8 -8
  133. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  134. package/cjs/component/crosshair/interface/theme.d.ts +3 -1
  135. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  136. package/cjs/component/crosshair/polar.js +9 -9
  137. package/cjs/component/crosshair/polar.js.map +1 -1
  138. package/cjs/component/crosshair/util.d.ts +5 -0
  139. package/cjs/component/crosshair/util.js +41 -4
  140. package/cjs/component/crosshair/util.js.map +1 -1
  141. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  142. package/cjs/component/custom-mark/custom-mark.js +3 -3
  143. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  144. package/cjs/component/data-zoom/data-filter-base-component.js +2 -3
  145. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  146. package/cjs/component/data-zoom/data-zoom/data-zoom.js +6 -6
  147. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  148. package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -2
  149. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  150. package/cjs/component/data-zoom/interface.d.ts +2 -5
  151. package/cjs/component/data-zoom/interface.js.map +1 -1
  152. package/cjs/component/geo/geo-coordinate.d.ts +2 -0
  153. package/cjs/component/geo/geo-coordinate.js +15 -5
  154. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  155. package/cjs/component/geo/projection.d.ts +1 -0
  156. package/cjs/component/geo/projection.js +4 -0
  157. package/cjs/component/geo/projection.js.map +1 -1
  158. package/cjs/component/index.d.ts +2 -2
  159. package/cjs/component/index.js +6 -1
  160. package/cjs/component/index.js.map +1 -1
  161. package/cjs/component/indicator/indicator.d.ts +1 -0
  162. package/cjs/component/indicator/indicator.js +10 -7
  163. package/cjs/component/indicator/indicator.js.map +1 -1
  164. package/cjs/component/indicator/interface.d.ts +5 -6
  165. package/cjs/component/indicator/interface.js.map +1 -1
  166. package/cjs/component/interface/theme.d.ts +2 -2
  167. package/cjs/component/interface/theme.js.map +1 -1
  168. package/cjs/component/interface/type.d.ts +1 -0
  169. package/cjs/component/interface/type.js +12 -11
  170. package/cjs/component/interface/type.js.map +1 -1
  171. package/cjs/component/label/base-label.d.ts +0 -1
  172. package/cjs/component/label/base-label.js +0 -5
  173. package/cjs/component/label/base-label.js.map +1 -1
  174. package/cjs/component/label/interface.d.ts +2 -1
  175. package/cjs/component/label/interface.js.map +1 -1
  176. package/cjs/component/label/label.d.ts +0 -1
  177. package/cjs/component/label/label.js +1 -6
  178. package/cjs/component/label/label.js.map +1 -1
  179. package/cjs/component/label/totalLabel.js +1 -1
  180. package/cjs/component/label/totalLabel.js.map +1 -1
  181. package/cjs/component/legend/base-legend.js +4 -4
  182. package/cjs/component/legend/base-legend.js.map +1 -1
  183. package/cjs/component/legend/continuous/util.js +4 -4
  184. package/cjs/component/legend/continuous/util.js.map +1 -1
  185. package/cjs/component/legend/discrete/interface.d.ts +3 -1
  186. package/cjs/component/legend/discrete/interface.js.map +1 -1
  187. package/cjs/component/legend/discrete/legend.js +2 -2
  188. package/cjs/component/legend/discrete/legend.js.map +1 -1
  189. package/cjs/component/legend/discrete/util.js +2 -2
  190. package/cjs/component/legend/discrete/util.js.map +1 -1
  191. package/cjs/component/legend/interface.d.ts +2 -6
  192. package/cjs/component/legend/interface.js.map +1 -1
  193. package/cjs/component/legend/util.js +2 -2
  194. package/cjs/component/legend/util.js.map +1 -1
  195. package/cjs/component/marker/interface.d.ts +2 -2
  196. package/cjs/component/marker/interface.js.map +1 -1
  197. package/cjs/component/poptip/interface.d.ts +15 -0
  198. package/cjs/component/poptip/interface.js +6 -0
  199. package/cjs/component/poptip/interface.js.map +1 -0
  200. package/cjs/component/title/interface/spec.d.ts +2 -2
  201. package/cjs/component/title/interface/spec.js.map +1 -1
  202. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +5 -5
  203. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  204. package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
  205. package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  206. package/cjs/component/tooltip/handler/dom/model/title-model.js +2 -2
  207. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  208. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
  209. package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  210. package/cjs/component/tooltip/handler/dom/util.js +3 -3
  211. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  212. package/cjs/component/tooltip/handler/utils/attribute.js +3 -3
  213. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  214. package/cjs/component/tooltip/handler/utils/get-spec.js +1 -1
  215. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  216. package/cjs/component/tooltip/handler/utils/style.js +2 -2
  217. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  218. package/cjs/component/tooltip/processor/base.js +1 -1
  219. package/cjs/component/tooltip/processor/base.js.map +1 -1
  220. package/cjs/component/tooltip/tooltip.js +1 -1
  221. package/cjs/component/tooltip/tooltip.js.map +1 -1
  222. package/cjs/core/index.d.ts +1 -1
  223. package/cjs/core/index.js +1 -1
  224. package/cjs/core/index.js.map +1 -1
  225. package/cjs/core/vchart.js +20 -17
  226. package/cjs/core/vchart.js.map +1 -1
  227. package/cjs/data/transforms/legend-data/discrete/discrete.js +4 -2
  228. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  229. package/cjs/data/transforms/tick-data/discrete/polar-angle.js +2 -2
  230. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  231. package/cjs/data/transforms/tick-data/util.js +5 -5
  232. package/cjs/data/transforms/tick-data/util.js.map +1 -1
  233. package/cjs/event/events/dimension/util/cartesian.js +2 -2
  234. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  235. package/cjs/event/events/dimension/util/polar.js +1 -1
  236. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  237. package/cjs/interaction/trigger.js +2 -2
  238. package/cjs/interaction/trigger.js.map +1 -1
  239. package/cjs/mark/base/base-mark.d.ts +1 -0
  240. package/cjs/mark/base/base-mark.js +19 -2
  241. package/cjs/mark/base/base-mark.js.map +1 -1
  242. package/cjs/mark/mark-set/index.d.ts +1 -0
  243. package/cjs/mark/mark-set/index.js.map +1 -1
  244. package/cjs/model/base-model.js +2 -2
  245. package/cjs/model/base-model.js.map +1 -1
  246. package/cjs/model/interface.d.ts +1 -1
  247. package/cjs/model/interface.js.map +1 -1
  248. package/cjs/plugin/components/index.d.ts +0 -2
  249. package/cjs/plugin/components/index.js +1 -2
  250. package/cjs/plugin/components/index.js.map +1 -1
  251. package/cjs/series/area/area.d.ts +1 -0
  252. package/cjs/series/area/area.js +4 -3
  253. package/cjs/series/area/area.js.map +1 -1
  254. package/cjs/series/bar/bar.js +9 -9
  255. package/cjs/series/bar/bar.js.map +1 -1
  256. package/cjs/series/base/base-series.d.ts +1 -0
  257. package/cjs/series/base/base-series.js +25 -8
  258. package/cjs/series/base/base-series.js.map +1 -1
  259. package/cjs/series/cartesian/cartesian.d.ts +4 -0
  260. package/cjs/series/cartesian/cartesian.js +16 -4
  261. package/cjs/series/cartesian/cartesian.js.map +1 -1
  262. package/cjs/series/cartesian/interface.d.ts +1 -0
  263. package/cjs/series/cartesian/interface.js.map +1 -1
  264. package/cjs/series/dot/dot.js +1 -1
  265. package/cjs/series/dot/dot.js.map +1 -1
  266. package/cjs/series/funnel/funnel.js +13 -3
  267. package/cjs/series/funnel/funnel.js.map +1 -1
  268. package/cjs/series/heatmap/heatmap.js +1 -1
  269. package/cjs/series/heatmap/heatmap.js.map +1 -1
  270. package/cjs/series/line/interface.d.ts +0 -2
  271. package/cjs/series/line/interface.js.map +1 -1
  272. package/cjs/series/line/line.d.ts +1 -0
  273. package/cjs/series/line/line.js +1 -1
  274. package/cjs/series/line/line.js.map +1 -1
  275. package/cjs/series/map/geo-source.js +2 -2
  276. package/cjs/series/map/geo-source.js.map +1 -1
  277. package/cjs/series/map/interface.d.ts +1 -0
  278. package/cjs/series/map/interface.js.map +1 -1
  279. package/cjs/series/map/map.js +8 -4
  280. package/cjs/series/map/map.js.map +1 -1
  281. package/cjs/series/mixin/line-mixin.d.ts +1 -1
  282. package/cjs/series/mixin/line-mixin.js +1 -1
  283. package/cjs/series/mixin/line-mixin.js.map +1 -1
  284. package/cjs/series/pie/pie.js +1 -1
  285. package/cjs/series/pie/pie.js.map +1 -1
  286. package/cjs/series/polar/interface.d.ts +1 -0
  287. package/cjs/series/polar/interface.js.map +1 -1
  288. package/cjs/series/polar/polar.d.ts +4 -0
  289. package/cjs/series/polar/polar.js +15 -3
  290. package/cjs/series/polar/polar.js.map +1 -1
  291. package/cjs/series/radar/radar.d.ts +1 -0
  292. package/cjs/series/radar/radar.js +1 -1
  293. package/cjs/series/radar/radar.js.map +1 -1
  294. package/cjs/series/range-column/range-column.js +1 -1
  295. package/cjs/series/range-column/range-column.js.map +1 -1
  296. package/cjs/series/rose/rose.js +1 -1
  297. package/cjs/series/rose/rose.js.map +1 -1
  298. package/cjs/series/sankey/interface.d.ts +3 -2
  299. package/cjs/series/sankey/interface.js.map +1 -1
  300. package/cjs/series/sankey/sankey.d.ts +5 -0
  301. package/cjs/series/sankey/sankey.js +246 -92
  302. package/cjs/series/sankey/sankey.js.map +1 -1
  303. package/cjs/series/scatter/scatter.js +1 -1
  304. package/cjs/series/scatter/scatter.js.map +1 -1
  305. package/cjs/series/util/utils.d.ts +4 -1
  306. package/cjs/series/util/utils.js +8 -6
  307. package/cjs/series/util/utils.js.map +1 -1
  308. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  309. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  310. package/cjs/theme/builtin/common/component/axis/common-axis.js +12 -6
  311. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  312. package/cjs/theme/builtin/common/component/axis/polar-axis.js +1 -1
  313. package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  314. package/cjs/theme/builtin/common/component/crosshair.js +73 -117
  315. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  316. package/cjs/theme/builtin/common/component/data-zoom.js +19 -7
  317. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  318. package/cjs/theme/builtin/common/component/indicator.js +17 -5
  319. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  320. package/cjs/theme/builtin/common/component/legend/color-legend.js +31 -5
  321. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  322. package/cjs/theme/builtin/common/component/legend/continuous.js +26 -12
  323. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  324. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  325. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  326. package/cjs/theme/builtin/common/component/legend/size-legend.js +54 -15
  327. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  328. package/cjs/theme/builtin/common/component/map-label.js +5 -5
  329. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  330. package/cjs/theme/builtin/common/component/mark-area.js +7 -2
  331. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  332. package/cjs/theme/builtin/common/component/mark-line.js +7 -2
  333. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  334. package/cjs/theme/builtin/common/component/player.js +33 -7
  335. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  336. package/cjs/theme/builtin/common/component/poptip.d.ts +2 -2
  337. package/cjs/theme/builtin/common/component/poptip.js +20 -12
  338. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  339. package/cjs/theme/builtin/common/component/title.js +9 -5
  340. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  341. package/cjs/theme/builtin/common/component/tooltip.js +13 -10
  342. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  343. package/cjs/theme/builtin/common/component/total-label.js +4 -4
  344. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  345. package/cjs/theme/builtin/common/constants.js +17 -10
  346. package/cjs/theme/builtin/common/constants.js.map +1 -1
  347. package/cjs/theme/builtin/common/mark.js +8 -4
  348. package/cjs/theme/builtin/common/mark.js.map +1 -1
  349. package/cjs/theme/builtin/common/series/area.js +2 -7
  350. package/cjs/theme/builtin/common/series/area.js.map +1 -1
  351. package/cjs/theme/builtin/common/series/bar.js +2 -7
  352. package/cjs/theme/builtin/common/series/bar.js.map +1 -1
  353. package/cjs/theme/builtin/common/series/bar3d.js +1 -6
  354. package/cjs/theme/builtin/common/series/bar3d.js.map +1 -1
  355. package/cjs/theme/builtin/common/series/circle-packing.js +11 -5
  356. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  357. package/cjs/theme/builtin/common/series/dot.js +11 -3
  358. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  359. package/cjs/theme/builtin/common/series/funnel.js +7 -4
  360. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  361. package/cjs/theme/builtin/common/series/funnel3d.js +7 -4
  362. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  363. package/cjs/theme/builtin/common/series/line.js +2 -7
  364. package/cjs/theme/builtin/common/series/line.js.map +1 -1
  365. package/cjs/theme/builtin/common/series/map.js +4 -2
  366. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  367. package/cjs/theme/builtin/common/series/pie.js +1 -6
  368. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  369. package/cjs/theme/builtin/common/series/pie3d.js +2 -9
  370. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
  371. package/cjs/theme/builtin/common/series/radar.js +2 -7
  372. package/cjs/theme/builtin/common/series/radar.js.map +1 -1
  373. package/cjs/theme/builtin/common/series/rangeColumn.js +2 -3
  374. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  375. package/cjs/theme/builtin/common/series/rose.js +1 -2
  376. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  377. package/cjs/theme/builtin/common/series/sankey.js +0 -1
  378. package/cjs/theme/builtin/common/series/sankey.js.map +1 -1
  379. package/cjs/theme/builtin/common/series/scatter.js +2 -7
  380. package/cjs/theme/builtin/common/series/scatter.js.map +1 -1
  381. package/cjs/theme/builtin/common/series/sunburst.js +5 -2
  382. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  383. package/cjs/theme/builtin/common/series/treemap.js +9 -5
  384. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  385. package/cjs/theme/builtin/common/series/waterfall.js +5 -6
  386. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  387. package/cjs/theme/builtin/dark/color-scheme.js +5 -3
  388. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  389. package/cjs/theme/builtin/index.d.ts +0 -1
  390. package/cjs/theme/builtin/index.js +1 -2
  391. package/cjs/theme/builtin/index.js.map +1 -1
  392. package/cjs/theme/builtin/light/color-scheme.js +4 -2
  393. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  394. package/cjs/theme/builtin/light/index.js +2 -2
  395. package/cjs/theme/builtin/light/index.js.map +1 -1
  396. package/cjs/theme/color-scheme/builtin/interface.d.ts +22 -0
  397. package/cjs/theme/color-scheme/builtin/interface.js +6 -0
  398. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -0
  399. package/cjs/theme/color-scheme/interface.d.ts +3 -2
  400. package/cjs/theme/color-scheme/interface.js.map +1 -1
  401. package/cjs/theme/color-scheme/util.js +8 -2
  402. package/cjs/theme/color-scheme/util.js.map +1 -1
  403. package/cjs/theme/interface.d.ts +16 -5
  404. package/cjs/theme/interface.js.map +1 -1
  405. package/cjs/typings/spec/common.d.ts +2 -1
  406. package/cjs/typings/spec/common.js.map +1 -1
  407. package/cjs/typings/visual.d.ts +10 -20
  408. package/cjs/typings/visual.js.map +1 -1
  409. package/cjs/util/data.d.ts +0 -8
  410. package/cjs/util/data.js +2 -9
  411. package/cjs/util/data.js.map +1 -1
  412. package/cjs/util/object.d.ts +2 -4
  413. package/cjs/util/object.js +2 -18
  414. package/cjs/util/object.js.map +1 -1
  415. package/cjs/util/scale.d.ts +2 -6
  416. package/cjs/util/scale.js +1 -6
  417. package/cjs/util/scale.js.map +1 -1
  418. package/cjs/util/space.d.ts +3 -10
  419. package/cjs/util/space.js +13 -28
  420. package/cjs/util/space.js.map +1 -1
  421. package/cjs/util/spec/background.d.ts +4 -0
  422. package/cjs/util/spec/background.js +27 -0
  423. package/cjs/util/spec/background.js.map +1 -0
  424. package/cjs/util/spec/clone-deep.d.ts +1 -0
  425. package/cjs/util/spec/clone-deep.js +27 -0
  426. package/cjs/util/spec/clone-deep.js.map +1 -0
  427. package/cjs/util/spec/common.d.ts +3 -0
  428. package/cjs/util/spec/common.js +23 -0
  429. package/cjs/util/spec/common.js.map +1 -0
  430. package/cjs/util/spec/index.d.ts +7 -0
  431. package/cjs/util/spec/index.js +24 -0
  432. package/cjs/util/spec/index.js.map +1 -0
  433. package/cjs/util/spec/merge-spec.d.ts +1 -0
  434. package/cjs/util/spec/merge-spec.js +58 -0
  435. package/cjs/util/spec/merge-spec.js.map +1 -0
  436. package/cjs/util/spec/merge-theme.d.ts +3 -0
  437. package/cjs/util/spec/merge-theme.js +37 -0
  438. package/cjs/util/spec/merge-theme.js.map +1 -0
  439. package/cjs/util/spec/preprocess.d.ts +3 -0
  440. package/cjs/util/spec/preprocess.js +24 -0
  441. package/cjs/util/spec/preprocess.js.map +1 -0
  442. package/cjs/util/spec/transform.d.ts +3 -0
  443. package/cjs/util/spec/transform.js +28 -0
  444. package/cjs/util/spec/transform.js.map +1 -0
  445. package/cjs/util/text.d.ts +1 -2
  446. package/cjs/util/text.js +4 -14
  447. package/cjs/util/text.js.map +1 -1
  448. package/cjs/vchart-all.js +1 -1
  449. package/cjs/vchart-all.js.map +1 -1
  450. package/cjs/vchart-simple.js +3 -4
  451. package/cjs/vchart-simple.js.map +1 -1
  452. package/esm/animation/utils.js +3 -3
  453. package/esm/animation/utils.js.map +1 -1
  454. package/esm/chart/area/area.js +3 -3
  455. package/esm/chart/area/area.js.map +1 -1
  456. package/esm/chart/bar/bar-3d.js +2 -2
  457. package/esm/chart/bar/bar-3d.js.map +1 -1
  458. package/esm/chart/bar/bar.js +2 -2
  459. package/esm/chart/bar/bar.js.map +1 -1
  460. package/esm/chart/base-chart.d.ts +1 -0
  461. package/esm/chart/base-chart.js +14 -8
  462. package/esm/chart/base-chart.js.map +1 -1
  463. package/esm/chart/box-plot/box-plot.js +1 -1
  464. package/esm/chart/box-plot/box-plot.js.map +1 -1
  465. package/esm/chart/cartesian/cartesian.js +1 -1
  466. package/esm/chart/cartesian/cartesian.js.map +1 -1
  467. package/esm/chart/circle-packing/circle-packing.js +1 -1
  468. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  469. package/esm/chart/funnel/funnel-3d.js +1 -1
  470. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  471. package/esm/chart/funnel/funnel.js +1 -1
  472. package/esm/chart/funnel/funnel.js.map +1 -1
  473. package/esm/chart/gauge/gauge.js +2 -2
  474. package/esm/chart/gauge/gauge.js.map +1 -1
  475. package/esm/chart/heatmap/heatmap.js +1 -1
  476. package/esm/chart/heatmap/heatmap.js.map +1 -1
  477. package/esm/chart/histogram/histogram-3d.js +2 -2
  478. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  479. package/esm/chart/histogram/histogram.js +2 -2
  480. package/esm/chart/histogram/histogram.js.map +1 -1
  481. package/esm/chart/index.d.ts +1 -1
  482. package/esm/chart/index.js.map +1 -1
  483. package/esm/chart/line/line.js +1 -1
  484. package/esm/chart/line/line.js.map +1 -1
  485. package/esm/chart/map/map.js +2 -2
  486. package/esm/chart/map/map.js.map +1 -1
  487. package/esm/chart/pie/pie-3d.js +2 -2
  488. package/esm/chart/pie/pie-3d.js.map +1 -1
  489. package/esm/chart/pie/pie.js +2 -2
  490. package/esm/chart/pie/pie.js.map +1 -1
  491. package/esm/chart/polar/progress-like.js +1 -1
  492. package/esm/chart/polar/progress-like.js.map +1 -1
  493. package/esm/chart/polar/rose-like.js +1 -1
  494. package/esm/chart/polar/rose-like.js.map +1 -1
  495. package/esm/chart/progress/circular/circular.js +1 -1
  496. package/esm/chart/progress/circular/circular.js.map +1 -1
  497. package/esm/chart/progress/linear/linear.js +2 -2
  498. package/esm/chart/progress/linear/linear.js.map +1 -1
  499. package/esm/chart/radar/radar.js +5 -5
  500. package/esm/chart/radar/radar.js.map +1 -1
  501. package/esm/chart/range-area/range-area.js +1 -1
  502. package/esm/chart/range-area/range-area.js.map +1 -1
  503. package/esm/chart/range-column/range-column-3d.js +1 -1
  504. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  505. package/esm/chart/range-column/range-column.js +1 -1
  506. package/esm/chart/range-column/range-column.js.map +1 -1
  507. package/esm/chart/rose/rose.js +4 -4
  508. package/esm/chart/rose/rose.js.map +1 -1
  509. package/esm/chart/sankey/sankey.js +1 -1
  510. package/esm/chart/sankey/sankey.js.map +1 -1
  511. package/esm/chart/scatter/scatter.js +2 -2
  512. package/esm/chart/scatter/scatter.js.map +1 -1
  513. package/esm/chart/sequence/sequence.js +4 -2
  514. package/esm/chart/sequence/sequence.js.map +1 -1
  515. package/esm/chart/sunburst/sunburst.js +1 -1
  516. package/esm/chart/sunburst/sunburst.js.map +1 -1
  517. package/esm/chart/treemap/treemap.js +1 -1
  518. package/esm/chart/treemap/treemap.js.map +1 -1
  519. package/esm/chart/util.js +2 -2
  520. package/esm/chart/util.js.map +1 -1
  521. package/esm/chart/waterfall/waterfall.js +1 -1
  522. package/esm/chart/waterfall/waterfall.js.map +1 -1
  523. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  524. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  525. package/esm/chart/word-cloud/word-cloud.js +1 -1
  526. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  527. package/esm/compile/compiler.d.ts +4 -0
  528. package/esm/compile/compiler.js +4 -0
  529. package/esm/compile/compiler.js.map +1 -1
  530. package/esm/compile/interface/compilable-item.d.ts +1 -0
  531. package/esm/compile/interface/compilable-item.js.map +1 -1
  532. package/esm/component/axis/base-axis.d.ts +1 -14
  533. package/esm/component/axis/base-axis.js +19 -30
  534. package/esm/component/axis/base-axis.js.map +1 -1
  535. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  536. package/esm/component/axis/cartesian/axis.js +20 -20
  537. package/esm/component/axis/cartesian/axis.js.map +1 -1
  538. package/esm/component/axis/cartesian/index.d.ts +1 -0
  539. package/esm/component/axis/cartesian/index.js +2 -0
  540. package/esm/component/axis/cartesian/index.js.map +1 -1
  541. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  542. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  543. package/esm/component/axis/cartesian/linear-axis.js +1 -3
  544. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  545. package/esm/component/axis/cartesian/symlog-axis.d.ts +16 -0
  546. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  547. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  548. package/esm/component/axis/cartesian/time-axis.js +3 -3
  549. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  550. package/esm/component/axis/interface.d.ts +4 -8
  551. package/esm/component/axis/interface.js.map +1 -1
  552. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  553. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  554. package/esm/component/axis/polar/axis.d.ts +1 -1
  555. package/esm/component/axis/polar/axis.js +13 -13
  556. package/esm/component/axis/polar/axis.js.map +1 -1
  557. package/esm/component/axis/polar/interface/common.d.ts +1 -1
  558. package/esm/component/axis/polar/interface/common.js.map +1 -1
  559. package/esm/component/axis/{utils.d.ts → util.d.ts} +1 -1
  560. package/esm/component/axis/{utils.js → util.js} +7 -5
  561. package/esm/component/axis/util.js.map +1 -0
  562. package/esm/component/base/base-component.d.ts +10 -2
  563. package/esm/component/base/base-component.js +9 -5
  564. package/esm/component/base/base-component.js.map +1 -1
  565. package/esm/component/base/interface.d.ts +8 -0
  566. package/esm/component/base/interface.js +2 -0
  567. package/esm/component/base/interface.js.map +1 -0
  568. package/esm/component/base/util.d.ts +2 -1
  569. package/esm/component/base/util.js +14 -7
  570. package/esm/component/base/util.js.map +1 -1
  571. package/esm/component/brush/brush.d.ts +12 -2
  572. package/esm/component/brush/brush.js +74 -62
  573. package/esm/component/brush/brush.js.map +1 -1
  574. package/esm/component/crosshair/base.d.ts +2 -2
  575. package/esm/component/crosshair/base.js +1 -1
  576. package/esm/component/crosshair/base.js.map +1 -1
  577. package/esm/component/crosshair/cartesian.js +7 -7
  578. package/esm/component/crosshair/cartesian.js.map +1 -1
  579. package/esm/component/crosshair/interface/spec.d.ts +8 -8
  580. package/esm/component/crosshair/interface/spec.js.map +1 -1
  581. package/esm/component/crosshair/interface/theme.d.ts +3 -1
  582. package/esm/component/crosshair/interface/theme.js.map +1 -1
  583. package/esm/component/crosshair/polar.js +8 -8
  584. package/esm/component/crosshair/polar.js.map +1 -1
  585. package/esm/component/crosshair/util.d.ts +5 -0
  586. package/esm/component/crosshair/util.js +34 -0
  587. package/esm/component/crosshair/util.js.map +1 -1
  588. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  589. package/esm/component/custom-mark/custom-mark.js +4 -4
  590. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  591. package/esm/component/data-zoom/data-filter-base-component.js +2 -3
  592. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  593. package/esm/component/data-zoom/data-zoom/data-zoom.js +8 -6
  594. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  595. package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -2
  596. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  597. package/esm/component/data-zoom/interface.d.ts +2 -5
  598. package/esm/component/data-zoom/interface.js.map +1 -1
  599. package/esm/component/geo/geo-coordinate.d.ts +2 -0
  600. package/esm/component/geo/geo-coordinate.js +16 -6
  601. package/esm/component/geo/geo-coordinate.js.map +1 -1
  602. package/esm/component/geo/projection.d.ts +1 -0
  603. package/esm/component/geo/projection.js +4 -0
  604. package/esm/component/geo/projection.js.map +1 -1
  605. package/esm/component/index.d.ts +2 -2
  606. package/esm/component/index.js +2 -2
  607. package/esm/component/index.js.map +1 -1
  608. package/esm/component/indicator/indicator.d.ts +1 -0
  609. package/esm/component/indicator/indicator.js +8 -7
  610. package/esm/component/indicator/indicator.js.map +1 -1
  611. package/esm/component/indicator/interface.d.ts +5 -6
  612. package/esm/component/indicator/interface.js.map +1 -1
  613. package/esm/component/interface/theme.d.ts +2 -2
  614. package/esm/component/interface/theme.js.map +1 -1
  615. package/esm/component/interface/type.d.ts +1 -0
  616. package/esm/component/interface/type.js +12 -11
  617. package/esm/component/interface/type.js.map +1 -1
  618. package/esm/component/label/base-label.d.ts +0 -1
  619. package/esm/component/label/base-label.js +0 -5
  620. package/esm/component/label/base-label.js.map +1 -1
  621. package/esm/component/label/interface.d.ts +2 -1
  622. package/esm/component/label/interface.js.map +1 -1
  623. package/esm/component/label/label.d.ts +0 -1
  624. package/esm/component/label/label.js +2 -7
  625. package/esm/component/label/label.js.map +1 -1
  626. package/esm/component/label/totalLabel.js +2 -2
  627. package/esm/component/label/totalLabel.js.map +1 -1
  628. package/esm/component/legend/base-legend.js +5 -5
  629. package/esm/component/legend/base-legend.js.map +1 -1
  630. package/esm/component/legend/continuous/util.js +5 -3
  631. package/esm/component/legend/continuous/util.js.map +1 -1
  632. package/esm/component/legend/discrete/interface.d.ts +3 -1
  633. package/esm/component/legend/discrete/interface.js.map +1 -1
  634. package/esm/component/legend/discrete/legend.js +2 -2
  635. package/esm/component/legend/discrete/legend.js.map +1 -1
  636. package/esm/component/legend/discrete/util.js +4 -4
  637. package/esm/component/legend/discrete/util.js.map +1 -1
  638. package/esm/component/legend/interface.d.ts +2 -6
  639. package/esm/component/legend/interface.js.map +1 -1
  640. package/esm/component/legend/util.js +4 -2
  641. package/esm/component/legend/util.js.map +1 -1
  642. package/esm/component/marker/interface.d.ts +2 -2
  643. package/esm/component/marker/interface.js.map +1 -1
  644. package/esm/component/poptip/interface.d.ts +15 -0
  645. package/esm/component/poptip/interface.js +2 -0
  646. package/esm/component/poptip/interface.js.map +1 -0
  647. package/esm/component/title/interface/spec.d.ts +2 -2
  648. package/esm/component/title/interface/spec.js.map +1 -1
  649. package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
  650. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  651. package/esm/component/tooltip/handler/dom/model/content-model.js +2 -2
  652. package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
  653. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  654. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  655. package/esm/component/tooltip/handler/dom/model/tooltip-model.js +4 -2
  656. package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
  657. package/esm/component/tooltip/handler/dom/util.js +4 -4
  658. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  659. package/esm/component/tooltip/handler/utils/attribute.js +5 -5
  660. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  661. package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
  662. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  663. package/esm/component/tooltip/handler/utils/style.js +2 -2
  664. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  665. package/esm/component/tooltip/processor/base.js +1 -1
  666. package/esm/component/tooltip/processor/base.js.map +1 -1
  667. package/esm/component/tooltip/tooltip.js +2 -2
  668. package/esm/component/tooltip/tooltip.js.map +1 -1
  669. package/esm/core/index.d.ts +1 -1
  670. package/esm/core/index.js +1 -1
  671. package/esm/core/index.js.map +1 -1
  672. package/esm/core/vchart.js +22 -19
  673. package/esm/core/vchart.js.map +1 -1
  674. package/esm/data/transforms/legend-data/discrete/discrete.js +4 -3
  675. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  676. package/esm/data/transforms/tick-data/discrete/polar-angle.js +1 -1
  677. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
  678. package/esm/data/transforms/tick-data/util.js +1 -1
  679. package/esm/data/transforms/tick-data/util.js.map +1 -1
  680. package/esm/event/events/dimension/util/cartesian.js +2 -2
  681. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  682. package/esm/event/events/dimension/util/polar.js +1 -1
  683. package/esm/event/events/dimension/util/polar.js.map +1 -1
  684. package/esm/interaction/trigger.js +3 -3
  685. package/esm/interaction/trigger.js.map +1 -1
  686. package/esm/mark/base/base-mark.d.ts +1 -0
  687. package/esm/mark/base/base-mark.js +20 -3
  688. package/esm/mark/base/base-mark.js.map +1 -1
  689. package/esm/mark/mark-set/index.d.ts +1 -0
  690. package/esm/mark/mark-set/index.js.map +1 -1
  691. package/esm/model/base-model.js +4 -4
  692. package/esm/model/base-model.js.map +1 -1
  693. package/esm/model/interface.d.ts +1 -1
  694. package/esm/model/interface.js.map +1 -1
  695. package/esm/plugin/components/index.d.ts +0 -2
  696. package/esm/plugin/components/index.js +0 -3
  697. package/esm/plugin/components/index.js.map +1 -1
  698. package/esm/series/area/area.d.ts +1 -0
  699. package/esm/series/area/area.js +5 -5
  700. package/esm/series/area/area.js.map +1 -1
  701. package/esm/series/bar/bar.js +2 -4
  702. package/esm/series/bar/bar.js.map +1 -1
  703. package/esm/series/base/base-series.d.ts +1 -0
  704. package/esm/series/base/base-series.js +25 -9
  705. package/esm/series/base/base-series.js.map +1 -1
  706. package/esm/series/cartesian/cartesian.d.ts +4 -0
  707. package/esm/series/cartesian/cartesian.js +15 -3
  708. package/esm/series/cartesian/cartesian.js.map +1 -1
  709. package/esm/series/cartesian/interface.d.ts +1 -0
  710. package/esm/series/cartesian/interface.js.map +1 -1
  711. package/esm/series/dot/dot.js +2 -2
  712. package/esm/series/dot/dot.js.map +1 -1
  713. package/esm/series/funnel/funnel.js +12 -2
  714. package/esm/series/funnel/funnel.js.map +1 -1
  715. package/esm/series/heatmap/heatmap.js +2 -2
  716. package/esm/series/heatmap/heatmap.js.map +1 -1
  717. package/esm/series/line/interface.d.ts +0 -2
  718. package/esm/series/line/interface.js.map +1 -1
  719. package/esm/series/line/line.d.ts +1 -0
  720. package/esm/series/line/line.js +1 -1
  721. package/esm/series/line/line.js.map +1 -1
  722. package/esm/series/map/geo-source.js +3 -1
  723. package/esm/series/map/geo-source.js.map +1 -1
  724. package/esm/series/map/interface.d.ts +1 -0
  725. package/esm/series/map/interface.js.map +1 -1
  726. package/esm/series/map/map.js +9 -3
  727. package/esm/series/map/map.js.map +1 -1
  728. package/esm/series/mixin/line-mixin.d.ts +1 -1
  729. package/esm/series/mixin/line-mixin.js +2 -2
  730. package/esm/series/mixin/line-mixin.js.map +1 -1
  731. package/esm/series/pie/pie.js +2 -2
  732. package/esm/series/pie/pie.js.map +1 -1
  733. package/esm/series/polar/interface.d.ts +1 -0
  734. package/esm/series/polar/interface.js.map +1 -1
  735. package/esm/series/polar/polar.d.ts +4 -0
  736. package/esm/series/polar/polar.js +15 -2
  737. package/esm/series/polar/polar.js.map +1 -1
  738. package/esm/series/radar/radar.d.ts +1 -0
  739. package/esm/series/radar/radar.js +1 -1
  740. package/esm/series/radar/radar.js.map +1 -1
  741. package/esm/series/range-column/range-column.js +2 -2
  742. package/esm/series/range-column/range-column.js.map +1 -1
  743. package/esm/series/rose/rose.js +2 -2
  744. package/esm/series/rose/rose.js.map +1 -1
  745. package/esm/series/sankey/interface.d.ts +3 -2
  746. package/esm/series/sankey/interface.js.map +1 -1
  747. package/esm/series/sankey/sankey.d.ts +5 -0
  748. package/esm/series/sankey/sankey.js +248 -93
  749. package/esm/series/sankey/sankey.js.map +1 -1
  750. package/esm/series/scatter/scatter.js +2 -2
  751. package/esm/series/scatter/scatter.js.map +1 -1
  752. package/esm/series/util/utils.d.ts +4 -1
  753. package/esm/series/util/utils.js +6 -4
  754. package/esm/series/util/utils.js.map +1 -1
  755. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
  756. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  757. package/esm/theme/builtin/common/component/axis/common-axis.js +12 -6
  758. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  759. package/esm/theme/builtin/common/component/axis/polar-axis.js +1 -1
  760. package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
  761. package/esm/theme/builtin/common/component/crosshair.js +73 -117
  762. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  763. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  764. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  765. package/esm/theme/builtin/common/component/indicator.js +14 -4
  766. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  767. package/esm/theme/builtin/common/component/legend/color-legend.js +32 -4
  768. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  769. package/esm/theme/builtin/common/component/legend/continuous.js +26 -12
  770. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  771. package/esm/theme/builtin/common/component/legend/discrete-legend.js +22 -9
  772. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  773. package/esm/theme/builtin/common/component/legend/size-legend.js +55 -14
  774. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  775. package/esm/theme/builtin/common/component/map-label.js +4 -6
  776. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  777. package/esm/theme/builtin/common/component/mark-area.js +4 -1
  778. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  779. package/esm/theme/builtin/common/component/mark-line.js +4 -1
  780. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  781. package/esm/theme/builtin/common/component/player.js +33 -7
  782. package/esm/theme/builtin/common/component/player.js.map +1 -1
  783. package/esm/theme/builtin/common/component/poptip.d.ts +2 -2
  784. package/esm/theme/builtin/common/component/poptip.js +17 -11
  785. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  786. package/esm/theme/builtin/common/component/title.js +9 -5
  787. package/esm/theme/builtin/common/component/title.js.map +1 -1
  788. package/esm/theme/builtin/common/component/tooltip.js +12 -11
  789. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  790. package/esm/theme/builtin/common/component/total-label.js +3 -5
  791. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  792. package/esm/theme/builtin/common/constants.js +16 -7
  793. package/esm/theme/builtin/common/constants.js.map +1 -1
  794. package/esm/theme/builtin/common/mark.js +8 -4
  795. package/esm/theme/builtin/common/mark.js.map +1 -1
  796. package/esm/theme/builtin/common/series/area.js +1 -4
  797. package/esm/theme/builtin/common/series/area.js.map +1 -1
  798. package/esm/theme/builtin/common/series/bar.js +1 -4
  799. package/esm/theme/builtin/common/series/bar.js.map +1 -1
  800. package/esm/theme/builtin/common/series/bar3d.js +0 -3
  801. package/esm/theme/builtin/common/series/bar3d.js.map +1 -1
  802. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  803. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  804. package/esm/theme/builtin/common/series/dot.js +8 -2
  805. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  806. package/esm/theme/builtin/common/series/funnel.js +6 -5
  807. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  808. package/esm/theme/builtin/common/series/funnel3d.js +6 -5
  809. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  810. package/esm/theme/builtin/common/series/line.js +1 -4
  811. package/esm/theme/builtin/common/series/line.js.map +1 -1
  812. package/esm/theme/builtin/common/series/map.js +4 -2
  813. package/esm/theme/builtin/common/series/map.js.map +1 -1
  814. package/esm/theme/builtin/common/series/pie.js +0 -3
  815. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  816. package/esm/theme/builtin/common/series/pie3d.js +1 -6
  817. package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
  818. package/esm/theme/builtin/common/series/radar.js +1 -4
  819. package/esm/theme/builtin/common/series/radar.js.map +1 -1
  820. package/esm/theme/builtin/common/series/rangeColumn.js +1 -4
  821. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  822. package/esm/theme/builtin/common/series/rose.js +1 -2
  823. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  824. package/esm/theme/builtin/common/series/sankey.js +0 -1
  825. package/esm/theme/builtin/common/series/sankey.js.map +1 -1
  826. package/esm/theme/builtin/common/series/scatter.js +1 -4
  827. package/esm/theme/builtin/common/series/scatter.js.map +1 -1
  828. package/esm/theme/builtin/common/series/sunburst.js +6 -1
  829. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  830. package/esm/theme/builtin/common/series/treemap.js +8 -6
  831. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  832. package/esm/theme/builtin/common/series/waterfall.js +4 -7
  833. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  834. package/esm/theme/builtin/dark/color-scheme.js +5 -3
  835. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  836. package/esm/theme/builtin/index.d.ts +0 -1
  837. package/esm/theme/builtin/index.js +0 -2
  838. package/esm/theme/builtin/index.js.map +1 -1
  839. package/esm/theme/builtin/light/color-scheme.js +4 -2
  840. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  841. package/esm/theme/builtin/light/index.js +2 -2
  842. package/esm/theme/builtin/light/index.js.map +1 -1
  843. package/esm/theme/color-scheme/builtin/interface.d.ts +22 -0
  844. package/esm/theme/color-scheme/builtin/interface.js +2 -0
  845. package/esm/theme/color-scheme/builtin/interface.js.map +1 -0
  846. package/esm/theme/color-scheme/interface.d.ts +3 -2
  847. package/esm/theme/color-scheme/interface.js.map +1 -1
  848. package/esm/theme/color-scheme/util.js +8 -3
  849. package/esm/theme/color-scheme/util.js.map +1 -1
  850. package/esm/theme/interface.d.ts +16 -5
  851. package/esm/theme/interface.js.map +1 -1
  852. package/esm/typings/spec/common.d.ts +2 -1
  853. package/esm/typings/spec/common.js.map +1 -1
  854. package/esm/typings/visual.d.ts +10 -20
  855. package/esm/typings/visual.js.map +1 -1
  856. package/esm/util/data.d.ts +0 -8
  857. package/esm/util/data.js +1 -7
  858. package/esm/util/data.js.map +1 -1
  859. package/esm/util/object.d.ts +2 -4
  860. package/esm/util/object.js +2 -13
  861. package/esm/util/object.js.map +1 -1
  862. package/esm/util/scale.d.ts +2 -6
  863. package/esm/util/scale.js +1 -5
  864. package/esm/util/scale.js.map +1 -1
  865. package/esm/util/space.d.ts +3 -10
  866. package/esm/util/space.js +5 -23
  867. package/esm/util/space.js.map +1 -1
  868. package/esm/util/spec/background.d.ts +4 -0
  869. package/esm/util/spec/background.js +21 -0
  870. package/esm/util/spec/background.js.map +1 -0
  871. package/esm/util/spec/clone-deep.d.ts +1 -0
  872. package/esm/util/spec/clone-deep.js +20 -0
  873. package/esm/util/spec/clone-deep.js.map +1 -0
  874. package/esm/util/spec/common.d.ts +3 -0
  875. package/esm/util/spec/common.js +15 -0
  876. package/esm/util/spec/common.js.map +1 -0
  877. package/esm/util/spec/index.d.ts +7 -0
  878. package/esm/util/spec/index.js +14 -0
  879. package/esm/util/spec/index.js.map +1 -0
  880. package/esm/util/spec/merge-spec.d.ts +1 -0
  881. package/esm/util/spec/merge-spec.js +48 -0
  882. package/esm/util/spec/merge-spec.js.map +1 -0
  883. package/esm/util/spec/merge-theme.d.ts +3 -0
  884. package/esm/util/spec/merge-theme.js +34 -0
  885. package/esm/util/spec/merge-theme.js.map +1 -0
  886. package/esm/util/spec/preprocess.d.ts +3 -0
  887. package/esm/util/spec/preprocess.js +20 -0
  888. package/esm/util/spec/preprocess.js.map +1 -0
  889. package/esm/util/spec/transform.d.ts +3 -0
  890. package/esm/util/spec/transform.js +20 -0
  891. package/esm/util/spec/transform.js.map +1 -0
  892. package/esm/util/text.d.ts +1 -2
  893. package/esm/util/text.js +4 -12
  894. package/esm/util/text.js.map +1 -1
  895. package/esm/vchart-all.js +2 -2
  896. package/esm/vchart-all.js.map +1 -1
  897. package/esm/vchart-simple.js +18 -2
  898. package/esm/vchart-simple.js.map +1 -1
  899. package/package.json +20 -13
  900. package/cjs/component/axis/utils.js.map +0 -1
  901. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  902. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  903. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  904. package/cjs/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  905. package/cjs/theme/builtin/common/component/axis/log-axis.js +0 -22
  906. package/cjs/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  907. package/cjs/theme/builtin/constant.d.ts +0 -2
  908. package/cjs/theme/builtin/constant.js +0 -8
  909. package/cjs/theme/builtin/constant.js.map +0 -1
  910. package/cjs/util/spec.d.ts +0 -17
  911. package/cjs/util/spec.js +0 -121
  912. package/cjs/util/spec.js.map +0 -1
  913. package/esm/component/axis/utils.js.map +0 -1
  914. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  915. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  916. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  917. package/esm/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
  918. package/esm/theme/builtin/common/component/axis/log-axis.js +0 -18
  919. package/esm/theme/builtin/common/component/axis/log-axis.js.map +0 -1
  920. package/esm/theme/builtin/constant.d.ts +0 -2
  921. package/esm/theme/builtin/constant.js +0 -4
  922. package/esm/theme/builtin/constant.js.map +0 -1
  923. package/esm/util/spec.d.ts +0 -17
  924. package/esm/util/spec.js +0 -112
  925. package/esm/util/spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber, merge } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\nimport type { IDataZoomSpec } from './interface';\n\nexport class DataZoom<T extends IDataZoomSpec = IDataZoomSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n protected _startHandlerSize!: number;\n protected _endHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (isNil(this._originalSpec?.startHandler?.style?.size)) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (isNil(this._originalSpec?.startHandler?.style?.size)) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n const startHandlerVisble = this._spec.startHandler.style.visible ?? true;\n const endHandlerVisble = this._spec.endHandler.style.visible ?? true;\n this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0;\n this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n const handlerSize = (this._startHandlerSize + this._endHandlerSize) / 2;\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth() - handlerSize]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height - (this._startHandlerSize + this._endHandlerSize) / 2;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const xField = this._isHorizontal ? this._stateField : this._valueField;\n return xScale.scale(datum[xField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const yField = this._isHorizontal ? this._valueField : this._stateField;\n return yScale.scale(datum[yField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? false,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n\n clear(): void {\n if (this._component) {\n this._container.removeChild(this._component as unknown as INode);\n this._component = null;\n }\n super.clear();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber } from '@visactor/vutils';\nimport { mergeSpec } from '../../../util';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\nimport type { IDataZoomSpec } from './interface';\n\nexport class DataZoom<T extends IDataZoomSpec = IDataZoomSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n protected _startHandlerSize!: number;\n protected _endHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (isNil(this._originalSpec?.startHandler?.style?.size)) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (isNil(this._originalSpec?.startHandler?.style?.size)) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n const startHandlerVisble = this._spec.startHandler.style.visible ?? true;\n const endHandlerVisble = this._spec.endHandler.style.visible ?? true;\n this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0;\n this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n const handlerSize = (this._startHandlerSize + this._endHandlerSize) / 2;\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth() - handlerSize]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height - (this._startHandlerSize + this._endHandlerSize) / 2;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const xField = this._isHorizontal ? this._stateField : this._valueField;\n return xScale.scale(datum[xField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const yField = this._isHorizontal ? this._valueField : this._stateField;\n return yScale.scale(datum[yField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component && this._visible) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? false,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: mergeSpec(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: mergeSpec(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n\n clear(): void {\n if (this._component) {\n this._container.removeChild(this._component as unknown as INode);\n this._component = null;\n }\n super.clear();\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { IModelSpec } from '../../../model/interface';
2
1
  import type { IMarkSpec } from '../../../typings/spec';
3
2
  import type { IAreaMarkSpec, ILineMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typings/visual';
3
+ import type { IComponentSpec } from '../../base/interface';
4
4
  import type { IComponent } from '../../interface';
5
5
  import type { IDataFilterComponentSpec } from '../interface';
6
6
  export type IDataZoom = IComponent;
@@ -49,7 +49,7 @@ export interface IDataZoomSpec extends IDataZoomStyle, IDataFilterComponentSpec
49
49
  };
50
50
  brushSelect?: boolean;
51
51
  }
52
- export type IDataZoomTheme = IModelSpec & IDataZoomStyle & {
52
+ export type IDataZoomTheme = IComponentSpec & IDataZoomStyle & {
53
53
  orient?: IDataZoomSpec['orient'];
54
54
  width?: IDataZoomSpec['width'];
55
55
  height?: IDataZoomSpec['height'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/data-zoom/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IModelSpec } from '../../../model/interface';\nimport type { IMarkSpec } from '../../../typings/spec';\nimport type {\n IAreaMarkSpec,\n ILineMarkSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec\n} from '../../../typings/visual';\nimport type { IComponent } from '../../interface';\nimport type { IDataFilterComponentSpec } from '../interface';\n\nexport type IDataZoom = IComponent;\n\n// TODO: 开放的状态样式配置较少,暂时不使用markSpec方式配置\nexport interface IDataZoomStyle {\n /**\n * 是否显示startText和endText\n * @default 'auto' 鼠标hover在选中区域时才显示startText和endText\n */\n showDetail?: 'auto' | boolean;\n\n middleHandler?: {\n visible?: boolean;\n icon?: ISymbolMarkSpec;\n background?: {\n size?: number;\n } & IRectMarkSpec;\n };\n background?: {\n size?: number;\n } & IRectMarkSpec;\n startHandler?: ISymbolMarkSpec;\n endHandler?: ISymbolMarkSpec;\n startText?: {\n padding?: number;\n } & ITextMarkSpec;\n endText?: {\n padding?: number;\n } & ITextMarkSpec;\n dragMask?: IRectMarkSpec;\n selectedBackground?: IRectMarkSpec;\n backgroundChart?: {\n line?: ILineMarkSpec;\n area?: IAreaMarkSpec;\n };\n selectedBackgroundChart?: {\n line?: ILineMarkSpec;\n area?: IAreaMarkSpec;\n };\n}\n\n/** spec */\nexport interface IDataZoomSpec extends IDataZoomStyle, IDataFilterComponentSpec {\n /**\n * 背景趋势线对应的字段\n */\n valueField?: string;\n /**\n * 起始点文字标签format格式配置\n */\n startText?: {\n padding?: number;\n style?: IMarkSpec<ITextMarkSpec>;\n formatMethod?: (text: string | number) => string | string[];\n };\n endText?: {\n padding?: number;\n style?: IMarkSpec<ITextMarkSpec>;\n formatMethod?: (text: string | number) => string | string[];\n };\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default false\n */\n brushSelect?: boolean;\n}\n\nexport type IDataZoomTheme = IModelSpec &\n IDataZoomStyle & {\n /** 显示的位置 */\n orient?: IDataZoomSpec['orient'];\n /** 组件宽度 */\n width?: IDataZoomSpec['width'];\n /** 组件高度 */\n height?: IDataZoomSpec['height'];\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default false\n */\n brushSelect?: boolean;\n };\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/data-zoom/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec } from '../../../typings/spec';\nimport type {\n IAreaMarkSpec,\n ILineMarkSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec\n} from '../../../typings/visual';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\nimport type { IDataFilterComponentSpec } from '../interface';\n\nexport type IDataZoom = IComponent;\n\n// TODO: 开放的状态样式配置较少,暂时不使用markSpec方式配置\nexport interface IDataZoomStyle {\n /**\n * 是否显示startText和endText\n * @default 'auto' 鼠标hover在选中区域时才显示startText和endText\n */\n showDetail?: 'auto' | boolean;\n\n middleHandler?: {\n visible?: boolean;\n icon?: ISymbolMarkSpec;\n background?: {\n size?: number;\n } & IRectMarkSpec;\n };\n background?: {\n size?: number;\n } & IRectMarkSpec;\n startHandler?: ISymbolMarkSpec;\n endHandler?: ISymbolMarkSpec;\n startText?: {\n padding?: number;\n } & ITextMarkSpec;\n endText?: {\n padding?: number;\n } & ITextMarkSpec;\n dragMask?: IRectMarkSpec;\n selectedBackground?: IRectMarkSpec;\n backgroundChart?: {\n line?: ILineMarkSpec;\n area?: IAreaMarkSpec;\n };\n selectedBackgroundChart?: {\n line?: ILineMarkSpec;\n area?: IAreaMarkSpec;\n };\n}\n\n/** spec */\nexport interface IDataZoomSpec extends IDataZoomStyle, IDataFilterComponentSpec {\n /**\n * 背景趋势线对应的字段\n */\n valueField?: string;\n /**\n * 起始点文字标签format格式配置\n */\n startText?: {\n padding?: number;\n style?: IMarkSpec<ITextMarkSpec>;\n formatMethod?: (text: string | number) => string | string[];\n };\n endText?: {\n padding?: number;\n style?: IMarkSpec<ITextMarkSpec>;\n formatMethod?: (text: string | number) => string | string[];\n };\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default false\n */\n brushSelect?: boolean;\n}\n\nexport type IDataZoomTheme = IComponentSpec &\n IDataZoomStyle & {\n /** 显示的位置 */\n orient?: IDataZoomSpec['orient'];\n /** 组件宽度 */\n width?: IDataZoomSpec['width'];\n /** 组件高度 */\n height?: IDataZoomSpec['height'];\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default false\n */\n brushSelect?: boolean;\n };\n"]}
@@ -1,7 +1,7 @@
1
- import type { IModelSpec } from '../../model/interface';
2
1
  import type { IOrientType } from '../../typings';
2
+ import type { IComponentSpec } from '../base/interface';
3
3
  import type { IComponent } from '../interface';
4
- export interface IDataFilterComponentSpec extends Omit<IModelSpec, 'width' | 'height'> {
4
+ export interface IDataFilterComponentSpec extends Omit<IComponentSpec, 'width' | 'height'> {
5
5
  visible?: boolean;
6
6
  orient?: IOrientType;
7
7
  width?: 'auto' | number;
@@ -10,9 +10,6 @@ export interface IDataFilterComponentSpec extends Omit<IModelSpec, 'width' | 'he
10
10
  axisId?: string;
11
11
  axisIndex?: number;
12
12
  regionIndex?: number | number[];
13
- regionId?: number | string | (number | string)[];
14
- seriesId?: number | string | (number | string)[];
15
- seriesIndex?: number | number[];
16
13
  filterMode?: 'filter' | 'axis';
17
14
  start?: number;
18
15
  end?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IModelSpec } from '../../model/interface';\nimport type { IOrientType } from '../../typings';\nimport type { IComponent } from '../interface';\n\n/** spec */\nexport interface IDataFilterComponentSpec extends Omit<IModelSpec, 'width' | 'height'> {\n /**\n * 是否显示组件\n * @default true\n */\n visible?: boolean;\n /**\n * 组件位置\n * @default 'left'\n */\n orient?: IOrientType;\n\n /**\n * 组件宽度\n * @default 'auto'\n */\n width?: 'auto' | number;\n\n /**\n * 组件高度\n * @default 'auto'\n */\n height?: 'auto' | number;\n\n /**\n * 声明关联的映射字段\n */\n field?: string;\n /**\n * 关联的轴ID\n */\n axisId?: string;\n /**\n * 关联的轴序号\n */\n axisIndex?: number;\n\n /**\n * 组件关联的region索引,与axis关联的region取交集\n * 未配置:默认跟随axis控制的region\n * 已配置:用户配置与axis关联的region取交集\n * 配置优先级:index > id\n */\n regionIndex?: number | number[];\n regionId?: number | string | (number | string)[];\n\n /**\n * 关联的系列ID\n */\n seriesId?: number | string | (number | string)[];\n /**\n * 关联的系列序号\n */\n seriesIndex?: number | number[];\n\n /**\n * 数据过滤模式\n * @default true (默认直接过滤数据)\n * 详细可参考:https://echarts.apache.org/zh/option.html#dataZoom-slider.filterMode)\n */\n filterMode?: 'filter' | 'axis';\n /**\n * 起点配置(比例):范围[0, 1]\n * @default 0\n */\n start?: number;\n\n /**\n * 终点配置(比例):范围[0, 1]\n * @default 1\n */\n end?: number;\n\n /**\n * 起始点数据配置:没有配置的时候根据start和end进行转换\n */\n startValue?: number | string;\n endValue?: number | string;\n\n /** 数据过滤对应的数据字段 */\n valueField?: string;\n\n /**\n * start和end的配置模式:只有模式和配置匹配时才生效,比如rangeMode: ['percent', 'value'], 那么必须start和endValue都配置才可以生效\n */\n rangeMode?: [string, string];\n /**\n * 是否进行自动缩进\n */\n autoIndent?: boolean;\n /**\n * 是否开启鼠标缩放和平移漫游。默认不开启\n */\n roam?: boolean;\n}\n\nexport interface IDataFilterComponent extends IComponent {\n setStartAndEnd: (start: number, end: number) => any;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IOrientType } from '../../typings';\nimport type { IComponentSpec } from '../base/interface';\nimport type { IComponent } from '../interface';\n\n/** spec */\nexport interface IDataFilterComponentSpec extends Omit<IComponentSpec, 'width' | 'height'> {\n /**\n * 是否显示组件\n * @default true\n */\n visible?: boolean;\n /**\n * 组件位置\n * @default 'left'\n */\n orient?: IOrientType;\n\n /**\n * 组件宽度\n * @default 'auto'\n */\n width?: 'auto' | number;\n\n /**\n * 组件高度\n * @default 'auto'\n */\n height?: 'auto' | number;\n\n /**\n * 声明关联的映射字段\n */\n field?: string;\n /**\n * 关联的轴ID\n */\n axisId?: string;\n /**\n * 关联的轴序号\n */\n axisIndex?: number;\n\n /**\n * 组件关联的region索引,与axis关联的region取交集\n * 未配置:默认跟随axis控制的region\n * 已配置:用户配置与axis关联的region取交集\n * 配置优先级:index > id\n */\n regionIndex?: number | number[];\n\n /**\n * 数据过滤模式\n * @default true (默认直接过滤数据)\n * 详细可参考:https://echarts.apache.org/zh/option.html#dataZoom-slider.filterMode)\n */\n filterMode?: 'filter' | 'axis';\n /**\n * 起点配置(比例):范围[0, 1]\n * @default 0\n */\n start?: number;\n\n /**\n * 终点配置(比例):范围[0, 1]\n * @default 1\n */\n end?: number;\n\n /**\n * 起始点数据配置:没有配置的时候根据start和end进行转换\n */\n startValue?: number | string;\n endValue?: number | string;\n\n /** 数据过滤对应的数据字段 */\n valueField?: string;\n\n /**\n * start和end的配置模式:只有模式和配置匹配时才生效,比如rangeMode: ['percent', 'value'], 那么必须start和endValue都配置才可以生效\n */\n rangeMode?: [string, string];\n /**\n * 是否进行自动缩进\n */\n autoIndent?: boolean;\n /**\n * 是否开启鼠标缩放和平移漫游。默认不开启\n */\n roam?: boolean;\n}\n\nexport interface IDataFilterComponent extends IComponent {\n setStartAndEnd: (start: number, end: number) => any;\n}\n"]}
@@ -26,6 +26,7 @@ export declare class GeoCoordinate extends BaseComponent<IGeoRegionSpec> impleme
26
26
  y: number;
27
27
  }>;
28
28
  private _actualScale;
29
+ getScale(): number;
29
30
  private _evaluated;
30
31
  private _lastHeight;
31
32
  private _lastWidth;
@@ -51,6 +52,7 @@ export declare class GeoCoordinate extends BaseComponent<IGeoRegionSpec> impleme
51
52
  zoom(p: number, anchor?: [number, number]): void;
52
53
  pan: (delta?: [number, number]) => void;
53
54
  shape(datum?: any): any;
55
+ invert(point: [number, number]): any;
54
56
  private evaluateProjection;
55
57
  protected _initCenterCache(): void;
56
58
  release(): void;
@@ -4,7 +4,7 @@ import { ComponentTypeEnum } from "../interface";
4
4
 
5
5
  import { BaseComponent } from "../base";
6
6
 
7
- import { isNil, merge } from "../../util";
7
+ import { isNil, mergeSpec } from "../../util";
8
8
 
9
9
  import { ChartEvent, PREFIX } from "../../constant/index";
10
10
 
@@ -61,6 +61,9 @@ export class GeoCoordinate extends BaseComponent {
61
61
  name: this._projectionSpec.name
62
62
  });
63
63
  }
64
+ getScale() {
65
+ return this._actualScale;
66
+ }
64
67
  static createComponent(spec, options) {
65
68
  if (isNil(spec)) return null;
66
69
  const result = [];
@@ -76,7 +79,7 @@ export class GeoCoordinate extends BaseComponent {
76
79
  setAttrFromSpec() {
77
80
  var _a, _b;
78
81
  super.setAttrFromSpec(), this._spec.roam && this.initZoomable(this.event, this._option.mode),
79
- this._projectionSpec = merge(this._projectionSpec, this._spec.projection), this._projectionSpec.zoom > (null === (_a = this._spec.zoomLimit) || void 0 === _a ? void 0 : _a.max) && (this._projectionSpec.zoom = this._spec.zoomLimit.max),
82
+ this._projectionSpec = mergeSpec(this._projectionSpec, this._spec.projection), this._projectionSpec.zoom > (null === (_a = this._spec.zoomLimit) || void 0 === _a ? void 0 : _a.max) && (this._projectionSpec.zoom = this._spec.zoomLimit.max),
80
83
  this._projectionSpec.zoom < (null === (_b = this._spec.zoomLimit) || void 0 === _b ? void 0 : _b.min) && (this._projectionSpec.zoom = this._spec.zoomLimit.min),
81
84
  this._longitudeField = this._spec.longitudeField, this._latitudeField = this._spec.latitudeField;
82
85
  }
@@ -128,17 +131,19 @@ export class GeoCoordinate extends BaseComponent {
128
131
  s.type === SeriesTypeEnum.map ? s.setCoordinateHelper(helper) : (s.setXAxisHelper(Object.assign(Object.assign({}, helper), {
129
132
  isContinuous: !0,
130
133
  dataToPosition: (values, option) => {
134
+ var _a;
131
135
  let value = values[0];
132
136
  if (isNil(value) && (null == option ? void 0 : option.datum)) {
133
137
  const nameFieldValue = option.datum[s.getDimensionField()[0]];
134
- value = this._centerCache.get(nameFieldValue).x;
138
+ value = null === (_a = this._centerCache.get(nameFieldValue)) || void 0 === _a ? void 0 : _a.x;
135
139
  }
136
140
  return this.dataToLongitude(value);
137
141
  },
138
142
  valueToPosition: (value, option) => {
143
+ var _a;
139
144
  if (isNil(value) && (null == option ? void 0 : option.datum)) {
140
145
  const nameFieldValue = option.datum[s.getDimensionField()[0]];
141
- value = this._centerCache.get(nameFieldValue).x;
146
+ value = null === (_a = this._centerCache.get(nameFieldValue)) || void 0 === _a ? void 0 : _a.x;
142
147
  }
143
148
  return this.dataToLongitude(value);
144
149
  },
@@ -149,17 +154,19 @@ export class GeoCoordinate extends BaseComponent {
149
154
  })), s.setYAxisHelper(Object.assign(Object.assign({}, helper), {
150
155
  isContinuous: !0,
151
156
  dataToPosition: (values, option) => {
157
+ var _a;
152
158
  let value = values[0];
153
159
  if (isNil(value) && (null == option ? void 0 : option.datum)) {
154
160
  const nameFieldValue = option.datum[s.getDimensionField()[0]];
155
- value = this._centerCache.get(nameFieldValue).y;
161
+ value = null === (_a = this._centerCache.get(nameFieldValue)) || void 0 === _a ? void 0 : _a.y;
156
162
  }
157
163
  return this.dataToLatitude(value);
158
164
  },
159
165
  valueToPosition: (value, option) => {
166
+ var _a;
160
167
  if (isNil(value) && (null == option ? void 0 : option.datum)) {
161
168
  const nameFieldValue = option.datum[s.getDimensionField()[0]];
162
- value = this._centerCache.get(nameFieldValue).y;
169
+ value = null === (_a = this._centerCache.get(nameFieldValue)) || void 0 === _a ? void 0 : _a.y;
163
170
  }
164
171
  return this.dataToLatitude(value);
165
172
  },
@@ -227,6 +234,9 @@ export class GeoCoordinate extends BaseComponent {
227
234
  shape(datum) {
228
235
  return this._projection.shape(datum);
229
236
  }
237
+ invert(point) {
238
+ return this._projection.invert(point);
239
+ }
230
240
  evaluateProjection(start, size) {
231
241
  var _a;
232
242
  const evaluated = this._projection.evaluate(start, size, this.collectFeatures());
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/geo/geo-coordinate.ts"],"names":[],"mappings":"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","file":"geo-coordinate.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPoint } from '../../typings/coordinate';\nimport { Projection } from './projection';\nimport type { IEffect, IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport type { IGeoRegionSpec, IRegion, IRegionSpec } from '../../region/interface';\nimport { isNil, merge } from '../../util';\nimport { ChartEvent, PREFIX } from '../../constant/index';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { IGeoCoordinate, IGeoCoordinateHelper, IGeoCoordinateSpec, IProjectionSpec } from './interface';\nimport type { BaseEventParams, ExtendEventParam, PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IChartSpec, StringOrNumber } from '../../typings';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport { isValid, mixin } from '@visactor/vutils';\nimport { DEFAULT_MAP_LOOK_UP_KEY } from '../../data/transforms/map';\n\nexport function projectionName(key: string, id: number) {\n return `${PREFIX}_${id}_${key}`;\n}\nexport class GeoCoordinate extends BaseComponent<IGeoRegionSpec> implements IGeoCoordinate {\n static type = ComponentTypeEnum.geoCoordinate;\n type = ComponentTypeEnum.geoCoordinate;\n name: string = ComponentTypeEnum.geoCoordinate;\n\n layoutType: ILayoutItem['layoutType'] = 'absolute';\n\n _longitudeField?: string;\n get longitudeField() {\n return this._longitudeField;\n }\n\n _latitudeField?: string;\n get latitudeField() {\n return this._latitudeField;\n }\n\n protected _projectionSpec: IProjectionSpec = {\n name: projectionName(this.type, this.id),\n type: 'mercator'\n };\n get projectionSpec() {\n return this._projectionSpec;\n }\n setProjection(projectionSpec: IGeoCoordinateSpec['projection']) {\n this._projectionSpec = {\n ...projectionSpec,\n name: this._projectionSpec.name\n };\n }\n\n protected _projection!: Projection;\n\n protected _centerCache: Map<StringOrNumber, { x: number; y: number }>;\n\n private _actualScale = 1;\n private _evaluated = false;\n private _lastHeight = 0;\n private _lastWidth = 0;\n\n static createComponent(spec: IChartSpec, options: IComponentOption) {\n if (isNil(spec)) {\n return null;\n }\n const result: IGeoCoordinate[] = [];\n spec.region.forEach((r: IRegionSpec, i: number) => {\n if (r.coordinate === 'geo') {\n // 去除 padding 配置,避免重复计算\n const spec = { ...r, padding: 0 } as any;\n const c = new GeoCoordinate(spec, options);\n // FIXME: hack,regions的关联关系不应该在具体的component中处理\n c._regions = options.getRegionsInIndex([i]);\n result.push(c);\n }\n });\n return result;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.coordinateHelper();\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n this._projectionSpec = merge(this._projectionSpec, this._spec.projection);\n if (this._projectionSpec.zoom > this._spec.zoomLimit?.max) {\n this._projectionSpec.zoom = this._spec.zoomLimit.max;\n }\n if (this._projectionSpec.zoom < this._spec.zoomLimit?.min) {\n this._projectionSpec.zoom = this._spec.zoomLimit.min;\n }\n this._longitudeField = this._spec.longitudeField;\n this._latitudeField = this._spec.latitudeField;\n }\n\n // life cycle\n created() {\n super.created();\n this.initProjection();\n this.coordinateHelper();\n this.initEvent();\n this._initCenterCache();\n // FIXME: 这里是在开启缩放时,处理关联的symbol等mark,在地图缩放时应该同步缩放\n // this.rescaleMark();\n }\n\n private _handleChartZoom = (\n params: { zoomDelta: number; zoomX?: number; zoomY?: number },\n event?: BaseEventParams['event']\n ) => {\n let scale = params.zoomDelta;\n // check if the next scale will outrange\n const _lastActualScale = this._actualScale;\n this._actualScale *= scale;\n if (this._actualScale < this._spec.zoomLimit?.min) {\n this._actualScale = this._spec.zoomLimit?.min;\n scale = this._spec.zoomLimit?.min / _lastActualScale;\n } else if (this._actualScale > this._spec.zoomLimit?.max) {\n this._actualScale = this._spec.zoomLimit?.max;\n scale = this._spec.zoomLimit?.max / _lastActualScale;\n }\n if (event) {\n (event as any).zoomDelta = scale;\n }\n this.zoom(scale, [params.zoomX, params.zoomY]);\n return scale;\n };\n\n dispatchZoom(zoomDelta: number, center?: { x: number; y: number }) {\n const scaleCenter = center || {\n x: this.getLayoutStartPoint().x + this.getLayoutRect().width / 2,\n y: this.getLayoutStartPoint().y + this.getLayoutRect().height / 2\n };\n const scale = this._handleChartZoom({ zoomDelta, zoomX: scaleCenter.x, zoomY: scaleCenter.y });\n if (scale !== 1) {\n this.event.emit('zoom', {\n scale,\n scaleCenter,\n model: this\n } as unknown as ExtendEventParam);\n }\n }\n\n initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, () => true, this.pan);\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n s.event.on('zoom', e => {\n s.handleZoom(e as ZoomEventParam);\n return true;\n });\n\n s.event.on('panmove', e => {\n s.handlePan(e as PanEventParam);\n return true;\n });\n });\n });\n }\n }\n\n initProjection() {\n this._projection = new Projection(this._projectionSpec);\n if (this._projection.projection === null) {\n this._option.onError('unsupported projection type!');\n return;\n }\n }\n\n coordinateHelper() {\n const helper: IGeoCoordinateHelper = {\n longitudeField: this._longitudeField,\n latitudeField: this._latitudeField,\n dataToPosition: this.dataToPosition.bind(this),\n dataToLongitude: this.dataToLongitude.bind(this),\n dataToLatitude: this.dataToLatitude.bind(this),\n shape: this.shape.bind(this),\n getCoordinateId: () => this.id\n };\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n (s as IGeoSeries).setCoordinateHelper(helper);\n } else {\n // 散点地图\n (s as ICartesianSeries).setXAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue).x;\n }\n return this.dataToLongitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue).x;\n }\n return this.dataToLongitude(value);\n },\n getFields: () => [this._longitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n (s as unknown as ICartesianSeries).setYAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue).y;\n }\n return this.dataToLatitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue).y;\n }\n return this.dataToLatitude(value);\n },\n getFields: () => [this._latitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n }\n });\n });\n }\n\n onLayoutEnd(ctx: IModelLayoutOption) {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n const { width, height } = this.getLayoutRect();\n if (!this._evaluated) {\n const { translate, scale, center } = this.evaluateProjection([0, 0], [width, height]);\n translate && this._projection.translate(translate);\n scale && this._projection.scale(scale);\n center && this._projection.center(center);\n this._evaluated = true;\n } else {\n const dx = (width - this._lastWidth) / 2;\n const dy = (height - this._lastHeight) / 2;\n this.pan([dx, dy]);\n this.event.emit('panmove', { delta: [dx, dy], model: this } as ExtendEventParam);\n }\n this._lastWidth = width;\n this._lastHeight = height;\n\n super.onLayoutEnd(ctx);\n }\n onRender(ctx: IModelRenderOption) {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // util\n protected collectFeatures() {\n const features: any[] = [];\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n features.push(...((s as unknown as IGeoSeries).getMapViewData()?.latestData ?? []));\n }\n });\n });\n return features;\n }\n\n // API\n dataToPosition(values: number[] = []): IPoint {\n const point = this._projection?.project([values[0], values[1]]);\n return {\n x: point?.[0],\n y: point?.[1]\n };\n }\n\n dataToLatitude(lat: number): number {\n const point = this._projection?.project([0, lat]);\n return point?.[1];\n }\n\n dataToLongitude(lon: number): number {\n const point = this._projection?.project([lon, 0]);\n return point?.[0];\n }\n\n // interaction\n zoom(p: number, anchor: [number, number] = [0, 0]) {\n let s = this._projection?.scale() ?? 0;\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n s = s * p;\n t_x -= (anchor[0] - t_x) * (p - 1);\n t_y -= (anchor[1] - t_y) * (p - 1);\n\n this._projection?.scale(s);\n this._projection?.translate([t_x, t_y]);\n }\n\n pan = (delta: [number, number] = [0, 0]) => {\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n t_x += delta[0];\n t_y += delta[1];\n this._projection?.translate([t_x, t_y]);\n };\n\n shape(datum?: any) {\n return this._projection.shape(datum);\n }\n\n private evaluateProjection(start: [number, number], size: [number, number]) {\n const evaluated = this._projection.evaluate(start, size, this.collectFeatures());\n let translate = evaluated.translate();\n const scale = evaluated.scale() * (this._projectionSpec.zoom ?? 1);\n const center = this._projectionSpec.center;\n center && (translate = [size[0] / 2, size[1] / 2]);\n return { translate, scale, center };\n }\n\n protected _initCenterCache() {\n if (!this._centerCache) {\n this._centerCache = new Map();\n }\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === 'map') {\n const mapData = (s as IGeoSeries).getMapViewData()?.latestData ?? [];\n mapData.forEach((feature: any = {}) => {\n const key = feature[s.getDimensionField()[0]] || feature[DEFAULT_MAP_LOOK_UP_KEY];\n const { centroidX, centroidY } = feature;\n if (key && isValid(centroidX * centroidY)) {\n this._centerCache.set(key, { x: centroidX, y: centroidY });\n }\n });\n }\n });\n });\n }\n\n release(): void {\n super.release();\n this._centerCache && this._centerCache.clear();\n this._centerCache = null;\n }\n}\n\nmixin(GeoCoordinate, Zoomable);\n"]}
1
+ {"version":3,"sources":["../src/component/geo/geo-coordinate.ts"],"names":[],"mappings":"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","file":"geo-coordinate.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPoint } from '../../typings/coordinate';\nimport { Projection } from './projection';\nimport type { IEffect, IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport type { IGeoRegionSpec, IRegion, IRegionSpec } from '../../region/interface';\nimport { isNil, mergeSpec } from '../../util';\nimport { ChartEvent, PREFIX } from '../../constant/index';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { IGeoCoordinate, IGeoCoordinateHelper, IGeoCoordinateSpec, IProjectionSpec } from './interface';\nimport type { BaseEventParams, ExtendEventParam, PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IChartSpec, StringOrNumber } from '../../typings';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport { isValid, mixin } from '@visactor/vutils';\nimport { DEFAULT_MAP_LOOK_UP_KEY } from '../../data/transforms/map';\n\nexport function projectionName(key: string, id: number) {\n return `${PREFIX}_${id}_${key}`;\n}\nexport class GeoCoordinate extends BaseComponent<IGeoRegionSpec> implements IGeoCoordinate {\n static type = ComponentTypeEnum.geoCoordinate;\n type = ComponentTypeEnum.geoCoordinate;\n name: string = ComponentTypeEnum.geoCoordinate;\n\n layoutType: ILayoutItem['layoutType'] = 'absolute';\n\n _longitudeField?: string;\n get longitudeField() {\n return this._longitudeField;\n }\n\n _latitudeField?: string;\n get latitudeField() {\n return this._latitudeField;\n }\n\n protected _projectionSpec: IProjectionSpec = {\n name: projectionName(this.type, this.id),\n type: 'mercator'\n };\n get projectionSpec() {\n return this._projectionSpec;\n }\n setProjection(projectionSpec: IGeoCoordinateSpec['projection']) {\n this._projectionSpec = {\n ...projectionSpec,\n name: this._projectionSpec.name\n };\n }\n\n protected _projection!: Projection;\n\n protected _centerCache: Map<StringOrNumber, { x: number; y: number }>;\n\n private _actualScale = 1;\n getScale() {\n return this._actualScale;\n }\n\n private _evaluated = false;\n private _lastHeight = 0;\n private _lastWidth = 0;\n\n static createComponent(spec: IChartSpec, options: IComponentOption) {\n if (isNil(spec)) {\n return null;\n }\n const result: IGeoCoordinate[] = [];\n spec.region.forEach((r: IRegionSpec, i: number) => {\n if (r.coordinate === 'geo') {\n // 去除 padding 配置,避免重复计算\n const spec = { ...r, padding: 0 } as any;\n const c = new GeoCoordinate(spec, options);\n // FIXME: hack,regions的关联关系不应该在具体的component中处理\n c._regions = options.getRegionsInIndex([i]);\n result.push(c);\n }\n });\n return result;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.coordinateHelper();\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n this._projectionSpec = mergeSpec(this._projectionSpec, this._spec.projection);\n if (this._projectionSpec.zoom > this._spec.zoomLimit?.max) {\n this._projectionSpec.zoom = this._spec.zoomLimit.max;\n }\n if (this._projectionSpec.zoom < this._spec.zoomLimit?.min) {\n this._projectionSpec.zoom = this._spec.zoomLimit.min;\n }\n this._longitudeField = this._spec.longitudeField;\n this._latitudeField = this._spec.latitudeField;\n }\n\n // life cycle\n created() {\n super.created();\n this.initProjection();\n this.coordinateHelper();\n this.initEvent();\n this._initCenterCache();\n // FIXME: 这里是在开启缩放时,处理关联的symbol等mark,在地图缩放时应该同步缩放\n // this.rescaleMark();\n }\n\n private _handleChartZoom = (\n params: { zoomDelta: number; zoomX?: number; zoomY?: number },\n event?: BaseEventParams['event']\n ) => {\n let scale = params.zoomDelta;\n // check if the next scale will outrange\n const _lastActualScale = this._actualScale;\n this._actualScale *= scale;\n if (this._actualScale < this._spec.zoomLimit?.min) {\n this._actualScale = this._spec.zoomLimit?.min;\n scale = this._spec.zoomLimit?.min / _lastActualScale;\n } else if (this._actualScale > this._spec.zoomLimit?.max) {\n this._actualScale = this._spec.zoomLimit?.max;\n scale = this._spec.zoomLimit?.max / _lastActualScale;\n }\n if (event) {\n (event as any).zoomDelta = scale;\n }\n this.zoom(scale, [params.zoomX, params.zoomY]);\n return scale;\n };\n\n dispatchZoom(zoomDelta: number, center?: { x: number; y: number }) {\n const scaleCenter = center || {\n x: this.getLayoutStartPoint().x + this.getLayoutRect().width / 2,\n y: this.getLayoutStartPoint().y + this.getLayoutRect().height / 2\n };\n const scale = this._handleChartZoom({ zoomDelta, zoomX: scaleCenter.x, zoomY: scaleCenter.y });\n if (scale !== 1) {\n this.event.emit('zoom', {\n scale,\n scaleCenter,\n model: this\n } as unknown as ExtendEventParam);\n }\n }\n\n initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, () => true, this.pan);\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n s.event.on('zoom', e => {\n s.handleZoom(e as ZoomEventParam);\n return true;\n });\n\n s.event.on('panmove', e => {\n s.handlePan(e as PanEventParam);\n return true;\n });\n });\n });\n }\n }\n\n initProjection() {\n this._projection = new Projection(this._projectionSpec);\n if (this._projection.projection === null) {\n this._option.onError('unsupported projection type!');\n return;\n }\n }\n\n coordinateHelper() {\n const helper: IGeoCoordinateHelper = {\n longitudeField: this._longitudeField,\n latitudeField: this._latitudeField,\n dataToPosition: this.dataToPosition.bind(this),\n dataToLongitude: this.dataToLongitude.bind(this),\n dataToLatitude: this.dataToLatitude.bind(this),\n shape: this.shape.bind(this),\n getCoordinateId: () => this.id\n };\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n (s as IGeoSeries).setCoordinateHelper(helper);\n } else {\n // 散点地图\n (s as ICartesianSeries).setXAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n getFields: () => [this._longitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n (s as unknown as ICartesianSeries).setYAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n getFields: () => [this._latitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n }\n });\n });\n }\n\n onLayoutEnd(ctx: IModelLayoutOption) {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n const { width, height } = this.getLayoutRect();\n if (!this._evaluated) {\n const { translate, scale, center } = this.evaluateProjection([0, 0], [width, height]);\n translate && this._projection.translate(translate);\n scale && this._projection.scale(scale);\n center && this._projection.center(center);\n this._evaluated = true;\n } else {\n const dx = (width - this._lastWidth) / 2;\n const dy = (height - this._lastHeight) / 2;\n this.pan([dx, dy]);\n this.event.emit('panmove', { delta: [dx, dy], model: this } as ExtendEventParam);\n }\n this._lastWidth = width;\n this._lastHeight = height;\n\n super.onLayoutEnd(ctx);\n }\n onRender(ctx: IModelRenderOption) {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // util\n protected collectFeatures() {\n const features: any[] = [];\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n features.push(...((s as unknown as IGeoSeries).getMapViewData()?.latestData ?? []));\n }\n });\n });\n return features;\n }\n\n // API\n dataToPosition(values: number[] = []): IPoint {\n const point = this._projection?.project([values[0], values[1]]);\n return {\n x: point?.[0],\n y: point?.[1]\n };\n }\n\n dataToLatitude(lat: number): number {\n const point = this._projection?.project([0, lat]);\n return point?.[1];\n }\n\n dataToLongitude(lon: number): number {\n const point = this._projection?.project([lon, 0]);\n return point?.[0];\n }\n\n // interaction\n zoom(p: number, anchor: [number, number] = [0, 0]) {\n let s = this._projection?.scale() ?? 0;\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n s = s * p;\n t_x -= (anchor[0] - t_x) * (p - 1);\n t_y -= (anchor[1] - t_y) * (p - 1);\n\n this._projection?.scale(s);\n this._projection?.translate([t_x, t_y]);\n }\n\n pan = (delta: [number, number] = [0, 0]) => {\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n t_x += delta[0];\n t_y += delta[1];\n this._projection?.translate([t_x, t_y]);\n };\n\n shape(datum?: any) {\n return this._projection.shape(datum);\n }\n\n /**\n * 根据像素坐标获取经纬度位置\n */\n invert(point: [number, number]) {\n return this._projection.invert(point);\n }\n\n private evaluateProjection(start: [number, number], size: [number, number]) {\n const evaluated = this._projection.evaluate(start, size, this.collectFeatures());\n let translate = evaluated.translate();\n const scale = evaluated.scale() * (this._projectionSpec.zoom ?? 1);\n const center = this._projectionSpec.center;\n center && (translate = [size[0] / 2, size[1] / 2]);\n return { translate, scale, center };\n }\n\n protected _initCenterCache() {\n if (!this._centerCache) {\n this._centerCache = new Map();\n }\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === 'map') {\n const mapData = (s as IGeoSeries).getMapViewData()?.latestData ?? [];\n mapData.forEach((feature: any = {}) => {\n const key = feature[s.getDimensionField()[0]] || feature[DEFAULT_MAP_LOOK_UP_KEY];\n const { centroidX, centroidY } = feature;\n if (key && isValid(centroidX * centroidY)) {\n this._centerCache.set(key, { x: centroidX, y: centroidY });\n }\n });\n }\n });\n });\n }\n\n release(): void {\n super.release();\n this._centerCache && this._centerCache.clear();\n this._centerCache = null;\n }\n}\n\nmixin(GeoCoordinate, Zoomable);\n"]}
@@ -7,6 +7,7 @@ export declare class Projection {
7
7
  center(center: [number, number]): void;
8
8
  project(point: [number, number]): any;
9
9
  shape(data: GeoJsonFeatureSpec): any;
10
+ invert(point: [number, number]): any;
10
11
  scale(): number;
11
12
  scale(scale: number): void;
12
13
  translate(): [number, number];
@@ -23,6 +23,10 @@ export class Projection {
23
23
  var _a, _b;
24
24
  return null === (_b = null === (_a = this.projection) || void 0 === _a ? void 0 : _a.path) || void 0 === _b ? void 0 : _b.call(_a, data);
25
25
  }
26
+ invert(point) {
27
+ var _a, _b;
28
+ return null === (_b = null === (_a = this.projection) || void 0 === _a ? void 0 : _a.invert) || void 0 === _b ? void 0 : _b.call(_a, point);
29
+ }
26
30
  scale(scale) {
27
31
  var _a, _b, _c, _d;
28
32
  if (void 0 === scale) return null === (_d = null === (_c = this.projection) || void 0 === _c ? void 0 : _c.scale) || void 0 === _d ? void 0 : _d.call(_c);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/geo/projection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,MAAM,OAAO,UAAU;IAGrB,YAAY,cAA+B;QAIzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,IAAc,EAAE,QAA8B;QACjE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAwB;;QAC7B,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,mDAAG,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,KAAuB;;QAC7B,OAAO,MAAA,IAAI,CAAC,UAAU,qDAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAwB;;QAC5B,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mDAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAID,KAAK,CAAC,KAAc;;QAClB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,mDAAG,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,kDAAc,CAAC;SAC7C;IACH,CAAC;IAID,SAAS,CAAC,KAA+B;;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,mDAAG,KAAK,CAAC,CAAC;SACrC;aAAM;YACL,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,kDAAI,CAAC;SACvC;IACH,CAAC;IAED,QAAQ,CAAC,KAAe,EAAE,IAAc,EAAE,QAA8B;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACnC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF","file":"projection.js","sourcesContent":["// import type { GeoJsonFeatureSpec } from '@visactor/vgrammar';\n\nimport { projection } from '@visactor/vgrammar-projection';\nimport type { IProjectionSpec } from './interface';\n\n// TODO: 待 vgrammar 补充上后修改回去\ntype GeoJsonFeatureSpec = any;\nexport class Projection {\n projection: any;\n\n constructor(projectionSpec: IProjectionSpec) {\n // TODO: vgrammar 类型问题\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.projection = projection(projectionSpec.type)();\n }\n\n fit(start: number[], size: number[], features: GeoJsonFeatureSpec[]) {\n const fitData = { type: 'FeatureCollection', features };\n this.projection.fitExtent([start, size], fitData);\n }\n\n center(center: [number, number]) {\n this.projection?.center?.(center);\n }\n\n project(point: [number, number]) {\n return this.projection?.(point);\n }\n\n shape(data: GeoJsonFeatureSpec) {\n return this.projection?.path?.(data);\n }\n\n scale(): number;\n scale(scale: number): void;\n scale(scale?: number): number | void {\n if (scale !== undefined) {\n this.projection?.scale?.(scale);\n } else {\n return this.projection?.scale?.() as number;\n }\n }\n\n translate(): [number, number];\n translate(point: [number, number]): void;\n translate(point?: [number, number] | void) {\n if (point !== undefined) {\n this.projection?.translate?.(point);\n } else {\n return this.projection?.translate?.();\n }\n }\n\n evaluate(start: number[], size: number[], features: GeoJsonFeatureSpec[]) {\n const tmp = this.projection.copy();\n return tmp?.fitExtent([start, size], {\n type: 'FeatureCollection',\n features\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/geo/projection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,MAAM,OAAO,UAAU;IAGrB,YAAY,cAA+B;QAIzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,IAAc,EAAE,QAA8B;QACjE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAwB;;QAC7B,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,mDAAG,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,KAAuB;;QAC7B,OAAO,MAAA,IAAI,CAAC,UAAU,qDAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAwB;;QAC5B,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mDAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAuB;;QAC5B,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,mDAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;IAID,KAAK,CAAC,KAAc;;QAClB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,mDAAG,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,kDAAc,CAAC;SAC7C;IACH,CAAC;IAID,SAAS,CAAC,KAA+B;;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,mDAAG,KAAK,CAAC,CAAC;SACrC;aAAM;YACL,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,kDAAI,CAAC;SACvC;IACH,CAAC;IAED,QAAQ,CAAC,KAAe,EAAE,IAAc,EAAE,QAA8B;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACnC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF","file":"projection.js","sourcesContent":["// import type { GeoJsonFeatureSpec } from '@visactor/vgrammar';\n\nimport { projection } from '@visactor/vgrammar-projection';\nimport type { IProjectionSpec } from './interface';\n\n// TODO: 待 vgrammar 补充上后修改回去\ntype GeoJsonFeatureSpec = any;\nexport class Projection {\n projection: any;\n\n constructor(projectionSpec: IProjectionSpec) {\n // TODO: vgrammar 类型问题\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.projection = projection(projectionSpec.type)();\n }\n\n fit(start: number[], size: number[], features: GeoJsonFeatureSpec[]) {\n const fitData = { type: 'FeatureCollection', features };\n this.projection.fitExtent([start, size], fitData);\n }\n\n center(center: [number, number]) {\n this.projection?.center?.(center);\n }\n\n project(point: [number, number]) {\n return this.projection?.(point);\n }\n\n shape(data: GeoJsonFeatureSpec) {\n return this.projection?.path?.(data);\n }\n\n invert(point: [number, number]) {\n return this.projection?.invert?.(point);\n }\n\n scale(): number;\n scale(scale: number): void;\n scale(scale?: number): number | void {\n if (scale !== undefined) {\n this.projection?.scale?.(scale);\n } else {\n return this.projection?.scale?.() as number;\n }\n }\n\n translate(): [number, number];\n translate(point: [number, number]): void;\n translate(point?: [number, number] | void) {\n if (point !== undefined) {\n this.projection?.translate?.(point);\n } else {\n return this.projection?.translate?.();\n }\n }\n\n evaluate(start: number[], size: number[], features: GeoJsonFeatureSpec[]) {\n const tmp = this.projection.copy();\n return tmp?.fitExtent([start, size], {\n type: 'FeatureCollection',\n features\n });\n }\n}\n"]}
@@ -8,7 +8,7 @@ import { Brush } from './brush';
8
8
  import type { IMapLabelSpec } from './map-label';
9
9
  import { MapLabelComponent } from './map-label';
10
10
  import type { ICartesianLinearAxisSpec, ICartesianBandAxisSpec, ICartesianTimeAxisSpec, ICartesianAxisSpec, ICartesianLogAxisSpec } from './axis/cartesian/index';
11
- import { CartesianAxis, CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis } from './axis/cartesian/index';
11
+ import { CartesianAxis, CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis } from './axis/cartesian/index';
12
12
  import type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from './axis/polar';
13
13
  import { PolarAxis, PolarBandAxis, PolarLinearAxis } from './axis/polar';
14
14
  import type { IDiscreteLegendSpec } from './legend/discrete';
@@ -36,5 +36,5 @@ import { Tooltip } from './tooltip';
36
36
  import type { ILabelSpec } from './label';
37
37
  import { Label } from './label';
38
38
  import { TotalLabel } from './label/totalLabel';
39
- export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label, TotalLabel };
39
+ export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label, TotalLabel };
40
40
  export type { IScrollBarSpec, IBrushSpec, ICartesianAxisSpec, ICartesianBandAxisSpec, ICartesianCrosshairSpec, ICartesianLinearAxisSpec, ICartesianTimeAxisSpec, ICartesianLogAxisSpec, IContinuousLegendSpec, IDataZoomSpec, IDiscreteLegendSpec, IGeoCoordinateSpec, IIndicatorSpec, ILabelSpec, IMapLabelSpec, IMarkAreaSpec, IMarkLineSpec, IMarkPointSpec, IPlayerSpec, IPolarAxisSpec, IPolarBandAxisSpec, IPolarCrosshairSpec, IPolarLinearAxisSpec, ITitleSpec, ITooltipSpec };
@@ -8,7 +8,7 @@ import { Brush } from "./brush";
8
8
 
9
9
  import { MapLabelComponent } from "./map-label";
10
10
 
11
- import { CartesianAxis, CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis } from "./axis/cartesian/index";
11
+ import { CartesianAxis, CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis } from "./axis/cartesian/index";
12
12
 
13
13
  import { PolarAxis, PolarBandAxis, PolarLinearAxis } from "./axis/polar";
14
14
 
@@ -38,4 +38,4 @@ import { Label } from "./label";
38
38
 
39
39
  import { TotalLabel } from "./label/totalLabel";
40
40
 
41
- export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label, TotalLabel };
41
+ export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label, TotalLabel };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,EACL,UAAU,EACX,CAAC","file":"index.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\n/**\n * @description export all component modules\n */\nimport type { IScrollBarSpec } from './data-zoom/scroll-bar';\nimport { ScrollBar } from './data-zoom/scroll-bar';\nimport type { IDataZoomSpec } from './data-zoom/data-zoom';\nimport { DataZoom } from './data-zoom/data-zoom';\nimport { CustomMark } from './custom-mark';\nimport type { IBrushSpec } from './brush';\nimport { Brush } from './brush';\nimport type { IMapLabelSpec } from './map-label';\nimport { MapLabelComponent } from './map-label';\nimport type {\n ICartesianLinearAxisSpec,\n ICartesianBandAxisSpec,\n ICartesianTimeAxisSpec,\n ICartesianAxisSpec,\n ICartesianLogAxisSpec\n} from './axis/cartesian/index';\nimport {\n CartesianAxis,\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n CartesianLogAxis\n} from './axis/cartesian/index';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from './axis/polar';\nimport { PolarAxis, PolarBandAxis, PolarLinearAxis } from './axis/polar';\nimport type { IDiscreteLegendSpec } from './legend/discrete';\nimport { DiscreteLegend } from './legend/discrete';\nimport type { IContinuousLegendSpec } from './legend/continuous';\nimport { ContinuousLegend } from './legend/continuous';\nimport type { IIndicatorSpec } from './indicator';\nimport { Indicator } from './indicator';\nimport type { ITitleSpec } from './title';\nimport { Title } from './title';\nimport type { IGeoCoordinateSpec } from './geo';\nimport { GeoCoordinate } from './geo';\nimport type { ICartesianCrosshairSpec, IPolarCrosshairSpec } from './crosshair';\nimport { CartesianCrossHair, PolarCrossHair } from './crosshair';\nimport type { IPlayerSpec } from './player';\nimport { Player } from './player';\nimport type { IMarkLineSpec } from './marker/mark-line';\nimport { MarkLine } from './marker/mark-line';\nimport type { IMarkAreaSpec } from './marker/mark-area';\nimport { MarkArea } from './marker/mark-area';\nimport type { IMarkPointSpec } from './marker/mark-point';\nimport { MarkPoint } from './marker/mark-point';\nimport type { ITooltipSpec } from './tooltip';\nimport { Tooltip } from './tooltip';\nimport type { ILabelSpec } from './label';\nimport { Label } from './label';\nimport { TotalLabel } from './label/totalLabel';\n\nexport {\n ScrollBar,\n DataZoom,\n CustomMark,\n Brush,\n MapLabelComponent,\n CartesianAxis,\n CartesianBandAxis,\n CartesianLinearAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n PolarAxis,\n PolarBandAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Indicator,\n Title,\n GeoCoordinate,\n CartesianCrossHair,\n PolarCrossHair,\n Player,\n MarkArea,\n MarkLine,\n MarkPoint,\n Tooltip,\n Label,\n TotalLabel\n};\n\nexport type {\n IScrollBarSpec,\n IBrushSpec,\n ICartesianAxisSpec,\n ICartesianBandAxisSpec,\n ICartesianCrosshairSpec,\n ICartesianLinearAxisSpec,\n ICartesianTimeAxisSpec,\n ICartesianLogAxisSpec,\n IContinuousLegendSpec,\n IDataZoomSpec,\n IDiscreteLegendSpec,\n IGeoCoordinateSpec,\n IIndicatorSpec,\n ILabelSpec,\n IMapLabelSpec,\n IMarkAreaSpec,\n IMarkLineSpec,\n IMarkPointSpec,\n IPlayerSpec,\n IPolarAxisSpec,\n IPolarBandAxisSpec,\n IPolarCrosshairSpec,\n IPolarLinearAxisSpec,\n ITitleSpec,\n ITooltipSpec\n};\n"]}
1
+ {"version":3,"sources":["../src/component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,EACL,UAAU,EACX,CAAC","file":"index.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\n/**\n * @description export all component modules\n */\nimport type { IScrollBarSpec } from './data-zoom/scroll-bar';\nimport { ScrollBar } from './data-zoom/scroll-bar';\nimport type { IDataZoomSpec } from './data-zoom/data-zoom';\nimport { DataZoom } from './data-zoom/data-zoom';\nimport { CustomMark } from './custom-mark';\nimport type { IBrushSpec } from './brush';\nimport { Brush } from './brush';\nimport type { IMapLabelSpec } from './map-label';\nimport { MapLabelComponent } from './map-label';\nimport type {\n ICartesianLinearAxisSpec,\n ICartesianBandAxisSpec,\n ICartesianTimeAxisSpec,\n ICartesianAxisSpec,\n ICartesianLogAxisSpec\n} from './axis/cartesian/index';\nimport {\n CartesianAxis,\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n CartesianSymlogAxis\n} from './axis/cartesian/index';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from './axis/polar';\nimport { PolarAxis, PolarBandAxis, PolarLinearAxis } from './axis/polar';\nimport type { IDiscreteLegendSpec } from './legend/discrete';\nimport { DiscreteLegend } from './legend/discrete';\nimport type { IContinuousLegendSpec } from './legend/continuous';\nimport { ContinuousLegend } from './legend/continuous';\nimport type { IIndicatorSpec } from './indicator';\nimport { Indicator } from './indicator';\nimport type { ITitleSpec } from './title';\nimport { Title } from './title';\nimport type { IGeoCoordinateSpec } from './geo';\nimport { GeoCoordinate } from './geo';\nimport type { ICartesianCrosshairSpec, IPolarCrosshairSpec } from './crosshair';\nimport { CartesianCrossHair, PolarCrossHair } from './crosshair';\nimport type { IPlayerSpec } from './player';\nimport { Player } from './player';\nimport type { IMarkLineSpec } from './marker/mark-line';\nimport { MarkLine } from './marker/mark-line';\nimport type { IMarkAreaSpec } from './marker/mark-area';\nimport { MarkArea } from './marker/mark-area';\nimport type { IMarkPointSpec } from './marker/mark-point';\nimport { MarkPoint } from './marker/mark-point';\nimport type { ITooltipSpec } from './tooltip';\nimport { Tooltip } from './tooltip';\nimport type { ILabelSpec } from './label';\nimport { Label } from './label';\nimport { TotalLabel } from './label/totalLabel';\n\nexport {\n ScrollBar,\n DataZoom,\n CustomMark,\n Brush,\n MapLabelComponent,\n CartesianAxis,\n CartesianBandAxis,\n CartesianLinearAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n CartesianSymlogAxis,\n PolarAxis,\n PolarBandAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Indicator,\n Title,\n GeoCoordinate,\n CartesianCrossHair,\n PolarCrossHair,\n Player,\n MarkArea,\n MarkLine,\n MarkPoint,\n Tooltip,\n Label,\n TotalLabel\n};\n\nexport type {\n IScrollBarSpec,\n IBrushSpec,\n ICartesianAxisSpec,\n ICartesianBandAxisSpec,\n ICartesianCrosshairSpec,\n ICartesianLinearAxisSpec,\n ICartesianTimeAxisSpec,\n ICartesianLogAxisSpec,\n IContinuousLegendSpec,\n IDataZoomSpec,\n IDiscreteLegendSpec,\n IGeoCoordinateSpec,\n IIndicatorSpec,\n ILabelSpec,\n IMapLabelSpec,\n IMarkAreaSpec,\n IMarkLineSpec,\n IMarkPointSpec,\n IPlayerSpec,\n IPolarAxisSpec,\n IPolarBandAxisSpec,\n IPolarCrosshairSpec,\n IPolarLinearAxisSpec,\n ITitleSpec,\n ITooltipSpec\n};\n"]}
@@ -33,6 +33,7 @@ export declare class Indicator<T extends IIndicatorSpec> extends BaseComponent<T
33
33
  private _getIndicatorAttrs;
34
34
  private _createOrUpdateIndicatorComponent;
35
35
  private _createText;
36
+ private _computeLayoutRadius;
36
37
  private isRelativeModel;
37
38
  clear(): void;
38
39
  }
@@ -6,7 +6,7 @@ import { ComponentTypeEnum } from "../interface";
6
6
 
7
7
  import { BaseComponent } from "../base";
8
8
 
9
- import { isValid, isFunction, array, merge, eachSeries } from "../../util";
9
+ import { isValid, isFunction, array, mergeSpec, eachSeries, transformToGraphic, getActualNumValue } from "../../util";
10
10
 
11
11
  import { isEqual } from "@visactor/vutils";
12
12
 
@@ -18,8 +18,6 @@ import { CompilableData } from "../../compile/data";
18
18
 
19
19
  import { Indicator as IndicatorComponents } from "@visactor/vrender-components";
20
20
 
21
- import { transformToGraphic } from "../../util/style";
22
-
23
21
  export class Indicator extends BaseComponent {
24
22
  constructor() {
25
23
  super(...arguments), this.type = ComponentTypeEnum.indicator, this.name = ComponentTypeEnum.indicator,
@@ -76,10 +74,9 @@ export class Indicator extends BaseComponent {
76
74
  this._createOrUpdateIndicatorComponent(attrs), super.updateLayoutAttribute();
77
75
  }
78
76
  _getIndicatorAttrs() {
79
- var _a, _b;
80
77
  const region = this._regions[0], {width: width, height: height} = region.getLayoutRect(), {x: x, y: y} = region.getLayoutStartPoint(), contentComponentSpec = [];
81
78
  return array(this._spec.content).forEach((eachItem => {
82
- const contentSpec = merge({}, this._theme.content, eachItem);
79
+ const contentSpec = mergeSpec({}, this._theme.content, eachItem);
83
80
  contentComponentSpec.push({
84
81
  visible: !1 !== contentSpec.visible && (!contentSpec.field || null !== this._activeDatum),
85
82
  space: contentSpec.space || this._gap,
@@ -99,8 +96,8 @@ export class Indicator extends BaseComponent {
99
96
  zIndex: this.layoutZIndex,
100
97
  x: x,
101
98
  y: y,
102
- dx: null !== (_a = this._spec.offsetX) && void 0 !== _a ? _a : 0,
103
- dy: null !== (_b = this._spec.offsetY) && void 0 !== _b ? _b : 0,
99
+ dx: this._spec.offsetX ? getActualNumValue(this._spec.offsetX, this._computeLayoutRadius()) : 0,
100
+ dy: this._spec.offsetY ? getActualNumValue(this._spec.offsetY, this._computeLayoutRadius()) : 0,
104
101
  limitRatio: this._spec.limitRatio || 1 / 0,
105
102
  title: {
106
103
  visible: !1 !== this._spec.title.visible && (!isValid(this._spec.title.field) || null !== this._activeDatum),
@@ -127,6 +124,10 @@ export class Indicator extends BaseComponent {
127
124
  var _a;
128
125
  return field ? this._activeDatum ? this._activeDatum[field] : "" : isFunction(text) ? null !== (_a = text(this._activeDatum, void 0)) && void 0 !== _a ? _a : "" : null != text ? text : "";
129
126
  }
127
+ _computeLayoutRadius() {
128
+ const region = this._regions[0], {width: width, height: height} = region.getLayoutRect();
129
+ return Math.min(width / 2, height / 2);
130
+ }
130
131
  isRelativeModel(model) {
131
132
  return eachSeries(this._regions, (s => model === s)) || this._regions.includes(model);
132
133
  }