@mui/x-charts 8.14.1 → 8.16.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 +8 -0
- package/BarChart/BarChart.plugins.d.ts +2 -1
- package/BarChart/BarChart.plugins.js +2 -1
- package/BarChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/BarChart/seriesConfig/index.js +2 -0
- package/BarChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/BarChart/seriesConfig/tooltipPosition.js +67 -0
- package/BarChart/useBarChartProps.js +4 -2
- package/BarChart/useBarPlotData.d.ts +17 -2
- package/BarChart/useBarPlotData.js +59 -34
- package/CHANGELOG.md +207 -0
- package/ChartContainer/ChartContainer.js +8 -0
- package/ChartContainer/useChartContainerProps.js +4 -2
- package/ChartsAxisHighlight/ChartsXAxisHighlight.js +2 -1
- package/ChartsAxisHighlight/ChartsYAxisHighlight.js +2 -1
- package/ChartsBrushOverlay/ChartsBrushOverlay.classes.d.ts +12 -0
- package/ChartsBrushOverlay/ChartsBrushOverlay.classes.js +9 -0
- package/ChartsBrushOverlay/ChartsBrushOverlay.d.ts +6 -0
- package/ChartsBrushOverlay/ChartsBrushOverlay.js +102 -0
- package/ChartsBrushOverlay/index.d.ts +4 -0
- package/ChartsBrushOverlay/index.js +19 -0
- package/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
- package/ChartsReferenceLine/ChartsXReferenceLine.js +13 -8
- package/ChartsReferenceLine/ChartsYReferenceLine.js +13 -8
- package/ChartsReferenceLine/common.d.ts +3 -1
- package/ChartsReferenceLine/common.js +3 -1
- package/ChartsTooltip/ChartsTooltip.js +9 -0
- package/ChartsTooltip/ChartsTooltipContainer.d.ts +9 -0
- package/ChartsTooltip/ChartsTooltipContainer.js +67 -23
- package/ChartsTooltip/useItemTooltip.js +7 -14
- package/ChartsWrapper/ChartsWrapper.js +2 -1
- package/ChartsXAxis/getVisibleLabels.js +45 -25
- package/ChartsXAxis/useAxisTicksProps.d.ts +81 -81
- package/ChartsYAxis/useAxisTicksProps.d.ts +81 -81
- package/LineChart/LineChart.js +8 -0
- package/LineChart/LineChart.plugins.d.ts +2 -1
- package/LineChart/LineChart.plugins.js +2 -1
- package/LineChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/LineChart/seriesConfig/index.js +2 -0
- package/LineChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/LineChart/seriesConfig/tooltipPosition.js +33 -0
- package/LineChart/useLineChartProps.js +4 -2
- package/PieChart/seriesConfig/getSeriesWithDefaultValues.js +5 -6
- package/PieChart/seriesConfig/index.js +2 -0
- package/PieChart/seriesConfig/seriesProcessor.js +2 -1
- package/PieChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/PieChart/seriesConfig/tooltipPosition.js +75 -0
- package/RadarChart/RadarChart.plugins.d.ts +2 -2
- package/RadarChart/RadarChart.plugins.js +1 -1
- package/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +1 -1
- package/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/ScatterChart/ScatterChart.js +8 -0
- package/ScatterChart/ScatterChart.plugins.d.ts +2 -1
- package/ScatterChart/ScatterChart.plugins.js +2 -1
- package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/ScatterChart/seriesConfig/index.js +2 -0
- package/ScatterChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/ScatterChart/seriesConfig/tooltipPosition.js +33 -0
- package/ScatterChart/useScatterChartProps.js +5 -3
- package/SparkLineChart/SparkLineChart.js +8 -0
- package/context/ChartProvider/ChartProvider.js +1 -1
- package/esm/BarChart/BarChart.js +8 -0
- package/esm/BarChart/BarChart.plugins.d.ts +2 -1
- package/esm/BarChart/BarChart.plugins.js +2 -1
- package/esm/BarChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/esm/BarChart/seriesConfig/index.js +2 -0
- package/esm/BarChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/esm/BarChart/seriesConfig/tooltipPosition.js +61 -0
- package/esm/BarChart/useBarChartProps.js +4 -2
- package/esm/BarChart/useBarPlotData.d.ts +17 -2
- package/esm/BarChart/useBarPlotData.js +58 -34
- package/esm/ChartContainer/ChartContainer.js +8 -0
- package/esm/ChartContainer/useChartContainerProps.js +4 -2
- package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.js +1 -2
- package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.js +1 -2
- package/esm/ChartsBrushOverlay/ChartsBrushOverlay.classes.d.ts +12 -0
- package/esm/ChartsBrushOverlay/ChartsBrushOverlay.classes.js +2 -0
- package/esm/ChartsBrushOverlay/ChartsBrushOverlay.d.ts +6 -0
- package/esm/ChartsBrushOverlay/ChartsBrushOverlay.js +95 -0
- package/esm/ChartsBrushOverlay/index.d.ts +4 -0
- package/esm/ChartsBrushOverlay/index.js +2 -0
- package/esm/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +14 -9
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +14 -9
- package/esm/ChartsReferenceLine/common.d.ts +3 -1
- package/esm/ChartsReferenceLine/common.js +2 -0
- package/esm/ChartsTooltip/ChartsTooltip.js +9 -0
- package/esm/ChartsTooltip/ChartsTooltipContainer.d.ts +9 -0
- package/esm/ChartsTooltip/ChartsTooltipContainer.js +68 -24
- package/esm/ChartsTooltip/useItemTooltip.js +9 -16
- package/esm/ChartsWrapper/ChartsWrapper.js +2 -1
- package/esm/ChartsXAxis/getVisibleLabels.js +45 -25
- package/esm/ChartsXAxis/useAxisTicksProps.d.ts +81 -81
- package/esm/ChartsYAxis/useAxisTicksProps.d.ts +81 -81
- package/esm/LineChart/LineChart.js +8 -0
- package/esm/LineChart/LineChart.plugins.d.ts +2 -1
- package/esm/LineChart/LineChart.plugins.js +2 -1
- package/esm/LineChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/esm/LineChart/seriesConfig/index.js +2 -0
- package/esm/LineChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/esm/LineChart/seriesConfig/tooltipPosition.js +27 -0
- package/esm/LineChart/useLineChartProps.js +4 -2
- package/esm/PieChart/seriesConfig/getSeriesWithDefaultValues.js +5 -6
- package/esm/PieChart/seriesConfig/index.js +2 -0
- package/esm/PieChart/seriesConfig/seriesProcessor.js +2 -1
- package/esm/PieChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/esm/PieChart/seriesConfig/tooltipPosition.js +69 -0
- package/esm/RadarChart/RadarChart.plugins.d.ts +2 -2
- package/esm/RadarChart/RadarChart.plugins.js +1 -1
- package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +1 -1
- package/esm/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/esm/ScatterChart/ScatterChart.js +8 -0
- package/esm/ScatterChart/ScatterChart.plugins.d.ts +2 -1
- package/esm/ScatterChart/ScatterChart.plugins.js +2 -1
- package/esm/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +3 -3
- package/esm/ScatterChart/seriesConfig/index.js +2 -0
- package/esm/ScatterChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/esm/ScatterChart/seriesConfig/tooltipPosition.js +27 -0
- package/esm/ScatterChart/useScatterChartProps.js +5 -3
- package/esm/SparkLineChart/SparkLineChart.js +8 -0
- package/esm/context/ChartProvider/ChartProvider.js +1 -1
- package/esm/hooks/index.d.ts +2 -1
- package/esm/hooks/index.js +2 -1
- package/esm/hooks/useBrush.d.ts +18 -0
- package/esm/hooks/useBrush.js +16 -0
- package/esm/hooks/useFocusedItem.d.ts +1 -1
- package/esm/hooks/useInteractionItemProps.js +6 -2
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/internals/configInit.d.ts +1 -1
- package/esm/internals/domUtils.d.ts +9 -4
- package/esm/internals/domUtils.js +115 -52
- package/esm/internals/getScale.js +1 -1
- package/esm/internals/index.d.ts +3 -1
- package/esm/internals/index.js +3 -1
- package/esm/internals/isCartesian.d.ts +3 -2
- package/esm/internals/isCartesian.js +3 -0
- package/esm/internals/plugins/allPlugins.d.ts +4 -3
- package/esm/internals/plugins/allPlugins.js +2 -1
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js +19 -10
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.d.ts +6 -4
- package/esm/internals/plugins/featurePlugins/useChartBrush/index.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/index.js +3 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/useChartBrush.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/useChartBrush.js +126 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.d.ts +82 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.js +75 -0
- package/esm/internals/plugins/featurePlugins/useChartBrush/useChartBrush.types.d.ts +81 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.js +3 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +2 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +2 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +8 -3
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisScale.js +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +3 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +4 -4
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +13 -6
- package/esm/internals/plugins/featurePlugins/useChartClosestPoint/useChartClosestPoint.js +2 -0
- package/esm/internals/plugins/featurePlugins/useChartInteraction/index.d.ts +1 -0
- package/esm/internals/plugins/featurePlugins/useChartInteraction/index.js +2 -1
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +2 -1
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +1 -1
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +5 -1
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartTooltip.selectors.d.ts +14 -0
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartTooltip.selectors.js +40 -0
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/isFocusableSeriesType.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/isFocusableSeriesType.js +4 -0
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.helpers.d.ts +5 -4
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.helpers.js +8 -4
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.d.ts +21 -3
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.js +13 -6
- package/esm/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.types.d.ts +4 -3
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +1 -1
- package/esm/internals/plugins/models/seriesConfig/index.d.ts +1 -0
- package/esm/internals/plugins/models/seriesConfig/index.js +1 -0
- package/esm/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +2 -0
- package/esm/internals/plugins/models/seriesConfig/tooltipItemPositionGetter.types.d.ts +24 -0
- package/esm/internals/plugins/utils/selectors.d.ts +1 -1
- package/esm/internals/scales/index.d.ts +3 -0
- package/esm/internals/scales/index.js +3 -0
- package/esm/internals/scales/scaleBand.d.ts +25 -0
- package/esm/internals/scales/scaleBand.js +159 -0
- package/esm/internals/scales/scalePoint.d.ts +25 -0
- package/esm/internals/scales/scalePoint.js +41 -0
- package/esm/internals/scales/scaleSymlog.d.ts +38 -0
- package/esm/internals/{symlogScale.js → scales/scaleSymlog.js} +40 -2
- package/esm/locales/elGR.js +97 -99
- package/esm/models/seriesType/common.d.ts +3 -2
- package/esm/tests/constants.js +1 -0
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +12 -0
- package/hooks/useBrush.d.ts +18 -0
- package/hooks/useBrush.js +21 -0
- package/hooks/useFocusedItem.d.ts +1 -1
- package/hooks/useInteractionItemProps.js +6 -2
- package/index.d.ts +2 -1
- package/index.js +13 -1
- package/internals/configInit.d.ts +1 -1
- package/internals/domUtils.d.ts +9 -4
- package/internals/domUtils.js +119 -54
- package/internals/getScale.js +2 -2
- package/internals/index.d.ts +3 -1
- package/internals/index.js +24 -0
- package/internals/isCartesian.d.ts +3 -2
- package/internals/isCartesian.js +4 -0
- package/internals/plugins/allPlugins.d.ts +4 -3
- package/internals/plugins/allPlugins.js +2 -1
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js +19 -10
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.d.ts +6 -4
- package/internals/plugins/featurePlugins/useChartBrush/index.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartBrush/index.js +38 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.js +134 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.d.ts +82 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.js +82 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.types.d.ts +81 -0
- package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.types.js +5 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.js +3 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +2 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +2 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +8 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisScale.js +3 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +3 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +4 -4
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +13 -6
- package/internals/plugins/featurePlugins/useChartClosestPoint/useChartClosestPoint.js +2 -0
- package/internals/plugins/featurePlugins/useChartInteraction/index.d.ts +1 -0
- package/internals/plugins/featurePlugins/useChartInteraction/index.js +12 -0
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +2 -1
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +5 -1
- package/internals/plugins/featurePlugins/useChartInteraction/useChartTooltip.selectors.d.ts +14 -0
- package/internals/plugins/featurePlugins/useChartInteraction/useChartTooltip.selectors.js +46 -0
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/isFocusableSeriesType.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/isFocusableSeriesType.js +10 -0
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.helpers.d.ts +5 -4
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.helpers.js +7 -4
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.d.ts +21 -3
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.js +14 -7
- package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.types.d.ts +4 -3
- package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +3 -3
- package/internals/plugins/models/seriesConfig/index.d.ts +1 -0
- package/internals/plugins/models/seriesConfig/index.js +11 -0
- package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +2 -0
- package/internals/plugins/models/seriesConfig/tooltipItemPositionGetter.types.d.ts +24 -0
- package/internals/plugins/models/seriesConfig/tooltipItemPositionGetter.types.js +5 -0
- package/internals/plugins/utils/selectors.d.ts +1 -1
- package/internals/scales/index.d.ts +3 -0
- package/internals/scales/index.js +38 -0
- package/internals/scales/scaleBand.d.ts +25 -0
- package/internals/scales/scaleBand.js +167 -0
- package/internals/scales/scalePoint.d.ts +25 -0
- package/internals/scales/scalePoint.js +46 -0
- package/internals/scales/scaleSymlog.d.ts +38 -0
- package/internals/{symlogScale.js → scales/scaleSymlog.js} +39 -2
- package/locales/elGR.js +97 -99
- package/models/seriesType/common.d.ts +3 -2
- package/package.json +4 -4
- package/tests/constants.js +7 -0
- package/esm/internals/Flatbush.bench.js +0 -42
- package/esm/internals/symlogScale.d.ts +0 -2
- package/internals/Flatbush.bench.js +0 -44
- package/internals/symlogScale.d.ts +0 -2
- /package/esm/internals/{Flatbush.bench.d.ts → plugins/featurePlugins/useChartBrush/useChartBrush.types.js} +0 -0
- /package/{internals/Flatbush.bench.d.ts → esm/internals/plugins/models/seriesConfig/tooltipItemPositionGetter.types.js} +0 -0
package/BarChart/BarChart.js
CHANGED
|
@@ -101,6 +101,14 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
101
101
|
* Defines the border radius of the bar element.
|
|
102
102
|
*/
|
|
103
103
|
borderRadius: _propTypes.default.number,
|
|
104
|
+
/**
|
|
105
|
+
* Configuration for the brush interaction.
|
|
106
|
+
*/
|
|
107
|
+
brushConfig: _propTypes.default.shape({
|
|
108
|
+
enabled: _propTypes.default.bool,
|
|
109
|
+
preventHighlight: _propTypes.default.bool,
|
|
110
|
+
preventTooltip: _propTypes.default.bool
|
|
111
|
+
}),
|
|
104
112
|
children: _propTypes.default.node,
|
|
105
113
|
className: _propTypes.default.string,
|
|
106
114
|
/**
|
|
@@ -4,5 +4,6 @@ import { UseChartInteractionSignature } from "../internals/plugins/featurePlugin
|
|
|
4
4
|
import { UseChartHighlightSignature } from "../internals/plugins/featurePlugins/useChartHighlight/index.js";
|
|
5
5
|
import { UseChartKeyboardNavigationSignature } from "../internals/plugins/featurePlugins/useChartKeyboardNavigation/index.js";
|
|
6
6
|
import { ConvertSignaturesIntoPlugins } from "../internals/plugins/models/helpers.js";
|
|
7
|
-
|
|
7
|
+
import { UseChartBrushSignature } from "../internals/plugins/featurePlugins/useChartBrush/index.js";
|
|
8
|
+
export type BarChartPluginSignatures = [UseChartZAxisSignature, UseChartBrushSignature, UseChartInteractionSignature, UseChartCartesianAxisSignature<'bar'>, UseChartHighlightSignature, UseChartKeyboardNavigationSignature];
|
|
8
9
|
export declare const BAR_CHART_PLUGINS: ConvertSignaturesIntoPlugins<BarChartPluginSignatures>;
|
|
@@ -9,4 +9,5 @@ var _useChartCartesianAxis = require("../internals/plugins/featurePlugins/useCha
|
|
|
9
9
|
var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
|
|
10
10
|
var _useChartHighlight = require("../internals/plugins/featurePlugins/useChartHighlight");
|
|
11
11
|
var _useChartKeyboardNavigation = require("../internals/plugins/featurePlugins/useChartKeyboardNavigation");
|
|
12
|
-
|
|
12
|
+
var _useChartBrush = require("../internals/plugins/featurePlugins/useChartBrush");
|
|
13
|
+
const BAR_CHART_PLUGINS = exports.BAR_CHART_PLUGINS = [_useChartZAxis.useChartZAxis, _useChartBrush.useChartBrush, _useChartInteraction.useChartInteraction, _useChartCartesianAxis.useChartCartesianAxis, _useChartHighlight.useChartHighlight, _useChartKeyboardNavigation.useChartKeyboardNavigation];
|
|
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
|
|
10
|
-
return (0, _extends2.default)({
|
|
10
|
+
return (0, _extends2.default)({}, seriesData, {
|
|
11
11
|
id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
|
|
12
|
-
color: colors[seriesIndex % colors.length]
|
|
13
|
-
}
|
|
12
|
+
color: seriesData.color ?? colors[seriesIndex % colors.length]
|
|
13
|
+
});
|
|
14
14
|
};
|
|
15
15
|
var _default = exports.default = getSeriesWithDefaultValues;
|
|
@@ -11,12 +11,14 @@ var _seriesProcessor = _interopRequireDefault(require("./seriesProcessor"));
|
|
|
11
11
|
var _legend = _interopRequireDefault(require("./legend"));
|
|
12
12
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
13
13
|
var _tooltip = _interopRequireWildcard(require("./tooltip"));
|
|
14
|
+
var _tooltipPosition = _interopRequireDefault(require("./tooltipPosition"));
|
|
14
15
|
var _getSeriesWithDefaultValues = _interopRequireDefault(require("./getSeriesWithDefaultValues"));
|
|
15
16
|
const seriesConfig = exports.seriesConfig = {
|
|
16
17
|
seriesProcessor: _seriesProcessor.default,
|
|
17
18
|
colorProcessor: _getColor.default,
|
|
18
19
|
legendGetter: _legend.default,
|
|
19
20
|
tooltipGetter: _tooltip.default,
|
|
21
|
+
tooltipItemPositionGetter: _tooltipPosition.default,
|
|
20
22
|
axisTooltipGetter: _tooltip.axisTooltipGetter,
|
|
21
23
|
xExtremumGetter: _extremums.getExtremumX,
|
|
22
24
|
yExtremumGetter: _extremums.getExtremumY,
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _useBarPlotData = require("../useBarPlotData");
|
|
8
|
+
const tooltipItemPositionGetter = params => {
|
|
9
|
+
const {
|
|
10
|
+
series,
|
|
11
|
+
identifier,
|
|
12
|
+
axesConfig,
|
|
13
|
+
placement
|
|
14
|
+
} = params;
|
|
15
|
+
if (!identifier || identifier.dataIndex === undefined) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const itemSeries = series.bar?.series[identifier.seriesId];
|
|
19
|
+
if (series.bar == null || itemSeries == null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (axesConfig.x === undefined || axesConfig.y === undefined) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const dimensions = (0, _useBarPlotData.getBarDimensions)({
|
|
26
|
+
verticalLayout: itemSeries.layout === 'vertical',
|
|
27
|
+
xAxisConfig: axesConfig.x,
|
|
28
|
+
yAxisConfig: axesConfig.y,
|
|
29
|
+
series: itemSeries,
|
|
30
|
+
dataIndex: identifier.dataIndex,
|
|
31
|
+
numberOfGroups: series.bar.stackingGroups.length,
|
|
32
|
+
groupIndex: series.bar.stackingGroups.findIndex(group => group.ids.includes(itemSeries.id))
|
|
33
|
+
});
|
|
34
|
+
if (dimensions == null) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const {
|
|
38
|
+
x,
|
|
39
|
+
y,
|
|
40
|
+
width,
|
|
41
|
+
height
|
|
42
|
+
} = dimensions;
|
|
43
|
+
switch (placement) {
|
|
44
|
+
case 'right':
|
|
45
|
+
return {
|
|
46
|
+
x: x + width,
|
|
47
|
+
y: y + height / 2
|
|
48
|
+
};
|
|
49
|
+
case 'bottom':
|
|
50
|
+
return {
|
|
51
|
+
x: x + width / 2,
|
|
52
|
+
y: y + height
|
|
53
|
+
};
|
|
54
|
+
case 'left':
|
|
55
|
+
return {
|
|
56
|
+
x,
|
|
57
|
+
y: y + height / 2
|
|
58
|
+
};
|
|
59
|
+
case 'top':
|
|
60
|
+
default:
|
|
61
|
+
return {
|
|
62
|
+
x: x + width / 2,
|
|
63
|
+
y
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var _default = exports.default = tooltipItemPositionGetter;
|
|
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
14
14
|
var _constants = require("../constants");
|
|
15
15
|
var _BarChart = require("./BarChart.plugins");
|
|
16
|
-
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "axisHighlight", "grid", "children", "slots", "slotProps", "skipAnimation", "loading", "layout", "onItemClick", "highlightedItem", "onHighlightChange", "borderRadius", "barLabel", "className", "hideLegend", "showToolbar"];
|
|
16
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "axisHighlight", "grid", "children", "slots", "slotProps", "skipAnimation", "loading", "layout", "onItemClick", "highlightedItem", "onHighlightChange", "borderRadius", "barLabel", "className", "hideLegend", "showToolbar", "brushConfig"];
|
|
17
17
|
/**
|
|
18
18
|
* A helper function that extracts BarChartProps from the input props
|
|
19
19
|
* and returns an object with props for the children components of BarChart.
|
|
@@ -45,7 +45,8 @@ const useBarChartProps = props => {
|
|
|
45
45
|
onHighlightChange,
|
|
46
46
|
borderRadius,
|
|
47
47
|
barLabel,
|
|
48
|
-
className
|
|
48
|
+
className,
|
|
49
|
+
brushConfig
|
|
49
50
|
} = props,
|
|
50
51
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
51
52
|
const id = (0, _useId.default)();
|
|
@@ -102,6 +103,7 @@ const useBarChartProps = props => {
|
|
|
102
103
|
disableAxisListener: slotProps?.tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
|
|
103
104
|
className,
|
|
104
105
|
skipAnimation,
|
|
106
|
+
brushConfig,
|
|
105
107
|
plugins: _BarChart.BAR_CHART_PLUGINS
|
|
106
108
|
});
|
|
107
109
|
const barPlotProps = {
|
|
@@ -1,8 +1,23 @@
|
|
|
1
|
-
import { ChartsXAxisProps, ChartsYAxisProps } from "../models/axis.js";
|
|
1
|
+
import { ChartsXAxisProps, ChartsYAxisProps, ComputedAxis, ScaleName } from "../models/axis.js";
|
|
2
2
|
import { ChartDrawingArea } from "../hooks/index.js";
|
|
3
3
|
import { MaskData, ProcessedBarSeriesData } from "./types.js";
|
|
4
4
|
import { ComputedAxisConfig } from "../internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js";
|
|
5
|
+
import { ChartSeriesDefaultized } from "../models/seriesType/config.js";
|
|
5
6
|
export declare function useBarPlotData(drawingArea: ChartDrawingArea, xAxes: ComputedAxisConfig<ChartsXAxisProps>, yAxes: ComputedAxisConfig<ChartsYAxisProps>): {
|
|
6
7
|
completedData: ProcessedBarSeriesData[];
|
|
7
8
|
masksData: MaskData[];
|
|
8
|
-
};
|
|
9
|
+
};
|
|
10
|
+
export declare function getBarDimensions(params: {
|
|
11
|
+
verticalLayout: boolean;
|
|
12
|
+
xAxisConfig: ComputedAxis<ScaleName, any, ChartsXAxisProps>;
|
|
13
|
+
yAxisConfig: ComputedAxis<ScaleName, any, ChartsYAxisProps>;
|
|
14
|
+
series: ChartSeriesDefaultized<'bar'>;
|
|
15
|
+
dataIndex: number;
|
|
16
|
+
numberOfGroups: number;
|
|
17
|
+
groupIndex: number;
|
|
18
|
+
}): {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
height: number;
|
|
22
|
+
width: number;
|
|
23
|
+
} | null;
|
|
@@ -4,7 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.getBarDimensions = getBarDimensions;
|
|
7
8
|
exports.useBarPlotData = useBarPlotData;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
10
|
var _getColor = _interopRequireDefault(require("./seriesConfig/getColor"));
|
|
9
11
|
var _hooks = require("../hooks");
|
|
10
12
|
var _checkScaleErrors = require("./checkScaleErrors");
|
|
@@ -42,50 +44,32 @@ function useBarPlotData(drawingArea, xAxes, yAxes) {
|
|
|
42
44
|
const xScale = xAxisConfig.scale;
|
|
43
45
|
const yScale = yAxisConfig.scale;
|
|
44
46
|
const colorGetter = (0, _getColor.default)(series[seriesId], xAxes[xAxisId], yAxes[yAxisId]);
|
|
45
|
-
const bandWidth = baseScaleConfig.scale.bandwidth();
|
|
46
|
-
const {
|
|
47
|
-
barWidth,
|
|
48
|
-
offset
|
|
49
|
-
} = getBandSize({
|
|
50
|
-
bandWidth,
|
|
51
|
-
numberOfGroups: stackingGroups.length,
|
|
52
|
-
gapRatio: baseScaleConfig.barGapRatio
|
|
53
|
-
});
|
|
54
|
-
const barOffset = groupIndex * (barWidth + offset);
|
|
55
|
-
const {
|
|
56
|
-
stackedData,
|
|
57
|
-
data: currentSeriesData,
|
|
58
|
-
layout,
|
|
59
|
-
minBarSize
|
|
60
|
-
} = series[seriesId];
|
|
61
47
|
const seriesDataPoints = [];
|
|
62
48
|
for (let dataIndex = 0; dataIndex < baseScaleConfig.data.length; dataIndex += 1) {
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
49
|
+
const barDimensions = getBarDimensions({
|
|
50
|
+
verticalLayout,
|
|
51
|
+
xAxisConfig,
|
|
52
|
+
yAxisConfig,
|
|
53
|
+
series: series[seriesId],
|
|
54
|
+
dataIndex,
|
|
55
|
+
numberOfGroups: stackingGroups.length,
|
|
56
|
+
groupIndex
|
|
57
|
+
});
|
|
58
|
+
if (barDimensions == null) {
|
|
66
59
|
continue;
|
|
67
60
|
}
|
|
68
|
-
const values = stackedData[dataIndex];
|
|
69
|
-
const valueCoordinates = values.map(v => verticalLayout ? yScale(v) : xScale(v));
|
|
70
|
-
const minValueCoord = Math.round(Math.min(...valueCoordinates));
|
|
71
|
-
const maxValueCoord = Math.round(Math.max(...valueCoordinates));
|
|
72
61
|
const stackId = series[seriesId].stack;
|
|
73
|
-
const
|
|
74
|
-
const startCoordinate = shouldInvertStartCoordinate(verticalLayout, seriesValue, reverse) ? maxValueCoord - barSize : minValueCoord;
|
|
75
|
-
const result = {
|
|
62
|
+
const result = (0, _extends2.default)({
|
|
76
63
|
seriesId,
|
|
77
64
|
dataIndex,
|
|
78
|
-
layout,
|
|
79
|
-
x: verticalLayout ? xScale(baseValue) + barOffset : startCoordinate,
|
|
80
|
-
y: verticalLayout ? startCoordinate : yScale(baseValue) + barOffset,
|
|
65
|
+
layout: series[seriesId].layout,
|
|
81
66
|
xOrigin: xScale(0) ?? 0,
|
|
82
|
-
yOrigin: yScale(0) ?? 0
|
|
83
|
-
|
|
84
|
-
width: verticalLayout ? barWidth : barSize,
|
|
67
|
+
yOrigin: yScale(0) ?? 0
|
|
68
|
+
}, barDimensions, {
|
|
85
69
|
color: colorGetter(dataIndex),
|
|
86
|
-
value:
|
|
70
|
+
value: series[seriesId].data[dataIndex],
|
|
87
71
|
maskId: `${chartId}_${stackId || seriesId}_${groupIndex}_${dataIndex}`
|
|
88
|
-
};
|
|
72
|
+
});
|
|
89
73
|
if (result.x > xMax || result.x + result.width < xMin || result.y > yMax || result.y + result.height < yMin) {
|
|
90
74
|
continue;
|
|
91
75
|
}
|
|
@@ -157,4 +141,45 @@ function shouldInvertStartCoordinate(verticalLayout, baseValue, reverse) {
|
|
|
157
141
|
const isHorizontalAndNegative = !verticalLayout && baseValue < 0;
|
|
158
142
|
const invertStartCoordinate = isVerticalAndPositive || isHorizontalAndNegative;
|
|
159
143
|
return reverse ? !invertStartCoordinate : invertStartCoordinate;
|
|
144
|
+
}
|
|
145
|
+
function getBarDimensions(params) {
|
|
146
|
+
const {
|
|
147
|
+
verticalLayout,
|
|
148
|
+
xAxisConfig,
|
|
149
|
+
yAxisConfig,
|
|
150
|
+
series,
|
|
151
|
+
dataIndex,
|
|
152
|
+
numberOfGroups,
|
|
153
|
+
groupIndex
|
|
154
|
+
} = params;
|
|
155
|
+
const baseScaleConfig = verticalLayout ? xAxisConfig : yAxisConfig;
|
|
156
|
+
const reverse = (verticalLayout ? yAxisConfig.reverse : xAxisConfig.reverse) ?? false;
|
|
157
|
+
const {
|
|
158
|
+
barWidth,
|
|
159
|
+
offset
|
|
160
|
+
} = getBandSize({
|
|
161
|
+
bandWidth: baseScaleConfig.scale.bandwidth(),
|
|
162
|
+
numberOfGroups,
|
|
163
|
+
gapRatio: baseScaleConfig.barGapRatio
|
|
164
|
+
});
|
|
165
|
+
const barOffset = groupIndex * (barWidth + offset);
|
|
166
|
+
const xScale = xAxisConfig.scale;
|
|
167
|
+
const yScale = yAxisConfig.scale;
|
|
168
|
+
const baseValue = baseScaleConfig.data[dataIndex];
|
|
169
|
+
const seriesValue = series.data[dataIndex];
|
|
170
|
+
if (seriesValue == null) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
const values = series.stackedData[dataIndex];
|
|
174
|
+
const valueCoordinates = values.map(v => verticalLayout ? yScale(v) : xScale(v));
|
|
175
|
+
const minValueCoord = Math.round(Math.min(...valueCoordinates));
|
|
176
|
+
const maxValueCoord = Math.round(Math.max(...valueCoordinates));
|
|
177
|
+
const barSize = seriesValue === 0 ? 0 : Math.max(series.minBarSize, maxValueCoord - minValueCoord);
|
|
178
|
+
const startCoordinate = shouldInvertStartCoordinate(verticalLayout, seriesValue, reverse) ? maxValueCoord - barSize : minValueCoord;
|
|
179
|
+
return {
|
|
180
|
+
x: verticalLayout ? xScale(baseValue) + barOffset : startCoordinate,
|
|
181
|
+
y: verticalLayout ? startCoordinate : yScale(baseValue) + barOffset,
|
|
182
|
+
height: verticalLayout ? barSize : barWidth,
|
|
183
|
+
width: verticalLayout ? barWidth : barSize
|
|
184
|
+
};
|
|
160
185
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,213 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.16.0
|
|
9
|
+
|
|
10
|
+
_Oct 29, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🖌️ Add `brush` zoom interaction to charts
|
|
15
|
+
- 🔁 [Server-side update](https://mui.com/x/react-data-grid/server-side-data/#updating-server-side-data) in a grid with tree data/row grouping and aggregation will trigger re-fetch for all parent levels of that row to update aggregated values. See the [demo](https://mui.com/x/react-data-grid/server-side-data/aggregation/#usage-with-tree-data).
|
|
16
|
+
|
|
17
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
18
|
+
@felix-wg, @frncesc, @sai6855
|
|
19
|
+
|
|
20
|
+
The following are all team members who have contributed to this release:
|
|
21
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @flaviendelangle, @JCQuintas, @MBilalShafi, @mbrookes, @michelengelen, @noraleonte, @rita-codes
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@8.16.0`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Ignore `Ctrl+A` key combination for the row selection in the community version (#20110) @felix-wg
|
|
28
|
+
- [DataGrid][l10n] Improve Spanish (es-ES) locale (#20134) @frncesc
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-data-grid-pro@8.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
31
|
+
|
|
32
|
+
Same changes as in `@mui/x-data-grid@8.16.0`, plus:
|
|
33
|
+
|
|
34
|
+
- [DataGridPro] Add explicit return type to `getVisibleRowsLookup()` to fix the build with `tsc` (#20116) @arminmeh
|
|
35
|
+
- [DataGridPro] Retain the expansion state with expansion configuration props (#20126) @MBilalShafi
|
|
36
|
+
|
|
37
|
+
#### `@mui/x-data-grid-premium@8.16.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
38
|
+
|
|
39
|
+
Same changes as in `@mui/x-data-grid-pro@8.16.0`, plus:
|
|
40
|
+
|
|
41
|
+
- [DataGridPremium] Export and restore chart integration state (#20079) @arminmeh
|
|
42
|
+
- [DataGridPremium] Fix grouping column `valueFormatter()` crash (#20070) @sai6855
|
|
43
|
+
- [DataGridPremium] Refetch aggregation data after row update with server-side aggregation (#20039) @arminmeh
|
|
44
|
+
|
|
45
|
+
### Date and Time Pickers
|
|
46
|
+
|
|
47
|
+
#### `@mui/x-date-pickers@8.16.0`
|
|
48
|
+
|
|
49
|
+
- [pickers] Prevent blur event propagation on individual sections (#19825) @michelengelen
|
|
50
|
+
|
|
51
|
+
#### `@mui/x-date-pickers-pro@8.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
52
|
+
|
|
53
|
+
Same changes as in `@mui/x-date-pickers@8.16.0`.
|
|
54
|
+
|
|
55
|
+
### Charts
|
|
56
|
+
|
|
57
|
+
#### `@mui/x-charts@8.16.0`
|
|
58
|
+
|
|
59
|
+
- [charts] Allow tooltip to anchor items (#19954) @alexfauquette
|
|
60
|
+
- [charts] Fix behavior of grouped axis (#20118) @JCQuintas
|
|
61
|
+
- [charts] Move scale symlog inside scales (#20137) @JCQuintas
|
|
62
|
+
- [charts] Fix AreaChartConnectNulls demo height not correctly resizing (#20078) @sai6855
|
|
63
|
+
- [charts] Fix charts resizing overflow (#20080) @alexfauquette
|
|
64
|
+
- [charts] Fix tooltip not showing on first render (#20115) @bernardobelchior
|
|
65
|
+
- [charts] Handle `undefined` id and color in series (#20087) @bernardobelchior
|
|
66
|
+
- [charts] Remove `useMemo` from isZoomOn*Enabled and isPanOn*Enabled hooks (#20132) @Copilot
|
|
67
|
+
- [charts] Use static data for perf (#20072) @JCQuintas
|
|
68
|
+
- [charts] Move scale symlog inside scales (#20137) @JCQuintas
|
|
69
|
+
|
|
70
|
+
#### `@mui/x-charts-pro@8.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
71
|
+
|
|
72
|
+
Same changes as in `@mui/x-charts@8.16.0`, plus:
|
|
73
|
+
|
|
74
|
+
- [charts-pro] Add `brush` zoom interaction (#19899) @JCQuintas
|
|
75
|
+
- [charts-pro] Add sankey performance check (#20069) @JCQuintas
|
|
76
|
+
|
|
77
|
+
#### `@mui/x-charts-premium@8.16.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
78
|
+
|
|
79
|
+
Same changes as in `@mui/x-charts-pro@8.16.0`.
|
|
80
|
+
|
|
81
|
+
### Tree View
|
|
82
|
+
|
|
83
|
+
#### `@mui/x-tree-view@8.16.0`
|
|
84
|
+
|
|
85
|
+
Internal changes.
|
|
86
|
+
|
|
87
|
+
#### `@mui/x-tree-view-pro@8.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
88
|
+
|
|
89
|
+
Same changes as in `@mui/x-tree-view@8.16.0`.
|
|
90
|
+
|
|
91
|
+
### Codemod
|
|
92
|
+
|
|
93
|
+
#### `@mui/x-codemod@8.16.0`
|
|
94
|
+
|
|
95
|
+
Internal changes.
|
|
96
|
+
|
|
97
|
+
### Core
|
|
98
|
+
|
|
99
|
+
- [code-infra] Setup eslint compat plugin (#20105) @brijeshb42
|
|
100
|
+
- [code-infra] Improve store types (#20129) @JCQuintas
|
|
101
|
+
- [docs] Update the callout in `rows` prop documentation (#20127) @MBilalShafi
|
|
102
|
+
- [docs-infra] Refine changelog contributor acknowledgment messages (#20123) @mbrookes
|
|
103
|
+
|
|
104
|
+
### Miscellaneous
|
|
105
|
+
|
|
106
|
+
- [x-telemetry] Skip telemetry tests on browser mode (#20122) @bernardobelchior
|
|
107
|
+
|
|
108
|
+
## 8.15.0
|
|
109
|
+
|
|
110
|
+
_Oct 23, 2025_
|
|
111
|
+
|
|
112
|
+
We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
|
|
113
|
+
|
|
114
|
+
- 🖌️ Add new [`brush` charts interaction](https://mui.com/x/react-charts/brush/) for building custom behavior.
|
|
115
|
+

|
|
116
|
+
- ⚡️ Performance improvements for large bar charts
|
|
117
|
+
- 🤖 Data Grid AI assistant can now [visualize the query results](https://mui.com/x/react-data-grid/ai-assistant/#data-visualization) by controlling the chart integration settings
|
|
118
|
+
- 📦 DataGrid uses an internal MUI fork of ExcelJS that does not depend on vulnerable versions of NPM packages
|
|
119
|
+
- 🐞 Bugfixes
|
|
120
|
+
- 📚 Documentation improvements
|
|
121
|
+
|
|
122
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
123
|
+
@ZagrebaAlex
|
|
124
|
+
|
|
125
|
+
The following are all team members who have contributed to this release:
|
|
126
|
+
@alexfauquette, @bernardobelchior, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @KenanYusuf, @prakhargupta1, @rita-codes, @siriwatknp, @arminmeh, @brijeshb42, @noraleonte
|
|
127
|
+
|
|
128
|
+
### Data Grid
|
|
129
|
+
|
|
130
|
+
#### `@mui/x-data-grid@8.15.0`
|
|
131
|
+
|
|
132
|
+
- [DataGrid] Fix `dataSource.fetchRows` API's return type (#20068) @arminmeh
|
|
133
|
+
|
|
134
|
+
#### `@mui/x-data-grid-pro@8.15.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
135
|
+
|
|
136
|
+
Same changes as in `@mui/x-data-grid@8.15.0`, plus:
|
|
137
|
+
|
|
138
|
+
- [DataGridPro] Keep children in the tree after parent row is re-fetched with the data source (#19934) @arminmeh
|
|
139
|
+
- [DataGridPro] Support scroll shadows customization (#19982) @KenanYusuf
|
|
140
|
+
|
|
141
|
+
#### `@mui/x-data-grid-premium@8.15.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
142
|
+
|
|
143
|
+
Same changes as in `@mui/x-data-grid-pro@8.15.0`, plus:
|
|
144
|
+
|
|
145
|
+
- [DataGridPremium] Use ExcelJS fork (#19796) @cherniavskii
|
|
146
|
+
- [DataGridPremium] Support data visualization in AI Assistant (#19831) @arminmeh
|
|
147
|
+
|
|
148
|
+
### Date and Time Pickers
|
|
149
|
+
|
|
150
|
+
#### `@mui/x-date-pickers@8.15.0`
|
|
151
|
+
|
|
152
|
+
Internal changes.
|
|
153
|
+
|
|
154
|
+
#### `@mui/x-date-pickers-pro@8.15.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
155
|
+
|
|
156
|
+
Same changes as in `@mui/x-date-pickers@8.15.0`.
|
|
157
|
+
|
|
158
|
+
### Charts
|
|
159
|
+
|
|
160
|
+
#### `@mui/x-charts@8.15.0`
|
|
161
|
+
|
|
162
|
+
- [charts] Add `ChartsBrushOverlay` and allow brush configuration (#19956) @JCQuintas
|
|
163
|
+
- [charts] Add `getStringSize` benchmark. Remove benchmarks from built package. (#19995) @bernardobelchior
|
|
164
|
+
- [charts] Batch string size measurement (#19994) @bernardobelchior
|
|
165
|
+
- [charts] Fix console issue (#20025) @JCQuintas
|
|
166
|
+
- [charts] Fix is[ZoomFeature]Enabled type (#20058) @alexfauquette
|
|
167
|
+
- [charts] Fix reference line middle spacing (#20004) @JCQuintas
|
|
168
|
+
- [charts] Improve `getStringSize` and `batchMeasureStrings` performance (#19996) @bernardobelchior
|
|
169
|
+
- [charts] Improve deep export script (#20007) @JCQuintas
|
|
170
|
+
- [charts] Improve string measurement benchmarks (#19999) @bernardobelchior
|
|
171
|
+
- [charts] Measure string sizes using SVG elements (#19981) @bernardobelchior
|
|
172
|
+
- [l10n] Improve Greek (gr-GR) locale (#20060) @ZagrebaAlex
|
|
173
|
+
|
|
174
|
+
#### `@mui/x-charts-pro@8.15.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
175
|
+
|
|
176
|
+
Same changes as in `@mui/x-charts@8.15.0`, plus:
|
|
177
|
+
|
|
178
|
+
- [charts-pro] Fix pan with `axis.reverse` (#20031) @JCQuintas
|
|
179
|
+
|
|
180
|
+
#### `@mui/x-charts-premium@8.15.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
181
|
+
|
|
182
|
+
Same changes as in `@mui/x-charts-pro@8.15.0`.
|
|
183
|
+
|
|
184
|
+
### Tree View
|
|
185
|
+
|
|
186
|
+
#### `@mui/x-tree-view@8.15.0`
|
|
187
|
+
|
|
188
|
+
- [tree view] Multi character type-ahead (#19942) @noraleonte
|
|
189
|
+
|
|
190
|
+
#### `@mui/x-tree-view-pro@8.15.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
191
|
+
|
|
192
|
+
Same changes as in `@mui/x-tree-view@8.15.0`.
|
|
193
|
+
|
|
194
|
+
### Codemod
|
|
195
|
+
|
|
196
|
+
#### `@mui/x-codemod@8.14.0`
|
|
197
|
+
|
|
198
|
+
Internal changes.
|
|
199
|
+
|
|
200
|
+
### Docs
|
|
201
|
+
|
|
202
|
+
- [docs] Add overview section for scatter chart and heatmap (#19888) @prakhargupta1
|
|
203
|
+
- [docs] Add charts bell curve example (#20003) @JCQuintas
|
|
204
|
+
- [docs] Add grouped multiple fields for Data Grid row grouping recipe (#19964) @siriwatknp
|
|
205
|
+
- [docs] Add Data Grid loading state recipe (#19958) @siriwatknp
|
|
206
|
+
|
|
207
|
+
### Core
|
|
208
|
+
|
|
209
|
+
- [code-infra] Remove @mui/monorepo usage for react versioning (#19894) @Janpot
|
|
210
|
+
- [code-infra] Remove invalid `environment: 'browser'` from vitest browser config (#19993) @bernardobelchior
|
|
211
|
+
- [code-infra] Remove unused babel aliases (#19987) @Janpot
|
|
212
|
+
- [code-infra] Turn on all testing-library eslint rules (#19946) @brijeshb42
|
|
213
|
+
- [docs-infra] Fix broken hash link (#20062) @Janpot
|
|
214
|
+
|
|
8
215
|
## 8.14.1
|
|
9
216
|
|
|
10
217
|
_Oct 16, 2025_
|
|
@@ -61,6 +61,14 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
61
61
|
apiRef: _propTypes.default.shape({
|
|
62
62
|
current: _propTypes.default.object
|
|
63
63
|
}),
|
|
64
|
+
/**
|
|
65
|
+
* Configuration for the brush interaction.
|
|
66
|
+
*/
|
|
67
|
+
brushConfig: _propTypes.default.shape({
|
|
68
|
+
enabled: _propTypes.default.bool,
|
|
69
|
+
preventHighlight: _propTypes.default.bool,
|
|
70
|
+
preventTooltip: _propTypes.default.bool
|
|
71
|
+
}),
|
|
64
72
|
children: _propTypes.default.node,
|
|
65
73
|
className: _propTypes.default.string,
|
|
66
74
|
/**
|
|
@@ -9,7 +9,7 @@ exports.useChartContainerProps = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var _allPlugins = require("../internals/plugins/allPlugins");
|
|
12
|
-
const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "onAxisClick", "highlightedAxis", "onHighlightedAxisChange", "disableVoronoi", "voronoiMaxRadius", "onItemClick", "disableAxisListener", "highlightedItem", "onHighlightChange", "sx", "title", "xAxis", "yAxis", "zAxis", "rotationAxis", "radiusAxis", "skipAnimation", "seriesConfig", "plugins", "localeText", "slots", "slotProps", "experimentalFeatures", "enableKeyboardNavigation"];
|
|
12
|
+
const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "onAxisClick", "highlightedAxis", "onHighlightedAxisChange", "disableVoronoi", "voronoiMaxRadius", "onItemClick", "disableAxisListener", "highlightedItem", "onHighlightChange", "sx", "title", "xAxis", "yAxis", "zAxis", "rotationAxis", "radiusAxis", "skipAnimation", "seriesConfig", "plugins", "localeText", "slots", "slotProps", "experimentalFeatures", "enableKeyboardNavigation", "brushConfig"];
|
|
13
13
|
const useChartContainerProps = (props, ref) => {
|
|
14
14
|
const _ref = props,
|
|
15
15
|
{
|
|
@@ -44,7 +44,8 @@ const useChartContainerProps = (props, ref) => {
|
|
|
44
44
|
slots,
|
|
45
45
|
slotProps,
|
|
46
46
|
experimentalFeatures,
|
|
47
|
-
enableKeyboardNavigation
|
|
47
|
+
enableKeyboardNavigation,
|
|
48
|
+
brushConfig
|
|
48
49
|
} = _ref,
|
|
49
50
|
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
50
51
|
const chartsSurfaceProps = (0, _extends2.default)({
|
|
@@ -79,6 +80,7 @@ const useChartContainerProps = (props, ref) => {
|
|
|
79
80
|
seriesConfig,
|
|
80
81
|
experimentalFeatures,
|
|
81
82
|
enableKeyboardNavigation,
|
|
83
|
+
brushConfig,
|
|
82
84
|
plugins: plugins ?? _allPlugins.DEFAULT_PLUGINS,
|
|
83
85
|
slots,
|
|
84
86
|
slotProps
|
|
@@ -17,7 +17,8 @@ var _ChartsAxisHighlightPath = require("./ChartsAxisHighlightPath");
|
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
/**
|
|
19
19
|
* @ignore - internal component.
|
|
20
|
-
*/
|
|
20
|
+
*/
|
|
21
|
+
function ChartsXHighlight(props) {
|
|
21
22
|
const {
|
|
22
23
|
type,
|
|
23
24
|
classes
|
|
@@ -17,7 +17,8 @@ var _ChartsAxisHighlightPath = require("./ChartsAxisHighlightPath");
|
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
/**
|
|
19
19
|
* @ignore - internal component.
|
|
20
|
-
*/
|
|
20
|
+
*/
|
|
21
|
+
function ChartsYHighlight(props) {
|
|
21
22
|
const {
|
|
22
23
|
type,
|
|
23
24
|
classes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface BrushOverlayClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the brush lines. */
|
|
5
|
+
rect: string;
|
|
6
|
+
/** Styles applied when the brush is selecting the x axis. */
|
|
7
|
+
x: string;
|
|
8
|
+
/** Styles applied when the brush is selecting the y axis. */
|
|
9
|
+
y: string;
|
|
10
|
+
}
|
|
11
|
+
export type BrushOverlayClassKey = keyof BrushOverlayClasses;
|
|
12
|
+
export declare const brushOverlayClasses: BrushOverlayClasses;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.brushOverlayClasses = void 0;
|
|
8
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
9
|
+
const brushOverlayClasses = exports.brushOverlayClasses = (0, _generateUtilityClasses.default)('MuiChartsBrushOverlay', ['root', 'rect', 'x', 'y']);
|