@visactor/vchart 1.2.3 → 1.3.0-beta.10

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 (741) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.js +23611 -20832
  3. package/build/index.min.js +15 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/spec.d.ts +1 -1
  6. package/cjs/animation/spec.js.map +1 -1
  7. package/cjs/chart/area/area.js +2 -3
  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 +4 -2
  14. package/cjs/chart/base-chart.js +33 -34
  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 +2 -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/interface/chart.d.ts +4 -2
  35. package/cjs/chart/interface/chart.js.map +1 -1
  36. package/cjs/chart/line/line.js +2 -3
  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/progress/circular/circular.js +2 -2
  45. package/cjs/chart/progress/circular/circular.js.map +1 -1
  46. package/cjs/chart/progress/linear/linear.js +2 -2
  47. package/cjs/chart/progress/linear/linear.js.map +1 -1
  48. package/cjs/chart/radar/radar.js +2 -3
  49. package/cjs/chart/radar/radar.js.map +1 -1
  50. package/cjs/chart/range-area/range-area.js +2 -2
  51. package/cjs/chart/range-area/range-area.js.map +1 -1
  52. package/cjs/chart/range-column/range-column-3d.js +2 -2
  53. package/cjs/chart/range-column/range-column-3d.js.map +1 -1
  54. package/cjs/chart/range-column/range-column.js +2 -2
  55. package/cjs/chart/range-column/range-column.js.map +1 -1
  56. package/cjs/chart/rose/rose.js +2 -2
  57. package/cjs/chart/rose/rose.js.map +1 -1
  58. package/cjs/chart/sankey/sankey.js +2 -2
  59. package/cjs/chart/sankey/sankey.js.map +1 -1
  60. package/cjs/chart/scatter/scatter.js +2 -2
  61. package/cjs/chart/scatter/scatter.js.map +1 -1
  62. package/cjs/chart/sequence/sequence.js +2 -2
  63. package/cjs/chart/sequence/sequence.js.map +1 -1
  64. package/cjs/chart/stack.d.ts +1 -0
  65. package/cjs/chart/stack.js +14 -0
  66. package/cjs/chart/stack.js.map +1 -1
  67. package/cjs/chart/sunburst/sunburst.js +2 -2
  68. package/cjs/chart/sunburst/sunburst.js.map +1 -1
  69. package/cjs/chart/treemap/treemap.js +2 -2
  70. package/cjs/chart/treemap/treemap.js.map +1 -1
  71. package/cjs/chart/util.d.ts +8 -0
  72. package/cjs/chart/util.js +32 -3
  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 +1 -1
  81. package/cjs/compile/compiler.js +4 -3
  82. package/cjs/compile/compiler.js.map +1 -1
  83. package/cjs/compile/mark/compilable-mark.js +9 -10
  84. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  85. package/cjs/compile/mark/interface.d.ts +2 -1
  86. package/cjs/compile/mark/interface.js.map +1 -1
  87. package/cjs/compile/mark/util.d.ts +2 -1
  88. package/cjs/compile/mark/util.js +21 -5
  89. package/cjs/compile/mark/util.js.map +1 -1
  90. package/cjs/component/axis/base-axis.d.ts +1 -12
  91. package/cjs/component/axis/base-axis.js +7 -17
  92. package/cjs/component/axis/base-axis.js.map +1 -1
  93. package/cjs/component/axis/cartesian/axis.js +15 -6
  94. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  95. package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
  96. package/cjs/component/axis/cartesian/band-axis.js +1 -0
  97. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  98. package/cjs/component/axis/cartesian/index.d.ts +1 -0
  99. package/cjs/component/axis/cartesian/index.js +2 -1
  100. package/cjs/component/axis/cartesian/index.js.map +1 -1
  101. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  102. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  103. package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
  104. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  105. package/cjs/component/axis/cartesian/linear-axis.js +4 -3
  106. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  107. package/cjs/component/axis/cartesian/symlog-axis.d.ts +15 -0
  108. package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
  109. package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
  110. package/cjs/component/axis/interface.d.ts +3 -1
  111. package/cjs/component/axis/interface.js.map +1 -1
  112. package/cjs/component/axis/polar/axis.d.ts +1 -0
  113. package/cjs/component/axis/polar/axis.js +5 -2
  114. package/cjs/component/axis/polar/axis.js.map +1 -1
  115. package/cjs/component/axis/polar/band-axis.d.ts +1 -0
  116. package/cjs/component/base/base-component.d.ts +3 -2
  117. package/cjs/component/base/base-component.js +3 -3
  118. package/cjs/component/base/base-component.js.map +1 -1
  119. package/cjs/component/base/util.js +3 -0
  120. package/cjs/component/base/util.js.map +1 -1
  121. package/cjs/component/brush/brush.d.ts +11 -1
  122. package/cjs/component/brush/brush.js +61 -51
  123. package/cjs/component/brush/brush.js.map +1 -1
  124. package/cjs/component/crosshair/base.d.ts +1 -0
  125. package/cjs/component/crosshair/cartesian.js +1 -1
  126. package/cjs/component/crosshair/cartesian.js.map +1 -1
  127. package/cjs/component/crosshair/polar.js +3 -3
  128. package/cjs/component/crosshair/polar.js.map +1 -1
  129. package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
  130. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
  131. package/cjs/component/geo/geo-coordinate.d.ts +7 -2
  132. package/cjs/component/geo/geo-coordinate.js +54 -14
  133. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  134. package/cjs/component/index.d.ts +3 -2
  135. package/cjs/component/index.js +15 -1
  136. package/cjs/component/index.js.map +1 -1
  137. package/cjs/component/indicator/indicator.js.map +1 -1
  138. package/cjs/component/interface/theme.d.ts +2 -0
  139. package/cjs/component/interface/theme.js.map +1 -1
  140. package/cjs/component/interface/type.d.ts +2 -0
  141. package/cjs/component/interface/type.js +13 -12
  142. package/cjs/component/interface/type.js.map +1 -1
  143. package/cjs/component/label/base-label.d.ts +40 -0
  144. package/cjs/component/label/base-label.js +44 -0
  145. package/cjs/component/label/base-label.js.map +1 -0
  146. package/cjs/component/label/interface.d.ts +7 -0
  147. package/cjs/component/label/interface.js.map +1 -1
  148. package/cjs/component/label/label.d.ts +5 -27
  149. package/cjs/component/label/label.js +31 -38
  150. package/cjs/component/label/label.js.map +1 -1
  151. package/cjs/component/label/pie.d.ts +5 -0
  152. package/cjs/component/label/pie.js +21 -0
  153. package/cjs/component/label/pie.js.map +1 -0
  154. package/cjs/component/label/totalLabel.d.ts +27 -0
  155. package/cjs/component/label/totalLabel.js +107 -0
  156. package/cjs/component/label/totalLabel.js.map +1 -0
  157. package/cjs/component/label/util.d.ts +3 -1
  158. package/cjs/component/label/util.js +5 -5
  159. package/cjs/component/label/util.js.map +1 -1
  160. package/cjs/component/legend/base-legend.d.ts +1 -0
  161. package/cjs/component/marker/base-marker.d.ts +6 -0
  162. package/cjs/component/marker/base-marker.js +14 -0
  163. package/cjs/component/marker/base-marker.js.map +1 -1
  164. package/cjs/component/marker/interface.d.ts +1 -0
  165. package/cjs/component/marker/interface.js.map +1 -1
  166. package/cjs/component/marker/mark-area/mark-area.js +17 -6
  167. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  168. package/cjs/component/marker/mark-line/mark-line.js +17 -6
  169. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  170. package/cjs/component/marker/mark-point/mark-point.js +18 -7
  171. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  172. package/cjs/component/title/title.d.ts +1 -0
  173. package/cjs/component/title/title.js +2 -1
  174. package/cjs/component/title/title.js.map +1 -1
  175. package/cjs/component/tooltip/handler/base.js.map +1 -1
  176. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  177. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  178. package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
  179. package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
  180. package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  181. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +17 -15
  182. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  183. package/cjs/component/tooltip/handler/dom/model/title-model.js +3 -3
  184. package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  185. package/cjs/component/tooltip/handler/dom/util.js +18 -11
  186. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  187. package/cjs/component/tooltip/handler/utils/attribute.js +25 -24
  188. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  189. package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
  190. package/cjs/component/tooltip/handler/utils/compose.js +13 -10
  191. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  192. package/cjs/component/tooltip/handler/utils/get-spec.js +2 -2
  193. package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
  194. package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
  195. package/cjs/component/tooltip/handler/utils/style.js +15 -10
  196. package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
  197. package/cjs/component/tooltip/interface/theme.d.ts +1 -0
  198. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  199. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  200. package/cjs/component/tooltip/tooltip.js +10 -7
  201. package/cjs/component/tooltip/tooltip.js.map +1 -1
  202. package/cjs/constant/index.d.ts +3 -0
  203. package/cjs/constant/index.js +4 -3
  204. package/cjs/constant/index.js.map +1 -1
  205. package/cjs/core/index.d.ts +1 -1
  206. package/cjs/core/index.js +1 -1
  207. package/cjs/core/index.js.map +1 -1
  208. package/cjs/core/interface.d.ts +3 -0
  209. package/cjs/core/interface.js.map +1 -1
  210. package/cjs/core/vchart.d.ts +6 -1
  211. package/cjs/core/vchart.js +51 -11
  212. package/cjs/core/vchart.js.map +1 -1
  213. package/cjs/data/initialize.js +9 -7
  214. package/cjs/data/initialize.js.map +1 -1
  215. package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
  216. package/cjs/data/transforms/dimension-statistics.js +34 -22
  217. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  218. package/cjs/data/transforms/invalid-travel.js +1 -2
  219. package/cjs/data/transforms/invalid-travel.js.map +1 -1
  220. package/cjs/data/transforms/tick-data/continuous.js +6 -3
  221. package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
  222. package/cjs/data/transforms/tick-data/interface.d.ts +3 -0
  223. package/cjs/data/transforms/tick-data/interface.js.map +1 -1
  224. package/cjs/event/event-dispatcher.js +4 -2
  225. package/cjs/event/event-dispatcher.js.map +1 -1
  226. package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
  227. package/cjs/event/events/dimension/dimension-click.js +9 -10
  228. package/cjs/event/events/dimension/dimension-click.js.map +1 -1
  229. package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
  230. package/cjs/event/events/dimension/dimension-hover.js +26 -17
  231. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  232. package/cjs/event/interface.d.ts +3 -3
  233. package/cjs/event/interface.js.map +1 -1
  234. package/cjs/interaction/trigger.js +4 -0
  235. package/cjs/interaction/trigger.js.map +1 -1
  236. package/cjs/layout/label/arc-label.js.map +1 -1
  237. package/cjs/mark/base/base-mark.d.ts +1 -0
  238. package/cjs/mark/base/base-mark.js +20 -3
  239. package/cjs/mark/base/base-mark.js.map +1 -1
  240. package/cjs/mark/symbol.js +1 -1
  241. package/cjs/mark/symbol.js.map +1 -1
  242. package/cjs/model/base-model.d.ts +2 -0
  243. package/cjs/model/base-model.js +2 -0
  244. package/cjs/model/base-model.js.map +1 -1
  245. package/cjs/model/interface.d.ts +6 -1
  246. package/cjs/model/interface.js.map +1 -1
  247. package/cjs/model/layout-item.d.ts +4 -4
  248. package/cjs/model/layout-item.js.map +1 -1
  249. package/cjs/plugin/components/index.d.ts +0 -2
  250. package/cjs/plugin/components/index.js +1 -2
  251. package/cjs/plugin/components/index.js.map +1 -1
  252. package/cjs/region/region.d.ts +1 -0
  253. package/cjs/series/area/area.d.ts +6 -3
  254. package/cjs/series/area/area.js +36 -12
  255. package/cjs/series/area/area.js.map +1 -1
  256. package/cjs/series/area/tooltip-helpter.d.ts +5 -0
  257. package/cjs/series/area/tooltip-helpter.js +24 -0
  258. package/cjs/series/area/tooltip-helpter.js.map +1 -0
  259. package/cjs/series/bar/bar.d.ts +1 -0
  260. package/cjs/series/bar/bar.js +1 -1
  261. package/cjs/series/bar/bar.js.map +1 -1
  262. package/cjs/series/base/base-series.d.ts +4 -0
  263. package/cjs/series/base/base-series.js +62 -16
  264. package/cjs/series/base/base-series.js.map +1 -1
  265. package/cjs/series/base/tooltip-helper.js +4 -2
  266. package/cjs/series/base/tooltip-helper.js.map +1 -1
  267. package/cjs/series/box-plot/box-plot.js +1 -1
  268. package/cjs/series/box-plot/box-plot.js.map +1 -1
  269. package/cjs/series/cartesian/cartesian.d.ts +7 -3
  270. package/cjs/series/cartesian/cartesian.js +27 -17
  271. package/cjs/series/cartesian/cartesian.js.map +1 -1
  272. package/cjs/series/dot/dot.d.ts +1 -0
  273. package/cjs/series/dot/dot.js +3 -0
  274. package/cjs/series/dot/dot.js.map +1 -1
  275. package/cjs/series/funnel/funnel.d.ts +1 -0
  276. package/cjs/series/geo/geo.d.ts +2 -0
  277. package/cjs/series/geo/geo.js +5 -1
  278. package/cjs/series/geo/geo.js.map +1 -1
  279. package/cjs/series/heatmap/heatmap.d.ts +1 -0
  280. package/cjs/series/interface/common.d.ts +1 -0
  281. package/cjs/series/interface/common.js.map +1 -1
  282. package/cjs/series/interface/series.d.ts +3 -2
  283. package/cjs/series/interface/series.js.map +1 -1
  284. package/cjs/series/line/interface.d.ts +0 -2
  285. package/cjs/series/line/interface.js.map +1 -1
  286. package/cjs/series/line/line.d.ts +1 -2
  287. package/cjs/series/line/line.js +1 -1
  288. package/cjs/series/line/line.js.map +1 -1
  289. package/cjs/series/link/link.js +1 -1
  290. package/cjs/series/link/link.js.map +1 -1
  291. package/cjs/series/map/interface.d.ts +1 -0
  292. package/cjs/series/map/interface.js.map +1 -1
  293. package/cjs/series/map/map.d.ts +1 -2
  294. package/cjs/series/map/map.js +9 -9
  295. package/cjs/series/map/map.js.map +1 -1
  296. package/cjs/series/mixin/line-mixin.d.ts +4 -1
  297. package/cjs/series/mixin/line-mixin.js +37 -21
  298. package/cjs/series/mixin/line-mixin.js.map +1 -1
  299. package/cjs/series/pie/interface.d.ts +4 -7
  300. package/cjs/series/pie/interface.js.map +1 -1
  301. package/cjs/series/pie/pie.d.ts +2 -0
  302. package/cjs/series/pie/pie.js +19 -56
  303. package/cjs/series/pie/pie.js.map +1 -1
  304. package/cjs/series/polar/polar.d.ts +1 -0
  305. package/cjs/series/polar/polar.js +2 -1
  306. package/cjs/series/polar/polar.js.map +1 -1
  307. package/cjs/series/range-area/range-area.d.ts +2 -0
  308. package/cjs/series/range-area/range-area.js +8 -2
  309. package/cjs/series/range-area/range-area.js.map +1 -1
  310. package/cjs/series/range-column/range-column.js +1 -1
  311. package/cjs/series/range-column/range-column.js.map +1 -1
  312. package/cjs/series/rose/interface.d.ts +3 -0
  313. package/cjs/series/rose/interface.js.map +1 -1
  314. package/cjs/series/rose/rose.d.ts +1 -2
  315. package/cjs/series/rose/rose.js +17 -36
  316. package/cjs/series/rose/rose.js.map +1 -1
  317. package/cjs/series/sankey/interface.d.ts +3 -2
  318. package/cjs/series/sankey/interface.js.map +1 -1
  319. package/cjs/series/sankey/sankey.d.ts +2 -0
  320. package/cjs/series/sankey/sankey.js +198 -79
  321. package/cjs/series/sankey/sankey.js.map +1 -1
  322. package/cjs/series/scatter/interface.d.ts +1 -2
  323. package/cjs/series/scatter/interface.js.map +1 -1
  324. package/cjs/series/scatter/scatter.d.ts +2 -3
  325. package/cjs/series/scatter/scatter.js +19 -13
  326. package/cjs/series/scatter/scatter.js.map +1 -1
  327. package/cjs/series/word-cloud/base.d.ts +1 -0
  328. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  329. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js +22 -0
  330. package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  331. package/cjs/theme/buildin-theme/light/component/index.js +3 -2
  332. package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
  333. package/cjs/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  334. package/cjs/theme/buildin-theme/light/component/total-label.js +24 -0
  335. package/cjs/theme/buildin-theme/light/component/total-label.js.map +1 -0
  336. package/cjs/theme/buildin-theme/light/series/rose.js +0 -1
  337. package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -1
  338. package/cjs/theme/buildin-theme/light/series/sankey.js +0 -1
  339. package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -1
  340. package/cjs/typings/spec/common.d.ts +10 -4
  341. package/cjs/typings/spec/common.js.map +1 -1
  342. package/cjs/typings/tooltip/label.d.ts +10 -0
  343. package/cjs/typings/tooltip/label.js +6 -0
  344. package/cjs/typings/tooltip/label.js.map +1 -0
  345. package/cjs/typings/tooltip/line.d.ts +3 -2
  346. package/cjs/typings/tooltip/line.js.map +1 -1
  347. package/cjs/typings/tooltip/shape.d.ts +2 -0
  348. package/cjs/typings/tooltip/shape.js.map +1 -1
  349. package/cjs/typings/visual.d.ts +11 -21
  350. package/cjs/typings/visual.js.map +1 -1
  351. package/cjs/util/data.d.ts +0 -8
  352. package/cjs/util/data.js +2 -9
  353. package/cjs/util/data.js.map +1 -1
  354. package/cjs/util/object.d.ts +0 -2
  355. package/cjs/util/object.js +2 -13
  356. package/cjs/util/object.js.map +1 -1
  357. package/cjs/util/scale.d.ts +2 -6
  358. package/cjs/util/scale.js +1 -6
  359. package/cjs/util/scale.js.map +1 -1
  360. package/cjs/util/space.d.ts +3 -9
  361. package/cjs/util/space.js +14 -30
  362. package/cjs/util/space.js.map +1 -1
  363. package/cjs/util/text.d.ts +1 -2
  364. package/cjs/util/text.js +1 -11
  365. package/cjs/util/text.js.map +1 -1
  366. package/cjs/vchart-all.js +1 -1
  367. package/cjs/vchart-all.js.map +1 -1
  368. package/cjs/vchart-simple.js +3 -4
  369. package/cjs/vchart-simple.js.map +1 -1
  370. package/esm/animation/spec.d.ts +1 -1
  371. package/esm/animation/spec.js.map +1 -1
  372. package/esm/chart/area/area.js +3 -4
  373. package/esm/chart/area/area.js.map +1 -1
  374. package/esm/chart/bar/bar-3d.js +2 -2
  375. package/esm/chart/bar/bar-3d.js.map +1 -1
  376. package/esm/chart/bar/bar.js +2 -2
  377. package/esm/chart/bar/bar.js.map +1 -1
  378. package/esm/chart/base-chart.d.ts +4 -2
  379. package/esm/chart/base-chart.js +36 -35
  380. package/esm/chart/base-chart.js.map +1 -1
  381. package/esm/chart/box-plot/box-plot.js +1 -1
  382. package/esm/chart/box-plot/box-plot.js.map +1 -1
  383. package/esm/chart/cartesian/cartesian.js +2 -1
  384. package/esm/chart/cartesian/cartesian.js.map +1 -1
  385. package/esm/chart/circle-packing/circle-packing.js +1 -1
  386. package/esm/chart/circle-packing/circle-packing.js.map +1 -1
  387. package/esm/chart/funnel/funnel-3d.js +1 -1
  388. package/esm/chart/funnel/funnel-3d.js.map +1 -1
  389. package/esm/chart/funnel/funnel.js +1 -1
  390. package/esm/chart/funnel/funnel.js.map +1 -1
  391. package/esm/chart/gauge/gauge.js +2 -2
  392. package/esm/chart/gauge/gauge.js.map +1 -1
  393. package/esm/chart/heatmap/heatmap.js +1 -1
  394. package/esm/chart/heatmap/heatmap.js.map +1 -1
  395. package/esm/chart/histogram/histogram-3d.js +2 -2
  396. package/esm/chart/histogram/histogram-3d.js.map +1 -1
  397. package/esm/chart/histogram/histogram.js +2 -2
  398. package/esm/chart/histogram/histogram.js.map +1 -1
  399. package/esm/chart/interface/chart.d.ts +4 -2
  400. package/esm/chart/interface/chart.js.map +1 -1
  401. package/esm/chart/line/line.js +1 -2
  402. package/esm/chart/line/line.js.map +1 -1
  403. package/esm/chart/map/map.js +2 -2
  404. package/esm/chart/map/map.js.map +1 -1
  405. package/esm/chart/pie/pie-3d.js +2 -2
  406. package/esm/chart/pie/pie-3d.js.map +1 -1
  407. package/esm/chart/pie/pie.js +2 -2
  408. package/esm/chart/pie/pie.js.map +1 -1
  409. package/esm/chart/progress/circular/circular.js +1 -1
  410. package/esm/chart/progress/circular/circular.js.map +1 -1
  411. package/esm/chart/progress/linear/linear.js +1 -1
  412. package/esm/chart/progress/linear/linear.js.map +1 -1
  413. package/esm/chart/radar/radar.js +2 -3
  414. package/esm/chart/radar/radar.js.map +1 -1
  415. package/esm/chart/range-area/range-area.js +1 -1
  416. package/esm/chart/range-area/range-area.js.map +1 -1
  417. package/esm/chart/range-column/range-column-3d.js +1 -1
  418. package/esm/chart/range-column/range-column-3d.js.map +1 -1
  419. package/esm/chart/range-column/range-column.js +1 -1
  420. package/esm/chart/range-column/range-column.js.map +1 -1
  421. package/esm/chart/rose/rose.js +2 -2
  422. package/esm/chart/rose/rose.js.map +1 -1
  423. package/esm/chart/sankey/sankey.js +1 -1
  424. package/esm/chart/sankey/sankey.js.map +1 -1
  425. package/esm/chart/scatter/scatter.js +2 -2
  426. package/esm/chart/scatter/scatter.js.map +1 -1
  427. package/esm/chart/sequence/sequence.js +4 -2
  428. package/esm/chart/sequence/sequence.js.map +1 -1
  429. package/esm/chart/stack.d.ts +1 -0
  430. package/esm/chart/stack.js +16 -2
  431. package/esm/chart/stack.js.map +1 -1
  432. package/esm/chart/sunburst/sunburst.js +1 -1
  433. package/esm/chart/sunburst/sunburst.js.map +1 -1
  434. package/esm/chart/treemap/treemap.js +1 -1
  435. package/esm/chart/treemap/treemap.js.map +1 -1
  436. package/esm/chart/util.d.ts +8 -0
  437. package/esm/chart/util.js +33 -1
  438. package/esm/chart/util.js.map +1 -1
  439. package/esm/chart/waterfall/waterfall.js +1 -1
  440. package/esm/chart/waterfall/waterfall.js.map +1 -1
  441. package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
  442. package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
  443. package/esm/chart/word-cloud/word-cloud.js +1 -1
  444. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  445. package/esm/compile/compiler.d.ts +1 -1
  446. package/esm/compile/compiler.js +5 -4
  447. package/esm/compile/compiler.js.map +1 -1
  448. package/esm/compile/mark/compilable-mark.js +9 -11
  449. package/esm/compile/mark/compilable-mark.js.map +1 -1
  450. package/esm/compile/mark/interface.d.ts +2 -1
  451. package/esm/compile/mark/interface.js.map +1 -1
  452. package/esm/compile/mark/util.d.ts +2 -1
  453. package/esm/compile/mark/util.js +19 -3
  454. package/esm/compile/mark/util.js.map +1 -1
  455. package/esm/component/axis/base-axis.d.ts +1 -12
  456. package/esm/component/axis/base-axis.js +8 -18
  457. package/esm/component/axis/base-axis.js.map +1 -1
  458. package/esm/component/axis/cartesian/axis.js +15 -6
  459. package/esm/component/axis/cartesian/axis.js.map +1 -1
  460. package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
  461. package/esm/component/axis/cartesian/band-axis.js +1 -0
  462. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  463. package/esm/component/axis/cartesian/index.d.ts +1 -0
  464. package/esm/component/axis/cartesian/index.js +2 -0
  465. package/esm/component/axis/cartesian/index.js.map +1 -1
  466. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  467. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  468. package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
  469. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  470. package/esm/component/axis/cartesian/linear-axis.js +3 -4
  471. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  472. package/esm/component/axis/cartesian/symlog-axis.d.ts +15 -0
  473. package/esm/component/axis/cartesian/symlog-axis.js +24 -0
  474. package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
  475. package/esm/component/axis/interface.d.ts +3 -1
  476. package/esm/component/axis/interface.js.map +1 -1
  477. package/esm/component/axis/polar/axis.d.ts +1 -0
  478. package/esm/component/axis/polar/axis.js +5 -2
  479. package/esm/component/axis/polar/axis.js.map +1 -1
  480. package/esm/component/axis/polar/band-axis.d.ts +1 -0
  481. package/esm/component/base/base-component.d.ts +3 -2
  482. package/esm/component/base/base-component.js +3 -3
  483. package/esm/component/base/base-component.js.map +1 -1
  484. package/esm/component/base/util.js +3 -0
  485. package/esm/component/base/util.js.map +1 -1
  486. package/esm/component/brush/brush.d.ts +11 -1
  487. package/esm/component/brush/brush.js +60 -51
  488. package/esm/component/brush/brush.js.map +1 -1
  489. package/esm/component/crosshair/base.d.ts +1 -0
  490. package/esm/component/crosshair/cartesian.js +1 -1
  491. package/esm/component/crosshair/cartesian.js.map +1 -1
  492. package/esm/component/crosshair/polar.js +3 -3
  493. package/esm/component/crosshair/polar.js.map +1 -1
  494. package/esm/component/custom-mark/custom-mark.d.ts +1 -0
  495. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
  496. package/esm/component/geo/geo-coordinate.d.ts +7 -2
  497. package/esm/component/geo/geo-coordinate.js +56 -14
  498. package/esm/component/geo/geo-coordinate.js.map +1 -1
  499. package/esm/component/index.d.ts +3 -2
  500. package/esm/component/index.js +4 -2
  501. package/esm/component/index.js.map +1 -1
  502. package/esm/component/indicator/indicator.js.map +1 -1
  503. package/esm/component/interface/theme.d.ts +2 -0
  504. package/esm/component/interface/theme.js.map +1 -1
  505. package/esm/component/interface/type.d.ts +2 -0
  506. package/esm/component/interface/type.js +13 -12
  507. package/esm/component/interface/type.js.map +1 -1
  508. package/esm/component/label/base-label.d.ts +40 -0
  509. package/esm/component/label/base-label.js +42 -0
  510. package/esm/component/label/base-label.js.map +1 -0
  511. package/esm/component/label/interface.d.ts +7 -0
  512. package/esm/component/label/interface.js.map +1 -1
  513. package/esm/component/label/label.d.ts +5 -27
  514. package/esm/component/label/label.js +34 -40
  515. package/esm/component/label/label.js.map +1 -1
  516. package/esm/component/label/pie.d.ts +5 -0
  517. package/esm/component/label/pie.js +13 -0
  518. package/esm/component/label/pie.js.map +1 -0
  519. package/esm/component/label/totalLabel.d.ts +27 -0
  520. package/esm/component/label/totalLabel.js +110 -0
  521. package/esm/component/label/totalLabel.js.map +1 -0
  522. package/esm/component/label/util.d.ts +3 -1
  523. package/esm/component/label/util.js +6 -4
  524. package/esm/component/label/util.js.map +1 -1
  525. package/esm/component/legend/base-legend.d.ts +1 -0
  526. package/esm/component/marker/base-marker.d.ts +6 -0
  527. package/esm/component/marker/base-marker.js +14 -0
  528. package/esm/component/marker/base-marker.js.map +1 -1
  529. package/esm/component/marker/interface.d.ts +1 -0
  530. package/esm/component/marker/interface.js.map +1 -1
  531. package/esm/component/marker/mark-area/mark-area.js +17 -6
  532. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  533. package/esm/component/marker/mark-line/mark-line.js +17 -6
  534. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  535. package/esm/component/marker/mark-point/mark-point.js +18 -7
  536. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  537. package/esm/component/title/title.d.ts +1 -0
  538. package/esm/component/title/title.js +2 -1
  539. package/esm/component/title/title.js.map +1 -1
  540. package/esm/component/tooltip/handler/base.js.map +1 -1
  541. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
  542. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  543. package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
  544. package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
  545. package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
  546. package/esm/component/tooltip/handler/dom/model/content-column-model.js +16 -14
  547. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  548. package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
  549. package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
  550. package/esm/component/tooltip/handler/dom/util.js +18 -11
  551. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  552. package/esm/component/tooltip/handler/utils/attribute.js +24 -24
  553. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  554. package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
  555. package/esm/component/tooltip/handler/utils/compose.js +11 -10
  556. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  557. package/esm/component/tooltip/handler/utils/get-spec.js +3 -1
  558. package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
  559. package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
  560. package/esm/component/tooltip/handler/utils/style.js +16 -9
  561. package/esm/component/tooltip/handler/utils/style.js.map +1 -1
  562. package/esm/component/tooltip/interface/theme.d.ts +1 -0
  563. package/esm/component/tooltip/interface/theme.js.map +1 -1
  564. package/esm/component/tooltip/tooltip.d.ts +1 -1
  565. package/esm/component/tooltip/tooltip.js +10 -7
  566. package/esm/component/tooltip/tooltip.js.map +1 -1
  567. package/esm/constant/index.d.ts +3 -0
  568. package/esm/constant/index.js +6 -0
  569. package/esm/constant/index.js.map +1 -1
  570. package/esm/core/index.d.ts +1 -1
  571. package/esm/core/index.js +1 -1
  572. package/esm/core/index.js.map +1 -1
  573. package/esm/core/interface.d.ts +3 -0
  574. package/esm/core/interface.js.map +1 -1
  575. package/esm/core/vchart.d.ts +6 -1
  576. package/esm/core/vchart.js +54 -11
  577. package/esm/core/vchart.js.map +1 -1
  578. package/esm/data/initialize.js +10 -7
  579. package/esm/data/initialize.js.map +1 -1
  580. package/esm/data/transforms/dimension-statistics.d.ts +11 -5
  581. package/esm/data/transforms/dimension-statistics.js +33 -22
  582. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  583. package/esm/data/transforms/invalid-travel.js +1 -2
  584. package/esm/data/transforms/invalid-travel.js.map +1 -1
  585. package/esm/data/transforms/tick-data/continuous.js +6 -3
  586. package/esm/data/transforms/tick-data/continuous.js.map +1 -1
  587. package/esm/data/transforms/tick-data/interface.d.ts +3 -0
  588. package/esm/data/transforms/tick-data/interface.js.map +1 -1
  589. package/esm/event/event-dispatcher.js +3 -2
  590. package/esm/event/event-dispatcher.js.map +1 -1
  591. package/esm/event/events/dimension/dimension-click.d.ts +1 -3
  592. package/esm/event/events/dimension/dimension-click.js +9 -10
  593. package/esm/event/events/dimension/dimension-click.js.map +1 -1
  594. package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
  595. package/esm/event/events/dimension/dimension-hover.js +25 -16
  596. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  597. package/esm/event/interface.d.ts +3 -3
  598. package/esm/event/interface.js.map +1 -1
  599. package/esm/interaction/trigger.js +4 -0
  600. package/esm/interaction/trigger.js.map +1 -1
  601. package/esm/layout/label/arc-label.js.map +1 -1
  602. package/esm/mark/base/base-mark.d.ts +1 -0
  603. package/esm/mark/base/base-mark.js +20 -3
  604. package/esm/mark/base/base-mark.js.map +1 -1
  605. package/esm/mark/symbol.js +1 -1
  606. package/esm/mark/symbol.js.map +1 -1
  607. package/esm/model/base-model.d.ts +2 -0
  608. package/esm/model/base-model.js +2 -0
  609. package/esm/model/base-model.js.map +1 -1
  610. package/esm/model/interface.d.ts +6 -1
  611. package/esm/model/interface.js.map +1 -1
  612. package/esm/model/layout-item.d.ts +4 -4
  613. package/esm/model/layout-item.js.map +1 -1
  614. package/esm/plugin/components/index.d.ts +0 -2
  615. package/esm/plugin/components/index.js +0 -3
  616. package/esm/plugin/components/index.js.map +1 -1
  617. package/esm/region/region.d.ts +1 -0
  618. package/esm/series/area/area.d.ts +6 -3
  619. package/esm/series/area/area.js +39 -10
  620. package/esm/series/area/area.js.map +1 -1
  621. package/esm/series/area/tooltip-helpter.d.ts +5 -0
  622. package/esm/series/area/tooltip-helpter.js +18 -0
  623. package/esm/series/area/tooltip-helpter.js.map +1 -0
  624. package/esm/series/bar/bar.d.ts +1 -0
  625. package/esm/series/bar/bar.js +1 -1
  626. package/esm/series/bar/bar.js.map +1 -1
  627. package/esm/series/base/base-series.d.ts +4 -0
  628. package/esm/series/base/base-series.js +62 -17
  629. package/esm/series/base/base-series.js.map +1 -1
  630. package/esm/series/base/tooltip-helper.js +4 -2
  631. package/esm/series/base/tooltip-helper.js.map +1 -1
  632. package/esm/series/box-plot/box-plot.js +1 -1
  633. package/esm/series/box-plot/box-plot.js.map +1 -1
  634. package/esm/series/cartesian/cartesian.d.ts +7 -3
  635. package/esm/series/cartesian/cartesian.js +26 -17
  636. package/esm/series/cartesian/cartesian.js.map +1 -1
  637. package/esm/series/dot/dot.d.ts +1 -0
  638. package/esm/series/dot/dot.js +3 -0
  639. package/esm/series/dot/dot.js.map +1 -1
  640. package/esm/series/funnel/funnel.d.ts +1 -0
  641. package/esm/series/geo/geo.d.ts +2 -0
  642. package/esm/series/geo/geo.js +4 -1
  643. package/esm/series/geo/geo.js.map +1 -1
  644. package/esm/series/heatmap/heatmap.d.ts +1 -0
  645. package/esm/series/interface/common.d.ts +1 -0
  646. package/esm/series/interface/common.js.map +1 -1
  647. package/esm/series/interface/series.d.ts +3 -2
  648. package/esm/series/interface/series.js.map +1 -1
  649. package/esm/series/line/interface.d.ts +0 -2
  650. package/esm/series/line/interface.js.map +1 -1
  651. package/esm/series/line/line.d.ts +1 -2
  652. package/esm/series/line/line.js +1 -1
  653. package/esm/series/line/line.js.map +1 -1
  654. package/esm/series/link/link.js +1 -1
  655. package/esm/series/link/link.js.map +1 -1
  656. package/esm/series/map/interface.d.ts +1 -0
  657. package/esm/series/map/interface.js.map +1 -1
  658. package/esm/series/map/map.d.ts +1 -2
  659. package/esm/series/map/map.js +10 -8
  660. package/esm/series/map/map.js.map +1 -1
  661. package/esm/series/mixin/line-mixin.d.ts +4 -1
  662. package/esm/series/mixin/line-mixin.js +39 -19
  663. package/esm/series/mixin/line-mixin.js.map +1 -1
  664. package/esm/series/pie/interface.d.ts +4 -7
  665. package/esm/series/pie/interface.js.map +1 -1
  666. package/esm/series/pie/pie.d.ts +2 -0
  667. package/esm/series/pie/pie.js +22 -54
  668. package/esm/series/pie/pie.js.map +1 -1
  669. package/esm/series/polar/polar.d.ts +1 -0
  670. package/esm/series/polar/polar.js +2 -1
  671. package/esm/series/polar/polar.js.map +1 -1
  672. package/esm/series/range-area/range-area.d.ts +2 -0
  673. package/esm/series/range-area/range-area.js +7 -3
  674. package/esm/series/range-area/range-area.js.map +1 -1
  675. package/esm/series/range-column/range-column.js +1 -1
  676. package/esm/series/range-column/range-column.js.map +1 -1
  677. package/esm/series/rose/interface.d.ts +3 -0
  678. package/esm/series/rose/interface.js.map +1 -1
  679. package/esm/series/rose/rose.d.ts +1 -2
  680. package/esm/series/rose/rose.js +17 -37
  681. package/esm/series/rose/rose.js.map +1 -1
  682. package/esm/series/sankey/interface.d.ts +3 -2
  683. package/esm/series/sankey/interface.js.map +1 -1
  684. package/esm/series/sankey/sankey.d.ts +2 -0
  685. package/esm/series/sankey/sankey.js +198 -80
  686. package/esm/series/sankey/sankey.js.map +1 -1
  687. package/esm/series/scatter/interface.d.ts +1 -2
  688. package/esm/series/scatter/interface.js.map +1 -1
  689. package/esm/series/scatter/scatter.d.ts +2 -3
  690. package/esm/series/scatter/scatter.js +20 -14
  691. package/esm/series/scatter/scatter.js.map +1 -1
  692. package/esm/series/word-cloud/base.d.ts +1 -0
  693. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
  694. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js +18 -0
  695. package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
  696. package/esm/theme/buildin-theme/light/component/index.js +4 -1
  697. package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
  698. package/esm/theme/buildin-theme/light/component/total-label.d.ts +2 -0
  699. package/esm/theme/buildin-theme/light/component/total-label.js +20 -0
  700. package/esm/theme/buildin-theme/light/component/total-label.js.map +1 -0
  701. package/esm/theme/buildin-theme/light/series/rose.js +0 -1
  702. package/esm/theme/buildin-theme/light/series/rose.js.map +1 -1
  703. package/esm/theme/buildin-theme/light/series/sankey.js +0 -1
  704. package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -1
  705. package/esm/typings/spec/common.d.ts +10 -4
  706. package/esm/typings/spec/common.js.map +1 -1
  707. package/esm/typings/tooltip/label.d.ts +10 -0
  708. package/esm/typings/tooltip/label.js +2 -0
  709. package/esm/typings/tooltip/label.js.map +1 -0
  710. package/esm/typings/tooltip/line.d.ts +3 -2
  711. package/esm/typings/tooltip/line.js.map +1 -1
  712. package/esm/typings/tooltip/shape.d.ts +2 -0
  713. package/esm/typings/tooltip/shape.js.map +1 -1
  714. package/esm/typings/visual.d.ts +11 -21
  715. package/esm/typings/visual.js.map +1 -1
  716. package/esm/util/data.d.ts +0 -8
  717. package/esm/util/data.js +1 -7
  718. package/esm/util/data.js.map +1 -1
  719. package/esm/util/object.d.ts +0 -2
  720. package/esm/util/object.js +0 -11
  721. package/esm/util/object.js.map +1 -1
  722. package/esm/util/scale.d.ts +2 -6
  723. package/esm/util/scale.js +1 -5
  724. package/esm/util/scale.js.map +1 -1
  725. package/esm/util/space.d.ts +3 -9
  726. package/esm/util/space.js +8 -26
  727. package/esm/util/space.js.map +1 -1
  728. package/esm/util/text.d.ts +1 -2
  729. package/esm/util/text.js +1 -9
  730. package/esm/util/text.js.map +1 -1
  731. package/esm/vchart-all.js +2 -2
  732. package/esm/vchart-all.js.map +1 -1
  733. package/esm/vchart-simple.js +18 -2
  734. package/esm/vchart-simple.js.map +1 -1
  735. package/package.json +21 -14
  736. package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  737. package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
  738. package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
  739. package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
  740. package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
  741. package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/data.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CACzB,YAGG,EACH,WAGG;IAKH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE;YACZ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClF;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAGG,EACH,QAAgB;IAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,KAAa;;IAC7D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAClB,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,OAAO,MAAA,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,mCAAI,KAAK,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,GAAW;IAC5D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAiC,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,CAAC","file":"data.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\nimport type { IFieldsMeta } from '../typings/spec/common';\n\nexport function mergeFields(\n targetFields: {\n key: string;\n operations: StatisticOperations;\n }[],\n mergeFields: {\n key: string;\n operations: StatisticOperations;\n }[]\n): {\n key: string;\n operations: StatisticOperations;\n}[] {\n for (let i = 0; i < mergeFields.length; i++) {\n const element = mergeFields[i];\n const _target = findFields(targetFields, element.key);\n if (!_target) {\n targetFields.push(element);\n } else {\n _target.operations = [...new Set(_target.operations.concat(element.operations))];\n }\n }\n return targetFields;\n}\n\nexport function findFields(\n list: {\n key: string;\n operations: StatisticOperations;\n }[],\n fieldKey: string\n) {\n return list.find(i => i.key === fieldKey);\n}\n\n// 如果不存在别名就返回 field\nexport function getFieldAlias(dataView: DataView, field: string) {\n if (!dataView) {\n return field ?? null;\n }\n const fields = dataView.getFields();\n if (!fields) {\n return field ?? null;\n }\n if (!fields[field]) {\n return field ?? null;\n }\n return fields[field].alias ?? field;\n}\n\nexport function getFieldFormat(dataView: DataView, key: string) {\n if (!dataView) {\n return null;\n }\n const fields = dataView.getFields() as Record<string, IFieldsMeta>;\n if (!fields) {\n return null;\n }\n if (!fields[key]) {\n return null;\n }\n // @ts-ignore\n return fields[key].format;\n}\n"]}
1
+ {"version":3,"sources":["../src/util/data.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CACzB,YAGG,EACH,WAGG;IAKH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE;YACZ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClF;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CACjB,IAGG,EACH,QAAgB;IAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,KAAa;;IAC7D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAClB,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;KACtB;IACD,OAAO,MAAA,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,mCAAI,KAAK,CAAC;AACtC,CAAC","file":"data.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\nimport type { IFieldsMeta } from '../typings/spec/common';\n\nexport function mergeFields(\n targetFields: {\n key: string;\n operations: StatisticOperations;\n }[],\n mergeFields: {\n key: string;\n operations: StatisticOperations;\n }[]\n): {\n key: string;\n operations: StatisticOperations;\n}[] {\n for (let i = 0; i < mergeFields.length; i++) {\n const element = mergeFields[i];\n const _target = findFields(targetFields, element.key);\n if (!_target) {\n targetFields.push(element);\n } else {\n _target.operations = [...new Set(_target.operations.concat(element.operations))];\n }\n }\n return targetFields;\n}\n\nfunction findFields(\n list: {\n key: string;\n operations: StatisticOperations;\n }[],\n fieldKey: string\n) {\n return list.find(i => i.key === fieldKey);\n}\n\n// 如果不存在别名就返回 field\nexport function getFieldAlias(dataView: DataView, field: string) {\n if (!dataView) {\n return field ?? null;\n }\n const fields = dataView.getFields();\n if (!fields) {\n return field ?? null;\n }\n if (!fields[field]) {\n return field ?? null;\n }\n return fields[field].alias ?? field;\n}\n"]}
@@ -1,5 +1,3 @@
1
1
  import { get, pick, merge, cloneDeep } from '@visactor/vutils';
2
2
  export { get, pick, merge, cloneDeep };
3
- export declare function removeEmpty<T extends object>(obj: T): Partial<T>;
4
- export declare function sortByKey<T extends object>(object: T, includeKeys?: string[], excludeKeys?: string[]): Partial<T>;
5
3
  export declare function field(f: string | string[]): (datum: any) => any;
@@ -2,17 +2,6 @@ import { get, pick, merge, cloneDeep, isArray } from "@visactor/vutils";
2
2
 
3
3
  export { get, pick, merge, cloneDeep };
4
4
 
5
- export function removeEmpty(obj) {
6
- return Object.keys(obj).forEach((key => {
7
- obj[key] && "object" == typeof obj[key] ? removeEmpty(obj[key]) : void 0 === obj[key] && delete obj[key];
8
- })), obj;
9
- }
10
-
11
- export function sortByKey(object, includeKeys, excludeKeys) {
12
- return Object.keys(object).sort().reduce(((obj, key) => (includeKeys ? includeKeys.includes(key) && (obj[key] = object[key]) : excludeKeys && !excludeKeys.includes(key) && (obj[key] = object[key]),
13
- obj)), {});
14
- }
15
-
16
5
  export function field(f) {
17
6
  return function(datum) {
18
7
  let value;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAmB,GAAM;IAClD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC7B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;YAC5C,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAmB,MAAS,EAAE,WAAsB,EAAE,WAAsB;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnB,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;aAAM,IAAI,WAAW,EAAE;YACtB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACxD;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAO,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAoB;IACxC,OAAO,UAAU,KAAU;QACzB,IAAI,KAAU,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;SACpB;aAAM;YACL,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC/C;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC","file":"object.js","sourcesContent":["import { get, pick, merge, cloneDeep, isArray } from '@visactor/vutils';\n\nexport { get, pick, merge, cloneDeep };\n\nexport function removeEmpty<T extends object>(obj: T): Partial<T> {\n Object.keys(obj).forEach(key => {\n if (obj[key] && typeof obj[key] === 'object') {\n removeEmpty(obj[key]);\n } else if (obj[key] === undefined) {\n delete obj[key];\n }\n });\n return obj;\n}\n\nexport function sortByKey<T extends object>(object: T, includeKeys?: string[], excludeKeys?: string[]): Partial<T> {\n return Object.keys(object)\n .sort()\n .reduce((obj, key) => {\n if (includeKeys) {\n includeKeys.includes(key) && (obj[key] = object[key]);\n } else if (excludeKeys) {\n !excludeKeys.includes(key) && (obj[key] = object[key]);\n }\n return obj;\n }, {} as T);\n}\n\nexport function field(f: string | string[]) {\n return function (datum: any) {\n let value: any;\n if (!isArray(f)) {\n value = datum?.[f];\n } else {\n value = f.reduce((cur, g) => cur?.[g], datum);\n }\n return value;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/util/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAEvC,MAAM,UAAU,KAAK,CAAC,CAAoB;IACxC,OAAO,UAAU,KAAU;QACzB,IAAI,KAAU,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;SACpB;aAAM;YACL,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC/C;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC","file":"object.js","sourcesContent":["import { get, pick, merge, cloneDeep, isArray } from '@visactor/vutils';\n\nexport { get, pick, merge, cloneDeep };\n\nexport function field(f: string | string[]) {\n return function (datum: any) {\n let value: any;\n if (!isArray(f)) {\n value = datum?.[f];\n } else {\n value = f.reduce((cur, g) => cur?.[g], datum);\n }\n return value;\n };\n}\n"]}
@@ -1,9 +1,7 @@
1
1
  import type { DataView } from '@visactor/vdataset';
2
2
  import type { IGlobalScale } from '../scale/interface';
3
- import { BandScale, LinearScale, OrdinalScale, PointScale, ThresholdScale } from '@visactor/vscale';
4
- import type { IBaseScale } from '@visactor/vscale';
5
- import type { ScaleType } from '../typings/scale';
6
- import type { IVisual, IVisualSpecBase } from '../typings/visual';
3
+ import { type IBaseScale, BandScale, LinearScale, OrdinalScale, PointScale, ThresholdScale } from '@visactor/vscale';
4
+ import type { IVisual } from '../typings/visual';
7
5
  import { ColorOrdinalScale } from '../scale/color-ordinal-scale';
8
6
  declare const defaultScaleMap: {
9
7
  linear: typeof LinearScale;
@@ -18,8 +16,6 @@ export declare function createScaleWithSpec(spec: IVisual<any>, context: {
18
16
  globalScale: IGlobalScale;
19
17
  dataStatistics: DataView;
20
18
  }): IBaseScale | null;
21
- export declare function initScaleWithSpec(scale: IBaseScale, spec: IVisualSpecBase<any, any>): void;
22
- export declare function isValidScaleType(type: ScaleType): boolean;
23
19
  export declare function valueInScaleRange(v: number, s?: IBaseScale): number;
24
20
  export declare function isSpecValueWithScale(specValue: any): boolean;
25
21
  export {};
package/esm/util/scale.js CHANGED
@@ -24,15 +24,11 @@ export function createScaleWithSpec(spec, context) {
24
24
  return scale && initScaleWithSpec(scale, spec), scale;
25
25
  }
26
26
 
27
- export function initScaleWithSpec(scale, spec) {
27
+ function initScaleWithSpec(scale, spec) {
28
28
  scale && spec && (spec.domain && scale.domain(spec.domain), spec.range && scale.range(spec.range),
29
29
  spec.specified && scale.specified && scale.specified(spec.specified));
30
30
  }
31
31
 
32
- export function isValidScaleType(type) {
33
- return Object.keys(defaultScaleMap).includes(type);
34
- }
35
-
36
32
  export function valueInScaleRange(v, s) {
37
33
  if (!s) return v;
38
34
  const range = s.range(), min = Math.min(range[0], range[range.length - 1]), max = Math.max(range[0], range[range.length - 1]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/scale.ts"],"names":[],"mappings":"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","file":"scale.js","sourcesContent":["/**\n * @description Scale 相关的工具函数\n */\nimport { isString, isValid } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IGlobalScale } from '../scale/interface';\nimport { BandScale, LinearScale, OrdinalScale, PointScale, ThresholdScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { ScaleType } from '../typings/scale';\nimport type { IVisual, IVisualSpecBase } from '../typings/visual';\nimport { ColorOrdinalScale } from '../scale/color-ordinal-scale';\n\nconst defaultScaleMap = {\n linear: LinearScale,\n band: BandScale,\n point: PointScale,\n ordinal: OrdinalScale,\n threshold: ThresholdScale,\n colorOrdinal: ColorOrdinalScale\n};\n\nexport function createScale(type: keyof typeof defaultScaleMap): IBaseScale | null {\n const scaleConstructor = defaultScaleMap[type];\n if (scaleConstructor) {\n return new scaleConstructor();\n }\n\n return null;\n}\n\nexport function createScaleWithSpec(\n spec: IVisual<any>,\n context: {\n globalScale: IGlobalScale;\n dataStatistics: DataView;\n }\n): IBaseScale | null {\n if ('scale' in spec && spec.scale) {\n if (isString(spec.scale) && context?.globalScale) {\n return context.globalScale.registerMarkAttributeScale(spec, context.dataStatistics);\n }\n return spec.scale as unknown as IBaseScale;\n }\n const scale = createScale((spec as IVisualSpecBase<any, any>).type);\n if (scale) {\n initScaleWithSpec(scale, spec as IVisualSpecBase<any, any>);\n }\n return scale;\n}\n\n// 需要一个通用的从spec初始化scale的方法,避免在scale属性更新后需要维护多组逻辑\nexport function initScaleWithSpec(scale: IBaseScale, spec: IVisualSpecBase<any, any>) {\n if (!scale || !spec) {\n return;\n }\n\n if (spec.domain) {\n scale.domain(spec.domain);\n }\n\n if (spec.range) {\n scale.range(spec.range);\n }\n\n if (spec.specified && (<OrdinalScale>scale).specified) {\n (<OrdinalScale>scale).specified(spec.specified);\n }\n}\n\nexport function isValidScaleType(type: ScaleType): boolean {\n return Object.keys(defaultScaleMap).includes(type);\n}\n\nexport function valueInScaleRange(v: number, s?: IBaseScale) {\n if (!s) {\n return v;\n }\n const range = s.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const max = Math.max(range[0], range[range.length - 1]);\n return Math.min(Math.max(min, v), max);\n}\n\nexport function isSpecValueWithScale(specValue: any) {\n return isValid(specValue?.field) && isValid(specValue?.scale);\n}\n"]}
1
+ {"version":3,"sources":["../src/util/scale.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAmB,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,iBAAiB;CAChC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAkC;IAC5D,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,gBAAgB,EAAE;QACpB,OAAO,IAAI,gBAAgB,EAAE,CAAC;KAC/B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,OAGC;IAED,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,EAAE;YAChD,OAAO,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SACrF;QACD,OAAO,IAAI,CAAC,KAA8B,CAAC;KAC5C;IACD,MAAM,KAAK,GAAG,WAAW,CAAE,IAAkC,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,KAAK,EAAE;QACT,iBAAiB,CAAC,KAAK,EAAE,IAAiC,CAAC,CAAC;KAC7D;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,SAAS,iBAAiB,CAAC,KAAiB,EAAE,IAA+B;IAC3E,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;QACnB,OAAO;KACR;IAED,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC3B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;IAED,IAAI,IAAI,CAAC,SAAS,IAAmB,KAAM,CAAC,SAAS,EAAE;QACtC,KAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACjD;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,CAAc;IACzD,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,CAAC,CAAC;KACV;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAc;IACjD,OAAO,OAAO,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,CAAC;AAChE,CAAC","file":"scale.js","sourcesContent":["/**\n * @description Scale 相关的工具函数\n */\nimport { isString, isValid } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IGlobalScale } from '../scale/interface';\nimport { type IBaseScale, BandScale, LinearScale, OrdinalScale, PointScale, ThresholdScale } from '@visactor/vscale';\nimport type { IVisual, IVisualSpecBase } from '../typings/visual';\nimport { ColorOrdinalScale } from '../scale/color-ordinal-scale';\n\nconst defaultScaleMap = {\n linear: LinearScale,\n band: BandScale,\n point: PointScale,\n ordinal: OrdinalScale,\n threshold: ThresholdScale,\n colorOrdinal: ColorOrdinalScale\n};\n\nexport function createScale(type: keyof typeof defaultScaleMap): IBaseScale | null {\n const scaleConstructor = defaultScaleMap[type];\n if (scaleConstructor) {\n return new scaleConstructor();\n }\n\n return null;\n}\n\nexport function createScaleWithSpec(\n spec: IVisual<any>,\n context: {\n globalScale: IGlobalScale;\n dataStatistics: DataView;\n }\n): IBaseScale | null {\n if ('scale' in spec && spec.scale) {\n if (isString(spec.scale) && context?.globalScale) {\n return context.globalScale.registerMarkAttributeScale(spec, context.dataStatistics);\n }\n return spec.scale as unknown as IBaseScale;\n }\n const scale = createScale((spec as IVisualSpecBase<any, any>).type);\n if (scale) {\n initScaleWithSpec(scale, spec as IVisualSpecBase<any, any>);\n }\n return scale;\n}\n\n// 需要一个通用的从spec初始化scale的方法,避免在scale属性更新后需要维护多组逻辑\nfunction initScaleWithSpec(scale: IBaseScale, spec: IVisualSpecBase<any, any>) {\n if (!scale || !spec) {\n return;\n }\n\n if (spec.domain) {\n scale.domain(spec.domain);\n }\n\n if (spec.range) {\n scale.range(spec.range);\n }\n\n if (spec.specified && (<OrdinalScale>scale).specified) {\n (<OrdinalScale>scale).specified(spec.specified);\n }\n}\n\nexport function valueInScaleRange(v: number, s?: IBaseScale) {\n if (!s) {\n return v;\n }\n const range = s.range();\n const min = Math.min(range[0], range[range.length - 1]);\n const max = Math.max(range[0], range[range.length - 1]);\n return Math.min(Math.max(min, v), max);\n}\n\nexport function isSpecValueWithScale(specValue: any) {\n return isValid(specValue?.field) && isValid(specValue?.scale);\n}\n"]}
@@ -1,19 +1,13 @@
1
- import type { ILayoutPaddingSpec } from '../model/interface';
2
- import type { IBoundsLike } from '@visactor/vutils';
3
- import type { ILayoutNumber, IPercent, ILayoutOrientPadding, ILayoutRect } from '../model/interface';
1
+ import { type IBoundsLike } from '@visactor/vutils';
2
+ import type { ILayoutPaddingSpec, IPercentOffset, ILayoutNumber, IPercent, ILayoutOrientPadding, ILayoutRect } from '../model/interface';
4
3
  import type { IPadding, IRect } from '../typings/space';
5
- import { Direction } from '../typings/space';
6
4
  import type { IPoint } from '../typings/coordinate';
7
5
  export declare function isValidOrient(orient: string): boolean;
8
- export declare function getSpecPadding(padding: IPadding | number | undefined | null, defaultPadding: IPadding): IPadding;
9
6
  export declare function isPointInRect(point: IPoint, rect: IRect): boolean;
10
7
  export declare function isPercent(v: any): v is IPercent;
8
+ export declare function isPercentOffset(v: any): v is IPercentOffset;
11
9
  export declare function calcLayoutNumber(v: ILayoutNumber | undefined, size: number, callOp?: ILayoutRect): number;
12
10
  export declare function calcPadding(paddingSpec: ILayoutOrientPadding, rect: ILayoutRect, callOp: ILayoutRect): IPadding;
13
11
  export declare function boundsInRect(bounds: IBoundsLike, rect: ILayoutRect): ILayoutRect;
14
- export declare function boundsOutViewBox(bounds: IBoundsLike, box: IBoundsLike, direction: Direction): {
15
- start: number;
16
- end: number;
17
- };
18
12
  export declare function normalizeLayoutPaddingSpec(spec: ILayoutPaddingSpec): ILayoutOrientPadding;
19
13
  export declare function convertPoint(point: IPoint, relativePoint: IPoint, convert: boolean): IPoint;
package/esm/util/space.js CHANGED
@@ -2,8 +2,6 @@ import { isArray } from "@visactor/vutils";
2
2
 
3
3
  import { isNumber, isNil, isString, isFunction, couldBeValidNumber, isObject } from "./type";
4
4
 
5
- import { Direction } from "../typings/space";
6
-
7
5
  export function isValidOrient(orient) {
8
6
  switch (orient) {
9
7
  case "left":
@@ -17,15 +15,6 @@ export function isValidOrient(orient) {
17
15
  }
18
16
  }
19
17
 
20
- export function getSpecPadding(padding, defaultPadding) {
21
- return isNil(padding) ? Object.assign({}, defaultPadding) : "number" == typeof padding ? {
22
- top: padding,
23
- bottom: padding,
24
- left: padding,
25
- right: padding
26
- } : Object.assign(Object.assign({}, defaultPadding), padding);
27
- }
28
-
29
18
  export function isPointInRect(point, rect) {
30
19
  const {x: x, y: y, width: width, height: height} = rect, {x: x0, y: y0} = point;
31
20
  return x0 < x + width && y0 < y + height && y0 > y && x0 > x;
@@ -35,8 +24,13 @@ export function isPercent(v) {
35
24
  return !!isString(v) && (!!v.endsWith("%") && couldBeValidNumber(v.substring(0, v.length - 1)));
36
25
  }
37
26
 
27
+ export function isPercentOffset(v) {
28
+ return !!isObject(v) && ("percent" in v || "offset" in v);
29
+ }
30
+
38
31
  export function calcLayoutNumber(v, size, callOp) {
39
- return isNumber(v) ? v : isPercent(v) ? Number(v.substring(0, v.length - 1)) * size / 100 : isFunction(v) ? v(callOp) : 0;
32
+ var _a, _b;
33
+ return isNumber(v) ? v : isPercent(v) ? Number(v.substring(0, v.length - 1)) * size / 100 : isFunction(v) ? v(callOp) : isObject(v) ? size * (null !== (_a = v.percent) && void 0 !== _a ? _a : 0) + (null !== (_b = v.offset) && void 0 !== _b ? _b : 0) : 0;
40
34
  }
41
35
 
42
36
  export function calcPadding(paddingSpec, rect, callOp) {
@@ -73,24 +67,12 @@ export function boundsInRect(bounds, rect) {
73
67
  };
74
68
  }
75
69
 
76
- export function boundsOutViewBox(bounds, box, direction) {
77
- if (!bounds || !box) return {
78
- start: 0,
79
- end: 0
80
- };
81
- const start = -(direction === Direction.horizontal ? bounds.x1 : bounds.y1), end = direction === Direction.horizontal ? bounds.x2 - (box.x2 - box.x1) : bounds.y2 - (box.y2 - box.y1);
82
- return {
83
- start: start > 0 ? start : 0,
84
- end: end > 0 ? end : 0
85
- };
86
- }
87
-
88
70
  export function normalizeLayoutPaddingSpec(spec) {
89
71
  let result = {};
90
72
  return isArray(spec) ? (isNil(spec[0]) || (result.top = result.left = result.bottom = result.right = spec[0]),
91
73
  isNil(spec[1]) || (result.left = result.right = spec[1]), isNil(spec[2]) || (result.bottom = spec[2]),
92
- isNil(spec[3]) || (result.left = spec[3]), result) : isNumber(spec) || isPercent(spec) || isFunction(spec) ? (result.top = result.left = result.bottom = result.right = spec,
93
- result) : (isObject(spec) && (result = Object.assign({}, spec)), result);
74
+ isNil(spec[3]) || (result.left = spec[3]), result) : isNumber(spec) || isPercent(spec) || isFunction(spec) || isPercentOffset(spec) ? (result.top = result.left = result.bottom = result.right = spec,
75
+ result) : isObject(spec) ? (result = Object.assign({}, spec), result) : result;
94
76
  }
95
77
 
96
78
  export function convertPoint(point, relativePoint, convert) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/space.ts"],"names":[],"mappings":"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","file":"space.js","sourcesContent":["import type { ILayoutPaddingSpec } from '../model/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { isArray } from '@visactor/vutils';\nimport { isNumber, isNil, isString, isFunction, couldBeValidNumber, isObject } from './type';\nimport type { ILayoutNumber, IPercent, ILayoutOrientPadding, ILayoutRect } from '../model/interface';\nimport type { IPadding, IRect } from '../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../typings/space';\nimport type { IPoint } from '../typings/coordinate';\n\nexport function isValidOrient(orient: string): boolean {\n switch (orient) {\n case 'left':\n case 'right':\n case 'top':\n case 'bottom':\n return true;\n default:\n return false;\n }\n}\n\nexport function getSpecPadding(padding: IPadding | number | undefined | null, defaultPadding: IPadding): IPadding {\n if (isNil(padding)) {\n return { ...defaultPadding };\n }\n if (typeof padding === 'number') {\n return {\n top: padding,\n bottom: padding,\n left: padding,\n right: padding\n };\n }\n return {\n ...defaultPadding,\n ...padding\n };\n}\n\nexport function isPointInRect(point: IPoint, rect: IRect) {\n const { x, y, width, height } = rect;\n const { x: x0, y: y0 } = point;\n return x0 < x + width && y0 < y + height && y0 > y && x0 > x;\n}\n\nexport function isPercent(v: any): v is IPercent {\n if (!isString(v)) {\n return false;\n }\n if (!v.endsWith('%')) {\n return false;\n }\n return couldBeValidNumber(v.substring(0, v.length - 1));\n}\n\nexport function calcLayoutNumber(\n v: ILayoutNumber | undefined,\n size: number,\n callOp?: ILayoutRect //如果是函数类型的话,函数的参数\n) {\n if (isNumber(v)) {\n return v;\n }\n if (isPercent(v)) {\n return (Number(v.substring(0, v.length - 1)) * size) / 100;\n }\n if (isFunction(v)) {\n return v(callOp);\n }\n return 0;\n}\n\nexport function calcPadding(\n paddingSpec: ILayoutOrientPadding,\n rect: ILayoutRect,\n callOp: ILayoutRect //如果是函数类型的话,函数的参数\n): IPadding {\n const result: IPadding = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n if (Object.values(paddingSpec).every(value => isNumber(value))) {\n result.top = (<IPadding>paddingSpec).top ?? 0;\n result.right = (<IPadding>paddingSpec).right ?? 0;\n result.bottom = (<IPadding>paddingSpec).bottom ?? 0;\n result.left = (<IPadding>paddingSpec).left ?? 0;\n return result;\n }\n const paddings = [\n {\n orients: ['left', 'right'],\n size: rect.width\n },\n {\n orients: ['top', 'bottom'],\n size: rect.height\n }\n ];\n paddings.forEach(p => {\n p.orients.forEach(o => {\n result[o] = calcLayoutNumber(paddingSpec[o], p.size, callOp);\n });\n });\n return result;\n}\n\nexport function boundsInRect(bounds: IBoundsLike, rect: ILayoutRect): ILayoutRect {\n if (!bounds) {\n return { width: 0, height: 0 };\n }\n return {\n width: Math.ceil(Math.min(bounds.x2 - bounds.x1, rect.width)),\n height: Math.ceil(Math.min(bounds.y2 - bounds.y1, rect.height))\n };\n}\n\nexport function boundsOutViewBox(\n bounds: IBoundsLike,\n box: IBoundsLike,\n direction: Direction\n): {\n start: number;\n end: number;\n} {\n if (!bounds || !box) {\n return { start: 0, end: 0 };\n }\n const start = -(direction === Direction.horizontal ? bounds.x1 : bounds.y1);\n const end = direction === Direction.horizontal ? bounds.x2 - (box.x2 - box.x1) : bounds.y2 - (box.y2 - box.y1);\n return { start: start > 0 ? start : 0, end: end > 0 ? end : 0 };\n}\n\nexport function normalizeLayoutPaddingSpec(spec: ILayoutPaddingSpec): ILayoutOrientPadding {\n let result: ILayoutOrientPadding = {};\n if (isArray(spec)) {\n if (!isNil(spec[0])) {\n result.top = result.left = result.bottom = result.right = spec[0];\n }\n if (!isNil(spec[1])) {\n result.left = result.right = spec[1];\n }\n if (!isNil(spec[2])) {\n result.bottom = spec[2];\n }\n if (!isNil(spec[3])) {\n result.left = spec[3];\n }\n return result;\n }\n if (isNumber(spec) || isPercent(spec) || isFunction(spec)) {\n result.top = result.left = result.bottom = result.right = spec;\n return result;\n }\n if (isObject(spec)) {\n result = { ...spec };\n }\n return result;\n}\n\nexport function convertPoint(point: IPoint, relativePoint: IPoint, convert: boolean) {\n if (convert) {\n return {\n x: point.x + relativePoint.x,\n y: point.y + relativePoint.y\n };\n }\n return point;\n}\n"]}
1
+ {"version":3,"sources":["../src/util/space.ts"],"names":[],"mappings":"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","file":"space.js","sourcesContent":["import { isArray, type IBoundsLike } from '@visactor/vutils';\nimport { isNumber, isNil, isString, isFunction, couldBeValidNumber, isObject } from './type';\nimport type {\n ILayoutPaddingSpec,\n IPercentOffset,\n ILayoutNumber,\n IPercent,\n ILayoutOrientPadding,\n ILayoutRect\n} from '../model/interface';\nimport type { IPadding, IRect } from '../typings/space';\nimport type { IPoint } from '../typings/coordinate';\n\nexport function isValidOrient(orient: string): boolean {\n switch (orient) {\n case 'left':\n case 'right':\n case 'top':\n case 'bottom':\n return true;\n default:\n return false;\n }\n}\n\nexport function isPointInRect(point: IPoint, rect: IRect) {\n const { x, y, width, height } = rect;\n const { x: x0, y: y0 } = point;\n return x0 < x + width && y0 < y + height && y0 > y && x0 > x;\n}\n\nexport function isPercent(v: any): v is IPercent {\n if (!isString(v)) {\n return false;\n }\n if (!v.endsWith('%')) {\n return false;\n }\n return couldBeValidNumber(v.substring(0, v.length - 1));\n}\n\nexport function isPercentOffset(v: any): v is IPercentOffset {\n if (!isObject(v)) {\n return false;\n }\n if ('percent' in v || 'offset' in v) {\n return true;\n }\n return false;\n}\n\nexport function calcLayoutNumber(\n v: ILayoutNumber | undefined,\n size: number,\n callOp?: ILayoutRect //如果是函数类型的话,函数的参数\n) {\n if (isNumber(v)) {\n return v;\n }\n if (isPercent(v)) {\n return (Number(v.substring(0, v.length - 1)) * size) / 100;\n }\n if (isFunction(v)) {\n return v(callOp);\n }\n if (isObject(v)) {\n return size * (v.percent ?? 0) + (v.offset ?? 0);\n }\n return 0;\n}\n\nexport function calcPadding(\n paddingSpec: ILayoutOrientPadding,\n rect: ILayoutRect,\n callOp: ILayoutRect //如果是函数类型的话,函数的参数\n): IPadding {\n const result: IPadding = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n if (Object.values(paddingSpec).every(value => isNumber(value))) {\n result.top = (<IPadding>paddingSpec).top ?? 0;\n result.right = (<IPadding>paddingSpec).right ?? 0;\n result.bottom = (<IPadding>paddingSpec).bottom ?? 0;\n result.left = (<IPadding>paddingSpec).left ?? 0;\n return result;\n }\n const paddings = [\n {\n orients: ['left', 'right'],\n size: rect.width\n },\n {\n orients: ['top', 'bottom'],\n size: rect.height\n }\n ];\n paddings.forEach(p => {\n p.orients.forEach(o => {\n result[o] = calcLayoutNumber(paddingSpec[o], p.size, callOp);\n });\n });\n return result;\n}\n\nexport function boundsInRect(bounds: IBoundsLike, rect: ILayoutRect): ILayoutRect {\n if (!bounds) {\n return { width: 0, height: 0 };\n }\n return {\n width: Math.ceil(Math.min(bounds.x2 - bounds.x1, rect.width)),\n height: Math.ceil(Math.min(bounds.y2 - bounds.y1, rect.height))\n };\n}\n\nexport function normalizeLayoutPaddingSpec(spec: ILayoutPaddingSpec): ILayoutOrientPadding {\n let result: ILayoutOrientPadding = {};\n if (isArray(spec)) {\n if (!isNil(spec[0])) {\n result.top = result.left = result.bottom = result.right = spec[0];\n }\n if (!isNil(spec[1])) {\n result.left = result.right = spec[1];\n }\n if (!isNil(spec[2])) {\n result.bottom = spec[2];\n }\n if (!isNil(spec[3])) {\n result.left = spec[3];\n }\n return result;\n }\n if (isNumber(spec) || isPercent(spec) || isFunction(spec) || isPercentOffset(spec)) {\n result.top = result.left = result.bottom = result.right = spec;\n return result;\n }\n if (isObject(spec)) {\n result = { ...spec };\n return result;\n }\n return result;\n}\n\nexport function convertPoint(point: IPoint, relativePoint: IPoint, convert: boolean) {\n if (convert) {\n return {\n x: point.x + relativePoint.x,\n y: point.y + relativePoint.y\n };\n }\n return point;\n}\n"]}
@@ -1,9 +1,8 @@
1
1
  import type { ITextMeasureOption } from '@visactor/vutils';
2
- import { TextMeasure, TestTextMeasure } from '@visactor/vutils';
2
+ import { TextMeasure } from '@visactor/vutils';
3
3
  import type { IRichTextAttribute } from '@visactor/vrender';
4
4
  import type { ITextMarkSpec } from '../typings';
5
5
  export declare const initTextMeasure: (textSpec?: Partial<ITextMarkSpec>, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean) => TextMeasure<ITextMarkSpec>;
6
- export declare const testTextMeasure: (textSpec?: Partial<ITextMarkSpec>, useVRender?: boolean) => TestTextMeasure<any>;
7
6
  type IRichTextBoundsParams = Partial<IRichTextAttribute>;
8
7
  export declare function getRichTextBounds(params: IRichTextBoundsParams): import("@visactor/vutils").IBounds;
9
8
  export {};
package/esm/util/text.js CHANGED
@@ -1,4 +1,4 @@
1
- import { TextMeasure, TestTextMeasure } from "@visactor/vutils";
1
+ import { TextMeasure } from "@visactor/vutils";
2
2
 
3
3
  import { createRichText, getTextBounds } from "@visactor/vrender";
4
4
 
@@ -13,14 +13,6 @@ export const initTextMeasure = (textSpec, option, useNaiveCanvas) => new TextMea
13
13
  specialCharSet: "-/: .,@%'\"~" + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase()
14
14
  }, null != option ? option : {}), textSpec);
15
15
 
16
- export const testTextMeasure = (textSpec, useVRender) => new TestTextMeasure({
17
- defaultFontParams: {
18
- fontFamily: DEFAULT_TEXT_FONT_FAMILY,
19
- fontSize: DEFAULT_TEXT_FONT_SIZE
20
- },
21
- getTextBounds: useVRender ? getTextBounds : void 0
22
- }, textSpec);
23
-
24
16
  const richText = createRichText({});
25
17
 
26
18
  export function getRichTextBounds(params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAiC,EACjC,MAAoC,EACpC,cAAwB,EACI,EAAE;IAC9B,OAAO,IAAI,WAAW,iBAElB,iBAAiB,EAAE;YACjB,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,sBAAsB;SACjC,EACD,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EACzD,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE,IACzG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAEnB,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAiC,EAAE,UAAoB,EAAwB,EAAE;IAC/G,OAAO,IAAI,eAAe,CACxB;QACE,iBAAiB,EAAE;YACjB,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,sBAAsB;SACjC;QACD,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KACtD,EACD,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,UAAU,iBAAiB,CAAC,MAA6B;IAC7D,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC","file":"text.js","sourcesContent":["import type { ITextMeasureOption } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { TextMeasure, TestTextMeasure } from '@visactor/vutils';\nimport type { IRichTextAttribute } from '@visactor/vrender';\n// eslint-disable-next-line no-duplicate-imports\nimport { createRichText, getTextBounds } from '@visactor/vrender';\nimport type { ITextMarkSpec } from '../typings';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from '../theme';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextMarkSpec>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextMarkSpec> => {\n return new TextMeasure<ITextMarkSpec>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\n/** 测试方法 */\nexport const testTextMeasure = (textSpec?: Partial<ITextMarkSpec>, useVRender?: boolean): TestTextMeasure<any> => {\n return new TestTextMeasure(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useVRender ? getTextBounds : undefined\n },\n textSpec\n );\n};\n\n/** 测量富文本 */\n// FIXME: 等 vrender 支持后删掉\ntype IRichTextBoundsParams = Partial<IRichTextAttribute>;\nconst richText = createRichText({});\nexport function getRichTextBounds(params: IRichTextBoundsParams) {\n richText.setAttributes(params);\n return richText.AABBBounds;\n}\n"]}
1
+ {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAiC,EACjC,MAAoC,EACpC,cAAwB,EACI,EAAE;IAC9B,OAAO,IAAI,WAAW,iBAElB,iBAAiB,EAAE;YACjB,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,sBAAsB;SACjC,EACD,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EACzD,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE,IACzG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAEnB,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,UAAU,iBAAiB,CAAC,MAA6B;IAC7D,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC","file":"text.js","sourcesContent":["import type { ITextMeasureOption } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { TextMeasure, TestTextMeasure } from '@visactor/vutils';\nimport type { IRichTextAttribute } from '@visactor/vrender';\n// eslint-disable-next-line no-duplicate-imports\nimport { createRichText, getTextBounds } from '@visactor/vrender';\nimport type { ITextMarkSpec } from '../typings';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from '../theme';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextMarkSpec>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextMarkSpec> => {\n return new TextMeasure<ITextMarkSpec>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\n/** 测量富文本 */\n// FIXME: 等 vrender 支持后删掉\ntype IRichTextBoundsParams = Partial<IRichTextAttribute>;\nconst richText = createRichText({});\nexport function getRichTextBounds(params: IRichTextBoundsParams) {\n richText.setAttributes(params);\n return richText.AABBBounds;\n}\n"]}
package/esm/vchart-all.js CHANGED
@@ -2,14 +2,14 @@ import { VChart, Factory } from "./core";
2
2
 
3
3
  import { AreaChart, LineChart, BarChart, Bar3dChart, ScatterChart, MapChart, PieChart, Pie3dChart, RoseChart, RadarChart, CommonChart, SequenceChart, HistogramChart, Histogram3dChart, CircularProgressChart, WordCloudChart, WordCloud3dChart, FunnelChart, Funnel3dChart, LinearProgressChart, RangeColumnChart, RangeColumn3dChart, SunburstChart, CirclePackingChart, TreeMapChart, WaterfallChart, BoxPlotChart, SankeyChart, GaugeChart, RangeAreaChart, HeatmapChart } from "./chart";
4
4
 
5
- import { CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, PolarBandAxis, CartesianLogAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Tooltip, CartesianCrossHair, PolarCrossHair, DataZoom, ScrollBar, Indicator, GeoCoordinate, MarkLine, Title, MarkArea, Player, Label, MarkPoint, Brush, CustomMark, MapLabelComponent } from "./component";
5
+ import { CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, PolarBandAxis, CartesianLogAxis, CartesianSymlogAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Tooltip, CartesianCrossHair, PolarCrossHair, DataZoom, ScrollBar, Indicator, GeoCoordinate, MarkLine, Title, MarkArea, Player, Label, MarkPoint, Brush, CustomMark, MapLabelComponent, TotalLabel } from "./component";
6
6
 
7
7
  import { GridLayout, Layout3d } from "./layout";
8
8
 
9
9
  import { loadPoptip } from "@visactor/vrender-components";
10
10
 
11
11
  loadPoptip({}), VChart.useChart([ AreaChart, LineChart, BarChart, Bar3dChart, ScatterChart, MapChart, PieChart, Pie3dChart, RoseChart, RadarChart, CommonChart, SequenceChart, HistogramChart, Histogram3dChart, CircularProgressChart, WordCloudChart, WordCloud3dChart, FunnelChart, Funnel3dChart, LinearProgressChart, RangeColumnChart, RangeColumn3dChart, SunburstChart, CirclePackingChart, TreeMapChart, WaterfallChart, BoxPlotChart, SankeyChart, GaugeChart, RangeAreaChart, HeatmapChart ]),
12
- VChart.useComponent([ CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Tooltip, CartesianCrossHair, PolarCrossHair, DataZoom, ScrollBar, Indicator, GeoCoordinate, MarkLine, Title, MarkArea, Player, Label, MarkPoint, Brush, CustomMark, MapLabelComponent ]),
12
+ VChart.useComponent([ CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Tooltip, CartesianCrossHair, PolarCrossHair, DataZoom, ScrollBar, Indicator, GeoCoordinate, MarkLine, Title, MarkArea, Player, TotalLabel, Label, MarkPoint, Brush, CustomMark, MapLabelComponent ]),
13
13
  Factory.registerLayout("grid", GridLayout), Factory.registerLayout("layout3d", Layout3d);
14
14
 
15
15
  export { VChart };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vchart-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,UAAU,CAAC,EAAE,CAAC,CAAC;AAGf,MAAM,CAAC,QAAQ,CAAC;IACd,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,UAAU;IACV,cAAc;IACd,YAAY;CACb,CAAC,CAAC;AAGH,MAAM,CAAC,YAAY,CAAC;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,SAAS;IACT,SAAS;IACT,aAAa;IACb,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,UAAU;IACV,iBAAiB;CAClB,CAAC,CAAC;AAGH,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAiB,CAAC,CAAC;AAClD,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAe,CAAC,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,CAAC","file":"vchart-all.js","sourcesContent":["import { VChart, Factory } from './core';\nimport {\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreeMapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n} from './chart';\n\nimport {\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n PolarBandAxis,\n CartesianLogAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent\n} from './component';\nimport { GridLayout, Layout3d } from './layout';\nimport { loadPoptip } from '@visactor/vrender-components';\n\n// 装载 poptip\nloadPoptip({});\n\n// charts\nVChart.useChart([\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreeMapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n]);\n\n// components\nVChart.useComponent([\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n PolarBandAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent\n]);\n\n// layout\nFactory.registerLayout('grid', GridLayout as any);\nFactory.registerLayout('layout3d', Layout3d as any);\n\nexport { VChart };\n"]}
1
+ {"version":3,"sources":["../src/vchart-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,UAAU,CAAC,EAAE,CAAC,CAAC;AAGf,MAAM,CAAC,QAAQ,CAAC;IACd,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,UAAU;IACV,cAAc;IACd,YAAY;CACb,CAAC,CAAC;AAGH,MAAM,CAAC,YAAY,CAAC;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,SAAS;IACT,SAAS;IACT,aAAa;IACb,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,MAAM;IACN,UAAU;IACV,KAAK;IACL,SAAS;IACT,KAAK;IACL,UAAU;IACV,iBAAiB;CAClB,CAAC,CAAC;AAGH,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAiB,CAAC,CAAC;AAClD,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAe,CAAC,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,CAAC","file":"vchart-all.js","sourcesContent":["import { VChart, Factory } from './core';\nimport {\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreeMapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n} from './chart';\n\nimport {\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n PolarBandAxis,\n CartesianLogAxis,\n CartesianSymlogAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent,\n TotalLabel\n} from './component';\nimport { GridLayout, Layout3d } from './layout';\nimport { loadPoptip } from '@visactor/vrender-components';\n\n// 装载 poptip\nloadPoptip({});\n\n// charts\nVChart.useChart([\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreeMapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n]);\n\n// components\nVChart.useComponent([\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n CartesianSymlogAxis,\n PolarBandAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n TotalLabel,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent\n]);\n\n// layout\nFactory.registerLayout('grid', GridLayout as any);\nFactory.registerLayout('layout3d', Layout3d as any);\n\nexport { VChart };\n"]}
@@ -1,8 +1,24 @@
1
+ import { Label } from "./component/label/label";
2
+
3
+ import { CartesianCrossHair } from "./component/crosshair/cartesian";
4
+
5
+ import { Tooltip } from "./component/tooltip/tooltip";
6
+
7
+ import { DiscreteLegend } from "./component/legend/discrete/legend";
8
+
9
+ import { CartesianTimeAxis } from "./component/axis/cartesian/time-axis";
10
+
11
+ import { CartesianBandAxis } from "./component/axis/cartesian/band-axis";
12
+
13
+ import { CartesianLinearAxis } from "./component/axis/cartesian/linear-axis";
14
+
1
15
  import { VChart } from "./core";
2
16
 
3
- import { LineChart, BarChart, PieChart } from "./chart";
17
+ import { LineChart } from "./chart/line";
18
+
19
+ import { PieChart } from "./chart/pie";
4
20
 
5
- import { CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, DiscreteLegend, Tooltip, CartesianCrossHair, Label } from "./component";
21
+ import { BarChart } from "./chart/bar";
6
22
 
7
23
  VChart.useChart([ LineChart, BarChart, PieChart ]), VChart.useComponent([ CartesianLinearAxis, CartesianBandAxis, CartesianTimeAxis, DiscreteLegend, Tooltip, CartesianCrossHair, Label ]);
8
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vchart-simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,KAAK,EACN,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjD,MAAM,CAAC,YAAY,CAAC;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,OAAO;IACP,kBAAkB;IAClB,KAAK;CACN,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC","file":"vchart-simple.js","sourcesContent":["/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { LineChart, BarChart, PieChart } from './chart';\nimport {\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n DiscreteLegend,\n Tooltip,\n CartesianCrossHair,\n Label\n} from './component';\n\n// charts\nVChart.useChart([LineChart, BarChart, PieChart]);\n\n// components\nVChart.useComponent([\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n DiscreteLegend,\n Tooltip,\n CartesianCrossHair,\n Label\n]);\n\nexport { VChart };\n"]}
1
+ {"version":3,"sources":["../src/vchart-simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAI7E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjD,MAAM,CAAC,YAAY,CAAC;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,OAAO;IACP,kBAAkB;IAClB,KAAK;CACN,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC","file":"vchart-simple.js","sourcesContent":["import { Label } from './component/label/label';\nimport { CartesianCrossHair } from './component/crosshair/cartesian';\nimport { Tooltip } from './component/tooltip/tooltip';\nimport { DiscreteLegend } from './component/legend/discrete/legend';\nimport { CartesianTimeAxis } from './component/axis/cartesian/time-axis';\nimport { CartesianBandAxis } from './component/axis/cartesian/band-axis';\nimport { CartesianLinearAxis } from './component/axis/cartesian/linear-axis';\n/**\n * @description 包含基础的折柱饼图,提供坐标轴、离散图例以及 tooltip、crosshair、label 组件\n */\nimport { VChart } from './core';\nimport { LineChart } from './chart/line';\nimport { PieChart } from './chart/pie';\nimport { BarChart } from './chart/bar';\n\n// charts\nVChart.useChart([LineChart, BarChart, PieChart]);\n\n// components\nVChart.useComponent([\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n DiscreteLegend,\n Tooltip,\n CartesianCrossHair,\n Label\n]);\n\nexport { VChart };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "1.2.3",
3
+ "version": "1.3.0-beta.10",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -65,28 +65,32 @@
65
65
  "@esbuild-plugins/node-globals-polyfill": "0.1.1",
66
66
  "@esbuild-plugins/node-modules-polyfill": "0.1.4",
67
67
  "rollup-plugin-node-polyfills": "0.2.1",
68
+ "rollup-plugin-visualizer": "5.9.2",
69
+ "rollup-plugin-gzip": "3.1.0",
70
+ "rollup-plugin-bundle-size": "1.0.3",
71
+ "rollup-plugin-sizes": "1.0.5",
68
72
  "rollup": "3.20.5",
69
73
  "node-fetch": "2.6.7",
70
74
  "form-data": "~4.0.0",
71
75
  "canvas": "2.11.2",
72
- "@internal/ts-config": "0.0.1",
73
76
  "@internal/typescript-json-schema": "0.0.1",
74
77
  "@internal/bundler": "0.0.1",
78
+ "@internal/ts-config": "0.0.1",
75
79
  "@internal/eslint-config": "0.0.1"
76
80
  },
77
81
  "dependencies": {
78
- "@visactor/vutils": "~0.13.3",
79
- "@visactor/vdataset": "~0.13.4",
80
- "@visactor/vscale": "~0.13.4",
81
- "@visactor/vgrammar": "~0.5.7",
82
- "@visactor/vgrammar-projection": "~0.5.7",
83
- "@visactor/vgrammar-wordcloud": "~0.5.7",
84
- "@visactor/vgrammar-wordcloud-shape": "~0.5.7",
85
- "@visactor/vgrammar-hierarchy": "~0.5.7",
86
- "@visactor/vgrammar-sankey": "~0.5.7",
87
- "@visactor/vgrammar-util": "~0.5.7",
88
- "@visactor/vrender": "~0.13.11",
89
- "@visactor/vrender-components": "~0.13.12"
82
+ "@visactor/vutils": "~0.15.7",
83
+ "@visactor/vdataset": "~0.15.7",
84
+ "@visactor/vscale": "~0.15.7",
85
+ "@visactor/vgrammar": "~0.6.3",
86
+ "@visactor/vgrammar-projection": "~0.6.3",
87
+ "@visactor/vgrammar-wordcloud": "~0.6.3",
88
+ "@visactor/vgrammar-wordcloud-shape": "~0.6.3",
89
+ "@visactor/vgrammar-hierarchy": "~0.6.3",
90
+ "@visactor/vgrammar-sankey": "~0.6.3",
91
+ "@visactor/vgrammar-util": "~0.6.3",
92
+ "@visactor/vrender": "~0.14.5",
93
+ "@visactor/vrender-components": "0.14.6-alpha.2"
90
94
  },
91
95
  "publishConfig": {
92
96
  "access": "public",
@@ -97,6 +101,9 @@
97
101
  "build:schema": "schema src/typings/spec/chart.ts ISpec --useTypeOfKeyword --ignoreErrors --required > ../vchart-schema/vchart.json",
98
102
  "build": "bundle --clean && npm run build:schema && npm run build:es5",
99
103
  "build:ci": "bundle --clean -f umd --minify=false --ignorePostTasks --name ChartSpace",
104
+ "analyze": "npm run analyze-full && npm run analyze-line && npm run analyze-simple",
105
+ "analyze-full": "BUNDLE_ANALYZE='full' bundle -f umd ",
106
+ "analyze-simple": "BUNDLE_ANALYZE='simple' bundle -f umd",
100
107
  "dev": "bundle --clean -f es -w",
101
108
  "compile": "tsc --noEmit",
102
109
  "start": "ts-node __tests__/runtime/browser/scripts/initVite.ts && vite serve __tests__/runtime/browser",
@@ -1,10 +0,0 @@
1
- import { BasicComponentPlugin } from './basic-plugin';
2
- import type { IComponentPlugin, IComponentPluginService } from './interface';
3
- import type { CartesianAxis } from '../../component/axis/cartesian';
4
- export declare class AxisLabelOverlapPlugin extends BasicComponentPlugin implements IComponentPlugin {
5
- Name: string;
6
- constructor();
7
- onDidLayoutVertical(service: IComponentPluginService, axis: CartesianAxis): void;
8
- onDidLayoutHorizontal(service: IComponentPluginService, axis: CartesianAxis): void;
9
- private _doOverlap;
10
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.AxisLabelOverlapPlugin = void 0;
6
-
7
- const vutils_1 = require("@visactor/vutils"), basic_plugin_1 = require("./basic-plugin"), common_1 = require("../../component/axis/cartesian/util/common"), util_1 = require("../../util");
8
-
9
- function labelFlush(axisLabels, axis) {
10
- const {width: width, height: height} = axis.getLayoutRect(), isX = (0, common_1.isXAxis)(axis.layoutOrient), isInverse = !0 === axis.getSpec().inverse, first = axisLabels[0], last = (0,
11
- util_1.peek)(axisLabels);
12
- if (isX) if (isInverse) {
13
- const start = width, end = 0, startBound = first.AABBBounds.x2, endBound = last.AABBBounds.x1;
14
- startBound > start && first.setAttributes({
15
- x: start,
16
- textAlign: "right"
17
- }), endBound < end && last.setAttributes({
18
- x: end,
19
- textAlign: "left"
20
- });
21
- } else {
22
- const start = 0, end = width, startBound = first.AABBBounds.x1, endBound = last.AABBBounds.x2;
23
- startBound < start && first.setAttributes({
24
- x: start,
25
- textAlign: "left"
26
- }), endBound > end && last.setAttributes({
27
- x: end,
28
- textAlign: "right"
29
- });
30
- } else if (isInverse) {
31
- const startBound = first.AABBBounds.y1, endBound = last.AABBBounds.y2, start = 0, end = height;
32
- startBound < start && first.setAttributes({
33
- y: start,
34
- textBaseline: "top"
35
- }), endBound > end && last.setAttributes({
36
- y: end,
37
- textBaseline: "bottom"
38
- });
39
- } else {
40
- const start = height, end = 0, startBound = first.AABBBounds.y2, endBound = last.AABBBounds.y1;
41
- startBound > start && first.setAttributes({
42
- y: start,
43
- textBaseline: "bottom"
44
- }), endBound < end && last.setAttributes({
45
- y: end,
46
- textBaseline: "top"
47
- });
48
- }
49
- }
50
-
51
- function overlap(axisLabels, axis) {
52
- var _a, _b;
53
- const spec = null === (_a = axis.getSpec) || void 0 === _a ? void 0 : _a.call(axis);
54
- (0, vutils_1.isEmpty)(axisLabels) || (null === (_b = null == spec ? void 0 : spec.label) || void 0 === _b ? void 0 : _b.flush) && labelFlush(axisLabels, axis);
55
- }
56
-
57
- class AxisLabelOverlapPlugin extends basic_plugin_1.BasicComponentPlugin {
58
- constructor() {
59
- super(AxisLabelOverlapPlugin.Name), this.Name = "AxisLabelOverlapPlugin";
60
- }
61
- onDidLayoutVertical(service, axis) {
62
- this._doOverlap(service, axis);
63
- }
64
- onDidLayoutHorizontal(service, axis) {
65
- this._doOverlap(service, axis);
66
- }
67
- _doOverlap(service, axis) {
68
- const axisComponent = axis.getSceneNodeMarks()[0].getGroupGraphicItem(), layer0LabelsContainer = axisComponent.find((node => "axis-label-container-layer-0" === node.name), !0), layer1LabelsContainer = axisComponent.find((node => "axis-label-container-layer-1" === node.name), !0);
69
- overlap(layer0LabelsContainer ? layer0LabelsContainer.getChildren() : [], service.component),
70
- overlap(layer1LabelsContainer ? layer1LabelsContainer.getChildren() : [], service.component);
71
- }
72
- }
73
-
74
- exports.AxisLabelOverlapPlugin = AxisLabelOverlapPlugin;
75
- //# sourceMappingURL=axis-label-overlap-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/plugin/components/axis-label-overlap-plugin.ts"],"names":[],"mappings":"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","file":"axis-label-overlap-plugin.js","sourcesContent":["import { isEmpty } from '@visactor/vutils';\nimport type { IText, IGroup, INode } from '@visactor/vrender';\nimport { BasicComponentPlugin } from './basic-plugin';\nimport type { IComponentPlugin, IComponentPluginService } from './interface';\nimport type { IComponent } from '../../component/interface';\nimport { isXAxis } from '../../component/axis/cartesian/util/common';\nimport { peek } from '../../util';\nimport type { CartesianAxis } from '../../component/axis/cartesian';\n\nfunction labelFlush(axisLabels: IText[], axis: IComponent) {\n const { width, height } = axis.getLayoutRect();\n const isX = isXAxis(axis.layoutOrient);\n const isInverse = axis.getSpec().inverse === true;\n const first = axisLabels[0];\n const last = peek(axisLabels);\n\n if (isX) {\n if (isInverse) {\n const start = width;\n const end = 0;\n const startBound = first.AABBBounds.x2;\n const endBound = last.AABBBounds.x1;\n\n if (startBound > start) {\n first.setAttributes({\n x: start,\n textAlign: 'right'\n });\n }\n\n if (endBound < end) {\n last.setAttributes({\n x: end,\n textAlign: 'left'\n });\n }\n } else {\n const start = 0;\n const end = width;\n const startBound = first.AABBBounds.x1;\n const endBound = last.AABBBounds.x2;\n if (startBound < start) {\n first.setAttributes({\n x: start,\n textAlign: 'left'\n });\n }\n\n if (endBound > end) {\n last.setAttributes({\n x: end,\n textAlign: 'right'\n });\n }\n }\n } else {\n if (isInverse) {\n const startBound = first.AABBBounds.y1;\n const endBound = last.AABBBounds.y2;\n const start = 0;\n const end = height;\n\n if (startBound < start) {\n first.setAttributes({\n y: start,\n textBaseline: 'top'\n });\n }\n\n if (endBound > end) {\n last.setAttributes({\n y: end,\n textBaseline: 'bottom'\n });\n }\n } else {\n const start = height;\n const end = 0;\n const startBound = first.AABBBounds.y2;\n const endBound = last.AABBBounds.y1;\n\n if (startBound > start) {\n first.setAttributes({\n y: start,\n textBaseline: 'bottom'\n });\n }\n\n if (endBound < end) {\n last.setAttributes({\n y: end,\n textBaseline: 'top'\n });\n }\n }\n }\n}\n\nfunction overlap(axisLabels: IText[], axis: IComponent) {\n const spec = axis.getSpec?.();\n if (!isEmpty(axisLabels)) {\n // 首尾标签向内偏移\n if (spec?.label?.flush) {\n labelFlush(axisLabels, axis);\n }\n }\n}\n\nexport class AxisLabelOverlapPlugin extends BasicComponentPlugin implements IComponentPlugin {\n Name: string = 'AxisLabelOverlapPlugin';\n\n constructor() {\n super(AxisLabelOverlapPlugin.Name);\n }\n\n onDidLayoutVertical(service: IComponentPluginService, axis: CartesianAxis) {\n this._doOverlap(service, axis);\n }\n onDidLayoutHorizontal(service: IComponentPluginService, axis: CartesianAxis) {\n this._doOverlap(service, axis);\n }\n\n private _doOverlap(service: IComponentPluginService, axis: CartesianAxis) {\n const axisComponent = axis.getSceneNodeMarks()[0].getGroupGraphicItem();\n const layer0LabelsContainer = axisComponent.find(\n (node: INode) => node.name === 'axis-label-container-layer-0',\n true\n ) as IGroup;\n const layer1LabelsContainer = axisComponent.find(\n (node: INode) => node.name === 'axis-label-container-layer-1',\n true\n ) as IGroup;\n overlap(layer0LabelsContainer ? (layer0LabelsContainer.getChildren() as IText[]) : [], service.component);\n overlap(layer1LabelsContainer ? (layer1LabelsContainer.getChildren() as IText[]) : [], service.component);\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { BasicComponentPlugin } from './basic-plugin';
2
- import type { IComponentPlugin, IComponentPluginService } from './interface';
3
- import type { CartesianAxis } from '../../component/axis/cartesian';
4
- export declare class AxisLabelOverlapPlugin extends BasicComponentPlugin implements IComponentPlugin {
5
- Name: string;
6
- constructor();
7
- onDidLayoutVertical(service: IComponentPluginService, axis: CartesianAxis): void;
8
- onDidLayoutHorizontal(service: IComponentPluginService, axis: CartesianAxis): void;
9
- private _doOverlap;
10
- }