@mui/x-data-grid 8.10.1 → 8.10.2
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 +86 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +5 -1
- package/components/containers/GridRootStyles.js +5 -0
- package/esm/components/columnHeaders/GridColumnHeaderItem.js +5 -1
- package/esm/components/containers/GridRootStyles.js +5 -0
- package/esm/hooks/features/filter/gridFilterUtils.js +11 -2
- package/esm/index.js +1 -1
- package/esm/locales/fiFI.js +6 -6
- package/hooks/features/filter/gridFilterUtils.js +10 -1
- package/index.js +1 -1
- package/locales/fiFI.js +6 -6
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,92 @@
|
|
|
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.10.2
|
|
9
|
+
|
|
10
|
+
_Aug 20, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🌎 Improve Finnish (fi-FI) locale on the Data Grid
|
|
15
|
+
|
|
16
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
17
|
+
@lauri-heinonen-2025-04, @Methuselah96, @sai6855, @wilcoschoneveld
|
|
18
|
+
|
|
19
|
+
The following are all team members who have contributed to this release:
|
|
20
|
+
@alexfauquette, @cherniavskii, @flaviendelangle, @Janpot, @oliviertassinari, @rita-codes
|
|
21
|
+
|
|
22
|
+
### Data Grid
|
|
23
|
+
|
|
24
|
+
#### `@mui/x-data-grid@8.10.2`
|
|
25
|
+
|
|
26
|
+
- [DataGrid] Fix display for `<GridEditSingleSelect />` when `density='compact'` (#19249) @sai6855
|
|
27
|
+
- [DataGrid] Fix column header sortable classname when using `disableColumnSorting` (#19222) @wilcoschoneveld
|
|
28
|
+
- [l10n] Improve finnish (fi-FI) locale (#19163) @lauri-heinonen-2025-04
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-data-grid-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
31
|
+
|
|
32
|
+
Same changes as in `@mui/x-data-grid@8.10.2`, plus:
|
|
33
|
+
|
|
34
|
+
- [DataGridPro] Fix quick filter not working in List View mode (#19254) @cherniavskii
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid-premium@8.10.2` [](https://mui.com/r/x-premium-svg-link "Premium plan")
|
|
37
|
+
|
|
38
|
+
Same changes as in `@mui/x-data-grid-pro@8.10.2`.
|
|
39
|
+
|
|
40
|
+
### Date and Time Pickers
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-date-pickers@8.10.2`
|
|
43
|
+
|
|
44
|
+
Internal changes.
|
|
45
|
+
|
|
46
|
+
#### `@mui/x-date-pickers-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
47
|
+
|
|
48
|
+
Same changes as in `@mui/x-date-pickers@8.10.2`.
|
|
49
|
+
|
|
50
|
+
### Charts
|
|
51
|
+
|
|
52
|
+
#### `@mui/x-charts@8.10.2`
|
|
53
|
+
|
|
54
|
+
Internal changes.
|
|
55
|
+
|
|
56
|
+
#### `@mui/x-charts-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
57
|
+
|
|
58
|
+
Same changes as in `@mui/x-charts@8.10.2`.
|
|
59
|
+
|
|
60
|
+
### Tree View
|
|
61
|
+
|
|
62
|
+
#### `@mui/x-tree-view@8.10.2`
|
|
63
|
+
|
|
64
|
+
- [tree view] Add `aria-hidden` to the Tree Item Checkbox (#19246) @flaviendelangle
|
|
65
|
+
|
|
66
|
+
#### `@mui/x-tree-view-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link "Pro plan")
|
|
67
|
+
|
|
68
|
+
Same changes as in `@mui/x-tree-view@8.10.2`.
|
|
69
|
+
|
|
70
|
+
### Codemod
|
|
71
|
+
|
|
72
|
+
#### `@mui/x-codemod@8.10.2`
|
|
73
|
+
|
|
74
|
+
Internal changes.
|
|
75
|
+
|
|
76
|
+
### Docs
|
|
77
|
+
|
|
78
|
+
- [docs] Fix links to the pyramid chart (#19250) @alexfauquette
|
|
79
|
+
|
|
80
|
+
### Core
|
|
81
|
+
|
|
82
|
+
- [internal] Avoid script for CI only @oliviertassinari
|
|
83
|
+
- [internal] Fix `renovate.json` @oliviertassinari
|
|
84
|
+
- [internal] Polish renovate config @oliviertassinari
|
|
85
|
+
- [internal] Rename core to internal (#19203) @oliviertassinari
|
|
86
|
+
- [internal] Update link to GitHub labels @oliviertassinari
|
|
87
|
+
|
|
88
|
+
### Miscellaneous
|
|
89
|
+
|
|
90
|
+
- [code-infra] Prepare for incoming `execa` update (#19229) @Janpot
|
|
91
|
+
- [virtualizer] Fix type import (#19192) @Methuselah96
|
|
92
|
+
- [virtualizer] Improve type export (#19192) @Methuselah96
|
|
93
|
+
|
|
8
94
|
## 8.10.1
|
|
9
95
|
|
|
10
96
|
_Aug 15, 2025_
|
|
@@ -26,6 +26,9 @@ var _constants = require("../../internals/constants");
|
|
|
26
26
|
var _utils = require("../../internals/utils");
|
|
27
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
28
|
const useUtilityClasses = ownerState => {
|
|
29
|
+
const {
|
|
30
|
+
disableColumnSorting
|
|
31
|
+
} = (0, _useGridRootProps.useGridRootProps)();
|
|
29
32
|
const {
|
|
30
33
|
colDef,
|
|
31
34
|
classes,
|
|
@@ -38,12 +41,13 @@ const useUtilityClasses = ownerState => {
|
|
|
38
41
|
isLastUnpinned,
|
|
39
42
|
isSiblingFocused
|
|
40
43
|
} = ownerState;
|
|
44
|
+
const isColumnSortable = colDef.sortable && !disableColumnSorting;
|
|
41
45
|
const isColumnSorted = sortDirection != null;
|
|
42
46
|
const isColumnFiltered = filterItemsCounter != null && filterItemsCounter > 0;
|
|
43
47
|
// todo refactor to a prop on col isNumeric or ?? ie: coltype===price wont work
|
|
44
48
|
const isColumnNumeric = colDef.type === 'number';
|
|
45
49
|
const slots = {
|
|
46
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight',
|
|
50
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', isColumnSortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight',
|
|
47
51
|
// TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
|
|
48
52
|
// See https://github.com/mui/mui-x/pull/14559
|
|
49
53
|
isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
|
|
@@ -689,6 +689,11 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
689
689
|
outlineOffset: focusOutlineWidth * -1
|
|
690
690
|
}
|
|
691
691
|
},
|
|
692
|
+
[`& .${_gridClasses.gridClasses['cell--editing']}`]: {
|
|
693
|
+
'& .MuiInputBase-root': {
|
|
694
|
+
height: '100%'
|
|
695
|
+
}
|
|
696
|
+
},
|
|
692
697
|
[`& .${_gridClasses.gridClasses['row--editing']}`]: {
|
|
693
698
|
boxShadow: _cssVariables.vars.shadows.base
|
|
694
699
|
},
|
|
@@ -19,6 +19,9 @@ import { PinnedColumnPosition } from "../../internals/constants.js";
|
|
|
19
19
|
import { attachPinnedStyle } from "../../internals/utils/index.js";
|
|
20
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
21
|
const useUtilityClasses = ownerState => {
|
|
22
|
+
const {
|
|
23
|
+
disableColumnSorting
|
|
24
|
+
} = useGridRootProps();
|
|
22
25
|
const {
|
|
23
26
|
colDef,
|
|
24
27
|
classes,
|
|
@@ -31,12 +34,13 @@ const useUtilityClasses = ownerState => {
|
|
|
31
34
|
isLastUnpinned,
|
|
32
35
|
isSiblingFocused
|
|
33
36
|
} = ownerState;
|
|
37
|
+
const isColumnSortable = colDef.sortable && !disableColumnSorting;
|
|
34
38
|
const isColumnSorted = sortDirection != null;
|
|
35
39
|
const isColumnFiltered = filterItemsCounter != null && filterItemsCounter > 0;
|
|
36
40
|
// todo refactor to a prop on col isNumeric or ?? ie: coltype===price wont work
|
|
37
41
|
const isColumnNumeric = colDef.type === 'number';
|
|
38
42
|
const slots = {
|
|
39
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight',
|
|
43
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', isColumnSortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight',
|
|
40
44
|
// TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
|
|
41
45
|
// See https://github.com/mui/mui-x/pull/14559
|
|
42
46
|
isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
|
|
@@ -683,6 +683,11 @@ export const GridRootStyles = styled('div', {
|
|
|
683
683
|
outlineOffset: focusOutlineWidth * -1
|
|
684
684
|
}
|
|
685
685
|
},
|
|
686
|
+
[`& .${c['cell--editing']}`]: {
|
|
687
|
+
'& .MuiInputBase-root': {
|
|
688
|
+
height: '100%'
|
|
689
|
+
}
|
|
690
|
+
},
|
|
686
691
|
[`& .${c['row--editing']}`]: {
|
|
687
692
|
boxShadow: vars.shadows.base
|
|
688
693
|
},
|
|
@@ -3,7 +3,7 @@ import { warnOnce } from '@mui/x-internals/warning';
|
|
|
3
3
|
import { GridLogicOperator } from "../../../models/index.js";
|
|
4
4
|
import { getDefaultGridFilterModel } from "./gridFilterState.js";
|
|
5
5
|
import { getPublicApiRef } from "../../../utils/getPublicApiRef.js";
|
|
6
|
-
import { gridColumnFieldsSelector, gridColumnLookupSelector,
|
|
6
|
+
import { gridColumnFieldsSelector, gridColumnLookupSelector, gridColumnVisibilityModelSelector } from "../columns/index.js";
|
|
7
7
|
let hasEval;
|
|
8
8
|
function getHasEval() {
|
|
9
9
|
if (hasEval !== undefined) {
|
|
@@ -191,7 +191,16 @@ const buildAggregatedQuickFilterApplier = (filterModel, apiRef) => {
|
|
|
191
191
|
if (quickFilterValues.length === 0) {
|
|
192
192
|
return null;
|
|
193
193
|
}
|
|
194
|
-
const
|
|
194
|
+
const allColumnFields = gridColumnFieldsSelector(apiRef);
|
|
195
|
+
const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
|
|
196
|
+
let columnFields;
|
|
197
|
+
if (shouldQuickFilterExcludeHiddenColumns(filterModel)) {
|
|
198
|
+
// Do not use gridVisibleColumnFieldsSelector here, because quick filter won't work in the list view mode
|
|
199
|
+
// See https://github.com/mui/mui-x/issues/19145
|
|
200
|
+
columnFields = allColumnFields.filter(field => columnVisibilityModel[field] !== false);
|
|
201
|
+
} else {
|
|
202
|
+
columnFields = allColumnFields;
|
|
203
|
+
}
|
|
195
204
|
const appliersPerField = [];
|
|
196
205
|
const {
|
|
197
206
|
ignoreDiacritics
|
package/esm/index.js
CHANGED
package/esm/locales/fiFI.js
CHANGED
|
@@ -3,8 +3,8 @@ const fiFIGrid = {
|
|
|
3
3
|
// Root
|
|
4
4
|
noRowsLabel: 'Ei rivejä',
|
|
5
5
|
noResultsOverlayLabel: 'Ei tuloksia.',
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
noColumnsOverlayLabel: 'Ei sarakkeita',
|
|
7
|
+
noColumnsOverlayManageColumns: 'Hallitse sarakkeita',
|
|
8
8
|
// emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
|
|
9
9
|
|
|
10
10
|
// Density selector toolbar button text
|
|
@@ -58,9 +58,9 @@ const fiFIGrid = {
|
|
|
58
58
|
filterPanelInputPlaceholder: 'Suodattimen arvo',
|
|
59
59
|
// Filter operators text
|
|
60
60
|
filterOperatorContains: 'sisältää',
|
|
61
|
-
|
|
61
|
+
filterOperatorDoesNotContain: 'ei sisällä',
|
|
62
62
|
filterOperatorEquals: 'on yhtä suuri kuin',
|
|
63
|
-
|
|
63
|
+
filterOperatorDoesNotEqual: 'on eri suuri kuin',
|
|
64
64
|
filterOperatorStartsWith: 'alkaa',
|
|
65
65
|
filterOperatorEndsWith: 'päättyy',
|
|
66
66
|
filterOperatorIs: 'on',
|
|
@@ -80,9 +80,9 @@ const fiFIGrid = {
|
|
|
80
80
|
'filterOperator<=': '<=',
|
|
81
81
|
// Header filter operators text
|
|
82
82
|
headerFilterOperatorContains: 'Sisältää',
|
|
83
|
-
|
|
83
|
+
headerFilterOperatorDoesNotContain: 'Ei sisällä',
|
|
84
84
|
headerFilterOperatorEquals: 'On yhtä suuri kuin',
|
|
85
|
-
|
|
85
|
+
headerFilterOperatorDoesNotEqual: 'On eri suuri kuin',
|
|
86
86
|
headerFilterOperatorStartsWith: 'Alkaa',
|
|
87
87
|
headerFilterOperatorEndsWith: 'Päättyy',
|
|
88
88
|
headerFilterOperatorIs: 'On',
|
|
@@ -203,7 +203,16 @@ const buildAggregatedQuickFilterApplier = (filterModel, apiRef) => {
|
|
|
203
203
|
if (quickFilterValues.length === 0) {
|
|
204
204
|
return null;
|
|
205
205
|
}
|
|
206
|
-
const
|
|
206
|
+
const allColumnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
|
|
207
|
+
const columnVisibilityModel = (0, _columns.gridColumnVisibilityModelSelector)(apiRef);
|
|
208
|
+
let columnFields;
|
|
209
|
+
if (shouldQuickFilterExcludeHiddenColumns(filterModel)) {
|
|
210
|
+
// Do not use gridVisibleColumnFieldsSelector here, because quick filter won't work in the list view mode
|
|
211
|
+
// See https://github.com/mui/mui-x/issues/19145
|
|
212
|
+
columnFields = allColumnFields.filter(field => columnVisibilityModel[field] !== false);
|
|
213
|
+
} else {
|
|
214
|
+
columnFields = allColumnFields;
|
|
215
|
+
}
|
|
207
216
|
const appliersPerField = [];
|
|
208
217
|
const {
|
|
209
218
|
ignoreDiacritics
|
package/index.js
CHANGED
package/locales/fiFI.js
CHANGED
|
@@ -9,8 +9,8 @@ const fiFIGrid = {
|
|
|
9
9
|
// Root
|
|
10
10
|
noRowsLabel: 'Ei rivejä',
|
|
11
11
|
noResultsOverlayLabel: 'Ei tuloksia.',
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
noColumnsOverlayLabel: 'Ei sarakkeita',
|
|
13
|
+
noColumnsOverlayManageColumns: 'Hallitse sarakkeita',
|
|
14
14
|
// emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
|
|
15
15
|
|
|
16
16
|
// Density selector toolbar button text
|
|
@@ -64,9 +64,9 @@ const fiFIGrid = {
|
|
|
64
64
|
filterPanelInputPlaceholder: 'Suodattimen arvo',
|
|
65
65
|
// Filter operators text
|
|
66
66
|
filterOperatorContains: 'sisältää',
|
|
67
|
-
|
|
67
|
+
filterOperatorDoesNotContain: 'ei sisällä',
|
|
68
68
|
filterOperatorEquals: 'on yhtä suuri kuin',
|
|
69
|
-
|
|
69
|
+
filterOperatorDoesNotEqual: 'on eri suuri kuin',
|
|
70
70
|
filterOperatorStartsWith: 'alkaa',
|
|
71
71
|
filterOperatorEndsWith: 'päättyy',
|
|
72
72
|
filterOperatorIs: 'on',
|
|
@@ -86,9 +86,9 @@ const fiFIGrid = {
|
|
|
86
86
|
'filterOperator<=': '<=',
|
|
87
87
|
// Header filter operators text
|
|
88
88
|
headerFilterOperatorContains: 'Sisältää',
|
|
89
|
-
|
|
89
|
+
headerFilterOperatorDoesNotContain: 'Ei sisällä',
|
|
90
90
|
headerFilterOperatorEquals: 'On yhtä suuri kuin',
|
|
91
|
-
|
|
91
|
+
headerFilterOperatorDoesNotEqual: 'On eri suuri kuin',
|
|
92
92
|
headerFilterOperatorStartsWith: 'Alkaa',
|
|
93
93
|
headerFilterOperatorEndsWith: 'Päättyy',
|
|
94
94
|
headerFilterOperatorIs: 'On',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "8.10.
|
|
3
|
+
"version": "8.10.2",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Community plan edition of the MUI X Data Grid components.",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"clsx": "^2.1.1",
|
|
44
44
|
"prop-types": "^15.8.1",
|
|
45
45
|
"use-sync-external-store": "^1.5.0",
|
|
46
|
-
"@mui/x-internals": "8.10.
|
|
47
|
-
"@mui/x-virtualizer": "0.1.
|
|
46
|
+
"@mui/x-internals": "8.10.2",
|
|
47
|
+
"@mui/x-virtualizer": "0.1.3"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@emotion/react": "^11.9.0",
|
|
@@ -70,23 +70,23 @@
|
|
|
70
70
|
"exports": {
|
|
71
71
|
"./package.json": "./package.json",
|
|
72
72
|
".": {
|
|
73
|
-
"import": {
|
|
74
|
-
"types": "./esm/index.d.ts",
|
|
75
|
-
"default": "./esm/index.js"
|
|
76
|
-
},
|
|
77
73
|
"require": {
|
|
78
74
|
"types": "./index.d.ts",
|
|
79
75
|
"default": "./index.js"
|
|
76
|
+
},
|
|
77
|
+
"import": {
|
|
78
|
+
"types": "./esm/index.d.ts",
|
|
79
|
+
"default": "./esm/index.js"
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
"./*": {
|
|
83
|
-
"import": {
|
|
84
|
-
"types": "./esm/*/index.d.ts",
|
|
85
|
-
"default": "./esm/*/index.js"
|
|
86
|
-
},
|
|
87
83
|
"require": {
|
|
88
84
|
"types": "./*/index.d.ts",
|
|
89
85
|
"default": "./*/index.js"
|
|
86
|
+
},
|
|
87
|
+
"import": {
|
|
88
|
+
"types": "./esm/*/index.d.ts",
|
|
89
|
+
"default": "./esm/*/index.js"
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
92
|
"./esm": null
|