@mui/x-charts 9.7.0 → 9.9.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/AnimatedBarElement.d.mts +1 -1
- package/BarChart/AnimatedBarElement.d.ts +1 -1
- package/BarChart/BarClipPath.d.mts +1 -1
- package/BarChart/BarClipPath.d.ts +1 -1
- package/BarChart/BarElement.d.mts +1 -1
- package/BarChart/BarElement.d.ts +1 -1
- package/BarChart/BarLabel/BarLabelItem.d.mts +1 -1
- package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
- package/BarChart/BarLabel/BarLabelPlot.d.mts +2 -1
- package/BarChart/BarLabel/BarLabelPlot.d.ts +2 -1
- package/BarChart/BatchBarPlot/BarGroup.d.mts +1 -1
- package/BarChart/BatchBarPlot/BarGroup.d.ts +1 -1
- package/BarChart/BatchBarPlot/BatchBarPlot.d.mts +2 -1
- package/BarChart/BatchBarPlot/BatchBarPlot.d.ts +2 -1
- package/BarChart/FocusedBar.d.mts +1 -1
- package/BarChart/FocusedBar.d.ts +1 -1
- package/BarChart/IndividualBarPlot.d.mts +2 -1
- package/BarChart/IndividualBarPlot.d.ts +2 -1
- package/BarChart/seriesConfig/bar/tooltipPosition.d.mts +2 -3
- package/BarChart/seriesConfig/bar/tooltipPosition.d.ts +2 -3
- package/BarChart/seriesConfig/bar/tooltipPosition.js +19 -15
- package/BarChart/seriesConfig/bar/tooltipPosition.mjs +18 -14
- package/BarChart/seriesConfig/index.js +2 -2
- package/BarChart/seriesConfig/index.mjs +2 -2
- package/BarChart/useBarPlotData.d.mts +5 -1
- package/BarChart/useBarPlotData.d.ts +5 -1
- package/BarChart/useBarPlotData.js +102 -25
- package/BarChart/useBarPlotData.mjs +102 -26
- package/CHANGELOG.md +249 -1
- package/ChartsAxis/ChartsAxis.d.mts +2 -1
- package/ChartsAxis/ChartsAxis.d.ts +2 -1
- package/ChartsAxisHighlight/ChartsAxisHighlight.d.mts +2 -1
- package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +2 -1
- package/ChartsAxisHighlight/ChartsXAxisHighlight.d.mts +2 -1
- package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +2 -1
- package/ChartsAxisHighlight/ChartsXAxisHighlight.js +22 -5
- package/ChartsAxisHighlight/ChartsXAxisHighlight.mjs +23 -6
- package/ChartsAxisHighlight/ChartsYAxisHighlight.d.mts +2 -1
- package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +2 -1
- package/ChartsAxisHighlight/ChartsYAxisHighlight.js +22 -5
- package/ChartsAxisHighlight/ChartsYAxisHighlight.mjs +23 -6
- package/ChartsAxisHighlight/getSampledBandHighlight.d.mts +27 -0
- package/ChartsAxisHighlight/getSampledBandHighlight.d.ts +27 -0
- package/ChartsAxisHighlight/getSampledBandHighlight.js +35 -0
- package/ChartsAxisHighlight/getSampledBandHighlight.mjs +29 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.d.mts +1 -1
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.d.ts +1 -1
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.d.mts +2 -1
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.d.ts +2 -1
- package/ChartsBrushOverlay/ChartsBrushOverlay.d.mts +2 -1
- package/ChartsBrushOverlay/ChartsBrushOverlay.d.ts +2 -1
- package/ChartsClipPath/ChartsClipPath.d.mts +1 -1
- package/ChartsClipPath/ChartsClipPath.d.ts +1 -1
- package/ChartsDataProvider/ChartsDataProvider.d.mts +1 -1
- package/ChartsDataProvider/ChartsDataProvider.d.ts +1 -1
- package/ChartsGrid/ChartsGrid.d.mts +1 -1
- package/ChartsGrid/ChartsGrid.d.ts +1 -1
- package/ChartsGrid/ChartsHorizontalGrid.d.mts +2 -1
- package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -1
- package/ChartsGrid/ChartsVerticalGrid.d.mts +2 -1
- package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -1
- package/ChartsLocalizationProvider/ChartsLocalizationProvider.d.mts +1 -1
- package/ChartsLocalizationProvider/ChartsLocalizationProvider.d.ts +1 -1
- package/ChartsOverlay/ChartsLoadingOverlay.d.mts +1 -1
- package/ChartsOverlay/ChartsLoadingOverlay.d.ts +1 -1
- package/ChartsOverlay/ChartsNoDataOverlay.d.mts +1 -1
- package/ChartsOverlay/ChartsNoDataOverlay.d.ts +1 -1
- package/ChartsOverlay/ChartsOverlay.d.mts +1 -1
- package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.d.mts +2 -1
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.d.ts +2 -1
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.d.mts +2 -1
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.d.ts +2 -1
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.d.mts +2 -1
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.d.ts +2 -1
- package/ChartsRadialDataProvider/ChartsRadialDataProvider.d.mts +1 -1
- package/ChartsRadialDataProvider/ChartsRadialDataProvider.d.ts +1 -1
- package/ChartsRadialGrid/ChartsRadialGrid.d.mts +1 -1
- package/ChartsRadialGrid/ChartsRadialGrid.d.ts +1 -1
- package/ChartsRadialGrid/ChartsRadiusGrid.d.mts +2 -1
- package/ChartsRadialGrid/ChartsRadiusGrid.d.ts +2 -1
- package/ChartsRadialGrid/ChartsRotationGrid.d.mts +2 -1
- package/ChartsRadialGrid/ChartsRotationGrid.d.ts +2 -1
- package/ChartsRadiusAxis/ChartsRadiusAxis.d.mts +1 -1
- package/ChartsRadiusAxis/ChartsRadiusAxis.d.ts +1 -1
- package/ChartsReferenceLine/ChartsReferenceLine.d.mts +1 -1
- package/ChartsReferenceLine/ChartsReferenceLine.d.ts +1 -1
- package/ChartsReferenceLine/ChartsXReferenceLine.d.mts +1 -1
- package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +1 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.d.mts +1 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +1 -1
- package/ChartsRotationAxis/ChartsRotationAxis.d.mts +1 -1
- package/ChartsRotationAxis/ChartsRotationAxis.d.ts +1 -1
- package/ChartsText/ChartsText.d.mts +1 -1
- package/ChartsText/ChartsText.d.ts +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.d.mts +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -1
- package/ChartsTooltip/ChartsItemTooltipContent.d.mts +2 -1
- package/ChartsTooltip/ChartsItemTooltipContent.d.ts +2 -1
- package/ChartsTooltip/ChartsTooltip.d.mts +1 -1
- package/ChartsTooltip/ChartsTooltip.d.ts +1 -1
- package/ChartsTooltip/ChartsTooltipContainer.d.mts +1 -1
- package/ChartsTooltip/ChartsTooltipContainer.d.ts +1 -1
- package/ChartsTooltip/ChartsTooltipContainer.js +10 -3
- package/ChartsTooltip/ChartsTooltipContainer.mjs +11 -4
- package/ChartsXAxis/ChartsGroupedXAxisTicks.d.mts +2 -1
- package/ChartsXAxis/ChartsGroupedXAxisTicks.d.ts +2 -1
- package/ChartsXAxis/ChartsGroupedXAxisTicks.js +3 -13
- package/ChartsXAxis/ChartsGroupedXAxisTicks.mjs +2 -12
- package/ChartsXAxis/ChartsSingleXAxisTicks.d.mts +2 -1
- package/ChartsXAxis/ChartsSingleXAxisTicks.d.ts +2 -1
- package/ChartsXAxis/ChartsXAxis.d.mts +1 -1
- package/ChartsXAxis/ChartsXAxis.d.ts +1 -1
- package/ChartsXAxis/ChartsXAxisImpl.d.mts +2 -1
- package/ChartsXAxis/ChartsXAxisImpl.d.ts +2 -1
- package/ChartsYAxis/ChartsGroupedYAxisTicks.d.mts +2 -1
- package/ChartsYAxis/ChartsGroupedYAxisTicks.d.ts +2 -1
- package/ChartsYAxis/ChartsGroupedYAxisTicks.js +4 -16
- package/ChartsYAxis/ChartsGroupedYAxisTicks.mjs +3 -13
- package/ChartsYAxis/ChartsSingleYAxisTicks.d.mts +2 -1
- package/ChartsYAxis/ChartsSingleYAxisTicks.d.ts +2 -1
- package/ChartsYAxis/ChartsYAxis.d.mts +1 -1
- package/ChartsYAxis/ChartsYAxis.d.ts +1 -1
- package/ChartsYAxis/ChartsYAxisImpl.d.mts +2 -1
- package/ChartsYAxis/ChartsYAxisImpl.d.ts +2 -1
- package/Gauge/GaugeProvider.d.mts +1 -1
- package/Gauge/GaugeProvider.d.ts +1 -1
- package/Gauge/GaugeReferenceArc.d.mts +1 -1
- package/Gauge/GaugeReferenceArc.d.ts +1 -1
- package/Gauge/GaugeValueArc.d.mts +1 -1
- package/Gauge/GaugeValueArc.d.ts +1 -1
- package/Gauge/GaugeValueText.d.mts +1 -1
- package/Gauge/GaugeValueText.d.ts +1 -1
- package/LineChart/AnimatedArea.d.mts +1 -1
- package/LineChart/AnimatedArea.d.ts +1 -1
- package/LineChart/AppearingMask.d.mts +1 -1
- package/LineChart/AppearingMask.d.ts +1 -1
- package/LineChart/AreaElement.d.mts +1 -1
- package/LineChart/AreaElement.d.ts +1 -1
- package/LineChart/AreaPlot.d.mts +1 -1
- package/LineChart/AreaPlot.d.ts +1 -1
- package/LineChart/CircleMarkElement.d.mts +1 -1
- package/LineChart/CircleMarkElement.d.ts +1 -1
- package/LineChart/FocusedLineMark.d.mts +1 -1
- package/LineChart/FocusedLineMark.d.ts +1 -1
- package/LineChart/LineElement.d.mts +1 -1
- package/LineChart/LineElement.d.ts +1 -1
- package/LineChart/LineHighlightElement.d.mts +1 -1
- package/LineChart/LineHighlightElement.d.ts +1 -1
- package/LineChart/LineHighlightPlot.d.mts +1 -1
- package/LineChart/LineHighlightPlot.d.ts +1 -1
- package/LineChart/LinePlot.d.mts +1 -1
- package/LineChart/LinePlot.d.ts +1 -1
- package/LineChart/LinePlot.js +3 -2
- package/LineChart/LinePlot.mjs +3 -2
- package/LineChart/MarkElement.d.mts +1 -1
- package/LineChart/MarkElement.d.ts +1 -1
- package/LineChart/MarkPlot.d.mts +1 -1
- package/LineChart/MarkPlot.d.ts +1 -1
- package/LineChart/seriesConfig/index.js +2 -2
- package/LineChart/seriesConfig/index.mjs +2 -2
- package/LineChart/seriesConfig/tooltipPosition.d.mts +2 -3
- package/LineChart/seriesConfig/tooltipPosition.d.ts +2 -3
- package/LineChart/seriesConfig/tooltipPosition.js +14 -14
- package/LineChart/seriesConfig/tooltipPosition.mjs +13 -13
- package/LineChart/useLinePlotData.d.mts +13 -1
- package/LineChart/useLinePlotData.d.ts +13 -1
- package/LineChart/useLinePlotData.js +90 -33
- package/LineChart/useLinePlotData.mjs +92 -34
- package/PieChart/FocusedPieArc.d.mts +1 -1
- package/PieChart/FocusedPieArc.d.ts +1 -1
- package/PieChart/PieArcLabelPlot.d.mts +1 -1
- package/PieChart/PieArcLabelPlot.d.ts +1 -1
- package/PieChart/PieArcPlot.d.mts +1 -1
- package/PieChart/PieArcPlot.d.ts +1 -1
- package/PieChart/PiePlot.d.mts +1 -1
- package/PieChart/PiePlot.d.ts +1 -1
- package/PieChart/seriesConfig/index.js +2 -2
- package/PieChart/seriesConfig/index.mjs +2 -2
- package/PieChart/seriesConfig/tooltipPosition.d.mts +2 -3
- package/PieChart/seriesConfig/tooltipPosition.d.ts +2 -3
- package/PieChart/seriesConfig/tooltipPosition.js +7 -11
- package/PieChart/seriesConfig/tooltipPosition.mjs +6 -10
- package/RadarChart/FocusedRadarMark.d.mts +1 -1
- package/RadarChart/FocusedRadarMark.d.ts +1 -1
- package/RadarChart/RadarAxis/RadarAxis.d.mts +1 -1
- package/RadarChart/RadarAxis/RadarAxis.d.ts +1 -1
- package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.d.mts +1 -1
- package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.d.ts +1 -1
- package/RadarChart/RadarDataProvider/RadarDataProvider.d.mts +2 -1
- package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +2 -1
- package/RadarChart/RadarGrid/CircularRadarGrid.d.mts +2 -1
- package/RadarChart/RadarGrid/CircularRadarGrid.d.ts +2 -1
- package/RadarChart/RadarGrid/CircularRadarStripes.d.mts +2 -1
- package/RadarChart/RadarGrid/CircularRadarStripes.d.ts +2 -1
- package/RadarChart/RadarGrid/RadarGrid.d.mts +2 -1
- package/RadarChart/RadarGrid/RadarGrid.d.ts +2 -1
- package/RadarChart/RadarGrid/SharpRadarGrid.d.mts +2 -1
- package/RadarChart/RadarGrid/SharpRadarGrid.d.ts +2 -1
- package/RadarChart/RadarGrid/SharpRadarStripes.d.mts +2 -1
- package/RadarChart/RadarGrid/SharpRadarStripes.d.ts +2 -1
- package/RadarChart/RadarMetricLabels/RadarMetricLabels.d.mts +2 -1
- package/RadarChart/RadarMetricLabels/RadarMetricLabels.d.ts +2 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.mts +2 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +2 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.mts +2 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +2 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.mts +1 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +1 -1
- package/RadarChart/seriesConfig/index.js +2 -2
- package/RadarChart/seriesConfig/index.mjs +2 -2
- package/RadarChart/seriesConfig/tooltipPosition.d.mts +2 -3
- package/RadarChart/seriesConfig/tooltipPosition.d.ts +2 -3
- package/RadarChart/seriesConfig/tooltipPosition.js +9 -16
- package/RadarChart/seriesConfig/tooltipPosition.mjs +8 -15
- package/ScatterChart/BatchScatter.d.mts +2 -1
- package/ScatterChart/BatchScatter.d.ts +2 -1
- package/ScatterChart/FocusedScatterMark.d.mts +1 -1
- package/ScatterChart/FocusedScatterMark.d.ts +1 -1
- package/ScatterChart/HighlightedScatterMark.d.mts +1 -1
- package/ScatterChart/HighlightedScatterMark.d.ts +1 -1
- package/ScatterChart/Scatter.d.mts +1 -1
- package/ScatterChart/Scatter.d.ts +1 -1
- package/ScatterChart/ScatterMarker.d.mts +1 -1
- package/ScatterChart/ScatterMarker.d.ts +1 -1
- package/ScatterChart/ScatterPlot.d.mts +1 -1
- package/ScatterChart/ScatterPlot.d.ts +1 -1
- package/ScatterChart/async/ScatterAsync.d.mts +2 -1
- package/ScatterChart/async/ScatterAsync.d.ts +2 -1
- package/ScatterChart/async/ScatterAsyncBatch.d.mts +1 -1
- package/ScatterChart/async/ScatterAsyncBatch.d.ts +1 -1
- package/ScatterChart/seriesConfig/index.js +2 -2
- package/ScatterChart/seriesConfig/index.mjs +2 -2
- package/ScatterChart/seriesConfig/tooltipPosition.d.mts +2 -3
- package/ScatterChart/seriesConfig/tooltipPosition.d.ts +2 -3
- package/ScatterChart/seriesConfig/tooltipPosition.js +13 -13
- package/ScatterChart/seriesConfig/tooltipPosition.mjs +12 -12
- package/context/ChartsProvider/ChartsProvider.d.mts +1 -1
- package/context/ChartsProvider/ChartsProvider.d.ts +1 -1
- package/context/ChartsSlotsContext.d.mts +1 -1
- package/context/ChartsSlotsContext.d.ts +1 -1
- package/hooks/index.d.mts +2 -1
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +10 -2
- package/hooks/index.mjs +2 -1
- package/hooks/usePolarGeometry.d.mts +51 -0
- package/hooks/usePolarGeometry.d.ts +51 -0
- package/hooks/usePolarGeometry.js +47 -0
- package/hooks/usePolarGeometry.mjs +41 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/animation/animation.d.mts +1 -1
- package/internals/animation/animation.d.ts +1 -1
- package/internals/commonNextFocusItem.d.mts +15 -5
- package/internals/commonNextFocusItem.d.ts +15 -5
- package/internals/commonNextFocusItem.js +6 -0
- package/internals/commonNextFocusItem.mjs +7 -0
- package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.d.mts +2 -1
- package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.d.ts +2 -1
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.mts +2 -1
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +2 -1
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.mts +1 -1
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.ts +1 -1
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.d.mts +1 -1
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.d.ts +1 -1
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.mts +2 -1
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +2 -1
- package/internals/createCommonKeyboardFocusHandler.d.mts +5 -1
- package/internals/createCommonKeyboardFocusHandler.d.ts +5 -1
- package/internals/createGetBarDimensions.d.mts +14 -1
- package/internals/createGetBarDimensions.d.ts +14 -1
- package/internals/createGetBarDimensions.js +45 -0
- package/internals/createGetBarDimensions.mjs +45 -0
- package/internals/geometry.js +1 -1
- package/internals/geometry.mjs +1 -1
- package/internals/getGroupingConfig.d.mts +6 -0
- package/internals/getGroupingConfig.d.ts +6 -0
- package/internals/getGroupingConfig.js +20 -0
- package/internals/getGroupingConfig.mjs +12 -0
- package/internals/index.d.mts +1 -2
- package/internals/index.d.ts +1 -2
- package/internals/index.js +12 -8
- package/internals/index.mjs +1 -2
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.mts +2 -1
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +2 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/colorProcessor.types.d.mts +1 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/colorProcessor.types.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.d.mts +1 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.js +4 -4
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.mjs +1 -1
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/seriesConfig.types.d.mts +13 -2
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/seriesConfig.types.d.ts +13 -2
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipItemPositionSelector.types.d.mts +18 -0
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipItemPositionSelector.types.d.ts +18 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.mts +2 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +2 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +12 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.mjs +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.d.mts +26 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.d.ts +26 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.js +89 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.mjs +81 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.types.d.mts +93 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.types.d.ts +93 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.mts +5 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +5 -0
- package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.mts +1 -1
- package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.mts +1 -1
- package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.d.mts +3 -8
- package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.d.ts +3 -8
- package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.js +2 -57
- package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.mjs +2 -57
- package/internals/shallowEqual.d.mts +1 -1
- package/internals/shallowEqual.d.ts +1 -1
- package/internals/shallowEqual.js +1 -1
- package/internals/shallowEqual.mjs +1 -1
- package/models/seriesType/config.d.mts +6 -2
- package/models/seriesType/config.d.ts +6 -2
- package/package.json +6 -6
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipItemPositionGetter.types.d.mts +0 -34
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipItemPositionGetter.types.d.ts +0 -34
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.selectors.d.mts +0 -49
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.selectors.d.ts +0 -49
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.selectors.js +0 -124
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.selectors.mjs +0 -117
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.types.d.mts +0 -64
- package/internals/plugins/featurePlugins/useGeoProjection/useGeoProjection.types.d.ts +0 -64
- /package/internals/plugins/corePlugins/useChartSeriesConfig/types/{tooltipItemPositionGetter.types.js → tooltipItemPositionSelector.types.js} +0 -0
- /package/internals/plugins/corePlugins/useChartSeriesConfig/types/{tooltipItemPositionGetter.types.mjs → tooltipItemPositionSelector.types.mjs} +0 -0
- /package/internals/plugins/featurePlugins/{useGeoProjection/useGeoProjection.types.js → useChartCartesianAxis/sampling.types.js} +0 -0
- /package/internals/plugins/featurePlugins/{useGeoProjection/useGeoProjection.types.mjs → useChartCartesianAxis/sampling.types.mjs} +0 -0
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
2
3
|
import getColor from "./seriesConfig/bar/getColor.mjs";
|
|
3
4
|
import { useXAxes, useYAxes } from "../hooks/useAxis.mjs";
|
|
4
5
|
import { checkBarChartScaleErrors } from "./checkBarChartScaleErrors.mjs";
|
|
5
6
|
import { useBarSeriesContext } from "../hooks/useBarSeries.mjs";
|
|
6
|
-
import { createGetBarDimensions } from "../internals/createGetBarDimensions.mjs";
|
|
7
|
+
import { createGetBarDimensions, createGetBucketBarDimensions } from "../internals/createGetBarDimensions.mjs";
|
|
7
8
|
import { useChartId } from "../hooks/useChartId.mjs";
|
|
9
|
+
import { useStore } from "../internals/store/useStore.mjs";
|
|
10
|
+
import { selectorChartSamplingPyramids, getFullRangeZoom } from "../internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.mjs";
|
|
11
|
+
import { selectorChartSeriesConfig } from "../internals/plugins/corePlugins/useChartSeriesConfig/index.mjs";
|
|
12
|
+
import { selectorChartZoomMap, selectorChartZoomOptionsLookup } from "../internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.mjs";
|
|
8
13
|
export function useBarPlotData(drawingArea, xAxes, yAxes) {
|
|
9
14
|
const seriesData = useBarSeriesContext() ?? {
|
|
10
15
|
series: {},
|
|
@@ -14,9 +19,14 @@ export function useBarPlotData(drawingArea, xAxes, yAxes) {
|
|
|
14
19
|
const defaultXAxisId = useXAxes().xAxisIds[0];
|
|
15
20
|
const defaultYAxisId = useYAxes().yAxisIds[0];
|
|
16
21
|
const chartId = useChartId();
|
|
17
|
-
|
|
22
|
+
const store = useStore();
|
|
23
|
+
const samplingPyramids = store.use(selectorChartSamplingPyramids);
|
|
24
|
+
const zoomMap = store.use(selectorChartZoomMap);
|
|
25
|
+
const zoomOptions = store.use(selectorChartZoomOptionsLookup);
|
|
26
|
+
const sampler = store.use(selectorChartSeriesConfig).bar?.sampler;
|
|
27
|
+
return React.useMemo(() => processBarDataForPlot(drawingArea, chartId, seriesData.stackingGroups, seriesData.series, xAxes, yAxes, defaultXAxisId, defaultYAxisId, samplingPyramids, zoomMap, sampler, zoomOptions), [drawingArea, chartId, seriesData.stackingGroups, seriesData.series, xAxes, yAxes, defaultXAxisId, defaultYAxisId, samplingPyramids, zoomMap, sampler, zoomOptions]);
|
|
18
28
|
}
|
|
19
|
-
export function processBarDataForPlot(drawingArea, chartId, stackingGroups, series, xAxes, yAxes, defaultXAxisId, defaultYAxisId) {
|
|
29
|
+
export function processBarDataForPlot(drawingArea, chartId, stackingGroups, series, xAxes, yAxes, defaultXAxisId, defaultYAxisId, samplingPyramids = {}, zoomMap, sampler, zoomOptions) {
|
|
20
30
|
const masks = {};
|
|
21
31
|
const data = stackingGroups.flatMap(({
|
|
22
32
|
ids: seriesIds
|
|
@@ -42,31 +52,13 @@ export function processBarDataForPlot(drawingArea, chartId, stackingGroups, seri
|
|
|
42
52
|
const xOrigin = Math.round(xScale(0) ?? 0);
|
|
43
53
|
const yOrigin = Math.round(yScale(0) ?? 0);
|
|
44
54
|
const colorGetter = getColor(series[seriesId], xAxes[xAxisId], yAxes[yAxisId]);
|
|
55
|
+
const stackId = series[seriesId].stack;
|
|
45
56
|
const seriesDataPoints = [];
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
yAxisConfig,
|
|
50
|
-
series: series[seriesId],
|
|
51
|
-
numberOfGroups: stackingGroups.length
|
|
52
|
-
});
|
|
53
|
-
for (let dataIndex = 0; dataIndex < baseScaleConfig.data.length; dataIndex += 1) {
|
|
54
|
-
const barDimensions = getBarDimensions(dataIndex, groupIndex);
|
|
55
|
-
if (barDimensions == null) {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
const stackId = series[seriesId].stack;
|
|
59
|
-
const result = _extends({
|
|
60
|
-
seriesId,
|
|
61
|
-
dataIndex,
|
|
62
|
-
hidden: series[seriesId].hidden
|
|
63
|
-
}, barDimensions, {
|
|
64
|
-
color: colorGetter(dataIndex),
|
|
65
|
-
value: series[seriesId].data[dataIndex],
|
|
66
|
-
maskId: `${chartId}_${stackId || seriesId}_${groupIndex}_${dataIndex}`
|
|
67
|
-
});
|
|
57
|
+
|
|
58
|
+
// Culls off-screen bars then records the bar's border-radius side and mask contribution.
|
|
59
|
+
const registerResult = (result, dataIndex) => {
|
|
68
60
|
if (result.x > xMax || result.x + result.width < xMin || result.y > yMax || result.y + result.height < yMin) {
|
|
69
|
-
|
|
61
|
+
return;
|
|
70
62
|
}
|
|
71
63
|
const lastNegative = lastNegativePerIndex.get(dataIndex);
|
|
72
64
|
const lastPositive = lastPositivePerIndex.get(dataIndex);
|
|
@@ -107,6 +99,90 @@ export function processBarDataForPlot(drawingArea, chartId, stackingGroups, seri
|
|
|
107
99
|
mask.hasNegative = mask.hasNegative || (reverse ? value > 0 : value < 0);
|
|
108
100
|
mask.hasPositive = mask.hasPositive || (reverse ? value < 0 : value > 0);
|
|
109
101
|
seriesDataPoints.push(result);
|
|
102
|
+
};
|
|
103
|
+
const makeResult = (dataIndex, barDimensions) => _extends({
|
|
104
|
+
seriesId,
|
|
105
|
+
dataIndex,
|
|
106
|
+
hidden: series[seriesId].hidden
|
|
107
|
+
}, barDimensions, {
|
|
108
|
+
color: colorGetter(dataIndex),
|
|
109
|
+
value: series[seriesId].data[dataIndex],
|
|
110
|
+
maskId: `${chartId}_${stackId || seriesId}_${groupIndex}_${dataIndex}`
|
|
111
|
+
});
|
|
112
|
+
const pyramid = samplingPyramids[seriesId];
|
|
113
|
+
const baseAxisId = verticalLayout ? xAxisId : yAxisId;
|
|
114
|
+
const zoom = zoomMap?.get(baseAxisId) ?? (pyramid ? getFullRangeZoom(baseAxisId) : undefined);
|
|
115
|
+
const availableSize = verticalLayout ? drawingArea.width : drawingArea.height;
|
|
116
|
+
const minSpan = zoomOptions?.[baseAxisId]?.minSpan ?? 0;
|
|
117
|
+
// The sampler (pro) owns the level-of-detail math; community renders one merged rect per
|
|
118
|
+
// bucket, spanning its index range with the bucket's min-base/max-top envelope.
|
|
119
|
+
const sampledBuckets = pyramid && zoom && sampler?.sample ? sampler.sample({
|
|
120
|
+
built: pyramid,
|
|
121
|
+
zoom,
|
|
122
|
+
availableSize,
|
|
123
|
+
minSpan
|
|
124
|
+
}) : null;
|
|
125
|
+
if (sampledBuckets) {
|
|
126
|
+
const getBucketBarDimensions = createGetBucketBarDimensions({
|
|
127
|
+
verticalLayout,
|
|
128
|
+
xAxisConfig,
|
|
129
|
+
yAxisConfig,
|
|
130
|
+
series: series[seriesId],
|
|
131
|
+
numberOfGroups: stackingGroups.length
|
|
132
|
+
});
|
|
133
|
+
const stacked = series[seriesId].visibleStackedData;
|
|
134
|
+
for (const {
|
|
135
|
+
startIndex,
|
|
136
|
+
endIndex,
|
|
137
|
+
indices
|
|
138
|
+
} of sampledBuckets) {
|
|
139
|
+
let low = Infinity;
|
|
140
|
+
let high = -Infinity;
|
|
141
|
+
for (let k = 0; k < indices.length; k += 1) {
|
|
142
|
+
const point = stacked[indices[k]];
|
|
143
|
+
// Both coords, so diverging/negative bars (`[0, -5]`, base > top) keep their full extent.
|
|
144
|
+
low = Math.min(low, point[0], point[1]);
|
|
145
|
+
high = Math.max(high, point[0], point[1]);
|
|
146
|
+
}
|
|
147
|
+
const dimensions = getBucketBarDimensions(startIndex, endIndex, low, high, groupIndex);
|
|
148
|
+
registerResult(makeResult(startIndex, dimensions), startIndex);
|
|
149
|
+
}
|
|
150
|
+
} else {
|
|
151
|
+
const getBarDimensions = createGetBarDimensions({
|
|
152
|
+
verticalLayout,
|
|
153
|
+
xAxisConfig,
|
|
154
|
+
yAxisConfig,
|
|
155
|
+
series: series[seriesId],
|
|
156
|
+
numberOfGroups: stackingGroups.length
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
// Narrow to the visible index window so panning/zoom doesn't compute every off-screen bar.
|
|
160
|
+
// `firstIndex`/`lastIndex` bound the band axis range; the cull in `registerResult` stays
|
|
161
|
+
// exact. A 1-bucket margin covers grouped-bar offsets and partial edge bars.
|
|
162
|
+
const baseData = baseScaleConfig.data;
|
|
163
|
+
const dataLength = baseData.length;
|
|
164
|
+
let firstIndex = 0;
|
|
165
|
+
let lastIndex = dataLength - 1;
|
|
166
|
+
if (dataLength > 1) {
|
|
167
|
+
const baseScale = baseScaleConfig.scale;
|
|
168
|
+
const p0 = baseScale(baseData[0]);
|
|
169
|
+
const slope = baseScale(baseData[1]) - p0; // signed px per index (handles reversed axis)
|
|
170
|
+
if (slope !== 0) {
|
|
171
|
+
const winLo = verticalLayout ? xMin : yMin;
|
|
172
|
+
const winHi = verticalLayout ? xMax : yMax;
|
|
173
|
+
const ia = (winLo - p0) / slope;
|
|
174
|
+
const ib = (winHi - p0) / slope;
|
|
175
|
+
firstIndex = Math.max(0, Math.floor(Math.min(ia, ib)) - 1);
|
|
176
|
+
lastIndex = Math.min(dataLength - 1, Math.ceil(Math.max(ia, ib)) + 1);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
for (let dataIndex = firstIndex; dataIndex <= lastIndex; dataIndex += 1) {
|
|
180
|
+
const barDimensions = getBarDimensions(dataIndex, groupIndex);
|
|
181
|
+
if (barDimensions == null) {
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
registerResult(makeResult(dataIndex, barDimensions), dataIndex);
|
|
185
|
+
}
|
|
110
186
|
}
|
|
111
187
|
return {
|
|
112
188
|
seriesId,
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,254 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.9.0
|
|
4
|
+
|
|
5
|
+
_Jul 9, 2026_
|
|
6
|
+
|
|
7
|
+
We'd like to extend a big thank you to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
8
|
+
|
|
9
|
+
- 📊 [Data sampling](https://mui.com/x/react-charts/performance/#sampling) for better performance with large bar and line charts
|
|
10
|
+
- 🗺️ [Maps zoom support](https://mui.com/x/react-charts/map/#zoom)
|
|
11
|
+
- ☑️ Support [applying filters on demand](https://mui.com/x/react-data-grid/filtering/customization/#apply-filters-on-demand) in the Data Grid
|
|
12
|
+
- 🐞 Bugfixes
|
|
13
|
+
- 📚 Documentation improvements
|
|
14
|
+
|
|
15
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
16
|
+
@mustafajw07, @sebastianfrey
|
|
17
|
+
|
|
18
|
+
The following team members contributed to this release:
|
|
19
|
+
@aemartos, @alexfauquette, @brijeshb42, @hasdfa, @Janpot, @JCQuintas, @LukasTy, @rita-codes, @sai6855
|
|
20
|
+
|
|
21
|
+
### Data Grid
|
|
22
|
+
|
|
23
|
+
#### `@mui/x-data-grid@9.9.0`
|
|
24
|
+
|
|
25
|
+
- [DataGrid] Add `dataSourceKeepPreviousData` prop (#22554) @LukasTy
|
|
26
|
+
- [DataGrid] Add controlled filter panel for applying filters on demand (#23023) @sebastianfrey
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid-pro@9.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
29
|
+
|
|
30
|
+
Same changes as in `@mui/x-data-grid@9.9.0`.
|
|
31
|
+
|
|
32
|
+
#### `@mui/x-data-grid-premium@9.9.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
33
|
+
|
|
34
|
+
Same changes as in `@mui/x-data-grid-pro@9.9.0`.
|
|
35
|
+
|
|
36
|
+
### Date and Time Pickers
|
|
37
|
+
|
|
38
|
+
#### `@mui/x-date-pickers@9.9.0`
|
|
39
|
+
|
|
40
|
+
Internal changes.
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-date-pickers-pro@9.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-date-pickers@9.9.0`, plus:
|
|
45
|
+
|
|
46
|
+
- [DateRangeCalendar] Avoid unnecessary month switch when the value is already visible (#22996) @LukasTy
|
|
47
|
+
|
|
48
|
+
### Charts
|
|
49
|
+
|
|
50
|
+
#### `@mui/x-charts@9.9.0`
|
|
51
|
+
|
|
52
|
+
- [charts] Optimize and de-duplicate sampled axis-highlight band lookup (#23052) @JCQuintas
|
|
53
|
+
- [charts] Unify tooltip item position getter and selector into a single selector API (#23041) @alexfauquette
|
|
54
|
+
- [charts] Fix impossible condition in axis text angle warning (#23102) @sai6855
|
|
55
|
+
|
|
56
|
+
#### `@mui/x-charts-pro@9.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
57
|
+
|
|
58
|
+
Same changes as in `@mui/x-charts@9.9.0`, plus:
|
|
59
|
+
|
|
60
|
+
- [charts-pro] Add data sampling for large bar and line charts (#22830) @JCQuintas
|
|
61
|
+
- [charts-pro] Allow sampling on non-zoomable charts (#23051) @JCQuintas
|
|
62
|
+
|
|
63
|
+
#### `@mui/x-charts-premium@9.9.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
64
|
+
|
|
65
|
+
#### Breaking changes
|
|
66
|
+
|
|
67
|
+
The API of the `Unstable_ChartsGeoDataProviderPremium` got modified.
|
|
68
|
+
Props `scale`, `rotation`, and `translation` are replaced by props `view` and `initialView`.
|
|
69
|
+
Same behavior can be obtained with `view.zoomLevel`, `view.center`, and `view.translation`.
|
|
70
|
+
See the [zoom view section](https://mui.com/x/react-charts/map/#control) for detailed information
|
|
71
|
+
|
|
72
|
+
Same changes as in `@mui/x-charts-pro@9.9.0`, plus:
|
|
73
|
+
|
|
74
|
+
- [charts-premium] Maps zoom support (#22709) @alexfauquette
|
|
75
|
+
|
|
76
|
+
### Tree View
|
|
77
|
+
|
|
78
|
+
#### `@mui/x-tree-view@9.9.0`
|
|
79
|
+
|
|
80
|
+
Internal changes.
|
|
81
|
+
|
|
82
|
+
#### `@mui/x-tree-view-pro@9.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
83
|
+
|
|
84
|
+
Same changes as in `@mui/x-tree-view@9.9.0`.
|
|
85
|
+
|
|
86
|
+
### Scheduler
|
|
87
|
+
|
|
88
|
+
#### `@mui/x-scheduler@9.0.0-beta.5`
|
|
89
|
+
|
|
90
|
+
- [scheduler] Introduce event resource helper utilities (#23022) @mustafajw07
|
|
91
|
+
- [scheduler] Preserve multi-day event continuity across overflow (#22797) @mustafajw07
|
|
92
|
+
|
|
93
|
+
#### `@mui/x-scheduler-premium@9.0.0-beta.5` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
94
|
+
|
|
95
|
+
Same changes as in `@mui/x-scheduler@9.0.0-beta.5`.
|
|
96
|
+
|
|
97
|
+
### Codemod
|
|
98
|
+
|
|
99
|
+
#### `@mui/x-codemod@9.9.0`
|
|
100
|
+
|
|
101
|
+
Internal changes.
|
|
102
|
+
|
|
103
|
+
### Docs
|
|
104
|
+
|
|
105
|
+
- [docs] Fix broken social preview image on shared docs links (#23055) @sai6855
|
|
106
|
+
- [docs] Review and clean up react-chat docs demos & gallery; fix actions-bar layout (#22993) @hasdfa
|
|
107
|
+
- [docs] Update the Pickers recommended date library bundle sizes (#23087) @LukasTy
|
|
108
|
+
|
|
109
|
+
### Core
|
|
110
|
+
|
|
111
|
+
- [mcp] Add `@mui/mcp` server and `@mui/x-agent-tools`. See the [README](https://github.com/mui/mui-x/blob/master/packages/mcp/README.md) for setup (#22947) @aemartos
|
|
112
|
+
- [code-infra] Avoid OOM in the Netlify docs build and CircleCI lint step (#23086) @LukasTy
|
|
113
|
+
- [code-infra] Group `@atlaskit/pragmatic-drag-and-drop` renovate updates (#23105) @LukasTy
|
|
114
|
+
- [code-infra] Validate npm publishing through dry run (#23038) @brijeshb42
|
|
115
|
+
- [docs-infra] Enable `webpackBuildWorker` to bound docs build memory (#23100) @Janpot
|
|
116
|
+
|
|
117
|
+
### Miscellaneous
|
|
118
|
+
|
|
119
|
+
- [test] Fix flaky "should render only the pageSize" Data Grid virtualization test (#23090) @LukasTy
|
|
120
|
+
- [test] Track `@mui/x-chat` bundle size via native expand (#23049) @Janpot
|
|
121
|
+
|
|
122
|
+
## 9.8.0
|
|
123
|
+
|
|
124
|
+
_Jul 2, 2026_
|
|
125
|
+
|
|
126
|
+
We'd like to extend a big thank you to the 18 contributors who made this release possible. Here are some highlights ✨:
|
|
127
|
+
|
|
128
|
+
- 🗺️ New [`MapImagePlot`](https://mui.com/x/react-charts/map/) for rendering raster base maps, with `onItemClick` support on map shapes (Premium)
|
|
129
|
+
- 📊 New [`usePolarGeometry`](https://mui.com/x/react-charts/hooks/use-polar-geometry/) hook to build custom radial overlays
|
|
130
|
+
- 🐞 Bugfixes
|
|
131
|
+
- 📚 Documentation improvements
|
|
132
|
+
|
|
133
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
134
|
+
@Anexus5919, @aromanio, @greymoth-jp, @mustafajw07, @timbuckley, @voidmatcha
|
|
135
|
+
|
|
136
|
+
The following team members contributed to this release:
|
|
137
|
+
@alexfauquette, @arminmeh, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @mapache-salvaje, @michelengelen, @rita-codes, @sai6855
|
|
138
|
+
|
|
139
|
+
### Data Grid
|
|
140
|
+
|
|
141
|
+
#### `@mui/x-data-grid@9.8.0`
|
|
142
|
+
|
|
143
|
+
- [DataGrid] Prevent cell editing from resurrecting a deleted row (#22958) @Anexus5919
|
|
144
|
+
- [DataGrid] Avoid reading `type` of `undefined` in `gridRowUtils` (#21808) @timbuckley
|
|
145
|
+
- [DataGrid] Improved get started tutorial (#22911) @joserodolfofreitas
|
|
146
|
+
- [l10n] Improve Japanese (ja-JP) locale (#23001) @greymoth-jp
|
|
147
|
+
|
|
148
|
+
#### `@mui/x-data-grid-pro@9.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
149
|
+
|
|
150
|
+
Same changes as in `@mui/x-data-grid@9.8.0`.
|
|
151
|
+
|
|
152
|
+
#### `@mui/x-data-grid-premium@9.8.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
153
|
+
|
|
154
|
+
Same changes as in `@mui/x-data-grid-pro@9.8.0`, plus:
|
|
155
|
+
|
|
156
|
+
- [DataGridPremium] Escape `singleSelect` values in Excel export with `escapeFormulas` enabled (#22851) @Anexus5919
|
|
157
|
+
|
|
158
|
+
### Date and Time Pickers
|
|
159
|
+
|
|
160
|
+
#### `@mui/x-date-pickers@9.8.0`
|
|
161
|
+
|
|
162
|
+
- [pickers] Fix localized digit crash (#22995) @alexfauquette
|
|
163
|
+
- [pickers] Flag the first and last visible day cell across year boundaries (#22981) @Anexus5919
|
|
164
|
+
- [pickers] Use calendar day tokens in `AdapterMomentHijri` and `AdapterMomentJalaali` formats (#22974) @Anexus5919
|
|
165
|
+
- [pickers] Use the Hijri day token in `AdapterMomentHijri` `normalDateWithWeekday` (#22972) @Anexus5919
|
|
166
|
+
- [l10n] Improve Romanian (ro-RO) locale (#22969) @aromanio
|
|
167
|
+
|
|
168
|
+
#### `@mui/x-date-pickers-pro@9.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
169
|
+
|
|
170
|
+
Same changes as in `@mui/x-date-pickers@9.8.0`, plus:
|
|
171
|
+
|
|
172
|
+
- [DateRangeCalendar] Fix auto month-switch across the year boundary (#22987) @Anexus5919
|
|
173
|
+
|
|
174
|
+
### Charts
|
|
175
|
+
|
|
176
|
+
#### `@mui/x-charts@9.8.0`
|
|
177
|
+
|
|
178
|
+
- [charts] Decouple `d3-geo` from the universal tooltip (#23011) @sai6855
|
|
179
|
+
- [charts] Deduplicate `getGroupingConfig` (#22889) @sai6855
|
|
180
|
+
- [charts] Expose `usePolarGeometry` hook for radial overlays (#22892) @mustafajw07
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-charts-pro@9.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
183
|
+
|
|
184
|
+
Same changes as in `@mui/x-charts@9.8.0`.
|
|
185
|
+
|
|
186
|
+
#### `@mui/x-charts-premium@9.8.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
187
|
+
|
|
188
|
+
Same changes as in `@mui/x-charts-pro@9.8.0`, plus:
|
|
189
|
+
|
|
190
|
+
- [charts-premium] Add `onItemClick` support for the Map shapes (#22876) @sai6855
|
|
191
|
+
- [charts-premium] Replace `dataIndex` with `name` in map identifier (#22891) @sai6855
|
|
192
|
+
- [charts-premium] Share helper function (#23030) @alexfauquette
|
|
193
|
+
- [charts-premium] Extract shared WebGL utilities across bar/scatter/heatmap renderers (#22466) @sai6855
|
|
194
|
+
- [charts-premium] Add `MapImagePlot` for raster base maps (#22977) @JCQuintas
|
|
195
|
+
|
|
196
|
+
### Tree View
|
|
197
|
+
|
|
198
|
+
#### `@mui/x-tree-view@9.8.0`
|
|
199
|
+
|
|
200
|
+
- [TreeView] Fix extra selection event when clicking a collapsed parent item (#22249) @michelengelen
|
|
201
|
+
- [TreeView] Enforce top-level type imports (#23034) @Janpot
|
|
202
|
+
|
|
203
|
+
#### `@mui/x-tree-view-pro@9.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
204
|
+
|
|
205
|
+
Same changes as in `@mui/x-tree-view@9.8.0`.
|
|
206
|
+
|
|
207
|
+
### Scheduler
|
|
208
|
+
|
|
209
|
+
#### `@mui/x-scheduler@9.0.0-beta.4`
|
|
210
|
+
|
|
211
|
+
- [scheduler] Enforce top-level type imports (#22931) @Janpot
|
|
212
|
+
- [scheduler] Keep the occurrence date when editing only one recurring event (#23007) @Anexus5919
|
|
213
|
+
- [scheduler] Track bundle size of scheduler packages (#22682) @flaviendelangle
|
|
214
|
+
- [scheduler] Add `viewConfig` prop to limit displayed hours in the day and week views (#22929) @flaviendelangle
|
|
215
|
+
|
|
216
|
+
#### `@mui/x-scheduler-premium@9.0.0-beta.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
217
|
+
|
|
218
|
+
Same changes as in `@mui/x-scheduler@9.0.0-beta.4`, plus:
|
|
219
|
+
|
|
220
|
+
- [scheduler] Collapsible resources in the timeline (#22920) @rita-codes
|
|
221
|
+
|
|
222
|
+
### Codemod
|
|
223
|
+
|
|
224
|
+
#### `@mui/x-codemod@9.8.0`
|
|
225
|
+
|
|
226
|
+
Internal changes.
|
|
227
|
+
|
|
228
|
+
### Docs
|
|
229
|
+
|
|
230
|
+
- [docs] Add recipe for conditional master-detail panels (#22971) @michelengelen
|
|
231
|
+
- [docs] Add recipe for describing active filters in the toolbar (#22970) @michelengelen
|
|
232
|
+
- [docs] Add recipe for triggering clipboard copy from a button (#22967) @michelengelen
|
|
233
|
+
- [docs] Clarify that `fieldRef.current.focusField()` is the canonical way to focus a field (#22937) @michelengelen
|
|
234
|
+
- [docs][scheduler] Another copyediting pass across the Scheduler docs (#22619) @mapache-salvaje
|
|
235
|
+
- [docs][charts] Add map example for arbitrary GeoJSON shapes (#22976) @JCQuintas
|
|
236
|
+
- [docs][charts] Double point count in `ScatterAsyncRenderer` demo (#22906) @JCQuintas
|
|
237
|
+
|
|
238
|
+
### Core
|
|
239
|
+
|
|
240
|
+
- [code-infra] Fix tracking branch bug in release script (#22956) @michelengelen
|
|
241
|
+
- [code-infra] Remove mark-duplicate workflow (#22994) @cherniavskii
|
|
242
|
+
- [code-infra] Revert `nanoid@3.3.15` `minimumReleaseAge` exemption (#22953) @LukasTy
|
|
243
|
+
|
|
244
|
+
### Miscellaneous
|
|
245
|
+
|
|
246
|
+
- [internals] Fix `ERR_UNSUPPORTED_DIR_IMPORT` for `core-js-pure` in Node ESM (#22985) @michelengelen
|
|
247
|
+
- [internals] Harden `useDisposable` React internals read with safeReact (#22986) @rita-codes
|
|
248
|
+
- [internals] Replace core-js `DisposableStack` ponyfill with a minimal fallback (#23002) @sai6855
|
|
249
|
+
- [test] Assert the edited `dateTime` cell value in the e2e edit test (#22982) @voidmatcha
|
|
250
|
+
- [virtualizer] Remeasure scrollbars when layout changes (#22914) @arminmeh
|
|
251
|
+
|
|
3
252
|
## 9.7.0
|
|
4
253
|
|
|
5
254
|
_Jun 25, 2026_
|
|
@@ -178,7 +427,6 @@ Same changes as in `@mui/x-charts-pro@9.6.0`, plus:
|
|
|
178
427
|
- [charts-premium] Support maps tooltip positioned on items (#22648) @alexfauquette
|
|
179
428
|
- [docs] Show how to export maps (#22837) @alexfauquette
|
|
180
429
|
|
|
181
|
-
|
|
182
430
|
### Tree View
|
|
183
431
|
|
|
184
432
|
#### `@mui/x-tree-view@9.6.0`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisSlotProps, ChartsAxisSlots } from "../models/axis.mjs";
|
|
2
3
|
export type { ChartsAxisSlots, ChartsAxisSlotProps };
|
|
3
4
|
export interface ChartsAxisProps {
|
|
@@ -21,7 +22,7 @@ export interface ChartsAxisProps {
|
|
|
21
22
|
*
|
|
22
23
|
* - [ChartsAxis API](https://mui.com/x/api/charts/charts-axis/)
|
|
23
24
|
*/
|
|
24
|
-
declare function ChartsAxis(props: ChartsAxisProps):
|
|
25
|
+
declare function ChartsAxis(props: ChartsAxisProps): React.JSX.Element;
|
|
25
26
|
declare namespace ChartsAxis {
|
|
26
27
|
var propTypes: any;
|
|
27
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisSlotProps, ChartsAxisSlots } from "../models/axis.js";
|
|
2
3
|
export type { ChartsAxisSlots, ChartsAxisSlotProps };
|
|
3
4
|
export interface ChartsAxisProps {
|
|
@@ -21,7 +22,7 @@ export interface ChartsAxisProps {
|
|
|
21
22
|
*
|
|
22
23
|
* - [ChartsAxis API](https://mui.com/x/api/charts/charts-axis/)
|
|
23
24
|
*/
|
|
24
|
-
declare function ChartsAxis(props: ChartsAxisProps):
|
|
25
|
+
declare function ChartsAxis(props: ChartsAxisProps): React.JSX.Element;
|
|
25
26
|
declare namespace ChartsAxis {
|
|
26
27
|
var propTypes: any;
|
|
27
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightProps } from "./ChartsAxisHighlight.types.mjs";
|
|
2
3
|
/**
|
|
3
4
|
* Demos:
|
|
@@ -8,7 +9,7 @@ import type { ChartsAxisHighlightProps } from "./ChartsAxisHighlight.types.mjs";
|
|
|
8
9
|
*
|
|
9
10
|
* - [ChartsAxisHighlight API](https://mui.com/x/api/charts/charts-axis-highlight/)
|
|
10
11
|
*/
|
|
11
|
-
declare function ChartsAxisHighlight(props: ChartsAxisHighlightProps):
|
|
12
|
+
declare function ChartsAxisHighlight(props: ChartsAxisHighlightProps): React.JSX.Element;
|
|
12
13
|
declare namespace ChartsAxisHighlight {
|
|
13
14
|
var propTypes: any;
|
|
14
15
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightProps } from "./ChartsAxisHighlight.types.js";
|
|
2
3
|
/**
|
|
3
4
|
* Demos:
|
|
@@ -8,7 +9,7 @@ import type { ChartsAxisHighlightProps } from "./ChartsAxisHighlight.types.js";
|
|
|
8
9
|
*
|
|
9
10
|
* - [ChartsAxisHighlight API](https://mui.com/x/api/charts/charts-axis-highlight/)
|
|
10
11
|
*/
|
|
11
|
-
declare function ChartsAxisHighlight(props: ChartsAxisHighlightProps):
|
|
12
|
+
declare function ChartsAxisHighlight(props: ChartsAxisHighlightProps): React.JSX.Element;
|
|
12
13
|
declare namespace ChartsAxisHighlight {
|
|
13
14
|
var propTypes: any;
|
|
14
15
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightType } from "./ChartsAxisHighlight.types.mjs";
|
|
2
3
|
import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.mjs";
|
|
3
4
|
/**
|
|
@@ -6,4 +7,4 @@ import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.mj
|
|
|
6
7
|
export default function ChartsXHighlight(props: {
|
|
7
8
|
type: ChartsAxisHighlightType;
|
|
8
9
|
classes: ChartsAxisHighlightClasses;
|
|
9
|
-
}):
|
|
10
|
+
}): React.JSX.Element[] | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightType } from "./ChartsAxisHighlight.types.js";
|
|
2
3
|
import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.js";
|
|
3
4
|
/**
|
|
@@ -6,4 +7,4 @@ import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.js
|
|
|
6
7
|
export default function ChartsXHighlight(props: {
|
|
7
8
|
type: ChartsAxisHighlightType;
|
|
8
9
|
classes: ChartsAxisHighlightClasses;
|
|
9
|
-
}):
|
|
10
|
+
}): React.JSX.Element[] | null;
|
|
@@ -13,6 +13,7 @@ var _useStore = require("../internals/store/useStore");
|
|
|
13
13
|
var _useChartCartesianAxis = require("../internals/plugins/featurePlugins/useChartCartesianAxis");
|
|
14
14
|
var _hooks = require("../hooks");
|
|
15
15
|
var _ChartsAxisHighlightPath = require("./ChartsAxisHighlightPath");
|
|
16
|
+
var _getSampledBandHighlight = require("./getSampledBandHighlight");
|
|
16
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
18
|
/**
|
|
18
19
|
* @ignore - internal component.
|
|
@@ -29,13 +30,15 @@ function ChartsXHighlight(props) {
|
|
|
29
30
|
const store = (0, _useStore.useStore)();
|
|
30
31
|
const axisXValues = store.use(_useChartCartesianAxis.selectorChartsHighlightXAxisValue);
|
|
31
32
|
const xAxes = store.use(_useChartCartesianAxis.selectorChartXAxis);
|
|
33
|
+
const bucketSizeByAxis = store.use(_useChartCartesianAxis.selectorChartHighlightBucketSize);
|
|
32
34
|
if (axisXValues.length === 0) {
|
|
33
35
|
return null;
|
|
34
36
|
}
|
|
35
|
-
return axisXValues.map(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
return axisXValues.map(axisValue => {
|
|
38
|
+
const {
|
|
39
|
+
axisId,
|
|
40
|
+
value
|
|
41
|
+
} = axisValue;
|
|
39
42
|
const xAxis = xAxes.axis[axisId];
|
|
40
43
|
const xScale = xAxis.scale;
|
|
41
44
|
const getXPosition = (0, _getValueToPositionMapper.getValueToPositionMapper)(xScale);
|
|
@@ -46,9 +49,23 @@ function ChartsXHighlight(props) {
|
|
|
46
49
|
console.error([`MUI X Charts: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
|
|
47
50
|
}
|
|
48
51
|
}
|
|
52
|
+
let bandStart = 0;
|
|
53
|
+
let bandSize = 0;
|
|
54
|
+
if (isXScaleOrdinal) {
|
|
55
|
+
({
|
|
56
|
+
bandStart,
|
|
57
|
+
bandSize
|
|
58
|
+
} = (0, _getSampledBandHighlight.getSampledBandHighlight)({
|
|
59
|
+
scale: xScale,
|
|
60
|
+
value,
|
|
61
|
+
dataIndex: axisValue.dataIndex,
|
|
62
|
+
data: xAxis.data,
|
|
63
|
+
bucketSize: bucketSizeByAxis.get(axisId) ?? 1
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
49
66
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
50
67
|
children: [isXScaleOrdinal && xScale(value) !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlightPath.ChartsAxisHighlightPath, {
|
|
51
|
-
d: `M ${
|
|
68
|
+
d: `M ${bandStart} ${top} l ${bandSize} 0 l 0 ${height} l ${-bandSize} 0 Z`,
|
|
52
69
|
className: classes.root,
|
|
53
70
|
ownerState: {
|
|
54
71
|
axisHighlight: 'band'
|
|
@@ -4,9 +4,10 @@ import * as React from 'react';
|
|
|
4
4
|
import { getValueToPositionMapper } from "../hooks/getValueToPositionMapper.mjs";
|
|
5
5
|
import { isOrdinalScale } from "../internals/scaleGuards.mjs";
|
|
6
6
|
import { useStore } from "../internals/store/useStore.mjs";
|
|
7
|
-
import { selectorChartsHighlightXAxisValue, selectorChartXAxis } from "../internals/plugins/featurePlugins/useChartCartesianAxis/index.mjs";
|
|
7
|
+
import { selectorChartsHighlightXAxisValue, selectorChartHighlightBucketSize, selectorChartXAxis } from "../internals/plugins/featurePlugins/useChartCartesianAxis/index.mjs";
|
|
8
8
|
import { useDrawingArea } from "../hooks/index.mjs";
|
|
9
9
|
import { ChartsAxisHighlightPath } from "./ChartsAxisHighlightPath.mjs";
|
|
10
|
+
import { getSampledBandHighlight } from "./getSampledBandHighlight.mjs";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
/**
|
|
12
13
|
* @ignore - internal component.
|
|
@@ -23,13 +24,15 @@ export default function ChartsXHighlight(props) {
|
|
|
23
24
|
const store = useStore();
|
|
24
25
|
const axisXValues = store.use(selectorChartsHighlightXAxisValue);
|
|
25
26
|
const xAxes = store.use(selectorChartXAxis);
|
|
27
|
+
const bucketSizeByAxis = store.use(selectorChartHighlightBucketSize);
|
|
26
28
|
if (axisXValues.length === 0) {
|
|
27
29
|
return null;
|
|
28
30
|
}
|
|
29
|
-
return axisXValues.map(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return axisXValues.map(axisValue => {
|
|
32
|
+
const {
|
|
33
|
+
axisId,
|
|
34
|
+
value
|
|
35
|
+
} = axisValue;
|
|
33
36
|
const xAxis = xAxes.axis[axisId];
|
|
34
37
|
const xScale = xAxis.scale;
|
|
35
38
|
const getXPosition = getValueToPositionMapper(xScale);
|
|
@@ -40,9 +43,23 @@ export default function ChartsXHighlight(props) {
|
|
|
40
43
|
console.error([`MUI X Charts: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
|
|
41
44
|
}
|
|
42
45
|
}
|
|
46
|
+
let bandStart = 0;
|
|
47
|
+
let bandSize = 0;
|
|
48
|
+
if (isXScaleOrdinal) {
|
|
49
|
+
({
|
|
50
|
+
bandStart,
|
|
51
|
+
bandSize
|
|
52
|
+
} = getSampledBandHighlight({
|
|
53
|
+
scale: xScale,
|
|
54
|
+
value,
|
|
55
|
+
dataIndex: axisValue.dataIndex,
|
|
56
|
+
data: xAxis.data,
|
|
57
|
+
bucketSize: bucketSizeByAxis.get(axisId) ?? 1
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
43
60
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
44
61
|
children: [isXScaleOrdinal && xScale(value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
|
|
45
|
-
d: `M ${
|
|
62
|
+
d: `M ${bandStart} ${top} l ${bandSize} 0 l 0 ${height} l ${-bandSize} 0 Z`,
|
|
46
63
|
className: classes.root,
|
|
47
64
|
ownerState: {
|
|
48
65
|
axisHighlight: 'band'
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightType } from "./ChartsAxisHighlight.types.mjs";
|
|
2
3
|
import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.mjs";
|
|
3
4
|
/**
|
|
@@ -6,4 +7,4 @@ import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.mj
|
|
|
6
7
|
export default function ChartsYHighlight(props: {
|
|
7
8
|
type: ChartsAxisHighlightType;
|
|
8
9
|
classes: ChartsAxisHighlightClasses;
|
|
9
|
-
}):
|
|
10
|
+
}): React.JSX.Element[] | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { ChartsAxisHighlightType } from "./ChartsAxisHighlight.types.js";
|
|
2
3
|
import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.js";
|
|
3
4
|
/**
|
|
@@ -6,4 +7,4 @@ import type { ChartsAxisHighlightClasses } from "./chartsAxisHighlightClasses.js
|
|
|
6
7
|
export default function ChartsYHighlight(props: {
|
|
7
8
|
type: ChartsAxisHighlightType;
|
|
8
9
|
classes: ChartsAxisHighlightClasses;
|
|
9
|
-
}):
|
|
10
|
+
}): React.JSX.Element[] | null;
|