@visactor/react-vchart 0.10.0-alpha.3 → 0.11.6-alpha.2

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 (501) hide show
  1. package/cjs/VChart.d.ts +1 -3
  2. package/cjs/VChart.js +2 -2
  3. package/cjs/VChart.js.map +1 -1
  4. package/cjs/charts/AreaChart.d.ts +1 -1
  5. package/cjs/charts/AreaChart.js +3 -9
  6. package/cjs/charts/AreaChart.js.map +1 -1
  7. package/cjs/charts/Bar3dChart.d.ts +10 -0
  8. package/cjs/charts/Bar3dChart.js +13 -0
  9. package/cjs/charts/Bar3dChart.js.map +1 -0
  10. package/cjs/charts/BarChart.d.ts +1 -1
  11. package/cjs/charts/BarChart.js +3 -9
  12. package/cjs/charts/BarChart.js.map +1 -1
  13. package/cjs/charts/BaseChart.d.ts +5 -4
  14. package/cjs/charts/BaseChart.js +27 -16
  15. package/cjs/charts/BaseChart.js.map +1 -1
  16. package/cjs/charts/BoxPlotChart.d.ts +1 -1
  17. package/cjs/charts/BoxPlotChart.js +3 -9
  18. package/cjs/charts/BoxPlotChart.js.map +1 -1
  19. package/cjs/charts/CirclePackingChart.d.ts +10 -0
  20. package/cjs/charts/CirclePackingChart.js +13 -0
  21. package/cjs/charts/CirclePackingChart.js.map +1 -0
  22. package/cjs/charts/CircularProgressChart.d.ts +1 -1
  23. package/cjs/charts/CircularProgressChart.js +3 -9
  24. package/cjs/charts/CircularProgressChart.js.map +1 -1
  25. package/cjs/charts/CommonChart.d.ts +1 -1
  26. package/cjs/charts/CommonChart.js +3 -9
  27. package/cjs/charts/CommonChart.js.map +1 -1
  28. package/cjs/charts/CorrelationChart.d.ts +10 -0
  29. package/cjs/charts/CorrelationChart.js +13 -0
  30. package/cjs/charts/CorrelationChart.js.map +1 -0
  31. package/cjs/charts/Funnel3dChart.d.ts +10 -0
  32. package/cjs/charts/Funnel3dChart.js +13 -0
  33. package/cjs/charts/Funnel3dChart.js.map +1 -0
  34. package/cjs/charts/FunnelChart.d.ts +1 -1
  35. package/cjs/charts/FunnelChart.js +3 -9
  36. package/cjs/charts/FunnelChart.js.map +1 -1
  37. package/cjs/charts/GaugeChart.d.ts +10 -0
  38. package/cjs/charts/GaugeChart.js +13 -0
  39. package/cjs/charts/GaugeChart.js.map +1 -0
  40. package/cjs/charts/HeatmapChart.d.ts +10 -0
  41. package/cjs/charts/HeatmapChart.js +13 -0
  42. package/cjs/charts/HeatmapChart.js.map +1 -0
  43. package/cjs/charts/Histogram3dChart.d.ts +10 -0
  44. package/cjs/charts/Histogram3dChart.js +13 -0
  45. package/cjs/charts/Histogram3dChart.js.map +1 -0
  46. package/cjs/charts/HistogramChart.d.ts +1 -1
  47. package/cjs/charts/HistogramChart.js +3 -10
  48. package/cjs/charts/HistogramChart.js.map +1 -1
  49. package/cjs/charts/LineChart.d.ts +1 -1
  50. package/cjs/charts/LineChart.js +3 -9
  51. package/cjs/charts/LineChart.js.map +1 -1
  52. package/cjs/charts/LinearProgressChart.d.ts +1 -1
  53. package/cjs/charts/LinearProgressChart.js +3 -9
  54. package/cjs/charts/LinearProgressChart.js.map +1 -1
  55. package/cjs/charts/LiquidChart.d.ts +10 -0
  56. package/cjs/charts/LiquidChart.js +13 -0
  57. package/cjs/charts/LiquidChart.js.map +1 -0
  58. package/cjs/charts/MapChart.d.ts +1 -1
  59. package/cjs/charts/MapChart.js +3 -9
  60. package/cjs/charts/MapChart.js.map +1 -1
  61. package/cjs/charts/Pie3dChart.d.ts +10 -0
  62. package/cjs/charts/Pie3dChart.js +13 -0
  63. package/cjs/charts/Pie3dChart.js.map +1 -0
  64. package/cjs/charts/PieChart.d.ts +1 -1
  65. package/cjs/charts/PieChart.js +3 -9
  66. package/cjs/charts/PieChart.js.map +1 -1
  67. package/cjs/charts/RadarChart.d.ts +1 -1
  68. package/cjs/charts/RadarChart.js +3 -9
  69. package/cjs/charts/RadarChart.js.map +1 -1
  70. package/cjs/charts/RangeColumn3dChart.d.ts +10 -0
  71. package/cjs/charts/RangeColumn3dChart.js +13 -0
  72. package/cjs/charts/RangeColumn3dChart.js.map +1 -0
  73. package/cjs/charts/RangeColumnChart.d.ts +1 -1
  74. package/cjs/charts/RangeColumnChart.js +3 -9
  75. package/cjs/charts/RangeColumnChart.js.map +1 -1
  76. package/cjs/charts/RoseChart.d.ts +1 -1
  77. package/cjs/charts/RoseChart.js +4 -9
  78. package/cjs/charts/RoseChart.js.map +1 -1
  79. package/cjs/charts/SankeyChart.d.ts +10 -0
  80. package/cjs/charts/SankeyChart.js +13 -0
  81. package/cjs/charts/SankeyChart.js.map +1 -0
  82. package/cjs/charts/ScatterChart.d.ts +1 -1
  83. package/cjs/charts/ScatterChart.js +3 -9
  84. package/cjs/charts/ScatterChart.js.map +1 -1
  85. package/cjs/charts/SequenceChart.d.ts +1 -1
  86. package/cjs/charts/SequenceChart.js +3 -9
  87. package/cjs/charts/SequenceChart.js.map +1 -1
  88. package/cjs/charts/SunburstChart.d.ts +10 -0
  89. package/cjs/charts/SunburstChart.js +13 -0
  90. package/cjs/charts/SunburstChart.js.map +1 -0
  91. package/cjs/charts/TreemapChart.d.ts +10 -0
  92. package/cjs/charts/TreemapChart.js +13 -0
  93. package/cjs/charts/TreemapChart.js.map +1 -0
  94. package/cjs/charts/WaterfallChart.d.ts +10 -0
  95. package/cjs/charts/WaterfallChart.js +12 -0
  96. package/cjs/charts/WaterfallChart.js.map +1 -0
  97. package/cjs/charts/WordCloud3dChart.d.ts +10 -0
  98. package/cjs/charts/WordCloud3dChart.js +13 -0
  99. package/cjs/charts/WordCloud3dChart.js.map +1 -0
  100. package/cjs/charts/WordCloudChart.d.ts +1 -1
  101. package/cjs/charts/WordCloudChart.js +3 -9
  102. package/cjs/charts/WordCloudChart.js.map +1 -1
  103. package/cjs/charts/index.d.ts +26 -10
  104. package/cjs/charts/index.js +15 -7
  105. package/cjs/charts/index.js.map +1 -1
  106. package/cjs/charts/register.d.ts +3 -0
  107. package/cjs/charts/register.js +12 -0
  108. package/cjs/charts/register.js.map +1 -0
  109. package/cjs/components/BaseComponent.d.ts +1 -1
  110. package/cjs/components/BaseComponent.js +3 -2
  111. package/cjs/components/BaseComponent.js.map +1 -1
  112. package/cjs/components/Brush.js +2 -2
  113. package/cjs/components/Brush.js.map +1 -1
  114. package/cjs/components/ContinuousLegend.d.ts +5 -0
  115. package/cjs/components/ContinuousLegend.js +10 -0
  116. package/cjs/components/ContinuousLegend.js.map +1 -0
  117. package/cjs/components/DataZoom.js +2 -2
  118. package/cjs/components/DataZoom.js.map +1 -1
  119. package/cjs/components/Indicator.js +2 -2
  120. package/cjs/components/Indicator.js.map +1 -1
  121. package/cjs/components/Legend.js +2 -2
  122. package/cjs/components/Legend.js.map +1 -1
  123. package/cjs/components/Mark.js +2 -2
  124. package/cjs/components/Mark.js.map +1 -1
  125. package/cjs/components/MarkArea.js +2 -2
  126. package/cjs/components/MarkArea.js.map +1 -1
  127. package/cjs/components/MarkLine.js +2 -2
  128. package/cjs/components/MarkLine.js.map +1 -1
  129. package/cjs/components/MarkPoint.js +2 -2
  130. package/cjs/components/MarkPoint.js.map +1 -1
  131. package/cjs/components/Player.js +2 -2
  132. package/cjs/components/Player.js.map +1 -1
  133. package/cjs/components/Region.d.ts +1 -2
  134. package/cjs/components/Region.js.map +1 -1
  135. package/cjs/components/ScrollBar.js +2 -2
  136. package/cjs/components/ScrollBar.js.map +1 -1
  137. package/cjs/components/Title.js +2 -2
  138. package/cjs/components/Title.js.map +1 -1
  139. package/cjs/components/index.d.ts +2 -1
  140. package/cjs/components/index.js +2 -2
  141. package/cjs/components/index.js.map +1 -1
  142. package/cjs/components/tooltip/CanvasTooltip.d.ts +2 -0
  143. package/cjs/components/tooltip/CanvasTooltip.js +10 -0
  144. package/cjs/components/tooltip/CanvasTooltip.js.map +1 -0
  145. package/cjs/components/tooltip/Tooltip.d.ts +2 -0
  146. package/cjs/components/tooltip/Tooltip.js +10 -0
  147. package/cjs/components/tooltip/Tooltip.js.map +1 -0
  148. package/cjs/components/tooltip/constant.d.ts +1 -0
  149. package/cjs/components/tooltip/constant.js +10 -0
  150. package/cjs/components/tooltip/constant.js.map +1 -0
  151. package/cjs/components/tooltip/index.d.ts +4 -0
  152. package/cjs/components/tooltip/index.js +22 -0
  153. package/cjs/components/tooltip/index.js.map +1 -0
  154. package/cjs/components/tooltip/interface.d.ts +14 -0
  155. package/cjs/components/tooltip/interface.js +6 -0
  156. package/cjs/components/tooltip/interface.js.map +1 -0
  157. package/cjs/components/tooltip/util.d.ts +5 -0
  158. package/cjs/components/tooltip/util.js +47 -0
  159. package/cjs/components/tooltip/util.js.map +1 -0
  160. package/cjs/containers/withContainer.d.ts +1 -1
  161. package/cjs/containers/withContainer.js.map +1 -1
  162. package/cjs/index.d.ts +2 -1
  163. package/cjs/index.js +12 -3
  164. package/cjs/index.js.map +1 -1
  165. package/cjs/series/Area.js +2 -2
  166. package/cjs/series/Area.js.map +1 -1
  167. package/cjs/series/Bar.js +3 -3
  168. package/cjs/series/Bar.js.map +1 -1
  169. package/cjs/series/Bar3d.d.ts +7 -0
  170. package/cjs/series/Bar3d.js +10 -0
  171. package/cjs/series/Bar3d.js.map +1 -0
  172. package/cjs/series/BaseSeries.d.ts +1 -1
  173. package/cjs/series/BaseSeries.js +11 -9
  174. package/cjs/series/BaseSeries.js.map +1 -1
  175. package/cjs/series/BoxPlot.js +3 -3
  176. package/cjs/series/BoxPlot.js.map +1 -1
  177. package/cjs/series/CirclePacking.d.ts +7 -0
  178. package/cjs/series/CirclePacking.js +10 -0
  179. package/cjs/series/CirclePacking.js.map +1 -0
  180. package/cjs/series/CircularProgress.js +3 -3
  181. package/cjs/series/CircularProgress.js.map +1 -1
  182. package/cjs/series/Correlation.d.ts +7 -0
  183. package/cjs/series/Correlation.js +10 -0
  184. package/cjs/series/Correlation.js.map +1 -0
  185. package/cjs/series/Dot.js +3 -3
  186. package/cjs/series/Dot.js.map +1 -1
  187. package/cjs/series/Funnel.js +3 -3
  188. package/cjs/series/Funnel.js.map +1 -1
  189. package/cjs/series/Funnel3d.d.ts +7 -0
  190. package/cjs/series/Funnel3d.js +10 -0
  191. package/cjs/series/Funnel3d.js.map +1 -0
  192. package/cjs/series/Gauge.d.ts +7 -0
  193. package/cjs/series/Gauge.js +10 -0
  194. package/cjs/series/Gauge.js.map +1 -0
  195. package/cjs/series/Heatmap.d.ts +7 -0
  196. package/cjs/series/Heatmap.js +10 -0
  197. package/cjs/series/Heatmap.js.map +1 -0
  198. package/cjs/series/Line.js +3 -3
  199. package/cjs/series/Line.js.map +1 -1
  200. package/cjs/series/LinearProgress.js +3 -2
  201. package/cjs/series/LinearProgress.js.map +1 -1
  202. package/cjs/series/Link.js +3 -3
  203. package/cjs/series/Link.js.map +1 -1
  204. package/cjs/series/Liquid.d.ts +7 -0
  205. package/cjs/series/Liquid.js +10 -0
  206. package/cjs/series/Liquid.js.map +1 -0
  207. package/cjs/series/Map.js +3 -3
  208. package/cjs/series/Map.js.map +1 -1
  209. package/cjs/series/Pie.js +3 -3
  210. package/cjs/series/Pie.js.map +1 -1
  211. package/cjs/series/Pie3d.d.ts +7 -0
  212. package/cjs/series/Pie3d.js +10 -0
  213. package/cjs/series/Pie3d.js.map +1 -0
  214. package/cjs/series/Radar.js +3 -3
  215. package/cjs/series/Radar.js.map +1 -1
  216. package/cjs/series/RangeColumn.js +3 -3
  217. package/cjs/series/RangeColumn.js.map +1 -1
  218. package/cjs/series/RangeColumn3d.d.ts +7 -0
  219. package/cjs/series/RangeColumn3d.js +10 -0
  220. package/cjs/series/RangeColumn3d.js.map +1 -0
  221. package/cjs/series/Rose.js +3 -3
  222. package/cjs/series/Rose.js.map +1 -1
  223. package/cjs/series/Sankey.d.ts +7 -0
  224. package/cjs/series/Sankey.js +10 -0
  225. package/cjs/series/Sankey.js.map +1 -0
  226. package/cjs/series/Scatter.js +3 -3
  227. package/cjs/series/Scatter.js.map +1 -1
  228. package/cjs/series/Sunburst.d.ts +7 -0
  229. package/cjs/series/Sunburst.js +10 -0
  230. package/cjs/series/Sunburst.js.map +1 -0
  231. package/cjs/series/Treemap.d.ts +7 -0
  232. package/cjs/series/Treemap.js +10 -0
  233. package/cjs/series/Treemap.js.map +1 -0
  234. package/cjs/series/Waterfall.d.ts +7 -0
  235. package/cjs/series/Waterfall.js +10 -0
  236. package/cjs/series/Waterfall.js.map +1 -0
  237. package/cjs/series/WordCloud.js +2 -2
  238. package/cjs/series/WordCloud.js.map +1 -1
  239. package/cjs/series/WordCloud3d.d.ts +7 -0
  240. package/cjs/series/WordCloud3d.js +10 -0
  241. package/cjs/series/WordCloud3d.js.map +1 -0
  242. package/cjs/series/index.d.ts +24 -10
  243. package/cjs/series/index.js +16 -9
  244. package/cjs/series/index.js.map +1 -1
  245. package/cjs/util.d.ts +0 -1
  246. package/cjs/util.js +2 -10
  247. package/cjs/util.js.map +1 -1
  248. package/esm/VChart.d.ts +1 -3
  249. package/esm/VChart.js +1 -3
  250. package/esm/VChart.js.map +1 -1
  251. package/esm/charts/AreaChart.d.ts +1 -1
  252. package/esm/charts/AreaChart.js +4 -2
  253. package/esm/charts/AreaChart.js.map +1 -1
  254. package/esm/charts/Bar3dChart.d.ts +10 -0
  255. package/esm/charts/Bar3dChart.js +11 -0
  256. package/esm/charts/Bar3dChart.js.map +1 -0
  257. package/esm/charts/BarChart.d.ts +1 -1
  258. package/esm/charts/BarChart.js +4 -2
  259. package/esm/charts/BarChart.js.map +1 -1
  260. package/esm/charts/BaseChart.d.ts +5 -4
  261. package/esm/charts/BaseChart.js +29 -17
  262. package/esm/charts/BaseChart.js.map +1 -1
  263. package/esm/charts/BoxPlotChart.d.ts +1 -1
  264. package/esm/charts/BoxPlotChart.js +4 -2
  265. package/esm/charts/BoxPlotChart.js.map +1 -1
  266. package/esm/charts/CirclePackingChart.d.ts +10 -0
  267. package/esm/charts/CirclePackingChart.js +11 -0
  268. package/esm/charts/CirclePackingChart.js.map +1 -0
  269. package/esm/charts/CircularProgressChart.d.ts +1 -1
  270. package/esm/charts/CircularProgressChart.js +4 -2
  271. package/esm/charts/CircularProgressChart.js.map +1 -1
  272. package/esm/charts/CommonChart.d.ts +1 -1
  273. package/esm/charts/CommonChart.js +2 -2
  274. package/esm/charts/CommonChart.js.map +1 -1
  275. package/esm/charts/CorrelationChart.d.ts +10 -0
  276. package/esm/charts/CorrelationChart.js +11 -0
  277. package/esm/charts/CorrelationChart.js.map +1 -0
  278. package/esm/charts/Funnel3dChart.d.ts +10 -0
  279. package/esm/charts/Funnel3dChart.js +11 -0
  280. package/esm/charts/Funnel3dChart.js.map +1 -0
  281. package/esm/charts/FunnelChart.d.ts +1 -1
  282. package/esm/charts/FunnelChart.js +4 -2
  283. package/esm/charts/FunnelChart.js.map +1 -1
  284. package/esm/charts/GaugeChart.d.ts +10 -0
  285. package/esm/charts/GaugeChart.js +11 -0
  286. package/esm/charts/GaugeChart.js.map +1 -0
  287. package/esm/charts/HeatmapChart.d.ts +10 -0
  288. package/esm/charts/HeatmapChart.js +11 -0
  289. package/esm/charts/HeatmapChart.js.map +1 -0
  290. package/esm/charts/Histogram3dChart.d.ts +10 -0
  291. package/esm/charts/Histogram3dChart.js +11 -0
  292. package/esm/charts/Histogram3dChart.js.map +1 -0
  293. package/esm/charts/HistogramChart.d.ts +1 -1
  294. package/esm/charts/HistogramChart.js +4 -3
  295. package/esm/charts/HistogramChart.js.map +1 -1
  296. package/esm/charts/LineChart.d.ts +1 -1
  297. package/esm/charts/LineChart.js +4 -2
  298. package/esm/charts/LineChart.js.map +1 -1
  299. package/esm/charts/LinearProgressChart.d.ts +1 -1
  300. package/esm/charts/LinearProgressChart.js +4 -2
  301. package/esm/charts/LinearProgressChart.js.map +1 -1
  302. package/esm/charts/LiquidChart.d.ts +10 -0
  303. package/esm/charts/LiquidChart.js +11 -0
  304. package/esm/charts/LiquidChart.js.map +1 -0
  305. package/esm/charts/MapChart.d.ts +1 -1
  306. package/esm/charts/MapChart.js +4 -2
  307. package/esm/charts/MapChart.js.map +1 -1
  308. package/esm/charts/Pie3dChart.d.ts +10 -0
  309. package/esm/charts/Pie3dChart.js +11 -0
  310. package/esm/charts/Pie3dChart.js.map +1 -0
  311. package/esm/charts/PieChart.d.ts +1 -1
  312. package/esm/charts/PieChart.js +4 -2
  313. package/esm/charts/PieChart.js.map +1 -1
  314. package/esm/charts/RadarChart.d.ts +1 -1
  315. package/esm/charts/RadarChart.js +4 -2
  316. package/esm/charts/RadarChart.js.map +1 -1
  317. package/esm/charts/RangeColumn3dChart.d.ts +10 -0
  318. package/esm/charts/RangeColumn3dChart.js +11 -0
  319. package/esm/charts/RangeColumn3dChart.js.map +1 -0
  320. package/esm/charts/RangeColumnChart.d.ts +1 -1
  321. package/esm/charts/RangeColumnChart.js +4 -2
  322. package/esm/charts/RangeColumnChart.js.map +1 -1
  323. package/esm/charts/RoseChart.d.ts +1 -1
  324. package/esm/charts/RoseChart.js +5 -2
  325. package/esm/charts/RoseChart.js.map +1 -1
  326. package/esm/charts/SankeyChart.d.ts +10 -0
  327. package/esm/charts/SankeyChart.js +11 -0
  328. package/esm/charts/SankeyChart.js.map +1 -0
  329. package/esm/charts/ScatterChart.d.ts +1 -1
  330. package/esm/charts/ScatterChart.js +4 -2
  331. package/esm/charts/ScatterChart.js.map +1 -1
  332. package/esm/charts/SequenceChart.d.ts +1 -1
  333. package/esm/charts/SequenceChart.js +4 -2
  334. package/esm/charts/SequenceChart.js.map +1 -1
  335. package/esm/charts/SunburstChart.d.ts +10 -0
  336. package/esm/charts/SunburstChart.js +11 -0
  337. package/esm/charts/SunburstChart.js.map +1 -0
  338. package/esm/charts/TreemapChart.d.ts +10 -0
  339. package/esm/charts/TreemapChart.js +11 -0
  340. package/esm/charts/TreemapChart.js.map +1 -0
  341. package/esm/charts/WaterfallChart.d.ts +10 -0
  342. package/esm/charts/WaterfallChart.js +10 -0
  343. package/esm/charts/WaterfallChart.js.map +1 -0
  344. package/esm/charts/WordCloud3dChart.d.ts +10 -0
  345. package/esm/charts/WordCloud3dChart.js +11 -0
  346. package/esm/charts/WordCloud3dChart.js.map +1 -0
  347. package/esm/charts/WordCloudChart.d.ts +1 -1
  348. package/esm/charts/WordCloudChart.js +4 -2
  349. package/esm/charts/WordCloudChart.js.map +1 -1
  350. package/esm/charts/index.d.ts +26 -10
  351. package/esm/charts/index.js +43 -11
  352. package/esm/charts/index.js.map +1 -1
  353. package/esm/charts/register.d.ts +3 -0
  354. package/esm/charts/register.js +8 -0
  355. package/esm/charts/register.js.map +1 -0
  356. package/esm/components/BaseComponent.d.ts +1 -1
  357. package/esm/components/BaseComponent.js +5 -2
  358. package/esm/components/BaseComponent.js.map +1 -1
  359. package/esm/components/Brush.js +3 -1
  360. package/esm/components/Brush.js.map +1 -1
  361. package/esm/components/ContinuousLegend.d.ts +5 -0
  362. package/esm/components/ContinuousLegend.js +8 -0
  363. package/esm/components/ContinuousLegend.js.map +1 -0
  364. package/esm/components/DataZoom.js +3 -1
  365. package/esm/components/DataZoom.js.map +1 -1
  366. package/esm/components/Indicator.js +3 -1
  367. package/esm/components/Indicator.js.map +1 -1
  368. package/esm/components/Legend.js +3 -1
  369. package/esm/components/Legend.js.map +1 -1
  370. package/esm/components/Mark.js +3 -1
  371. package/esm/components/Mark.js.map +1 -1
  372. package/esm/components/MarkArea.js +3 -1
  373. package/esm/components/MarkArea.js.map +1 -1
  374. package/esm/components/MarkLine.js +3 -1
  375. package/esm/components/MarkLine.js.map +1 -1
  376. package/esm/components/MarkPoint.js +3 -1
  377. package/esm/components/MarkPoint.js.map +1 -1
  378. package/esm/components/Player.js +3 -1
  379. package/esm/components/Player.js.map +1 -1
  380. package/esm/components/Region.d.ts +1 -2
  381. package/esm/components/Region.js.map +1 -1
  382. package/esm/components/ScrollBar.js +3 -1
  383. package/esm/components/ScrollBar.js.map +1 -1
  384. package/esm/components/Title.js +3 -1
  385. package/esm/components/Title.js.map +1 -1
  386. package/esm/components/index.d.ts +2 -1
  387. package/esm/components/index.js +3 -1
  388. package/esm/components/index.js.map +1 -1
  389. package/esm/components/tooltip/CanvasTooltip.d.ts +2 -0
  390. package/esm/components/tooltip/CanvasTooltip.js +6 -0
  391. package/esm/components/tooltip/CanvasTooltip.js.map +1 -0
  392. package/esm/components/tooltip/Tooltip.d.ts +2 -0
  393. package/esm/components/tooltip/Tooltip.js +6 -0
  394. package/esm/components/tooltip/Tooltip.js.map +1 -0
  395. package/esm/components/tooltip/constant.d.ts +1 -0
  396. package/esm/components/tooltip/constant.js +4 -0
  397. package/esm/components/tooltip/constant.js.map +1 -0
  398. package/esm/components/tooltip/index.d.ts +4 -0
  399. package/esm/components/tooltip/index.js +8 -0
  400. package/esm/components/tooltip/index.js.map +1 -0
  401. package/esm/components/tooltip/interface.d.ts +14 -0
  402. package/esm/components/tooltip/interface.js +2 -0
  403. package/esm/components/tooltip/interface.js.map +1 -0
  404. package/esm/components/tooltip/util.d.ts +5 -0
  405. package/esm/components/tooltip/util.js +40 -0
  406. package/esm/components/tooltip/util.js.map +1 -0
  407. package/esm/containers/withContainer.d.ts +1 -1
  408. package/esm/containers/withContainer.js.map +1 -1
  409. package/esm/index.d.ts +2 -1
  410. package/esm/index.js +3 -1
  411. package/esm/index.js.map +1 -1
  412. package/esm/series/Area.js +3 -1
  413. package/esm/series/Area.js.map +1 -1
  414. package/esm/series/Bar.js +4 -2
  415. package/esm/series/Bar.js.map +1 -1
  416. package/esm/series/Bar3d.d.ts +7 -0
  417. package/esm/series/Bar3d.js +6 -0
  418. package/esm/series/Bar3d.js.map +1 -0
  419. package/esm/series/BaseSeries.d.ts +1 -1
  420. package/esm/series/BaseSeries.js +13 -9
  421. package/esm/series/BaseSeries.js.map +1 -1
  422. package/esm/series/BoxPlot.js +4 -2
  423. package/esm/series/BoxPlot.js.map +1 -1
  424. package/esm/series/CirclePacking.d.ts +7 -0
  425. package/esm/series/CirclePacking.js +6 -0
  426. package/esm/series/CirclePacking.js.map +1 -0
  427. package/esm/series/CircularProgress.js +4 -2
  428. package/esm/series/CircularProgress.js.map +1 -1
  429. package/esm/series/Correlation.d.ts +7 -0
  430. package/esm/series/Correlation.js +6 -0
  431. package/esm/series/Correlation.js.map +1 -0
  432. package/esm/series/Dot.js +4 -2
  433. package/esm/series/Dot.js.map +1 -1
  434. package/esm/series/Funnel.js +4 -2
  435. package/esm/series/Funnel.js.map +1 -1
  436. package/esm/series/Funnel3d.d.ts +7 -0
  437. package/esm/series/Funnel3d.js +6 -0
  438. package/esm/series/Funnel3d.js.map +1 -0
  439. package/esm/series/Gauge.d.ts +7 -0
  440. package/esm/series/Gauge.js +6 -0
  441. package/esm/series/Gauge.js.map +1 -0
  442. package/esm/series/Heatmap.d.ts +7 -0
  443. package/esm/series/Heatmap.js +6 -0
  444. package/esm/series/Heatmap.js.map +1 -0
  445. package/esm/series/Line.js +4 -2
  446. package/esm/series/Line.js.map +1 -1
  447. package/esm/series/LinearProgress.js +4 -1
  448. package/esm/series/LinearProgress.js.map +1 -1
  449. package/esm/series/Link.js +4 -2
  450. package/esm/series/Link.js.map +1 -1
  451. package/esm/series/Liquid.d.ts +7 -0
  452. package/esm/series/Liquid.js +6 -0
  453. package/esm/series/Liquid.js.map +1 -0
  454. package/esm/series/Map.js +4 -2
  455. package/esm/series/Map.js.map +1 -1
  456. package/esm/series/Pie.js +4 -2
  457. package/esm/series/Pie.js.map +1 -1
  458. package/esm/series/Pie3d.d.ts +7 -0
  459. package/esm/series/Pie3d.js +6 -0
  460. package/esm/series/Pie3d.js.map +1 -0
  461. package/esm/series/Radar.js +4 -2
  462. package/esm/series/Radar.js.map +1 -1
  463. package/esm/series/RangeColumn.js +4 -2
  464. package/esm/series/RangeColumn.js.map +1 -1
  465. package/esm/series/RangeColumn3d.d.ts +7 -0
  466. package/esm/series/RangeColumn3d.js +6 -0
  467. package/esm/series/RangeColumn3d.js.map +1 -0
  468. package/esm/series/Rose.js +4 -2
  469. package/esm/series/Rose.js.map +1 -1
  470. package/esm/series/Sankey.d.ts +7 -0
  471. package/esm/series/Sankey.js +6 -0
  472. package/esm/series/Sankey.js.map +1 -0
  473. package/esm/series/Scatter.js +4 -2
  474. package/esm/series/Scatter.js.map +1 -1
  475. package/esm/series/Sunburst.d.ts +7 -0
  476. package/esm/series/Sunburst.js +6 -0
  477. package/esm/series/Sunburst.js.map +1 -0
  478. package/esm/series/Treemap.d.ts +7 -0
  479. package/esm/series/Treemap.js +6 -0
  480. package/esm/series/Treemap.js.map +1 -0
  481. package/esm/series/Waterfall.d.ts +7 -0
  482. package/esm/series/Waterfall.js +6 -0
  483. package/esm/series/Waterfall.js.map +1 -0
  484. package/esm/series/WordCloud.js +3 -1
  485. package/esm/series/WordCloud.js.map +1 -1
  486. package/esm/series/WordCloud3d.d.ts +7 -0
  487. package/esm/series/WordCloud3d.js +6 -0
  488. package/esm/series/WordCloud3d.js.map +1 -0
  489. package/esm/series/index.d.ts +24 -10
  490. package/esm/series/index.js +40 -12
  491. package/esm/series/index.js.map +1 -1
  492. package/esm/util.d.ts +0 -1
  493. package/esm/util.js +0 -4
  494. package/esm/util.js.map +1 -1
  495. package/package.json +6 -6
  496. package/cjs/components/Tooltip.d.ts +0 -4
  497. package/cjs/components/Tooltip.js +0 -10
  498. package/cjs/components/Tooltip.js.map +0 -1
  499. package/esm/components/Tooltip.d.ts +0 -4
  500. package/esm/components/Tooltip.js +0 -4
  501. package/esm/components/Tooltip.js.map +0 -1
@@ -17,13 +17,20 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), __exportStar(require("./Series"), exports), __exportStar(require("./Line"), exports),
21
- __exportStar(require("./Area"), exports), __exportStar(require("./Bar"), exports),
22
- __exportStar(require("./Scatter"), exports), __exportStar(require("./Map"), exports),
23
- __exportStar(require("./Pie"), exports), __exportStar(require("./Rose"), exports),
24
- __exportStar(require("./Radar"), exports), __exportStar(require("./Dot"), exports),
25
- __exportStar(require("./Link"), exports), __exportStar(require("./CircularProgress"), exports),
26
- __exportStar(require("./WordCloud"), exports), __exportStar(require("./Funnel"), exports),
27
- __exportStar(require("./LinearProgress"), exports), __exportStar(require("./RangeColumn"), exports),
28
- __exportStar(require("./BoxPlot"), exports);
20
+ }), __exportStar(require("./Series"), exports), __exportStar(require("./Area"), exports),
21
+ __exportStar(require("./Bar"), exports), __exportStar(require("./Bar3d"), exports),
22
+ __exportStar(require("./BoxPlot"), exports), __exportStar(require("./CirclePacking"), exports),
23
+ __exportStar(require("./CircularProgress"), exports), __exportStar(require("./Correlation"), exports),
24
+ __exportStar(require("./Dot"), exports), __exportStar(require("./Funnel"), exports),
25
+ __exportStar(require("./Funnel3d"), exports), __exportStar(require("./Gauge"), exports),
26
+ __exportStar(require("./Heatmap"), exports), __exportStar(require("./Line"), exports),
27
+ __exportStar(require("./LinearProgress"), exports), __exportStar(require("./Link"), exports),
28
+ __exportStar(require("./Liquid"), exports), __exportStar(require("./Map"), exports),
29
+ __exportStar(require("./Pie"), exports), __exportStar(require("./Pie3d"), exports),
30
+ __exportStar(require("./Radar"), exports), __exportStar(require("./RangeColumn"), exports),
31
+ __exportStar(require("./RangeColumn3d"), exports), __exportStar(require("./Rose"), exports),
32
+ __exportStar(require("./Sankey"), exports), __exportStar(require("./Scatter"), exports),
33
+ __exportStar(require("./Sunburst"), exports), __exportStar(require("./Treemap"), exports),
34
+ __exportStar(require("./Waterfall"), exports), __exportStar(require("./WordCloud"), exports),
35
+ __exportStar(require("./WordCloud3d"), exports);
29
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,yCAAuB;AACvB,yCAAuB;AACvB,wCAAsB;AACtB,4CAA0B;AAC1B,wCAAsB;AACtB,wCAAsB;AACtB,yCAAuB;AACvB,0CAAwB;AACxB,wCAAsB;AACtB,yCAAuB;AACvB,qDAAmC;AACnC,8CAA4B;AAC5B,2CAAyB;AACzB,mDAAiC;AACjC,gDAA8B;AAC9B,4CAA0B","file":"index.js","sourcesContent":["export * from './Series';\n\nexport * from './Line';\nexport * from './Area';\nexport * from './Bar';\nexport * from './Scatter';\nexport * from './Map';\nexport * from './Pie';\nexport * from './Rose';\nexport * from './Radar';\nexport * from './Dot';\nexport * from './Link';\nexport * from './CircularProgress';\nexport * from './WordCloud';\nexport * from './Funnel';\nexport * from './LinearProgress';\nexport * from './RangeColumn';\nexport * from './BoxPlot';\n"]}
1
+ {"version":3,"sources":["../src/series/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,yCAAuB;AACvB,wCAAsB;AACtB,0CAAwB;AACxB,4CAA0B;AAE1B,kDAAgC;AAChC,qDAAmC;AACnC,gDAA8B;AAC9B,wCAAsB;AACtB,2CAAyB;AACzB,6CAA2B;AAE3B,0CAAwB;AACxB,4CAA0B;AAC1B,yCAAuB;AACvB,mDAAiC;AACjC,yCAAuB;AACvB,2CAAyB;AAEzB,wCAAsB;AACtB,wCAAsB;AACtB,0CAAwB;AACxB,0CAAwB;AACxB,gDAA8B;AAC9B,kDAAgC;AAChC,yCAAuB;AAEvB,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B;AAC5B,8CAA4B;AAC5B,gDAA8B","file":"index.js","sourcesContent":["export * from './Series';\n\nexport * from './Area';\nexport * from './Bar';\nexport * from './Bar3d';\nexport * from './BoxPlot';\n\nexport * from './CirclePacking';\nexport * from './CircularProgress';\nexport * from './Correlation';\nexport * from './Dot';\nexport * from './Funnel';\nexport * from './Funnel3d';\n\nexport * from './Gauge';\nexport * from './Heatmap';\nexport * from './Line';\nexport * from './LinearProgress';\nexport * from './Link';\nexport * from './Liquid';\n\nexport * from './Map';\nexport * from './Pie';\nexport * from './Pie3d';\nexport * from './Radar';\nexport * from './RangeColumn';\nexport * from './RangeColumn3d';\nexport * from './Rose';\n\nexport * from './Sankey';\nexport * from './Scatter';\nexport * from './Sunburst';\nexport * from './Treemap';\nexport * from './Waterfall';\nexport * from './WordCloud';\nexport * from './WordCloud3d';\n"]}
package/cjs/util.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import React, { ReactNode } from 'react';
2
- export declare const uid: (prefix?: string) => string;
3
2
  export declare const getDisplayName: (Comp: any) => any;
4
3
  export declare const typeOfComponent: (component: any, customTypeKey?: string) => string;
5
4
  export declare const toArray: <T = React.ReactNode, TC = React.ReactNode>(children: T) => TC[];
package/cjs/util.js CHANGED
@@ -8,17 +8,9 @@ var __importDefault = this && this.__importDefault || function(mod) {
8
8
 
9
9
  Object.defineProperty(exports, "__esModule", {
10
10
  value: !0
11
- }), exports.findChildByType = exports.findAllByType = exports.toArray = exports.typeOfComponent = exports.getDisplayName = exports.uid = void 0;
11
+ }), exports.findChildByType = exports.findAllByType = exports.toArray = exports.typeOfComponent = exports.getDisplayName = void 0;
12
12
 
13
- const vutils_1 = require("@visactor/vutils"), react_1 = __importDefault(require("react")), react_is_1 = require("react-is");
14
-
15
- let id = 0;
16
-
17
- const uid = prefix => prefix ? `${prefix}-${id++}` : "" + id++;
18
-
19
- exports.uid = uid;
20
-
21
- const getDisplayName = Comp => "string" == typeof Comp ? Comp : Comp ? Comp.displayName || Comp.name : "";
13
+ const vutils_1 = require("@visactor/vutils"), react_1 = __importDefault(require("react")), react_is_1 = require("react-is"), getDisplayName = Comp => "string" == typeof Comp ? Comp : Comp ? Comp.displayName || Comp.name : "";
22
14
 
23
15
  exports.getDisplayName = getDisplayName;
24
16
 
package/cjs/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, isArray, isString, isFunction, isPlainObject } from '@visactor/vutils';\nimport React, { ReactNode } from 'react';\nimport { isFragment } from 'react-is';\n\nlet id = 0;\n\nexport const uid = (prefix?: string) => {\n if (prefix) {\n return `${prefix}-${id++}`;\n }\n\n return `${id++}`;\n};\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport const getDisplayName = (Comp: any) => {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name;\n};\n\nexport const typeOfComponent = (component: any, customTypeKey = '__TYPE'): string => {\n return (\n (component?.props && component.props[customTypeKey]) ||\n (typeof component?.type === 'string' && component.type) ||\n (component?.type &&\n typeof component.type === 'symbol' &&\n component.type.toString() === 'Symbol(react.fragment)' &&\n 'react.fragment') ||\n (typeof component?.type === 'function' && component.type) ||\n (typeof component?.type === 'object' &&\n component.type.$$typeof.toString() === 'Symbol(react.forward_ref)' &&\n 'react.forward_ref') ||\n (typeof component === 'string' && 'string') ||\n (typeof component === 'function' && 'function') ||\n undefined\n );\n};\n\nexport const toArray = <T = ReactNode, TC = ReactNode>(children: T): TC[] => {\n let result: TC[] = [];\n\n React.Children.forEach(children, child => {\n if (isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child as unknown as TC);\n }\n });\n\n return result;\n};\n\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\nexport const findAllByType = <T extends React.ReactNode, TC = unknown>(\n children: React.ReactNode,\n type: TC | TC[]\n): T[] => {\n const result: T[] = [];\n let types: string[] = [];\n\n if (isArray(type)) {\n types = type.map(t => getDisplayName(t));\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(child => {\n const childType = getDisplayName(typeOfComponent(child));\n\n if (types.indexOf(childType) !== -1) {\n result.push(child as T);\n }\n });\n\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\nexport const findChildByType = <T extends React.ReactNode, TC = unknown>(children: React.ReactNode, type: TC): T => {\n const result = findAllByType<T, TC>(children, type);\n\n return result?.[0];\n};\n"]}
1
+ {"version":3,"sources":["../src/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, isArray } from '@visactor/vutils';\nimport React, { ReactNode } from 'react';\nimport { isFragment } from 'react-is';\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport const getDisplayName = (Comp: any) => {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name;\n};\n\nexport const typeOfComponent = (component: any, customTypeKey = '__TYPE'): string => {\n return (\n (component?.props && component.props[customTypeKey]) ||\n (typeof component?.type === 'string' && component.type) ||\n (component?.type &&\n typeof component.type === 'symbol' &&\n component.type.toString() === 'Symbol(react.fragment)' &&\n 'react.fragment') ||\n (typeof component?.type === 'function' && component.type) ||\n (typeof component?.type === 'object' &&\n component.type.$$typeof.toString() === 'Symbol(react.forward_ref)' &&\n 'react.forward_ref') ||\n (typeof component === 'string' && 'string') ||\n (typeof component === 'function' && 'function') ||\n undefined\n );\n};\n\nexport const toArray = <T = ReactNode, TC = ReactNode>(children: T): TC[] => {\n let result: TC[] = [];\n\n React.Children.forEach(children, child => {\n if (isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child as unknown as TC);\n }\n });\n\n return result;\n};\n\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\nexport const findAllByType = <T extends React.ReactNode, TC = unknown>(\n children: React.ReactNode,\n type: TC | TC[]\n): T[] => {\n const result: T[] = [];\n let types: string[] = [];\n\n if (isArray(type)) {\n types = type.map(t => getDisplayName(t));\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(child => {\n const childType = getDisplayName(typeOfComponent(child));\n\n if (types.indexOf(childType) !== -1) {\n result.push(child as T);\n }\n });\n\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\nexport const findChildByType = <T extends React.ReactNode, TC = unknown>(children: React.ReactNode, type: TC): T => {\n const result = findAllByType<T, TC>(children, type);\n\n return result?.[0];\n};\n"]}
package/esm/VChart.d.ts CHANGED
@@ -1,5 +1,3 @@
1
1
  import { BaseChartProps } from './charts/BaseChart';
2
- import VChartCore from '@visactor/vchart';
3
- export { VChartCore };
4
- export type VChartProps = Omit<BaseChartProps, 'container' | 'data' | 'width' | 'height' | 'type'>;
2
+ export type VChartProps = Omit<BaseChartProps, 'container' | 'width' | 'height' | 'type'>;
5
3
  export declare const VChart: import("react").ForwardRefExoticComponent<VChartProps & import("./containers/withContainer").ContainerProps & import("react").RefAttributes<any>>;
package/esm/VChart.js CHANGED
@@ -1,8 +1,6 @@
1
1
  import { createChart } from "./charts/BaseChart";
2
2
 
3
- import VChartCore from "@visactor/vchart";
4
-
5
- export { VChartCore };
3
+ import { default as VChartCore } from "@visactor/vchart";
6
4
 
7
5
  export const VChart = createChart("VChart", {
8
6
  vchartConstrouctor: VChartCore
package/esm/VChart.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,CAAC;AAItB,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAc,QAAQ,EAAE;IACvD,kBAAkB,EAAE,UAAU;CAC/B,CAAC,CAAC","file":"VChart.js","sourcesContent":["import { BaseChartProps, createChart } from './charts/BaseChart';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport VChartCore from '@visactor/vchart';\nexport { VChartCore };\n\nexport type VChartProps = Omit<BaseChartProps, 'container' | 'data' | 'width' | 'height' | 'type'>;\n\nexport const VChart = createChart<VChartProps>('VChart', {\n vchartConstrouctor: VChartCore\n});\n"]}
1
+ {"version":3,"sources":["../src/VChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAc,QAAQ,EAAE;IACvD,kBAAkB,EAAE,UAAU;CAC/B,CAAC,CAAC","file":"VChart.js","sourcesContent":["import { BaseChartProps, createChart } from './charts/BaseChart';\nimport { default as VChartCore } from '@visactor/vchart';\nexport type VChartProps = Omit<BaseChartProps, 'container' | 'width' | 'height' | 'type'>;\n\nexport const VChart = createChart<VChartProps>('VChart', {\n vchartConstrouctor: VChartCore\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { IAreaChartSpec } from '@visactor/vchart';
3
3
  import { BaseChartProps } from './BaseChart';
4
- export interface AreaChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>, Omit<IAreaChartSpec, 'type'> {
4
+ export interface AreaChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<IAreaChartSpec, 'type'> {
5
5
  }
6
6
  export declare const AreaChart: React.ForwardRefExoticComponent<AreaChartProps & {
7
7
  children?: React.ReactNode;
@@ -1,9 +1,11 @@
1
- import { default as VChart } from "@visactor/vchart";
1
+ import { VChart, registerAreaChart, registerLabel } from "@visactor/vchart";
2
2
 
3
3
  import { createChart } from "./BaseChart";
4
4
 
5
+ import { cartesianComponentsRegisters } from "./register";
6
+
5
7
  export const AreaChart = createChart("AreaChart", {
6
8
  type: "area",
7
9
  vchartConstrouctor: VChart
8
- });
10
+ }, [ registerAreaChart, registerLabel, ...cartesianComponentsRegisters ]);
9
11
  //# sourceMappingURL=AreaChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/AreaChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1D,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAA6D,WAAW,EAAE;IAC5G,IAAI,EAAE,MAAM;IACZ,kBAAkB,EAAE,MAAM;CAC3B,CAAC,CAAC","file":"AreaChart.js","sourcesContent":["import React from 'react';\nimport type { IAreaChartSpec } from '@visactor/vchart';\nimport { default as VChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface AreaChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>,\n Omit<IAreaChartSpec, 'type'> {}\n\nexport const AreaChart = createChart<React.PropsWithChildren<AreaChartProps> & { type: 'area' }>('AreaChart', {\n type: 'area',\n vchartConstrouctor: VChart\n});\n"]}
1
+ {"version":3,"sources":["../src/charts/AreaChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAM1D,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAClC,WAAW,EACX;IACE,IAAI,EAAE,MAAM;IACZ,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,4BAA4B,CAAC,CACpE,CAAC","file":"AreaChart.js","sourcesContent":["import React from 'react';\nimport type { IAreaChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerAreaChart, registerLabel } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { cartesianComponentsRegisters } from './register';\n\nexport interface AreaChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<IAreaChartSpec, 'type'> {}\n\nexport const AreaChart = createChart<React.PropsWithChildren<AreaChartProps> & { type: 'area' }>(\n 'AreaChart',\n {\n type: 'area',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerAreaChart, registerLabel, ...cartesianComponentsRegisters]\n);\n"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { IBar3dChartSpec } from '@visactor/vchart';
3
+ import { BaseChartProps } from './BaseChart';
4
+ export interface Bar3dChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<IBar3dChartSpec, 'type'> {
5
+ }
6
+ export declare const Bar3dChart: React.ForwardRefExoticComponent<Bar3dChartProps & {
7
+ children?: React.ReactNode;
8
+ } & {
9
+ type: 'bar3d';
10
+ } & import("../containers/withContainer").ContainerProps & React.RefAttributes<any>>;
@@ -0,0 +1,11 @@
1
+ import { VChart, registerBar3dChart, registerLabel, registerTotalLabel } from "@visactor/vchart";
2
+
3
+ import { createChart } from "./BaseChart";
4
+
5
+ import { cartesianComponentsRegisters } from "./register";
6
+
7
+ export const Bar3dChart = createChart("Bar3dChart", {
8
+ type: "bar3d",
9
+ vchartConstrouctor: VChart
10
+ }, [ registerBar3dChart, registerLabel, registerTotalLabel, ...cartesianComponentsRegisters ]);
11
+ //# sourceMappingURL=Bar3dChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/Bar3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAQ1D,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CACnC,YAAY,EACZ;IACE,IAAI,EAAE,OAAO;IACb,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,4BAA4B,CAAC,CACzF,CAAC","file":"Bar3dChart.js","sourcesContent":["import React from 'react';\nimport type { IBar3dChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerBar3dChart, registerLabel, registerTotalLabel } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { cartesianComponentsRegisters } from './register';\n\nexport interface Bar3dChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<IBar3dChartSpec, 'type'> {\n //\n}\n\nexport const Bar3dChart = createChart<React.PropsWithChildren<Bar3dChartProps> & { type: 'bar3d' }>(\n 'Bar3dChart',\n {\n type: 'bar3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerBar3dChart, registerLabel, registerTotalLabel, ...cartesianComponentsRegisters]\n);\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { IBarChartSpec } from '@visactor/vchart';
3
3
  import { BaseChartProps } from './BaseChart';
4
- export interface BarChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>, Omit<IBarChartSpec, 'type'> {
4
+ export interface BarChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<IBarChartSpec, 'type'> {
5
5
  }
6
6
  export declare const BarChart: React.ForwardRefExoticComponent<BarChartProps & {
7
7
  children?: React.ReactNode;
@@ -1,9 +1,11 @@
1
- import { default as VChart } from "@visactor/vchart";
1
+ import { VChart, registerBarChart, registerLabel, registerTotalLabel } from "@visactor/vchart";
2
2
 
3
3
  import { createChart } from "./BaseChart";
4
4
 
5
+ import { cartesianComponentsRegisters } from "./register";
6
+
5
7
  export const BarChart = createChart("BarChart", {
6
8
  type: "bar",
7
9
  vchartConstrouctor: VChart
8
- });
10
+ }, [ registerBarChart, registerLabel, registerTotalLabel, ...cartesianComponentsRegisters ]);
9
11
  //# sourceMappingURL=BarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/BarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ1D,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAA2D,UAAU,EAAE;IACxG,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,MAAM;CAC3B,CAAC,CAAC","file":"BarChart.js","sourcesContent":["import React from 'react';\nimport type { IBarChartSpec } from '@visactor/vchart';\nimport { default as VChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface BarChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>,\n Omit<IBarChartSpec, 'type'> {\n //\n}\n\nexport const BarChart = createChart<React.PropsWithChildren<BarChartProps> & { type: 'bar' }>('BarChart', {\n type: 'bar',\n vchartConstrouctor: VChart\n});\n"]}
1
+ {"version":3,"sources":["../src/charts/BarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAQ1D,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CACjC,UAAU,EACV;IACE,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,4BAA4B,CAAC,CACvF,CAAC","file":"BarChart.js","sourcesContent":["import React from 'react';\nimport type { IBarChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerBarChart, registerLabel, registerTotalLabel } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { cartesianComponentsRegisters } from './register';\n\nexport interface BarChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<IBarChartSpec, 'type'> {\n //\n}\n\nexport const BarChart = createChart<React.PropsWithChildren<BarChartProps> & { type: 'bar' }>(\n 'BarChart',\n {\n type: 'bar',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerBarChart, registerLabel, registerTotalLabel, ...cartesianComponentsRegisters]\n);\n"]}
@@ -1,14 +1,15 @@
1
- import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor } from '@visactor/vchart';
1
+ import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor, IHierarchyData } from '@visactor/vchart';
2
2
  import React from 'react';
3
3
  import { ContainerProps } from '../containers/withContainer';
4
4
  import { EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps } from '../eventsUtils';
5
+ import { IReactTooltipProps } from '../components/tooltip/interface';
5
6
  export type ChartOptions = Omit<IInitOption, 'dom'>;
6
- export interface BaseChartProps extends EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps {
7
+ export interface BaseChartProps extends EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps, IReactTooltipProps {
7
8
  vchartConstrouctor?: IVChartConstructor;
8
9
  type?: string;
9
10
  container?: HTMLDivElement;
10
11
  spec?: ISpec;
11
- data?: IData;
12
+ data?: IData | IHierarchyData;
12
13
  width?: number;
13
14
  height?: number;
14
15
  options?: ChartOptions;
@@ -18,5 +19,5 @@ export interface BaseChartProps extends EventsProps, LegendEventProps, ScrollBar
18
19
  useSyncRender?: boolean;
19
20
  }
20
21
  type Props = React.PropsWithChildren<BaseChartProps>;
21
- export declare const createChart: <T extends Props>(componentName: string, defaultProps?: Partial<T>, callback?: (props: T, defaultProps?: Partial<T>) => T) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T & ContainerProps> & React.RefAttributes<any>>;
22
+ export declare const createChart: <T extends Props>(componentName: string, defaultProps?: Partial<T>, registers?: (() => void)[]) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T & ContainerProps> & React.RefAttributes<any>>;
22
23
  export {};
@@ -4,7 +4,7 @@ import withContainer from "../containers/withContainer";
4
4
 
5
5
  import RootChartContext from "../context/chart";
6
6
 
7
- import { isEqual, pickWithout } from "@visactor/vutils";
7
+ import { isEqual, isNil, isValid, pickWithout } from "@visactor/vutils";
8
8
 
9
9
  import ViewContext from "../context/view";
10
10
 
@@ -14,12 +14,16 @@ import { REACT_PRIVATE_PROPS } from "../constants";
14
14
 
15
15
  import { bindEventsToChart, CHART_EVENTS_KEYS, CHART_EVENTS } from "../eventsUtils";
16
16
 
17
- const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConstrouctor", "useSyncRender", "skipFunctionDiff", "onError", "onReady", "spec", "container", "options" ], parseSpecFromChildren = props => {
17
+ import { initCustomTooltip } from "../components/tooltip/util";
18
+
19
+ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConstrouctor", "useSyncRender", "skipFunctionDiff", "onError", "onReady", "spec", "container", "options" ], getComponentId = (child, index) => `${child && child.type && (child.type.displayName || child.type.name)}-${index}`, parseSpecFromChildren = props => {
18
20
  const specFromChildren = {};
19
- return toArray(props.children).map((child => {
21
+ return toArray(props.children).map(((child, index) => {
20
22
  const parseSpec = child && child.type && child.type.parseSpec;
21
23
  if (parseSpec && child.props) {
22
- const specResult = parseSpec(child.props);
24
+ const specResult = parseSpec(isNil(child.props.componentId) ? Object.assign(Object.assign({}, child.props), {
25
+ componentId: getComponentId(child, index)
26
+ }) : child.props);
23
27
  specResult.isSingle ? specFromChildren[specResult.specName] = specResult.spec : (specFromChildren[specResult.specName] || (specFromChildren[specResult.specName] = []),
24
28
  specFromChildren[specResult.specName].push(specResult.spec));
25
29
  }
@@ -30,12 +34,19 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
30
34
  var _a;
31
35
  return null === (_a = chartContext.current) || void 0 === _a ? void 0 : _a.chart;
32
36
  }));
33
- const hasSpec = !!props.spec, [view, setView] = useState(null), isUnmount = useRef(!1), prevSpec = useRef(pickWithout(props, notSpecKeys)), specFromChildren = useRef(null), eventsBinded = React.useRef(null), skipFunctionDiff = !!props.skipFunctionDiff, parseSpec = props => hasSpec && props.spec ? props.spec : Object.assign(Object.assign({}, prevSpec.current), specFromChildren.current), handleChartRender = () => {
37
+ const hasSpec = !!props.spec, [view, setView] = useState(null), isUnmount = useRef(!1), prevSpec = useRef(pickWithout(props, notSpecKeys)), specFromChildren = useRef(null), eventsBinded = React.useRef(null), skipFunctionDiff = !!props.skipFunctionDiff, [tooltipNode, setTooltipNode] = useState(null), parseSpec = props => {
38
+ let spec;
39
+ hasSpec && props.spec ? (spec = props.spec, isValid(props.data) && (spec = Object.assign(Object.assign({}, props.spec), {
40
+ data: props.data
41
+ }))) : spec = Object.assign(Object.assign({}, prevSpec.current), specFromChildren.current);
42
+ const tooltipSpec = initCustomTooltip(setTooltipNode, props, spec.tooltip);
43
+ return tooltipSpec && (spec.tooltip = tooltipSpec), spec;
44
+ }, handleChartRender = () => {
34
45
  if (!isUnmount.current) {
35
46
  if (!chartContext.current || !chartContext.current.chart) return;
36
47
  bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);
37
48
  const newView = chartContext.current.chart.getCompiler().getVGrammarView();
38
- setUpdateId(updateId + 1), props.onReady && props.onReady(chartContext.current.chart, 0 === updateId),
49
+ setUpdateId(updateId + 1), window.vchart = chartContext.current.chart, props.onReady && props.onReady(chartContext.current.chart, 0 === updateId),
39
50
  setView(newView);
40
51
  }
41
52
  };
@@ -51,17 +62,17 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
51
62
  }));
52
63
  chartContext.current = Object.assign(Object.assign({}, chartContext.current), {
53
64
  chart: cs
54
- });
65
+ }), isUnmount.current = !1;
55
66
  })(props), chartContext.current.chart && (chartContext.current.chart.renderSync({
56
67
  reuse: !1
57
- }), handleChartRender()), bindEventsToChart(chartContext.current.chart, props, null, CHART_EVENTS),
58
- void (eventsBinded.current = props);
68
+ }), handleChartRender()), void (eventsBinded.current = props);
59
69
  if (hasSpec) return void (isEqual(eventsBinded.current.spec, props.spec, {
60
70
  skipFunction: skipFunctionDiff
61
- }) || (eventsBinded.current = props, chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, {
71
+ }) ? eventsBinded.current.data !== props.data && (chartContext.current.chart.updateFullDataSync(props.data),
72
+ handleChartRender(), eventsBinded.current = props) : (chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, {
62
73
  morph: !1,
63
74
  enableExitAnimation: !1
64
- }), handleChartRender()));
75
+ }), handleChartRender(), eventsBinded.current = props));
65
76
  const newSpec = pickWithout(props, notSpecKeys);
66
77
  isEqual(newSpec, prevSpec.current, {
67
78
  skipFunction: skipFunctionDiff
@@ -69,28 +80,29 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
69
80
  specFromChildren.current = newSpecFromChildren, chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, {
70
81
  morph: !1,
71
82
  enableExitAnimation: !1
72
- }), handleChartRender());
83
+ }), handleChartRender(), eventsBinded.current = props);
73
84
  }), [ props ]), useEffect((() => () => {
74
85
  chartContext && chartContext.current && chartContext.current.chart && (chartContext.current.chart.release(),
75
- chartContext.current.chart = null), isUnmount.current = !0;
86
+ chartContext.current.chart = null), eventsBinded.current = null, isUnmount.current = !0;
76
87
  }), []), React.createElement(RootChartContext.Provider, {
77
88
  value: chartContext.current
78
89
  }, React.createElement(ViewContext.Provider, {
79
90
  value: view
80
91
  }, toArray(props.children).map(((child, index) => {
81
92
  if ("string" == typeof child) return;
82
- const childId = `${child && child.type && (child.type.displayName || child.type.name)}-${index}`;
93
+ const childId = getComponentId(child, index);
83
94
  return React.createElement(React.Fragment, {
84
95
  key: childId
85
96
  }, React.cloneElement(child, {
86
97
  updateId: updateId,
87
98
  componentId: childId
88
99
  }));
89
- }))));
100
+ })), tooltipNode));
90
101
  }));
91
102
 
92
- export const createChart = (componentName, defaultProps, callback) => {
93
- const Com = withContainer(BaseChart, componentName, (props => callback ? callback(props, defaultProps) : defaultProps ? Object.assign(props, defaultProps) : props));
103
+ export const createChart = (componentName, defaultProps, registers) => {
104
+ registers && registers.length && defaultProps.vchartConstrouctor && defaultProps.vchartConstrouctor.useRegisters(registers);
105
+ const Com = withContainer(BaseChart, componentName, (props => defaultProps ? Object.assign(props, defaultProps) : props));
94
106
  return Com.displayName = componentName, Com;
95
107
  };
96
108
  //# sourceMappingURL=BaseChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/BaseChart.tsx"],"names":[],"mappings":"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","file":"BaseChart.js","sourcesContent":["import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor } from '@visactor/vchart';\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport withContainer, { ContainerProps } from '../containers/withContainer';\nimport RootChartContext, { ChartContextType } from '../context/chart';\nimport type { IView } from '@visactor/vgrammar-core';\nimport { isEqual, pickWithout } from '@visactor/vutils';\nimport ViewContext from '../context/view';\nimport { toArray } from '../util';\nimport { REACT_PRIVATE_PROPS } from '../constants';\nimport {\n bindEventsToChart,\n EventsProps,\n CHART_EVENTS_KEYS,\n CHART_EVENTS,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps\n} from '../eventsUtils';\n\nexport type ChartOptions = Omit<IInitOption, 'dom'>;\n\nexport interface BaseChartProps\n extends EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps {\n vchartConstrouctor?: IVChartConstructor;\n type?: string;\n /** 上层container */\n container?: HTMLDivElement;\n /**\n * used only by <VChart />\n */\n spec?: ISpec;\n /** 数据 */\n data?: IData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /** 图表配置 */\n options?: ChartOptions;\n /** skip function diff when component update */\n skipFunctionDiff?: boolean;\n /** 图表渲染完成事件 */\n onReady?: (instance: IVChart, isInitial: boolean) => void;\n /** throw error when chart run into an error */\n onError?: (err: Error) => void;\n /**\n * use sync render\n *\n * @since 1.8.3\n * @deprecated 1.9.0\n **/\n useSyncRender?: boolean;\n}\n\ntype Props = React.PropsWithChildren<BaseChartProps>;\n\nconst notSpecKeys = [\n ...REACT_PRIVATE_PROPS,\n ...CHART_EVENTS_KEYS,\n 'vchartConstrouctor',\n 'useSyncRender',\n 'skipFunctionDiff',\n 'onError',\n 'onReady',\n 'spec',\n 'container',\n 'options'\n];\n\nconst parseSpecFromChildren = (props: Props) => {\n const specFromChildren: Omit<ISpec, 'type' | 'data' | 'width' | 'height'> = {};\n\n toArray(props.children).map(child => {\n const parseSpec = child && (child as any).type && (child as any).type.parseSpec;\n\n if (parseSpec && (child as any).props) {\n const specResult = parseSpec((child as any).props);\n\n if (specResult.isSingle) {\n specFromChildren[specResult.specName] = specResult.spec;\n } else {\n if (!specFromChildren[specResult.specName]) {\n specFromChildren[specResult.specName] = [];\n }\n\n specFromChildren[specResult.specName].push(specResult.spec);\n }\n }\n });\n\n return specFromChildren;\n};\n\nconst BaseChart: React.FC<Props> = React.forwardRef((props, ref) => {\n const [updateId, setUpdateId] = useState<number>(0);\n const chartContext = useRef<ChartContextType>({});\n useImperativeHandle(ref, () => chartContext.current?.chart);\n const hasSpec = !!props.spec;\n const [view, setView] = useState<IView>(null);\n const isUnmount = useRef<boolean>(false);\n const prevSpec = useRef(pickWithout(props, notSpecKeys));\n const specFromChildren = useRef<Omit<ISpec, 'type' | 'data' | 'width' | 'height'>>(null);\n const eventsBinded = React.useRef<BaseChartProps>(null);\n const skipFunctionDiff = !!props.skipFunctionDiff;\n\n const parseSpec = (props: Props) => {\n if (hasSpec && props.spec) {\n return props.spec;\n }\n\n return {\n ...prevSpec.current,\n ...specFromChildren.current\n } as ISpec;\n };\n\n const createChart = (props: Props) => {\n const cs = new props.vchartConstrouctor(parseSpec(props), {\n ...props.options,\n onError: props.onError,\n autoFit: true,\n dom: props.container\n });\n chartContext.current = { ...chartContext.current, chart: cs };\n };\n\n const handleChartRender = () => {\n // rebind events after render\n if (!isUnmount.current) {\n if (!chartContext.current || !chartContext.current.chart) {\n return;\n }\n\n bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);\n\n const newView = chartContext.current.chart.getCompiler().getVGrammarView();\n\n setUpdateId(updateId + 1);\n if (props.onReady) {\n props.onReady(chartContext.current.chart, updateId === 0);\n }\n setView(newView);\n }\n };\n\n const renderChart = () => {\n if (chartContext.current.chart) {\n chartContext.current.chart.renderSync({\n reuse: false\n });\n handleChartRender();\n }\n };\n\n useEffect(() => {\n const newSpecFromChildren = hasSpec ? null : parseSpecFromChildren(props);\n\n if (!chartContext.current?.chart) {\n if (!hasSpec) {\n specFromChildren.current = newSpecFromChildren;\n }\n\n createChart(props);\n renderChart();\n bindEventsToChart(chartContext.current.chart, props, null, CHART_EVENTS);\n eventsBinded.current = props;\n return;\n }\n\n if (hasSpec) {\n if (!isEqual(eventsBinded.current.spec, props.spec, { skipFunction: skipFunctionDiff })) {\n eventsBinded.current = props;\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, {\n morph: false,\n enableExitAnimation: false\n });\n handleChartRender();\n }\n return;\n }\n\n const newSpec = pickWithout(props, notSpecKeys);\n\n if (\n !isEqual(newSpec, prevSpec.current, { skipFunction: skipFunctionDiff }) ||\n !isEqual(newSpecFromChildren, specFromChildren.current)\n ) {\n prevSpec.current = newSpec;\n specFromChildren.current = newSpecFromChildren;\n\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, {\n morph: false,\n enableExitAnimation: false\n });\n handleChartRender();\n }\n }, [props]);\n\n useEffect(() => {\n return () => {\n if (chartContext) {\n if (chartContext.current && chartContext.current.chart) {\n chartContext.current.chart.release();\n chartContext.current.chart = null;\n }\n }\n isUnmount.current = true;\n };\n }, []);\n\n return (\n <RootChartContext.Provider value={chartContext.current}>\n <ViewContext.Provider value={view}>\n {toArray(props.children).map((child, index) => {\n if (typeof child === 'string') {\n return;\n }\n\n const componentName =\n child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n const childId = `${componentName}-${index}`;\n\n return (\n <React.Fragment key={childId}>\n {React.cloneElement(child as React.ReactElement<any, React.JSXElementConstructor<any>>, {\n updateId: updateId,\n componentId: childId\n })}\n </React.Fragment>\n );\n })}\n </ViewContext.Provider>\n </RootChartContext.Provider>\n );\n});\n\nexport const createChart = <T extends Props>(\n componentName: string,\n defaultProps?: Partial<T>,\n callback?: (props: T, defaultProps?: Partial<T>) => T\n) => {\n const Com = withContainer<ContainerProps, T>(BaseChart as any, componentName, (props: T) => {\n if (callback) {\n return callback(props, defaultProps);\n }\n\n if (defaultProps) {\n return Object.assign(props, defaultProps);\n }\n return props;\n });\n Com.displayName = componentName;\n return Com;\n};\n"]}
1
+ {"version":3,"sources":["../src/charts/BaseChart.tsx"],"names":[],"mappings":"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","file":"BaseChart.js","sourcesContent":["import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor, IHierarchyData } from '@visactor/vchart';\nimport React, { useState, useEffect, useRef, useImperativeHandle, ReactNode } from 'react';\nimport withContainer, { ContainerProps } from '../containers/withContainer';\nimport RootChartContext, { ChartContextType } from '../context/chart';\nimport type { IView } from '@visactor/vgrammar-core';\nimport { isEqual, isNil, isValid, pickWithout } from '@visactor/vutils';\nimport ViewContext from '../context/view';\nimport { toArray } from '../util';\nimport { REACT_PRIVATE_PROPS } from '../constants';\nimport {\n bindEventsToChart,\n EventsProps,\n CHART_EVENTS_KEYS,\n CHART_EVENTS,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps\n} from '../eventsUtils';\nimport { IReactTooltipProps } from '../components/tooltip/interface';\nimport { initCustomTooltip } from '../components/tooltip/util';\n\nexport type ChartOptions = Omit<IInitOption, 'dom'>;\n\nexport interface BaseChartProps\n extends EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps,\n IReactTooltipProps {\n vchartConstrouctor?: IVChartConstructor;\n type?: string;\n /** 上层container */\n container?: HTMLDivElement;\n /**\n * used only by <VChart />\n */\n spec?: ISpec;\n /** 数据 */\n data?: IData | IHierarchyData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /** 图表配置 */\n options?: ChartOptions;\n /** skip function diff when component update */\n skipFunctionDiff?: boolean;\n /** 图表渲染完成事件 */\n onReady?: (instance: IVChart, isInitial: boolean) => void;\n /** throw error when chart run into an error */\n onError?: (err: Error) => void;\n /**\n * use sync render\n *\n * @since 1.8.3\n * @deprecated 1.9.0\n **/\n useSyncRender?: boolean;\n}\n\ntype Props = React.PropsWithChildren<BaseChartProps>;\n\nconst notSpecKeys = [\n ...REACT_PRIVATE_PROPS,\n ...CHART_EVENTS_KEYS,\n 'vchartConstrouctor',\n 'useSyncRender',\n 'skipFunctionDiff',\n 'onError',\n 'onReady',\n 'spec',\n 'container',\n 'options'\n];\n\nconst getComponentId = (child: React.ReactNode, index: number) => {\n const componentName = child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n return `${componentName}-${index}`;\n};\n\nconst parseSpecFromChildren = (props: Props) => {\n const specFromChildren: Omit<ISpec, 'type' | 'data' | 'width' | 'height'> = {};\n\n toArray(props.children).map((child, index) => {\n const parseSpec = child && (child as any).type && (child as any).type.parseSpec;\n\n if (parseSpec && (child as any).props) {\n const childProps = isNil((child as any).props.componentId)\n ? {\n ...(child as any).props,\n componentId: getComponentId(child, index)\n }\n : (child as any).props;\n\n const specResult = parseSpec(childProps);\n\n if (specResult.isSingle) {\n specFromChildren[specResult.specName] = specResult.spec;\n } else {\n if (!specFromChildren[specResult.specName]) {\n specFromChildren[specResult.specName] = [];\n }\n\n specFromChildren[specResult.specName].push(specResult.spec);\n }\n }\n });\n\n return specFromChildren;\n};\n\nconst BaseChart: React.FC<Props> = React.forwardRef((props, ref) => {\n const [updateId, setUpdateId] = useState<number>(0);\n const chartContext = useRef<ChartContextType>({});\n useImperativeHandle(ref, () => chartContext.current?.chart);\n const hasSpec = !!props.spec;\n const [view, setView] = useState<IView>(null);\n const isUnmount = useRef<boolean>(false);\n const prevSpec = useRef(pickWithout(props, notSpecKeys));\n const specFromChildren = useRef<Omit<ISpec, 'type' | 'data' | 'width' | 'height'>>(null);\n const eventsBinded = React.useRef<BaseChartProps>(null);\n const skipFunctionDiff = !!props.skipFunctionDiff;\n const [tooltipNode, setTooltipNode] = useState<ReactNode>(null);\n\n const parseSpec = (props: Props) => {\n let spec: ISpec = undefined;\n\n if (hasSpec && props.spec) {\n spec = props.spec;\n\n if (isValid(props.data)) {\n spec = {\n ...props.spec,\n data: props.data\n } as ISpec;\n }\n } else {\n spec = {\n ...prevSpec.current,\n ...specFromChildren.current\n } as ISpec;\n }\n\n const tooltipSpec = initCustomTooltip(setTooltipNode, props, spec.tooltip);\n if (tooltipSpec) {\n spec.tooltip = tooltipSpec;\n }\n return spec;\n };\n\n const createChart = (props: Props) => {\n const cs = new props.vchartConstrouctor(parseSpec(props), {\n ...props.options,\n onError: props.onError,\n autoFit: true,\n dom: props.container\n });\n chartContext.current = { ...chartContext.current, chart: cs };\n isUnmount.current = false;\n };\n\n const handleChartRender = () => {\n // rebind events after render\n if (!isUnmount.current) {\n if (!chartContext.current || !chartContext.current.chart) {\n return;\n }\n\n bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);\n\n const newView = chartContext.current.chart.getCompiler().getVGrammarView();\n\n setUpdateId(updateId + 1);\n window.vchart = chartContext.current.chart;\n if (props.onReady) {\n props.onReady(chartContext.current.chart, updateId === 0);\n }\n setView(newView);\n }\n };\n\n const renderChart = () => {\n if (chartContext.current.chart) {\n chartContext.current.chart.renderSync({\n reuse: false\n });\n handleChartRender();\n }\n };\n\n useEffect(() => {\n const newSpecFromChildren = hasSpec ? null : parseSpecFromChildren(props);\n\n if (!chartContext.current?.chart) {\n if (!hasSpec) {\n specFromChildren.current = newSpecFromChildren;\n }\n\n createChart(props);\n renderChart();\n eventsBinded.current = props;\n return;\n }\n\n if (hasSpec) {\n if (!isEqual(eventsBinded.current.spec, props.spec, { skipFunction: skipFunctionDiff })) {\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, {\n morph: false,\n enableExitAnimation: false\n });\n handleChartRender();\n eventsBinded.current = props;\n } else if (eventsBinded.current.data !== props.data) {\n chartContext.current.chart.updateFullDataSync(props.data as any);\n handleChartRender();\n eventsBinded.current = props;\n }\n return;\n }\n\n const newSpec = pickWithout(props, notSpecKeys);\n\n if (\n !isEqual(newSpec, prevSpec.current, { skipFunction: skipFunctionDiff }) ||\n !isEqual(newSpecFromChildren, specFromChildren.current)\n ) {\n prevSpec.current = newSpec;\n specFromChildren.current = newSpecFromChildren;\n\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, {\n morph: false,\n enableExitAnimation: false\n });\n handleChartRender();\n eventsBinded.current = props;\n }\n }, [props]);\n\n useEffect(() => {\n return () => {\n if (chartContext) {\n if (chartContext.current && chartContext.current.chart) {\n chartContext.current.chart.release();\n chartContext.current.chart = null;\n }\n }\n eventsBinded.current = null;\n isUnmount.current = true;\n };\n }, []);\n\n return (\n <RootChartContext.Provider value={chartContext.current}>\n <ViewContext.Provider value={view}>\n {toArray(props.children).map((child, index) => {\n if (typeof child === 'string') {\n return;\n }\n\n const childId = getComponentId(child, index);\n\n return (\n <React.Fragment key={childId}>\n {React.cloneElement(child as React.ReactElement<any, React.JSXElementConstructor<any>>, {\n updateId: updateId,\n componentId: childId\n })}\n </React.Fragment>\n );\n })}\n {tooltipNode}\n </ViewContext.Provider>\n </RootChartContext.Provider>\n );\n});\n\nexport const createChart = <T extends Props>(\n componentName: string,\n defaultProps?: Partial<T>,\n registers?: (() => void)[]\n) => {\n if (registers && registers.length && defaultProps.vchartConstrouctor) {\n defaultProps.vchartConstrouctor.useRegisters(registers);\n }\n\n const Com = withContainer<ContainerProps, T>(BaseChart as any, componentName, (props: T) => {\n if (defaultProps) {\n return Object.assign(props, defaultProps);\n }\n return props;\n });\n Com.displayName = componentName;\n return Com;\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { IBoxPlotChartSpec } from '@visactor/vchart';
3
3
  import { BaseChartProps } from './BaseChart';
4
- export interface BoxPlotChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>, Omit<IBoxPlotChartSpec, 'type'> {
4
+ export interface BoxPlotChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<IBoxPlotChartSpec, 'type'> {
5
5
  }
6
6
  export declare const BoxPlotChart: React.ForwardRefExoticComponent<BoxPlotChartProps & {
7
7
  children?: React.ReactNode;
@@ -1,9 +1,11 @@
1
- import { default as VChart } from "@visactor/vchart";
1
+ import { VChart, registerBoxplotChart, registerLabel } from "@visactor/vchart";
2
2
 
3
3
  import { createChart } from "./BaseChart";
4
4
 
5
+ import { cartesianComponentsRegisters } from "./register";
6
+
5
7
  export const BoxPlotChart = createChart("BoxPlotChart", {
6
8
  type: "boxPlot",
7
9
  vchartConstrouctor: VChart
8
- });
10
+ }, [ registerBoxplotChart, registerLabel, ...cartesianComponentsRegisters ]);
9
11
  //# sourceMappingURL=BoxPlotChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/BoxPlotChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1D,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CACrC,cAAc,EACd;IACE,IAAI,EAAE,SAAS;IACf,kBAAkB,EAAE,MAAM;CAC3B,CACF,CAAC","file":"BoxPlotChart.js","sourcesContent":["import React from 'react';\nimport { IBoxPlotChartSpec } from '@visactor/vchart';\nimport { default as VChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface BoxPlotChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>,\n Omit<IBoxPlotChartSpec, 'type'> {}\n\nexport const BoxPlotChart = createChart<React.PropsWithChildren<BoxPlotChartProps> & { type: 'boxPlot' }>(\n 'BoxPlotChart',\n {\n type: 'boxPlot',\n vchartConstrouctor: VChart\n }\n);\n"]}
1
+ {"version":3,"sources":["../src/charts/BoxPlotChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAM1D,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CACrC,cAAc,EACd;IACE,IAAI,EAAE,SAAS;IACf,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,oBAAoB,EAAE,aAAa,EAAE,GAAG,4BAA4B,CAAC,CACvE,CAAC","file":"BoxPlotChart.js","sourcesContent":["import React from 'react';\nimport { IBoxPlotChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerBoxplotChart, registerLabel } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { cartesianComponentsRegisters } from './register';\n\nexport interface BoxPlotChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<IBoxPlotChartSpec, 'type'> {}\n\nexport const BoxPlotChart = createChart<React.PropsWithChildren<BoxPlotChartProps> & { type: 'boxPlot' }>(\n 'BoxPlotChart',\n {\n type: 'boxPlot',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerBoxplotChart, registerLabel, ...cartesianComponentsRegisters]\n);\n"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ICirclePackingChartSpec } from '@visactor/vchart';
3
+ import { BaseChartProps } from './BaseChart';
4
+ export interface CirclePackingChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<ICirclePackingChartSpec, 'type'> {
5
+ }
6
+ export declare const CirclePackingChart: React.ForwardRefExoticComponent<CirclePackingChartProps & {
7
+ children?: React.ReactNode;
8
+ } & {
9
+ type: 'circlePacking';
10
+ } & import("../containers/withContainer").ContainerProps & React.RefAttributes<any>>;
@@ -0,0 +1,11 @@
1
+ import { VChart, registerCirclePackingChart } from "@visactor/vchart";
2
+
3
+ import { createChart } from "./BaseChart";
4
+
5
+ import { simpleComponentsRegisters } from "./register";
6
+
7
+ export const CirclePackingChart = createChart("CirclePackingChart", {
8
+ type: "circlePacking",
9
+ vchartConstrouctor: VChart
10
+ }, [ registerCirclePackingChart, ...simpleComponentsRegisters ]);
11
+ //# sourceMappingURL=CirclePackingChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/CirclePackingChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAG3C,oBAAoB,EACpB;IACE,IAAI,EAAE,eAAe;IACrB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,0BAA0B,EAAE,GAAG,yBAAyB,CAAC,CAC3D,CAAC","file":"CirclePackingChart.js","sourcesContent":["import React from 'react';\nimport { ICirclePackingChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerCirclePackingChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { simpleComponentsRegisters } from './register';\n\nexport interface CirclePackingChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<ICirclePackingChartSpec, 'type'> {}\n\nexport const CirclePackingChart = createChart<\n React.PropsWithChildren<CirclePackingChartProps> & { type: 'circlePacking' }\n>(\n 'CirclePackingChart',\n {\n type: 'circlePacking',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerCirclePackingChart, ...simpleComponentsRegisters]\n);\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ICircularProgressChartSpec } from '@visactor/vchart';
3
3
  import { BaseChartProps } from './BaseChart';
4
- export interface CircularProgressChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>, Omit<ICircularProgressChartSpec, 'type'> {
4
+ export interface CircularProgressChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<ICircularProgressChartSpec, 'type'> {
5
5
  }
6
6
  export declare const CircularProgressChart: React.ForwardRefExoticComponent<CircularProgressChartProps & {
7
7
  children?: React.ReactNode;
@@ -1,9 +1,11 @@
1
- import { default as VChart } from "@visactor/vchart";
1
+ import { VChart, registerCircularProgressChart, registerLabel } from "@visactor/vchart";
2
2
 
3
3
  import { createChart } from "./BaseChart";
4
4
 
5
+ import { polarComponentsRegisters } from "./register";
6
+
5
7
  export const CircularProgressChart = createChart("CircularProgressChart", {
6
8
  type: "circularProgress",
7
9
  vchartConstrouctor: VChart
8
- });
10
+ }, [ registerCircularProgressChart, registerLabel, ...polarComponentsRegisters ]);
9
11
  //# sourceMappingURL=CircularProgressChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/CircularProgressChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAE9C,uBAAuB,EAAE;IACzB,IAAI,EAAE,kBAAkB;IACxB,kBAAkB,EAAE,MAAM;CAC3B,CAAC,CAAC","file":"CircularProgressChart.js","sourcesContent":["import React from 'react';\nimport { ICircularProgressChartSpec } from '@visactor/vchart';\nimport { default as VChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface CircularProgressChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>,\n Omit<ICircularProgressChartSpec, 'type'> {}\n\nexport const CircularProgressChart = createChart<\n React.PropsWithChildren<CircularProgressChartProps> & { type: 'circularProgress' }\n>('CircularProgressChart', {\n type: 'circularProgress',\n vchartConstrouctor: VChart\n});\n"]}
1
+ {"version":3,"sources":["../src/charts/CircularProgressChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAMtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAG9C,uBAAuB,EACvB;IACE,IAAI,EAAE,kBAAkB;IACxB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,6BAA6B,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC,CAC5E,CAAC","file":"CircularProgressChart.js","sourcesContent":["import React from 'react';\nimport { ICircularProgressChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerCircularProgressChart, registerLabel } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\nimport { polarComponentsRegisters } from './register';\n\nexport interface CircularProgressChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<ICircularProgressChartSpec, 'type'> {}\n\nexport const CircularProgressChart = createChart<\n React.PropsWithChildren<CircularProgressChartProps> & { type: 'circularProgress' }\n>(\n 'CircularProgressChart',\n {\n type: 'circularProgress',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerCircularProgressChart, registerLabel, ...polarComponentsRegisters]\n);\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ICommonChartSpec } from '@visactor/vchart';
3
3
  import { BaseChartProps } from './BaseChart';
4
- export interface CommonChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>, Omit<ICommonChartSpec, 'type'> {
4
+ export interface CommonChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<ICommonChartSpec, 'type'> {
5
5
  }
6
6
  export declare const CommonChart: React.ForwardRefExoticComponent<CommonChartProps & {
7
7
  children?: React.ReactNode;
@@ -1,9 +1,9 @@
1
- import { default as VChart } from "@visactor/vchart";
1
+ import { VChart, registerCommonChart, registerCartesianLinearAxis, registerCartesianBandAxis, registerCartesianTimeAxis, registerCartesianLogAxis, registerCartesianCrossHair, registerLabel, registerTotalLabel, registerAreaSeries, registerBarSeries, registerLineSeries, registerScatterSeries, registerPieSeries } from "@visactor/vchart";
2
2
 
3
3
  import { createChart } from "./BaseChart";
4
4
 
5
5
  export const CommonChart = createChart("CommonChart", {
6
6
  type: "common",
7
7
  vchartConstrouctor: VChart
8
- });
8
+ }, [ registerCommonChart, registerCartesianLinearAxis, registerCartesianBandAxis, registerCartesianTimeAxis, registerCartesianLogAxis, registerCartesianCrossHair, registerLabel, registerTotalLabel, registerAreaSeries, registerBarSeries, registerLineSeries, registerScatterSeries, registerPieSeries ]);
9
9
  //# sourceMappingURL=CommonChart.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/CommonChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1D,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAiE,aAAa,EAAE;IACpH,IAAI,EAAE,QAAQ;IACd,kBAAkB,EAAE,MAAM;CAC3B,CAAC,CAAC","file":"CommonChart.js","sourcesContent":["import React from 'react';\nimport { ICommonChartSpec } from '@visactor/vchart';\nimport { default as VChart } from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface CommonChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type'>,\n Omit<ICommonChartSpec, 'type'> {}\n\nexport const CommonChart = createChart<React.PropsWithChildren<CommonChartProps> & { type: 'common' }>('CommonChart', {\n type: 'common',\n vchartConstrouctor: VChart\n});\n"]}
1
+ {"version":3,"sources":["../src/charts/CommonChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1D,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CACpC,aAAa,EACb;IACE,IAAI,EAAE,QAAQ;IACd,kBAAkB,EAAE,MAA4B;CACjD,EACD;IACE,mBAAmB;IACnB,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,wBAAwB;IACxB,0BAA0B;IAE1B,aAAa;IACb,kBAAkB;IAElB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;CAClB,CACF,CAAC","file":"CommonChart.js","sourcesContent":["import React from 'react';\nimport { ICommonChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport {\n VChart,\n registerCommonChart,\n registerCartesianLinearAxis,\n registerCartesianBandAxis,\n registerCartesianTimeAxis, // 非必选\n registerCartesianLogAxis, // 非必选\n registerCartesianCrossHair,\n registerLabel,\n registerTotalLabel,\n registerAreaSeries,\n registerBarSeries,\n registerLineSeries,\n registerScatterSeries,\n registerPieSeries\n} from '@visactor/vchart';\nimport { BaseChartProps, createChart } from './BaseChart';\n\nexport interface CommonChartProps\n extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>,\n Omit<ICommonChartSpec, 'type'> {}\n\nexport const CommonChart = createChart<React.PropsWithChildren<CommonChartProps> & { type: 'common' }>(\n 'CommonChart',\n {\n type: 'common',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [\n registerCommonChart,\n registerCartesianLinearAxis,\n registerCartesianBandAxis,\n registerCartesianTimeAxis, // 非必选\n registerCartesianLogAxis, // 非必选\n registerCartesianCrossHair,\n\n registerLabel,\n registerTotalLabel,\n\n registerAreaSeries,\n registerBarSeries,\n registerLineSeries,\n registerScatterSeries,\n registerPieSeries\n ]\n);\n"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ICorrelationChartSpec } from '@visactor/vchart';
3
+ import { BaseChartProps } from './BaseChart';
4
+ export interface CorrelationChartProps extends Omit<BaseChartProps, 'spec' | 'container' | 'type' | 'data'>, Omit<ICorrelationChartSpec, 'type'> {
5
+ }
6
+ export declare const CorrelationChart: React.ForwardRefExoticComponent<CorrelationChartProps & {
7
+ children?: React.ReactNode;
8
+ } & {
9
+ type: 'correlation';
10
+ } & import("../containers/withContainer").ContainerProps & React.RefAttributes<any>>;