@mui/x-charts 7.10.0 → 7.11.1

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 (299) hide show
  1. package/BarChart/BarChart.js +2 -2
  2. package/BarChart/BarElement.d.ts +2 -1
  3. package/BarChart/BarLabel/BarLabelItem.d.ts +2 -1
  4. package/BarChart/BarPlot.js +8 -8
  5. package/BarChart/checkScaleErrors.d.ts +4 -4
  6. package/BarChart/checkScaleErrors.js +11 -11
  7. package/BarChart/extremums.js +4 -1
  8. package/BarChart/formatter.js +2 -2
  9. package/BarChart/useBarChartProps.js +38 -33
  10. package/CHANGELOG.md +169 -0
  11. package/ChartContainer/ChartContainer.d.ts +28 -2
  12. package/ChartContainer/ChartContainer.js +25 -66
  13. package/ChartContainer/useChartContainerHooks.d.ts +1 -1
  14. package/ChartContainer/useChartContainerHooks.js +2 -2
  15. package/ChartContainer/useChartContainerProps.d.ts +86 -0
  16. package/ChartContainer/useChartContainerProps.js +95 -0
  17. package/ChartContainer/useDefaultizeAxis.d.ts +36 -0
  18. package/ChartContainer/useDefaultizeAxis.js +29 -0
  19. package/ChartsAxis/ChartsAxis.js +4 -4
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  21. package/ChartsLegend/ChartsLegend.d.ts +3 -12
  22. package/ChartsLegend/ContinuousColorLegend.d.ts +65 -0
  23. package/ChartsLegend/ContinuousColorLegend.js +398 -0
  24. package/ChartsLegend/DefaultChartsLegend.d.ts +7 -50
  25. package/ChartsLegend/DefaultChartsLegend.js +13 -198
  26. package/ChartsLegend/LegendPerItem.d.ts +61 -0
  27. package/ChartsLegend/LegendPerItem.js +151 -0
  28. package/ChartsLegend/PiecewiseColorLegend.d.ts +26 -0
  29. package/ChartsLegend/PiecewiseColorLegend.js +169 -0
  30. package/ChartsLegend/chartsLegend.types.d.ts +31 -0
  31. package/ChartsLegend/chartsLegend.types.js +5 -0
  32. package/ChartsLegend/index.d.ts +2 -0
  33. package/ChartsLegend/index.js +22 -0
  34. package/ChartsLegend/legend.types.d.ts +62 -0
  35. package/ChartsLegend/legend.types.js +5 -0
  36. package/ChartsLegend/legendItemsPlacement.d.ts +3 -0
  37. package/ChartsLegend/legendItemsPlacement.js +79 -0
  38. package/ChartsLegend/useAxis.d.ts +7 -0
  39. package/ChartsLegend/useAxis.js +47 -0
  40. package/ChartsLegend/utils.d.ts +1 -8
  41. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +3 -1
  42. package/ChartsOverlay/ChartsOverlay.d.ts +3 -2
  43. package/ChartsReferenceLine/ChartsReferenceLine.d.ts +1 -1
  44. package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  45. package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -2
  46. package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -2
  47. package/ChartsSurface.js +3 -1
  48. package/ChartsTooltip/ChartsAxisTooltipContent.js +7 -3
  49. package/ChartsTooltip/ChartsItemTooltipContent.js +4 -4
  50. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +30 -20
  51. package/ChartsXAxis/ChartsXAxis.js +1 -1
  52. package/ChartsYAxis/ChartsYAxis.js +15 -3
  53. package/Gauge/Gauge.d.ts +1 -4
  54. package/Gauge/Gauge.js +9 -6
  55. package/Gauge/GaugeContainer.js +8 -4
  56. package/Gauge/GaugeProvider.js +9 -9
  57. package/LineChart/AnimatedArea.js +2 -2
  58. package/LineChart/AnimatedLine.js +2 -2
  59. package/LineChart/AreaElement.d.ts +2 -1
  60. package/LineChart/AreaPlot.js +10 -6
  61. package/LineChart/LineChart.js +5 -2
  62. package/LineChart/LineElement.d.ts +2 -1
  63. package/LineChart/LineHighlightPlot.d.ts +2 -1
  64. package/LineChart/LineHighlightPlot.js +17 -5
  65. package/LineChart/LinePlot.js +10 -6
  66. package/LineChart/MarkElement.js +2 -2
  67. package/LineChart/MarkPlot.js +13 -25
  68. package/LineChart/extremums.js +4 -1
  69. package/LineChart/formatter.js +2 -2
  70. package/LineChart/useLineChartProps.js +38 -33
  71. package/PieChart/PieArc.js +1 -0
  72. package/PieChart/PieChart.d.ts +1 -4
  73. package/PieChart/PieChart.js +40 -34
  74. package/PieChart/PiePlot.js +6 -6
  75. package/PieChart/getPieCoordinates.js +3 -3
  76. package/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
  77. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +5 -1
  78. package/ResponsiveChartContainer/useChartContainerDimensions.js +8 -4
  79. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +20 -0
  80. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +73 -0
  81. package/ScatterChart/Scatter.js +6 -9
  82. package/ScatterChart/ScatterChart.js +4 -1
  83. package/ScatterChart/ScatterPlot.js +6 -3
  84. package/ScatterChart/extremums.js +8 -2
  85. package/ScatterChart/useScatterChartProps.js +35 -30
  86. package/SparkLineChart/SparkLineChart.js +27 -22
  87. package/context/CartesianProvider/CartesianContext.d.ts +1 -1
  88. package/context/CartesianProvider/CartesianProvider.d.ts +2 -3
  89. package/context/CartesianProvider/CartesianProvider.js +18 -7
  90. package/context/CartesianProvider/computeValue.d.ts +32 -9
  91. package/context/CartesianProvider/computeValue.js +20 -16
  92. package/context/CartesianProvider/defaultizeAxis.d.ts +36 -0
  93. package/context/CartesianProvider/defaultizeAxis.js +21 -0
  94. package/context/CartesianProvider/index.d.ts +0 -1
  95. package/context/CartesianProvider/index.js +1 -3
  96. package/context/CartesianProvider/normalizeAxis.d.ts +1 -1
  97. package/context/CartesianProvider/normalizeAxis.js +2 -2
  98. package/context/DrawingProvider.d.ts +12 -0
  99. package/context/DrawingProvider.js +15 -2
  100. package/context/HighlightedProvider/HighlightedProvider.js +2 -2
  101. package/context/SeriesContextProvider.js +1 -1
  102. package/context/ZAxisContextProvider.d.ts +1 -1
  103. package/context/ZAxisContextProvider.js +1 -1
  104. package/esm/BarChart/BarChart.js +2 -2
  105. package/esm/BarChart/BarPlot.js +8 -8
  106. package/esm/BarChart/checkScaleErrors.js +11 -11
  107. package/esm/BarChart/extremums.js +4 -1
  108. package/esm/BarChart/formatter.js +2 -2
  109. package/esm/BarChart/useBarChartProps.js +38 -33
  110. package/esm/ChartContainer/ChartContainer.js +25 -66
  111. package/esm/ChartContainer/useChartContainerHooks.js +2 -2
  112. package/esm/ChartContainer/useChartContainerProps.js +87 -0
  113. package/esm/ChartContainer/useDefaultizeAxis.js +19 -0
  114. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  115. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  116. package/esm/ChartsLegend/ContinuousColorLegend.js +390 -0
  117. package/esm/ChartsLegend/DefaultChartsLegend.js +14 -198
  118. package/esm/ChartsLegend/LegendPerItem.js +141 -0
  119. package/esm/ChartsLegend/PiecewiseColorLegend.js +161 -0
  120. package/esm/ChartsLegend/chartsLegend.types.js +1 -0
  121. package/esm/ChartsLegend/index.js +2 -0
  122. package/esm/ChartsLegend/legend.types.js +1 -0
  123. package/esm/ChartsLegend/legendItemsPlacement.js +72 -0
  124. package/esm/ChartsLegend/useAxis.js +39 -0
  125. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +3 -1
  126. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  127. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +2 -3
  128. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +2 -3
  129. package/esm/ChartsSurface.js +3 -1
  130. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +7 -3
  131. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +4 -4
  132. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +30 -20
  133. package/esm/ChartsXAxis/ChartsXAxis.js +1 -1
  134. package/esm/ChartsYAxis/ChartsYAxis.js +15 -3
  135. package/esm/Gauge/Gauge.js +8 -5
  136. package/esm/Gauge/GaugeContainer.js +8 -4
  137. package/esm/Gauge/GaugeProvider.js +1 -1
  138. package/esm/LineChart/AnimatedArea.js +1 -1
  139. package/esm/LineChart/AnimatedLine.js +1 -1
  140. package/esm/LineChart/AreaPlot.js +10 -6
  141. package/esm/LineChart/LineChart.js +5 -2
  142. package/esm/LineChart/LineHighlightPlot.js +17 -5
  143. package/esm/LineChart/LinePlot.js +10 -6
  144. package/esm/LineChart/MarkElement.js +1 -1
  145. package/esm/LineChart/MarkPlot.js +12 -24
  146. package/esm/LineChart/extremums.js +4 -1
  147. package/esm/LineChart/formatter.js +2 -2
  148. package/esm/LineChart/useLineChartProps.js +38 -33
  149. package/esm/PieChart/PieArc.js +1 -0
  150. package/esm/PieChart/PieChart.js +39 -33
  151. package/esm/PieChart/PiePlot.js +1 -1
  152. package/esm/PieChart/getPieCoordinates.js +1 -1
  153. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
  154. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +8 -4
  155. package/esm/ResponsiveChartContainer/useResponsiveChartContainerProps.js +65 -0
  156. package/esm/ScatterChart/Scatter.js +6 -9
  157. package/esm/ScatterChart/ScatterChart.js +4 -1
  158. package/esm/ScatterChart/ScatterPlot.js +6 -3
  159. package/esm/ScatterChart/extremums.js +8 -2
  160. package/esm/ScatterChart/useScatterChartProps.js +35 -30
  161. package/esm/SparkLineChart/SparkLineChart.js +27 -22
  162. package/esm/context/CartesianProvider/CartesianProvider.js +18 -7
  163. package/esm/context/CartesianProvider/computeValue.js +20 -16
  164. package/esm/context/CartesianProvider/defaultizeAxis.js +13 -0
  165. package/esm/context/CartesianProvider/index.js +1 -3
  166. package/esm/context/CartesianProvider/normalizeAxis.js +2 -2
  167. package/esm/context/DrawingProvider.js +15 -2
  168. package/esm/context/HighlightedProvider/HighlightedProvider.js +2 -2
  169. package/esm/context/SeriesContextProvider.js +1 -1
  170. package/esm/context/ZAxisContextProvider.js +1 -1
  171. package/esm/hooks/useAxisEvents.js +14 -17
  172. package/esm/hooks/useDrawingArea.js +5 -3
  173. package/esm/hooks/useReducedMotion.js +4 -2
  174. package/esm/internals/SlotComponentPropsFromProps.js +1 -0
  175. package/esm/internals/cleanId.js +6 -0
  176. package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
  177. package/esm/internals/geometry.js +1 -1
  178. package/esm/internals/{utils.js → getPercentageValue.js} +1 -13
  179. package/esm/internals/getSymbol.js +5 -0
  180. package/esm/internals/index.js +3 -1
  181. package/esm/internals/isDefined.js +3 -0
  182. package/esm/internals/notNull.js +3 -0
  183. package/esm/internals/ts-generic.js +1 -0
  184. package/esm/internals/warning.js +19 -11
  185. package/hooks/useAxisEvents.js +14 -17
  186. package/hooks/useDrawingArea.js +5 -3
  187. package/hooks/useReducedMotion.js +4 -2
  188. package/index.js +1 -1
  189. package/internals/SlotComponentPropsFromProps.d.ts +1 -0
  190. package/internals/SlotComponentPropsFromProps.js +5 -0
  191. package/internals/cleanId.d.ts +4 -0
  192. package/internals/cleanId.js +12 -0
  193. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.ts +6 -0
  194. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
  195. package/internals/defaultizeColor.d.ts +7 -0
  196. package/internals/geometry.js +1 -1
  197. package/internals/getPercentageValue.d.ts +7 -0
  198. package/internals/{utils.js → getPercentageValue.js} +1 -15
  199. package/internals/getSymbol.d.ts +2 -0
  200. package/internals/getSymbol.js +11 -0
  201. package/internals/index.d.ts +3 -1
  202. package/internals/index.js +25 -5
  203. package/internals/isDefined.d.ts +1 -0
  204. package/internals/isDefined.js +9 -0
  205. package/internals/notNull.d.ts +1 -0
  206. package/internals/notNull.js +9 -0
  207. package/internals/ts-generic.d.ts +5 -0
  208. package/internals/ts-generic.js +5 -0
  209. package/internals/warning.d.ts +2 -1
  210. package/internals/warning.js +21 -12
  211. package/models/axis.d.ts +5 -2
  212. package/models/helpers.d.ts +1 -0
  213. package/models/seriesType/common.d.ts +10 -0
  214. package/models/seriesType/config.d.ts +2 -16
  215. package/models/seriesType/scatter.d.ts +5 -0
  216. package/modern/BarChart/BarChart.js +2 -2
  217. package/modern/BarChart/BarPlot.js +8 -8
  218. package/modern/BarChart/checkScaleErrors.js +11 -11
  219. package/modern/BarChart/extremums.js +4 -1
  220. package/modern/BarChart/formatter.js +2 -2
  221. package/modern/BarChart/useBarChartProps.js +38 -33
  222. package/modern/ChartContainer/ChartContainer.js +25 -66
  223. package/modern/ChartContainer/useChartContainerHooks.js +2 -2
  224. package/modern/ChartContainer/useChartContainerProps.js +87 -0
  225. package/modern/ChartContainer/useDefaultizeAxis.js +19 -0
  226. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  227. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  228. package/modern/ChartsLegend/ContinuousColorLegend.js +390 -0
  229. package/modern/ChartsLegend/DefaultChartsLegend.js +14 -198
  230. package/modern/ChartsLegend/LegendPerItem.js +141 -0
  231. package/modern/ChartsLegend/PiecewiseColorLegend.js +161 -0
  232. package/modern/ChartsLegend/chartsLegend.types.js +1 -0
  233. package/modern/ChartsLegend/index.js +2 -0
  234. package/modern/ChartsLegend/legend.types.js +1 -0
  235. package/modern/ChartsLegend/legendItemsPlacement.js +72 -0
  236. package/modern/ChartsLegend/useAxis.js +39 -0
  237. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +3 -1
  238. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  239. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +2 -3
  240. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +2 -3
  241. package/modern/ChartsSurface.js +3 -1
  242. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +7 -3
  243. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +4 -4
  244. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +30 -20
  245. package/modern/ChartsXAxis/ChartsXAxis.js +1 -1
  246. package/modern/ChartsYAxis/ChartsYAxis.js +15 -3
  247. package/modern/Gauge/Gauge.js +8 -5
  248. package/modern/Gauge/GaugeContainer.js +8 -4
  249. package/modern/Gauge/GaugeProvider.js +1 -1
  250. package/modern/LineChart/AnimatedArea.js +1 -1
  251. package/modern/LineChart/AnimatedLine.js +1 -1
  252. package/modern/LineChart/AreaPlot.js +10 -6
  253. package/modern/LineChart/LineChart.js +5 -2
  254. package/modern/LineChart/LineHighlightPlot.js +17 -5
  255. package/modern/LineChart/LinePlot.js +10 -6
  256. package/modern/LineChart/MarkElement.js +1 -1
  257. package/modern/LineChart/MarkPlot.js +12 -24
  258. package/modern/LineChart/extremums.js +4 -1
  259. package/modern/LineChart/formatter.js +2 -2
  260. package/modern/LineChart/useLineChartProps.js +38 -33
  261. package/modern/PieChart/PieArc.js +1 -0
  262. package/modern/PieChart/PieChart.js +39 -33
  263. package/modern/PieChart/PiePlot.js +1 -1
  264. package/modern/PieChart/getPieCoordinates.js +1 -1
  265. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
  266. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +8 -4
  267. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +65 -0
  268. package/modern/ScatterChart/Scatter.js +6 -9
  269. package/modern/ScatterChart/ScatterChart.js +4 -1
  270. package/modern/ScatterChart/ScatterPlot.js +6 -3
  271. package/modern/ScatterChart/extremums.js +8 -2
  272. package/modern/ScatterChart/useScatterChartProps.js +35 -30
  273. package/modern/SparkLineChart/SparkLineChart.js +27 -22
  274. package/modern/context/CartesianProvider/CartesianProvider.js +18 -7
  275. package/modern/context/CartesianProvider/computeValue.js +20 -16
  276. package/modern/context/CartesianProvider/defaultizeAxis.js +13 -0
  277. package/modern/context/CartesianProvider/index.js +1 -3
  278. package/modern/context/CartesianProvider/normalizeAxis.js +2 -2
  279. package/modern/context/DrawingProvider.js +15 -2
  280. package/modern/context/HighlightedProvider/HighlightedProvider.js +2 -2
  281. package/modern/context/SeriesContextProvider.js +1 -1
  282. package/modern/context/ZAxisContextProvider.js +1 -1
  283. package/modern/hooks/useAxisEvents.js +14 -17
  284. package/modern/hooks/useDrawingArea.js +5 -3
  285. package/modern/hooks/useReducedMotion.js +4 -2
  286. package/modern/index.js +1 -1
  287. package/modern/internals/SlotComponentPropsFromProps.js +1 -0
  288. package/modern/internals/cleanId.js +6 -0
  289. package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
  290. package/modern/internals/geometry.js +1 -1
  291. package/modern/internals/{utils.js → getPercentageValue.js} +1 -13
  292. package/modern/internals/getSymbol.js +5 -0
  293. package/modern/internals/index.js +3 -1
  294. package/modern/internals/isDefined.js +3 -0
  295. package/modern/internals/notNull.js +3 -0
  296. package/modern/internals/ts-generic.js +1 -0
  297. package/modern/internals/warning.js +19 -11
  298. package/package.json +4 -4
  299. package/internals/utils.d.ts +0 -18
@@ -0,0 +1,86 @@
1
+ import type { DrawingProviderProps } from '../context/DrawingProvider';
2
+ import type { ColorProviderProps } from '../context/ColorProvider';
3
+ import type { CartesianContextProviderProps } from '../context/CartesianProvider';
4
+ import type { SeriesContextProviderProps } from '../context/SeriesContextProvider';
5
+ import type { ZAxisContextProviderProps } from '../context/ZAxisContextProvider';
6
+ import type { ChartContainerProps } from './ChartContainer';
7
+ import { HighlightedProviderProps } from '../context';
8
+ import { ChartsSurfaceProps } from '../ChartsSurface';
9
+ export declare const useChartContainerProps: (props: ChartContainerProps, ref: React.ForwardedRef<unknown>) => {
10
+ children: import("react").ReactNode;
11
+ drawingProviderProps: Omit<DrawingProviderProps, "children">;
12
+ colorProviderProps: Omit<ColorProviderProps, "children">;
13
+ seriesContextProps: Omit<SeriesContextProviderProps, "children">;
14
+ cartesianContextProps: Omit<CartesianContextProviderProps, "children">;
15
+ zAxisContextProps: Omit<ZAxisContextProviderProps, "children">;
16
+ highlightedProviderProps: Omit<HighlightedProviderProps, "children">;
17
+ chartsSurfaceProps: ChartsSurfaceProps & {
18
+ ref: any;
19
+ };
20
+ xAxis: {
21
+ reverse?: boolean;
22
+ fill?: string;
23
+ stroke?: string;
24
+ data?: any[] | undefined;
25
+ label?: string;
26
+ max?: number | Date;
27
+ min?: number | Date;
28
+ classes?: Partial<import("..").ChartsAxisClasses>;
29
+ slots?: Partial<import("../internals").ChartsAxisSlots>;
30
+ slotProps?: Partial<import("../internals").ChartsAxisSlotProps>;
31
+ dataKey?: string;
32
+ valueFormatter?: ((value: any, context: import("../internals").AxisValueFormatterContext) => string) | undefined;
33
+ colorMap?: import("../models/colorMapping").ContinuousColorConfig<number | Date> | import("../models/colorMapping").PiecewiseColorConfig<number | Date> | import("../models/colorMapping").OrdinalColorConfig<string | number | Date> | undefined;
34
+ tickMaxStep?: number;
35
+ tickMinStep?: number;
36
+ tickNumber?: number;
37
+ tickPlacement?: "start" | "end" | "middle" | "extremities";
38
+ tickLabelPlacement?: "middle" | "tick";
39
+ scaleType?: "linear" | "time" | "log" | "band" | "point" | "pow" | "sqrt" | "utc" | undefined;
40
+ axisId?: import("../internals").AxisId;
41
+ disableLine?: boolean;
42
+ disableTicks?: boolean;
43
+ tickFontSize?: number;
44
+ tickLabelStyle?: import("..").ChartsTextProps["style"];
45
+ labelStyle?: import("..").ChartsTextProps["style"];
46
+ tickLabelInterval?: "auto" | ((value: any, index: number) => boolean);
47
+ labelFontSize?: number;
48
+ tickSize?: number;
49
+ tickInterval?: "auto" | ((value: any, index: number) => boolean) | any[];
50
+ hideTooltip?: boolean;
51
+ id: import("../internals").AxisId;
52
+ }[];
53
+ yAxis: {
54
+ reverse?: boolean;
55
+ fill?: string;
56
+ stroke?: string;
57
+ data?: any[] | undefined;
58
+ label?: string;
59
+ max?: number | Date;
60
+ min?: number | Date;
61
+ classes?: Partial<import("..").ChartsAxisClasses>;
62
+ slots?: Partial<import("../internals").ChartsAxisSlots>;
63
+ slotProps?: Partial<import("../internals").ChartsAxisSlotProps>;
64
+ dataKey?: string;
65
+ valueFormatter?: ((value: any, context: import("../internals").AxisValueFormatterContext) => string) | undefined;
66
+ colorMap?: import("../models/colorMapping").ContinuousColorConfig<number | Date> | import("../models/colorMapping").PiecewiseColorConfig<number | Date> | import("../models/colorMapping").OrdinalColorConfig<string | number | Date> | undefined;
67
+ tickMaxStep?: number;
68
+ tickMinStep?: number;
69
+ tickNumber?: number;
70
+ tickPlacement?: "start" | "end" | "middle" | "extremities";
71
+ tickLabelPlacement?: "middle" | "tick";
72
+ scaleType?: "linear" | "time" | "log" | "band" | "point" | "pow" | "sqrt" | "utc" | undefined;
73
+ axisId?: import("../internals").AxisId;
74
+ disableLine?: boolean;
75
+ disableTicks?: boolean;
76
+ tickFontSize?: number;
77
+ tickLabelStyle?: import("..").ChartsTextProps["style"];
78
+ labelStyle?: import("..").ChartsTextProps["style"];
79
+ tickLabelInterval?: "auto" | ((value: any, index: number) => boolean);
80
+ labelFontSize?: number;
81
+ tickSize?: number;
82
+ tickInterval?: "auto" | ((value: any, index: number) => boolean) | any[];
83
+ hideTooltip?: boolean;
84
+ id: import("../internals").AxisId;
85
+ }[];
86
+ };
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useChartContainerProps = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var _useChartContainerHooks = require("./useChartContainerHooks");
11
+ var _useDefaultizeAxis = require("./useDefaultizeAxis");
12
+ const _excluded = ["width", "height", "series", "margin", "xAxis", "yAxis", "zAxis", "colors", "dataset", "sx", "title", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "children"];
13
+ const useChartContainerProps = (props, ref) => {
14
+ const {
15
+ width,
16
+ height,
17
+ series,
18
+ margin,
19
+ xAxis,
20
+ yAxis,
21
+ zAxis,
22
+ colors,
23
+ dataset,
24
+ sx,
25
+ title,
26
+ desc,
27
+ disableAxisListener,
28
+ highlightedItem,
29
+ onHighlightChange,
30
+ plugins,
31
+ children
32
+ } = props,
33
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
34
+ const {
35
+ svgRef,
36
+ chartSurfaceRef,
37
+ xExtremumGetters,
38
+ yExtremumGetters,
39
+ seriesFormatters,
40
+ colorProcessors
41
+ } = (0, _useChartContainerHooks.useChartContainerHooks)(ref, plugins);
42
+ const [defaultizedXAxis, defaultizedYAxis] = (0, _useDefaultizeAxis.useDefaultizeAxis)(xAxis, yAxis);
43
+ const drawingProviderProps = {
44
+ width,
45
+ height,
46
+ margin,
47
+ svgRef
48
+ };
49
+ const colorProviderProps = {
50
+ colorProcessors
51
+ };
52
+ const seriesContextProps = {
53
+ series,
54
+ colors,
55
+ dataset,
56
+ seriesFormatters
57
+ };
58
+ const cartesianContextProps = {
59
+ xAxis: defaultizedXAxis,
60
+ yAxis: defaultizedYAxis,
61
+ dataset,
62
+ xExtremumGetters,
63
+ yExtremumGetters
64
+ };
65
+ const zAxisContextProps = {
66
+ zAxis,
67
+ dataset
68
+ };
69
+ const highlightedProviderProps = {
70
+ highlightedItem,
71
+ onHighlightChange
72
+ };
73
+ const chartsSurfaceProps = (0, _extends2.default)({}, other, {
74
+ width,
75
+ height,
76
+ ref: chartSurfaceRef,
77
+ sx,
78
+ title,
79
+ desc,
80
+ disableAxisListener
81
+ });
82
+ return {
83
+ children,
84
+ drawingProviderProps,
85
+ colorProviderProps,
86
+ seriesContextProps,
87
+ cartesianContextProps,
88
+ zAxisContextProps,
89
+ highlightedProviderProps,
90
+ chartsSurfaceProps,
91
+ xAxis: defaultizedXAxis,
92
+ yAxis: defaultizedYAxis
93
+ };
94
+ };
95
+ exports.useChartContainerProps = useChartContainerProps;
@@ -0,0 +1,36 @@
1
+ import { MakeOptional } from '../models/helpers';
2
+ import { AxisConfig, ScaleName } from '../models';
3
+ import { ChartsAxisProps } from '../models/axis';
4
+ export declare const useDefaultizeAxis: (inXAxis: MakeOptional<AxisConfig<ScaleName, any, ChartsAxisProps>, "id">[] | undefined, inYAxis: MakeOptional<AxisConfig<ScaleName, any, ChartsAxisProps>, "id">[] | undefined) => {
5
+ reverse?: boolean;
6
+ fill?: string;
7
+ stroke?: string;
8
+ data?: any[] | undefined;
9
+ label?: string;
10
+ max?: number | Date;
11
+ min?: number | Date;
12
+ classes?: Partial<import("..").ChartsAxisClasses>;
13
+ slots?: Partial<import("../models/axis").ChartsAxisSlots>;
14
+ slotProps?: Partial<import("../models/axis").ChartsAxisSlotProps>;
15
+ dataKey?: string;
16
+ valueFormatter?: ((value: any, context: import("../models/axis").AxisValueFormatterContext) => string) | undefined;
17
+ colorMap?: import("../models/colorMapping").ContinuousColorConfig<number | Date> | import("../models/colorMapping").PiecewiseColorConfig<number | Date> | import("../models/colorMapping").OrdinalColorConfig<string | number | Date> | undefined;
18
+ tickMaxStep?: number;
19
+ tickMinStep?: number;
20
+ tickNumber?: number;
21
+ tickPlacement?: "start" | "end" | "middle" | "extremities";
22
+ tickLabelPlacement?: "middle" | "tick";
23
+ scaleType?: "linear" | "time" | "log" | "band" | "point" | "pow" | "sqrt" | "utc" | undefined;
24
+ axisId?: import("../models/axis").AxisId;
25
+ disableLine?: boolean;
26
+ disableTicks?: boolean;
27
+ tickFontSize?: number;
28
+ tickLabelStyle?: import("..").ChartsTextProps["style"];
29
+ labelStyle?: import("..").ChartsTextProps["style"];
30
+ tickLabelInterval?: "auto" | ((value: any, index: number) => boolean);
31
+ labelFontSize?: number;
32
+ tickSize?: number;
33
+ tickInterval?: "auto" | ((value: any, index: number) => boolean) | any[];
34
+ hideTooltip?: boolean;
35
+ id: import("../models/axis").AxisId;
36
+ }[][];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useDefaultizeAxis = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _constants = require("../constants");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const defaultizeAxis = (inAxis, axisName) => {
14
+ const DEFAULT_AXIS_KEY = axisName === 'x' ? _constants.DEFAULT_X_AXIS_KEY : _constants.DEFAULT_Y_AXIS_KEY;
15
+ return [...(inAxis?.map((axis, index) => (0, _extends2.default)({
16
+ id: `defaultized-${axisName}-axis-${index}`
17
+ }, axis)) ?? []), ...(inAxis === undefined || inAxis.findIndex(({
18
+ id
19
+ }) => id === DEFAULT_AXIS_KEY) === -1 ? [{
20
+ id: DEFAULT_AXIS_KEY,
21
+ scaleType: 'linear'
22
+ }] : [])];
23
+ };
24
+ const useDefaultizeAxis = (inXAxis, inYAxis) => {
25
+ const xAxis = React.useMemo(() => defaultizeAxis(inXAxis, 'x'), [inXAxis]);
26
+ const yAxis = React.useMemo(() => defaultizeAxis(inYAxis, 'y'), [inYAxis]);
27
+ return [xAxis, yAxis];
28
+ };
29
+ exports.useDefaultizeAxis = useDefaultizeAxis;
@@ -66,16 +66,16 @@ function ChartsAxis(props) {
66
66
  const topId = getAxisId(topAxis, xAxisIds[0]);
67
67
  const rightId = getAxisId(rightAxis, yAxisIds[0]);
68
68
  if (topId !== null && !xAxis[topId]) {
69
- throw Error([`MUI X Charts: id used for top axis "${topId}" is not defined.`, `Available ids are: ${xAxisIds.join(', ')}.`].join('\n'));
69
+ throw Error([`MUI X: id used for top axis "${topId}" is not defined.`, `Available ids are: ${xAxisIds.join(', ')}.`].join('\n'));
70
70
  }
71
71
  if (leftId !== null && !yAxis[leftId]) {
72
- throw Error([`MUI X Charts: id used for left axis "${leftId}" is not defined.`, `Available ids are: ${yAxisIds.join(', ')}.`].join('\n'));
72
+ throw Error([`MUI X: id used for left axis "${leftId}" is not defined.`, `Available ids are: ${yAxisIds.join(', ')}.`].join('\n'));
73
73
  }
74
74
  if (rightId !== null && !yAxis[rightId]) {
75
- throw Error([`MUI X Charts: id used for right axis "${rightId}" is not defined.`, `Available ids are: ${yAxisIds.join(', ')}.`].join('\n'));
75
+ throw Error([`MUI X: id used for right axis "${rightId}" is not defined.`, `Available ids are: ${yAxisIds.join(', ')}.`].join('\n'));
76
76
  }
77
77
  if (bottomId !== null && !xAxis[bottomId]) {
78
- throw Error([`MUI X Charts: id used for bottom axis "${bottomId}" is not defined.`, `Available ids are: ${xAxisIds.join(', ')}.`].join('\n'));
78
+ throw Error([`MUI X: id used for bottom axis "${bottomId}" is not defined.`, `Available ids are: ${xAxisIds.join(', ')}.`].join('\n'));
79
79
  }
80
80
  const topAxisProps = mergeProps(topAxis, slots, slotProps);
81
81
  const bottomAxisProps = mergeProps(bottomAxis, slots, slotProps);
@@ -85,7 +85,7 @@ function ChartsAxisHighlight(props) {
85
85
  const isXError = isBandScaleX && xScale(axisX.value) === undefined;
86
86
  const isYError = isBandScaleY && yScale(axisY.value) === undefined;
87
87
  if (isXError || isYError) {
88
- console.error([`MUI X Charts: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
88
+ console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
89
89
  }
90
90
  }
91
91
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { AnchorPosition, Direction } from './utils';
3
2
  import { ChartsLegendClasses } from './chartsLegendClasses';
4
3
  import { LegendRendererProps } from './DefaultChartsLegend';
4
+ import { LegendPlacement } from './legend.types';
5
5
  export interface ChartsLegendSlots {
6
6
  /**
7
7
  * Custom rendering of the legend.
@@ -12,11 +12,7 @@ export interface ChartsLegendSlots {
12
12
  export interface ChartsLegendSlotProps {
13
13
  legend?: Partial<LegendRendererProps>;
14
14
  }
15
- export type ChartsLegendProps = {
16
- /**
17
- * The position of the legend.
18
- */
19
- position?: AnchorPosition;
15
+ export interface ChartsLegendProps extends LegendPlacement {
20
16
  /**
21
17
  * Override or extend the styles applied to the component.
22
18
  */
@@ -26,11 +22,6 @@ export type ChartsLegendProps = {
26
22
  * @default false
27
23
  */
28
24
  hidden?: boolean;
29
- /**
30
- * The direction of the legend layout.
31
- * The default depends on the chart.
32
- */
33
- direction?: Direction;
34
25
  /**
35
26
  * Overridable component slots.
36
27
  * @default {}
@@ -41,7 +32,7 @@ export type ChartsLegendProps = {
41
32
  * @default {}
42
33
  */
43
34
  slotProps?: ChartsLegendSlotProps;
44
- };
35
+ }
45
36
  declare function ChartsLegend(inProps: ChartsLegendProps): React.JSX.Element;
46
37
  declare namespace ChartsLegend {
47
38
  var propTypes: any;
@@ -0,0 +1,65 @@
1
+ import * as React from 'react';
2
+ import { ContinuousScaleName } from '../models/axis';
3
+ import { ChartsTextProps } from '../ChartsText';
4
+ import { ColorLegendSelector, LegendPlacement } from './legend.types';
5
+ type LabelFormatter = (params: {
6
+ value: number | Date;
7
+ formattedValue: string;
8
+ }) => string;
9
+ export interface ContinuousColorLegendProps extends LegendPlacement, ColorLegendSelector {
10
+ /**
11
+ * The label to display at the minimum side of the gradient.
12
+ * Can either be a string, or a function.
13
+ * @default ({ formattedValue }) => formattedValue
14
+ */
15
+ minLabel?: string | LabelFormatter;
16
+ /**
17
+ * The label to display at the maximum side of the gradient.
18
+ * Can either be a string, or a function.
19
+ * If not defined, the formatted maximal value is display.
20
+ * @default ({ formattedValue }) => formattedValue
21
+ */
22
+ maxLabel?: string | LabelFormatter;
23
+ /**
24
+ * A unique identifier for the gradient.
25
+ * @default auto-generated id
26
+ */
27
+ id?: string;
28
+ /**
29
+ * The scale used to display gradient colors.
30
+ * @default 'linear'
31
+ */
32
+ scaleType?: ContinuousScaleName;
33
+ /**
34
+ * The length of the gradient bar.
35
+ * Can be a number (in px) or a string with a percentage such as '50%'.
36
+ * The '100%' is the length of the svg.
37
+ * @default '50%'
38
+ */
39
+ length?: number | string;
40
+ /**
41
+ * The thickness of the gradient bar.
42
+ * @default 5
43
+ */
44
+ thickness?: number;
45
+ /**
46
+ * The alignment of the texts with the gradient bar.
47
+ * @default 'middle'
48
+ */
49
+ align?: 'start' | 'middle' | 'end';
50
+ /**
51
+ * The space between the gradient bar and the labels.
52
+ * @default 4
53
+ */
54
+ spacing?: number;
55
+ /**
56
+ * The style applied to labels.
57
+ * @default theme.typography.subtitle1
58
+ */
59
+ labelStyle?: ChartsTextProps['style'];
60
+ }
61
+ declare function ContinuousColorLegend(props: ContinuousColorLegendProps): React.JSX.Element | null;
62
+ declare namespace ContinuousColorLegend {
63
+ var propTypes: any;
64
+ }
65
+ export { ContinuousColorLegend };