@mui/x-data-grid 8.27.3 → 8.27.4
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/CHANGELOG.md +56 -0
- package/components/GridScrollArea.js +6 -9
- package/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/esm/components/GridScrollArea.js +6 -9
- package/esm/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/esm/index.js +1 -1
- package/esm/locales/ukUA.js +13 -12
- package/index.js +1 -1
- package/locales/ukUA.js +13 -12
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,62 @@
|
|
|
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.27.4
|
|
9
|
+
|
|
10
|
+
_Mar 5, 2026_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
- 🌎 Improve Ukrainian (uk-UA) locale
|
|
16
|
+
|
|
17
|
+
Special thanks go out to this community member for their valuable contribution:
|
|
18
|
+
@lion1963
|
|
19
|
+
|
|
20
|
+
The following team members contributed to this release:
|
|
21
|
+
@arminmeh, @brijeshb42, @dav-is, @JCQuintas, @sai6855
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@8.27.4`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Prevent unnecessary row selection checkbox rerendering (#21571) @arminmeh
|
|
28
|
+
- [DataGrid] Make `GridScrollArea` overrides resolver dynamic (#21612) @sai6855
|
|
29
|
+
- [l10n] Improve Ukrainian (uk-UA) locale (#21381) @lion1963
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-pro@8.27.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid@8.27.4`, plus:
|
|
34
|
+
|
|
35
|
+
- [DataGridPro] Use `getRowId` prop to calculate the tree data row update (#21544) @arminmeh
|
|
36
|
+
|
|
37
|
+
#### `@mui/x-data-grid-premium@8.27.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
38
|
+
|
|
39
|
+
Same changes as in `@mui/x-data-grid-pro@8.27.4`.
|
|
40
|
+
|
|
41
|
+
### Charts
|
|
42
|
+
|
|
43
|
+
#### `@mui/x-charts@8.27.4`
|
|
44
|
+
|
|
45
|
+
- [charts] Deprecate `ChartDataProvider` in favour of `ChartsDataProvider` (#21549) @JCQuintas
|
|
46
|
+
- [charts] Rename `ChartContainer` to `ChartsContainer` (#21186) @JCQuintas
|
|
47
|
+
- [charts] Rename `ChartZoomSlider` to `ChartsZoomSlider` (#21572) @JCQuintas
|
|
48
|
+
|
|
49
|
+
#### `@mui/x-charts-pro@8.27.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
50
|
+
|
|
51
|
+
Same changes as in `@mui/x-charts@8.27.4`.
|
|
52
|
+
|
|
53
|
+
#### `@mui/x-charts-premium@8.27.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
54
|
+
|
|
55
|
+
Same changes as in `@mui/x-charts-pro@8.27.4`.
|
|
56
|
+
|
|
57
|
+
### Core
|
|
58
|
+
|
|
59
|
+
- [code-infra] Add eslint rule to prevent `Math.random` in docs (#21505) (#21563) @JCQuintas
|
|
60
|
+
- [code-infra] V8 Dedupe (#21561) @JCQuintas
|
|
61
|
+
- [docs-infra] Apply Cookie Banner to v8.x Branch (#21448) @dav-is
|
|
62
|
+
- [code-infra] Setup checkout to do full clone for non master branches (#21624) @brijeshb42
|
|
63
|
+
|
|
8
64
|
## 8.27.3
|
|
9
65
|
|
|
10
66
|
_Feb 25, 2026_
|
|
@@ -42,15 +42,12 @@ const useUtilityClasses = ownerState => {
|
|
|
42
42
|
const GridScrollAreaRawRoot = (0, _styles.styled)('div', {
|
|
43
43
|
name: 'MuiDataGrid',
|
|
44
44
|
slot: 'ScrollArea',
|
|
45
|
-
overridesResolver: (props, styles) =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}, {
|
|
52
|
-
[`&.${_constants.gridClasses['scrollArea--down']}`]: styles['scrollArea--down']
|
|
53
|
-
}, styles.scrollArea]
|
|
45
|
+
overridesResolver: (props, styles) => {
|
|
46
|
+
const {
|
|
47
|
+
ownerState
|
|
48
|
+
} = props;
|
|
49
|
+
return [styles.scrollArea, styles[`scrollArea--${ownerState.scrollDirection}`]];
|
|
50
|
+
}
|
|
54
51
|
})(() => ({
|
|
55
52
|
position: 'absolute',
|
|
56
53
|
zIndex: 101,
|
|
@@ -52,7 +52,7 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
|
|
|
52
52
|
} = (0, _useGridSelector.useGridSelector)(apiRef, _utils.checkboxPropsSelector, {
|
|
53
53
|
groupId: id,
|
|
54
54
|
autoSelectParents: rootProps.rowSelectionPropagation?.parents ?? false
|
|
55
|
-
});
|
|
55
|
+
}, _useGridSelector.objectShallowCompare);
|
|
56
56
|
const disabled = !isSelectable;
|
|
57
57
|
const handleChange = event => {
|
|
58
58
|
if (disabled) {
|
|
@@ -35,15 +35,12 @@ const useUtilityClasses = ownerState => {
|
|
|
35
35
|
const GridScrollAreaRawRoot = styled('div', {
|
|
36
36
|
name: 'MuiDataGrid',
|
|
37
37
|
slot: 'ScrollArea',
|
|
38
|
-
overridesResolver: (props, styles) =>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}, {
|
|
45
|
-
[`&.${gridClasses['scrollArea--down']}`]: styles['scrollArea--down']
|
|
46
|
-
}, styles.scrollArea]
|
|
38
|
+
overridesResolver: (props, styles) => {
|
|
39
|
+
const {
|
|
40
|
+
ownerState
|
|
41
|
+
} = props;
|
|
42
|
+
return [styles.scrollArea, styles[`scrollArea--${ownerState.scrollDirection}`]];
|
|
43
|
+
}
|
|
47
44
|
})(() => ({
|
|
48
45
|
position: 'absolute',
|
|
49
46
|
zIndex: 101,
|
|
@@ -12,7 +12,7 @@ import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
|
12
12
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
13
13
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
14
14
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
15
|
-
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
15
|
+
import { useGridSelector, objectShallowCompare } from "../../hooks/utils/useGridSelector.js";
|
|
16
16
|
import { checkboxPropsSelector } from "../../hooks/features/rowSelection/utils.js";
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
18
|
const useUtilityClasses = ownerState => {
|
|
@@ -45,7 +45,7 @@ const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(
|
|
|
45
45
|
} = useGridSelector(apiRef, checkboxPropsSelector, {
|
|
46
46
|
groupId: id,
|
|
47
47
|
autoSelectParents: rootProps.rowSelectionPropagation?.parents ?? false
|
|
48
|
-
});
|
|
48
|
+
}, objectShallowCompare);
|
|
49
49
|
const disabled = !isSelectable;
|
|
50
50
|
const handleChange = event => {
|
|
51
51
|
if (disabled) {
|
package/esm/index.js
CHANGED
package/esm/locales/ukUA.js
CHANGED
|
@@ -188,18 +188,19 @@ const ukUAGrid = {
|
|
|
188
188
|
collapseDetailPanel: 'Приховати',
|
|
189
189
|
// Pagination
|
|
190
190
|
paginationRowsPerPage: 'Рядків на сторінці:',
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
191
|
+
paginationDisplayedRows: ({
|
|
192
|
+
from,
|
|
193
|
+
to,
|
|
194
|
+
count,
|
|
195
|
+
estimated
|
|
196
|
+
}) => {
|
|
197
|
+
const unknownRowCount = count == null || count === -1;
|
|
198
|
+
if (!estimated) {
|
|
199
|
+
return `${from}–${to} з ${!unknownRowCount ? count : `більше ніж ${to}`}`;
|
|
200
|
+
}
|
|
201
|
+
const estimatedLabel = estimated && estimated > to ? `близько ${estimated}` : `більше ніж ${to}`;
|
|
202
|
+
return `${from}–${to} з ${!unknownRowCount ? count : estimatedLabel}`;
|
|
203
|
+
},
|
|
203
204
|
paginationItemAriaLabel: type => {
|
|
204
205
|
if (type === 'first') {
|
|
205
206
|
return 'Перейти на першу сторінку';
|
package/index.js
CHANGED
package/locales/ukUA.js
CHANGED
|
@@ -194,18 +194,19 @@ const ukUAGrid = {
|
|
|
194
194
|
collapseDetailPanel: 'Приховати',
|
|
195
195
|
// Pagination
|
|
196
196
|
paginationRowsPerPage: 'Рядків на сторінці:',
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
197
|
+
paginationDisplayedRows: ({
|
|
198
|
+
from,
|
|
199
|
+
to,
|
|
200
|
+
count,
|
|
201
|
+
estimated
|
|
202
|
+
}) => {
|
|
203
|
+
const unknownRowCount = count == null || count === -1;
|
|
204
|
+
if (!estimated) {
|
|
205
|
+
return `${from}–${to} з ${!unknownRowCount ? count : `більше ніж ${to}`}`;
|
|
206
|
+
}
|
|
207
|
+
const estimatedLabel = estimated && estimated > to ? `близько ${estimated}` : `більше ніж ${to}`;
|
|
208
|
+
return `${from}–${to} з ${!unknownRowCount ? count : estimatedLabel}`;
|
|
209
|
+
},
|
|
209
210
|
paginationItemAriaLabel: type => {
|
|
210
211
|
if (type === 'first') {
|
|
211
212
|
return 'Перейти на першу сторінку';
|