@mui/x-charts 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChart/BarChart.js +13 -0
- package/BarChart/BarElement.js +2 -0
- package/BarChart/BarLabel/BarLabel.js +2 -0
- package/BarChart/BarPlot.js +2 -0
- package/BarChart/legend.js +3 -2
- package/BarChart/useBarChartProps.js +2 -0
- package/CHANGELOG.md +184 -4
- package/ChartContainer/ChartContainer.js +2 -0
- package/ChartContainer/useChartContainerProps.js +2 -0
- package/ChartContainer/useDefaultizeAxis.js +2 -0
- package/ChartsAxis/ChartsAxis.js +2 -0
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -0
- package/ChartsClipPath/ChartsClipPath.js +2 -0
- package/ChartsGrid/ChartsGrid.js +2 -0
- package/ChartsLegend/ChartsLegend.d.ts +2 -2
- package/ChartsLegend/ChartsLegend.js +11 -1
- package/ChartsLegend/ChartsLegendItem.d.ts +26 -0
- package/ChartsLegend/ChartsLegendItem.js +65 -0
- package/ChartsLegend/ContinuousColorLegend.js +2 -0
- package/ChartsLegend/DefaultChartsLegend.d.ts +9 -1
- package/ChartsLegend/DefaultChartsLegend.js +26 -4
- package/ChartsLegend/LegendPerItem.d.ts +1 -0
- package/ChartsLegend/LegendPerItem.js +19 -28
- package/ChartsLegend/PiecewiseColorLegend.d.ts +9 -1
- package/ChartsLegend/PiecewiseColorLegend.js +28 -7
- package/ChartsLegend/chartsLegend.types.d.ts +39 -1
- package/ChartsLegend/chartsLegendClasses.d.ts +2 -0
- package/ChartsLegend/chartsLegendClasses.js +1 -1
- package/ChartsLegend/useAxis.js +2 -0
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +3 -1
- package/ChartsOverlay/ChartsLoadingOverlay.js +2 -0
- package/ChartsOverlay/ChartsNoDataOverlay.js +2 -0
- package/ChartsOverlay/ChartsOverlay.js +2 -0
- package/ChartsReferenceLine/ChartsReferenceLine.js +2 -0
- package/ChartsReferenceLine/ChartsXReferenceLine.js +3 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.js +3 -1
- package/ChartsSurface/ChartsSurface.js +2 -0
- package/ChartsText/ChartsText.js +2 -0
- package/ChartsTooltip/ChartsTooltip.js +2 -0
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -0
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -0
- package/ChartsTooltip/index.d.ts +3 -0
- package/ChartsTooltip/index.js +4 -1
- package/ChartsTooltip/useAxisTooltip.d.ts +18 -0
- package/ChartsTooltip/useAxisTooltip.js +84 -0
- package/ChartsTooltip/useItemTooltip.d.ts +10 -0
- package/ChartsTooltip/useItemTooltip.js +64 -0
- package/ChartsTooltip/utils.d.ts +2 -1
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -0
- package/ChartsXAxis/ChartsXAxis.js +2 -0
- package/ChartsYAxis/ChartsYAxis.js +2 -0
- package/Gauge/Gauge.js +2 -0
- package/Gauge/GaugeContainer.js +2 -0
- package/Gauge/GaugeReferenceArc.js +2 -0
- package/Gauge/GaugeValueArc.js +2 -0
- package/Gauge/GaugeValueText.js +2 -0
- package/LineChart/AnimatedArea.js +2 -0
- package/LineChart/AnimatedLine.js +14 -22
- package/LineChart/AreaElement.js +2 -0
- package/LineChart/AreaPlot.js +2 -0
- package/LineChart/CircleMarkElement.d.ts +34 -0
- package/LineChart/CircleMarkElement.js +107 -0
- package/LineChart/LineChart.d.ts +4 -0
- package/LineChart/LineChart.js +17 -0
- package/LineChart/LineElement.js +2 -0
- package/LineChart/LineHighlightElement.js +2 -0
- package/LineChart/LineHighlightPlot.js +2 -0
- package/LineChart/LinePlot.js +2 -0
- package/LineChart/MarkElement.d.ts +1 -19
- package/LineChart/MarkElement.js +3 -19
- package/LineChart/MarkPlot.d.ts +6 -0
- package/LineChart/MarkPlot.js +13 -3
- package/LineChart/index.d.ts +2 -0
- package/LineChart/index.js +2 -1
- package/LineChart/legend.js +3 -2
- package/LineChart/markElementClasses.d.ts +20 -0
- package/LineChart/markElementClasses.js +19 -0
- package/LineChart/useLineChartProps.js +7 -3
- package/PieChart/PieArc.js +2 -0
- package/PieChart/PieArcLabel.js +2 -0
- package/PieChart/PieArcLabelPlot.js +2 -0
- package/PieChart/PieArcPlot.js +2 -0
- package/PieChart/PieChart.js +13 -0
- package/PieChart/PiePlot.js +2 -0
- package/PieChart/dataTransform/useTransformData.js +2 -0
- package/PieChart/legend.js +3 -1
- package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +10 -0
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +12 -0
- package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +1 -1
- package/ResponsiveChartContainer/useChartContainerDimensions.js +35 -9
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +5 -2
- package/ScatterChart/Scatter.js +2 -0
- package/ScatterChart/ScatterChart.js +13 -0
- package/ScatterChart/ScatterPlot.js +2 -0
- package/ScatterChart/legend.js +3 -2
- package/ScatterChart/useScatterChartProps.js +2 -0
- package/SparkLineChart/SparkLineChart.js +12 -0
- package/context/CartesianProvider/CartesianProvider.js +5 -3
- package/context/CartesianProvider/getAxisExtremum.d.ts +1 -1
- package/context/CartesianProvider/getAxisExtremum.js +5 -4
- package/context/CartesianProvider/index.d.ts +0 -5
- package/context/CartesianProvider/index.js +1 -6
- package/context/CartesianProvider/useCartesianContext.js +2 -0
- package/context/DrawingProvider.js +2 -0
- package/context/HighlightedProvider/HighlightedProvider.js +2 -0
- package/context/HighlightedProvider/useHighlighted.js +2 -0
- package/context/HighlightedProvider/useItemHighlighted.js +2 -0
- package/context/InteractionProvider.js +2 -0
- package/context/PluginProvider/ExtremumGetter.types.d.ts +1 -0
- package/context/PluginProvider/Plugin.types.d.ts +4 -0
- package/context/PluginProvider/PluginContext.js +3 -1
- package/context/PluginProvider/PluginProvider.js +2 -0
- package/context/PluginProvider/index.d.ts +2 -0
- package/context/PluginProvider/index.js +3 -1
- package/context/PluginProvider/mergePlugins.d.ts +10 -0
- package/context/PluginProvider/mergePlugins.js +11 -1
- package/context/PluginProvider/useColorProcessor.js +2 -0
- package/context/PluginProvider/useRadiusExtremumGetter.d.ts +4 -0
- package/context/PluginProvider/useRadiusExtremumGetter.js +17 -0
- package/context/PluginProvider/useRotationExtremumGetter.d.ts +4 -0
- package/context/PluginProvider/useRotationExtremumGetter.js +17 -0
- package/context/PluginProvider/useSeriesFormatter.js +2 -0
- package/context/PolarProvider/Polar.types.d.ts +42 -0
- package/context/PolarProvider/Polar.types.js +1 -0
- package/context/PolarProvider/PolarContext.d.ts +4 -0
- package/context/PolarProvider/PolarContext.js +13 -0
- package/context/PolarProvider/PolarProvider.d.ts +4 -0
- package/context/PolarProvider/PolarProvider.js +49 -0
- package/context/PolarProvider/getAxisExtremum.d.ts +4 -0
- package/context/PolarProvider/getAxisExtremum.js +20 -0
- package/context/PolarProvider/index.d.ts +0 -0
- package/context/PolarProvider/index.js +0 -0
- package/context/PolarProvider/usePolarContext.d.ts +2 -0
- package/context/PolarProvider/usePolarContext.js +10 -0
- package/context/SeriesProvider/SeriesProvider.js +2 -0
- package/context/ZAxisContextProvider.js +2 -0
- package/hooks/useAxis.js +2 -0
- package/hooks/useAxisEvents.js +2 -0
- package/hooks/useChartDimensions.js +2 -0
- package/hooks/useChartId.js +2 -0
- package/hooks/useColorScale.js +2 -0
- package/hooks/useDrawingArea.js +2 -0
- package/hooks/useInteractionItemProps.js +2 -0
- package/hooks/useMounted.js +2 -0
- package/hooks/useReducedMotion.js +2 -0
- package/hooks/useScale.js +2 -0
- package/hooks/useSeries.js +2 -0
- package/hooks/useSvgRef.js +2 -0
- package/hooks/useTicks.js +2 -0
- package/index.js +1 -1
- package/internals/computeAxisValue.d.ts +38 -0
- package/{modern/context/CartesianProvider/computeValue.js → internals/computeAxisValue.js} +28 -15
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/models/axis.d.ts +20 -0
- package/models/seriesType/config.d.ts +6 -2
- package/modern/BarChart/BarChart.js +13 -0
- package/modern/BarChart/BarElement.js +2 -0
- package/modern/BarChart/BarLabel/BarLabel.js +2 -0
- package/modern/BarChart/BarPlot.js +2 -0
- package/modern/BarChart/legend.js +3 -2
- package/modern/BarChart/useBarChartProps.js +2 -0
- package/modern/ChartContainer/ChartContainer.js +2 -0
- package/modern/ChartContainer/useChartContainerProps.js +2 -0
- package/modern/ChartContainer/useDefaultizeAxis.js +2 -0
- package/modern/ChartsAxis/ChartsAxis.js +2 -0
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -0
- package/modern/ChartsClipPath/ChartsClipPath.js +2 -0
- package/modern/ChartsGrid/ChartsGrid.js +2 -0
- package/modern/ChartsLegend/ChartsLegend.js +11 -1
- package/modern/ChartsLegend/ChartsLegendItem.js +65 -0
- package/modern/ChartsLegend/ContinuousColorLegend.js +2 -0
- package/modern/ChartsLegend/DefaultChartsLegend.js +26 -4
- package/modern/ChartsLegend/LegendPerItem.js +19 -28
- package/modern/ChartsLegend/PiecewiseColorLegend.js +28 -7
- package/modern/ChartsLegend/chartsLegendClasses.js +1 -1
- package/modern/ChartsLegend/useAxis.js +2 -0
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +3 -1
- package/modern/ChartsOverlay/ChartsLoadingOverlay.js +2 -0
- package/modern/ChartsOverlay/ChartsNoDataOverlay.js +2 -0
- package/modern/ChartsOverlay/ChartsOverlay.js +2 -0
- package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -0
- package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +3 -1
- package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +3 -1
- package/modern/ChartsSurface/ChartsSurface.js +2 -0
- package/modern/ChartsText/ChartsText.js +2 -0
- package/modern/ChartsTooltip/ChartsTooltip.js +2 -0
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -0
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -0
- package/modern/ChartsTooltip/index.js +4 -1
- package/modern/ChartsTooltip/useAxisTooltip.js +84 -0
- package/modern/ChartsTooltip/useItemTooltip.js +64 -0
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -0
- package/modern/ChartsXAxis/ChartsXAxis.js +2 -0
- package/modern/ChartsYAxis/ChartsYAxis.js +2 -0
- package/modern/Gauge/Gauge.js +2 -0
- package/modern/Gauge/GaugeContainer.js +2 -0
- package/modern/Gauge/GaugeReferenceArc.js +2 -0
- package/modern/Gauge/GaugeValueArc.js +2 -0
- package/modern/Gauge/GaugeValueText.js +2 -0
- package/modern/LineChart/AnimatedArea.js +2 -0
- package/modern/LineChart/AnimatedLine.js +14 -22
- package/modern/LineChart/AreaElement.js +2 -0
- package/modern/LineChart/AreaPlot.js +2 -0
- package/modern/LineChart/CircleMarkElement.js +107 -0
- package/modern/LineChart/LineChart.js +17 -0
- package/modern/LineChart/LineElement.js +2 -0
- package/modern/LineChart/LineHighlightElement.js +2 -0
- package/modern/LineChart/LineHighlightPlot.js +2 -0
- package/modern/LineChart/LinePlot.js +2 -0
- package/modern/LineChart/MarkElement.js +3 -19
- package/modern/LineChart/MarkPlot.js +13 -3
- package/modern/LineChart/index.js +2 -1
- package/modern/LineChart/legend.js +3 -2
- package/modern/LineChart/markElementClasses.js +19 -0
- package/modern/LineChart/useLineChartProps.js +7 -3
- package/modern/PieChart/PieArc.js +2 -0
- package/modern/PieChart/PieArcLabel.js +2 -0
- package/modern/PieChart/PieArcLabelPlot.js +2 -0
- package/modern/PieChart/PieArcPlot.js +2 -0
- package/modern/PieChart/PieChart.js +13 -0
- package/modern/PieChart/PiePlot.js +2 -0
- package/modern/PieChart/dataTransform/useTransformData.js +2 -0
- package/modern/PieChart/legend.js +3 -1
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +12 -0
- package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +35 -9
- package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +5 -2
- package/modern/ScatterChart/Scatter.js +2 -0
- package/modern/ScatterChart/ScatterChart.js +13 -0
- package/modern/ScatterChart/ScatterPlot.js +2 -0
- package/modern/ScatterChart/legend.js +3 -2
- package/modern/ScatterChart/useScatterChartProps.js +2 -0
- package/modern/SparkLineChart/SparkLineChart.js +12 -0
- package/modern/context/CartesianProvider/CartesianProvider.js +5 -3
- package/modern/context/CartesianProvider/getAxisExtremum.js +5 -4
- package/modern/context/CartesianProvider/index.js +1 -6
- package/modern/context/CartesianProvider/useCartesianContext.js +2 -0
- package/modern/context/DrawingProvider.js +2 -0
- package/modern/context/HighlightedProvider/HighlightedProvider.js +2 -0
- package/modern/context/HighlightedProvider/useHighlighted.js +2 -0
- package/modern/context/HighlightedProvider/useItemHighlighted.js +2 -0
- package/modern/context/InteractionProvider.js +2 -0
- package/modern/context/PluginProvider/PluginContext.js +3 -1
- package/modern/context/PluginProvider/PluginProvider.js +2 -0
- package/modern/context/PluginProvider/index.js +3 -1
- package/modern/context/PluginProvider/mergePlugins.js +11 -1
- package/modern/context/PluginProvider/useColorProcessor.js +2 -0
- package/modern/context/PluginProvider/useRadiusExtremumGetter.js +17 -0
- package/modern/context/PluginProvider/useRotationExtremumGetter.js +17 -0
- package/modern/context/PluginProvider/useSeriesFormatter.js +2 -0
- package/modern/context/PolarProvider/Polar.types.js +1 -0
- package/modern/context/PolarProvider/PolarContext.js +13 -0
- package/modern/context/PolarProvider/PolarProvider.js +49 -0
- package/modern/context/PolarProvider/getAxisExtremum.js +20 -0
- package/modern/context/PolarProvider/index.js +0 -0
- package/modern/context/PolarProvider/usePolarContext.js +10 -0
- package/modern/context/SeriesProvider/SeriesProvider.js +2 -0
- package/modern/context/ZAxisContextProvider.js +2 -0
- package/modern/hooks/useAxis.js +2 -0
- package/modern/hooks/useAxisEvents.js +2 -0
- package/modern/hooks/useChartDimensions.js +2 -0
- package/modern/hooks/useChartId.js +2 -0
- package/modern/hooks/useColorScale.js +2 -0
- package/modern/hooks/useDrawingArea.js +2 -0
- package/modern/hooks/useInteractionItemProps.js +2 -0
- package/modern/hooks/useMounted.js +2 -0
- package/modern/hooks/useReducedMotion.js +2 -0
- package/modern/hooks/useScale.js +2 -0
- package/modern/hooks/useSeries.js +2 -0
- package/modern/hooks/useSvgRef.js +2 -0
- package/modern/hooks/useTicks.js +2 -0
- package/modern/index.js +1 -1
- package/{context/CartesianProvider/computeValue.js → modern/internals/computeAxisValue.js} +28 -15
- package/modern/internals/index.js +1 -0
- package/node/BarChart/BarChart.js +12 -0
- package/node/BarChart/BarElement.js +1 -0
- package/node/BarChart/BarLabel/BarLabel.js +1 -0
- package/node/BarChart/BarPlot.js +1 -0
- package/node/BarChart/legend.js +3 -2
- package/node/BarChart/useBarChartProps.js +1 -0
- package/node/ChartContainer/ChartContainer.js +1 -0
- package/node/ChartContainer/useChartContainerProps.js +1 -0
- package/node/ChartContainer/useDefaultizeAxis.js +1 -0
- package/node/ChartsAxis/ChartsAxis.js +1 -0
- package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -0
- package/node/ChartsClipPath/ChartsClipPath.js +1 -0
- package/node/ChartsGrid/ChartsGrid.js +1 -0
- package/node/ChartsLegend/ChartsLegend.js +10 -1
- package/node/ChartsLegend/ChartsLegendItem.js +72 -0
- package/node/ChartsLegend/ContinuousColorLegend.js +1 -0
- package/node/ChartsLegend/DefaultChartsLegend.js +25 -4
- package/node/ChartsLegend/LegendPerItem.js +18 -28
- package/node/ChartsLegend/PiecewiseColorLegend.js +27 -7
- package/node/ChartsLegend/chartsLegendClasses.js +1 -1
- package/node/ChartsLegend/useAxis.js +1 -0
- package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -1
- package/node/ChartsOverlay/ChartsLoadingOverlay.js +1 -0
- package/node/ChartsOverlay/ChartsNoDataOverlay.js +1 -0
- package/node/ChartsOverlay/ChartsOverlay.js +1 -0
- package/node/ChartsReferenceLine/ChartsReferenceLine.js +1 -0
- package/node/ChartsReferenceLine/ChartsXReferenceLine.js +2 -1
- package/node/ChartsReferenceLine/ChartsYReferenceLine.js +2 -1
- package/node/ChartsSurface/ChartsSurface.js +1 -0
- package/node/ChartsText/ChartsText.js +1 -0
- package/node/ChartsTooltip/ChartsTooltip.js +1 -0
- package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -0
- package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -0
- package/node/ChartsTooltip/index.js +42 -1
- package/node/ChartsTooltip/useAxisTooltip.js +90 -0
- package/node/ChartsTooltip/useItemTooltip.js +71 -0
- package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -0
- package/node/ChartsXAxis/ChartsXAxis.js +1 -0
- package/node/ChartsYAxis/ChartsYAxis.js +1 -0
- package/node/Gauge/Gauge.js +1 -0
- package/node/Gauge/GaugeContainer.js +1 -0
- package/node/Gauge/GaugeReferenceArc.js +1 -0
- package/node/Gauge/GaugeValueArc.js +1 -0
- package/node/Gauge/GaugeValueText.js +1 -0
- package/node/LineChart/AnimatedArea.js +1 -0
- package/node/LineChart/AnimatedLine.js +13 -22
- package/node/LineChart/AreaElement.js +1 -0
- package/node/LineChart/AreaPlot.js +1 -0
- package/node/LineChart/CircleMarkElement.js +113 -0
- package/node/LineChart/LineChart.js +16 -0
- package/node/LineChart/LineElement.js +1 -0
- package/node/LineChart/LineHighlightElement.js +1 -0
- package/node/LineChart/LineHighlightPlot.js +1 -0
- package/node/LineChart/LinePlot.js +1 -0
- package/node/LineChart/MarkElement.js +3 -22
- package/node/LineChart/MarkPlot.js +12 -3
- package/node/LineChart/index.js +29 -1
- package/node/LineChart/legend.js +3 -2
- package/node/LineChart/markElementClasses.js +28 -0
- package/node/LineChart/useLineChartProps.js +6 -3
- package/node/PieChart/PieArc.js +1 -0
- package/node/PieChart/PieArcLabel.js +1 -0
- package/node/PieChart/PieArcLabelPlot.js +1 -0
- package/node/PieChart/PieArcPlot.js +1 -0
- package/node/PieChart/PieChart.js +12 -0
- package/node/PieChart/PiePlot.js +1 -0
- package/node/PieChart/dataTransform/useTransformData.js +1 -0
- package/node/PieChart/legend.js +3 -1
- package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +11 -0
- package/node/ResponsiveChartContainer/useChartContainerDimensions.js +34 -9
- package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +4 -2
- package/node/ScatterChart/Scatter.js +1 -0
- package/node/ScatterChart/ScatterChart.js +12 -0
- package/node/ScatterChart/ScatterPlot.js +1 -0
- package/node/ScatterChart/legend.js +3 -2
- package/node/ScatterChart/useScatterChartProps.js +1 -0
- package/node/SparkLineChart/SparkLineChart.js +11 -0
- package/node/context/CartesianProvider/CartesianProvider.js +4 -3
- package/node/context/CartesianProvider/getAxisExtremum.js +5 -4
- package/node/context/CartesianProvider/index.js +1 -13
- package/node/context/CartesianProvider/useCartesianContext.js +1 -0
- package/node/context/DrawingProvider.js +1 -0
- package/node/context/HighlightedProvider/HighlightedProvider.js +1 -0
- package/node/context/HighlightedProvider/useHighlighted.js +1 -0
- package/node/context/HighlightedProvider/useItemHighlighted.js +1 -0
- package/node/context/InteractionProvider.js +1 -0
- package/node/context/PluginProvider/PluginContext.js +3 -1
- package/node/context/PluginProvider/PluginProvider.js +1 -0
- package/node/context/PluginProvider/index.js +22 -0
- package/node/context/PluginProvider/mergePlugins.js +11 -1
- package/node/context/PluginProvider/useColorProcessor.js +1 -0
- package/node/context/PluginProvider/useRadiusExtremumGetter.js +23 -0
- package/node/context/PluginProvider/useRotationExtremumGetter.js +23 -0
- package/node/context/PluginProvider/useSeriesFormatter.js +1 -0
- package/node/context/PolarProvider/Polar.types.js +5 -0
- package/node/context/PolarProvider/PolarContext.js +20 -0
- package/node/context/PolarProvider/PolarProvider.js +54 -0
- package/node/context/PolarProvider/getAxisExtremum.js +27 -0
- package/node/context/PolarProvider/index.js +1 -0
- package/node/context/PolarProvider/usePolarContext.js +17 -0
- package/node/context/SeriesProvider/SeriesProvider.js +1 -0
- package/node/context/ZAxisContextProvider.js +1 -0
- package/node/hooks/useAxis.js +1 -0
- package/node/hooks/useAxisEvents.js +1 -0
- package/node/hooks/useChartDimensions.js +1 -0
- package/node/hooks/useChartId.js +1 -0
- package/node/hooks/useColorScale.js +1 -0
- package/node/hooks/useDrawingArea.js +1 -0
- package/node/hooks/useInteractionItemProps.js +1 -0
- package/node/hooks/useMounted.js +1 -0
- package/node/hooks/useReducedMotion.js +1 -0
- package/node/hooks/useScale.js +1 -0
- package/node/hooks/useSeries.js +1 -0
- package/node/hooks/useSvgRef.js +1 -0
- package/node/hooks/useTicks.js +1 -0
- package/node/index.js +1 -1
- package/node/{context/CartesianProvider/computeValue.js → internals/computeAxisValue.js} +29 -16
- package/node/internals/index.js +12 -0
- package/package.json +4 -4
- package/context/CartesianProvider/computeValue.d.ts +0 -30
- package/internals/warning.d.ts +0 -2
- package/internals/warning.js +0 -21
- package/modern/internals/warning.js +0 -21
- package/node/internals/warning.js +0 -28
package/LineChart/AreaPlot.js
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MarkElementOwnerState } from './markElementClasses';
|
|
3
|
+
export type CircleMarkElementProps = Omit<MarkElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.SVGProps<SVGPathElement>, 'ref' | 'id'> & {
|
|
4
|
+
/**
|
|
5
|
+
* The shape of the marker.
|
|
6
|
+
*/
|
|
7
|
+
shape: 'circle' | 'cross' | 'diamond' | 'square' | 'star' | 'triangle' | 'wye';
|
|
8
|
+
/**
|
|
9
|
+
* If `true`, animations are skipped.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
skipAnimation?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The index to the element in the series' data array.
|
|
15
|
+
*/
|
|
16
|
+
dataIndex: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The line mark element that only render circle for performance improvement.
|
|
20
|
+
*
|
|
21
|
+
* Demos:
|
|
22
|
+
*
|
|
23
|
+
* - [Lines](https://mui.com/x/react-charts/lines/)
|
|
24
|
+
* - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
|
|
25
|
+
*
|
|
26
|
+
* API:
|
|
27
|
+
*
|
|
28
|
+
* - [CircleMarkElement API](https://mui.com/x/api/charts/circle-mark-element/)
|
|
29
|
+
*/
|
|
30
|
+
declare function CircleMarkElement(props: CircleMarkElementProps): React.JSX.Element;
|
|
31
|
+
declare namespace CircleMarkElement {
|
|
32
|
+
var propTypes: any;
|
|
33
|
+
}
|
|
34
|
+
export { CircleMarkElement };
|
|
@@ -0,0 +1,107 @@
|
|
|
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 = ["x", "y", "id", "classes", "color", "dataIndex", "onClick", "skipAnimation", "shape"];
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { useTheme } from '@mui/material/styles';
|
|
9
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
10
|
+
import { animated, useSpring } from '@react-spring/web';
|
|
11
|
+
import { InteractionContext } from "../context/InteractionProvider.js";
|
|
12
|
+
import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
|
|
13
|
+
import { useItemHighlighted } from "../context/index.js";
|
|
14
|
+
import { useUtilityClasses } from "./markElementClasses.js";
|
|
15
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
+
/**
|
|
17
|
+
* The line mark element that only render circle for performance improvement.
|
|
18
|
+
*
|
|
19
|
+
* Demos:
|
|
20
|
+
*
|
|
21
|
+
* - [Lines](https://mui.com/x/react-charts/lines/)
|
|
22
|
+
* - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
|
|
23
|
+
*
|
|
24
|
+
* API:
|
|
25
|
+
*
|
|
26
|
+
* - [CircleMarkElement API](https://mui.com/x/api/charts/circle-mark-element/)
|
|
27
|
+
*/
|
|
28
|
+
function CircleMarkElement(props) {
|
|
29
|
+
const {
|
|
30
|
+
x,
|
|
31
|
+
y,
|
|
32
|
+
id,
|
|
33
|
+
classes: innerClasses,
|
|
34
|
+
color,
|
|
35
|
+
dataIndex,
|
|
36
|
+
onClick,
|
|
37
|
+
skipAnimation,
|
|
38
|
+
shape
|
|
39
|
+
} = props,
|
|
40
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
41
|
+
if (shape !== 'circle') {
|
|
42
|
+
warnOnce([`MUI X: The mark element of your line chart have shape "${shape}" which is not supported when using \`experimentalRendering=true\`.`, 'Only "circle" are supported with `experimentalRendering`.'].join('\n'), 'error');
|
|
43
|
+
}
|
|
44
|
+
const theme = useTheme();
|
|
45
|
+
const getInteractionItemProps = useInteractionItemProps();
|
|
46
|
+
const {
|
|
47
|
+
isFaded,
|
|
48
|
+
isHighlighted
|
|
49
|
+
} = useItemHighlighted({
|
|
50
|
+
seriesId: id
|
|
51
|
+
});
|
|
52
|
+
const {
|
|
53
|
+
axis
|
|
54
|
+
} = React.useContext(InteractionContext);
|
|
55
|
+
const position = useSpring({
|
|
56
|
+
to: {
|
|
57
|
+
x,
|
|
58
|
+
y
|
|
59
|
+
},
|
|
60
|
+
immediate: skipAnimation
|
|
61
|
+
});
|
|
62
|
+
const ownerState = {
|
|
63
|
+
id,
|
|
64
|
+
classes: innerClasses,
|
|
65
|
+
isHighlighted: axis.x?.index === dataIndex || isHighlighted,
|
|
66
|
+
isFaded,
|
|
67
|
+
color
|
|
68
|
+
};
|
|
69
|
+
const classes = useUtilityClasses(ownerState);
|
|
70
|
+
return /*#__PURE__*/_jsx(animated.circle, _extends({}, other, {
|
|
71
|
+
cx: position.x,
|
|
72
|
+
cy: position.y,
|
|
73
|
+
r: 5,
|
|
74
|
+
fill: (theme.vars || theme).palette.background.paper,
|
|
75
|
+
stroke: color,
|
|
76
|
+
strokeWidth: 2,
|
|
77
|
+
className: classes.root,
|
|
78
|
+
onClick: onClick,
|
|
79
|
+
cursor: onClick ? 'pointer' : 'unset'
|
|
80
|
+
}, getInteractionItemProps({
|
|
81
|
+
type: 'line',
|
|
82
|
+
seriesId: id,
|
|
83
|
+
dataIndex
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
process.env.NODE_ENV !== "production" ? CircleMarkElement.propTypes = {
|
|
87
|
+
// ----------------------------- Warning --------------------------------
|
|
88
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
89
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
90
|
+
// ----------------------------------------------------------------------
|
|
91
|
+
classes: PropTypes.object,
|
|
92
|
+
/**
|
|
93
|
+
* The index to the element in the series' data array.
|
|
94
|
+
*/
|
|
95
|
+
dataIndex: PropTypes.number.isRequired,
|
|
96
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
97
|
+
/**
|
|
98
|
+
* The shape of the marker.
|
|
99
|
+
*/
|
|
100
|
+
shape: PropTypes.oneOf(['circle', 'cross', 'diamond', 'square', 'star', 'triangle', 'wye']).isRequired,
|
|
101
|
+
/**
|
|
102
|
+
* If `true`, animations are skipped.
|
|
103
|
+
* @default false
|
|
104
|
+
*/
|
|
105
|
+
skipAnimation: PropTypes.bool
|
|
106
|
+
} : void 0;
|
|
107
|
+
export { CircleMarkElement };
|
package/LineChart/LineChart.d.ts
CHANGED
|
@@ -75,6 +75,10 @@ export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'ser
|
|
|
75
75
|
* @default false
|
|
76
76
|
*/
|
|
77
77
|
skipAnimation?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* If `true` marks will render `<circle />` instead of `<path />` and drop theme override for faster rendering.
|
|
80
|
+
*/
|
|
81
|
+
experimentalMarkRendering?: boolean;
|
|
78
82
|
}
|
|
79
83
|
/**
|
|
80
84
|
* Demos:
|
package/LineChart/LineChart.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
@@ -102,6 +104,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
102
104
|
* If `true`, render the line highlight item.
|
|
103
105
|
*/
|
|
104
106
|
disableLineItemHighlight: PropTypes.bool,
|
|
107
|
+
/**
|
|
108
|
+
* If `true` marks will render `<circle />` instead of `<path />` and drop theme override for faster rendering.
|
|
109
|
+
*/
|
|
110
|
+
experimentalMarkRendering: PropTypes.bool,
|
|
105
111
|
/**
|
|
106
112
|
* Option to display a cartesian grid in the background.
|
|
107
113
|
*/
|
|
@@ -138,6 +144,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
138
144
|
itemMarkWidth: PropTypes.number,
|
|
139
145
|
labelStyle: PropTypes.object,
|
|
140
146
|
markGap: PropTypes.number,
|
|
147
|
+
onItemClick: PropTypes.func,
|
|
141
148
|
padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
142
149
|
bottom: PropTypes.number,
|
|
143
150
|
left: PropTypes.number,
|
|
@@ -193,6 +200,16 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
193
200
|
* Callback fired when a mark element is clicked.
|
|
194
201
|
*/
|
|
195
202
|
onMarkClick: PropTypes.func,
|
|
203
|
+
/**
|
|
204
|
+
* The chart will try to wait for the parent container to resolve its size
|
|
205
|
+
* before it renders for the first time.
|
|
206
|
+
*
|
|
207
|
+
* This can be useful in some scenarios where the chart appear to grow after
|
|
208
|
+
* the first render, like when used inside a grid.
|
|
209
|
+
*
|
|
210
|
+
* @default false
|
|
211
|
+
*/
|
|
212
|
+
resolveSizeBeforeRender: PropTypes.bool,
|
|
196
213
|
/**
|
|
197
214
|
* Indicate which axis to display the right of the charts.
|
|
198
215
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
package/LineChart/LineElement.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
|
package/LineChart/LinePlot.js
CHANGED
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
export interface MarkElementClasses {
|
|
4
|
-
/** Styles applied to the root element. */
|
|
5
|
-
root: string;
|
|
6
|
-
/** Styles applied to the root element when highlighted. */
|
|
7
|
-
highlighted: string;
|
|
8
|
-
/** Styles applied to the root element when faded. */
|
|
9
|
-
faded: string;
|
|
10
|
-
}
|
|
11
|
-
export type MarkElementClassKey = keyof MarkElementClasses;
|
|
12
|
-
interface MarkElementOwnerState {
|
|
13
|
-
id: SeriesId;
|
|
14
|
-
color: string;
|
|
15
|
-
isFaded: boolean;
|
|
16
|
-
isHighlighted: boolean;
|
|
17
|
-
classes?: Partial<MarkElementClasses>;
|
|
18
|
-
}
|
|
19
|
-
export declare function getMarkElementUtilityClass(slot: string): string;
|
|
20
|
-
export declare const markElementClasses: MarkElementClasses;
|
|
2
|
+
import { MarkElementOwnerState } from './markElementClasses';
|
|
21
3
|
export type MarkElementProps = Omit<MarkElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.SVGProps<SVGPathElement>, 'ref' | 'id'> & {
|
|
22
4
|
/**
|
|
23
5
|
* If `true`, animations are skipped.
|
package/LineChart/MarkElement.js
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "onClick", "skipAnimation"];
|
|
4
6
|
import * as React from 'react';
|
|
5
7
|
import PropTypes from 'prop-types';
|
|
6
|
-
import composeClasses from '@mui/utils/composeClasses';
|
|
7
|
-
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
|
-
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
10
9
|
import { symbol as d3Symbol, symbolsFill as d3SymbolsFill } from '@mui/x-charts-vendor/d3-shape';
|
|
11
10
|
import { animated, to, useSpring } from '@react-spring/web';
|
|
12
11
|
import { getSymbol } from "../internals/getSymbol.js";
|
|
13
12
|
import { InteractionContext } from "../context/InteractionProvider.js";
|
|
14
13
|
import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
|
|
15
14
|
import { useItemHighlighted } from "../context/index.js";
|
|
15
|
+
import { useUtilityClasses } from "./markElementClasses.js";
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
export function getMarkElementUtilityClass(slot) {
|
|
18
|
-
return generateUtilityClass('MuiMarkElement', slot);
|
|
19
|
-
}
|
|
20
|
-
export const markElementClasses = generateUtilityClasses('MuiMarkElement', ['root', 'highlighted', 'faded']);
|
|
21
|
-
const useUtilityClasses = ownerState => {
|
|
22
|
-
const {
|
|
23
|
-
classes,
|
|
24
|
-
id,
|
|
25
|
-
isFaded,
|
|
26
|
-
isHighlighted
|
|
27
|
-
} = ownerState;
|
|
28
|
-
const slots = {
|
|
29
|
-
root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
|
|
30
|
-
};
|
|
31
|
-
return composeClasses(slots, getMarkElementUtilityClass, classes);
|
|
32
|
-
};
|
|
33
17
|
const MarkElementPath = styled(animated.path, {
|
|
34
18
|
name: 'MuiMarkElement',
|
|
35
19
|
slot: 'Root',
|
package/LineChart/MarkPlot.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export interface MarkPlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<
|
|
|
24
24
|
* @param {LineItemIdentifier} lineItemIdentifier The line mark item identifier.
|
|
25
25
|
*/
|
|
26
26
|
onItemClick?: (event: React.MouseEvent<SVGElement, MouseEvent>, lineItemIdentifier: LineItemIdentifier) => void;
|
|
27
|
+
/**
|
|
28
|
+
* If `true` the mark element will only be able to render circle.
|
|
29
|
+
* Giving fewer customization options, but saving around 40ms per 1.000 marks.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
experimentalRendering?: boolean;
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
29
35
|
* Demos:
|
package/LineChart/MarkPlot.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
|
|
5
|
+
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick", "experimentalRendering"];
|
|
4
6
|
import * as React from 'react';
|
|
5
7
|
import PropTypes from 'prop-types';
|
|
6
8
|
import { useCartesianContext } from "../context/CartesianProvider/index.js";
|
|
@@ -12,6 +14,7 @@ import { cleanId } from "../internals/cleanId.js";
|
|
|
12
14
|
import getColor from "./getColor.js";
|
|
13
15
|
import { useLineSeries } from "../hooks/useSeries.js";
|
|
14
16
|
import { useDrawingArea } from "../hooks/useDrawingArea.js";
|
|
17
|
+
import { CircleMarkElement } from "./CircleMarkElement.js";
|
|
15
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
19
|
/**
|
|
17
20
|
* Demos:
|
|
@@ -28,14 +31,15 @@ function MarkPlot(props) {
|
|
|
28
31
|
slots,
|
|
29
32
|
slotProps,
|
|
30
33
|
skipAnimation,
|
|
31
|
-
onItemClick
|
|
34
|
+
onItemClick,
|
|
35
|
+
experimentalRendering
|
|
32
36
|
} = props,
|
|
33
37
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
34
38
|
const seriesData = useLineSeries();
|
|
35
39
|
const axisData = useCartesianContext();
|
|
36
40
|
const chartId = useChartId();
|
|
37
41
|
const drawingArea = useDrawingArea();
|
|
38
|
-
const Mark = slots?.mark ?? MarkElement;
|
|
42
|
+
const Mark = slots?.mark ?? (experimentalRendering ? CircleMarkElement : MarkElement);
|
|
39
43
|
if (seriesData === undefined) {
|
|
40
44
|
return null;
|
|
41
45
|
}
|
|
@@ -149,6 +153,12 @@ process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
|
|
|
149
153
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
150
154
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
151
155
|
// ----------------------------------------------------------------------
|
|
156
|
+
/**
|
|
157
|
+
* If `true` the mark element will only be able to render circle.
|
|
158
|
+
* Giving fewer customization options, but saving around 40ms per 1.000 marks.
|
|
159
|
+
* @default false
|
|
160
|
+
*/
|
|
161
|
+
experimentalRendering: PropTypes.bool,
|
|
152
162
|
/**
|
|
153
163
|
* Callback fired when a line mark item is clicked.
|
|
154
164
|
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
package/LineChart/index.d.ts
CHANGED
|
@@ -9,3 +9,5 @@ export * from './LineElement';
|
|
|
9
9
|
export * from './AnimatedLine';
|
|
10
10
|
export * from './MarkElement';
|
|
11
11
|
export * from './LineHighlightElement';
|
|
12
|
+
export type { MarkElementClasses, MarkElementClassKey } from './markElementClasses';
|
|
13
|
+
export { getMarkElementUtilityClass, markElementClasses } from './markElementClasses';
|
package/LineChart/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export * from "./AnimatedArea.js";
|
|
|
8
8
|
export * from "./LineElement.js";
|
|
9
9
|
export * from "./AnimatedLine.js";
|
|
10
10
|
export * from "./MarkElement.js";
|
|
11
|
-
export * from "./LineHighlightElement.js";
|
|
11
|
+
export * from "./LineHighlightElement.js";
|
|
12
|
+
export { getMarkElementUtilityClass, markElementClasses } from "./markElementClasses.js";
|
package/LineChart/legend.js
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SeriesId } from '../models/seriesType/common';
|
|
2
|
+
export interface MarkElementClasses {
|
|
3
|
+
/** Styles applied to the root element. */
|
|
4
|
+
root: string;
|
|
5
|
+
/** Styles applied to the root element when highlighted. */
|
|
6
|
+
highlighted: string;
|
|
7
|
+
/** Styles applied to the root element when faded. */
|
|
8
|
+
faded: string;
|
|
9
|
+
}
|
|
10
|
+
export type MarkElementClassKey = keyof MarkElementClasses;
|
|
11
|
+
export interface MarkElementOwnerState {
|
|
12
|
+
id: SeriesId;
|
|
13
|
+
color: string;
|
|
14
|
+
isFaded: boolean;
|
|
15
|
+
isHighlighted: boolean;
|
|
16
|
+
classes?: Partial<MarkElementClasses>;
|
|
17
|
+
}
|
|
18
|
+
export declare function getMarkElementUtilityClass(slot: string): string;
|
|
19
|
+
export declare const markElementClasses: MarkElementClasses;
|
|
20
|
+
export declare const useUtilityClasses: (ownerState: MarkElementOwnerState) => Record<"root", string>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
2
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
3
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
4
|
+
export function getMarkElementUtilityClass(slot) {
|
|
5
|
+
return generateUtilityClass('MuiMarkElement', slot);
|
|
6
|
+
}
|
|
7
|
+
export const markElementClasses = generateUtilityClasses('MuiMarkElement', ['root', 'highlighted', 'faded']);
|
|
8
|
+
export const useUtilityClasses = ownerState => {
|
|
9
|
+
const {
|
|
10
|
+
classes,
|
|
11
|
+
id,
|
|
12
|
+
isFaded,
|
|
13
|
+
isHighlighted
|
|
14
|
+
} = ownerState;
|
|
15
|
+
const slots = {
|
|
16
|
+
root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
|
|
17
|
+
};
|
|
18
|
+
return composeClasses(slots, getMarkElementUtilityClass, classes);
|
|
19
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
5
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
|
|
4
6
|
import useId from '@mui/utils/useId';
|
|
5
7
|
import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
|
|
6
8
|
/**
|
|
@@ -41,7 +43,8 @@ export const useLineChartProps = props => {
|
|
|
41
43
|
loading,
|
|
42
44
|
highlightedItem,
|
|
43
45
|
onHighlightChange,
|
|
44
|
-
className
|
|
46
|
+
className,
|
|
47
|
+
experimentalMarkRendering
|
|
45
48
|
} = props,
|
|
46
49
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
47
50
|
const id = useId();
|
|
@@ -99,7 +102,8 @@ export const useLineChartProps = props => {
|
|
|
99
102
|
slots,
|
|
100
103
|
slotProps,
|
|
101
104
|
onItemClick: onMarkClick,
|
|
102
|
-
skipAnimation
|
|
105
|
+
skipAnimation,
|
|
106
|
+
experimentalRendering: experimentalMarkRendering
|
|
103
107
|
};
|
|
104
108
|
const overlayProps = {
|
|
105
109
|
slots,
|
package/PieChart/PieArc.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle", "highlightScope"];
|
package/PieChart/PieArcLabel.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
5
|
const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadius", "data", "faded", "highlighted", "id", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "slotProps", "slots"],
|
package/PieChart/PieArcPlot.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
|
package/PieChart/PieChart.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
5
|
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "tooltip", "axisHighlight", "skipAnimation", "legend", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "onItemClick", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
@@ -197,6 +199,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
197
199
|
itemMarkWidth: PropTypes.number,
|
|
198
200
|
labelStyle: PropTypes.object,
|
|
199
201
|
markGap: PropTypes.number,
|
|
202
|
+
onItemClick: PropTypes.func,
|
|
200
203
|
padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
201
204
|
bottom: PropTypes.number,
|
|
202
205
|
left: PropTypes.number,
|
|
@@ -237,6 +240,16 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
237
240
|
* Callback fired when a pie arc is clicked.
|
|
238
241
|
*/
|
|
239
242
|
onItemClick: PropTypes.func,
|
|
243
|
+
/**
|
|
244
|
+
* The chart will try to wait for the parent container to resolve its size
|
|
245
|
+
* before it renders for the first time.
|
|
246
|
+
*
|
|
247
|
+
* This can be useful in some scenarios where the chart appear to grow after
|
|
248
|
+
* the first render, like when used inside a grid.
|
|
249
|
+
*
|
|
250
|
+
* @default false
|
|
251
|
+
*/
|
|
252
|
+
resolveSizeBeforeRender: PropTypes.bool,
|
|
240
253
|
/**
|
|
241
254
|
* Indicate which axis to display the right of the charts.
|
|
242
255
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
package/PieChart/PiePlot.js
CHANGED
package/PieChart/legend.js
CHANGED
|
@@ -9,6 +9,16 @@ export interface ResponsiveChartContainerProps extends Omit<ChartContainerProps,
|
|
|
9
9
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
10
10
|
*/
|
|
11
11
|
height?: number;
|
|
12
|
+
/**
|
|
13
|
+
* The chart will try to wait for the parent container to resolve its size
|
|
14
|
+
* before it renders for the first time.
|
|
15
|
+
*
|
|
16
|
+
* This can be useful in some scenarios where the chart appear to grow after
|
|
17
|
+
* the first render, like when used inside a grid.
|
|
18
|
+
*
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
resolveSizeBeforeRender?: boolean;
|
|
12
22
|
}
|
|
13
23
|
declare const ResponsiveChartContainer: React.ForwardRefExoticComponent<ResponsiveChartContainerProps & React.RefAttributes<unknown>>;
|
|
14
24
|
export { ResponsiveChartContainer };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
@@ -72,6 +74,16 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
72
74
|
* If not provided, the container supports line, bar, scatter and pie charts.
|
|
73
75
|
*/
|
|
74
76
|
plugins: PropTypes.arrayOf(PropTypes.object),
|
|
77
|
+
/**
|
|
78
|
+
* The chart will try to wait for the parent container to resolve its size
|
|
79
|
+
* before it renders for the first time.
|
|
80
|
+
*
|
|
81
|
+
* This can be useful in some scenarios where the chart appear to grow after
|
|
82
|
+
* the first render, like when used inside a grid.
|
|
83
|
+
*
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
resolveSizeBeforeRender: PropTypes.bool,
|
|
75
87
|
/**
|
|
76
88
|
* The array of series to display.
|
|
77
89
|
* Each type of series has its own specificity.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const useChartContainerDimensions: (inWidth?: number, inHeight?: number) => {
|
|
2
|
+
export declare const useChartContainerDimensions: (inWidth?: number, inHeight?: number, resolveSizeBeforeRender?: boolean) => {
|
|
3
3
|
containerRef: React.MutableRefObject<null>;
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|