@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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useAxisTooltip = useAxisTooltip;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _InteractionProvider = require("../context/InteractionProvider");
|
|
11
|
+
var _useSeries = require("../hooks/useSeries");
|
|
12
|
+
var _CartesianProvider = require("../context/CartesianProvider");
|
|
13
|
+
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
14
|
+
var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
|
|
15
|
+
var _getLabel = require("../internals/getLabel");
|
|
16
|
+
var _isCartesian = require("../internals/isCartesian");
|
|
17
|
+
var _utils = require("./utils");
|
|
18
|
+
function useAxisTooltip() {
|
|
19
|
+
const {
|
|
20
|
+
axis
|
|
21
|
+
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
22
|
+
const series = (0, _useSeries.useSeries)();
|
|
23
|
+
const {
|
|
24
|
+
xAxis,
|
|
25
|
+
yAxis,
|
|
26
|
+
xAxisIds,
|
|
27
|
+
yAxisIds
|
|
28
|
+
} = (0, _CartesianProvider.useCartesianContext)();
|
|
29
|
+
const {
|
|
30
|
+
zAxis,
|
|
31
|
+
zAxisIds
|
|
32
|
+
} = React.useContext(_ZAxisContextProvider.ZAxisContext);
|
|
33
|
+
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
34
|
+
|
|
35
|
+
// By default use the x-axis
|
|
36
|
+
const isXaxis = axis.x !== null && axis.x.index !== -1;
|
|
37
|
+
const axisData = isXaxis ? axis.x && axis.x : axis.y && axis.y;
|
|
38
|
+
if (axisData === null) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const {
|
|
42
|
+
index: dataIndex,
|
|
43
|
+
value: axisValue
|
|
44
|
+
} = axisData;
|
|
45
|
+
const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
|
|
46
|
+
const usedAxis = isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
|
|
47
|
+
const relevantSeries = Object.keys(series).filter(_isCartesian.isCartesianSeriesType).flatMap(seriesType => {
|
|
48
|
+
const seriesOfType = series[seriesType];
|
|
49
|
+
if (!seriesOfType) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return seriesOfType.seriesOrder.map(seriesId => {
|
|
53
|
+
const seriesToAdd = seriesOfType.series[seriesId];
|
|
54
|
+
const providedXAxisId = seriesToAdd.xAxisId ?? seriesToAdd.xAxisKey;
|
|
55
|
+
const providedYAxisId = seriesToAdd.yAxisId ?? seriesToAdd.yAxisKey;
|
|
56
|
+
const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
|
|
57
|
+
|
|
58
|
+
// Test if the series uses the default axis
|
|
59
|
+
if (axisKey === undefined || axisKey === USED_AXIS_ID) {
|
|
60
|
+
const xAxisId = providedXAxisId ?? xAxisIds[0];
|
|
61
|
+
const yAxisId = providedYAxisId ?? yAxisIds[0];
|
|
62
|
+
const zAxisId = seriesToAdd.zAxisId ?? seriesToAdd.zAxisKey ?? zAxisIds[0];
|
|
63
|
+
const color = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId])(dataIndex) ?? '';
|
|
64
|
+
const value = seriesToAdd.data[dataIndex] ?? null;
|
|
65
|
+
const formattedValue = seriesToAdd.valueFormatter(value, {
|
|
66
|
+
dataIndex
|
|
67
|
+
});
|
|
68
|
+
const formattedLabel = (0, _getLabel.getLabel)(seriesToAdd.label, 'tooltip') ?? null;
|
|
69
|
+
return {
|
|
70
|
+
seriesId,
|
|
71
|
+
color,
|
|
72
|
+
value,
|
|
73
|
+
formattedValue,
|
|
74
|
+
formattedLabel
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
});
|
|
79
|
+
}).filter(item => item != null);
|
|
80
|
+
const axisFormatter = usedAxis.valueFormatter ?? (v => usedAxis.scaleType === 'utc' ? (0, _utils.utcFormatter)(v) : v.toLocaleString());
|
|
81
|
+
const axisFormattedValue = axisFormatter(axisValue, {
|
|
82
|
+
location: 'tooltip'
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
identifier: axis,
|
|
86
|
+
seriesItems: relevantSeries,
|
|
87
|
+
axisValue,
|
|
88
|
+
axisFormattedValue
|
|
89
|
+
};
|
|
90
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useItemTooltip = useItemTooltip;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _InteractionProvider = require("../context/InteractionProvider");
|
|
13
|
+
var _useSeries = require("../hooks/useSeries");
|
|
14
|
+
var _CartesianProvider = require("../context/CartesianProvider");
|
|
15
|
+
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
16
|
+
var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
|
|
17
|
+
var _getLabel = require("../internals/getLabel");
|
|
18
|
+
function useItemTooltip() {
|
|
19
|
+
const {
|
|
20
|
+
item
|
|
21
|
+
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
22
|
+
const series = (0, _useSeries.useSeries)();
|
|
23
|
+
const {
|
|
24
|
+
xAxis,
|
|
25
|
+
yAxis,
|
|
26
|
+
xAxisIds,
|
|
27
|
+
yAxisIds
|
|
28
|
+
} = (0, _CartesianProvider.useCartesianContext)();
|
|
29
|
+
const {
|
|
30
|
+
zAxis,
|
|
31
|
+
zAxisIds
|
|
32
|
+
} = React.useContext(_ZAxisContextProvider.ZAxisContext);
|
|
33
|
+
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
34
|
+
const xAxisId = series.xAxisId ?? series.xAxisKey ?? xAxisIds[0];
|
|
35
|
+
const yAxisId = series.yAxisId ?? series.yAxisKey ?? yAxisIds[0];
|
|
36
|
+
const zAxisId = series.zAxisId ?? series.zAxisKey ?? zAxisIds[0];
|
|
37
|
+
if (!item || item.dataIndex === undefined) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const itemSeries = series[item.type].series[item.seriesId];
|
|
41
|
+
const getColor = colorProcessors[itemSeries.type]?.(itemSeries, xAxisId && xAxis[xAxisId], yAxisId && yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
|
|
42
|
+
if (itemSeries.type === 'pie') {
|
|
43
|
+
const point = itemSeries.data[item.dataIndex];
|
|
44
|
+
const label = (0, _getLabel.getLabel)(point.label, 'tooltip');
|
|
45
|
+
const value = (0, _extends2.default)({}, point, {
|
|
46
|
+
label
|
|
47
|
+
});
|
|
48
|
+
const formattedValue = itemSeries.valueFormatter?.(value, {
|
|
49
|
+
dataIndex: item.dataIndex
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
identifier: item,
|
|
53
|
+
color: getColor(item.dataIndex),
|
|
54
|
+
label,
|
|
55
|
+
value,
|
|
56
|
+
formattedValue
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const label = (0, _getLabel.getLabel)(itemSeries.label, 'tooltip');
|
|
60
|
+
const value = itemSeries.data[item.dataIndex];
|
|
61
|
+
const formattedValue = itemSeries.valueFormatter?.(value, {
|
|
62
|
+
dataIndex: item.dataIndex
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
identifier: item,
|
|
66
|
+
color: getColor(item.dataIndex),
|
|
67
|
+
label,
|
|
68
|
+
value,
|
|
69
|
+
formattedValue
|
|
70
|
+
};
|
|
71
|
+
}
|
package/node/Gauge/Gauge.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -51,29 +52,19 @@ function AnimatedLine(props) {
|
|
|
51
52
|
ownerState
|
|
52
53
|
} = props,
|
|
53
54
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
54
|
-
const
|
|
55
|
-
left,
|
|
56
|
-
top,
|
|
57
|
-
bottom,
|
|
58
|
-
width,
|
|
59
|
-
height,
|
|
60
|
-
right
|
|
61
|
-
} = (0, _useDrawingArea.useDrawingArea)();
|
|
55
|
+
const drawingArea = (0, _useDrawingArea.useDrawingArea)();
|
|
62
56
|
const chartId = (0, _useChartId.useChartId)();
|
|
63
57
|
const stringInterpolator = (0, _useStringInterpolator.useStringInterpolator)(d);
|
|
64
|
-
const transitionAppear = (0, _web.useTransition)([
|
|
65
|
-
from: {
|
|
66
|
-
animatedWidth: left
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
animatedWidth: width + left + right
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
animatedWidth: width + left + right
|
|
73
|
-
},
|
|
74
|
-
leave: {
|
|
75
|
-
animatedWidth: left
|
|
76
|
-
},
|
|
58
|
+
const transitionAppear = (0, _web.useTransition)([drawingArea], {
|
|
59
|
+
from: v => ({
|
|
60
|
+
animatedWidth: v.left
|
|
61
|
+
}),
|
|
62
|
+
enter: v => ({
|
|
63
|
+
animatedWidth: v.width + v.left + v.right
|
|
64
|
+
}),
|
|
65
|
+
leave: v => ({
|
|
66
|
+
animatedWidth: v.width + v.left + v.right
|
|
67
|
+
}),
|
|
77
68
|
reset: false,
|
|
78
69
|
immediate: skipAnimation
|
|
79
70
|
});
|
|
@@ -98,7 +89,7 @@ function AnimatedLine(props) {
|
|
|
98
89
|
x: 0,
|
|
99
90
|
y: 0,
|
|
100
91
|
width: style.animatedWidth,
|
|
101
|
-
height: top + height + bottom
|
|
92
|
+
height: drawingArea.top + drawingArea.height + drawingArea.bottom
|
|
102
93
|
}))
|
|
103
94
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
104
95
|
clipPath: `url(#${clipId})`,
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.CircleMarkElement = CircleMarkElement;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _warning = require("@mui/x-internals/warning");
|
|
16
|
+
var _web = require("@react-spring/web");
|
|
17
|
+
var _InteractionProvider = require("../context/InteractionProvider");
|
|
18
|
+
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
19
|
+
var _context = require("../context");
|
|
20
|
+
var _markElementClasses = require("./markElementClasses");
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["x", "y", "id", "classes", "color", "dataIndex", "onClick", "skipAnimation", "shape"];
|
|
23
|
+
/**
|
|
24
|
+
* The line mark element that only render circle for performance improvement.
|
|
25
|
+
*
|
|
26
|
+
* Demos:
|
|
27
|
+
*
|
|
28
|
+
* - [Lines](https://mui.com/x/react-charts/lines/)
|
|
29
|
+
* - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
|
|
30
|
+
*
|
|
31
|
+
* API:
|
|
32
|
+
*
|
|
33
|
+
* - [CircleMarkElement API](https://mui.com/x/api/charts/circle-mark-element/)
|
|
34
|
+
*/
|
|
35
|
+
function CircleMarkElement(props) {
|
|
36
|
+
const {
|
|
37
|
+
x,
|
|
38
|
+
y,
|
|
39
|
+
id,
|
|
40
|
+
classes: innerClasses,
|
|
41
|
+
color,
|
|
42
|
+
dataIndex,
|
|
43
|
+
onClick,
|
|
44
|
+
skipAnimation,
|
|
45
|
+
shape
|
|
46
|
+
} = props,
|
|
47
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
48
|
+
if (shape !== 'circle') {
|
|
49
|
+
(0, _warning.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');
|
|
50
|
+
}
|
|
51
|
+
const theme = (0, _styles.useTheme)();
|
|
52
|
+
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)();
|
|
53
|
+
const {
|
|
54
|
+
isFaded,
|
|
55
|
+
isHighlighted
|
|
56
|
+
} = (0, _context.useItemHighlighted)({
|
|
57
|
+
seriesId: id
|
|
58
|
+
});
|
|
59
|
+
const {
|
|
60
|
+
axis
|
|
61
|
+
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
62
|
+
const position = (0, _web.useSpring)({
|
|
63
|
+
to: {
|
|
64
|
+
x,
|
|
65
|
+
y
|
|
66
|
+
},
|
|
67
|
+
immediate: skipAnimation
|
|
68
|
+
});
|
|
69
|
+
const ownerState = {
|
|
70
|
+
id,
|
|
71
|
+
classes: innerClasses,
|
|
72
|
+
isHighlighted: axis.x?.index === dataIndex || isHighlighted,
|
|
73
|
+
isFaded,
|
|
74
|
+
color
|
|
75
|
+
};
|
|
76
|
+
const classes = (0, _markElementClasses.useUtilityClasses)(ownerState);
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.circle, (0, _extends2.default)({}, other, {
|
|
78
|
+
cx: position.x,
|
|
79
|
+
cy: position.y,
|
|
80
|
+
r: 5,
|
|
81
|
+
fill: (theme.vars || theme).palette.background.paper,
|
|
82
|
+
stroke: color,
|
|
83
|
+
strokeWidth: 2,
|
|
84
|
+
className: classes.root,
|
|
85
|
+
onClick: onClick,
|
|
86
|
+
cursor: onClick ? 'pointer' : 'unset'
|
|
87
|
+
}, getInteractionItemProps({
|
|
88
|
+
type: 'line',
|
|
89
|
+
seriesId: id,
|
|
90
|
+
dataIndex
|
|
91
|
+
})));
|
|
92
|
+
}
|
|
93
|
+
process.env.NODE_ENV !== "production" ? CircleMarkElement.propTypes = {
|
|
94
|
+
// ----------------------------- Warning --------------------------------
|
|
95
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
96
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
97
|
+
// ----------------------------------------------------------------------
|
|
98
|
+
classes: _propTypes.default.object,
|
|
99
|
+
/**
|
|
100
|
+
* The index to the element in the series' data array.
|
|
101
|
+
*/
|
|
102
|
+
dataIndex: _propTypes.default.number.isRequired,
|
|
103
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
104
|
+
/**
|
|
105
|
+
* The shape of the marker.
|
|
106
|
+
*/
|
|
107
|
+
shape: _propTypes.default.oneOf(['circle', 'cross', 'diamond', 'square', 'star', 'triangle', 'wye']).isRequired,
|
|
108
|
+
/**
|
|
109
|
+
* If `true`, animations are skipped.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
skipAnimation: _propTypes.default.bool
|
|
113
|
+
} : void 0;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
@@ -110,6 +111,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
110
111
|
* If `true`, render the line highlight item.
|
|
111
112
|
*/
|
|
112
113
|
disableLineItemHighlight: _propTypes.default.bool,
|
|
114
|
+
/**
|
|
115
|
+
* If `true` marks will render `<circle />` instead of `<path />` and drop theme override for faster rendering.
|
|
116
|
+
*/
|
|
117
|
+
experimentalMarkRendering: _propTypes.default.bool,
|
|
113
118
|
/**
|
|
114
119
|
* Option to display a cartesian grid in the background.
|
|
115
120
|
*/
|
|
@@ -146,6 +151,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
146
151
|
itemMarkWidth: _propTypes.default.number,
|
|
147
152
|
labelStyle: _propTypes.default.object,
|
|
148
153
|
markGap: _propTypes.default.number,
|
|
154
|
+
onItemClick: _propTypes.default.func,
|
|
149
155
|
padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
|
|
150
156
|
bottom: _propTypes.default.number,
|
|
151
157
|
left: _propTypes.default.number,
|
|
@@ -201,6 +207,16 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
201
207
|
* Callback fired when a mark element is clicked.
|
|
202
208
|
*/
|
|
203
209
|
onMarkClick: _propTypes.default.func,
|
|
210
|
+
/**
|
|
211
|
+
* The chart will try to wait for the parent container to resolve its size
|
|
212
|
+
* before it renders for the first time.
|
|
213
|
+
*
|
|
214
|
+
* This can be useful in some scenarios where the chart appear to grow after
|
|
215
|
+
* the first render, like when used inside a grid.
|
|
216
|
+
*
|
|
217
|
+
* @default false
|
|
218
|
+
*/
|
|
219
|
+
resolveSizeBeforeRender: _propTypes.default.bool,
|
|
204
220
|
/**
|
|
205
221
|
* Indicate which axis to display the right of the charts.
|
|
206
222
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -6,40 +7,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
8
9
|
exports.MarkElement = MarkElement;
|
|
9
|
-
exports.getMarkElementUtilityClass = getMarkElementUtilityClass;
|
|
10
|
-
exports.markElementClasses = void 0;
|
|
11
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
11
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
12
|
var React = _interopRequireWildcard(require("react"));
|
|
14
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
-
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
17
14
|
var _styles = require("@mui/material/styles");
|
|
18
|
-
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
19
15
|
var _d3Shape = require("@mui/x-charts-vendor/d3-shape");
|
|
20
16
|
var _web = require("@react-spring/web");
|
|
21
17
|
var _getSymbol = require("../internals/getSymbol");
|
|
22
18
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
23
19
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
24
20
|
var _context = require("../context");
|
|
21
|
+
var _markElementClasses = require("./markElementClasses");
|
|
25
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
23
|
const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "onClick", "skipAnimation"];
|
|
27
|
-
function getMarkElementUtilityClass(slot) {
|
|
28
|
-
return (0, _generateUtilityClass.default)('MuiMarkElement', slot);
|
|
29
|
-
}
|
|
30
|
-
const markElementClasses = exports.markElementClasses = (0, _generateUtilityClasses.default)('MuiMarkElement', ['root', 'highlighted', 'faded']);
|
|
31
|
-
const useUtilityClasses = ownerState => {
|
|
32
|
-
const {
|
|
33
|
-
classes,
|
|
34
|
-
id,
|
|
35
|
-
isFaded,
|
|
36
|
-
isHighlighted
|
|
37
|
-
} = ownerState;
|
|
38
|
-
const slots = {
|
|
39
|
-
root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
|
|
40
|
-
};
|
|
41
|
-
return (0, _composeClasses.default)(slots, getMarkElementUtilityClass, classes);
|
|
42
|
-
};
|
|
43
24
|
const MarkElementPath = (0, _styles.styled)(_web.animated.path, {
|
|
44
25
|
name: 'MuiMarkElement',
|
|
45
26
|
slot: 'Root',
|
|
@@ -99,7 +80,7 @@ function MarkElement(props) {
|
|
|
99
80
|
isFaded,
|
|
100
81
|
color
|
|
101
82
|
};
|
|
102
|
-
const classes = useUtilityClasses(ownerState);
|
|
83
|
+
const classes = (0, _markElementClasses.useUtilityClasses)(ownerState);
|
|
103
84
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkElementPath, (0, _extends2.default)({}, other, {
|
|
104
85
|
style: {
|
|
105
86
|
transform: (0, _web.to)([position.x, position.y], (pX, pY) => `translate(${pX}px, ${pY}px)`),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -19,8 +20,9 @@ var _cleanId = require("../internals/cleanId");
|
|
|
19
20
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
20
21
|
var _useSeries = require("../hooks/useSeries");
|
|
21
22
|
var _useDrawingArea = require("../hooks/useDrawingArea");
|
|
23
|
+
var _CircleMarkElement = require("./CircleMarkElement");
|
|
22
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
|
|
25
|
+
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick", "experimentalRendering"];
|
|
24
26
|
/**
|
|
25
27
|
* Demos:
|
|
26
28
|
*
|
|
@@ -36,14 +38,15 @@ function MarkPlot(props) {
|
|
|
36
38
|
slots,
|
|
37
39
|
slotProps,
|
|
38
40
|
skipAnimation,
|
|
39
|
-
onItemClick
|
|
41
|
+
onItemClick,
|
|
42
|
+
experimentalRendering
|
|
40
43
|
} = props,
|
|
41
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
42
45
|
const seriesData = (0, _useSeries.useLineSeries)();
|
|
43
46
|
const axisData = (0, _CartesianProvider.useCartesianContext)();
|
|
44
47
|
const chartId = (0, _useChartId.useChartId)();
|
|
45
48
|
const drawingArea = (0, _useDrawingArea.useDrawingArea)();
|
|
46
|
-
const Mark = slots?.mark ?? _MarkElement.MarkElement;
|
|
49
|
+
const Mark = slots?.mark ?? (experimentalRendering ? _CircleMarkElement.CircleMarkElement : _MarkElement.MarkElement);
|
|
47
50
|
if (seriesData === undefined) {
|
|
48
51
|
return null;
|
|
49
52
|
}
|
|
@@ -157,6 +160,12 @@ process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
|
|
|
157
160
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
158
161
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
159
162
|
// ----------------------------------------------------------------------
|
|
163
|
+
/**
|
|
164
|
+
* If `true` the mark element will only be able to render circle.
|
|
165
|
+
* Giving fewer customization options, but saving around 40ms per 1.000 marks.
|
|
166
|
+
* @default false
|
|
167
|
+
*/
|
|
168
|
+
experimentalRendering: _propTypes.default.bool,
|
|
160
169
|
/**
|
|
161
170
|
* Callback fired when a line mark item is clicked.
|
|
162
171
|
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|