@mui/x-charts 8.0.0-alpha.13 → 8.0.0-alpha.14
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/BarPlot.js +10 -7
- package/BarChart/checkScaleErrors.d.ts +4 -1
- package/BarChart/checkScaleErrors.js +7 -1
- package/BarChart/seriesConfig/extremums.d.ts +1 -1
- package/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/{internals/defaultizeColor.js → BarChart/seriesConfig/getSeriesWithDefaultValues.js} +6 -11
- package/BarChart/seriesConfig/index.js +3 -1
- package/CHANGELOG.md +131 -0
- package/ChartContainer/ChartContainer.d.ts +1 -1
- package/ChartContainer/ChartContainer.js +107 -0
- package/ChartContainer/useChartContainerProps.d.ts +1 -1
- package/ChartContainer/useChartContainerProps.js +6 -2
- package/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
- package/ChartsXAxis/ChartsXAxis.js +38 -8
- package/ChartsYAxis/ChartsYAxis.js +12 -7
- package/LineChart/LinePlot.js +2 -1
- package/LineChart/seriesConfig/extremums.d.ts +1 -1
- package/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/LineChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
- package/LineChart/seriesConfig/index.js +3 -1
- package/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/PieChart/seriesConfig/getSeriesWithDefaultValues.js +18 -0
- package/PieChart/seriesConfig/index.js +3 -1
- package/RadarChart/RadarChart.d.ts +24 -0
- package/RadarChart/RadarChart.js +150 -0
- package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
- package/RadarChart/RadarDataProvider/RadarDataProvider.js +168 -0
- package/RadarChart/RadarDataProvider/index.d.ts +1 -0
- package/RadarChart/RadarDataProvider/index.js +16 -0
- package/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
- package/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
- package/RadarChart/RadarGrid/RadarGrid.js +51 -0
- package/RadarChart/RadarGrid/index.d.ts +1 -0
- package/RadarChart/RadarGrid/index.js +16 -0
- package/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
- package/RadarChart/RadarGrid/useRadarGridData.js +35 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +46 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +45 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +48 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
- package/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
- package/RadarChart/RadarSeriesPlot/getAreaPath.js +9 -0
- package/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
- package/RadarChart/RadarSeriesPlot/index.js +38 -0
- package/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
- package/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +67 -0
- package/RadarChart/index.d.ts +6 -0
- package/RadarChart/index.js +47 -0
- package/RadarChart/seriesConfig/extremums.d.ts +3 -0
- package/RadarChart/seriesConfig/extremums.js +26 -0
- package/RadarChart/seriesConfig/formatter.d.ts +3 -0
- package/RadarChart/seriesConfig/formatter.js +18 -0
- package/RadarChart/seriesConfig/getColor.d.ts +3 -0
- package/RadarChart/seriesConfig/getColor.js +10 -0
- package/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
- package/RadarChart/seriesConfig/index.d.ts +2 -0
- package/RadarChart/seriesConfig/index.js +22 -0
- package/RadarChart/seriesConfig/legend.d.ts +3 -0
- package/RadarChart/seriesConfig/legend.js +28 -0
- package/RadarChart/seriesConfig/tooltip.d.ts +3 -0
- package/RadarChart/seriesConfig/tooltip.js +31 -0
- package/RadarChart/useRadarChartProps.d.ts +23 -0
- package/RadarChart/useRadarChartProps.js +74 -0
- package/ScatterChart/seriesConfig/extremums.d.ts +1 -1
- package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
- package/ScatterChart/seriesConfig/index.js +3 -1
- package/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/constants/index.d.ts +3 -6
- package/constants/index.js +6 -7
- package/esm/BarChart/BarPlot.js +10 -7
- package/esm/BarChart/checkScaleErrors.d.ts +4 -1
- package/esm/BarChart/checkScaleErrors.js +7 -1
- package/esm/BarChart/seriesConfig/extremums.d.ts +1 -1
- package/esm/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/esm/BarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/esm/BarChart/seriesConfig/index.js +3 -1
- package/esm/ChartContainer/ChartContainer.d.ts +1 -1
- package/esm/ChartContainer/ChartContainer.js +107 -0
- package/esm/ChartContainer/useChartContainerProps.d.ts +1 -1
- package/esm/ChartContainer/useChartContainerProps.js +6 -2
- package/esm/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
- package/esm/ChartsXAxis/ChartsXAxis.js +38 -8
- package/esm/ChartsYAxis/ChartsYAxis.js +13 -8
- package/esm/LineChart/LinePlot.js +2 -1
- package/esm/LineChart/seriesConfig/extremums.d.ts +1 -1
- package/esm/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/esm/LineChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/esm/LineChart/seriesConfig/index.js +3 -1
- package/esm/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/esm/PieChart/seriesConfig/getSeriesWithDefaultValues.js +11 -0
- package/esm/PieChart/seriesConfig/index.js +3 -1
- package/esm/RadarChart/RadarChart.d.ts +24 -0
- package/esm/RadarChart/RadarChart.js +144 -0
- package/esm/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
- package/esm/RadarChart/RadarDataProvider/RadarDataProvider.js +162 -0
- package/esm/RadarChart/RadarDataProvider/index.d.ts +1 -0
- package/esm/RadarChart/RadarDataProvider/index.js +1 -0
- package/esm/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
- package/esm/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
- package/esm/RadarChart/RadarGrid/RadarGrid.js +44 -0
- package/esm/RadarChart/RadarGrid/index.d.ts +1 -0
- package/esm/RadarChart/RadarGrid/index.js +1 -0
- package/esm/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
- package/esm/RadarChart/RadarGrid/useRadarGridData.js +29 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +39 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +38 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +41 -0
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
- package/esm/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
- package/esm/RadarChart/RadarSeriesPlot/getAreaPath.js +3 -0
- package/esm/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
- package/esm/RadarChart/RadarSeriesPlot/index.js +3 -0
- package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
- package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +60 -0
- package/esm/RadarChart/index.d.ts +6 -0
- package/esm/RadarChart/index.js +4 -0
- package/esm/RadarChart/seriesConfig/extremums.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/extremums.js +18 -0
- package/esm/RadarChart/seriesConfig/formatter.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/formatter.js +12 -0
- package/esm/RadarChart/seriesConfig/getColor.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/getColor.js +4 -0
- package/esm/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/esm/RadarChart/seriesConfig/index.d.ts +2 -0
- package/esm/RadarChart/seriesConfig/index.js +15 -0
- package/esm/RadarChart/seriesConfig/legend.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/legend.js +22 -0
- package/esm/RadarChart/seriesConfig/tooltip.d.ts +3 -0
- package/esm/RadarChart/seriesConfig/tooltip.js +25 -0
- package/esm/RadarChart/useRadarChartProps.d.ts +23 -0
- package/esm/RadarChart/useRadarChartProps.js +67 -0
- package/esm/ScatterChart/seriesConfig/extremums.d.ts +1 -1
- package/esm/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/esm/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/esm/ScatterChart/seriesConfig/index.js +3 -1
- package/esm/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/esm/constants/index.d.ts +3 -6
- package/esm/constants/index.js +5 -6
- package/esm/hooks/useAxis.d.ts +11 -1
- package/esm/hooks/useAxis.js +41 -0
- package/esm/hooks/useRadarSeries.d.ts +35 -0
- package/esm/hooks/useRadarSeries.js +42 -0
- package/esm/hooks/useScale.d.ts +3 -1
- package/esm/hooks/useScale.js +9 -1
- package/esm/hooks/useTicks.js +17 -11
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -1
- package/esm/internals/clampAngle.d.ts +2 -0
- package/esm/internals/clampAngle.js +4 -0
- package/esm/internals/components/AxisSharedComponents.js +2 -2
- package/esm/internals/configInit.d.ts +11 -4
- package/esm/internals/configInit.js +22 -4
- package/esm/internals/index.d.ts +5 -0
- package/esm/internals/index.js +5 -0
- package/esm/internals/invertTextAnchor.d.ts +2 -0
- package/esm/internals/invertTextAnchor.js +10 -0
- package/esm/internals/isPolar.d.ts +7 -0
- package/esm/internals/isPolar.js +7 -0
- package/esm/internals/plugins/allPlugins.d.ts +3 -2
- package/esm/internals/plugins/allPlugins.js +2 -1
- package/esm/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -13
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +59 -19
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +5 -5
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +133 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +24 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +21 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/index.js +2 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +57 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +26 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
- package/esm/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
- package/esm/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +1 -0
- package/esm/internals/plugins/models/seriesConfig/index.d.ts +4 -2
- package/esm/internals/plugins/models/seriesConfig/index.js +4 -2
- package/esm/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
- package/esm/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +1 -0
- package/esm/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
- package/esm/internals/stackSeries.d.ts +4 -6
- package/esm/models/axis.d.ts +27 -12
- package/esm/models/axis.js +4 -0
- package/esm/models/seriesType/config.d.ts +19 -9
- package/esm/models/seriesType/index.d.ts +1 -0
- package/esm/models/seriesType/index.js +1 -0
- package/esm/models/seriesType/radar.d.ts +24 -0
- package/esm/models/seriesType/radar.js +1 -0
- package/hooks/useAxis.d.ts +11 -1
- package/hooks/useAxis.js +45 -0
- package/hooks/useRadarSeries.d.ts +35 -0
- package/hooks/useRadarSeries.js +48 -0
- package/hooks/useScale.d.ts +3 -1
- package/hooks/useScale.js +10 -0
- package/hooks/useTicks.js +17 -11
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/internals/clampAngle.d.ts +2 -0
- package/internals/clampAngle.js +10 -0
- package/internals/components/AxisSharedComponents.js +2 -2
- package/internals/configInit.d.ts +11 -4
- package/internals/configInit.js +23 -5
- package/internals/index.d.ts +5 -0
- package/internals/index.js +60 -0
- package/internals/invertTextAnchor.d.ts +2 -0
- package/internals/invertTextAnchor.js +16 -0
- package/internals/isPolar.d.ts +7 -0
- package/internals/isPolar.js +14 -0
- package/internals/plugins/allPlugins.d.ts +3 -2
- package/internals/plugins/allPlugins.js +2 -1
- package/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -14
- package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +60 -19
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +10 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +4 -4
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
- package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +140 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +31 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +28 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.js +27 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +65 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +33 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js +5 -0
- package/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js +5 -0
- package/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
- package/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +5 -0
- package/internals/plugins/models/seriesConfig/index.d.ts +4 -2
- package/internals/plugins/models/seriesConfig/index.js +26 -4
- package/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
- package/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +5 -0
- package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
- package/internals/stackSeries.d.ts +4 -6
- package/models/axis.d.ts +27 -12
- package/models/axis.js +4 -0
- package/models/seriesType/config.d.ts +19 -9
- package/models/seriesType/index.d.ts +1 -0
- package/models/seriesType/index.js +12 -0
- package/models/seriesType/radar.d.ts +24 -0
- package/models/seriesType/radar.js +5 -0
- package/modern/BarChart/BarPlot.js +10 -7
- package/modern/BarChart/checkScaleErrors.d.ts +4 -1
- package/modern/BarChart/checkScaleErrors.js +7 -1
- package/modern/BarChart/seriesConfig/extremums.d.ts +1 -1
- package/modern/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/modern/BarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/modern/BarChart/seriesConfig/index.js +3 -1
- package/modern/ChartContainer/ChartContainer.d.ts +1 -1
- package/modern/ChartContainer/ChartContainer.js +107 -0
- package/modern/ChartContainer/useChartContainerProps.d.ts +1 -1
- package/modern/ChartContainer/useChartContainerProps.js +6 -2
- package/modern/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
- package/modern/ChartsXAxis/ChartsXAxis.js +38 -8
- package/modern/ChartsYAxis/ChartsYAxis.js +13 -8
- package/modern/LineChart/LinePlot.js +2 -1
- package/modern/LineChart/seriesConfig/extremums.d.ts +1 -1
- package/modern/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/modern/LineChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/modern/LineChart/seriesConfig/index.js +3 -1
- package/modern/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/modern/PieChart/seriesConfig/getSeriesWithDefaultValues.js +11 -0
- package/modern/PieChart/seriesConfig/index.js +3 -1
- package/modern/RadarChart/RadarChart.d.ts +24 -0
- package/modern/RadarChart/RadarChart.js +144 -0
- package/modern/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
- package/modern/RadarChart/RadarDataProvider/RadarDataProvider.js +162 -0
- package/modern/RadarChart/RadarDataProvider/index.d.ts +1 -0
- package/modern/RadarChart/RadarDataProvider/index.js +1 -0
- package/modern/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
- package/modern/RadarChart/RadarDataProvider/radar.types.js +1 -0
- package/modern/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
- package/modern/RadarChart/RadarGrid/RadarGrid.js +44 -0
- package/modern/RadarChart/RadarGrid/index.d.ts +1 -0
- package/modern/RadarChart/RadarGrid/index.js +1 -0
- package/modern/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
- package/modern/RadarChart/RadarGrid/useRadarGridData.js +29 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +39 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +38 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +41 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
- package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js +1 -0
- package/modern/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
- package/modern/RadarChart/RadarSeriesPlot/getAreaPath.js +3 -0
- package/modern/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
- package/modern/RadarChart/RadarSeriesPlot/index.js +3 -0
- package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
- package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +60 -0
- package/modern/RadarChart/index.d.ts +6 -0
- package/modern/RadarChart/index.js +4 -0
- package/modern/RadarChart/seriesConfig/extremums.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/extremums.js +18 -0
- package/modern/RadarChart/seriesConfig/formatter.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/formatter.js +12 -0
- package/modern/RadarChart/seriesConfig/getColor.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/getColor.js +4 -0
- package/modern/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/modern/RadarChart/seriesConfig/index.d.ts +2 -0
- package/modern/RadarChart/seriesConfig/index.js +15 -0
- package/modern/RadarChart/seriesConfig/legend.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/legend.js +22 -0
- package/modern/RadarChart/seriesConfig/tooltip.d.ts +3 -0
- package/modern/RadarChart/seriesConfig/tooltip.js +25 -0
- package/modern/RadarChart/useRadarChartProps.d.ts +23 -0
- package/modern/RadarChart/useRadarChartProps.js +67 -0
- package/modern/ScatterChart/seriesConfig/extremums.d.ts +1 -1
- package/modern/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/modern/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
- package/modern/ScatterChart/seriesConfig/index.js +3 -1
- package/modern/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/modern/constants/index.d.ts +3 -6
- package/modern/constants/index.js +5 -6
- package/modern/hooks/useAxis.d.ts +11 -1
- package/modern/hooks/useAxis.js +41 -0
- package/modern/hooks/useRadarSeries.d.ts +35 -0
- package/modern/hooks/useRadarSeries.js +42 -0
- package/modern/hooks/useScale.d.ts +3 -1
- package/modern/hooks/useScale.js +9 -1
- package/modern/hooks/useTicks.js +17 -11
- package/modern/index.d.ts +1 -0
- package/modern/index.js +2 -1
- package/modern/internals/clampAngle.d.ts +2 -0
- package/modern/internals/clampAngle.js +4 -0
- package/modern/internals/components/AxisSharedComponents.js +2 -2
- package/modern/internals/configInit.d.ts +11 -4
- package/modern/internals/configInit.js +22 -4
- package/modern/internals/index.d.ts +5 -0
- package/modern/internals/index.js +5 -0
- package/modern/internals/invertTextAnchor.d.ts +2 -0
- package/modern/internals/invertTextAnchor.js +10 -0
- package/modern/internals/isPolar.d.ts +7 -0
- package/modern/internals/isPolar.js +7 -0
- package/modern/internals/plugins/allPlugins.d.ts +3 -2
- package/modern/internals/plugins/allPlugins.js +2 -1
- package/modern/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -13
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +59 -19
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +5 -5
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
- package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +133 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +24 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +21 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/index.js +2 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +57 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +26 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js +1 -0
- package/modern/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js +1 -0
- package/modern/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
- package/modern/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +1 -0
- package/modern/internals/plugins/models/seriesConfig/index.d.ts +4 -2
- package/modern/internals/plugins/models/seriesConfig/index.js +4 -2
- package/modern/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
- package/modern/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +1 -0
- package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
- package/modern/internals/stackSeries.d.ts +4 -6
- package/modern/models/axis.d.ts +27 -12
- package/modern/models/axis.js +4 -0
- package/modern/models/seriesType/config.d.ts +19 -9
- package/modern/models/seriesType/index.d.ts +1 -0
- package/modern/models/seriesType/index.js +1 -0
- package/modern/models/seriesType/radar.d.ts +24 -0
- package/modern/models/seriesType/radar.js +1 -0
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/context/PolarProvider/Polar.types.d.ts +0 -43
- package/context/PolarProvider/PolarContext.d.ts +0 -4
- package/context/PolarProvider/PolarContext.js +0 -20
- package/context/PolarProvider/PolarProvider.d.ts +0 -0
- package/context/PolarProvider/PolarProvider.js +0 -62
- package/context/PolarProvider/getAxisExtremum.d.ts +0 -0
- package/context/PolarProvider/getAxisExtremum.js +0 -49
- package/context/PolarProvider/index.d.ts +0 -0
- package/context/PolarProvider/index.js +0 -1
- package/context/PolarProvider/usePolarContext.d.ts +0 -0
- package/context/PolarProvider/usePolarContext.js +0 -12
- package/esm/context/PolarProvider/Polar.types.d.ts +0 -43
- package/esm/context/PolarProvider/PolarContext.d.ts +0 -4
- package/esm/context/PolarProvider/PolarContext.js +0 -13
- package/esm/context/PolarProvider/PolarProvider.d.ts +0 -0
- package/esm/context/PolarProvider/PolarProvider.js +0 -61
- package/esm/context/PolarProvider/getAxisExtremum.d.ts +0 -0
- package/esm/context/PolarProvider/getAxisExtremum.js +0 -48
- package/esm/context/PolarProvider/index.d.ts +0 -0
- package/esm/context/PolarProvider/index.js +0 -0
- package/esm/context/PolarProvider/usePolarContext.d.ts +0 -0
- package/esm/context/PolarProvider/usePolarContext.js +0 -11
- package/esm/internals/defaultizeColor.d.ts +0 -107
- package/esm/internals/defaultizeColor.js +0 -13
- package/internals/defaultizeColor.d.ts +0 -107
- package/modern/context/PolarProvider/Polar.types.d.ts +0 -43
- package/modern/context/PolarProvider/PolarContext.d.ts +0 -4
- package/modern/context/PolarProvider/PolarContext.js +0 -13
- package/modern/context/PolarProvider/PolarProvider.d.ts +0 -0
- package/modern/context/PolarProvider/PolarProvider.js +0 -61
- package/modern/context/PolarProvider/getAxisExtremum.d.ts +0 -0
- package/modern/context/PolarProvider/getAxisExtremum.js +0 -48
- package/modern/context/PolarProvider/index.d.ts +0 -0
- package/modern/context/PolarProvider/index.js +0 -0
- package/modern/context/PolarProvider/usePolarContext.d.ts +0 -0
- package/modern/context/PolarProvider/usePolarContext.js +0 -11
- package/modern/internals/defaultizeColor.d.ts +0 -107
- package/modern/internals/defaultizeColor.js +0 -13
- /package/{context/PolarProvider/Polar.types.js → RadarChart/RadarDataProvider/radar.types.js} +0 -0
- /package/{internals/plugins/models/seriesConfig/extremumGetter.types.js → RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js} +0 -0
- /package/esm/{context/PolarProvider/Polar.types.js → RadarChart/RadarDataProvider/radar.types.js} +0 -0
- /package/esm/{internals/plugins/models/seriesConfig/extremumGetter.types.js → RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js} +0 -0
- /package/{modern/context/PolarProvider/Polar.types.js → esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js} +0 -0
- /package/esm/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
- /package/{modern/internals/plugins/models/seriesConfig/extremumGetter.types.js → esm/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js} +0 -0
- /package/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
- /package/modern/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
|
@@ -6,6 +6,7 @@ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
|
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
9
10
|
import { line as d3Line } from '@mui/x-charts-vendor/d3-shape';
|
|
10
11
|
import { LineElement, lineElementClasses } from "./LineElement.js";
|
|
11
12
|
import { getValueToPositionMapper } from "../hooks/useScale.js";
|
|
@@ -72,7 +73,7 @@ const useAggregatedData = () => {
|
|
|
72
73
|
throw new Error(`MUI X: ${xAxisId === DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
|
|
73
74
|
}
|
|
74
75
|
if (xData.length < stackedData.length) {
|
|
75
|
-
|
|
76
|
+
warnOnce(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`, 'error');
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
const shouldExpand = curve?.includes('step') && !strictStepCurve && isBandScale(xScale);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { CartesianExtremumGetter } from "../../internals/plugins/models/seriesConfig/
|
|
1
|
+
import { CartesianExtremumGetter } from "../../internals/plugins/models/seriesConfig/index.js";
|
|
2
2
|
export declare const getExtremumX: CartesianExtremumGetter<'line'>;
|
|
3
3
|
export declare const getExtremumY: CartesianExtremumGetter<'line'>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
|
|
3
|
+
return _extends({
|
|
4
|
+
id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
|
|
5
|
+
color: colors[seriesIndex % colors.length]
|
|
6
|
+
}, seriesData);
|
|
7
|
+
};
|
|
8
|
+
export default getSeriesWithDefaultValues;
|
|
@@ -3,11 +3,13 @@ import seriesProcessor from "./seriesProcessor.js";
|
|
|
3
3
|
import getColor from "./getColor.js";
|
|
4
4
|
import legendGetter from "./legend.js";
|
|
5
5
|
import tooltipGetter from "./tooltip.js";
|
|
6
|
+
import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.js";
|
|
6
7
|
export const seriesConfig = {
|
|
7
8
|
colorProcessor: getColor,
|
|
8
9
|
seriesProcessor,
|
|
9
10
|
legendGetter,
|
|
10
11
|
tooltipGetter,
|
|
11
12
|
xExtremumGetter: getExtremumX,
|
|
12
|
-
yExtremumGetter: getExtremumY
|
|
13
|
+
yExtremumGetter: getExtremumY,
|
|
14
|
+
getSeriesWithDefaultValues
|
|
13
15
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
|
|
3
|
+
return _extends({
|
|
4
|
+
id: seriesData.id ?? `auto-generated-id-${seriesIndex}`
|
|
5
|
+
}, seriesData, {
|
|
6
|
+
data: seriesData.data.map((d, index) => _extends({
|
|
7
|
+
color: colors[index % colors.length]
|
|
8
|
+
}, d))
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
export default getSeriesWithDefaultValues;
|
|
@@ -2,9 +2,11 @@ import seriesProcessor from "./seriesProcessor.js";
|
|
|
2
2
|
import getColor from "./getColor.js";
|
|
3
3
|
import legendGetter from "./legend.js";
|
|
4
4
|
import tooltipGetter from "./tooltip.js";
|
|
5
|
+
import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.js";
|
|
5
6
|
export const seriesConfig = {
|
|
6
7
|
colorProcessor: getColor,
|
|
7
8
|
seriesProcessor,
|
|
8
9
|
legendGetter,
|
|
9
|
-
tooltipGetter
|
|
10
|
+
tooltipGetter,
|
|
11
|
+
getSeriesWithDefaultValues
|
|
10
12
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartsOverlayProps } from "../ChartsOverlay/ChartsOverlay.js";
|
|
3
|
+
import { RadarGridProps } from "./RadarGrid/RadarGrid.js";
|
|
4
|
+
import { RadarDataProviderProps } from "./RadarDataProvider/RadarDataProvider.js";
|
|
5
|
+
export interface RadarChartSlots {}
|
|
6
|
+
export interface RadarChartSlotProps {}
|
|
7
|
+
export interface RadarChartProps extends RadarDataProviderProps, RadarGridProps, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
|
|
8
|
+
/**
|
|
9
|
+
* If `true`, the legend is not rendered.
|
|
10
|
+
*/
|
|
11
|
+
hideLegend?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Overridable component slots.
|
|
14
|
+
* @default {}
|
|
15
|
+
*/
|
|
16
|
+
slots?: RadarChartSlots;
|
|
17
|
+
/**
|
|
18
|
+
* The props used for each component slot.
|
|
19
|
+
* @default {}
|
|
20
|
+
*/
|
|
21
|
+
slotProps?: RadarChartSlotProps;
|
|
22
|
+
}
|
|
23
|
+
declare const RadarChart: React.ForwardRefExoticComponent<RadarChartProps & React.RefAttributes<SVGSVGElement>>;
|
|
24
|
+
export { RadarChart };
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useThemeProps } from '@mui/material/styles';
|
|
7
|
+
import { ChartsLegend } from "../ChartsLegend/index.js";
|
|
8
|
+
import { ChartsOverlay } from "../ChartsOverlay/ChartsOverlay.js";
|
|
9
|
+
import { useRadarChartProps } from "./useRadarChartProps.js";
|
|
10
|
+
import { ChartsSurface } from "../ChartsSurface/index.js";
|
|
11
|
+
import { ChartsWrapper } from "../internals/components/ChartsWrapper/index.js";
|
|
12
|
+
import { RadarGrid } from "./RadarGrid/RadarGrid.js";
|
|
13
|
+
import { RadarDataProvider } from "./RadarDataProvider/RadarDataProvider.js";
|
|
14
|
+
import { RadarSeriesPlot } from "./RadarSeriesPlot/index.js";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
const RadarChart = /*#__PURE__*/React.forwardRef(function RadarChart(inProps, ref) {
|
|
17
|
+
const props = useThemeProps({
|
|
18
|
+
props: inProps,
|
|
19
|
+
name: 'MuiRadarChart'
|
|
20
|
+
});
|
|
21
|
+
const {
|
|
22
|
+
chartsWrapperProps,
|
|
23
|
+
chartsSurfaceProps,
|
|
24
|
+
radarDataProviderProps,
|
|
25
|
+
radarGrid,
|
|
26
|
+
overlayProps,
|
|
27
|
+
legendProps,
|
|
28
|
+
children
|
|
29
|
+
} = useRadarChartProps(props);
|
|
30
|
+
return /*#__PURE__*/_jsx(RadarDataProvider, _extends({}, radarDataProviderProps, {
|
|
31
|
+
children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
|
|
32
|
+
children: [!props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
|
|
33
|
+
ref: ref,
|
|
34
|
+
children: [/*#__PURE__*/_jsx(RadarGrid, _extends({}, radarGrid)), /*#__PURE__*/_jsx(RadarSeriesPlot, {}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), children]
|
|
35
|
+
}))]
|
|
36
|
+
}))
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
40
|
+
// ----------------------------- Warning --------------------------------
|
|
41
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
42
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
43
|
+
// ----------------------------------------------------------------------
|
|
44
|
+
apiRef: PropTypes.shape({
|
|
45
|
+
current: PropTypes.object
|
|
46
|
+
}),
|
|
47
|
+
children: PropTypes.node,
|
|
48
|
+
className: PropTypes.string,
|
|
49
|
+
/**
|
|
50
|
+
* Color palette used to colorize multiple series.
|
|
51
|
+
* @default rainbowSurgePalette
|
|
52
|
+
*/
|
|
53
|
+
colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
|
|
54
|
+
desc: PropTypes.string,
|
|
55
|
+
/**
|
|
56
|
+
* The number of divisions in the radar grid.
|
|
57
|
+
* @default 5
|
|
58
|
+
*/
|
|
59
|
+
divisions: PropTypes.number,
|
|
60
|
+
/**
|
|
61
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
62
|
+
*/
|
|
63
|
+
height: PropTypes.number,
|
|
64
|
+
/**
|
|
65
|
+
* If `true`, the legend is not rendered.
|
|
66
|
+
*/
|
|
67
|
+
hideLegend: PropTypes.bool,
|
|
68
|
+
/**
|
|
69
|
+
* The highlighted item.
|
|
70
|
+
* Used when the highlight is controlled.
|
|
71
|
+
*/
|
|
72
|
+
highlightedItem: PropTypes.shape({
|
|
73
|
+
dataIndex: PropTypes.number,
|
|
74
|
+
seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
|
|
75
|
+
}),
|
|
76
|
+
/**
|
|
77
|
+
* This prop is used to help implement the accessibility logic.
|
|
78
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
79
|
+
*/
|
|
80
|
+
id: PropTypes.string,
|
|
81
|
+
/**
|
|
82
|
+
* If `true`, a loading overlay is displayed.
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
loading: PropTypes.bool,
|
|
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
|
+
*
|
|
90
|
+
* Accepts a `number` to be used on all sides or an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
91
|
+
*/
|
|
92
|
+
margin: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
93
|
+
bottom: PropTypes.number,
|
|
94
|
+
left: PropTypes.number,
|
|
95
|
+
right: PropTypes.number,
|
|
96
|
+
top: PropTypes.number
|
|
97
|
+
})]),
|
|
98
|
+
/**
|
|
99
|
+
* The callback fired when the highlighted item changes.
|
|
100
|
+
*
|
|
101
|
+
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
102
|
+
*/
|
|
103
|
+
onHighlightChange: PropTypes.func,
|
|
104
|
+
/**
|
|
105
|
+
* The configuration of the radar scales.
|
|
106
|
+
*/
|
|
107
|
+
radar: PropTypes.shape({
|
|
108
|
+
max: PropTypes.number,
|
|
109
|
+
metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
|
|
110
|
+
max: PropTypes.number,
|
|
111
|
+
min: PropTypes.number,
|
|
112
|
+
name: PropTypes.string.isRequired
|
|
113
|
+
}))]).isRequired,
|
|
114
|
+
startAngle: PropTypes.number
|
|
115
|
+
}).isRequired,
|
|
116
|
+
/**
|
|
117
|
+
* The series to display in the bar chart.
|
|
118
|
+
* An array of [[RadarSeriesType]] objects.
|
|
119
|
+
*/
|
|
120
|
+
series: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
121
|
+
/**
|
|
122
|
+
* If `true`, animations are skipped.
|
|
123
|
+
* If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
|
|
124
|
+
*/
|
|
125
|
+
skipAnimation: PropTypes.bool,
|
|
126
|
+
/**
|
|
127
|
+
* The props used for each component slot.
|
|
128
|
+
* @default {}
|
|
129
|
+
*/
|
|
130
|
+
slotProps: PropTypes.object,
|
|
131
|
+
/**
|
|
132
|
+
* Overridable component slots.
|
|
133
|
+
* @default {}
|
|
134
|
+
*/
|
|
135
|
+
slots: PropTypes.object,
|
|
136
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
137
|
+
theme: PropTypes.oneOf(['dark', 'light']),
|
|
138
|
+
title: PropTypes.string,
|
|
139
|
+
/**
|
|
140
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
141
|
+
*/
|
|
142
|
+
width: PropTypes.number
|
|
143
|
+
} : void 0;
|
|
144
|
+
export { RadarChart };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MakeOptional } from '@mui/x-internals/types';
|
|
3
|
+
import { ChartContainerProps } from "../../ChartContainer/index.js";
|
|
4
|
+
import { RadarSeriesType } from "../../models/seriesType/radar.js";
|
|
5
|
+
import { UseChartPolarAxisSignature } from "../../internals/plugins/featurePlugins/useChartPolarAxis/index.js";
|
|
6
|
+
import { UseChartHighlightSignature } from "../../internals/plugins/featurePlugins/useChartHighlight/index.js";
|
|
7
|
+
import { RadarConfig } from "./radar.types.js";
|
|
8
|
+
type RadarPluginSignatures = [UseChartPolarAxisSignature, UseChartHighlightSignature];
|
|
9
|
+
export interface RadarDataProviderProps extends Omit<ChartContainerProps<'radar', RadarPluginSignatures>, 'series' | 'plugins' | 'rotationAxis' | 'radiusAxis' | 'dataset'> {
|
|
10
|
+
/**
|
|
11
|
+
* The series to display in the bar chart.
|
|
12
|
+
* An array of [[RadarSeriesType]] objects.
|
|
13
|
+
*/
|
|
14
|
+
series: MakeOptional<RadarSeriesType, 'type'>[];
|
|
15
|
+
/**
|
|
16
|
+
* The configuration of the radar scales.
|
|
17
|
+
*/
|
|
18
|
+
radar: RadarConfig;
|
|
19
|
+
}
|
|
20
|
+
declare function RadarDataProvider(props: RadarDataProviderProps): React.JSX.Element;
|
|
21
|
+
declare namespace RadarDataProvider {
|
|
22
|
+
var propTypes: any;
|
|
23
|
+
}
|
|
24
|
+
export { RadarDataProvider };
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
+
const _excluded = ["series", "children", "width", "height", "colors", "highlightedItem", "onHighlightChange", "className", "skipAnimation", "margin", "radar"];
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { ChartDataProvider } from "../../ChartDataProvider/index.js";
|
|
9
|
+
import { defaultizeMargin } from "../../internals/defaultizeMargin.js";
|
|
10
|
+
import { useChartPolarAxis } from "../../internals/plugins/featurePlugins/useChartPolarAxis/index.js";
|
|
11
|
+
import { useChartHighlight } from "../../internals/plugins/featurePlugins/useChartHighlight/index.js";
|
|
12
|
+
import { radarSeriesConfig } from "../seriesConfig/index.js";
|
|
13
|
+
import { DEFAULT_MARGINS } from "../../constants/index.js";
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
const RADAR_SERIES_CONFIG = {
|
|
16
|
+
radar: radarSeriesConfig
|
|
17
|
+
};
|
|
18
|
+
const RADAR_PLUGINS = [useChartPolarAxis, useChartHighlight];
|
|
19
|
+
function RadarDataProvider(props) {
|
|
20
|
+
const {
|
|
21
|
+
series,
|
|
22
|
+
children,
|
|
23
|
+
width,
|
|
24
|
+
height,
|
|
25
|
+
colors,
|
|
26
|
+
highlightedItem,
|
|
27
|
+
onHighlightChange,
|
|
28
|
+
skipAnimation,
|
|
29
|
+
margin,
|
|
30
|
+
radar
|
|
31
|
+
} = props,
|
|
32
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
33
|
+
const rotationAxes = React.useMemo(() => [{
|
|
34
|
+
id: 'radar-rotation-axis',
|
|
35
|
+
scaleType: 'point',
|
|
36
|
+
data: radar.metrics.map(metric => typeof metric === 'string' ? metric : metric.name),
|
|
37
|
+
startAngle: radar.startAngle,
|
|
38
|
+
endAngle: radar.startAngle !== undefined ? radar.startAngle + 360 : undefined
|
|
39
|
+
}], [radar]);
|
|
40
|
+
const radiusAxis = React.useMemo(() => radar.metrics.map(m => {
|
|
41
|
+
const {
|
|
42
|
+
name,
|
|
43
|
+
min = 0,
|
|
44
|
+
max = radar.max
|
|
45
|
+
} = typeof m === 'string' ? {
|
|
46
|
+
name: m
|
|
47
|
+
} : m;
|
|
48
|
+
return {
|
|
49
|
+
id: name,
|
|
50
|
+
label: name,
|
|
51
|
+
scaleType: 'linear',
|
|
52
|
+
min,
|
|
53
|
+
max
|
|
54
|
+
};
|
|
55
|
+
}), [radar]);
|
|
56
|
+
const defaultizedSeries = React.useMemo(() => series.map(s => _extends({
|
|
57
|
+
type: 'radar'
|
|
58
|
+
}, s)), [series]);
|
|
59
|
+
const defaultizedMargin = React.useMemo(() => defaultizeMargin(margin, DEFAULT_MARGINS), [margin]);
|
|
60
|
+
return /*#__PURE__*/_jsx(ChartDataProvider, _extends({}, other, {
|
|
61
|
+
series: defaultizedSeries,
|
|
62
|
+
width: width,
|
|
63
|
+
height: height,
|
|
64
|
+
margin: defaultizedMargin,
|
|
65
|
+
colors: colors,
|
|
66
|
+
highlightedItem: highlightedItem,
|
|
67
|
+
onHighlightChange: onHighlightChange,
|
|
68
|
+
skipAnimation: skipAnimation,
|
|
69
|
+
plugins: RADAR_PLUGINS,
|
|
70
|
+
rotationAxis: rotationAxes,
|
|
71
|
+
radiusAxis: radiusAxis,
|
|
72
|
+
seriesConfig: RADAR_SERIES_CONFIG,
|
|
73
|
+
children: children
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
process.env.NODE_ENV !== "production" ? RadarDataProvider.propTypes = {
|
|
77
|
+
// ----------------------------- Warning --------------------------------
|
|
78
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
79
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
80
|
+
// ----------------------------------------------------------------------
|
|
81
|
+
apiRef: PropTypes.shape({
|
|
82
|
+
current: PropTypes.object
|
|
83
|
+
}),
|
|
84
|
+
children: PropTypes.node,
|
|
85
|
+
className: PropTypes.string,
|
|
86
|
+
/**
|
|
87
|
+
* Color palette used to colorize multiple series.
|
|
88
|
+
* @default rainbowSurgePalette
|
|
89
|
+
*/
|
|
90
|
+
colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
|
|
91
|
+
desc: PropTypes.string,
|
|
92
|
+
/**
|
|
93
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
94
|
+
*/
|
|
95
|
+
height: PropTypes.number,
|
|
96
|
+
/**
|
|
97
|
+
* The highlighted item.
|
|
98
|
+
* Used when the highlight is controlled.
|
|
99
|
+
*/
|
|
100
|
+
highlightedItem: PropTypes.shape({
|
|
101
|
+
dataIndex: PropTypes.number,
|
|
102
|
+
seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
|
|
103
|
+
}),
|
|
104
|
+
/**
|
|
105
|
+
* This prop is used to help implement the accessibility logic.
|
|
106
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
107
|
+
*/
|
|
108
|
+
id: PropTypes.string,
|
|
109
|
+
/**
|
|
110
|
+
* The margin between the SVG and the drawing area.
|
|
111
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
112
|
+
*
|
|
113
|
+
* Accepts a `number` to be used on all sides or an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
114
|
+
*/
|
|
115
|
+
margin: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
116
|
+
bottom: PropTypes.number,
|
|
117
|
+
left: PropTypes.number,
|
|
118
|
+
right: PropTypes.number,
|
|
119
|
+
top: PropTypes.number
|
|
120
|
+
})]),
|
|
121
|
+
/**
|
|
122
|
+
* The callback fired when the highlighted item changes.
|
|
123
|
+
*
|
|
124
|
+
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
125
|
+
*/
|
|
126
|
+
onHighlightChange: PropTypes.func,
|
|
127
|
+
/**
|
|
128
|
+
* The configuration of the radar scales.
|
|
129
|
+
*/
|
|
130
|
+
radar: PropTypes.shape({
|
|
131
|
+
max: PropTypes.number,
|
|
132
|
+
metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
|
|
133
|
+
max: PropTypes.number,
|
|
134
|
+
min: PropTypes.number,
|
|
135
|
+
name: PropTypes.string.isRequired
|
|
136
|
+
}))]).isRequired,
|
|
137
|
+
startAngle: PropTypes.number
|
|
138
|
+
}).isRequired,
|
|
139
|
+
/**
|
|
140
|
+
* The series to display in the bar chart.
|
|
141
|
+
* An array of [[RadarSeriesType]] objects.
|
|
142
|
+
*/
|
|
143
|
+
series: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
144
|
+
/**
|
|
145
|
+
* The configuration helpers used to compute attributes according to the serries type.
|
|
146
|
+
* @ignore Unstable props for internal usage.
|
|
147
|
+
*/
|
|
148
|
+
seriesConfig: PropTypes.object,
|
|
149
|
+
/**
|
|
150
|
+
* If `true`, animations are skipped.
|
|
151
|
+
* If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
|
|
152
|
+
*/
|
|
153
|
+
skipAnimation: PropTypes.bool,
|
|
154
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
155
|
+
theme: PropTypes.oneOf(['dark', 'light']),
|
|
156
|
+
title: PropTypes.string,
|
|
157
|
+
/**
|
|
158
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
159
|
+
*/
|
|
160
|
+
width: PropTypes.number
|
|
161
|
+
} : void 0;
|
|
162
|
+
export { RadarDataProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RadarDataProvider.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RadarDataProvider.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface MetricConfig {
|
|
2
|
+
/**
|
|
3
|
+
* The name of the metric.
|
|
4
|
+
*/
|
|
5
|
+
name: string;
|
|
6
|
+
/**
|
|
7
|
+
* The minimum value of the domain.
|
|
8
|
+
* @default 0
|
|
9
|
+
*/
|
|
10
|
+
min?: number;
|
|
11
|
+
/**
|
|
12
|
+
* The maximum value of the domain.
|
|
13
|
+
* If not provided, it gets computed to display the entire chart data.
|
|
14
|
+
*/
|
|
15
|
+
max?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface RadarConfig {
|
|
18
|
+
/**
|
|
19
|
+
* The metrics shown by radar.
|
|
20
|
+
*/
|
|
21
|
+
metrics: string[] | MetricConfig[];
|
|
22
|
+
/**
|
|
23
|
+
* The default max value for radius axes.
|
|
24
|
+
* It will be overridden if `metrics` contains a `max` property.
|
|
25
|
+
*/
|
|
26
|
+
max?: number;
|
|
27
|
+
/**
|
|
28
|
+
* The starting angle of the rotation axis (in degrees)
|
|
29
|
+
* @default 0
|
|
30
|
+
*/
|
|
31
|
+
startAngle?: number;
|
|
32
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface RadarGridProps {
|
|
3
|
+
/**
|
|
4
|
+
* The number of divisions in the radar grid.
|
|
5
|
+
* @default 5
|
|
6
|
+
*/
|
|
7
|
+
divisions?: number;
|
|
8
|
+
}
|
|
9
|
+
declare function RadarGrid(props: RadarGridProps): React.JSX.Element;
|
|
10
|
+
declare namespace RadarGrid {
|
|
11
|
+
var propTypes: any;
|
|
12
|
+
}
|
|
13
|
+
export { RadarGrid };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { useRadarGridData } from "./useRadarGridData.js";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
function RadarGrid(props) {
|
|
6
|
+
const {
|
|
7
|
+
divisions = 5
|
|
8
|
+
} = props;
|
|
9
|
+
const {
|
|
10
|
+
center,
|
|
11
|
+
corners
|
|
12
|
+
} = useRadarGridData();
|
|
13
|
+
const divisionRatio = Array.from({
|
|
14
|
+
length: divisions
|
|
15
|
+
}, (_, index) => (index + 1) / divisions);
|
|
16
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
17
|
+
children: [corners.map(({
|
|
18
|
+
x,
|
|
19
|
+
y
|
|
20
|
+
}, i) => /*#__PURE__*/_jsx("path", {
|
|
21
|
+
d: `M ${center.x} ${center.y} L ${x} ${y}`,
|
|
22
|
+
stroke: "black"
|
|
23
|
+
}, i)), divisionRatio.map(ratio => /*#__PURE__*/_jsx("path", {
|
|
24
|
+
d: `M ${corners.map(({
|
|
25
|
+
x,
|
|
26
|
+
y
|
|
27
|
+
}) => `${center.x * (1 - ratio) + ratio * x} ${center.y * (1 - ratio) + ratio * y}`).join(' L ')} Z`,
|
|
28
|
+
stroke: "black",
|
|
29
|
+
fill: "none"
|
|
30
|
+
}, ratio))]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
process.env.NODE_ENV !== "production" ? RadarGrid.propTypes = {
|
|
34
|
+
// ----------------------------- Warning --------------------------------
|
|
35
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
36
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
37
|
+
// ----------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* The number of divisions in the radar grid.
|
|
40
|
+
* @default 5
|
|
41
|
+
*/
|
|
42
|
+
divisions: PropTypes.number
|
|
43
|
+
} : void 0;
|
|
44
|
+
export { RadarGrid };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RadarGrid.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RadarGrid.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useRotationScale } from "../../hooks/useScale.js";
|
|
2
|
+
import { useDrawingArea } from "../../hooks/useDrawingArea.js";
|
|
3
|
+
import { useRadiusAxes } from "../../hooks/index.js";
|
|
4
|
+
export function useRadarGridData() {
|
|
5
|
+
const rotationScale = useRotationScale();
|
|
6
|
+
const {
|
|
7
|
+
radiusAxis
|
|
8
|
+
} = useRadiusAxes();
|
|
9
|
+
const drawingArea = useDrawingArea();
|
|
10
|
+
const cx = drawingArea.left + drawingArea.width / 2;
|
|
11
|
+
const cy = drawingArea.top + drawingArea.height / 2;
|
|
12
|
+
const metrics = rotationScale.domain();
|
|
13
|
+
const angles = metrics.map(key => rotationScale(key));
|
|
14
|
+
return {
|
|
15
|
+
center: {
|
|
16
|
+
x: cx,
|
|
17
|
+
y: cy
|
|
18
|
+
},
|
|
19
|
+
corners: metrics.map((metric, dataIndex) => {
|
|
20
|
+
const radiusScale = radiusAxis[metric].scale;
|
|
21
|
+
const r = radiusScale.range()[1];
|
|
22
|
+
const angle = angles[dataIndex];
|
|
23
|
+
return {
|
|
24
|
+
x: cx + r * Math.sin(angle),
|
|
25
|
+
y: cy - r * Math.cos(angle)
|
|
26
|
+
};
|
|
27
|
+
})
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RadarSeriesAreaProps } from "./RadarSeriesPlot.types.js";
|
|
3
|
+
declare function RadarSeriesArea(props: RadarSeriesAreaProps): React.JSX.Element;
|
|
4
|
+
declare namespace RadarSeriesArea {
|
|
5
|
+
var propTypes: any;
|
|
6
|
+
}
|
|
7
|
+
export { RadarSeriesArea };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
const _excluded = ["seriesId"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useRadarSeriesData } from "./useRadarSeriesData.js";
|
|
7
|
+
import { getAreaPath } from "./getAreaPath.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
function RadarSeriesArea(props) {
|
|
10
|
+
const {
|
|
11
|
+
seriesId
|
|
12
|
+
} = props,
|
|
13
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
14
|
+
const seriesCoordinates = useRadarSeriesData(seriesId);
|
|
15
|
+
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
16
|
+
children: seriesCoordinates?.map(({
|
|
17
|
+
seriesId: id,
|
|
18
|
+
points,
|
|
19
|
+
color
|
|
20
|
+
}) => /*#__PURE__*/_jsx("path", _extends({
|
|
21
|
+
d: getAreaPath(points),
|
|
22
|
+
fill: color,
|
|
23
|
+
stroke: color,
|
|
24
|
+
fillOpacity: 0.4
|
|
25
|
+
}, other), id))
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
process.env.NODE_ENV !== "production" ? RadarSeriesArea.propTypes = {
|
|
29
|
+
// ----------------------------- Warning --------------------------------
|
|
30
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
31
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
32
|
+
// ----------------------------------------------------------------------
|
|
33
|
+
/**
|
|
34
|
+
* The id of the series to display.
|
|
35
|
+
* If undefined all series are displayed.
|
|
36
|
+
*/
|
|
37
|
+
seriesId: PropTypes.string
|
|
38
|
+
} : void 0;
|
|
39
|
+
export { RadarSeriesArea };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RadarSeriesMarksProps } from "./RadarSeriesPlot.types.js";
|
|
3
|
+
declare function RadarSeriesMarks(props: RadarSeriesMarksProps): React.JSX.Element;
|
|
4
|
+
declare namespace RadarSeriesMarks {
|
|
5
|
+
var propTypes: any;
|
|
6
|
+
}
|
|
7
|
+
export { RadarSeriesMarks };
|