@visactor/vchart 1.2.0-beta.6 → 1.2.0-beta.7

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/animation/animate-manager.d.ts +12 -0
  2. package/build/es5/animation/config.d.ts +25 -0
  3. package/build/es5/animation/interface.d.ts +29 -0
  4. package/build/es5/animation/spec.d.ts +24 -0
  5. package/build/es5/animation/utils.d.ts +19 -0
  6. package/build/es5/chart/area/area.d.ts +10 -0
  7. package/build/es5/chart/area/index.d.ts +2 -0
  8. package/build/es5/chart/area/interface.d.ts +7 -0
  9. package/build/es5/chart/bar/bar-3d.d.ts +8 -0
  10. package/build/es5/chart/bar/bar.d.ts +9 -0
  11. package/build/es5/chart/bar/index.d.ts +3 -0
  12. package/build/es5/chart/bar/interface.d.ts +11 -0
  13. package/build/es5/chart/base-chart.d.ts +146 -0
  14. package/build/es5/chart/box-plot/box-plot.d.ts +10 -0
  15. package/build/es5/chart/box-plot/index.d.ts +2 -0
  16. package/build/es5/chart/box-plot/interface.d.ts +7 -0
  17. package/build/es5/chart/cartesian/cartesian.d.ts +8 -0
  18. package/build/es5/chart/cartesian/index.d.ts +2 -0
  19. package/build/es5/chart/cartesian/interface.d.ts +15 -0
  20. package/build/es5/chart/circle-packing/circle-packing.d.ts +11 -0
  21. package/build/es5/chart/circle-packing/index.d.ts +2 -0
  22. package/build/es5/chart/circle-packing/interface.d.ts +6 -0
  23. package/build/es5/chart/common/common.d.ts +6 -0
  24. package/build/es5/chart/common/index.d.ts +2 -0
  25. package/build/es5/chart/common/interface.d.ts +40 -0
  26. package/build/es5/chart/funnel/base.d.ts +9 -0
  27. package/build/es5/chart/funnel/funnel-3d.d.ts +7 -0
  28. package/build/es5/chart/funnel/funnel.d.ts +7 -0
  29. package/build/es5/chart/funnel/index.d.ts +3 -0
  30. package/build/es5/chart/funnel/interface.d.ts +9 -0
  31. package/build/es5/chart/gauge/gauge.d.ts +11 -0
  32. package/build/es5/chart/gauge/index.d.ts +2 -0
  33. package/build/es5/chart/gauge/interface.d.ts +10 -0
  34. package/build/es5/chart/heatmap/heatmap.d.ts +8 -0
  35. package/build/es5/chart/heatmap/index.d.ts +2 -0
  36. package/build/es5/chart/heatmap/interface.d.ts +7 -0
  37. package/build/es5/chart/histogram/base.d.ts +5 -0
  38. package/build/es5/chart/histogram/histogram-3d.d.ts +7 -0
  39. package/build/es5/chart/histogram/histogram.d.ts +8 -0
  40. package/build/es5/chart/histogram/index.d.ts +3 -0
  41. package/build/es5/chart/histogram/interface.d.ts +9 -0
  42. package/build/es5/chart/index.d.ts +57 -0
  43. package/build/es5/chart/interface/chart.d.ts +81 -0
  44. package/build/es5/chart/interface/common.d.ts +32 -0
  45. package/build/es5/chart/interface/index.d.ts +3 -0
  46. package/build/es5/chart/interface/type.d.ts +34 -0
  47. package/build/es5/chart/line/index.d.ts +2 -0
  48. package/build/es5/chart/line/interface.d.ts +7 -0
  49. package/build/es5/chart/line/line.d.ts +10 -0
  50. package/build/es5/chart/map/index.d.ts +2 -0
  51. package/build/es5/chart/map/interface.d.ts +6 -0
  52. package/build/es5/chart/map/map.d.ts +12 -0
  53. package/build/es5/chart/pie/base.d.ts +5 -0
  54. package/build/es5/chart/pie/index.d.ts +3 -0
  55. package/build/es5/chart/pie/interface.d.ts +11 -0
  56. package/build/es5/chart/pie/pie-3d.d.ts +8 -0
  57. package/build/es5/chart/pie/pie.d.ts +7 -0
  58. package/build/es5/chart/polar/index.d.ts +4 -0
  59. package/build/es5/chart/polar/interface.d.ts +7 -0
  60. package/build/es5/chart/polar/polar.d.ts +9 -0
  61. package/build/es5/chart/polar/progress-like.d.ts +7 -0
  62. package/build/es5/chart/polar/rose-like.d.ts +6 -0
  63. package/build/es5/chart/progress/circular/circular.d.ts +9 -0
  64. package/build/es5/chart/progress/circular/index.d.ts +2 -0
  65. package/build/es5/chart/progress/circular/interface.d.ts +7 -0
  66. package/build/es5/chart/progress/interface.d.ts +8 -0
  67. package/build/es5/chart/progress/linear/index.d.ts +2 -0
  68. package/build/es5/chart/progress/linear/interface.d.ts +9 -0
  69. package/build/es5/chart/progress/linear/linear.d.ts +11 -0
  70. package/build/es5/chart/radar/index.d.ts +2 -0
  71. package/build/es5/chart/radar/interface.d.ts +7 -0
  72. package/build/es5/chart/radar/radar.d.ts +9 -0
  73. package/build/es5/chart/range-area/index.d.ts +2 -0
  74. package/build/es5/chart/range-area/interface.d.ts +7 -0
  75. package/build/es5/chart/range-area/range-area.d.ts +9 -0
  76. package/build/es5/chart/range-column/index.d.ts +3 -0
  77. package/build/es5/chart/range-column/interface.d.ts +11 -0
  78. package/build/es5/chart/range-column/range-column-3d.d.ts +8 -0
  79. package/build/es5/chart/range-column/range-column.d.ts +9 -0
  80. package/build/es5/chart/rose/index.d.ts +2 -0
  81. package/build/es5/chart/rose/interface.d.ts +7 -0
  82. package/build/es5/chart/rose/rose.d.ts +9 -0
  83. package/build/es5/chart/sankey/index.d.ts +2 -0
  84. package/build/es5/chart/sankey/interface.d.ts +6 -0
  85. package/build/es5/chart/sankey/sankey.d.ts +10 -0
  86. package/build/es5/chart/scatter/index.d.ts +2 -0
  87. package/build/es5/chart/scatter/interface.d.ts +7 -0
  88. package/build/es5/chart/scatter/scatter.d.ts +9 -0
  89. package/build/es5/chart/sequence/index.d.ts +2 -0
  90. package/build/es5/chart/sequence/interface.d.ts +24 -0
  91. package/build/es5/chart/sequence/sequence.d.ts +9 -0
  92. package/build/es5/chart/stack.d.ts +14 -0
  93. package/build/es5/chart/sunburst/index.d.ts +2 -0
  94. package/build/es5/chart/sunburst/interface.d.ts +6 -0
  95. package/build/es5/chart/sunburst/sunburst.d.ts +11 -0
  96. package/build/es5/chart/treemap/index.d.ts +2 -0
  97. package/build/es5/chart/treemap/interface.d.ts +6 -0
  98. package/build/es5/chart/treemap/treemap.d.ts +10 -0
  99. package/build/es5/chart/util.d.ts +2 -0
  100. package/build/es5/chart/waterfall/index.d.ts +2 -0
  101. package/build/es5/chart/waterfall/interface.d.ts +7 -0
  102. package/build/es5/chart/waterfall/waterfall.d.ts +10 -0
  103. package/build/es5/chart/word-cloud/base.d.ts +6 -0
  104. package/build/es5/chart/word-cloud/index.d.ts +3 -0
  105. package/build/es5/chart/word-cloud/interface.d.ts +10 -0
  106. package/build/es5/chart/word-cloud/word-cloud-3d.d.ts +9 -0
  107. package/build/es5/chart/word-cloud/word-cloud.d.ts +9 -0
  108. package/build/es5/compile/compilable-base.d.ts +11 -0
  109. package/build/es5/compile/compiler.d.ts +56 -0
  110. package/build/es5/compile/data/compilable-data.d.ts +23 -0
  111. package/build/es5/compile/data/index.d.ts +2 -0
  112. package/build/es5/compile/data/interface.d.ts +8 -0
  113. package/build/es5/compile/grammar-item.d.ts +24 -0
  114. package/build/es5/compile/interface/compilable-item.d.ts +35 -0
  115. package/build/es5/compile/interface/compiler.d.ts +49 -0
  116. package/build/es5/compile/interface/index.d.ts +2 -0
  117. package/build/es5/compile/mark/compilable-mark.d.ts +104 -0
  118. package/build/es5/compile/mark/index.d.ts +3 -0
  119. package/build/es5/compile/mark/interface.d.ts +149 -0
  120. package/build/es5/compile/mark/mark-data.d.ts +9 -0
  121. package/build/es5/compile/mark/mark-state-manager.d.ts +26 -0
  122. package/build/es5/compile/mark/util.d.ts +6 -0
  123. package/build/es5/compile/signal/compilable-signal.d.ts +21 -0
  124. package/build/es5/compile/signal/index.d.ts +4 -0
  125. package/build/es5/compile/signal/interface.d.ts +12 -0
  126. package/build/es5/compile/signal/signal-manager.d.ts +11 -0
  127. package/build/es5/compile/signal/state-manager.d.ts +12 -0
  128. package/build/es5/compile/util.d.ts +2 -0
  129. package/build/es5/component/axis/base-axis.d.ts +155 -0
  130. package/build/es5/component/axis/cartesian/axis.d.ts +96 -0
  131. package/build/es5/component/axis/cartesian/band-axis.d.ts +39 -0
  132. package/build/es5/component/axis/cartesian/config.d.ts +2 -0
  133. package/build/es5/component/axis/cartesian/index.d.ts +6 -0
  134. package/build/es5/component/axis/cartesian/interface/common.d.ts +50 -0
  135. package/build/es5/component/axis/cartesian/interface/index.d.ts +3 -0
  136. package/build/es5/component/axis/cartesian/interface/spec.d.ts +36 -0
  137. package/build/es5/component/axis/cartesian/interface/theme.d.ts +21 -0
  138. package/build/es5/component/axis/cartesian/linear-axis.d.ts +27 -0
  139. package/build/es5/component/axis/cartesian/log-axis.d.ts +15 -0
  140. package/build/es5/component/axis/cartesian/time-axis.d.ts +20 -0
  141. package/build/es5/component/axis/cartesian/util/common.d.ts +10 -0
  142. package/build/es5/component/axis/cartesian/util/index.d.ts +2 -0
  143. package/build/es5/component/axis/cartesian/util/time.d.ts +80 -0
  144. package/build/es5/component/axis/index.d.ts +3 -0
  145. package/build/es5/component/axis/interface.d.ts +126 -0
  146. package/build/es5/component/axis/mixin/band-axis-mixin.d.ts +37 -0
  147. package/build/es5/component/axis/mixin/linear-axis-mixin.d.ts +59 -0
  148. package/build/es5/component/axis/polar/axis.d.ts +80 -0
  149. package/build/es5/component/axis/polar/band-axis.d.ts +31 -0
  150. package/build/es5/component/axis/polar/config.d.ts +2 -0
  151. package/build/es5/component/axis/polar/index.d.ts +4 -0
  152. package/build/es5/component/axis/polar/interface/common.d.ts +31 -0
  153. package/build/es5/component/axis/polar/interface/index.d.ts +4 -0
  154. package/build/es5/component/axis/polar/interface/spec.d.ts +16 -0
  155. package/build/es5/component/axis/polar/interface/theme.d.ts +11 -0
  156. package/build/es5/component/axis/polar/linear-axis.d.ts +23 -0
  157. package/build/es5/component/axis/utils.d.ts +28 -0
  158. package/build/es5/component/base/base-component.d.ts +34 -0
  159. package/build/es5/component/base/index.d.ts +1 -0
  160. package/build/es5/component/base/util.d.ts +3 -0
  161. package/build/es5/component/brush/brush.d.ts +66 -0
  162. package/build/es5/component/brush/index.d.ts +2 -0
  163. package/build/es5/component/brush/interface.d.ts +47 -0
  164. package/build/es5/component/common/trigger/config.d.ts +52 -0
  165. package/build/es5/component/common/trigger/desktop.d.ts +9 -0
  166. package/build/es5/component/common/trigger/interface.d.ts +8 -0
  167. package/build/es5/component/common/trigger/mobile.d.ts +10 -0
  168. package/build/es5/component/crosshair/base.d.ts +77 -0
  169. package/build/es5/component/crosshair/cartesian.d.ts +65 -0
  170. package/build/es5/component/crosshair/config.d.ts +32 -0
  171. package/build/es5/component/crosshair/index.d.ts +3 -0
  172. package/build/es5/component/crosshair/interface/index.d.ts +2 -0
  173. package/build/es5/component/crosshair/interface/spec.d.ts +70 -0
  174. package/build/es5/component/crosshair/interface/theme.d.ts +7 -0
  175. package/build/es5/component/crosshair/polar.d.ts +76 -0
  176. package/build/es5/component/crosshair/util.d.ts +5 -0
  177. package/build/es5/component/custom-mark/custom-mark.d.ts +30 -0
  178. package/build/es5/component/custom-mark/index.d.ts +1 -0
  179. package/build/es5/component/data-zoom/data-filter-base-component.d.ts +89 -0
  180. package/build/es5/component/data-zoom/data-zoom/data-zoom.d.ts +62 -0
  181. package/build/es5/component/data-zoom/data-zoom/index.d.ts +2 -0
  182. package/build/es5/component/data-zoom/data-zoom/interface.d.ts +55 -0
  183. package/build/es5/component/data-zoom/index.d.ts +2 -0
  184. package/build/es5/component/data-zoom/interface.d.ts +25 -0
  185. package/build/es5/component/data-zoom/scroll-bar/index.d.ts +2 -0
  186. package/build/es5/component/data-zoom/scroll-bar/interface.d.ts +20 -0
  187. package/build/es5/component/data-zoom/scroll-bar/scroll-bar.d.ts +23 -0
  188. package/build/es5/component/data-zoom/util.d.ts +19 -0
  189. package/build/es5/component/geo/geo-coordinate.d.ts +53 -0
  190. package/build/es5/component/geo/index.d.ts +2 -0
  191. package/build/es5/component/geo/interface.d.ts +27 -0
  192. package/build/es5/component/geo/projection.d.ts +16 -0
  193. package/build/es5/component/index.d.ts +39 -0
  194. package/build/es5/component/indicator/index.d.ts +2 -0
  195. package/build/es5/component/indicator/indicator.d.ts +38 -0
  196. package/build/es5/component/indicator/interface.d.ts +31 -0
  197. package/build/es5/component/indicator/util.d.ts +13 -0
  198. package/build/es5/component/interface/common.d.ts +34 -0
  199. package/build/es5/component/interface/index.d.ts +4 -0
  200. package/build/es5/component/interface/theme.d.ts +40 -0
  201. package/build/es5/component/interface/tooltip-helper.d.ts +5 -0
  202. package/build/es5/component/interface/type.d.ts +33 -0
  203. package/build/es5/component/label/bar.d.ts +9 -0
  204. package/build/es5/component/label/index.d.ts +2 -0
  205. package/build/es5/component/label/interface.d.ts +21 -0
  206. package/build/es5/component/label/label.d.ts +62 -0
  207. package/build/es5/component/label/symbol.d.ts +9 -0
  208. package/build/es5/component/label/util.d.ts +9 -0
  209. package/build/es5/component/legend/base-legend.d.ts +59 -0
  210. package/build/es5/component/legend/continuous/index.d.ts +2 -0
  211. package/build/es5/component/legend/continuous/interface.d.ts +58 -0
  212. package/build/es5/component/legend/continuous/legend.d.ts +27 -0
  213. package/build/es5/component/legend/continuous/util.d.ts +8 -0
  214. package/build/es5/component/legend/discrete/index.d.ts +2 -0
  215. package/build/es5/component/legend/discrete/interface.d.ts +59 -0
  216. package/build/es5/component/legend/discrete/legend.d.ts +26 -0
  217. package/build/es5/component/legend/discrete/util.d.ts +3 -0
  218. package/build/es5/component/legend/index.d.ts +3 -0
  219. package/build/es5/component/legend/interface.d.ts +39 -0
  220. package/build/es5/component/legend/util.d.ts +26 -0
  221. package/build/es5/component/map-label/component.d.ts +52 -0
  222. package/build/es5/component/map-label/index.d.ts +2 -0
  223. package/build/es5/component/map-label/interface.d.ts +40 -0
  224. package/build/es5/component/map-label/layout.d.ts +23 -0
  225. package/build/es5/component/marker/base-marker.d.ts +46 -0
  226. package/build/es5/component/marker/interface.d.ts +59 -0
  227. package/build/es5/component/marker/mark-area/index.d.ts +2 -0
  228. package/build/es5/component/marker/mark-area/interface/index.d.ts +2 -0
  229. package/build/es5/component/marker/mark-area/interface/spec.d.ts +26 -0
  230. package/build/es5/component/marker/mark-area/interface/theme.d.ts +11 -0
  231. package/build/es5/component/marker/mark-area/mark-area.d.ts +20 -0
  232. package/build/es5/component/marker/mark-line/index.d.ts +2 -0
  233. package/build/es5/component/marker/mark-line/interface/index.d.ts +2 -0
  234. package/build/es5/component/marker/mark-line/interface/spec.d.ts +29 -0
  235. package/build/es5/component/marker/mark-line/interface/theme.d.ts +13 -0
  236. package/build/es5/component/marker/mark-line/mark-line.d.ts +20 -0
  237. package/build/es5/component/marker/mark-point/index.d.ts +2 -0
  238. package/build/es5/component/marker/mark-point/interface/index.d.ts +2 -0
  239. package/build/es5/component/marker/mark-point/interface/spec.d.ts +14 -0
  240. package/build/es5/component/marker/mark-point/interface/theme.d.ts +37 -0
  241. package/build/es5/component/marker/mark-point/mark-point.d.ts +20 -0
  242. package/build/es5/component/marker/utils.d.ts +6 -0
  243. package/build/es5/component/player/index.d.ts +2 -0
  244. package/build/es5/component/player/interface/index.d.ts +2 -0
  245. package/build/es5/component/player/interface/spec.d.ts +18 -0
  246. package/build/es5/component/player/interface/theme.d.ts +32 -0
  247. package/build/es5/component/player/player.d.ts +53 -0
  248. package/build/es5/component/player/utils/index.d.ts +1 -0
  249. package/build/es5/component/player/utils/orient.d.ts +3 -0
  250. package/build/es5/component/player/utils/transform.d.ts +4 -0
  251. package/build/es5/component/title/index.d.ts +2 -0
  252. package/build/es5/component/title/interface/index.d.ts +2 -0
  253. package/build/es5/component/title/interface/spec.d.ts +45 -0
  254. package/build/es5/component/title/interface/theme.d.ts +19 -0
  255. package/build/es5/component/title/title.d.ts +47 -0
  256. package/build/es5/component/title/utils.d.ts +2 -0
  257. package/build/es5/component/tooltip/handler/base.d.ts +52 -0
  258. package/build/es5/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +19 -0
  259. package/build/es5/component/tooltip/handler/canvas/index.d.ts +1 -0
  260. package/build/es5/component/tooltip/handler/constants.d.ts +17 -0
  261. package/build/es5/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +25 -0
  262. package/build/es5/component/tooltip/handler/dom/index.d.ts +1 -0
  263. package/build/es5/component/tooltip/handler/dom/interface.d.ts +61 -0
  264. package/build/es5/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +25 -0
  265. package/build/es5/component/tooltip/handler/dom/model/content-column-model.d.ts +25 -0
  266. package/build/es5/component/tooltip/handler/dom/model/content-model.d.ts +15 -0
  267. package/build/es5/component/tooltip/handler/dom/model/interface.d.ts +9 -0
  268. package/build/es5/component/tooltip/handler/dom/model/shape-model.d.ts +20 -0
  269. package/build/es5/component/tooltip/handler/dom/model/style-constants.d.ts +8 -0
  270. package/build/es5/component/tooltip/handler/dom/model/text-model.d.ts +5 -0
  271. package/build/es5/component/tooltip/handler/dom/model/title-model.d.ts +15 -0
  272. package/build/es5/component/tooltip/handler/dom/model/tooltip-model.d.ts +21 -0
  273. package/build/es5/component/tooltip/handler/dom/util.d.ts +6 -0
  274. package/build/es5/component/tooltip/handler/index.d.ts +2 -0
  275. package/build/es5/component/tooltip/handler/interface/index.d.ts +1 -0
  276. package/build/es5/component/tooltip/handler/interface/style.d.ts +27 -0
  277. package/build/es5/component/tooltip/handler/utils/attribute.d.ts +11 -0
  278. package/build/es5/component/tooltip/handler/utils/common.d.ts +10 -0
  279. package/build/es5/component/tooltip/handler/utils/compose.d.ts +5 -0
  280. package/build/es5/component/tooltip/handler/utils/get-spec.d.ts +5 -0
  281. package/build/es5/component/tooltip/handler/utils/index.d.ts +7 -0
  282. package/build/es5/component/tooltip/handler/utils/pattern.d.ts +4 -0
  283. package/build/es5/component/tooltip/handler/utils/position.d.ts +1 -0
  284. package/build/es5/component/tooltip/handler/utils/style.d.ts +4 -0
  285. package/build/es5/component/tooltip/index.d.ts +2 -0
  286. package/build/es5/component/tooltip/interface/common.d.ts +24 -0
  287. package/build/es5/component/tooltip/interface/event.d.ts +8 -0
  288. package/build/es5/component/tooltip/interface/index.d.ts +3 -0
  289. package/build/es5/component/tooltip/interface/spec.d.ts +28 -0
  290. package/build/es5/component/tooltip/interface/theme.d.ts +45 -0
  291. package/build/es5/component/tooltip/processor/base.d.ts +18 -0
  292. package/build/es5/component/tooltip/processor/dimension-tooltip.d.ts +10 -0
  293. package/build/es5/component/tooltip/processor/index.d.ts +5 -0
  294. package/build/es5/component/tooltip/processor/interface.d.ts +16 -0
  295. package/build/es5/component/tooltip/processor/mark-tooltip.d.ts +10 -0
  296. package/build/es5/component/tooltip/processor/util.d.ts +4 -0
  297. package/build/es5/component/tooltip/tooltip.d.ts +57 -0
  298. package/build/es5/component/tooltip/utils/common.d.ts +5 -0
  299. package/build/es5/component/tooltip/utils/index.d.ts +2 -0
  300. package/build/es5/component/tooltip/utils/show-tooltip.d.ts +3 -0
  301. package/build/es5/constant/base.d.ts +3 -0
  302. package/build/es5/constant/box-plot.d.ts +10 -0
  303. package/build/es5/constant/event.d.ts +53 -0
  304. package/build/es5/constant/funnel.d.ts +14 -0
  305. package/build/es5/constant/hierarchy.d.ts +3 -0
  306. package/build/es5/constant/index.d.ts +106 -0
  307. package/build/es5/constant/label.d.ts +6 -0
  308. package/build/es5/constant/layout.d.ts +2 -0
  309. package/build/es5/constant/marker.d.ts +4 -0
  310. package/build/es5/constant/polar.d.ts +22 -0
  311. package/build/es5/constant/scatter.d.ts +7 -0
  312. package/build/es5/constant/scroll-bar.d.ts +1 -0
  313. package/build/es5/constant/sunburst.d.ts +1 -0
  314. package/build/es5/constant/waterfall.d.ts +1 -0
  315. package/build/es5/constant/word-cloud.d.ts +7 -0
  316. package/build/es5/core/factory.d.ts +39 -0
  317. package/build/es5/core/index.d.ts +9 -0
  318. package/build/es5/core/instance-manager.d.ts +10 -0
  319. package/build/es5/core/interface.d.ts +74 -0
  320. package/build/es5/core/vchart.d.ts +125 -0
  321. package/build/es5/data/initialize.d.ts +10 -0
  322. package/build/es5/data/parser/array.d.ts +2 -0
  323. package/build/es5/data/parser/scale.d.ts +2 -0
  324. package/build/es5/data/register.d.ts +3 -0
  325. package/build/es5/data/transforms/add-property.d.ts +8 -0
  326. package/build/es5/data/transforms/aggregation.d.ts +28 -0
  327. package/build/es5/data/transforms/box-plot.d.ts +5 -0
  328. package/build/es5/data/transforms/circle-packing.d.ts +7 -0
  329. package/build/es5/data/transforms/copy-data-view.d.ts +5 -0
  330. package/build/es5/data/transforms/data-key.d.ts +10 -0
  331. package/build/es5/data/transforms/dimension-data.d.ts +10 -0
  332. package/build/es5/data/transforms/dimension-statistics.d.ts +41 -0
  333. package/build/es5/data/transforms/drill.d.ts +14 -0
  334. package/build/es5/data/transforms/flatten.d.ts +9 -0
  335. package/build/es5/data/transforms/funnel.d.ts +51 -0
  336. package/build/es5/data/transforms/hierarchy-dimension-statistics.d.ts +3 -0
  337. package/build/es5/data/transforms/invalid-travel.d.ts +8 -0
  338. package/build/es5/data/transforms/legend-data/continuous/continuous.d.ts +4 -0
  339. package/build/es5/data/transforms/legend-data/continuous/index.d.ts +2 -0
  340. package/build/es5/data/transforms/legend-data/continuous/interface.d.ts +13 -0
  341. package/build/es5/data/transforms/legend-data/discrete/discrete.d.ts +4 -0
  342. package/build/es5/data/transforms/legend-data/discrete/index.d.ts +2 -0
  343. package/build/es5/data/transforms/legend-data/discrete/interface.d.ts +15 -0
  344. package/build/es5/data/transforms/lookup.d.ts +12 -0
  345. package/build/es5/data/transforms/map.d.ts +7 -0
  346. package/build/es5/data/transforms/obj-flat.d.ts +2 -0
  347. package/build/es5/data/transforms/pie.d.ts +16 -0
  348. package/build/es5/data/transforms/regression.d.ts +6 -0
  349. package/build/es5/data/transforms/sankey-links.d.ts +2 -0
  350. package/build/es5/data/transforms/sankey-nodes.d.ts +2 -0
  351. package/build/es5/data/transforms/sankey.d.ts +21 -0
  352. package/build/es5/data/transforms/stack-split.d.ts +6 -0
  353. package/build/es5/data/transforms/sunburst.d.ts +7 -0
  354. package/build/es5/data/transforms/tick-data/config.d.ts +1 -0
  355. package/build/es5/data/transforms/tick-data/continuous.d.ts +3 -0
  356. package/build/es5/data/transforms/tick-data/discrete/linear.d.ts +3 -0
  357. package/build/es5/data/transforms/tick-data/discrete/polar-angle.d.ts +3 -0
  358. package/build/es5/data/transforms/tick-data/index.d.ts +4 -0
  359. package/build/es5/data/transforms/tick-data/interface.d.ts +28 -0
  360. package/build/es5/data/transforms/tick-data/util.d.ts +15 -0
  361. package/build/es5/data/transforms/treemap.d.ts +11 -0
  362. package/build/es5/data/transforms/waterfall.d.ts +25 -0
  363. package/build/es5/event/bubble.d.ts +15 -0
  364. package/build/es5/event/event-dispatcher.d.ts +25 -0
  365. package/build/es5/event/event.d.ts +18 -0
  366. package/build/es5/event/events/dimension/base.d.ts +19 -0
  367. package/build/es5/event/events/dimension/dimension-click.d.ts +9 -0
  368. package/build/es5/event/events/dimension/dimension-hover.d.ts +10 -0
  369. package/build/es5/event/events/dimension/index.d.ts +3 -0
  370. package/build/es5/event/events/dimension/interface.d.ts +22 -0
  371. package/build/es5/event/events/dimension/util/cartesian.d.ts +8 -0
  372. package/build/es5/event/events/dimension/util/common.d.ts +8 -0
  373. package/build/es5/event/events/dimension/util/index.d.ts +3 -0
  374. package/build/es5/event/events/dimension/util/polar.d.ts +4 -0
  375. package/build/es5/event/events/index.d.ts +5 -0
  376. package/build/es5/event/interface.d.ts +153 -0
  377. package/build/es5/index.d.ts +10 -0
  378. package/build/es5/index.js +17 -0
  379. package/build/es5/interaction/config.d.ts +57 -0
  380. package/build/es5/interaction/dimension-trigger.d.ts +32 -0
  381. package/build/es5/interaction/drill/drillable.d.ts +28 -0
  382. package/build/es5/interaction/drill/index.d.ts +1 -0
  383. package/build/es5/interaction/interaction.d.ts +20 -0
  384. package/build/es5/interaction/interface.d.ts +49 -0
  385. package/build/es5/interaction/trigger.d.ts +38 -0
  386. package/build/es5/interaction/zoom/index.d.ts +1 -0
  387. package/build/es5/interaction/zoom/zoomable.d.ts +72 -0
  388. package/build/es5/layout/base-layout.d.ts +28 -0
  389. package/build/es5/layout/grid-layout/grid-layout.d.ts +50 -0
  390. package/build/es5/layout/index.d.ts +6 -0
  391. package/build/es5/layout/interface.d.ts +45 -0
  392. package/build/es5/layout/label/arc-label.d.ts +42 -0
  393. package/build/es5/layout/layout3d/index.d.ts +23 -0
  394. package/build/es5/mark/arc-3d.d.ts +9 -0
  395. package/build/es5/mark/arc.d.ts +20 -0
  396. package/build/es5/mark/area.d.ts +11 -0
  397. package/build/es5/mark/base/base-line.d.ts +8 -0
  398. package/build/es5/mark/base/base-mark.d.ts +38 -0
  399. package/build/es5/mark/base/index.d.ts +2 -0
  400. package/build/es5/mark/box-plot.d.ts +12 -0
  401. package/build/es5/mark/cell.d.ts +10 -0
  402. package/build/es5/mark/component.d.ts +14 -0
  403. package/build/es5/mark/group.d.ts +31 -0
  404. package/build/es5/mark/image.d.ts +10 -0
  405. package/build/es5/mark/index.d.ts +21 -0
  406. package/build/es5/mark/interface/common.d.ts +67 -0
  407. package/build/es5/mark/interface/index.d.ts +2 -0
  408. package/build/es5/mark/interface/type.d.ts +22 -0
  409. package/build/es5/mark/line.d.ts +11 -0
  410. package/build/es5/mark/link-path.d.ts +12 -0
  411. package/build/es5/mark/mark-set/index.d.ts +21 -0
  412. package/build/es5/mark/path.d.ts +10 -0
  413. package/build/es5/mark/polygon/base-polygon.d.ts +6 -0
  414. package/build/es5/mark/polygon/polygon.d.ts +10 -0
  415. package/build/es5/mark/polygon/pyramid-3d.d.ts +9 -0
  416. package/build/es5/mark/progress-arc.d.ts +13 -0
  417. package/build/es5/mark/rect-3d.d.ts +10 -0
  418. package/build/es5/mark/rect.d.ts +10 -0
  419. package/build/es5/mark/rule.d.ts +10 -0
  420. package/build/es5/mark/symbol.d.ts +12 -0
  421. package/build/es5/mark/text.d.ts +10 -0
  422. package/build/es5/mark/utils/common.d.ts +3 -0
  423. package/build/es5/mark/utils/index.d.ts +1 -0
  424. package/build/es5/model/base-model.d.ts +85 -0
  425. package/build/es5/model/interface.d.ts +176 -0
  426. package/build/es5/model/layout-item.d.ts +54 -0
  427. package/build/es5/model/model-state-manager.d.ts +9 -0
  428. package/build/es5/model/tooltip-helper.d.ts +27 -0
  429. package/build/es5/plugin/chart/interface.d.ts +6 -0
  430. package/build/es5/plugin/components/axis-label-overlap-plugin.d.ts +10 -0
  431. package/build/es5/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
  432. package/build/es5/plugin/components/axis-sync-plugin/index.d.ts +1 -0
  433. package/build/es5/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
  434. package/build/es5/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
  435. package/build/es5/plugin/components/basic-plugin.d.ts +9 -0
  436. package/build/es5/plugin/components/index.d.ts +7 -0
  437. package/build/es5/plugin/components/interface.d.ts +33 -0
  438. package/build/es5/plugin/components/plugin-service.d.ts +15 -0
  439. package/build/es5/plugin/interface.d.ts +4 -0
  440. package/build/es5/plugin/series/interface.d.ts +9 -0
  441. package/build/es5/region/interface.d.ts +53 -0
  442. package/build/es5/region/region.d.ts +70 -0
  443. package/build/es5/scale/color-ordinal-scale.d.ts +8 -0
  444. package/build/es5/scale/global-scale.d.ts +37 -0
  445. package/build/es5/scale/interface.d.ts +19 -0
  446. package/build/es5/series/area/animation.d.ts +7 -0
  447. package/build/es5/series/area/area.d.ts +21 -0
  448. package/build/es5/series/area/interface.d.ts +18 -0
  449. package/build/es5/series/bar/animation.d.ts +12 -0
  450. package/build/es5/series/bar/bar-3d.d.ts +11 -0
  451. package/build/es5/series/bar/bar.d.ts +40 -0
  452. package/build/es5/series/bar/interface.d.ts +34 -0
  453. package/build/es5/series/base/base-series.d.ts +177 -0
  454. package/build/es5/series/base/group.d.ts +11 -0
  455. package/build/es5/series/base/series-data.d.ts +5 -0
  456. package/build/es5/series/base/tooltip-helper.d.ts +30 -0
  457. package/build/es5/series/box-plot/box-plot.d.ts +61 -0
  458. package/build/es5/series/box-plot/interface.d.ts +23 -0
  459. package/build/es5/series/box-plot/tooltip-helper.d.ts +12 -0
  460. package/build/es5/series/cartesian/cartesian.d.ts +90 -0
  461. package/build/es5/series/cartesian/index.d.ts +2 -0
  462. package/build/es5/series/cartesian/interface.d.ts +14 -0
  463. package/build/es5/series/circle-packing/animation.d.ts +7 -0
  464. package/build/es5/series/circle-packing/circle-packing.d.ts +43 -0
  465. package/build/es5/series/circle-packing/interface.d.ts +21 -0
  466. package/build/es5/series/circle-packing/tooltip-helper.d.ts +5 -0
  467. package/build/es5/series/dot/config.d.ts +4 -0
  468. package/build/es5/series/dot/dot.d.ts +68 -0
  469. package/build/es5/series/dot/interface.d.ts +40 -0
  470. package/build/es5/series/dot/tooltip-helper.d.ts +7 -0
  471. package/build/es5/series/funnel/funnel-3d.d.ts +18 -0
  472. package/build/es5/series/funnel/funnel.d.ts +100 -0
  473. package/build/es5/series/funnel/interface.d.ts +61 -0
  474. package/build/es5/series/funnel/tooltip-helper.d.ts +9 -0
  475. package/build/es5/series/gauge/gauge-pointer.d.ts +32 -0
  476. package/build/es5/series/gauge/gauge.d.ts +25 -0
  477. package/build/es5/series/gauge/index.d.ts +3 -0
  478. package/build/es5/series/gauge/interface.d.ts +44 -0
  479. package/build/es5/series/geo/geo.d.ts +52 -0
  480. package/build/es5/series/geo/interface.d.ts +4 -0
  481. package/build/es5/series/heatmap/animation.d.ts +3 -0
  482. package/build/es5/series/heatmap/heatmap.d.ts +43 -0
  483. package/build/es5/series/heatmap/interface.d.ts +23 -0
  484. package/build/es5/series/heatmap/tooltip-helper.d.ts +6 -0
  485. package/build/es5/series/index.d.ts +66 -0
  486. package/build/es5/series/interface/common.d.ts +120 -0
  487. package/build/es5/series/interface/index.d.ts +5 -0
  488. package/build/es5/series/interface/series.d.ts +168 -0
  489. package/build/es5/series/interface/theme.d.ts +55 -0
  490. package/build/es5/series/interface/tooltip-helper.d.ts +13 -0
  491. package/build/es5/series/interface/type.d.ts +34 -0
  492. package/build/es5/series/line/animation.d.ts +7 -0
  493. package/build/es5/series/line/interface.d.ts +25 -0
  494. package/build/es5/series/line/line.d.ts +19 -0
  495. package/build/es5/series/link/interface.d.ts +25 -0
  496. package/build/es5/series/link/link.d.ts +50 -0
  497. package/build/es5/series/link/tooltip-helper.d.ts +6 -0
  498. package/build/es5/series/map/geo-source.d.ts +20 -0
  499. package/build/es5/series/map/interface.d.ts +29 -0
  500. package/build/es5/series/map/map.d.ts +52 -0
  501. package/build/es5/series/map/tooltip-helper.d.ts +5 -0
  502. package/build/es5/series/mixin/line-mixin.d.ts +35 -0
  503. package/build/es5/series/pie/animation/animation.d.ts +23 -0
  504. package/build/es5/series/pie/animation/centerOffset.d.ts +6 -0
  505. package/build/es5/series/pie/interface.d.ts +64 -0
  506. package/build/es5/series/pie/pie-3d.d.ts +16 -0
  507. package/build/es5/series/pie/pie.d.ts +79 -0
  508. package/build/es5/series/polar/animation.d.ts +41 -0
  509. package/build/es5/series/polar/interface.d.ts +21 -0
  510. package/build/es5/series/polar/polar.d.ts +62 -0
  511. package/build/es5/series/polar/progress-like/animation.d.ts +6 -0
  512. package/build/es5/series/polar/progress-like/index.d.ts +3 -0
  513. package/build/es5/series/polar/progress-like/interface.d.ts +9 -0
  514. package/build/es5/series/polar/progress-like/progress-like.d.ts +22 -0
  515. package/build/es5/series/polar/rose-like/index.d.ts +2 -0
  516. package/build/es5/series/polar/rose-like/interface.d.ts +8 -0
  517. package/build/es5/series/polar/rose-like/rose-like.d.ts +14 -0
  518. package/build/es5/series/progress/circular/circular.d.ts +22 -0
  519. package/build/es5/series/progress/circular/index.d.ts +1 -0
  520. package/build/es5/series/progress/circular/interface.d.ts +20 -0
  521. package/build/es5/series/progress/interface.d.ts +7 -0
  522. package/build/es5/series/progress/linear/animation.d.ts +9 -0
  523. package/build/es5/series/progress/linear/index.d.ts +1 -0
  524. package/build/es5/series/progress/linear/interface.d.ts +26 -0
  525. package/build/es5/series/progress/linear/linear.d.ts +24 -0
  526. package/build/es5/series/progress/linear/tooltip-helper.d.ts +7 -0
  527. package/build/es5/series/radar/animation.d.ts +72 -0
  528. package/build/es5/series/radar/interface.d.ts +20 -0
  529. package/build/es5/series/radar/radar.d.ts +22 -0
  530. package/build/es5/series/range-area/interface.d.ts +6 -0
  531. package/build/es5/series/range-area/range-area.d.ts +11 -0
  532. package/build/es5/series/range-area/tooltip-helper.d.ts +7 -0
  533. package/build/es5/series/range-column/animation.d.ts +9 -0
  534. package/build/es5/series/range-column/interface.d.ts +56 -0
  535. package/build/es5/series/range-column/range-column-3d.d.ts +10 -0
  536. package/build/es5/series/range-column/range-column.d.ts +24 -0
  537. package/build/es5/series/range-column/tooltip-helper.d.ts +6 -0
  538. package/build/es5/series/rose/animation.d.ts +12 -0
  539. package/build/es5/series/rose/interface.d.ts +16 -0
  540. package/build/es5/series/rose/rose.d.ts +24 -0
  541. package/build/es5/series/sankey/animation.d.ts +12 -0
  542. package/build/es5/series/sankey/interface.d.ts +106 -0
  543. package/build/es5/series/sankey/sankey.d.ts +52 -0
  544. package/build/es5/series/sankey/tooltip-helper.d.ts +7 -0
  545. package/build/es5/series/scatter/animation.d.ts +7 -0
  546. package/build/es5/series/scatter/interface.d.ts +25 -0
  547. package/build/es5/series/scatter/scatter.d.ts +31 -0
  548. package/build/es5/series/sunburst/animation/enter.d.ts +3 -0
  549. package/build/es5/series/sunburst/animation/exit.d.ts +3 -0
  550. package/build/es5/series/sunburst/animation/index.d.ts +5 -0
  551. package/build/es5/series/sunburst/animation/interface.d.ts +12 -0
  552. package/build/es5/series/sunburst/animation/preset.d.ts +3 -0
  553. package/build/es5/series/sunburst/animation/utils.d.ts +3 -0
  554. package/build/es5/series/sunburst/interface.d.ts +41 -0
  555. package/build/es5/series/sunburst/sunburst.d.ts +59 -0
  556. package/build/es5/series/sunburst/tooltip-helper.d.ts +5 -0
  557. package/build/es5/series/treemap/animation.d.ts +4 -0
  558. package/build/es5/series/treemap/interface.d.ts +41 -0
  559. package/build/es5/series/treemap/tooltip-helper.d.ts +5 -0
  560. package/build/es5/series/treemap/treemap.d.ts +55 -0
  561. package/build/es5/series/util/label-mark.d.ts +4 -0
  562. package/build/es5/series/util/utils.d.ts +2 -0
  563. package/build/es5/series/waterfall/animation.d.ts +4 -0
  564. package/build/es5/series/waterfall/interface.d.ts +60 -0
  565. package/build/es5/series/waterfall/waterfall.d.ts +35 -0
  566. package/build/es5/series/word-cloud/animation.d.ts +6 -0
  567. package/build/es5/series/word-cloud/base.d.ts +69 -0
  568. package/build/es5/series/word-cloud/config.d.ts +16 -0
  569. package/build/es5/series/word-cloud/interface.d.ts +115 -0
  570. package/build/es5/series/word-cloud/word-cloud-3d.d.ts +11 -0
  571. package/build/es5/series/word-cloud/word-cloud.d.ts +7 -0
  572. package/build/es5/theme/buildin-theme/config.d.ts +2 -0
  573. package/build/es5/theme/buildin-theme/index.d.ts +5 -0
  574. package/build/es5/theme/buildin-theme/light/color-scheme.d.ts +2 -0
  575. package/build/es5/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
  576. package/build/es5/theme/buildin-theme/light/component/axis/cartesian-axis.d.ts +3 -0
  577. package/build/es5/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
  578. package/build/es5/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
  579. package/build/es5/theme/buildin-theme/light/component/axis/log-axis.d.ts +2 -0
  580. package/build/es5/theme/buildin-theme/light/component/axis/polar-axis.d.ts +3 -0
  581. package/build/es5/theme/buildin-theme/light/component/brush.d.ts +2 -0
  582. package/build/es5/theme/buildin-theme/light/component/crosshair.d.ts +2 -0
  583. package/build/es5/theme/buildin-theme/light/component/data-zoom.d.ts +2 -0
  584. package/build/es5/theme/buildin-theme/light/component/index.d.ts +2 -0
  585. package/build/es5/theme/buildin-theme/light/component/indicator.d.ts +2 -0
  586. package/build/es5/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
  587. package/build/es5/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
  588. package/build/es5/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
  589. package/build/es5/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
  590. package/build/es5/theme/buildin-theme/light/component/map-label.d.ts +2 -0
  591. package/build/es5/theme/buildin-theme/light/component/mark-area.d.ts +2 -0
  592. package/build/es5/theme/buildin-theme/light/component/mark-line.d.ts +2 -0
  593. package/build/es5/theme/buildin-theme/light/component/mark-point.d.ts +2 -0
  594. package/build/es5/theme/buildin-theme/light/component/player.d.ts +2 -0
  595. package/build/es5/theme/buildin-theme/light/component/poptip.d.ts +2 -0
  596. package/build/es5/theme/buildin-theme/light/component/title.d.ts +2 -0
  597. package/build/es5/theme/buildin-theme/light/component/tooltip.d.ts +2 -0
  598. package/build/es5/theme/buildin-theme/light/constants.d.ts +2 -0
  599. package/build/es5/theme/buildin-theme/light/index.d.ts +2 -0
  600. package/build/es5/theme/buildin-theme/light/mark.d.ts +3 -0
  601. package/build/es5/theme/buildin-theme/light/series/area.d.ts +2 -0
  602. package/build/es5/theme/buildin-theme/light/series/bar.d.ts +2 -0
  603. package/build/es5/theme/buildin-theme/light/series/bar3d.d.ts +2 -0
  604. package/build/es5/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
  605. package/build/es5/theme/buildin-theme/light/series/circle-packing.d.ts +2 -0
  606. package/build/es5/theme/buildin-theme/light/series/circular-progress.d.ts +2 -0
  607. package/build/es5/theme/buildin-theme/light/series/dot.d.ts +2 -0
  608. package/build/es5/theme/buildin-theme/light/series/funnel.d.ts +2 -0
  609. package/build/es5/theme/buildin-theme/light/series/funnel3d.d.ts +2 -0
  610. package/build/es5/theme/buildin-theme/light/series/gauge-pointer.d.ts +2 -0
  611. package/build/es5/theme/buildin-theme/light/series/gauge.d.ts +2 -0
  612. package/build/es5/theme/buildin-theme/light/series/heatmap.d.ts +2 -0
  613. package/build/es5/theme/buildin-theme/light/series/index.d.ts +2 -0
  614. package/build/es5/theme/buildin-theme/light/series/line.d.ts +2 -0
  615. package/build/es5/theme/buildin-theme/light/series/linear-progress.d.ts +2 -0
  616. package/build/es5/theme/buildin-theme/light/series/link.d.ts +2 -0
  617. package/build/es5/theme/buildin-theme/light/series/map.d.ts +2 -0
  618. package/build/es5/theme/buildin-theme/light/series/pie.d.ts +2 -0
  619. package/build/es5/theme/buildin-theme/light/series/pie3d.d.ts +2 -0
  620. package/build/es5/theme/buildin-theme/light/series/radar.d.ts +2 -0
  621. package/build/es5/theme/buildin-theme/light/series/rangeColumn.d.ts +2 -0
  622. package/build/es5/theme/buildin-theme/light/series/rose.d.ts +2 -0
  623. package/build/es5/theme/buildin-theme/light/series/sankey.d.ts +2 -0
  624. package/build/es5/theme/buildin-theme/light/series/scatter.d.ts +2 -0
  625. package/build/es5/theme/buildin-theme/light/series/sunburst.d.ts +2 -0
  626. package/build/es5/theme/buildin-theme/light/series/treemap.d.ts +2 -0
  627. package/build/es5/theme/buildin-theme/light/series/waterfall.d.ts +2 -0
  628. package/build/es5/theme/buildin-theme/light/series/word-cloud.d.ts +2 -0
  629. package/build/es5/theme/buildin-theme/light/series/word-cloud3d.d.ts +2 -0
  630. package/build/es5/theme/color-scheme/interface.d.ts +29 -0
  631. package/build/es5/theme/color-scheme/util.d.ts +8 -0
  632. package/build/es5/theme/index.d.ts +3 -0
  633. package/build/es5/theme/interface.d.ts +44 -0
  634. package/build/es5/theme/theme-manager.d.ts +13 -0
  635. package/build/es5/typings/common.d.ts +7 -0
  636. package/build/es5/typings/coordinate.d.ts +9 -0
  637. package/build/es5/typings/cursor.d.ts +1 -0
  638. package/build/es5/typings/data.d.ts +1 -0
  639. package/build/es5/typings/geo.d.ts +3 -0
  640. package/build/es5/typings/index.d.ts +13 -0
  641. package/build/es5/typings/interpolate.d.ts +5 -0
  642. package/build/es5/typings/line-stroke.d.ts +3 -0
  643. package/build/es5/typings/params.d.ts +17 -0
  644. package/build/es5/typings/scale.d.ts +33 -0
  645. package/build/es5/typings/shape.d.ts +27 -0
  646. package/build/es5/typings/space.d.ts +19 -0
  647. package/build/es5/typings/spec/chart.d.ts +59 -0
  648. package/build/es5/typings/spec/common.d.ts +250 -0
  649. package/build/es5/typings/spec/index.d.ts +4 -0
  650. package/build/es5/typings/tooltip/common.d.ts +8 -0
  651. package/build/es5/typings/tooltip/handler.d.ts +8 -0
  652. package/build/es5/typings/tooltip/index.d.ts +6 -0
  653. package/build/es5/typings/tooltip/line.d.ts +15 -0
  654. package/build/es5/typings/tooltip/position.d.ts +19 -0
  655. package/build/es5/typings/tooltip/shape.d.ts +14 -0
  656. package/build/es5/typings/tooltip/tooltip.d.ts +24 -0
  657. package/build/es5/typings/visual.d.ts +293 -0
  658. package/build/es5/util/array.d.ts +3 -0
  659. package/build/es5/util/color.d.ts +3 -0
  660. package/build/es5/util/data.d.ts +21 -0
  661. package/build/es5/util/debug.d.ts +9 -0
  662. package/build/es5/util/env.d.ts +7 -0
  663. package/build/es5/util/hierarchy.d.ts +3 -0
  664. package/build/es5/util/id.d.ts +2 -0
  665. package/build/es5/util/image.d.ts +4 -0
  666. package/build/es5/util/index.d.ts +22 -0
  667. package/build/es5/util/math.d.ts +41 -0
  668. package/build/es5/util/model.d.ts +4 -0
  669. package/build/es5/util/object.d.ts +5 -0
  670. package/build/es5/util/scale.d.ts +25 -0
  671. package/build/es5/util/space.d.ts +19 -0
  672. package/build/es5/util/spec.d.ts +10 -0
  673. package/build/es5/util/style.d.ts +4 -0
  674. package/build/es5/util/text.d.ts +9 -0
  675. package/build/es5/util/type.d.ts +7 -0
  676. package/build/es5/vchart-all.d.ts +2 -0
  677. package/build/es5/vchart-simple.d.ts +2 -0
  678. package/build/index.js +167 -98
  679. package/build/index.min.js +1 -1
  680. package/build/tsconfig.tsbuildinfo +1 -0
  681. package/cjs/component/axis/base-axis.d.ts +2 -0
  682. package/cjs/component/axis/base-axis.js +4 -2
  683. package/cjs/component/axis/base-axis.js.map +1 -1
  684. package/cjs/component/brush/brush.d.ts +6 -3
  685. package/cjs/component/brush/brush.js +56 -37
  686. package/cjs/component/brush/brush.js.map +1 -1
  687. package/cjs/component/brush/interface.d.ts +11 -8
  688. package/cjs/component/brush/interface.js +1 -7
  689. package/cjs/component/brush/interface.js.map +1 -1
  690. package/cjs/component/index.js +2 -1
  691. package/cjs/constant/hierarchy.js +1 -2
  692. package/cjs/core/factory.js +2 -1
  693. package/cjs/core/index.d.ts +1 -1
  694. package/cjs/core/index.js +1 -1
  695. package/cjs/core/index.js.map +1 -1
  696. package/cjs/data/initialize.js +1 -2
  697. package/cjs/event/events/dimension/util/cartesian.js +18 -11
  698. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  699. package/cjs/interaction/interaction.js +1 -2
  700. package/cjs/layout/base-layout.js +2 -1
  701. package/cjs/mark/arc-3d.js +1 -1
  702. package/cjs/mark/arc.js +1 -1
  703. package/cjs/mark/area.js +1 -1
  704. package/cjs/mark/box-plot.js +1 -1
  705. package/cjs/mark/cell.js +1 -1
  706. package/cjs/plugin/interface.js +1 -1
  707. package/cjs/region/interface.js +1 -1
  708. package/cjs/region/region.js +1 -1
  709. package/cjs/scale/color-ordinal-scale.js +1 -1
  710. package/cjs/scale/global-scale.js +1 -1
  711. package/esm/component/axis/base-axis.d.ts +2 -0
  712. package/esm/component/axis/base-axis.js +4 -2
  713. package/esm/component/axis/base-axis.js.map +1 -1
  714. package/esm/component/brush/brush.d.ts +6 -3
  715. package/esm/component/brush/brush.js +56 -37
  716. package/esm/component/brush/brush.js.map +1 -1
  717. package/esm/component/brush/interface.d.ts +11 -8
  718. package/esm/component/brush/interface.js +1 -7
  719. package/esm/component/brush/interface.js.map +1 -1
  720. package/esm/component/index.js +2 -1
  721. package/esm/constant/hierarchy.js +1 -2
  722. package/esm/core/factory.js +2 -1
  723. package/esm/core/index.d.ts +1 -1
  724. package/esm/core/index.js +1 -1
  725. package/esm/core/index.js.map +1 -1
  726. package/esm/data/initialize.js +1 -2
  727. package/esm/event/events/dimension/util/cartesian.js +19 -8
  728. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  729. package/esm/interaction/interaction.js +1 -2
  730. package/esm/layout/base-layout.js +2 -1
  731. package/esm/mark/arc-3d.js +1 -1
  732. package/esm/mark/arc.js +1 -1
  733. package/esm/mark/area.js +1 -1
  734. package/esm/mark/box-plot.js +1 -1
  735. package/esm/mark/cell.js +1 -1
  736. package/esm/plugin/interface.js +1 -1
  737. package/esm/region/interface.js +1 -1
  738. package/esm/region/region.js +1 -1
  739. package/esm/scale/color-ordinal-scale.js +1 -1
  740. package/esm/scale/global-scale.js +1 -1
  741. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":"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","file":"brush.js","sourcesContent":["import { ChartEvent, LayoutZIndex } from '../../constant';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Brush as BrushComponent } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, polygonContainPoint, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IGraphic, INode, IPolygon, IRectGraphicAttribute } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { IBrush, selectedItemStyle } from './interface';\n\nexport class Brush extends BaseComponent implements IBrush {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.Brush;\n\n static speckey = 'inBrush';\n\n // brush组件\n protected _brushComponents: BrushComponent[] = [];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n // FIXME: @chensiji 为了只执行一次initState\n private _isFristState: boolean = true;\n\n static createComponent(spec: any, options: IComponentOption) {\n const brushSpec = spec.brush || options.defaultSpec;\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [new Brush(brushSpec, { ...options, specKey: Brush.speckey })];\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push(elementsMap[brushName][elementKey].data[0]);\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _createBrushComponent(region: IRegion, componentIndex: number) {\n const seriesRegionStartX = region.getLayoutStartPoint().x;\n const seriesRegionEndX = seriesRegionStartX + region.getLayoutRect().width;\n const seriesRegionStartY = region.getLayoutStartPoint().y;\n const seriesRegionEndY = seriesRegionStartY + region.getLayoutRect().height;\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY],\n ...this._spec\n });\n\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n\n const { brushMode = 'single', removeOnClick = true } = this._spec;\n brush.setUpdateDragMaskCallback(\n (operateParams: {\n operateType: string;\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n }) => {\n const { operateType, operateMask } = operateParams;\n // 需要重置状态的情况:\n // 1. 组件第一次创建时, 前提是有 VGrammarMark, 目前只找到这个时机, 为了标记是否执行过, 添加_stateTag来识别\n // 2. 框选模式为'single' 且 removeOnClick 为true时, 单击会清空之前所有的mask, 此时也需要重置图元状态\n if (this._isFristState || (brushMode === 'single' && removeOnClick && operateType === 'drawStart')) {\n this._initMarkBrushState(componentIndex);\n }\n\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n let eventType: string = ChartEvent.brushChange;\n if (operateType === 'brushStart' || operateType === 'brushDown') {\n eventType = ChartEvent.brushStart;\n } else if (operateType === 'brushEnd' || operateType === 'brushMaskUp') {\n eventType = ChartEvent.brushEnd;\n } else {\n eventType = ChartEvent.brushChange;\n }\n\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n );\n this._brushComponents.push(brush);\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[el.key] && this._isBrushContainItem(operateMask, graphicItem)) {\n graphicItem.addState('inBrush');\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._outOfBrushElementsMap[el.key];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._outOfBrushElementsMap[el.key] = el;\n delete this._inBrushElementsMap[operateMask.name][el.key];\n }\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const regionOffsetX = s.getRegion().getLayoutStartPoint().x - region.getLayoutStartPoint().x;\n const regionOffsetY = s.getRegion().getLayoutStartPoint().y - region.getLayoutStartPoint().y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[el.key] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.addState('inBrush');\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._linkedOutOfBrushElementsMap[el.key];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._linkedOutOfBrushElementsMap[el.key] = el;\n }\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (item.type === 'symbol') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (item.type === 'rect') {\n const { width = 0, height = 0 } = item?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId)) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n allMarks.push(...s.getMarksWithoutRoot());\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.outOfBrush);\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 注册状态\n graphicItem.stateProxy = (stateName: string) => {\n if (stateName === 'inBrush') {\n return inBrushMarkAttr;\n }\n if (stateName === 'outOfBrush') {\n return outOfBrushMarkAttr;\n }\n return;\n };\n // 所有图元置为out brush状态\n graphicItem.addState('outOfBrush');\n this._outOfBrushElementsMap[el.key] = el;\n this._linkedOutOfBrushElementsMap[el.key] = el;\n });\n });\n });\n this._isFristState = false;\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建marker组件\n if (this._brushComponents.length === 0) {\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createBrushComponent(region, index);\n });\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":"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","file":"brush.js","sourcesContent":["import { ChartEvent, LayoutZIndex } from '../../constant';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { Brush as BrushComponent, IOperateType } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, polygonContainPoint, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IGraphic, INode, IPolygon, IRectGraphicAttribute } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { BrushInteractiveRangeAttr, IBrush, selectedItemStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nexport class Brush extends BaseComponent implements IBrush {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.Brush;\n\n static speckey = 'inBrush';\n\n // brush组件\n protected _brushComponents: BrushComponent[] = [];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n private _needInitOutState: boolean = true;\n private _isFristState: boolean = true;\n private _cacheInteractiveRangeAttrs: BrushInteractiveRangeAttr[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n const brushSpec = spec.brush || options.defaultSpec;\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [new Brush(brushSpec, { ...options, specKey: Brush.speckey })];\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push(elementsMap[brushName][elementKey].data[0]);\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _getBrushInteractiveAttr(region: IRegion) {\n const seriesRegionStartX = region.getLayoutStartPoint().x;\n const seriesRegionEndX = seriesRegionStartX + region.getLayoutRect().width;\n const seriesRegionStartY = region.getLayoutStartPoint().y;\n const seriesRegionEndY = seriesRegionStartY + region.getLayoutRect().height;\n return {\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY]\n } as BrushInteractiveRangeAttr;\n }\n\n protected _createOrUpdateBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n if (this._brushComponents.length === this._relativeRegions.length) {\n if (!isEqual(this._cacheInteractiveRangeAttrs[componentIndex], interactiveAttr)) {\n // 布局变化后, 更新可交互范围\n const brushComponent = this._brushComponents[componentIndex];\n brushComponent.setAttributes(interactiveAttr as any);\n\n // 布局变化后, 更新brush 和 图元状态\n // 方案一:\n // TODO: 更新mask位置(保持选框在画布中的相对位置)\n // TODO: 是否更新mask大小有待商榷(保持选框位置和图元高亮区域一致)\n\n // 方案二: 清空brushMask 和 图元高亮状态\n this._initMarkBrushState(componentIndex, '');\n brushComponent.children[0].removeAllChild();\n this._needInitOutState = true;\n }\n } else {\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n ...interactiveAttr,\n ...this._spec\n });\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n const { brushMode = 'single' } = this._spec;\n this._brushComponents.push(brush);\n this._cacheInteractiveRangeAttrs.push(interactiveAttr);\n brush.setUpdateDragMaskCallback(\n (operateParams: {\n operateType: string;\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n }) => {\n const { operateType, operateMask } = operateParams;\n\n // 需要重置out状态的情况:\n // 1. _isFristState: 组件第一次创建时, 前提是有 VGrammarMark, 目前只找到这个时机, 为了标记是否执行过, 添加_isFristState来识别\n // 2. _needInitOutState:框选模式为'single' 且 开始后的第一次drawing时(这里不选择drawStart而选择第一次触发drawing的时机是因为点击空白处也会触发drawStart), 需要重置图元状态\n if (\n this._isFristState ||\n (this._needInitOutState && brushMode === 'single' && operateType === IOperateType.drawing)\n ) {\n this._initMarkBrushState(componentIndex, 'outOfBrush');\n }\n\n // 下面的步骤是为了标记出第一次drawing状态的\n if (operateType === IOperateType.drawing) {\n this._needInitOutState = false;\n }\n if (operateType === IOperateType.drawEnd) {\n this._needInitOutState = true;\n }\n\n // 需要重置初始状态的情况:点击空白处clear所有状态\n if (operateType === IOperateType.brushClear) {\n this._initMarkBrushState(componentIndex, '');\n this._needInitOutState = true;\n }\n\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n let eventType: string = ChartEvent.brushChange;\n if (operateType === IOperateType.drawStart || operateType === IOperateType.moveStart) {\n eventType = ChartEvent.brushStart;\n } else if (operateType === IOperateType.drawEnd || operateType === IOperateType.moveEnd) {\n eventType = ChartEvent.brushEnd;\n } else {\n eventType = ChartEvent.brushChange;\n }\n\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n );\n }\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[el.key] && this._isBrushContainItem(operateMask, graphicItem)) {\n graphicItem.addState('inBrush');\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._outOfBrushElementsMap[el.key];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._outOfBrushElementsMap[el.key] = el;\n delete this._inBrushElementsMap[operateMask.name][el.key];\n }\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const regionOffsetX = s.getRegion().getLayoutStartPoint().x - region.getLayoutStartPoint().x;\n const regionOffsetY = s.getRegion().getLayoutStartPoint().y - region.getLayoutStartPoint().y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[el.key] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.addState('inBrush');\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._linkedOutOfBrushElementsMap[el.key];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._linkedOutOfBrushElementsMap[el.key] = el;\n }\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (item.type === 'symbol') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (item.type === 'rect') {\n const { width = 0, height = 0 } = item?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId)) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n allMarks.push(...s.getMarksWithoutRoot());\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number, stateName: string) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.outOfBrush);\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 注册状态\n graphicItem.stateProxy = (stateName: string) => {\n if (stateName === 'inBrush') {\n return inBrushMarkAttr;\n }\n if (stateName === 'outOfBrush') {\n return outOfBrushMarkAttr;\n }\n return;\n };\n // 所有图元置为out brush状态\n graphicItem.addState(stateName);\n this._outOfBrushElementsMap[el.key] = el;\n this._linkedOutOfBrushElementsMap[el.key] = el;\n });\n });\n });\n this._isFristState = false;\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建或更新marker组件\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createOrUpdateBrushComponent(region, index);\n });\n }\n }\n}\n"]}
@@ -20,6 +20,7 @@ export interface IBrushTheme {
20
20
  removeOnClick?: boolean;
21
21
  delayType?: IDelayType;
22
22
  delayTime?: number;
23
+ sizeThreshold?: number;
23
24
  }
24
25
  export interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {
25
26
  visible?: boolean;
@@ -33,12 +34,14 @@ export type selectedItemStyle = {
33
34
  color?: string;
34
35
  colorAlpha?: number;
35
36
  } & Partial<IPolygonMarkSpec>;
36
- export declare enum IOperateType {
37
- brushStart = "brushStart",
38
- brushEnd = "brushEnd",
39
- brushMaskUp = "brushMaskUp",
40
- brushing = "brushing",
41
- brushMaskDown = "brushMaskDown",
42
- brushMaskMove = "brushMaskMove"
43
- }
37
+ export type BrushInteractiveRangeAttr = {
38
+ interactiveRange: {
39
+ minY: number;
40
+ maxY: number;
41
+ minX: number;
42
+ maxX: number;
43
+ };
44
+ xRange: [number, number];
45
+ yRange: [number, number];
46
+ };
44
47
  export {};
@@ -1,8 +1,2 @@
1
- export var IOperateType;
2
-
3
- !function(IOperateType) {
4
- IOperateType.brushStart = "brushStart", IOperateType.brushEnd = "brushEnd", IOperateType.brushMaskUp = "brushMaskUp",
5
- IOperateType.brushing = "brushing", IOperateType.brushMaskDown = "brushMaskDown",
6
- IOperateType.brushMaskMove = "brushMaskMove";
7
- }(IOperateType || (IOperateType = {}));
1
+ export { };
8
2
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"AA+GA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;IACrB,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;AACjC,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport enum IOperateType {\n brushStart = 'brushStart',\n brushEnd = 'brushEnd',\n brushMaskUp = 'brushMaskUp',\n brushing = 'brushing',\n brushMaskDown = 'brushMaskDown',\n brushMaskMove = 'brushMaskMove'\n}\n"]}
1
+ {"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n /**\n * brush选框的大小阈值\n * @default 5\n * @since 1.2.0\n */\n sizeThreshold?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport type BrushInteractiveRangeAttr = {\n interactiveRange: {\n minY: number;\n maxY: number;\n minX: number;\n maxX: number;\n };\n xRange: [number, number];\n yRange: [number, number];\n};\n"]}
@@ -36,4 +36,5 @@ import { Tooltip } from "./tooltip";
36
36
 
37
37
  import { Label } from "./label";
38
38
 
39
- export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label };
39
+ export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label };
40
+ //# sourceMappingURL=index.js.map
@@ -4,5 +4,4 @@ export const DEFAULT_HIERARCHY_DEPTH = `${PREFIX}_HIERARCHY_DEPTH`;
4
4
 
5
5
  export const DEFAULT_HIERARCHY_ROOT = `${PREFIX}_HIERARCHY_ROOT`;
6
6
 
7
- export const DEFAULT_HIERARCHY_ROOT_INDEX = `${PREFIX}_HIERARCHY_ROOT_INDEX`;
8
- //# sourceMappingURL=hierarchy.js.map
7
+ export const DEFAULT_HIERARCHY_ROOT_INDEX = `${PREFIX}_HIERARCHY_ROOT_INDEX`;
@@ -66,4 +66,5 @@ Factory._regions = {}, Factory.transforms = {
66
66
  csv: csvParser,
67
67
  dsv: dsvParser,
68
68
  tsv: tsvParser
69
- }, Factory._layout = {};
69
+ }, Factory._layout = {};
70
+ //# sourceMappingURL=factory.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.2.0-beta.6";
4
+ export declare const version = "1.2.0-beta.7";
5
5
  export type { IVChart } from './interface';
6
6
  export * from '../event/interface';
7
7
  export * from '../typings/spec/common';
package/esm/core/index.js CHANGED
@@ -19,7 +19,7 @@ Factory.registerLayout("base", Layout);
19
19
 
20
20
  export { VChart, Factory };
21
21
 
22
- export const version = "1.2.0-beta.6";
22
+ export const version = "1.2.0-beta.7";
23
23
 
24
24
  export * from "../event/interface";
25
25
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAGtD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAa,CAAC,CAAC;AAGhD,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAKtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAGnC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.2.0-beta.6\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n\n// set default logger level to Level.error\nLogger.getInstance(LoggerLevel.Error);\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAGtD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAa,CAAC,CAAC;AAGhD,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAKtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAGnC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.2.0-beta.7\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n\n// set default logger level to Level.error\nLogger.getInstance(LoggerLevel.Error);\n"]}
@@ -66,5 +66,4 @@ export function dataToDataView(data, dataSet, sourceDataViews = [], ctx = {}) {
66
66
  }));
67
67
  }
68
68
  return dataView;
69
- }
70
- //# sourceMappingURL=initialize.js.map
69
+ }
@@ -6,6 +6,8 @@ import { isNil } from "@visactor/vutils";
6
6
 
7
7
  import { isXAxis } from "../../../../component/axis/cartesian/util";
8
8
 
9
+ import { Direction } from "../../../../typings";
10
+
9
11
  const getAxis = (chart, type, pos) => {
10
12
  const axesComponents = chart.getAllComponents().filter((c => "axes" === c.specKey && ("x" === type ? "bottom" === c.orient || "top" === c.orient : "left" === c.orient || "right" === c.orient) && isInRegionBound(chart, c, pos)));
11
13
  return axesComponents.length ? axesComponents : null;
@@ -22,16 +24,25 @@ const getAxis = (chart, type, pos) => {
22
24
  }, discreteXAxisGetDimensionField = series => series.fieldX[0], discreteYAxisGetDimensionField = series => series.fieldY[0], continuousXAxisGetDimensionField = series => [ series.fieldX[0], series.fieldX2 ], continuousYAxisGetDimensionField = series => [ series.fieldY[0], series.fieldY2 ];
23
25
 
24
26
  export const getCartesianDimensionInfo = (chart, pos) => {
27
+ var _a, _b;
25
28
  if (!chart) return null;
26
29
  if (!getFirstSeries(chart)) return null;
27
- const {x: x, y: y} = pos, xAxisList = getAxis(chart, "x", pos), yAxisList = getAxis(chart, "y", pos), targetAxisInfo = [];
28
- return xAxisList && xAxisList.forEach((axis => {
29
- const isDiscreteAxis = isDiscrete(axis.getScale().type), info = getDimensionInfoByPosition(axis, x, "x", isDiscreteAxis ? discreteXAxisGetDimensionField : continuousXAxisGetDimensionField);
30
- info && targetAxisInfo.push(info);
31
- })), yAxisList && yAxisList.forEach((axis => {
32
- const isDiscreteAxis = isDiscrete(axis.getScale().type), info = getDimensionInfoByPosition(axis, y, "y", isDiscreteAxis ? discreteYAxisGetDimensionField : continuousYAxisGetDimensionField);
33
- info && targetAxisInfo.push(info);
34
- })), targetAxisInfo.length ? targetAxisInfo : null;
30
+ const {x: x, y: y} = pos, xAxisList = null !== (_a = getAxis(chart, "x", pos)) && void 0 !== _a ? _a : [], yAxisList = null !== (_b = getAxis(chart, "y", pos)) && void 0 !== _b ? _b : [], bandAxisSet = new Set, linearAxisSet = new Set;
31
+ [ xAxisList, yAxisList ].forEach((axisList => axisList.forEach((axis => {
32
+ isDiscrete(axis.getScale().type) ? bandAxisSet.add(axis) : linearAxisSet.add(axis);
33
+ }))));
34
+ const targetAxisInfo = [], addAxisDimensionInfo = (orient, isDiscrete) => {
35
+ ("x" === orient ? xAxisList : yAxisList).forEach((axis => {
36
+ if ((isDiscrete ? bandAxisSet : linearAxisSet).has(axis)) {
37
+ const info = getDimensionInfoByPosition(axis, "x" === orient ? x : y, orient, "x" === orient ? isDiscrete ? discreteXAxisGetDimensionField : continuousXAxisGetDimensionField : isDiscrete ? discreteYAxisGetDimensionField : continuousYAxisGetDimensionField);
38
+ info && targetAxisInfo.push(info);
39
+ }
40
+ }));
41
+ };
42
+ return chart.getSpec().direction === Direction.horizontal ? (addAxisDimensionInfo("y", bandAxisSet.size > 0),
43
+ 0 === targetAxisInfo.length && addAxisDimensionInfo("x", bandAxisSet.size > 0)) : (addAxisDimensionInfo("x", bandAxisSet.size > 0),
44
+ 0 === targetAxisInfo.length && addAxisDimensionInfo("y", bandAxisSet.size > 0)),
45
+ targetAxisInfo.length ? targetAxisInfo : null;
35
46
  };
36
47
 
37
48
  export const getDimensionInfoByPosition = (axis, posValue, posKey, getDimensionField) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/events/dimension/util/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IChart } from '../../../../chart/interface';\nimport type { ILayoutPoint } from '../../../../model/interface';\nimport type { IDimensionInfo } from '../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport { getDimensionData, isInRegionBound } from './common';\nimport type { CartesianAxis } from '../../../../component/axis/cartesian';\nimport type { ICartesianSeries } from '../../../../series/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { AxisComponent } from '../../../../component/axis/base-axis';\nimport { isXAxis } from '../../../../component/axis/cartesian/util';\n\nconst getAxis = (chart: IChart, type: 'x' | 'y', pos: ILayoutPoint): CartesianAxis[] | null => {\n const axesComponents = chart\n .getAllComponents()\n .filter(\n c =>\n c.specKey === 'axes' &&\n (type === 'x'\n ? (c as AxisComponent).orient === 'bottom' || (c as AxisComponent).orient === 'top'\n : (c as AxisComponent).orient === 'left' || (c as AxisComponent).orient === 'right') &&\n isInRegionBound(chart, c as AxisComponent, pos)\n ) as CartesianAxis[];\n if (!axesComponents.length) {\n return null;\n }\n return axesComponents;\n};\n\nconst getFirstSeries = (chart: IChart) => {\n const regions = chart.getRegionsInIndex();\n for (let i = 0; i < regions.length; i++) {\n const r = regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s.coordinate === 'cartesian') {\n return s as ICartesianSeries;\n }\n }\n }\n return null;\n};\n\nconst discreteXAxisGetDimensionField = (series: ICartesianSeries) => series.fieldX[0];\nconst discreteYAxisGetDimensionField = (series: ICartesianSeries) => series.fieldY[0];\nconst continuousXAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldX[0], series.fieldX2];\nconst continuousYAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldY[0], series.fieldY2];\n\nexport const getCartesianDimensionInfo = (chart: IChart | undefined, pos: ILayoutPoint): IDimensionInfo[] | null => {\n if (!chart) {\n return null;\n }\n const series = getFirstSeries(chart);\n if (!series) {\n return null;\n }\n\n const { x, y } = pos;\n const xAxisList = getAxis(chart, 'x', pos);\n const yAxisList = getAxis(chart, 'y', pos);\n const targetAxisInfo: IDimensionInfo[] = [];\n\n if (xAxisList) {\n xAxisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n const info = getDimensionInfoByPosition(\n axis,\n x,\n 'x',\n isDiscreteAxis ? discreteXAxisGetDimensionField : continuousXAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n });\n }\n if (yAxisList) {\n yAxisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n const info = getDimensionInfoByPosition(\n axis,\n y,\n 'y',\n isDiscreteAxis ? discreteYAxisGetDimensionField : continuousYAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n });\n }\n if (!targetAxisInfo.length) {\n return null;\n }\n return targetAxisInfo;\n};\n\nexport const getDimensionInfoByPosition = (\n axis: CartesianAxis,\n posValue: number,\n posKey: 'x' | 'y',\n getDimensionField: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n const scalePos = posValue - axis.getLayoutStartPoint()[posKey];\n // 判断是否在 range 范围内\n if ((scalePos - scale.range()[0]) * (scalePos - scale.range()[1]) > 0) {\n return null;\n }\n\n const value = scale.invert(scalePos);\n return getDimensionInfoByValue(axis, value, getDimensionField);\n};\n\nexport const getDimensionInfoByValue = (\n axis: CartesianAxis,\n value: any,\n getDimensionField?: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n\n if (isNil(value)) {\n return null;\n }\n const domain = scale.domain();\n let index: number | undefined = domain.findIndex((v: any) => v?.toString() === value.toString());\n if (index < 0) {\n index = undefined;\n }\n\n const data = getDimensionData(\n value,\n axis,\n 'cartesian',\n getDimensionField ?? (isXAxis(axis.orient) ? discreteXAxisGetDimensionField : discreteYAxisGetDimensionField)\n );\n return { index, value, axis, data };\n};\n"]}
1
+ {"version":3,"sources":["../src/event/events/dimension/util/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IChart } from '../../../../chart/interface';\nimport type { ILayoutPoint } from '../../../../model/interface';\nimport type { IDimensionInfo } from '../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport { getDimensionData, isInRegionBound } from './common';\nimport type { CartesianAxis } from '../../../../component/axis/cartesian';\nimport type { ICartesianSeries } from '../../../../series/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { AxisComponent } from '../../../../component/axis/base-axis';\nimport { isXAxis } from '../../../../component/axis/cartesian/util';\nimport { Direction } from '../../../../typings';\n\nconst getAxis = (chart: IChart, type: 'x' | 'y', pos: ILayoutPoint): CartesianAxis[] | null => {\n const axesComponents = chart\n .getAllComponents()\n .filter(\n c =>\n c.specKey === 'axes' &&\n (type === 'x'\n ? (c as AxisComponent).orient === 'bottom' || (c as AxisComponent).orient === 'top'\n : (c as AxisComponent).orient === 'left' || (c as AxisComponent).orient === 'right') &&\n isInRegionBound(chart, c as AxisComponent, pos)\n ) as CartesianAxis[];\n if (!axesComponents.length) {\n return null;\n }\n return axesComponents;\n};\n\nconst getFirstSeries = (chart: IChart) => {\n const regions = chart.getRegionsInIndex();\n for (let i = 0; i < regions.length; i++) {\n const r = regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s.coordinate === 'cartesian') {\n return s as ICartesianSeries;\n }\n }\n }\n return null;\n};\n\nconst discreteXAxisGetDimensionField = (series: ICartesianSeries) => series.fieldX[0];\nconst discreteYAxisGetDimensionField = (series: ICartesianSeries) => series.fieldY[0];\nconst continuousXAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldX[0], series.fieldX2];\nconst continuousYAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldY[0], series.fieldY2];\n\nexport const getCartesianDimensionInfo = (chart: IChart | undefined, pos: ILayoutPoint): IDimensionInfo[] | null => {\n if (!chart) {\n return null;\n }\n const series = getFirstSeries(chart);\n if (!series) {\n return null;\n }\n\n const { x, y } = pos;\n const xAxisList = getAxis(chart, 'x', pos) ?? [];\n const yAxisList = getAxis(chart, 'y', pos) ?? [];\n\n const bandAxisSet: Set<CartesianAxis> = new Set();\n const linearAxisSet: Set<CartesianAxis> = new Set();\n [xAxisList, yAxisList].forEach(axisList =>\n axisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n if (isDiscreteAxis) {\n bandAxisSet.add(axis);\n } else {\n linearAxisSet.add(axis);\n }\n })\n );\n\n const targetAxisInfo: IDimensionInfo[] = [];\n\n const addAxisDimensionInfo = (orient: 'x' | 'y', isDiscrete: boolean) => {\n (orient === 'x' ? xAxisList : yAxisList).forEach(axis => {\n if ((isDiscrete ? bandAxisSet : linearAxisSet).has(axis)) {\n const info = getDimensionInfoByPosition(\n axis,\n orient === 'x' ? x : y,\n orient,\n orient === 'x'\n ? isDiscrete\n ? discreteXAxisGetDimensionField\n : continuousXAxisGetDimensionField\n : isDiscrete\n ? discreteYAxisGetDimensionField\n : continuousYAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n }\n });\n };\n\n // 优先筛选 band 轴,其次按照 direction 判断\n if (chart.getSpec().direction === Direction.horizontal) {\n addAxisDimensionInfo('y', bandAxisSet.size > 0);\n if (targetAxisInfo.length === 0) {\n addAxisDimensionInfo('x', bandAxisSet.size > 0);\n }\n } else {\n addAxisDimensionInfo('x', bandAxisSet.size > 0);\n if (targetAxisInfo.length === 0) {\n addAxisDimensionInfo('y', bandAxisSet.size > 0);\n }\n }\n\n if (!targetAxisInfo.length) {\n return null;\n }\n return targetAxisInfo;\n};\n\nexport const getDimensionInfoByPosition = (\n axis: CartesianAxis,\n posValue: number,\n posKey: 'x' | 'y',\n getDimensionField: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n const scalePos = posValue - axis.getLayoutStartPoint()[posKey];\n // 判断是否在 range 范围内\n if ((scalePos - scale.range()[0]) * (scalePos - scale.range()[1]) > 0) {\n return null;\n }\n\n const value = scale.invert(scalePos);\n return getDimensionInfoByValue(axis, value, getDimensionField);\n};\n\nexport const getDimensionInfoByValue = (\n axis: CartesianAxis,\n value: any,\n getDimensionField?: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n\n if (isNil(value)) {\n return null;\n }\n const domain = scale.domain();\n let index: number | undefined = domain.findIndex((v: any) => v?.toString() === value.toString());\n if (index < 0) {\n index = undefined;\n }\n\n const data = getDimensionData(\n value,\n axis,\n 'cartesian',\n getDimensionField ?? (isXAxis(axis.orient) ? discreteXAxisGetDimensionField : discreteYAxisGetDimensionField)\n );\n return { index, value, axis, data };\n};\n"]}
@@ -75,5 +75,4 @@ export class Interaction {
75
75
  }));
76
76
  })));
77
77
  }
78
- }
79
- //# sourceMappingURL=interaction.js.map
78
+ }
@@ -178,4 +178,5 @@ export class Layout {
178
178
  result.right = Math.max(result.right, outer.x2 - rightCurrent));
179
179
  })), result;
180
180
  }
181
- }
181
+ }
182
+ //# sourceMappingURL=base-layout.js.map
@@ -9,4 +9,4 @@ export class Arc3dMark extends BaseArcMark {
9
9
  }
10
10
 
11
11
  Arc3dMark.type = MarkTypeEnum.arc3d;
12
- //# sourceMappingURL=arc-3d.js.map
12
+ //# sourceMappingURL=arc-3d.js.map
package/esm/mark/arc.js CHANGED
@@ -40,4 +40,4 @@ export class ArcMark extends BaseArcMark {
40
40
  }
41
41
 
42
42
  ArcMark.type = MarkTypeEnum.arc;
43
- //# sourceMappingURL=arc.js.map
43
+ //# sourceMappingURL=arc.js.map
package/esm/mark/area.js CHANGED
@@ -17,4 +17,4 @@ export class AreaMark extends BaseLineMark {
17
17
  }
18
18
 
19
19
  AreaMark.type = MarkTypeEnum.area;
20
- //# sourceMappingURL=area.js.map
20
+ //# sourceMappingURL=area.js.map
@@ -29,4 +29,4 @@ export class BoxPlotMark extends BaseMark {
29
29
  }
30
30
 
31
31
  BoxPlotMark.type = MarkTypeEnum.boxPlot;
32
- //# sourceMappingURL=box-plot.js.map
32
+ //# sourceMappingURL=box-plot.js.map
package/esm/mark/cell.js CHANGED
@@ -14,4 +14,4 @@ export class CellMark extends BaseSymbolMark {
14
14
  }
15
15
 
16
16
  CellMark.type = MarkTypeEnum.cell;
17
- //# sourceMappingURL=cell.js.map
17
+ //# sourceMappingURL=cell.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -193,4 +193,4 @@ export class Region extends BaseModel {
193
193
  }
194
194
 
195
195
  Region.type = "region";
196
- //# sourceMappingURL=region.js.map
196
+ //# sourceMappingURL=region.js.map
@@ -15,4 +15,4 @@ export class ColorOrdinalScale extends OrdinalScale {
15
15
  super.range(range);
16
16
  }
17
17
  }
18
- //# sourceMappingURL=color-ordinal-scale.js.map
18
+ //# sourceMappingURL=color-ordinal-scale.js.map
@@ -141,4 +141,4 @@ export class GlobalScale {
141
141
  })), markScale;
142
142
  }
143
143
  }
144
- //# sourceMappingURL=global-scale.js.map
144
+ //# sourceMappingURL=global-scale.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "1.2.0-beta.6",
3
+ "version": "1.2.0-beta.7",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -65,13 +65,14 @@
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": "3.20.5",
68
69
  "node-fetch": "2.6.7",
69
70
  "form-data": "~4.0.0",
70
71
  "canvas": "2.11.2",
71
72
  "@internal/typescript-json-schema": "0.0.1",
72
- "@internal/bundler": "0.0.1",
73
+ "@internal/ts-config": "0.0.1",
73
74
  "@internal/eslint-config": "0.0.1",
74
- "@internal/ts-config": "0.0.1"
75
+ "@internal/bundler": "0.0.1"
75
76
  },
76
77
  "dependencies": {
77
78
  "@visactor/vutils": "~0.13.3",
@@ -92,8 +93,9 @@
92
93
  "registry": "https://registry.npmjs.org/"
93
94
  },
94
95
  "scripts": {
96
+ "build:es5": "rm -rf lib && rollup -c --bundleConfigAsCjs",
95
97
  "build:schema": "schema src/typings/spec/chart.ts ISpec --useTypeOfKeyword --ignoreErrors --required > ../vchart-schema/vchart.json",
96
- "build": "bundle --clean && npm run build:schema",
98
+ "build": "bundle --clean && npm run build:schema && npm run build:es5",
97
99
  "build:ci": "bundle --clean -f umd --minify=false --name ChartSpace",
98
100
  "dev": "bundle --clean -f es -w",
99
101
  "compile": "tsc --noEmit",