@mui/x-charts 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/BarChart/BarChart.d.ts +19 -0
  2. package/BarChart/BarChart.js +262 -0
  3. package/BarChart/BarElement.d.ts +21 -0
  4. package/BarChart/BarElement.js +92 -0
  5. package/BarChart/BarPlot.d.ts +2 -0
  6. package/BarChart/BarPlot.js +76 -0
  7. package/BarChart/extremums.d.ts +3 -0
  8. package/BarChart/extremums.js +27 -0
  9. package/BarChart/formatter.d.ts +3 -0
  10. package/BarChart/formatter.js +54 -0
  11. package/BarChart/index.d.ts +2 -0
  12. package/BarChart/index.js +19 -0
  13. package/BarChart/package.json +6 -0
  14. package/CHANGELOG.md +3211 -0
  15. package/ChartContainer/index.d.ts +9 -0
  16. package/ChartContainer/index.js +61 -0
  17. package/ChartContainer/package.json +6 -0
  18. package/ChartsAxis/ChartsAxis.d.ts +33 -0
  19. package/ChartsAxis/ChartsAxis.js +152 -0
  20. package/ChartsAxis/axisClasses.d.ts +29 -0
  21. package/ChartsAxis/axisClasses.js +13 -0
  22. package/ChartsAxis/index.d.ts +2 -0
  23. package/ChartsAxis/index.js +27 -0
  24. package/ChartsAxis/package.json +6 -0
  25. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsAxisHighlight.js +67 -0
  27. package/ChartsAxisHighlight/index.d.ts +1 -0
  28. package/ChartsAxisHighlight/index.js +16 -0
  29. package/ChartsAxisHighlight/package.json +6 -0
  30. package/ChartsClipPath/ChartsClipPath.d.ts +15 -0
  31. package/ChartsClipPath/ChartsClipPath.js +54 -0
  32. package/ChartsClipPath/index.d.ts +1 -0
  33. package/ChartsClipPath/index.js +16 -0
  34. package/ChartsClipPath/package.json +6 -0
  35. package/ChartsLegend/ChartsLegend.d.ts +44 -0
  36. package/ChartsLegend/ChartsLegend.js +202 -0
  37. package/ChartsLegend/chartsLegendClasses.d.ts +17 -0
  38. package/ChartsLegend/chartsLegendClasses.js +13 -0
  39. package/ChartsLegend/index.d.ts +2 -0
  40. package/ChartsLegend/index.js +27 -0
  41. package/ChartsLegend/package.json +6 -0
  42. package/ChartsLegend/utils.d.ts +14 -0
  43. package/ChartsLegend/utils.js +9 -0
  44. package/ChartsSurface.d.ts +21 -0
  45. package/ChartsSurface.js +58 -0
  46. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +40 -0
  47. package/ChartsTooltip/ChartsAxisTooltipContent.js +116 -0
  48. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +27 -0
  49. package/ChartsTooltip/ChartsItemTooltipContent.js +70 -0
  50. package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
  51. package/ChartsTooltip/ChartsTooltip.js +104 -0
  52. package/ChartsTooltip/ChartsTooltipTable.d.ts +26 -0
  53. package/ChartsTooltip/ChartsTooltipTable.js +81 -0
  54. package/ChartsTooltip/index.d.ts +1 -0
  55. package/ChartsTooltip/index.js +16 -0
  56. package/ChartsTooltip/package.json +6 -0
  57. package/ChartsTooltip/tooltipClasses.d.ts +13 -0
  58. package/ChartsTooltip/tooltipClasses.js +13 -0
  59. package/ChartsTooltip/utils.d.ts +24 -0
  60. package/ChartsTooltip/utils.js +91 -0
  61. package/ChartsXAxis/ChartsXAxis.d.ts +7 -0
  62. package/ChartsXAxis/ChartsXAxis.js +191 -0
  63. package/ChartsXAxis/index.d.ts +1 -0
  64. package/ChartsXAxis/index.js +16 -0
  65. package/ChartsXAxis/package.json +6 -0
  66. package/ChartsYAxis/ChartsYAxis.d.ts +7 -0
  67. package/ChartsYAxis/ChartsYAxis.js +192 -0
  68. package/ChartsYAxis/index.d.ts +1 -0
  69. package/ChartsYAxis/index.js +16 -0
  70. package/ChartsYAxis/package.json +6 -0
  71. package/LICENSE +21 -0
  72. package/LineChart/AreaElement.d.ts +28 -0
  73. package/LineChart/AreaElement.js +115 -0
  74. package/LineChart/AreaPlot.d.ts +2 -0
  75. package/LineChart/AreaPlot.js +67 -0
  76. package/LineChart/LineChart.d.ts +19 -0
  77. package/LineChart/LineChart.js +266 -0
  78. package/LineChart/LineElement.d.ts +28 -0
  79. package/LineChart/LineElement.js +117 -0
  80. package/LineChart/LinePlot.d.ts +2 -0
  81. package/LineChart/LinePlot.js +67 -0
  82. package/LineChart/MarkElement.d.ts +38 -0
  83. package/LineChart/MarkElement.js +140 -0
  84. package/LineChart/MarkPlot.d.ts +2 -0
  85. package/LineChart/MarkPlot.js +86 -0
  86. package/LineChart/extremums.d.ts +3 -0
  87. package/LineChart/extremums.js +36 -0
  88. package/LineChart/formatter.d.ts +3 -0
  89. package/LineChart/formatter.js +55 -0
  90. package/LineChart/index.d.ts +7 -0
  91. package/LineChart/index.js +75 -0
  92. package/LineChart/package.json +6 -0
  93. package/README.md +5 -0
  94. package/ResponsiveChartContainer/index.d.ts +5 -0
  95. package/ResponsiveChartContainer/index.js +54 -0
  96. package/ResponsiveChartContainer/package.json +6 -0
  97. package/ScatterChart/Scatter.d.ts +15 -0
  98. package/ScatterChart/Scatter.js +114 -0
  99. package/ScatterChart/ScatterChart.d.ts +19 -0
  100. package/ScatterChart/ScatterChart.js +252 -0
  101. package/ScatterChart/ScatterPlot.d.ts +2 -0
  102. package/ScatterChart/ScatterPlot.js +52 -0
  103. package/ScatterChart/extremums.d.ts +3 -0
  104. package/ScatterChart/extremums.js +49 -0
  105. package/ScatterChart/formatter.d.ts +3 -0
  106. package/ScatterChart/formatter.js +19 -0
  107. package/ScatterChart/index.d.ts +3 -0
  108. package/ScatterChart/index.js +26 -0
  109. package/ScatterChart/package.json +6 -0
  110. package/colorPalettes/colorPalettes.d.ts +11 -0
  111. package/colorPalettes/colorPalettes.js +24 -0
  112. package/colorPalettes/index.d.ts +1 -0
  113. package/colorPalettes/index.js +16 -0
  114. package/colorPalettes/package.json +6 -0
  115. package/constants.d.ts +8 -0
  116. package/constants.js +17 -0
  117. package/context/CartesianContextProvider.d.ts +30 -0
  118. package/context/CartesianContextProvider.js +227 -0
  119. package/context/DrawingProvider.d.ts +22 -0
  120. package/context/DrawingProvider.js +64 -0
  121. package/context/HighlightProvider.d.ts +28 -0
  122. package/context/HighlightProvider.js +57 -0
  123. package/context/InteractionProvider.d.ts +34 -0
  124. package/context/InteractionProvider.js +62 -0
  125. package/context/SeriesContextProvider.d.ts +17 -0
  126. package/context/SeriesContextProvider.js +69 -0
  127. package/context/index.d.ts +3 -0
  128. package/context/index.js +19 -0
  129. package/context/package.json +6 -0
  130. package/esm/BarChart/BarChart.js +255 -0
  131. package/esm/BarChart/BarElement.js +80 -0
  132. package/esm/BarChart/BarPlot.js +70 -0
  133. package/esm/BarChart/extremums.js +20 -0
  134. package/esm/BarChart/formatter.js +46 -0
  135. package/esm/BarChart/index.js +2 -0
  136. package/esm/ChartContainer/index.js +53 -0
  137. package/esm/ChartsAxis/ChartsAxis.js +145 -0
  138. package/esm/ChartsAxis/axisClasses.js +5 -0
  139. package/esm/ChartsAxis/index.js +2 -0
  140. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -0
  141. package/esm/ChartsAxisHighlight/index.js +1 -0
  142. package/esm/ChartsClipPath/ChartsClipPath.js +46 -0
  143. package/esm/ChartsClipPath/index.js +1 -0
  144. package/esm/ChartsLegend/ChartsLegend.js +189 -0
  145. package/esm/ChartsLegend/chartsLegendClasses.js +5 -0
  146. package/esm/ChartsLegend/index.js +2 -0
  147. package/esm/ChartsLegend/utils.js +3 -0
  148. package/esm/ChartsSurface.js +49 -0
  149. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +108 -0
  150. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +63 -0
  151. package/esm/ChartsTooltip/ChartsTooltip.js +96 -0
  152. package/esm/ChartsTooltip/ChartsTooltipTable.js +69 -0
  153. package/esm/ChartsTooltip/index.js +1 -0
  154. package/esm/ChartsTooltip/tooltipClasses.js +5 -0
  155. package/esm/ChartsTooltip/utils.js +81 -0
  156. package/esm/ChartsXAxis/ChartsXAxis.js +184 -0
  157. package/esm/ChartsXAxis/index.js +1 -0
  158. package/esm/ChartsYAxis/ChartsYAxis.js +185 -0
  159. package/esm/ChartsYAxis/index.js +1 -0
  160. package/esm/LineChart/AreaElement.js +104 -0
  161. package/esm/LineChart/AreaPlot.js +58 -0
  162. package/esm/LineChart/LineChart.js +259 -0
  163. package/esm/LineChart/LineElement.js +106 -0
  164. package/esm/LineChart/LinePlot.js +58 -0
  165. package/esm/LineChart/MarkElement.js +130 -0
  166. package/esm/LineChart/MarkPlot.js +78 -0
  167. package/esm/LineChart/extremums.js +29 -0
  168. package/esm/LineChart/formatter.js +48 -0
  169. package/esm/LineChart/index.js +7 -0
  170. package/esm/ResponsiveChartContainer/index.js +46 -0
  171. package/esm/ScatterChart/Scatter.js +106 -0
  172. package/esm/ScatterChart/ScatterChart.js +245 -0
  173. package/esm/ScatterChart/ScatterPlot.js +44 -0
  174. package/esm/ScatterChart/extremums.js +41 -0
  175. package/esm/ScatterChart/formatter.js +11 -0
  176. package/esm/ScatterChart/index.js +3 -0
  177. package/esm/colorPalettes/colorPalettes.js +9 -0
  178. package/esm/colorPalettes/index.js +1 -0
  179. package/esm/constants.js +8 -0
  180. package/esm/context/CartesianContextProvider.js +221 -0
  181. package/esm/context/DrawingProvider.js +52 -0
  182. package/esm/context/HighlightProvider.js +46 -0
  183. package/esm/context/InteractionProvider.js +51 -0
  184. package/esm/context/SeriesContextProvider.js +60 -0
  185. package/esm/context/index.js +2 -0
  186. package/esm/hooks/useAxisEvents.js +145 -0
  187. package/esm/hooks/useChartDimensions.js +14 -0
  188. package/esm/hooks/useInteractionItemProps.js +68 -0
  189. package/esm/hooks/useScale.js +33 -0
  190. package/esm/hooks/useTicks.js +46 -0
  191. package/esm/index.js +15 -0
  192. package/esm/internals/components/AxisSharedComponents.js +81 -0
  193. package/esm/internals/defaultizeColor.js +7 -0
  194. package/esm/internals/defaultizeValueFormatter.js +11 -0
  195. package/esm/internals/getCurve.js +39 -0
  196. package/esm/internals/stackSeries.js +93 -0
  197. package/esm/internals/utils.js +5 -0
  198. package/esm/models/axis.js +1 -0
  199. package/esm/models/helpers.js +1 -0
  200. package/esm/models/index.js +1 -0
  201. package/esm/models/layout.js +1 -0
  202. package/esm/models/seriesType/bar.js +1 -0
  203. package/esm/models/seriesType/common.js +1 -0
  204. package/esm/models/seriesType/config.js +1 -0
  205. package/esm/models/seriesType/index.js +12 -0
  206. package/esm/models/seriesType/line.js +1 -0
  207. package/esm/models/seriesType/pie.js +1 -0
  208. package/esm/models/seriesType/scatter.js +1 -0
  209. package/esm/themeAugmentation/index.js +3 -0
  210. package/hooks/useAxisEvents.d.ts +1 -0
  211. package/hooks/useAxisEvents.js +154 -0
  212. package/hooks/useChartDimensions.d.ts +8 -0
  213. package/hooks/useChartDimensions.js +24 -0
  214. package/hooks/useInteractionItemProps.d.ts +8 -0
  215. package/hooks/useInteractionItemProps.js +79 -0
  216. package/hooks/useScale.d.ts +13 -0
  217. package/hooks/useScale.js +41 -0
  218. package/hooks/useTicks.d.ts +23 -0
  219. package/hooks/useTicks.js +50 -0
  220. package/index.d.ts +15 -0
  221. package/index.js +177 -0
  222. package/internals/components/AxisSharedComponents.d.ts +6 -0
  223. package/internals/components/AxisSharedComponents.js +93 -0
  224. package/internals/defaultizeColor.d.ts +41 -0
  225. package/internals/defaultizeColor.js +14 -0
  226. package/internals/defaultizeValueFormatter.d.ts +8 -0
  227. package/internals/defaultizeValueFormatter.js +19 -0
  228. package/internals/getCurve.d.ts +2 -0
  229. package/internals/getCurve.js +45 -0
  230. package/internals/stackSeries.d.ts +29 -0
  231. package/internals/stackSeries.js +102 -0
  232. package/internals/utils.d.ts +2 -0
  233. package/internals/utils.js +11 -0
  234. package/legacy/BarChart/BarChart.js +260 -0
  235. package/legacy/BarChart/BarElement.js +78 -0
  236. package/legacy/BarChart/BarPlot.js +65 -0
  237. package/legacy/BarChart/extremums.js +25 -0
  238. package/legacy/BarChart/formatter.js +49 -0
  239. package/legacy/BarChart/index.js +2 -0
  240. package/legacy/ChartContainer/index.js +51 -0
  241. package/legacy/ChartsAxis/ChartsAxis.js +143 -0
  242. package/legacy/ChartsAxis/axisClasses.js +5 -0
  243. package/legacy/ChartsAxis/index.js +2 -0
  244. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +56 -0
  245. package/legacy/ChartsAxisHighlight/index.js +1 -0
  246. package/legacy/ChartsClipPath/ChartsClipPath.js +43 -0
  247. package/legacy/ChartsClipPath/index.js +1 -0
  248. package/legacy/ChartsLegend/ChartsLegend.js +186 -0
  249. package/legacy/ChartsLegend/chartsLegendClasses.js +5 -0
  250. package/legacy/ChartsLegend/index.js +2 -0
  251. package/legacy/ChartsLegend/utils.js +9 -0
  252. package/legacy/ChartsSurface.js +52 -0
  253. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +106 -0
  254. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +59 -0
  255. package/legacy/ChartsTooltip/ChartsTooltip.js +92 -0
  256. package/legacy/ChartsTooltip/ChartsTooltipTable.js +73 -0
  257. package/legacy/ChartsTooltip/index.js +1 -0
  258. package/legacy/ChartsTooltip/tooltipClasses.js +5 -0
  259. package/legacy/ChartsTooltip/utils.js +91 -0
  260. package/legacy/ChartsXAxis/ChartsXAxis.js +172 -0
  261. package/legacy/ChartsXAxis/index.js +1 -0
  262. package/legacy/ChartsYAxis/ChartsYAxis.js +173 -0
  263. package/legacy/ChartsYAxis/index.js +1 -0
  264. package/legacy/LineChart/AreaElement.js +102 -0
  265. package/legacy/LineChart/AreaPlot.js +62 -0
  266. package/legacy/LineChart/LineChart.js +265 -0
  267. package/legacy/LineChart/LineElement.js +104 -0
  268. package/legacy/LineChart/LinePlot.js +60 -0
  269. package/legacy/LineChart/MarkElement.js +128 -0
  270. package/legacy/LineChart/MarkPlot.js +75 -0
  271. package/legacy/LineChart/extremums.js +39 -0
  272. package/legacy/LineChart/formatter.js +51 -0
  273. package/legacy/LineChart/index.js +7 -0
  274. package/legacy/ResponsiveChartContainer/index.js +59 -0
  275. package/legacy/ScatterChart/Scatter.js +103 -0
  276. package/legacy/ScatterChart/ScatterChart.js +245 -0
  277. package/legacy/ScatterChart/ScatterPlot.js +39 -0
  278. package/legacy/ScatterChart/extremums.js +39 -0
  279. package/legacy/ScatterChart/formatter.js +12 -0
  280. package/legacy/ScatterChart/index.js +3 -0
  281. package/legacy/colorPalettes/colorPalettes.js +15 -0
  282. package/legacy/colorPalettes/index.js +1 -0
  283. package/legacy/constants.js +8 -0
  284. package/legacy/context/CartesianContextProvider.js +241 -0
  285. package/legacy/context/DrawingProvider.js +51 -0
  286. package/legacy/context/HighlightProvider.js +55 -0
  287. package/legacy/context/InteractionProvider.js +60 -0
  288. package/legacy/context/SeriesContextProvider.js +61 -0
  289. package/legacy/context/index.js +2 -0
  290. package/legacy/hooks/useAxisEvents.js +140 -0
  291. package/legacy/hooks/useChartDimensions.js +16 -0
  292. package/legacy/hooks/useInteractionItemProps.js +66 -0
  293. package/legacy/hooks/useScale.js +37 -0
  294. package/legacy/hooks/useTicks.js +46 -0
  295. package/legacy/index.js +22 -0
  296. package/legacy/internals/components/AxisSharedComponents.js +80 -0
  297. package/legacy/internals/defaultizeColor.js +8 -0
  298. package/legacy/internals/defaultizeValueFormatter.js +11 -0
  299. package/legacy/internals/getCurve.js +39 -0
  300. package/legacy/internals/stackSeries.js +90 -0
  301. package/legacy/internals/utils.js +5 -0
  302. package/legacy/models/axis.js +1 -0
  303. package/legacy/models/helpers.js +1 -0
  304. package/legacy/models/index.js +1 -0
  305. package/legacy/models/layout.js +1 -0
  306. package/legacy/models/seriesType/bar.js +1 -0
  307. package/legacy/models/seriesType/common.js +1 -0
  308. package/legacy/models/seriesType/config.js +1 -0
  309. package/legacy/models/seriesType/index.js +12 -0
  310. package/legacy/models/seriesType/line.js +1 -0
  311. package/legacy/models/seriesType/pie.js +1 -0
  312. package/legacy/models/seriesType/scatter.js +1 -0
  313. package/legacy/themeAugmentation/index.js +3 -0
  314. package/models/axis.d.ts +118 -0
  315. package/models/axis.js +5 -0
  316. package/models/helpers.d.ts +2 -0
  317. package/models/helpers.js +5 -0
  318. package/models/index.d.ts +1 -0
  319. package/models/index.js +16 -0
  320. package/models/layout.d.ts +10 -0
  321. package/models/layout.js +5 -0
  322. package/models/package.json +6 -0
  323. package/models/seriesType/bar.d.ts +18 -0
  324. package/models/seriesType/bar.js +5 -0
  325. package/models/seriesType/common.d.ts +26 -0
  326. package/models/seriesType/common.js +5 -0
  327. package/models/seriesType/config.d.ts +66 -0
  328. package/models/seriesType/config.js +5 -0
  329. package/models/seriesType/index.d.ts +13 -0
  330. package/models/seriesType/index.js +38 -0
  331. package/models/seriesType/line.d.ts +25 -0
  332. package/models/seriesType/line.js +5 -0
  333. package/models/seriesType/pie.d.ts +5 -0
  334. package/models/seriesType/pie.js +5 -0
  335. package/models/seriesType/scatter.d.ts +24 -0
  336. package/models/seriesType/scatter.js +5 -0
  337. package/modern/BarChart/BarChart.js +255 -0
  338. package/modern/BarChart/BarElement.js +80 -0
  339. package/modern/BarChart/BarPlot.js +68 -0
  340. package/modern/BarChart/extremums.js +19 -0
  341. package/modern/BarChart/formatter.js +46 -0
  342. package/modern/BarChart/index.js +2 -0
  343. package/modern/ChartContainer/index.js +53 -0
  344. package/modern/ChartsAxis/ChartsAxis.js +145 -0
  345. package/modern/ChartsAxis/axisClasses.js +5 -0
  346. package/modern/ChartsAxis/index.js +2 -0
  347. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -0
  348. package/modern/ChartsAxisHighlight/index.js +1 -0
  349. package/modern/ChartsClipPath/ChartsClipPath.js +46 -0
  350. package/modern/ChartsClipPath/index.js +1 -0
  351. package/modern/ChartsLegend/ChartsLegend.js +189 -0
  352. package/modern/ChartsLegend/chartsLegendClasses.js +5 -0
  353. package/modern/ChartsLegend/index.js +2 -0
  354. package/modern/ChartsLegend/utils.js +3 -0
  355. package/modern/ChartsSurface.js +49 -0
  356. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +107 -0
  357. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +62 -0
  358. package/modern/ChartsTooltip/ChartsTooltip.js +96 -0
  359. package/modern/ChartsTooltip/ChartsTooltipTable.js +69 -0
  360. package/modern/ChartsTooltip/index.js +1 -0
  361. package/modern/ChartsTooltip/tooltipClasses.js +5 -0
  362. package/modern/ChartsTooltip/utils.js +81 -0
  363. package/modern/ChartsXAxis/ChartsXAxis.js +184 -0
  364. package/modern/ChartsXAxis/index.js +1 -0
  365. package/modern/ChartsYAxis/ChartsYAxis.js +185 -0
  366. package/modern/ChartsYAxis/index.js +1 -0
  367. package/modern/LineChart/AreaElement.js +104 -0
  368. package/modern/LineChart/AreaPlot.js +58 -0
  369. package/modern/LineChart/LineChart.js +259 -0
  370. package/modern/LineChart/LineElement.js +106 -0
  371. package/modern/LineChart/LinePlot.js +58 -0
  372. package/modern/LineChart/MarkElement.js +129 -0
  373. package/modern/LineChart/MarkPlot.js +78 -0
  374. package/modern/LineChart/extremums.js +28 -0
  375. package/modern/LineChart/formatter.js +48 -0
  376. package/modern/LineChart/index.js +7 -0
  377. package/modern/ResponsiveChartContainer/index.js +45 -0
  378. package/modern/ScatterChart/Scatter.js +106 -0
  379. package/modern/ScatterChart/ScatterChart.js +245 -0
  380. package/modern/ScatterChart/ScatterPlot.js +44 -0
  381. package/modern/ScatterChart/extremums.js +41 -0
  382. package/modern/ScatterChart/formatter.js +11 -0
  383. package/modern/ScatterChart/index.js +3 -0
  384. package/modern/colorPalettes/colorPalettes.js +9 -0
  385. package/modern/colorPalettes/index.js +1 -0
  386. package/modern/constants.js +8 -0
  387. package/modern/context/CartesianContextProvider.js +217 -0
  388. package/modern/context/DrawingProvider.js +52 -0
  389. package/modern/context/HighlightProvider.js +46 -0
  390. package/modern/context/InteractionProvider.js +51 -0
  391. package/modern/context/SeriesContextProvider.js +58 -0
  392. package/modern/context/index.js +2 -0
  393. package/modern/hooks/useAxisEvents.js +145 -0
  394. package/modern/hooks/useChartDimensions.js +14 -0
  395. package/modern/hooks/useInteractionItemProps.js +68 -0
  396. package/modern/hooks/useScale.js +33 -0
  397. package/modern/hooks/useTicks.js +40 -0
  398. package/modern/index.js +22 -0
  399. package/modern/internals/components/AxisSharedComponents.js +81 -0
  400. package/modern/internals/defaultizeColor.js +7 -0
  401. package/modern/internals/defaultizeValueFormatter.js +11 -0
  402. package/modern/internals/getCurve.js +39 -0
  403. package/modern/internals/stackSeries.js +93 -0
  404. package/modern/internals/utils.js +5 -0
  405. package/modern/models/axis.js +1 -0
  406. package/modern/models/helpers.js +1 -0
  407. package/modern/models/index.js +1 -0
  408. package/modern/models/layout.js +1 -0
  409. package/modern/models/seriesType/bar.js +1 -0
  410. package/modern/models/seriesType/common.js +1 -0
  411. package/modern/models/seriesType/config.js +1 -0
  412. package/modern/models/seriesType/index.js +12 -0
  413. package/modern/models/seriesType/line.js +1 -0
  414. package/modern/models/seriesType/pie.js +1 -0
  415. package/modern/models/seriesType/scatter.js +1 -0
  416. package/modern/themeAugmentation/index.js +3 -0
  417. package/package.json +57 -0
  418. package/themeAugmentation/components.d.ts +72 -0
  419. package/themeAugmentation/index.d.ts +3 -0
  420. package/themeAugmentation/index.js +38 -0
  421. package/themeAugmentation/overrides.d.ts +29 -0
  422. package/themeAugmentation/package.json +6 -0
  423. package/themeAugmentation/props.d.ts +43 -0
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
3
+ import { ChartsAxisProps } from '../ChartsAxis';
4
+ import { BarSeriesType } from '../models/seriesType/bar';
5
+ import { MakeOptional } from '../models/helpers';
6
+ import { ChartsTooltipProps } from '../ChartsTooltip';
7
+ import { ChartsLegendProps } from '../ChartsLegend';
8
+ import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
9
+ export interface BarChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, ChartsAxisProps {
10
+ series: MakeOptional<BarSeriesType, 'type'>[];
11
+ tooltip?: ChartsTooltipProps;
12
+ axisHighlight?: ChartsAxisHighlightProps;
13
+ legend?: ChartsLegendProps;
14
+ }
15
+ declare function BarChart(props: BarChartProps): React.JSX.Element;
16
+ declare namespace BarChart {
17
+ var propTypes: any;
18
+ }
19
+ export { BarChart };
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BarChart = BarChart;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _BarPlot = require("./BarPlot");
13
+ var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
14
+ var _ChartsAxis = require("../ChartsAxis");
15
+ var _constants = require("../constants");
16
+ var _ChartsTooltip = require("../ChartsTooltip");
17
+ var _ChartsLegend = require("../ChartsLegend");
18
+ var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
19
+ var _ChartsClipPath = require("../ChartsClipPath");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+ function BarChart(props) {
24
+ const {
25
+ xAxis,
26
+ yAxis,
27
+ series,
28
+ width,
29
+ height,
30
+ margin,
31
+ colors,
32
+ sx,
33
+ tooltip,
34
+ axisHighlight,
35
+ legend,
36
+ topAxis,
37
+ leftAxis,
38
+ rightAxis,
39
+ bottomAxis,
40
+ children
41
+ } = props;
42
+ const id = (0, _useId.default)();
43
+ const clipPathId = `${id}-clip-path`;
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
45
+ series: series.map(s => (0, _extends2.default)({
46
+ type: 'bar'
47
+ }, s)),
48
+ width: width,
49
+ height: height,
50
+ margin: margin,
51
+ xAxis: xAxis ?? [{
52
+ id: _constants.DEFAULT_X_AXIS_KEY,
53
+ scaleType: 'band',
54
+ data: [...new Array(Math.max(...series.map(s => s.data.length)))].map((_, index) => index)
55
+ }],
56
+ yAxis: yAxis,
57
+ colors: colors,
58
+ sx: sx,
59
+ disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
61
+ clipPath: `url(#${clipPathId})`,
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlot.BarPlot, {})
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
64
+ topAxis: topAxis,
65
+ leftAxis: leftAxis,
66
+ rightAxis: rightAxis,
67
+ bottomAxis: bottomAxis
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({
69
+ x: "band"
70
+ }, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
71
+ id: clipPathId
72
+ }), children]
73
+ });
74
+ }
75
+ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
76
+ // ----------------------------- Warning --------------------------------
77
+ // | These PropTypes are generated from the TypeScript type definitions |
78
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
79
+ // ----------------------------------------------------------------------
80
+ axisHighlight: _propTypes.default.shape({
81
+ x: _propTypes.default.oneOf(['band', 'line', 'none']),
82
+ y: _propTypes.default.oneOf(['line', 'none'])
83
+ }),
84
+ /**
85
+ * Indicate which axis to display the the bottom of the charts.
86
+ * Can be a string (the id of the axis) or an object `ChartsXAxisProps`
87
+ * @default xAxisIds[0] The id of the first provided axis
88
+ */
89
+ bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
90
+ axisId: _propTypes.default.string.isRequired,
91
+ classes: _propTypes.default.object,
92
+ disableLine: _propTypes.default.bool,
93
+ disableTicks: _propTypes.default.bool,
94
+ fill: _propTypes.default.string,
95
+ label: _propTypes.default.string,
96
+ labelFontSize: _propTypes.default.number,
97
+ position: _propTypes.default.oneOf(['bottom', 'top']),
98
+ stroke: _propTypes.default.string,
99
+ tickFontSize: _propTypes.default.number,
100
+ tickSize: _propTypes.default.number
101
+ }), _propTypes.default.string]),
102
+ children: _propTypes.default.node,
103
+ className: _propTypes.default.string,
104
+ /**
105
+ * Color palette used to colorize multiple series.
106
+ */
107
+ colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
108
+ desc: _propTypes.default.string,
109
+ disableAxisListener: _propTypes.default.bool,
110
+ height: _propTypes.default.number,
111
+ /**
112
+ * Indicate which axis to display the the left of the charts.
113
+ * Can be a string (the id of the axis) or an object `ChartsYAxisProps`
114
+ * @default yAxisIds[0] The id of the first provided axis
115
+ */
116
+ leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
117
+ axisId: _propTypes.default.string.isRequired,
118
+ classes: _propTypes.default.object,
119
+ disableLine: _propTypes.default.bool,
120
+ disableTicks: _propTypes.default.bool,
121
+ fill: _propTypes.default.string,
122
+ label: _propTypes.default.string,
123
+ labelFontSize: _propTypes.default.number,
124
+ position: _propTypes.default.oneOf(['left', 'right']),
125
+ stroke: _propTypes.default.string,
126
+ tickFontSize: _propTypes.default.number,
127
+ tickSize: _propTypes.default.number
128
+ }), _propTypes.default.string]),
129
+ legend: _propTypes.default.shape({
130
+ classes: _propTypes.default.object,
131
+ direction: _propTypes.default.oneOf(['column', 'row']),
132
+ itemWidth: _propTypes.default.number,
133
+ markSize: _propTypes.default.number,
134
+ offset: _propTypes.default.shape({
135
+ x: _propTypes.default.number,
136
+ y: _propTypes.default.number
137
+ }),
138
+ position: _propTypes.default.shape({
139
+ horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
140
+ vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
141
+ }),
142
+ spacing: _propTypes.default.number
143
+ }),
144
+ margin: _propTypes.default.shape({
145
+ bottom: _propTypes.default.number,
146
+ left: _propTypes.default.number,
147
+ right: _propTypes.default.number,
148
+ top: _propTypes.default.number
149
+ }),
150
+ /**
151
+ * Indicate which axis to display the the right of the charts.
152
+ * Can be a string (the id of the axis) or an object `ChartsYAxisProps`
153
+ * @default null
154
+ */
155
+ rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
156
+ axisId: _propTypes.default.string.isRequired,
157
+ classes: _propTypes.default.object,
158
+ disableLine: _propTypes.default.bool,
159
+ disableTicks: _propTypes.default.bool,
160
+ fill: _propTypes.default.string,
161
+ label: _propTypes.default.string,
162
+ labelFontSize: _propTypes.default.number,
163
+ position: _propTypes.default.oneOf(['left', 'right']),
164
+ stroke: _propTypes.default.string,
165
+ tickFontSize: _propTypes.default.number,
166
+ tickSize: _propTypes.default.number
167
+ }), _propTypes.default.string]),
168
+ series: _propTypes.default.arrayOf(_propTypes.default.shape({
169
+ color: _propTypes.default.string,
170
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
171
+ highlightScope: _propTypes.default.shape({
172
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
173
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
174
+ }),
175
+ id: _propTypes.default.string,
176
+ label: _propTypes.default.string,
177
+ stack: _propTypes.default.string,
178
+ stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
179
+ stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
180
+ type: _propTypes.default.oneOf(['bar']),
181
+ valueFormatter: _propTypes.default.func,
182
+ xAxisKey: _propTypes.default.string,
183
+ yAxisKey: _propTypes.default.string
184
+ })).isRequired,
185
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
186
+ title: _propTypes.default.string,
187
+ tooltip: _propTypes.default.shape({
188
+ axisContent: _propTypes.default.elementType,
189
+ classes: _propTypes.default.object,
190
+ itemContent: _propTypes.default.elementType,
191
+ trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
192
+ }),
193
+ /**
194
+ * Indicate which axis to display the the top of the charts.
195
+ * Can be a string (the id of the axis) or an object `ChartsXAxisProps`
196
+ * @default null
197
+ */
198
+ topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
199
+ axisId: _propTypes.default.string.isRequired,
200
+ classes: _propTypes.default.object,
201
+ disableLine: _propTypes.default.bool,
202
+ disableTicks: _propTypes.default.bool,
203
+ fill: _propTypes.default.string,
204
+ label: _propTypes.default.string,
205
+ labelFontSize: _propTypes.default.number,
206
+ position: _propTypes.default.oneOf(['bottom', 'top']),
207
+ stroke: _propTypes.default.string,
208
+ tickFontSize: _propTypes.default.number,
209
+ tickSize: _propTypes.default.number
210
+ }), _propTypes.default.string]),
211
+ viewBox: _propTypes.default.shape({
212
+ height: _propTypes.default.number,
213
+ width: _propTypes.default.number,
214
+ x: _propTypes.default.number,
215
+ y: _propTypes.default.number
216
+ }),
217
+ width: _propTypes.default.number,
218
+ xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
219
+ axisId: _propTypes.default.string,
220
+ classes: _propTypes.default.object,
221
+ data: _propTypes.default.array,
222
+ disableLine: _propTypes.default.bool,
223
+ disableTicks: _propTypes.default.bool,
224
+ fill: _propTypes.default.string,
225
+ id: _propTypes.default.string,
226
+ label: _propTypes.default.string,
227
+ labelFontSize: _propTypes.default.number,
228
+ max: _propTypes.default.number,
229
+ maxTicks: _propTypes.default.number,
230
+ min: _propTypes.default.number,
231
+ minTicks: _propTypes.default.number,
232
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
233
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
234
+ stroke: _propTypes.default.string,
235
+ tickFontSize: _propTypes.default.number,
236
+ tickSize: _propTypes.default.number,
237
+ tickSpacing: _propTypes.default.number,
238
+ valueFormatter: _propTypes.default.func
239
+ })),
240
+ yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
241
+ axisId: _propTypes.default.string,
242
+ classes: _propTypes.default.object,
243
+ data: _propTypes.default.array,
244
+ disableLine: _propTypes.default.bool,
245
+ disableTicks: _propTypes.default.bool,
246
+ fill: _propTypes.default.string,
247
+ id: _propTypes.default.string,
248
+ label: _propTypes.default.string,
249
+ labelFontSize: _propTypes.default.number,
250
+ max: _propTypes.default.number,
251
+ maxTicks: _propTypes.default.number,
252
+ min: _propTypes.default.number,
253
+ minTicks: _propTypes.default.number,
254
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
255
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
256
+ stroke: _propTypes.default.string,
257
+ tickFontSize: _propTypes.default.number,
258
+ tickSize: _propTypes.default.number,
259
+ tickSpacing: _propTypes.default.number,
260
+ valueFormatter: _propTypes.default.func
261
+ }))
262
+ } : void 0;
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { HighlightScope } from '../context/HighlightProvider';
3
+ export interface BarElementClasses {
4
+ /** Styles applied to the root element. */
5
+ root: string;
6
+ }
7
+ export type BarElementClassKey = keyof BarElementClasses;
8
+ export interface BarElementOwnerState {
9
+ id: string;
10
+ dataIndex: number;
11
+ color: string;
12
+ isFaded: boolean;
13
+ isHighlighted: boolean;
14
+ classes?: Partial<BarElementClasses>;
15
+ }
16
+ export declare function getBarElementUtilityClass(slot: string): string;
17
+ export declare const lineElementClasses: BarElementClasses;
18
+ export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & {
19
+ highlightScope?: Partial<HighlightScope>;
20
+ };
21
+ export declare function BarElement(props: BarElementProps): React.JSX.Element;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BarElement = BarElement;
8
+ exports.getBarElementUtilityClass = getBarElementUtilityClass;
9
+ exports.lineElementClasses = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
15
+ var _styles = require("@mui/material/styles");
16
+ var _d3Color = require("d3-color");
17
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
18
+ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
19
+ var _InteractionProvider = require("../context/InteractionProvider");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope"];
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function getBarElementUtilityClass(slot) {
25
+ return (0, _generateUtilityClass.default)('MuiBarElement', slot);
26
+ }
27
+ const lineElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root']);
28
+ exports.lineElementClasses = lineElementClasses;
29
+ const useUtilityClasses = ownerState => {
30
+ const {
31
+ classes,
32
+ id
33
+ } = ownerState;
34
+ const slots = {
35
+ root: ['root', `series-${id}`]
36
+ };
37
+ return (0, _composeClasses.default)(slots, getBarElementUtilityClass, classes);
38
+ };
39
+ const BarElementPath = (0, _styles.styled)('rect', {
40
+ name: 'MuiBarElement',
41
+ slot: 'Root',
42
+ overridesResolver: (_, styles) => styles.root
43
+ })(({
44
+ ownerState
45
+ }) => ({
46
+ stroke: 'none',
47
+ shapeRendering: 'crispEdges',
48
+ fill: ownerState.isHighlighted ? (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex() : ownerState.color,
49
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
50
+ opacity: ownerState.isFaded && 0.3 || 1
51
+ }));
52
+ function BarElement(props) {
53
+ const {
54
+ id,
55
+ dataIndex,
56
+ classes: innerClasses,
57
+ color,
58
+ highlightScope
59
+ } = props,
60
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
61
+ const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
62
+ const {
63
+ item
64
+ } = React.useContext(_InteractionProvider.InteractionContext);
65
+ const isHighlighted = (0, _useInteractionItemProps.getIsHighlighted)(item, {
66
+ type: 'bar',
67
+ seriesId: id,
68
+ dataIndex
69
+ }, highlightScope);
70
+ const isFaded = !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, {
71
+ type: 'bar',
72
+ seriesId: id,
73
+ dataIndex
74
+ }, highlightScope);
75
+ const ownerState = {
76
+ id,
77
+ dataIndex,
78
+ classes: innerClasses,
79
+ color,
80
+ isFaded,
81
+ isHighlighted
82
+ };
83
+ const classes = useUtilityClasses(ownerState);
84
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BarElementPath, (0, _extends2.default)({}, other, {
85
+ ownerState: ownerState,
86
+ className: classes.root
87
+ }, getInteractionItemProps({
88
+ type: 'bar',
89
+ seriesId: id,
90
+ dataIndex
91
+ })));
92
+ }
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function BarPlot(): React.JSX.Element | null;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BarPlot = BarPlot;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _SeriesContextProvider = require("../context/SeriesContextProvider");
9
+ var _CartesianContextProvider = require("../context/CartesianContextProvider");
10
+ var _useScale = require("../hooks/useScale");
11
+ var _BarElement = require("./BarElement");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function BarPlot() {
16
+ const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).bar;
17
+ const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
18
+ if (seriesData === undefined) {
19
+ return null;
20
+ }
21
+ const {
22
+ series,
23
+ stackingGroups
24
+ } = seriesData;
25
+ const {
26
+ xAxis,
27
+ yAxis,
28
+ xAxisIds,
29
+ yAxisIds
30
+ } = axisData;
31
+ const defaultXAxisId = xAxisIds[0];
32
+ const defaultYAxisId = yAxisIds[0];
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
34
+ children: stackingGroups.flatMap(({
35
+ ids: groupIds
36
+ }, groupIndex) => {
37
+ return groupIds.flatMap(seriesId => {
38
+ const xAxisKey = series[seriesId].xAxisKey ?? defaultXAxisId;
39
+ const yAxisKey = series[seriesId].yAxisKey ?? defaultYAxisId;
40
+ const xScale = xAxis[xAxisKey].scale;
41
+ const yScale = yAxis[yAxisKey].scale;
42
+ if (!(0, _useScale.isBandScale)(xScale)) {
43
+ throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series ${stackingGroups}`);
44
+ }
45
+ if (xAxis[xAxisKey].data === undefined) {
46
+ throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
47
+ }
48
+
49
+ // Currently assuming all bars are vertical
50
+ const bandWidth = xScale.bandwidth();
51
+ const barWidth = 0.9 * bandWidth / stackingGroups.length;
52
+ const offset = 0.05 * bandWidth;
53
+
54
+ // @ts-ignore TODO: fix when adding a correct API for customisation
55
+ const {
56
+ stackedData,
57
+ color
58
+ } = series[seriesId];
59
+ return stackedData.map((values, dataIndex) => {
60
+ const baseline = Math.min(...values);
61
+ const value = Math.max(...values);
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarElement.BarElement, {
63
+ id: seriesId,
64
+ dataIndex: dataIndex,
65
+ x: xScale(xAxis[xAxisKey].data?.[dataIndex]) + groupIndex * barWidth + offset,
66
+ y: yScale(value),
67
+ height: yScale(baseline) - yScale(value),
68
+ width: barWidth,
69
+ color: color,
70
+ highlightScope: series[seriesId].highlightScope
71
+ }, `${seriesId}-${dataIndex}`);
72
+ });
73
+ });
74
+ })
75
+ });
76
+ }
@@ -0,0 +1,3 @@
1
+ import { ExtremumGetter } from '../models/seriesType/config';
2
+ export declare const getExtremumX: ExtremumGetter<'bar'>;
3
+ export declare const getExtremumY: ExtremumGetter<'bar'>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getExtremumY = exports.getExtremumX = void 0;
7
+ const getExtremumX = params => {
8
+ const {
9
+ axis
10
+ } = params;
11
+ const minX = Math.min(...(axis.data ?? []));
12
+ const maxX = Math.max(...(axis.data ?? []));
13
+ return [minX, maxX];
14
+ };
15
+ exports.getExtremumX = getExtremumX;
16
+ const getExtremumY = params => {
17
+ const {
18
+ series,
19
+ axis,
20
+ isDefaultAxis
21
+ } = params;
22
+ return Object.keys(series).filter(seriesId => series[seriesId].yAxisKey === axis.id || isDefaultAxis && series[seriesId].yAxisKey === undefined).reduce((acc, seriesId) => {
23
+ const [seriesMin, seriesMax] = series[seriesId].stackedData.reduce((seriesAcc, values) => [Math.min(...values, ...(seriesAcc[0] === null ? [] : [seriesAcc[0]])), Math.max(...values, ...(seriesAcc[1] === null ? [] : [seriesAcc[1]]))], series[seriesId].stackedData[0]);
24
+ return [acc[0] === null ? seriesMin : Math.min(seriesMin, acc[0]), acc[1] === null ? seriesMax : Math.max(seriesMax, acc[1])];
25
+ }, [null, null]);
26
+ };
27
+ exports.getExtremumY = getExtremumY;
@@ -0,0 +1,3 @@
1
+ import { Formatter } from '../models/seriesType/config';
2
+ declare const formatter: Formatter<'bar'>;
3
+ export default formatter;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _d3Shape = require("d3-shape");
10
+ var _stackSeries = require("../internals/stackSeries");
11
+ var _defaultizeValueFormatter = _interopRequireDefault(require("../internals/defaultizeValueFormatter"));
12
+ const formatter = params => {
13
+ const {
14
+ seriesOrder,
15
+ series
16
+ } = params;
17
+ const stackingGroups = (0, _stackSeries.getStackingGroups)(params);
18
+
19
+ // Create a data set with format adapted to d3
20
+ const d3Dataset = [];
21
+ seriesOrder.forEach(id => {
22
+ series[id].data.forEach((value, index) => {
23
+ if (d3Dataset.length <= index) {
24
+ d3Dataset.push({
25
+ [id]: value
26
+ });
27
+ } else {
28
+ d3Dataset[index][id] = value;
29
+ }
30
+ });
31
+ });
32
+ const completedSeries = {};
33
+ stackingGroups.forEach(stackingGroup => {
34
+ const {
35
+ ids,
36
+ stackingOffset,
37
+ stackingOrder
38
+ } = stackingGroup;
39
+ // Get stacked values, and derive the domain
40
+ const stackedSeries = (0, _d3Shape.stack)().keys(ids).order(stackingOrder).offset(stackingOffset)(d3Dataset);
41
+ ids.forEach((id, index) => {
42
+ completedSeries[id] = (0, _extends2.default)({}, series[id], {
43
+ stackedData: stackedSeries[index].map(([a, b]) => [a, b])
44
+ });
45
+ });
46
+ });
47
+ return {
48
+ seriesOrder,
49
+ stackingGroups,
50
+ series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v.toLocaleString())
51
+ };
52
+ };
53
+ var _default = formatter;
54
+ exports.default = _default;
@@ -0,0 +1,2 @@
1
+ export { BarPlot } from './BarPlot';
2
+ export { BarChart } from './BarChart';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BarChart", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _BarChart.BarChart;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "BarPlot", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _BarPlot.BarPlot;
16
+ }
17
+ });
18
+ var _BarPlot = require("./BarPlot");
19
+ var _BarChart = require("./BarChart");
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../esm/BarChart/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }