@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,266 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LineChart = LineChart;
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 _AreaPlot = require("./AreaPlot");
13
+ var _LinePlot = require("./LinePlot");
14
+ var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
15
+ var _MarkPlot = require("./MarkPlot");
16
+ var _ChartsAxis = require("../ChartsAxis/ChartsAxis");
17
+ var _constants = require("../constants");
18
+ var _ChartsTooltip = require("../ChartsTooltip");
19
+ var _ChartsLegend = require("../ChartsLegend");
20
+ var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
21
+ var _ChartsClipPath = require("../ChartsClipPath");
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+ 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); }
24
+ 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; }
25
+ function LineChart(props) {
26
+ const {
27
+ xAxis,
28
+ yAxis,
29
+ series,
30
+ width,
31
+ height,
32
+ margin,
33
+ colors,
34
+ sx,
35
+ tooltip,
36
+ axisHighlight = {
37
+ x: 'line'
38
+ },
39
+ legend,
40
+ topAxis,
41
+ leftAxis,
42
+ rightAxis,
43
+ bottomAxis,
44
+ children
45
+ } = props;
46
+ const id = (0, _useId.default)();
47
+ const clipPathId = `${id}-clip-path`;
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
49
+ series: series.map(s => (0, _extends2.default)({
50
+ type: 'line'
51
+ }, s)),
52
+ width: width,
53
+ height: height,
54
+ margin: margin,
55
+ xAxis: xAxis ?? [{
56
+ id: _constants.DEFAULT_X_AXIS_KEY,
57
+ scaleType: 'point',
58
+ data: [...new Array(Math.max(...series.map(s => s.data.length)))].map((_, index) => index)
59
+ }],
60
+ yAxis: yAxis,
61
+ colors: colors,
62
+ sx: sx,
63
+ disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
65
+ clipPath: `url(#${clipPathId})`,
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, {})]
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
68
+ topAxis: topAxis,
69
+ leftAxis: leftAxis,
70
+ rightAxis: rightAxis,
71
+ bottomAxis: bottomAxis
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
73
+ id: clipPathId
74
+ }), children]
75
+ });
76
+ }
77
+ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
78
+ // ----------------------------- Warning --------------------------------
79
+ // | These PropTypes are generated from the TypeScript type definitions |
80
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
81
+ // ----------------------------------------------------------------------
82
+ axisHighlight: _propTypes.default.shape({
83
+ x: _propTypes.default.oneOf(['band', 'line', 'none']),
84
+ y: _propTypes.default.oneOf(['line', 'none'])
85
+ }),
86
+ /**
87
+ * Indicate which axis to display the the bottom of the charts.
88
+ * Can be a string (the id of the axis) or an object `ChartsXAxisProps`
89
+ * @default xAxisIds[0] The id of the first provided axis
90
+ */
91
+ bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
92
+ axisId: _propTypes.default.string.isRequired,
93
+ classes: _propTypes.default.object,
94
+ disableLine: _propTypes.default.bool,
95
+ disableTicks: _propTypes.default.bool,
96
+ fill: _propTypes.default.string,
97
+ label: _propTypes.default.string,
98
+ labelFontSize: _propTypes.default.number,
99
+ position: _propTypes.default.oneOf(['bottom', 'top']),
100
+ stroke: _propTypes.default.string,
101
+ tickFontSize: _propTypes.default.number,
102
+ tickSize: _propTypes.default.number
103
+ }), _propTypes.default.string]),
104
+ children: _propTypes.default.node,
105
+ className: _propTypes.default.string,
106
+ /**
107
+ * Color palette used to colorize multiple series.
108
+ */
109
+ colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
110
+ desc: _propTypes.default.string,
111
+ disableAxisListener: _propTypes.default.bool,
112
+ height: _propTypes.default.number,
113
+ /**
114
+ * Indicate which axis to display the the left of the charts.
115
+ * Can be a string (the id of the axis) or an object `ChartsYAxisProps`
116
+ * @default yAxisIds[0] The id of the first provided axis
117
+ */
118
+ leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
119
+ axisId: _propTypes.default.string.isRequired,
120
+ classes: _propTypes.default.object,
121
+ disableLine: _propTypes.default.bool,
122
+ disableTicks: _propTypes.default.bool,
123
+ fill: _propTypes.default.string,
124
+ label: _propTypes.default.string,
125
+ labelFontSize: _propTypes.default.number,
126
+ position: _propTypes.default.oneOf(['left', 'right']),
127
+ stroke: _propTypes.default.string,
128
+ tickFontSize: _propTypes.default.number,
129
+ tickSize: _propTypes.default.number
130
+ }), _propTypes.default.string]),
131
+ legend: _propTypes.default.shape({
132
+ classes: _propTypes.default.object,
133
+ direction: _propTypes.default.oneOf(['column', 'row']),
134
+ itemWidth: _propTypes.default.number,
135
+ markSize: _propTypes.default.number,
136
+ offset: _propTypes.default.shape({
137
+ x: _propTypes.default.number,
138
+ y: _propTypes.default.number
139
+ }),
140
+ position: _propTypes.default.shape({
141
+ horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
142
+ vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
143
+ }),
144
+ spacing: _propTypes.default.number
145
+ }),
146
+ margin: _propTypes.default.shape({
147
+ bottom: _propTypes.default.number,
148
+ left: _propTypes.default.number,
149
+ right: _propTypes.default.number,
150
+ top: _propTypes.default.number
151
+ }),
152
+ /**
153
+ * Indicate which axis to display the the right of the charts.
154
+ * Can be a string (the id of the axis) or an object `ChartsYAxisProps`
155
+ * @default null
156
+ */
157
+ rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
158
+ axisId: _propTypes.default.string.isRequired,
159
+ classes: _propTypes.default.object,
160
+ disableLine: _propTypes.default.bool,
161
+ disableTicks: _propTypes.default.bool,
162
+ fill: _propTypes.default.string,
163
+ label: _propTypes.default.string,
164
+ labelFontSize: _propTypes.default.number,
165
+ position: _propTypes.default.oneOf(['left', 'right']),
166
+ stroke: _propTypes.default.string,
167
+ tickFontSize: _propTypes.default.number,
168
+ tickSize: _propTypes.default.number
169
+ }), _propTypes.default.string]),
170
+ series: _propTypes.default.arrayOf(_propTypes.default.shape({
171
+ area: _propTypes.default.bool,
172
+ color: _propTypes.default.string,
173
+ curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
174
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
175
+ highlightScope: _propTypes.default.shape({
176
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
177
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
178
+ }),
179
+ id: _propTypes.default.string,
180
+ label: _propTypes.default.string,
181
+ stack: _propTypes.default.string,
182
+ stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
183
+ stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
184
+ type: _propTypes.default.oneOf(['line']),
185
+ valueFormatter: _propTypes.default.func,
186
+ xAxisKey: _propTypes.default.string,
187
+ yAxisKey: _propTypes.default.string
188
+ })).isRequired,
189
+ 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]),
190
+ title: _propTypes.default.string,
191
+ tooltip: _propTypes.default.shape({
192
+ axisContent: _propTypes.default.elementType,
193
+ classes: _propTypes.default.object,
194
+ itemContent: _propTypes.default.elementType,
195
+ trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
196
+ }),
197
+ /**
198
+ * Indicate which axis to display the the top of the charts.
199
+ * Can be a string (the id of the axis) or an object `ChartsXAxisProps`
200
+ * @default null
201
+ */
202
+ topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
203
+ axisId: _propTypes.default.string.isRequired,
204
+ classes: _propTypes.default.object,
205
+ disableLine: _propTypes.default.bool,
206
+ disableTicks: _propTypes.default.bool,
207
+ fill: _propTypes.default.string,
208
+ label: _propTypes.default.string,
209
+ labelFontSize: _propTypes.default.number,
210
+ position: _propTypes.default.oneOf(['bottom', 'top']),
211
+ stroke: _propTypes.default.string,
212
+ tickFontSize: _propTypes.default.number,
213
+ tickSize: _propTypes.default.number
214
+ }), _propTypes.default.string]),
215
+ viewBox: _propTypes.default.shape({
216
+ height: _propTypes.default.number,
217
+ width: _propTypes.default.number,
218
+ x: _propTypes.default.number,
219
+ y: _propTypes.default.number
220
+ }),
221
+ width: _propTypes.default.number,
222
+ xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
223
+ axisId: _propTypes.default.string,
224
+ classes: _propTypes.default.object,
225
+ data: _propTypes.default.array,
226
+ disableLine: _propTypes.default.bool,
227
+ disableTicks: _propTypes.default.bool,
228
+ fill: _propTypes.default.string,
229
+ id: _propTypes.default.string,
230
+ label: _propTypes.default.string,
231
+ labelFontSize: _propTypes.default.number,
232
+ max: _propTypes.default.number,
233
+ maxTicks: _propTypes.default.number,
234
+ min: _propTypes.default.number,
235
+ minTicks: _propTypes.default.number,
236
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
237
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
238
+ stroke: _propTypes.default.string,
239
+ tickFontSize: _propTypes.default.number,
240
+ tickSize: _propTypes.default.number,
241
+ tickSpacing: _propTypes.default.number,
242
+ valueFormatter: _propTypes.default.func
243
+ })),
244
+ yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
245
+ axisId: _propTypes.default.string,
246
+ classes: _propTypes.default.object,
247
+ data: _propTypes.default.array,
248
+ disableLine: _propTypes.default.bool,
249
+ disableTicks: _propTypes.default.bool,
250
+ fill: _propTypes.default.string,
251
+ id: _propTypes.default.string,
252
+ label: _propTypes.default.string,
253
+ labelFontSize: _propTypes.default.number,
254
+ max: _propTypes.default.number,
255
+ maxTicks: _propTypes.default.number,
256
+ min: _propTypes.default.number,
257
+ minTicks: _propTypes.default.number,
258
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
259
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
260
+ stroke: _propTypes.default.string,
261
+ tickFontSize: _propTypes.default.number,
262
+ tickSize: _propTypes.default.number,
263
+ tickSpacing: _propTypes.default.number,
264
+ valueFormatter: _propTypes.default.func
265
+ }))
266
+ } : void 0;
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { HighlightScope } from '../context/HighlightProvider';
3
+ export interface LineElementClasses {
4
+ /** Styles applied to the root element. */
5
+ root: string;
6
+ /** Styles applied to the root element when higlighted. */
7
+ highlighted: string;
8
+ /** Styles applied to the root element when faded. */
9
+ faded: string;
10
+ }
11
+ export type LineElementClassKey = keyof LineElementClasses;
12
+ export interface LineElementOwnerState {
13
+ id: string;
14
+ color: string;
15
+ isFaded: boolean;
16
+ isHighlighted: boolean;
17
+ classes?: Partial<LineElementClasses>;
18
+ }
19
+ export declare function getLineElementUtilityClass(slot: string): string;
20
+ export declare const lineElementClasses: LineElementClasses;
21
+ export type LineElementProps = Omit<LineElementOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & {
22
+ highlightScope?: Partial<HighlightScope>;
23
+ };
24
+ declare function LineElement(props: LineElementProps): React.JSX.Element;
25
+ declare namespace LineElement {
26
+ var propTypes: any;
27
+ }
28
+ export { LineElement };
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LineElement = LineElement;
8
+ exports.getLineElementUtilityClass = getLineElementUtilityClass;
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 _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _d3Color = require("d3-color");
15
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
17
+ var _styles = require("@mui/material/styles");
18
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
19
+ var _InteractionProvider = require("../context/InteractionProvider");
20
+ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ const _excluded = ["id", "classes", "color", "highlightScope"];
23
+ 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); }
24
+ 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; }
25
+ function getLineElementUtilityClass(slot) {
26
+ return (0, _generateUtilityClass.default)('MuiLineElement', slot);
27
+ }
28
+ const lineElementClasses = (0, _generateUtilityClasses.default)('MuiLineElement', ['root', 'highlighted', 'faded']);
29
+ exports.lineElementClasses = lineElementClasses;
30
+ const useUtilityClasses = ownerState => {
31
+ const {
32
+ classes,
33
+ id,
34
+ isFaded,
35
+ isHighlighted
36
+ } = ownerState;
37
+ const slots = {
38
+ root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
39
+ };
40
+ return (0, _composeClasses.default)(slots, getLineElementUtilityClass, classes);
41
+ };
42
+ const LineElementPath = (0, _styles.styled)('path', {
43
+ name: 'MuiLineElement',
44
+ slot: 'Root',
45
+ overridesResolver: (_, styles) => styles.root
46
+ })(({
47
+ ownerState
48
+ }) => ({
49
+ strokeWidth: 2,
50
+ strokeLinejoin: 'round',
51
+ fill: 'none',
52
+ stroke: ownerState.isHighlighted ? (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex() : ownerState.color,
53
+ transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
54
+ opacity: ownerState.isFaded ? 0.3 : 1
55
+ }));
56
+ LineElementPath.propTypes = {
57
+ // ----------------------------- Warning --------------------------------
58
+ // | These PropTypes are generated from the TypeScript type definitions |
59
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
60
+ // ----------------------------------------------------------------------
61
+ as: _propTypes.default.elementType,
62
+ ownerState: _propTypes.default.shape({
63
+ classes: _propTypes.default.object,
64
+ color: _propTypes.default.string.isRequired,
65
+ id: _propTypes.default.string.isRequired,
66
+ isFaded: _propTypes.default.bool.isRequired,
67
+ isHighlighted: _propTypes.default.bool.isRequired
68
+ }).isRequired,
69
+ 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])
70
+ };
71
+ function LineElement(props) {
72
+ const {
73
+ id,
74
+ classes: innerClasses,
75
+ color,
76
+ highlightScope
77
+ } = props,
78
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
79
+ const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
80
+ const {
81
+ item
82
+ } = React.useContext(_InteractionProvider.InteractionContext);
83
+ const isHighlighted = (0, _useInteractionItemProps.getIsHighlighted)(item, {
84
+ type: 'line',
85
+ seriesId: id
86
+ }, highlightScope);
87
+ const isFaded = !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, {
88
+ type: 'line',
89
+ seriesId: id
90
+ }, highlightScope);
91
+ const ownerState = {
92
+ id,
93
+ classes: innerClasses,
94
+ color,
95
+ isFaded,
96
+ isHighlighted
97
+ };
98
+ const classes = useUtilityClasses(ownerState);
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LineElementPath, (0, _extends2.default)({}, other, {
100
+ ownerState: ownerState,
101
+ className: classes.root
102
+ }, getInteractionItemProps({
103
+ type: 'line',
104
+ seriesId: id
105
+ })));
106
+ }
107
+ process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
108
+ // ----------------------------- Warning --------------------------------
109
+ // | These PropTypes are generated from the TypeScript type definitions |
110
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
111
+ // ----------------------------------------------------------------------
112
+ classes: _propTypes.default.object,
113
+ highlightScope: _propTypes.default.shape({
114
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
115
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
116
+ })
117
+ } : void 0;
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function LinePlot(): React.JSX.Element | null;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LinePlot = LinePlot;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _d3Shape = require("d3-shape");
10
+ var _SeriesContextProvider = require("../context/SeriesContextProvider");
11
+ var _CartesianContextProvider = require("../context/CartesianContextProvider");
12
+ var _LineElement = require("./LineElement");
13
+ var _useScale = require("../hooks/useScale");
14
+ var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ 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); }
17
+ 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; }
18
+ function LinePlot() {
19
+ const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
20
+ const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
21
+ if (seriesData === undefined) {
22
+ return null;
23
+ }
24
+ const {
25
+ series,
26
+ stackingGroups
27
+ } = seriesData;
28
+ const {
29
+ xAxis,
30
+ yAxis,
31
+ xAxisIds,
32
+ yAxisIds
33
+ } = axisData;
34
+ const defaultXAxisId = xAxisIds[0];
35
+ const defaultYAxisId = yAxisIds[0];
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
37
+ children: stackingGroups.flatMap(({
38
+ ids: groupIds
39
+ }) => {
40
+ return groupIds.flatMap(seriesId => {
41
+ const {
42
+ xAxisKey = defaultXAxisId,
43
+ yAxisKey = defaultYAxisId,
44
+ stackedData
45
+ } = series[seriesId];
46
+ const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisKey].scale);
47
+ const yScale = yAxis[yAxisKey].scale;
48
+ const xData = xAxis[xAxisKey].data;
49
+ if (xData === undefined) {
50
+ throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot`);
51
+ }
52
+ const linePath = (0, _d3Shape.line)().x(d => xScale(d.x)).y(d => yScale(d.y[1]));
53
+ const curve = (0, _getCurve.default)(series[seriesId].curve);
54
+ const d3Data = xData?.map((x, index) => ({
55
+ x,
56
+ y: stackedData[index]
57
+ }));
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineElement.LineElement, {
59
+ id: seriesId,
60
+ d: linePath.curve(curve)(d3Data) || undefined,
61
+ color: series[seriesId].color,
62
+ highlightScope: series[seriesId].highlightScope
63
+ }, seriesId);
64
+ });
65
+ })
66
+ });
67
+ }
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ import { HighlightScope } from '../context/HighlightProvider';
3
+ export interface MarkElementClasses {
4
+ /** Styles applied to the root element. */
5
+ root: string;
6
+ /** Styles applied to the root element when higlighted. */
7
+ highlighted: string;
8
+ /** Styles applied to the root element when faded. */
9
+ faded: string;
10
+ }
11
+ export type MarkElementClassKey = keyof MarkElementClasses;
12
+ export interface MarkElementOwnerState {
13
+ id: string;
14
+ color: string;
15
+ isFaded: boolean;
16
+ isHighlighted: boolean;
17
+ x: number;
18
+ y: number;
19
+ classes?: Partial<MarkElementClasses>;
20
+ }
21
+ export declare function getMarkElementUtilityClass(slot: string): string;
22
+ export declare const markElementClasses: MarkElementClasses;
23
+ export type MarkElementProps = Omit<MarkElementOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & {
24
+ /**
25
+ * The shape of the marker.
26
+ */
27
+ shape: 'circle' | 'cross' | 'diamond' | 'square' | 'star' | 'triangle' | 'wye';
28
+ /**
29
+ * The index to the element in the series' data array.
30
+ */
31
+ dataIndex: number;
32
+ highlightScope?: Partial<HighlightScope>;
33
+ };
34
+ declare function MarkElement(props: MarkElementProps): React.JSX.Element;
35
+ declare namespace MarkElement {
36
+ var propTypes: any;
37
+ }
38
+ export { MarkElement };
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MarkElement = MarkElement;
8
+ exports.getMarkElementUtilityClass = getMarkElementUtilityClass;
9
+ exports.markElementClasses = 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 _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
16
+ var _styles = require("@mui/material/styles");
17
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
18
+ var _d3Shape = require("d3-shape");
19
+ var _utils = require("../internals/utils");
20
+ var _InteractionProvider = require("../context/InteractionProvider");
21
+ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+ const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "highlightScope"];
24
+ 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); }
25
+ 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; }
26
+ function getMarkElementUtilityClass(slot) {
27
+ return (0, _generateUtilityClass.default)('MuiMarkElement', slot);
28
+ }
29
+ const markElementClasses = (0, _generateUtilityClasses.default)('MuiMarkElement', ['root', 'highlighted', 'faded']);
30
+ exports.markElementClasses = markElementClasses;
31
+ const useUtilityClasses = ownerState => {
32
+ const {
33
+ classes,
34
+ id,
35
+ isFaded,
36
+ isHighlighted
37
+ } = ownerState;
38
+ const slots = {
39
+ root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
40
+ };
41
+ return (0, _composeClasses.default)(slots, getMarkElementUtilityClass, classes);
42
+ };
43
+ const MarkElementPath = (0, _styles.styled)('path', {
44
+ name: 'MuiMarkElement',
45
+ slot: 'Root',
46
+ overridesResolver: (_, styles) => styles.root
47
+ })(({
48
+ ownerState,
49
+ theme
50
+ }) => ({
51
+ transform: `translate(${ownerState.x}px, ${ownerState.y}px)`,
52
+ transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
53
+ fill: (theme.vars || theme).palette.background.paper,
54
+ stroke: ownerState.color,
55
+ strokeWidth: 2,
56
+ '&.MuiMarkElement-highlighted': {
57
+ fill: ownerState.color
58
+ }
59
+ }));
60
+ MarkElementPath.propTypes = {
61
+ // ----------------------------- Warning --------------------------------
62
+ // | These PropTypes are generated from the TypeScript type definitions |
63
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
64
+ // ----------------------------------------------------------------------
65
+ as: _propTypes.default.elementType,
66
+ ownerState: _propTypes.default.shape({
67
+ classes: _propTypes.default.object,
68
+ color: _propTypes.default.string.isRequired,
69
+ id: _propTypes.default.string.isRequired,
70
+ isFaded: _propTypes.default.bool.isRequired,
71
+ isHighlighted: _propTypes.default.bool.isRequired,
72
+ x: _propTypes.default.number.isRequired,
73
+ y: _propTypes.default.number.isRequired
74
+ }).isRequired,
75
+ 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])
76
+ };
77
+ function MarkElement(props) {
78
+ const {
79
+ x,
80
+ y,
81
+ id,
82
+ classes: innerClasses,
83
+ color,
84
+ shape,
85
+ dataIndex,
86
+ highlightScope
87
+ } = props,
88
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
89
+ const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
90
+ const {
91
+ item,
92
+ axis
93
+ } = React.useContext(_InteractionProvider.InteractionContext);
94
+ const isHighlighted = axis.x?.index === dataIndex || (0, _useInteractionItemProps.getIsHighlighted)(item, {
95
+ type: 'line',
96
+ seriesId: id
97
+ }, highlightScope);
98
+ const isFaded = !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, {
99
+ type: 'line',
100
+ seriesId: id
101
+ }, highlightScope);
102
+ const ownerState = {
103
+ id,
104
+ classes: innerClasses,
105
+ isHighlighted,
106
+ isFaded,
107
+ color,
108
+ x,
109
+ y
110
+ };
111
+ const classes = useUtilityClasses(ownerState);
112
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkElementPath, (0, _extends2.default)({}, other, {
113
+ ownerState: ownerState,
114
+ className: classes.root,
115
+ d: (0, _d3Shape.symbol)(_d3Shape.symbolsFill[(0, _utils.getSymbol)(shape)])()
116
+ }, getInteractionItemProps({
117
+ type: 'line',
118
+ seriesId: id,
119
+ dataIndex
120
+ })));
121
+ }
122
+ process.env.NODE_ENV !== "production" ? MarkElement.propTypes = {
123
+ // ----------------------------- Warning --------------------------------
124
+ // | These PropTypes are generated from the TypeScript type definitions |
125
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
126
+ // ----------------------------------------------------------------------
127
+ classes: _propTypes.default.object,
128
+ /**
129
+ * The index to the element in the series' data array.
130
+ */
131
+ dataIndex: _propTypes.default.number.isRequired,
132
+ highlightScope: _propTypes.default.shape({
133
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
134
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
135
+ }),
136
+ /**
137
+ * The shape of the marker.
138
+ */
139
+ shape: _propTypes.default.oneOf(['circle', 'cross', 'diamond', 'square', 'star', 'triangle', 'wye']).isRequired
140
+ } : void 0;
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function MarkPlot(): React.JSX.Element | null;