@mui/x-charts 8.0.0-alpha.7 → 8.0.0-alpha.9
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.
- package/BarChart/BarChart.d.ts +1 -1
- package/BarChart/BarChart.js +10 -2
- package/BarChart/BarLabel/BarLabelPlot.js +1 -1
- package/BarChart/BarPlot.js +8 -9
- package/BarChart/extremums.d.ts +3 -3
- package/BarChart/formatter.d.ts +2 -2
- package/BarChart/formatter.js +2 -1
- package/BarChart/getColor.d.ts +1 -1
- package/BarChart/legend.d.ts +1 -1
- package/BarChart/legend.js +1 -1
- package/BarChart/plugin.d.ts +2 -2
- package/BarChart/plugin.js +3 -2
- package/BarChart/useBarChartProps.d.ts +1 -1
- package/CHANGELOG.md +551 -3
- package/ChartContainer/ChartContainer.d.ts +8 -4
- package/ChartContainer/ChartContainer.js +15 -9
- package/ChartContainer/useChartContainerProps.d.ts +6 -4
- package/ChartContainer/useChartContainerProps.js +7 -5
- package/ChartDataProvider/ChartDataProvider.d.ts +42 -0
- package/ChartDataProvider/ChartDataProvider.js +108 -0
- package/ChartDataProvider/package.json +6 -0
- package/ChartDataProvider/useChartDataProviderProps.d.ts +13 -0
- package/ChartDataProvider/useChartDataProviderProps.js +52 -0
- package/ChartsAxis/ChartsAxis.js +5 -3
- package/ChartsGrid/ChartsGrid.js +9 -5
- package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
- package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
- package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
- package/ChartsGrid/ChartsVerticalGrid.js +4 -3
- package/ChartsLabel/ChartsLabelGradient.js +11 -12
- package/ChartsLegend/ContinuousColorLegend.js +3 -3
- package/ChartsLegend/useAxis.js +7 -5
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
- package/ChartsSurface/ChartsSurface.d.ts +1 -1
- package/ChartsSurface/ChartsSurface.js +17 -27
- package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
- package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
- package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
- package/ChartsTooltip/ChartsTooltipTable.js +0 -20
- package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
- package/ChartsTooltip/useAxisTooltip.js +13 -9
- package/ChartsTooltip/useItemTooltip.d.ts +3 -1
- package/ChartsTooltip/useItemTooltip.js +14 -10
- package/ChartsTooltip/utils.js +2 -0
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
- package/ChartsXAxis/ChartsXAxis.js +11 -8
- package/ChartsYAxis/ChartsYAxis.js +8 -5
- package/Gauge/Gauge.js +5 -1
- package/Gauge/GaugeContainer.d.ts +3 -10
- package/Gauge/GaugeContainer.js +38 -38
- package/Gauge/GaugeProvider.js +2 -0
- package/LineChart/AnimatedArea.js +1 -1
- package/LineChart/AnimatedLine.js +1 -1
- package/LineChart/AppearingMask.js +1 -1
- package/LineChart/AreaPlot.js +59 -25
- package/LineChart/CircleMarkElement.d.ts +0 -4
- package/LineChart/CircleMarkElement.js +2 -7
- package/LineChart/LineChart.d.ts +0 -4
- package/LineChart/LineChart.js +10 -6
- package/LineChart/LineHighlightElement.d.ts +5 -1
- package/LineChart/LineHighlightElement.js +29 -9
- package/LineChart/LineHighlightPlot.js +18 -13
- package/LineChart/LinePlot.js +59 -24
- package/LineChart/MarkPlot.d.ts +0 -6
- package/LineChart/MarkPlot.js +20 -23
- package/LineChart/extremums.d.ts +3 -3
- package/LineChart/formatter.d.ts +2 -2
- package/LineChart/formatter.js +3 -1
- package/LineChart/getColor.d.ts +1 -1
- package/LineChart/legend.d.ts +1 -1
- package/LineChart/legend.js +1 -1
- package/LineChart/plugin.d.ts +2 -2
- package/LineChart/plugin.js +3 -2
- package/LineChart/useLineChartProps.d.ts +1 -1
- package/LineChart/useLineChartProps.js +3 -5
- package/PieChart/PieArcLabelPlot.js +2 -2
- package/PieChart/PieArcPlot.js +2 -2
- package/PieChart/PieChart.js +10 -2
- package/PieChart/dataTransform/transition.d.ts +2 -2
- package/PieChart/dataTransform/transition.js +6 -6
- package/PieChart/formatter.d.ts +2 -2
- package/PieChart/formatter.js +4 -1
- package/PieChart/getColor.d.ts +1 -1
- package/PieChart/getPieCoordinates.d.ts +2 -2
- package/PieChart/legend.d.ts +1 -1
- package/PieChart/legend.js +1 -1
- package/PieChart/plugin.d.ts +2 -2
- package/PieChart/plugin.js +3 -2
- package/ScatterChart/Scatter.js +6 -4
- package/ScatterChart/ScatterChart.d.ts +1 -2
- package/ScatterChart/ScatterChart.js +17 -13
- package/ScatterChart/ScatterPlot.js +11 -10
- package/ScatterChart/extremums.d.ts +3 -3
- package/ScatterChart/extremums.js +3 -1
- package/ScatterChart/formatter.d.ts +2 -2
- package/ScatterChart/formatter.js +3 -1
- package/ScatterChart/getColor.d.ts +1 -1
- package/ScatterChart/legend.d.ts +1 -1
- package/ScatterChart/legend.js +1 -1
- package/ScatterChart/plugin.d.ts +2 -2
- package/ScatterChart/plugin.js +3 -2
- package/ScatterChart/useScatterChartProps.d.ts +1 -3
- package/ScatterChart/useScatterChartProps.js +1 -4
- package/SparkLineChart/SparkLineChart.d.ts +2 -2
- package/SparkLineChart/SparkLineChart.js +11 -2
- package/context/AnimationProvider/AnimationProvider.js +1 -1
- package/context/ChartProvider/ChartProvider.d.ts +5 -1
- package/context/ChartProvider/ChartProvider.js +22 -2
- package/context/ChartProvider/ChartProvider.types.d.ts +17 -2
- package/context/InteractionSelectors.d.ts +22 -22
- package/context/PolarProvider/PolarProvider.d.ts +0 -4
- package/context/PolarProvider/PolarProvider.js +59 -47
- package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
- package/context/PolarProvider/getAxisExtremum.js +48 -20
- package/context/PolarProvider/usePolarContext.d.ts +0 -2
- package/context/PolarProvider/usePolarContext.js +9 -8
- package/context/index.d.ts +0 -4
- package/context/index.js +1 -3
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +3 -1
- package/hooks/useAxis.d.ts +9 -1
- package/hooks/useAxis.js +32 -6
- package/hooks/useAxisEvents.js +12 -8
- package/hooks/useChartGradientId.d.ts +31 -0
- package/hooks/useChartGradientId.js +47 -0
- package/hooks/useColorScale.js +5 -5
- package/hooks/useDrawingArea.d.ts +16 -2
- package/hooks/useDrawingArea.js +5 -20
- package/hooks/useLegend.js +8 -13
- package/hooks/useSeries.d.ts +11 -6
- package/hooks/useSeries.js +5 -10
- package/hooks/useZAxis.d.ts +3 -2
- package/hooks/useZAxis.js +25 -6
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -3
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
- package/internals/defaultizeColor.d.ts +24 -22
- package/internals/index.d.ts +14 -10
- package/internals/index.js +17 -11
- package/internals/plugins/allPlugins.d.ts +12 -1
- package/internals/plugins/allPlugins.js +5 -2
- package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
- package/internals/plugins/corePlugins/corePlugins.js +3 -1
- package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
- package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
- package/internals/plugins/corePlugins/useChartId/index.js +2 -1
- package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
- package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
- package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
- package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
- package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
- package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
- package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
- package/{modern/context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +6 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1336 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +75 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +11 -11
- package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
- package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
- package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
- package/internals/plugins/models/index.d.ts +1 -0
- package/internals/plugins/models/index.js +2 -1
- package/internals/plugins/models/plugin.d.ts +32 -2
- package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
- package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
- package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
- package/internals/plugins/models/seriesConfig/index.js +4 -0
- package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +15 -0
- package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
- package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
- package/internals/store/extractPluginParamsFromProps.js +28 -0
- package/internals/store/useChartModels.d.ts +7 -0
- package/internals/store/useChartModels.js +64 -0
- package/internals/store/useCharts.d.ts +4 -2
- package/internals/store/useCharts.js +14 -9
- package/internals/store/useCharts.types.d.ts +1 -1
- package/internals/store/useStore.d.ts +5 -1
- package/internals/store/useStore.js +1 -9
- package/models/layout.d.ts +2 -1
- package/models/seriesType/line.d.ts +11 -0
- package/modern/BarChart/BarChart.js +10 -2
- package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
- package/modern/BarChart/BarPlot.js +8 -9
- package/modern/BarChart/formatter.js +2 -1
- package/modern/BarChart/legend.js +1 -1
- package/modern/BarChart/plugin.js +3 -2
- package/modern/ChartContainer/ChartContainer.js +15 -9
- package/modern/ChartContainer/useChartContainerProps.js +7 -5
- package/modern/ChartDataProvider/ChartDataProvider.js +108 -0
- package/modern/ChartDataProvider/useChartDataProviderProps.js +52 -0
- package/modern/ChartsAxis/ChartsAxis.js +5 -3
- package/modern/ChartsGrid/ChartsGrid.js +9 -5
- package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
- package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
- package/modern/ChartsLabel/ChartsLabelGradient.js +11 -12
- package/modern/ChartsLegend/ContinuousColorLegend.js +3 -3
- package/modern/ChartsLegend/useAxis.js +7 -5
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
- package/modern/ChartsSurface/ChartsSurface.js +17 -27
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
- package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
- package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
- package/modern/ChartsTooltip/useItemTooltip.js +14 -10
- package/modern/ChartsTooltip/utils.js +2 -0
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
- package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
- package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
- package/modern/Gauge/Gauge.js +5 -1
- package/modern/Gauge/GaugeContainer.js +38 -38
- package/modern/Gauge/GaugeProvider.js +2 -0
- package/modern/LineChart/AnimatedArea.js +1 -1
- package/modern/LineChart/AnimatedLine.js +1 -1
- package/modern/LineChart/AppearingMask.js +1 -1
- package/modern/LineChart/AreaPlot.js +59 -25
- package/modern/LineChart/CircleMarkElement.js +2 -7
- package/modern/LineChart/LineChart.js +10 -6
- package/modern/LineChart/LineHighlightElement.js +29 -9
- package/modern/LineChart/LineHighlightPlot.js +18 -13
- package/modern/LineChart/LinePlot.js +59 -24
- package/modern/LineChart/MarkPlot.js +20 -23
- package/modern/LineChart/formatter.js +3 -1
- package/modern/LineChart/legend.js +1 -1
- package/modern/LineChart/plugin.js +3 -2
- package/modern/LineChart/useLineChartProps.js +3 -5
- package/modern/PieChart/PieArcLabelPlot.js +2 -2
- package/modern/PieChart/PieArcPlot.js +2 -2
- package/modern/PieChart/PieChart.js +10 -2
- package/modern/PieChart/dataTransform/transition.js +6 -6
- package/modern/PieChart/formatter.js +4 -1
- package/modern/PieChart/legend.js +1 -1
- package/modern/PieChart/plugin.js +3 -2
- package/modern/ScatterChart/Scatter.js +6 -4
- package/modern/ScatterChart/ScatterChart.js +17 -13
- package/modern/ScatterChart/ScatterPlot.js +11 -10
- package/modern/ScatterChart/extremums.js +3 -1
- package/modern/ScatterChart/formatter.js +3 -1
- package/modern/ScatterChart/legend.js +1 -1
- package/modern/ScatterChart/plugin.js +3 -2
- package/modern/ScatterChart/useScatterChartProps.js +1 -4
- package/modern/SparkLineChart/SparkLineChart.js +11 -2
- package/modern/context/AnimationProvider/AnimationProvider.js +1 -1
- package/modern/context/ChartProvider/ChartProvider.js +22 -2
- package/modern/context/PolarProvider/PolarProvider.js +59 -47
- package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
- package/modern/context/PolarProvider/usePolarContext.js +9 -8
- package/modern/context/index.js +1 -3
- package/modern/hooks/index.js +3 -1
- package/modern/hooks/useAxis.js +32 -6
- package/modern/hooks/useAxisEvents.js +12 -8
- package/modern/hooks/useChartGradientId.js +47 -0
- package/modern/hooks/useColorScale.js +5 -5
- package/modern/hooks/useDrawingArea.js +5 -20
- package/modern/hooks/useLegend.js +8 -13
- package/modern/hooks/useSeries.js +5 -10
- package/modern/hooks/useZAxis.js +25 -6
- package/modern/index.js +3 -2
- package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
- package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
- package/modern/internals/index.js +17 -11
- package/modern/internals/plugins/allPlugins.js +5 -2
- package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
- package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
- package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
- package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
- package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
- package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
- package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
- package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
- package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
- package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
- package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
- package/{context/ChartDataProvider/useDefaultizeAxis.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
- package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
- package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
- package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
- package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
- package/modern/internals/plugins/models/index.js +2 -1
- package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
- package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
- package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
- package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
- package/modern/internals/store/useChartModels.js +64 -0
- package/modern/internals/store/useCharts.js +14 -9
- package/modern/internals/store/useStore.js +1 -9
- package/node/BarChart/BarChart.js +11 -3
- package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
- package/node/BarChart/BarPlot.js +6 -6
- package/node/BarChart/formatter.js +2 -1
- package/node/BarChart/legend.js +1 -1
- package/node/BarChart/plugin.js +3 -2
- package/node/ChartContainer/ChartContainer.js +15 -9
- package/node/ChartContainer/useChartContainerProps.js +7 -5
- package/node/ChartDataProvider/ChartDataProvider.js +114 -0
- package/node/ChartDataProvider/useChartDataProviderProps.js +59 -0
- package/node/ChartsAxis/ChartsAxis.js +5 -3
- package/node/ChartsGrid/ChartsGrid.js +9 -5
- package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
- package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
- package/node/ChartsLabel/ChartsLabelGradient.js +11 -12
- package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
- package/node/ChartsLegend/useAxis.js +6 -4
- package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
- package/node/ChartsSurface/ChartsSurface.js +18 -28
- package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
- package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
- package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
- package/node/ChartsTooltip/useAxisTooltip.js +11 -7
- package/node/ChartsTooltip/useItemTooltip.js +13 -9
- package/node/ChartsTooltip/utils.js +1 -0
- package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
- package/node/ChartsXAxis/ChartsXAxis.js +11 -8
- package/node/ChartsYAxis/ChartsYAxis.js +8 -5
- package/node/Gauge/Gauge.js +5 -1
- package/node/Gauge/GaugeContainer.js +38 -38
- package/node/Gauge/GaugeProvider.js +2 -2
- package/node/LineChart/AnimatedArea.js +1 -1
- package/node/LineChart/AnimatedLine.js +1 -1
- package/node/LineChart/AppearingMask.js +1 -1
- package/node/LineChart/AreaPlot.js +59 -25
- package/node/LineChart/CircleMarkElement.js +2 -7
- package/node/LineChart/LineChart.js +11 -7
- package/node/LineChart/LineHighlightElement.js +29 -9
- package/node/LineChart/LineHighlightPlot.js +18 -13
- package/node/LineChart/LinePlot.js +59 -24
- package/node/LineChart/MarkPlot.js +20 -23
- package/node/LineChart/formatter.js +3 -1
- package/node/LineChart/legend.js +1 -1
- package/node/LineChart/plugin.js +3 -2
- package/node/LineChart/useLineChartProps.js +3 -5
- package/node/PieChart/PieArcLabelPlot.js +1 -1
- package/node/PieChart/PieArcPlot.js +1 -1
- package/node/PieChart/PieChart.js +11 -3
- package/node/PieChart/dataTransform/transition.js +9 -7
- package/node/PieChart/formatter.js +4 -1
- package/node/PieChart/legend.js +1 -1
- package/node/PieChart/plugin.js +3 -2
- package/node/ScatterChart/Scatter.js +6 -4
- package/node/ScatterChart/ScatterChart.js +18 -14
- package/node/ScatterChart/ScatterPlot.js +10 -9
- package/node/ScatterChart/extremums.js +3 -1
- package/node/ScatterChart/formatter.js +3 -1
- package/node/ScatterChart/legend.js +1 -1
- package/node/ScatterChart/plugin.js +3 -2
- package/node/ScatterChart/useScatterChartProps.js +1 -4
- package/node/SparkLineChart/SparkLineChart.js +10 -1
- package/node/context/AnimationProvider/AnimationProvider.js +1 -1
- package/node/context/ChartProvider/ChartProvider.js +23 -2
- package/node/context/PolarProvider/PolarProvider.js +59 -51
- package/node/context/PolarProvider/getAxisExtremum.js +49 -27
- package/node/context/PolarProvider/usePolarContext.js +9 -14
- package/node/context/index.js +1 -20
- package/node/hooks/index.js +29 -2
- package/node/hooks/useAxis.js +34 -6
- package/node/hooks/useAxisEvents.js +12 -8
- package/node/hooks/useChartGradientId.js +56 -0
- package/node/hooks/useColorScale.js +4 -4
- package/node/hooks/useDrawingArea.js +5 -21
- package/node/hooks/useLegend.js +8 -14
- package/node/hooks/useSeries.js +5 -9
- package/node/hooks/useZAxis.js +27 -9
- package/node/index.js +12 -1
- package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
- package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
- package/node/internals/index.js +111 -63
- package/node/internals/plugins/allPlugins.js +4 -2
- package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
- package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
- package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
- package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
- package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
- package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
- package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
- package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
- package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
- package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
- package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
- package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
- package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
- package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
- package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +59 -0
- package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
- package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +98 -0
- package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
- package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
- package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
- package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
- package/node/internals/plugins/models/index.js +11 -0
- package/node/internals/plugins/models/seriesConfig/index.js +49 -0
- package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
- package/node/internals/store/extractPluginParamsFromProps.js +36 -0
- package/node/internals/store/useChartModels.js +73 -0
- package/node/internals/store/useCharts.js +14 -9
- package/node/internals/store/useStore.js +1 -9
- package/package.json +3 -3
- package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
- package/context/CartesianProvider/CartesianContext.d.ts +0 -4
- package/context/CartesianProvider/CartesianContext.js +0 -13
- package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
- package/context/CartesianProvider/CartesianProvider.js +0 -49
- package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
- package/context/CartesianProvider/defaultizeAxis.js +0 -13
- package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
- package/context/CartesianProvider/getAxisExtremum.js +0 -21
- package/context/CartesianProvider/index.d.ts +0 -4
- package/context/CartesianProvider/index.js +0 -4
- package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
- package/context/CartesianProvider/useCartesianContext.js +0 -10
- package/context/ChartDataProvider/ChartDataProvider.d.ts +0 -58
- package/context/ChartDataProvider/ChartDataProvider.js +0 -270
- package/context/ChartDataProvider/useChartDataProviderProps.d.ts +0 -90
- package/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
- package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
- package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
- package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
- package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
- package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
- package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
- package/context/DrawingAreaProvider/index.d.ts +0 -3
- package/context/DrawingAreaProvider/index.js +0 -3
- package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
- package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
- package/context/PluginProvider/Plugin.types.d.ts +0 -29
- package/context/PluginProvider/PluginContext.d.ts +0 -4
- package/context/PluginProvider/PluginContext.js +0 -15
- package/context/PluginProvider/PluginProvider.d.ts +0 -4
- package/context/PluginProvider/PluginProvider.js +0 -21
- package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
- package/context/PluginProvider/index.d.ts +0 -12
- package/context/PluginProvider/index.js +0 -12
- package/context/PluginProvider/mergePlugins.d.ts +0 -46
- package/context/PluginProvider/mergePlugins.js +0 -40
- package/context/PluginProvider/useColorProcessor.d.ts +0 -4
- package/context/PluginProvider/useColorProcessor.js +0 -17
- package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
- package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
- package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
- package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
- package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
- package/context/PluginProvider/useSeriesFormatter.js +0 -17
- package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
- package/context/PluginProvider/useXExtremumGetter.js +0 -15
- package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
- package/context/PluginProvider/useYExtremumGetter.js +0 -15
- package/context/SeriesProvider/Series.types.d.ts +0 -26
- package/context/SeriesProvider/SeriesContext.d.ts +0 -4
- package/context/SeriesProvider/SeriesContext.js +0 -8
- package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
- package/context/SeriesProvider/SeriesProvider.js +0 -33
- package/context/SeriesProvider/index.d.ts +0 -12
- package/context/SeriesProvider/index.js +0 -8
- package/context/SeriesProvider/processSeries.d.ts +0 -18
- package/context/SizeProvider/Size.types.d.ts +0 -30
- package/context/SizeProvider/SizeContext.d.ts +0 -4
- package/context/SizeProvider/SizeContext.js +0 -15
- package/context/SizeProvider/SizeProvider.d.ts +0 -11
- package/context/SizeProvider/SizeProvider.js +0 -26
- package/context/SizeProvider/index.d.ts +0 -4
- package/context/SizeProvider/index.js +0 -4
- package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
- package/context/SizeProvider/useChartContainerDimensions.js +0 -108
- package/context/SizeProvider/useSize.d.ts +0 -5
- package/context/SizeProvider/useSize.js +0 -13
- package/context/ZAxisContextProvider.d.ts +0 -33
- package/context/ZAxisContextProvider.js +0 -96
- package/internals/computeAxisValue.d.ts +0 -38
- package/modern/context/CartesianProvider/CartesianContext.js +0 -13
- package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
- package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
- package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
- package/modern/context/CartesianProvider/index.js +0 -4
- package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
- package/modern/context/ChartDataProvider/ChartDataProvider.js +0 -270
- package/modern/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
- package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
- package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
- package/modern/context/DrawingAreaProvider/index.js +0 -3
- package/modern/context/PluginProvider/PluginContext.js +0 -15
- package/modern/context/PluginProvider/PluginProvider.js +0 -21
- package/modern/context/PluginProvider/index.js +0 -12
- package/modern/context/PluginProvider/mergePlugins.js +0 -40
- package/modern/context/PluginProvider/useColorProcessor.js +0 -17
- package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
- package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
- package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
- package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
- package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
- package/modern/context/SeriesProvider/SeriesContext.js +0 -8
- package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
- package/modern/context/SeriesProvider/index.js +0 -8
- package/modern/context/SizeProvider/SizeContext.js +0 -15
- package/modern/context/SizeProvider/SizeProvider.js +0 -26
- package/modern/context/SizeProvider/index.js +0 -4
- package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
- package/modern/context/SizeProvider/useSize.js +0 -13
- package/modern/context/ZAxisContextProvider.js +0 -96
- package/node/context/CartesianProvider/CartesianContext.js +0 -20
- package/node/context/CartesianProvider/CartesianProvider.js +0 -54
- package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
- package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
- package/node/context/CartesianProvider/index.js +0 -49
- package/node/context/CartesianProvider/useCartesianContext.js +0 -17
- package/node/context/ChartDataProvider/ChartDataProvider.js +0 -276
- package/node/context/ChartDataProvider/useChartDataProviderProps.js +0 -72
- package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
- package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
- package/node/context/DrawingAreaProvider/index.js +0 -38
- package/node/context/PluginProvider/PluginContext.js +0 -22
- package/node/context/PluginProvider/PluginProvider.js +0 -26
- package/node/context/PluginProvider/index.js +0 -137
- package/node/context/PluginProvider/mergePlugins.js +0 -47
- package/node/context/PluginProvider/useColorProcessor.js +0 -23
- package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
- package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
- package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
- package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
- package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
- package/node/context/SeriesProvider/SeriesContext.js +0 -15
- package/node/context/SeriesProvider/SeriesProvider.js +0 -38
- package/node/context/SeriesProvider/index.js +0 -49
- package/node/context/SizeProvider/SizeContext.js +0 -22
- package/node/context/SizeProvider/SizeProvider.js +0 -29
- package/node/context/SizeProvider/index.js +0 -49
- package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
- package/node/context/SizeProvider/useSize.js +0 -20
- package/node/context/ZAxisContextProvider.js +0 -103
- /package/{context/ChartDataProvider → ChartDataProvider}/index.d.ts +0 -0
- /package/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
- /package/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
- /package/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
- /package/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
- /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
- /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
- /package/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
- /package/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
- /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
- /package/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
- /package/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
- /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
- /package/modern/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
- /package/modern/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
- /package/modern/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
- /package/modern/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
- /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
- /package/modern/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
- /package/modern/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
- /package/modern/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
- /package/modern/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
- /package/node/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
- /package/node/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
- /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
- /package/node/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
- /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
- /package/node/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
- /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
- /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
- /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
- /package/node/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Implements the same behavior as `useControlled` but for several models.
|
|
5
|
+
* The controlled models are never stored in the state, and the state is only updated if the model is not controlled.
|
|
6
|
+
*/
|
|
7
|
+
export const useChartModels = (plugins, props) => {
|
|
8
|
+
const modelsRef = React.useRef({});
|
|
9
|
+
const [modelsState, setModelsState] = React.useState(() => {
|
|
10
|
+
const initialState = {};
|
|
11
|
+
plugins.forEach(plugin => {
|
|
12
|
+
if (plugin.models) {
|
|
13
|
+
Object.entries(plugin.models).forEach(([modelName, modelInitializer]) => {
|
|
14
|
+
modelsRef.current[modelName] = {
|
|
15
|
+
isControlled: props[modelName] !== undefined,
|
|
16
|
+
getDefaultValue: modelInitializer.getDefaultValue
|
|
17
|
+
};
|
|
18
|
+
initialState[modelName] = modelInitializer.getDefaultValue(props);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return initialState;
|
|
23
|
+
});
|
|
24
|
+
const models = Object.fromEntries(Object.entries(modelsRef.current).map(([modelName, model]) => {
|
|
25
|
+
const value = props[modelName] ?? modelsState[modelName];
|
|
26
|
+
return [modelName, {
|
|
27
|
+
value,
|
|
28
|
+
setControlledValue: newValue => {
|
|
29
|
+
if (!model.isControlled) {
|
|
30
|
+
setModelsState(prevState => _extends({}, prevState, {
|
|
31
|
+
[modelName]: typeof newValue === 'function' ? newValue(value) : newValue
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
isControlled: modelsRef.current[modelName].isControlled
|
|
36
|
+
}];
|
|
37
|
+
}));
|
|
38
|
+
|
|
39
|
+
// We know that `modelsRef` do not vary across renders.
|
|
40
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
41
|
+
Object.entries(modelsRef.current).forEach(([modelName, model]) => {
|
|
42
|
+
const controlled = props[modelName];
|
|
43
|
+
const newDefaultValue = model.getDefaultValue(props);
|
|
44
|
+
|
|
45
|
+
/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps, react-compiler/react-compiler */
|
|
46
|
+
React.useEffect(() => {
|
|
47
|
+
if (model.isControlled !== (controlled !== undefined)) {
|
|
48
|
+
console.error([`MUI X: A component is changing the ${model.isControlled ? '' : 'un'}controlled ${modelName} state of Chart to be ${model.isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${modelName} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
|
|
49
|
+
}
|
|
50
|
+
}, [controlled]);
|
|
51
|
+
const {
|
|
52
|
+
current: defaultValue
|
|
53
|
+
} = React.useRef(newDefaultValue);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
if (!model.isControlled && defaultValue !== newDefaultValue) {
|
|
56
|
+
console.error([`MUI X: A component is changing the default ${modelName} state of an uncontrolled Chart after being initialized. ` + `To suppress this warning opt to use a controlled Chart.`].join('\n'));
|
|
57
|
+
}
|
|
58
|
+
}, [JSON.stringify(newDefaultValue)]);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
|
|
62
|
+
|
|
63
|
+
return models;
|
|
64
|
+
};
|
|
@@ -2,6 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import useId from '@mui/utils/useId';
|
|
3
3
|
import { ChartStore } from "../plugins/utils/ChartStore.js";
|
|
4
4
|
import { CHART_CORE_PLUGINS } from "../plugins/corePlugins/index.js";
|
|
5
|
+
import { extractPluginParamsFromProps } from "./extractPluginParamsFromProps.js";
|
|
6
|
+
import { useChartModels } from "./useChartModels.js";
|
|
5
7
|
export function useChartApiInitialization(inputApiRef) {
|
|
6
8
|
const fallbackPublicApiRef = React.useRef({});
|
|
7
9
|
if (inputApiRef) {
|
|
@@ -14,12 +16,15 @@ export function useChartApiInitialization(inputApiRef) {
|
|
|
14
16
|
return fallbackPublicApiRef.current;
|
|
15
17
|
}
|
|
16
18
|
let globalId = 0;
|
|
17
|
-
export function useCharts(inPlugins, props) {
|
|
19
|
+
export function useCharts(inPlugins, props, seriesConfig) {
|
|
20
|
+
const chartId = useId();
|
|
18
21
|
const plugins = React.useMemo(() => [...CHART_CORE_PLUGINS, ...inPlugins], [inPlugins]);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
22
|
+
const pluginParams = extractPluginParamsFromProps({
|
|
23
|
+
plugins,
|
|
24
|
+
props
|
|
25
|
+
});
|
|
26
|
+
pluginParams.id = pluginParams.id ?? chartId;
|
|
27
|
+
const models = useChartModels(plugins, pluginParams);
|
|
23
28
|
const instanceRef = React.useRef({});
|
|
24
29
|
const instance = instanceRef.current;
|
|
25
30
|
const publicAPI = useChartApiInitialization(props.apiRef);
|
|
@@ -43,9 +48,7 @@ export function useCharts(inPlugins, props) {
|
|
|
43
48
|
};
|
|
44
49
|
plugins.forEach(plugin => {
|
|
45
50
|
if (plugin.getInitialState) {
|
|
46
|
-
Object.assign(initialState, plugin.getInitialState(
|
|
47
|
-
id: defaultChartId
|
|
48
|
-
}));
|
|
51
|
+
Object.assign(initialState, plugin.getInitialState(pluginParams, initialState, seriesConfig));
|
|
49
52
|
}
|
|
50
53
|
});
|
|
51
54
|
storeRef.current = new ChartStore(initialState);
|
|
@@ -56,7 +59,9 @@ export function useCharts(inPlugins, props) {
|
|
|
56
59
|
params: pluginParams,
|
|
57
60
|
plugins: plugins,
|
|
58
61
|
store: storeRef.current,
|
|
59
|
-
svgRef: innerSvgRef
|
|
62
|
+
svgRef: innerSvgRef,
|
|
63
|
+
seriesConfig,
|
|
64
|
+
models
|
|
60
65
|
});
|
|
61
66
|
if (pluginResponse.publicAPI) {
|
|
62
67
|
Object.assign(publicAPI, pluginResponse.publicAPI);
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { useChartContext } from "../../context/ChartProvider/index.js";
|
|
2
2
|
// This hook should be removed because user and us should not interact with the store directly, but with public/private APIs
|
|
3
|
-
export function useStore(
|
|
3
|
+
export function useStore() {
|
|
4
4
|
const context = useChartContext();
|
|
5
|
-
if (skipError) {
|
|
6
|
-
// TODO: Remove once store is used by all charts.
|
|
7
|
-
// This line is only for `useAxisEvents` which is in the surface of the Gauge.
|
|
8
|
-
// But the Gauge don't have store yet because it does not need the interaction provider.
|
|
9
|
-
// Will be fixed when every thing move to the store since every component will have access to it.
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
return context?.store;
|
|
12
|
-
}
|
|
13
5
|
if (!context) {
|
|
14
6
|
throw new Error(['MUI X: Could not find the charts context.', 'It looks like you rendered your component outside of a ChartsContainer parent component.'].join('\n'));
|
|
15
7
|
}
|
|
@@ -21,7 +21,7 @@ var _ChartsGrid = require("../ChartsGrid");
|
|
|
21
21
|
var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
|
|
22
22
|
var _ChartsOverlay = require("../ChartsOverlay/ChartsOverlay");
|
|
23
23
|
var _useBarChartProps = require("./useBarChartProps");
|
|
24
|
-
var
|
|
24
|
+
var _ChartDataProvider = require("../ChartDataProvider");
|
|
25
25
|
var _ChartsSurface = require("../ChartsSurface");
|
|
26
26
|
var _useChartContainerProps = require("../ChartContainer/useChartContainerProps");
|
|
27
27
|
var _ChartsWrapper = require("../internals/components/ChartsWrapper");
|
|
@@ -61,7 +61,7 @@ const BarChart = exports.BarChart = /*#__PURE__*/React.forwardRef(function BarCh
|
|
|
61
61
|
chartsSurfaceProps
|
|
62
62
|
} = (0, _useChartContainerProps.useChartContainerProps)(chartContainerProps, ref);
|
|
63
63
|
const Tooltip = props.slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
|
|
64
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
64
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProvider.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
|
|
65
65
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsWrapper.ChartsWrapper, (0, _extends2.default)({}, chartsWrapperProps, {
|
|
66
66
|
children: [!props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
|
|
67
67
|
children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
|
|
@@ -76,6 +76,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
76
76
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
77
77
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
78
78
|
// ----------------------------------------------------------------------
|
|
79
|
+
apiRef: _propTypes.default.shape({
|
|
80
|
+
current: _propTypes.default.object
|
|
81
|
+
}),
|
|
79
82
|
/**
|
|
80
83
|
* The configuration of axes highlight.
|
|
81
84
|
* Default is set to 'band' in the bar direction.
|
|
@@ -144,6 +147,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
144
147
|
dataIndex: _propTypes.default.number,
|
|
145
148
|
seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
146
149
|
}),
|
|
150
|
+
/**
|
|
151
|
+
* This prop is used to help implement the accessibility logic.
|
|
152
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
153
|
+
*/
|
|
154
|
+
id: _propTypes.default.string,
|
|
147
155
|
/**
|
|
148
156
|
* The direction of the bar elements.
|
|
149
157
|
* @default 'vertical'
|
|
@@ -164,7 +172,6 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
164
172
|
* The margin between the SVG and the drawing area.
|
|
165
173
|
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
166
174
|
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
167
|
-
* @default object Depends on the charts type.
|
|
168
175
|
*/
|
|
169
176
|
margin: _propTypes.default.shape({
|
|
170
177
|
bottom: _propTypes.default.number,
|
|
@@ -218,6 +225,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
218
225
|
*/
|
|
219
226
|
slots: _propTypes.default.object,
|
|
220
227
|
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]),
|
|
228
|
+
theme: _propTypes.default.oneOf(['dark', 'light']),
|
|
221
229
|
title: _propTypes.default.string,
|
|
222
230
|
/**
|
|
223
231
|
* Indicate which axis to display the top of the charts.
|
|
@@ -54,7 +54,7 @@ function BarLabelPlot(props) {
|
|
|
54
54
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
55
55
|
const barLabelTransition = (0, _web.useTransition)(bars, {
|
|
56
56
|
keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
|
|
57
|
-
from: leaveStyle,
|
|
57
|
+
from: skipAnimation ? undefined : leaveStyle,
|
|
58
58
|
leave: null,
|
|
59
59
|
enter: enterStyle,
|
|
60
60
|
update: enterStyle,
|
package/node/BarChart/BarPlot.js
CHANGED
|
@@ -13,7 +13,6 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _web = require("@react-spring/web");
|
|
15
15
|
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _CartesianProvider = require("../context/CartesianProvider");
|
|
17
16
|
var _BarElement = require("./BarElement");
|
|
18
17
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
19
18
|
var _hooks = require("../hooks");
|
|
@@ -57,7 +56,6 @@ const useAggregatedData = () => {
|
|
|
57
56
|
stackingGroups: [],
|
|
58
57
|
seriesOrder: []
|
|
59
58
|
};
|
|
60
|
-
const axisData = (0, _CartesianProvider.useCartesianContext)();
|
|
61
59
|
const drawingArea = (0, _hooks.useDrawingArea)();
|
|
62
60
|
const chartId = (0, _hooks.useChartId)();
|
|
63
61
|
const {
|
|
@@ -66,10 +64,12 @@ const useAggregatedData = () => {
|
|
|
66
64
|
} = seriesData;
|
|
67
65
|
const {
|
|
68
66
|
xAxis,
|
|
67
|
+
xAxisIds
|
|
68
|
+
} = (0, _hooks.useXAxes)();
|
|
69
|
+
const {
|
|
69
70
|
yAxis,
|
|
70
|
-
xAxisIds,
|
|
71
71
|
yAxisIds
|
|
72
|
-
} =
|
|
72
|
+
} = (0, _hooks.useYAxes)();
|
|
73
73
|
const defaultXAxisId = xAxisIds[0];
|
|
74
74
|
const defaultYAxisId = yAxisIds[0];
|
|
75
75
|
const masks = {};
|
|
@@ -223,7 +223,7 @@ function BarPlot(props) {
|
|
|
223
223
|
const withoutBorderRadius = !borderRadius || borderRadius <= 0;
|
|
224
224
|
const transition = (0, _web.useTransition)(completedData, {
|
|
225
225
|
keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
|
|
226
|
-
from: leaveStyle,
|
|
226
|
+
from: skipAnimation ? undefined : leaveStyle,
|
|
227
227
|
leave: leaveStyle,
|
|
228
228
|
enter: enterStyle,
|
|
229
229
|
update: enterStyle,
|
|
@@ -231,7 +231,7 @@ function BarPlot(props) {
|
|
|
231
231
|
});
|
|
232
232
|
const maskTransition = (0, _web.useTransition)(withoutBorderRadius ? [] : masksData, {
|
|
233
233
|
keys: v => v.id,
|
|
234
|
-
from: leaveStyle,
|
|
234
|
+
from: skipAnimation ? undefined : leaveStyle,
|
|
235
235
|
leave: leaveStyle,
|
|
236
236
|
enter: enterStyle,
|
|
237
237
|
update: enterStyle,
|
|
@@ -52,7 +52,8 @@ const formatter = (params, dataset) => {
|
|
|
52
52
|
ids.forEach((id, index) => {
|
|
53
53
|
const dataKey = series[id].dataKey;
|
|
54
54
|
completedSeries[id] = (0, _extends2.default)({
|
|
55
|
-
layout: 'vertical'
|
|
55
|
+
layout: 'vertical',
|
|
56
|
+
labelMarkType: 'square'
|
|
56
57
|
}, series[id], {
|
|
57
58
|
data: dataKey ? dataset.map(data => {
|
|
58
59
|
const value = data[dataKey];
|
package/node/BarChart/legend.js
CHANGED
package/node/BarChart/plugin.js
CHANGED
|
@@ -7,11 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.plugin = void 0;
|
|
8
8
|
var _extremums = require("./extremums");
|
|
9
9
|
var _formatter = _interopRequireDefault(require("./formatter"));
|
|
10
|
+
var _legend = _interopRequireDefault(require("./legend"));
|
|
10
11
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
11
12
|
const plugin = exports.plugin = {
|
|
12
|
-
|
|
13
|
-
seriesFormatter: _formatter.default,
|
|
13
|
+
seriesProcessor: _formatter.default,
|
|
14
14
|
colorProcessor: _getColor.default,
|
|
15
|
+
legendGetter: _legend.default,
|
|
15
16
|
xExtremumGetter: _extremums.getExtremumX,
|
|
16
17
|
yExtremumGetter: _extremums.getExtremumY
|
|
17
18
|
};
|
|
@@ -10,7 +10,7 @@ exports.ChartContainer = void 0;
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var _ChartDataProvider = require("../
|
|
13
|
+
var _ChartDataProvider = require("../ChartDataProvider");
|
|
14
14
|
var _useChartContainerProps = require("./useChartContainerProps");
|
|
15
15
|
var _ChartsSurface = require("../ChartsSurface");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -21,7 +21,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
21
21
|
*
|
|
22
22
|
* Demos:
|
|
23
23
|
*
|
|
24
|
-
* - [Composition](
|
|
24
|
+
* - [Composition](https://mui.com/x/api/charts/composition/)
|
|
25
25
|
*
|
|
26
26
|
* API:
|
|
27
27
|
*
|
|
@@ -50,11 +50,17 @@ const ChartContainer = exports.ChartContainer = /*#__PURE__*/React.forwardRef(fu
|
|
|
50
50
|
}))
|
|
51
51
|
}));
|
|
52
52
|
});
|
|
53
|
+
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
|
|
53
56
|
process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
54
57
|
// ----------------------------- Warning --------------------------------
|
|
55
58
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
56
59
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
57
60
|
// ----------------------------------------------------------------------
|
|
61
|
+
apiRef: _propTypes.default.shape({
|
|
62
|
+
current: _propTypes.default.object
|
|
63
|
+
}),
|
|
58
64
|
children: _propTypes.default.node,
|
|
59
65
|
className: _propTypes.default.string,
|
|
60
66
|
/**
|
|
@@ -84,11 +90,15 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
84
90
|
dataIndex: _propTypes.default.number,
|
|
85
91
|
seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
86
92
|
}),
|
|
93
|
+
/**
|
|
94
|
+
* This prop is used to help implement the accessibility logic.
|
|
95
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
96
|
+
*/
|
|
97
|
+
id: _propTypes.default.string,
|
|
87
98
|
/**
|
|
88
99
|
* The margin between the SVG and the drawing area.
|
|
89
100
|
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
90
101
|
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
91
|
-
* @default object Depends on the charts type.
|
|
92
102
|
*/
|
|
93
103
|
margin: _propTypes.default.shape({
|
|
94
104
|
bottom: _propTypes.default.number,
|
|
@@ -102,23 +112,19 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
102
112
|
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
103
113
|
*/
|
|
104
114
|
onHighlightChange: _propTypes.default.func,
|
|
105
|
-
/**
|
|
106
|
-
* An array of plugins defining how to preprocess data.
|
|
107
|
-
* If not provided, the container supports line, bar, scatter and pie charts.
|
|
108
|
-
*/
|
|
109
|
-
plugins: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
110
115
|
/**
|
|
111
116
|
* The array of series to display.
|
|
112
117
|
* Each type of series has its own specificity.
|
|
113
118
|
* Please refer to the appropriate docs page to learn more about it.
|
|
114
119
|
*/
|
|
115
|
-
series: _propTypes.default.arrayOf(_propTypes.default.object)
|
|
120
|
+
series: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
116
121
|
/**
|
|
117
122
|
* If `true`, animations are skipped.
|
|
118
123
|
* If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
|
|
119
124
|
*/
|
|
120
125
|
skipAnimation: _propTypes.default.bool,
|
|
121
126
|
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]),
|
|
127
|
+
theme: _propTypes.default.oneOf(['dark', 'light']),
|
|
122
128
|
title: _propTypes.default.string,
|
|
123
129
|
/**
|
|
124
130
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useChartContainerProps = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
-
|
|
11
|
+
var _allPlugins = require("../internals/plugins/allPlugins");
|
|
12
|
+
const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "sx", "title", "xAxis", "yAxis", "zAxis", "skipAnimation", "seriesConfig"];
|
|
12
13
|
const useChartContainerProps = (props, ref) => {
|
|
13
14
|
const {
|
|
14
15
|
width,
|
|
@@ -22,13 +23,13 @@ const useChartContainerProps = (props, ref) => {
|
|
|
22
23
|
disableAxisListener,
|
|
23
24
|
highlightedItem,
|
|
24
25
|
onHighlightChange,
|
|
25
|
-
plugins,
|
|
26
26
|
sx,
|
|
27
27
|
title,
|
|
28
28
|
xAxis,
|
|
29
29
|
yAxis,
|
|
30
30
|
zAxis,
|
|
31
|
-
skipAnimation
|
|
31
|
+
skipAnimation,
|
|
32
|
+
seriesConfig
|
|
32
33
|
} = props,
|
|
33
34
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
35
|
const chartsSurfaceProps = (0, _extends2.default)({
|
|
@@ -45,13 +46,14 @@ const useChartContainerProps = (props, ref) => {
|
|
|
45
46
|
dataset,
|
|
46
47
|
highlightedItem,
|
|
47
48
|
onHighlightChange,
|
|
48
|
-
plugins,
|
|
49
49
|
xAxis,
|
|
50
50
|
yAxis,
|
|
51
51
|
zAxis,
|
|
52
52
|
skipAnimation,
|
|
53
53
|
width,
|
|
54
|
-
height
|
|
54
|
+
height,
|
|
55
|
+
seriesConfig,
|
|
56
|
+
plugins: _allPlugins.ALL_PLUGINS
|
|
55
57
|
};
|
|
56
58
|
return {
|
|
57
59
|
chartDataProviderProps,
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ChartDataProvider = ChartDataProvider;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _useChartDataProviderProps = require("./useChartDataProviderProps");
|
|
14
|
+
var _AnimationProvider = require("../context/AnimationProvider");
|
|
15
|
+
var _HighlightedProvider = require("../context/HighlightedProvider");
|
|
16
|
+
var _ChartProvider = require("../context/ChartProvider");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
/**
|
|
19
|
+
* Orchestrates the data providers for the chart components and hooks.
|
|
20
|
+
*
|
|
21
|
+
* Use this component if you have custom HTML components that need to access the chart data.
|
|
22
|
+
*
|
|
23
|
+
* Demos:
|
|
24
|
+
*
|
|
25
|
+
* - [Composition](https://mui.com/x/api/charts/composition/)
|
|
26
|
+
*
|
|
27
|
+
* API:
|
|
28
|
+
*
|
|
29
|
+
* - [ChartDataProvider API](https://mui.com/x/api/charts/chart-data-provider/)
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```jsx
|
|
33
|
+
* <ChartDataProvider
|
|
34
|
+
* series={[{ label: "Label", type: "bar", data: [10, 20] }]}
|
|
35
|
+
* xAxis={[{ data: ["A", "B"], scaleType: "band", id: "x-axis" }]}
|
|
36
|
+
* >
|
|
37
|
+
* <ChartsSurface>
|
|
38
|
+
* <BarPlot />
|
|
39
|
+
* <ChartsXAxis position="bottom" axisId="x-axis" />
|
|
40
|
+
* </ChartsSurface>
|
|
41
|
+
* {'Custom Legend Component'}
|
|
42
|
+
* </ChartDataProvider>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
function ChartDataProvider(props) {
|
|
46
|
+
const {
|
|
47
|
+
children,
|
|
48
|
+
highlightedProviderProps,
|
|
49
|
+
animationProviderProps,
|
|
50
|
+
chartProviderProps
|
|
51
|
+
} = (0, _useChartDataProviderProps.useChartDataProviderProps)(props);
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartProvider.ChartProvider, (0, _extends2.default)({}, chartProviderProps, {
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HighlightedProvider.HighlightedProvider, (0, _extends2.default)({}, highlightedProviderProps, {
|
|
54
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AnimationProvider.AnimationProvider, (0, _extends2.default)({}, animationProviderProps, {
|
|
55
|
+
children: children
|
|
56
|
+
}))
|
|
57
|
+
}))
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
|
|
61
|
+
// ----------------------------- Warning --------------------------------
|
|
62
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
63
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
64
|
+
// ----------------------------------------------------------------------
|
|
65
|
+
apiRef: _propTypes.default.any,
|
|
66
|
+
children: _propTypes.default.node,
|
|
67
|
+
/**
|
|
68
|
+
* Color palette used to colorize multiple series.
|
|
69
|
+
* @default blueberryTwilightPalette
|
|
70
|
+
*/
|
|
71
|
+
colors: _propTypes.default.any,
|
|
72
|
+
dataset: _propTypes.default.any,
|
|
73
|
+
/**
|
|
74
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
75
|
+
*/
|
|
76
|
+
height: _propTypes.default.any,
|
|
77
|
+
/**
|
|
78
|
+
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
79
|
+
*/
|
|
80
|
+
highlightedItem: _propTypes.default.any,
|
|
81
|
+
/**
|
|
82
|
+
* This prop is used to help implement the accessibility logic.
|
|
83
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
84
|
+
*/
|
|
85
|
+
id: _propTypes.default.any,
|
|
86
|
+
/**
|
|
87
|
+
* The margin between the SVG and the drawing area.
|
|
88
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
89
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
90
|
+
*/
|
|
91
|
+
margin: _propTypes.default.any,
|
|
92
|
+
/**
|
|
93
|
+
* The callback fired when the highlighted item changes.
|
|
94
|
+
*
|
|
95
|
+
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
96
|
+
*/
|
|
97
|
+
onHighlightChange: _propTypes.default.any,
|
|
98
|
+
/**
|
|
99
|
+
* The array of series to display.
|
|
100
|
+
* Each type of series has its own specificity.
|
|
101
|
+
* Please refer to the appropriate docs page to learn more about it.
|
|
102
|
+
*/
|
|
103
|
+
series: _propTypes.default.any,
|
|
104
|
+
/**
|
|
105
|
+
* If `true`, animations are skipped.
|
|
106
|
+
* If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
|
|
107
|
+
*/
|
|
108
|
+
skipAnimation: _propTypes.default.any,
|
|
109
|
+
theme: _propTypes.default.any,
|
|
110
|
+
/**
|
|
111
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
112
|
+
*/
|
|
113
|
+
width: _propTypes.default.any
|
|
114
|
+
} : void 0;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useChartDataProviderProps = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
|
+
const _excluded = ["apiRef", "width", "height", "series", "margin", "colors", "dataset", "highlightedItem", "onHighlightChange", "children", "skipAnimation", "plugins", "seriesConfig"];
|
|
13
|
+
const useChartDataProviderProps = props => {
|
|
14
|
+
const {
|
|
15
|
+
apiRef,
|
|
16
|
+
width,
|
|
17
|
+
height,
|
|
18
|
+
series,
|
|
19
|
+
margin,
|
|
20
|
+
colors,
|
|
21
|
+
dataset,
|
|
22
|
+
highlightedItem,
|
|
23
|
+
onHighlightChange,
|
|
24
|
+
children,
|
|
25
|
+
skipAnimation,
|
|
26
|
+
plugins,
|
|
27
|
+
seriesConfig
|
|
28
|
+
} = props,
|
|
29
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
30
|
+
const theme = (0, _styles.useTheme)();
|
|
31
|
+
const chartProviderProps = {
|
|
32
|
+
plugins,
|
|
33
|
+
seriesConfig,
|
|
34
|
+
pluginParams: (0, _extends2.default)({
|
|
35
|
+
apiRef,
|
|
36
|
+
width,
|
|
37
|
+
height,
|
|
38
|
+
margin,
|
|
39
|
+
dataset,
|
|
40
|
+
series,
|
|
41
|
+
colors,
|
|
42
|
+
theme: theme.palette.mode
|
|
43
|
+
}, other)
|
|
44
|
+
};
|
|
45
|
+
const animationProviderProps = {
|
|
46
|
+
skipAnimation
|
|
47
|
+
};
|
|
48
|
+
const highlightedProviderProps = {
|
|
49
|
+
highlightedItem,
|
|
50
|
+
onHighlightChange
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
children,
|
|
54
|
+
highlightedProviderProps,
|
|
55
|
+
animationProviderProps,
|
|
56
|
+
chartProviderProps
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
exports.useChartDataProviderProps = useChartDataProviderProps;
|
|
@@ -10,9 +10,9 @@ exports.ChartsAxis = ChartsAxis;
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var _CartesianProvider = require("../context/CartesianProvider");
|
|
14
13
|
var _ChartsXAxis = require("../ChartsXAxis");
|
|
15
14
|
var _ChartsYAxis = require("../ChartsYAxis");
|
|
15
|
+
var _hooks = require("../hooks");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
const getAxisId = (propsValue, defaultAxisId) => {
|
|
18
18
|
if (propsValue == null) {
|
|
@@ -53,10 +53,12 @@ function ChartsAxis(props) {
|
|
|
53
53
|
} = props;
|
|
54
54
|
const {
|
|
55
55
|
xAxis,
|
|
56
|
-
xAxisIds
|
|
56
|
+
xAxisIds
|
|
57
|
+
} = (0, _hooks.useXAxes)();
|
|
58
|
+
const {
|
|
57
59
|
yAxis,
|
|
58
60
|
yAxisIds
|
|
59
|
-
} = (0,
|
|
61
|
+
} = (0, _hooks.useYAxes)();
|
|
60
62
|
const leftId = getAxisId(leftAxis === undefined ? yAxisIds[0] : leftAxis, yAxisIds[0]);
|
|
61
63
|
const bottomId = getAxisId(bottomAxis === undefined ? xAxisIds[0] : bottomAxis, xAxisIds[0]);
|
|
62
64
|
const topId = getAxisId(topAxis, xAxisIds[0]);
|
|
@@ -13,12 +13,12 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _CartesianProvider = require("../context/CartesianProvider");
|
|
17
16
|
var _chartsGridClasses = require("./chartsGridClasses");
|
|
18
17
|
var _useDrawingArea = require("../hooks/useDrawingArea");
|
|
19
18
|
var _styledComponents = require("./styledComponents");
|
|
20
19
|
var _ChartsVerticalGrid = require("./ChartsVerticalGrid");
|
|
21
20
|
var _ChartsHorizontalGrid = require("./ChartsHorizontalGrid");
|
|
21
|
+
var _useAxis = require("../hooks/useAxis");
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
23
|
const _excluded = ["vertical", "horizontal"];
|
|
24
24
|
const useUtilityClasses = ({
|
|
@@ -53,10 +53,12 @@ function ChartsGrid(inProps) {
|
|
|
53
53
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
54
54
|
const {
|
|
55
55
|
xAxis,
|
|
56
|
-
xAxisIds
|
|
56
|
+
xAxisIds
|
|
57
|
+
} = (0, _useAxis.useXAxes)();
|
|
58
|
+
const {
|
|
57
59
|
yAxis,
|
|
58
60
|
yAxisIds
|
|
59
|
-
} = (0,
|
|
61
|
+
} = (0, _useAxis.useYAxes)();
|
|
60
62
|
const classes = useUtilityClasses(props);
|
|
61
63
|
const horizontalAxis = yAxis[yAxisIds[0]];
|
|
62
64
|
const verticalAxis = xAxis[xAxisIds[0]];
|
|
@@ -64,11 +66,13 @@ function ChartsGrid(inProps) {
|
|
|
64
66
|
className: classes.root,
|
|
65
67
|
children: [vertical && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVerticalGrid.ChartsGridVertical, {
|
|
66
68
|
axis: verticalAxis,
|
|
67
|
-
|
|
69
|
+
start: drawingArea.top,
|
|
70
|
+
end: drawingArea.height + drawingArea.top,
|
|
68
71
|
classes: classes
|
|
69
72
|
}), horizontal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsHorizontalGrid.ChartsGridHorizontal, {
|
|
70
73
|
axis: horizontalAxis,
|
|
71
|
-
|
|
74
|
+
start: drawingArea.left,
|
|
75
|
+
end: drawingArea.width + drawingArea.left,
|
|
72
76
|
classes: classes
|
|
73
77
|
})]
|
|
74
78
|
}));
|