@mui/x-data-grid 7.16.0 → 7.17.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/CHANGELOG.md +87 -0
- package/colDef/gridStringOperators.js +49 -33
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/components/containers/GridRootStyles.js +3 -7
- package/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/constants/gridClasses.d.ts +10 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +4 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +6 -1
- package/hooks/features/editing/useGridCellEditing.js +1 -1
- package/hooks/features/editing/useGridRowEditing.js +1 -1
- package/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/hooks/features/filter/gridFilterUtils.js +1 -1
- package/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/hooks/utils/useGridSelector.js +1 -1
- package/index.js +1 -1
- package/internals/utils/index.d.ts +0 -1
- package/internals/utils/index.js +1 -2
- package/internals/utils/propValidation.js +1 -1
- package/locales/arSD.js +4 -0
- package/locales/beBY.js +4 -0
- package/locales/bgBG.js +4 -0
- package/locales/csCZ.js +4 -0
- package/locales/daDK.js +4 -0
- package/locales/deDE.js +4 -0
- package/locales/elGR.js +4 -0
- package/locales/esES.js +4 -0
- package/locales/faIR.js +4 -0
- package/locales/fiFI.js +4 -0
- package/locales/frFR.js +4 -0
- package/locales/heIL.js +4 -0
- package/locales/hrHR.js +4 -0
- package/locales/huHU.js +11 -8
- package/locales/isIS.js +4 -0
- package/locales/itIT.js +4 -0
- package/locales/jaJP.js +4 -0
- package/locales/koKR.js +4 -0
- package/locales/nbNO.js +4 -0
- package/locales/nlNL.js +4 -0
- package/locales/nnNO.js +4 -0
- package/locales/plPL.js +4 -0
- package/locales/ptBR.js +4 -0
- package/locales/ptPT.js +4 -0
- package/locales/roRO.js +4 -0
- package/locales/ruRU.js +4 -0
- package/locales/skSK.js +4 -0
- package/locales/svSE.js +4 -0
- package/locales/trTR.js +4 -0
- package/locales/ukUA.js +4 -0
- package/locales/urPK.js +4 -0
- package/locales/viVN.js +4 -0
- package/locales/zhCN.js +4 -0
- package/locales/zhHK.js +4 -0
- package/locales/zhTW.js +4 -0
- package/models/api/gridLocaleTextApi.d.ts +4 -0
- package/modern/colDef/gridStringOperators.js +49 -33
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/modern/components/containers/GridRootStyles.js +3 -7
- package/modern/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +4 -0
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +6 -1
- package/modern/hooks/features/editing/useGridCellEditing.js +1 -1
- package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
- package/modern/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
- package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/modern/hooks/utils/useGridSelector.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/utils/index.js +1 -2
- package/modern/internals/utils/propValidation.js +1 -1
- package/modern/locales/arSD.js +4 -0
- package/modern/locales/beBY.js +4 -0
- package/modern/locales/bgBG.js +4 -0
- package/modern/locales/csCZ.js +4 -0
- package/modern/locales/daDK.js +4 -0
- package/modern/locales/deDE.js +4 -0
- package/modern/locales/elGR.js +4 -0
- package/modern/locales/esES.js +4 -0
- package/modern/locales/faIR.js +4 -0
- package/modern/locales/fiFI.js +4 -0
- package/modern/locales/frFR.js +4 -0
- package/modern/locales/heIL.js +4 -0
- package/modern/locales/hrHR.js +4 -0
- package/modern/locales/huHU.js +11 -8
- package/modern/locales/isIS.js +4 -0
- package/modern/locales/itIT.js +4 -0
- package/modern/locales/jaJP.js +4 -0
- package/modern/locales/koKR.js +4 -0
- package/modern/locales/nbNO.js +4 -0
- package/modern/locales/nlNL.js +4 -0
- package/modern/locales/nnNO.js +4 -0
- package/modern/locales/plPL.js +4 -0
- package/modern/locales/ptBR.js +4 -0
- package/modern/locales/ptPT.js +4 -0
- package/modern/locales/roRO.js +4 -0
- package/modern/locales/ruRU.js +4 -0
- package/modern/locales/skSK.js +4 -0
- package/modern/locales/svSE.js +4 -0
- package/modern/locales/trTR.js +4 -0
- package/modern/locales/ukUA.js +4 -0
- package/modern/locales/urPK.js +4 -0
- package/modern/locales/viVN.js +4 -0
- package/modern/locales/zhCN.js +4 -0
- package/modern/locales/zhHK.js +4 -0
- package/modern/locales/zhTW.js +4 -0
- package/modern/utils/createSelector.js +1 -1
- package/node/colDef/gridStringOperators.js +49 -33
- package/node/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/node/components/containers/GridRootStyles.js +3 -7
- package/node/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +4 -0
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +6 -1
- package/node/hooks/features/editing/useGridCellEditing.js +1 -1
- package/node/hooks/features/editing/useGridRowEditing.js +1 -1
- package/node/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/node/hooks/features/filter/gridFilterUtils.js +1 -1
- package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/utils/index.js +0 -11
- package/node/internals/utils/propValidation.js +1 -1
- package/node/locales/arSD.js +4 -0
- package/node/locales/beBY.js +4 -0
- package/node/locales/bgBG.js +4 -0
- package/node/locales/csCZ.js +4 -0
- package/node/locales/daDK.js +4 -0
- package/node/locales/deDE.js +4 -0
- package/node/locales/elGR.js +4 -0
- package/node/locales/esES.js +4 -0
- package/node/locales/faIR.js +4 -0
- package/node/locales/fiFI.js +4 -0
- package/node/locales/frFR.js +4 -0
- package/node/locales/heIL.js +4 -0
- package/node/locales/hrHR.js +4 -0
- package/node/locales/huHU.js +11 -8
- package/node/locales/isIS.js +4 -0
- package/node/locales/itIT.js +4 -0
- package/node/locales/jaJP.js +4 -0
- package/node/locales/koKR.js +4 -0
- package/node/locales/nbNO.js +4 -0
- package/node/locales/nlNL.js +4 -0
- package/node/locales/nnNO.js +4 -0
- package/node/locales/plPL.js +4 -0
- package/node/locales/ptBR.js +4 -0
- package/node/locales/ptPT.js +4 -0
- package/node/locales/roRO.js +4 -0
- package/node/locales/ruRU.js +4 -0
- package/node/locales/skSK.js +4 -0
- package/node/locales/svSE.js +4 -0
- package/node/locales/trTR.js +4 -0
- package/node/locales/ukUA.js +4 -0
- package/node/locales/urPK.js +4 -0
- package/node/locales/viVN.js +4 -0
- package/node/locales/zhCN.js +4 -0
- package/node/locales/zhHK.js +4 -0
- package/node/locales/zhTW.js +4 -0
- package/node/utils/createSelector.js +1 -1
- package/package.json +2 -2
- package/utils/createSelector.js +1 -1
- package/internals/utils/warning.d.ts +0 -2
- package/internals/utils/warning.js +0 -21
- package/modern/internals/utils/warning.js +0 -21
- package/node/internals/utils/warning.js +0 -28
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,93 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 7.17.0
|
|
7
|
+
|
|
8
|
+
_Sep 13, 2024_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 📊 Charts performance improvement
|
|
13
|
+
- 🧑💻 New Data Grid [custom columns demo](https://mui.com/x/react-data-grid/custom-columns/#full-example)
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
- 🌍 Improve Hungarian (hu-HU) locale on the Data Grid
|
|
17
|
+
|
|
18
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
19
|
+
|
|
20
|
+
### Data Grid
|
|
21
|
+
|
|
22
|
+
#### `@mui/x-data-grid@7.17.0`
|
|
23
|
+
|
|
24
|
+
- [DataGrid] Add "does not equal" and "does not contain" filter operators (#14489) @KenanYusuf
|
|
25
|
+
- [DataGrid] Add demo to the "Custom columns" page that does not use generator (#13695) @arminmeh
|
|
26
|
+
- [DataGrid] Fix Voice Over reading the column name twice (#14482) @arminmeh
|
|
27
|
+
- [DataGrid] Fix bug in CRUD example (#14513) @michelengelen
|
|
28
|
+
- [DataGrid] Fix failing jsdom tests caused by `:has()` selectors (#14559) @KenanYusuf
|
|
29
|
+
- [DataGrid] Refactor string operator filter functions (#14564) @KenanYusuf
|
|
30
|
+
- [l10n] Improve Hungarian (hu-HU) locale (#14506) @ntamas
|
|
31
|
+
|
|
32
|
+
#### `@mui/x-data-grid-pro@7.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
33
|
+
|
|
34
|
+
Same changes as in `@mui/x-data-grid@7.17.0`.
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid-premium@7.17.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
37
|
+
|
|
38
|
+
Same changes as in `@mui/x-data-grid-pro@7.17.0`.
|
|
39
|
+
|
|
40
|
+
### Date and Time Pickers
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-date-pickers@7.17.0`
|
|
43
|
+
|
|
44
|
+
- [fields] Improve `useSplitFieldProps` and make it public (#14514) @flaviendelangle
|
|
45
|
+
- [pickers] Improve clear action label (#14243) @oliviertassinari
|
|
46
|
+
- [pickers] Add `"use client"` directive to every public component and hook (#14562) @flaviendelangle
|
|
47
|
+
- [pickers] Allow custom fields to validate the value (#14486) @flaviendelangle
|
|
48
|
+
- [pickers] Stop using utils in locales (#14505) @flaviendelangle
|
|
49
|
+
|
|
50
|
+
#### `@mui/x-date-pickers-pro@7.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
51
|
+
|
|
52
|
+
Same changes as in `@mui/x-date-pickers@7.17.0`, plus:
|
|
53
|
+
|
|
54
|
+
- [DateRangePicker] Fix `currentMonthCalendarPosition` not scrolling to future sibling (#14442) @GMchris
|
|
55
|
+
|
|
56
|
+
### Charts
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-charts@7.17.0`
|
|
59
|
+
|
|
60
|
+
- [charts] Add `"use client"` directive to every public component and hook (#14578) @flaviendelangle
|
|
61
|
+
- [charts] Allow `onItemClick` on the `Legend` component (#14231) @JCQuintas
|
|
62
|
+
- [charts] Fix `onAxisClick` with `layout='horizontal'` (#14547) @alexfauquette
|
|
63
|
+
- [charts] Replace `path` with `circle` for performance improvement (#14518) @alexfauquette
|
|
64
|
+
|
|
65
|
+
#### `@mui/x-charts-pro@7.0.0-beta.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
66
|
+
|
|
67
|
+
Same changes as in `@mui/x-charts@7.17.0`.
|
|
68
|
+
|
|
69
|
+
### Tree View
|
|
70
|
+
|
|
71
|
+
#### `@mui/x-tree-view@7.17.0`
|
|
72
|
+
|
|
73
|
+
- [TreeView] Make `useTreeItem2` stable (#14498) @flaviendelangle
|
|
74
|
+
|
|
75
|
+
### Docs
|
|
76
|
+
|
|
77
|
+
- [docs] Add missing callout on "Imperative API" tree view sections (#14503) @flaviendelangle
|
|
78
|
+
- [docs] Fix broken redirection to MUI X v5 @oliviertassinari
|
|
79
|
+
- [docs] Fix multiple `console.error` messages on `charts` docs (#14554) @JCQuintas
|
|
80
|
+
- [docs] Fixed typo in Row Grouping recipes (#14549) @Miodini
|
|
81
|
+
- [docs] Match title with blog posts @oliviertassinari
|
|
82
|
+
|
|
83
|
+
### Core
|
|
84
|
+
|
|
85
|
+
- [core] Move warning methods to `@mui/x-internals` (#14528) @k-rajat19
|
|
86
|
+
- [core] Sync with core release flow @oliviertassinari
|
|
87
|
+
- [code-infra] Fix charts benchmark workflow (#14573) @JCQuintas
|
|
88
|
+
- [docs-infra] Type interface API pages (#14138) @alexfauquette
|
|
89
|
+
- [infra] Create `ESLint plugins` renovate group (#14574) @LukasTy
|
|
90
|
+
- [license] Clean-up terminology to match codebase (#14531) @oliviertassinari
|
|
91
|
+
- [test] Remove dead `act()` logic (#14529) @oliviertassinari
|
|
92
|
+
|
|
6
93
|
## 7.16.0
|
|
7
94
|
|
|
8
95
|
_Sep 5, 2024_
|
|
@@ -15,34 +15,58 @@ export const getGridStringQuickFilterFn = value => {
|
|
|
15
15
|
return columnValue != null ? filterRegex.test(columnValue.toString()) : false;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
+
const createContainsFilterFn = (disableTrim, negate) => filterItem => {
|
|
19
|
+
if (!filterItem.value) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const trimmedValue = disableTrim ? filterItem.value : filterItem.value.trim();
|
|
23
|
+
const filterRegex = new RegExp(escapeRegExp(trimmedValue), 'i');
|
|
24
|
+
return value => {
|
|
25
|
+
if (value == null) {
|
|
26
|
+
return negate;
|
|
27
|
+
}
|
|
28
|
+
const matches = filterRegex.test(String(value));
|
|
29
|
+
return negate ? !matches : matches;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const createEqualityFilterFn = (disableTrim, negate) => filterItem => {
|
|
33
|
+
if (!filterItem.value) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const trimmedValue = disableTrim ? filterItem.value : filterItem.value.trim();
|
|
37
|
+
const collator = new Intl.Collator(undefined, {
|
|
38
|
+
sensitivity: 'base',
|
|
39
|
+
usage: 'search'
|
|
40
|
+
});
|
|
41
|
+
return value => {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return negate;
|
|
44
|
+
}
|
|
45
|
+
const isEqual = collator.compare(trimmedValue, value.toString()) === 0;
|
|
46
|
+
return negate ? !isEqual : isEqual;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const createEmptyFilterFn = negate => () => {
|
|
50
|
+
return value => {
|
|
51
|
+
const isEmpty = value === '' || value == null;
|
|
52
|
+
return negate ? !isEmpty : isEmpty;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
18
55
|
export const getGridStringOperators = (disableTrim = false) => [{
|
|
19
56
|
value: 'contains',
|
|
20
|
-
getApplyFilterFn:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const filterRegex = new RegExp(escapeRegExp(filterItemValue), 'i');
|
|
26
|
-
return value => {
|
|
27
|
-
return value != null ? filterRegex.test(String(value)) : false;
|
|
28
|
-
};
|
|
29
|
-
},
|
|
57
|
+
getApplyFilterFn: createContainsFilterFn(disableTrim, false),
|
|
58
|
+
InputComponent: GridFilterInputValue
|
|
59
|
+
}, {
|
|
60
|
+
value: 'doesNotContain',
|
|
61
|
+
getApplyFilterFn: createContainsFilterFn(disableTrim, true),
|
|
30
62
|
InputComponent: GridFilterInputValue
|
|
31
63
|
}, {
|
|
32
64
|
value: 'equals',
|
|
33
|
-
getApplyFilterFn:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const collator = new Intl.Collator(undefined, {
|
|
39
|
-
sensitivity: 'base',
|
|
40
|
-
usage: 'search'
|
|
41
|
-
});
|
|
42
|
-
return value => {
|
|
43
|
-
return value != null ? collator.compare(filterItemValue, value.toString()) === 0 : false;
|
|
44
|
-
};
|
|
45
|
-
},
|
|
65
|
+
getApplyFilterFn: createEqualityFilterFn(disableTrim, false),
|
|
66
|
+
InputComponent: GridFilterInputValue
|
|
67
|
+
}, {
|
|
68
|
+
value: 'doesNotEqual',
|
|
69
|
+
getApplyFilterFn: createEqualityFilterFn(disableTrim, true),
|
|
46
70
|
InputComponent: GridFilterInputValue
|
|
47
71
|
}, {
|
|
48
72
|
value: 'startsWith',
|
|
@@ -72,19 +96,11 @@ export const getGridStringOperators = (disableTrim = false) => [{
|
|
|
72
96
|
InputComponent: GridFilterInputValue
|
|
73
97
|
}, {
|
|
74
98
|
value: 'isEmpty',
|
|
75
|
-
getApplyFilterFn: ()
|
|
76
|
-
return value => {
|
|
77
|
-
return value === '' || value == null;
|
|
78
|
-
};
|
|
79
|
-
},
|
|
99
|
+
getApplyFilterFn: createEmptyFilterFn(false),
|
|
80
100
|
requiresFilterValue: false
|
|
81
101
|
}, {
|
|
82
102
|
value: 'isNotEmpty',
|
|
83
|
-
getApplyFilterFn: ()
|
|
84
|
-
return value => {
|
|
85
|
-
return value !== '' && value != null;
|
|
86
|
-
};
|
|
87
|
-
},
|
|
103
|
+
getApplyFilterFn: createEmptyFilterFn(true),
|
|
88
104
|
requiresFilterValue: false
|
|
89
105
|
}, {
|
|
90
106
|
value: 'isAnyOf',
|
|
@@ -23,6 +23,8 @@ interface GridColumnHeaderItemProps {
|
|
|
23
23
|
indexInSection: number;
|
|
24
24
|
sectionLength: number;
|
|
25
25
|
gridHasFiller: boolean;
|
|
26
|
+
isLastUnpinned: boolean;
|
|
27
|
+
isSiblingFocused: boolean;
|
|
26
28
|
}
|
|
27
29
|
declare function GridColumnHeaderItem(props: GridColumnHeaderItemProps): React.JSX.Element;
|
|
28
30
|
declare namespace GridColumnHeaderItem {
|
|
@@ -22,14 +22,19 @@ const useUtilityClasses = ownerState => {
|
|
|
22
22
|
showRightBorder,
|
|
23
23
|
showLeftBorder,
|
|
24
24
|
filterItemsCounter,
|
|
25
|
-
pinnedPosition
|
|
25
|
+
pinnedPosition,
|
|
26
|
+
isLastUnpinned,
|
|
27
|
+
isSiblingFocused
|
|
26
28
|
} = ownerState;
|
|
27
29
|
const isColumnSorted = sortDirection != null;
|
|
28
30
|
const isColumnFiltered = filterItemsCounter != null && filterItemsCounter > 0;
|
|
29
31
|
// todo refactor to a prop on col isNumeric or ?? ie: coltype===price wont work
|
|
30
32
|
const isColumnNumeric = colDef.type === 'number';
|
|
31
33
|
const slots = {
|
|
32
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', colDef.sortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === 'left' && 'columnHeader--pinnedLeft', pinnedPosition === 'right' && 'columnHeader--pinnedRight'
|
|
34
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', colDef.sortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === 'left' && 'columnHeader--pinnedLeft', pinnedPosition === 'right' && 'columnHeader--pinnedRight',
|
|
35
|
+
// TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
|
|
36
|
+
// See https://github.com/mui/mui-x/pull/14559
|
|
37
|
+
isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
|
|
33
38
|
draggableContainer: ['columnHeaderDraggableContainer'],
|
|
34
39
|
titleContainer: ['columnHeaderTitleContainer'],
|
|
35
40
|
titleContainerContent: ['columnHeaderTitleContainerContent']
|
|
@@ -209,7 +214,9 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
|
|
|
209
214
|
indexInSection: PropTypes.number.isRequired,
|
|
210
215
|
isDragging: PropTypes.bool.isRequired,
|
|
211
216
|
isLast: PropTypes.bool.isRequired,
|
|
217
|
+
isLastUnpinned: PropTypes.bool.isRequired,
|
|
212
218
|
isResizing: PropTypes.bool.isRequired,
|
|
219
|
+
isSiblingFocused: PropTypes.bool.isRequired,
|
|
213
220
|
pinnedPosition: PropTypes.oneOf(['left', 'right']),
|
|
214
221
|
sectionLength: PropTypes.number.isRequired,
|
|
215
222
|
separatorSide: PropTypes.oneOf(['left', 'right']),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["className"];
|
|
3
|
+
const _excluded = ["className", "aria-label"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
@@ -31,6 +31,8 @@ const GridColumnHeaderTitleRoot = styled('div', {
|
|
|
31
31
|
lineHeight: 'normal'
|
|
32
32
|
});
|
|
33
33
|
const ColumnHeaderInnerTitle = /*#__PURE__*/React.forwardRef(function ColumnHeaderInnerTitle(props, ref) {
|
|
34
|
+
// Tooltip adds aria-label to the props, which is not needed since the children prop is a string
|
|
35
|
+
// See https://github.com/mui/mui-x/pull/14482
|
|
34
36
|
const {
|
|
35
37
|
className
|
|
36
38
|
} = props,
|
|
@@ -63,8 +63,7 @@ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridG
|
|
|
63
63
|
role: "columnheader",
|
|
64
64
|
tabIndex: tabIndex,
|
|
65
65
|
"aria-colindex": colIndex + 1,
|
|
66
|
-
"aria-sort": ariaSort
|
|
67
|
-
"aria-label": headerComponent == null ? label : undefined
|
|
66
|
+
"aria-sort": ariaSort
|
|
68
67
|
}, other, {
|
|
69
68
|
children: [/*#__PURE__*/_jsxs("div", _extends({
|
|
70
69
|
className: classes.draggableContainer,
|
|
@@ -280,12 +280,10 @@ export const GridRootStyles = styled('div', {
|
|
|
280
280
|
// - the column has a left or right border
|
|
281
281
|
// - the next column is pinned right and has a left border
|
|
282
282
|
[`& .${c.columnHeader}:focus,
|
|
283
|
-
& .${c.columnHeader}:focus-within,
|
|
284
|
-
& .${c.columnHeader}:has(+ .${c.columnHeader}:focus),
|
|
285
|
-
& .${c.columnHeader}:has(+ .${c.columnHeader}:focus-within),
|
|
286
283
|
& .${c['columnHeader--withLeftBorder']},
|
|
287
284
|
& .${c['columnHeader--withRightBorder']},
|
|
288
|
-
& .${c
|
|
285
|
+
& .${c['columnHeader--siblingFocused']},
|
|
286
|
+
& .${c['virtualScroller--hasScrollX']} .${c['columnHeader--lastUnpinned']},
|
|
289
287
|
& .${c['virtualScroller--hasScrollX']} .${c['columnHeader--last']}
|
|
290
288
|
`]: {
|
|
291
289
|
[`& .${c.columnSeparator}`]: {
|
|
@@ -400,9 +398,7 @@ export const GridRootStyles = styled('div', {
|
|
|
400
398
|
'@media (hover: none)': {
|
|
401
399
|
[`& .${c.columnHeader}`]: columnHeaderStyles,
|
|
402
400
|
[`& .${c.columnHeader}:focus,
|
|
403
|
-
& .${c
|
|
404
|
-
& .${c.columnHeader}:has(+ .${c.columnHeader}:focus),
|
|
405
|
-
& .${c.columnHeader}:has(+ .${c.columnHeader}:focus-within)`]: {
|
|
401
|
+
& .${c['columnHeader--siblingFocused']}`]: {
|
|
406
402
|
[`.${c['columnSeparator--resizable']}`]: {
|
|
407
403
|
color: (t.vars || t).palette.primary.main
|
|
408
404
|
}
|
|
@@ -74,7 +74,7 @@ const FilterFormOperatorInput = styled('div', {
|
|
|
74
74
|
slot: 'FilterFormOperatorInput',
|
|
75
75
|
overridesResolver: (_, styles) => styles.filterFormOperatorInput
|
|
76
76
|
})({
|
|
77
|
-
width:
|
|
77
|
+
width: 150
|
|
78
78
|
});
|
|
79
79
|
const FilterFormValueInput = styled('div', {
|
|
80
80
|
name: 'MuiDataGrid',
|
|
@@ -158,6 +158,16 @@ export interface GridClasses {
|
|
|
158
158
|
* Styles applied to the last column header element.
|
|
159
159
|
*/
|
|
160
160
|
'columnHeader--last': string;
|
|
161
|
+
/**
|
|
162
|
+
* Styles applied to the last unpinned column header item.
|
|
163
|
+
* @ignore - do not document.
|
|
164
|
+
*/
|
|
165
|
+
'columnHeader--lastUnpinned': string;
|
|
166
|
+
/**
|
|
167
|
+
* Styles applied to a column header item when its sibling with a bordering separator is focused.
|
|
168
|
+
* @ignore - do not document.
|
|
169
|
+
*/
|
|
170
|
+
'columnHeader--siblingFocused': string;
|
|
161
171
|
/**
|
|
162
172
|
* Styles applied to the header checkbox cell element.
|
|
163
173
|
*/
|
package/constants/gridClasses.js
CHANGED
|
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
5
|
+
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -45,7 +45,9 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
45
45
|
filterPanelInputPlaceholder: 'Filter value',
|
|
46
46
|
// Filter operators text
|
|
47
47
|
filterOperatorContains: 'contains',
|
|
48
|
+
filterOperatorDoesNotContain: 'does not contain',
|
|
48
49
|
filterOperatorEquals: 'equals',
|
|
50
|
+
filterOperatorDoesNotEqual: 'does not equal',
|
|
49
51
|
filterOperatorStartsWith: 'starts with',
|
|
50
52
|
filterOperatorEndsWith: 'ends with',
|
|
51
53
|
filterOperatorIs: 'is',
|
|
@@ -65,7 +67,9 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
65
67
|
'filterOperator<=': '<=',
|
|
66
68
|
// Header filter operators text
|
|
67
69
|
headerFilterOperatorContains: 'Contains',
|
|
70
|
+
headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
68
71
|
headerFilterOperatorEquals: 'Equals',
|
|
72
|
+
headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
69
73
|
headerFilterOperatorStartsWith: 'Starts with',
|
|
70
74
|
headerFilterOperatorEndsWith: 'Ends with',
|
|
71
75
|
headerFilterOperatorIs: 'Is',
|
|
@@ -157,6 +157,9 @@ export const useGridColumnHeaders = props => {
|
|
|
157
157
|
columnIndex,
|
|
158
158
|
computedWidth: colDef.computedWidth
|
|
159
159
|
});
|
|
160
|
+
const siblingWithBorderingSeparator = pinnedPosition === GridPinnedColumnPosition.RIGHT ? renderedColumns[i - 1] : renderedColumns[i + 1];
|
|
161
|
+
const isSiblingFocused = siblingWithBorderingSeparator ? columnHeaderFocus !== null && columnHeaderFocus.field === siblingWithBorderingSeparator.field : false;
|
|
162
|
+
const isLastUnpinned = columnIndex + 1 === columnPositions.length - pinnedColumns.right.length;
|
|
160
163
|
columns.push(/*#__PURE__*/_jsx(GridColumnHeaderItem, _extends({}, sortColumnLookup[colDef.field], {
|
|
161
164
|
columnMenuOpen: open,
|
|
162
165
|
filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
|
|
@@ -172,7 +175,9 @@ export const useGridColumnHeaders = props => {
|
|
|
172
175
|
style: style,
|
|
173
176
|
indexInSection: i,
|
|
174
177
|
sectionLength: renderedColumns.length,
|
|
175
|
-
gridHasFiller: gridHasFiller
|
|
178
|
+
gridHasFiller: gridHasFiller,
|
|
179
|
+
isLastUnpinned: isLastUnpinned,
|
|
180
|
+
isSiblingFocused: isSiblingFocused
|
|
176
181
|
}, other), colDef.field));
|
|
177
182
|
}
|
|
178
183
|
return getFillers(params, columns, 0);
|
|
@@ -5,12 +5,12 @@ const _excluded = ["id", "field"],
|
|
|
5
5
|
_excluded2 = ["id", "field"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { unstable_useEventCallback as useEventCallback, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
8
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
8
9
|
import { useGridApiEventHandler, useGridApiOptionHandler } from "../../utils/useGridApiEventHandler.js";
|
|
9
10
|
import { GridEditModes, GridCellModes } from "../../../models/gridEditRowModel.js";
|
|
10
11
|
import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
|
|
11
12
|
import { gridEditRowsStateSelector } from "./gridEditingSelectors.js";
|
|
12
13
|
import { isPrintableKey, isPasteShortcut } from "../../../utils/keyboardUtils.js";
|
|
13
|
-
import { warnOnce } from "../../../internals/utils/warning.js";
|
|
14
14
|
import { gridRowsDataRowIdToIdLookupSelector } from "../rows/gridRowsSelector.js";
|
|
15
15
|
import { deepClone } from "../../../utils/utils.js";
|
|
16
16
|
import { GridCellEditStartReasons, GridCellEditStopReasons } from "../../../models/params/gridEditCellParams.js";
|
|
@@ -5,13 +5,13 @@ const _excluded = ["id"],
|
|
|
5
5
|
_excluded2 = ["id"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { unstable_useEventCallback as useEventCallback, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
8
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
8
9
|
import { useGridApiEventHandler, useGridApiOptionHandler } from "../../utils/useGridApiEventHandler.js";
|
|
9
10
|
import { GridEditModes, GridRowModes } from "../../../models/gridEditRowModel.js";
|
|
10
11
|
import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
|
|
11
12
|
import { gridEditRowsStateSelector } from "./gridEditingSelectors.js";
|
|
12
13
|
import { isPrintableKey, isPasteShortcut } from "../../../utils/keyboardUtils.js";
|
|
13
14
|
import { gridColumnFieldsSelector, gridVisibleColumnFieldsSelector } from "../columns/gridColumnsSelector.js";
|
|
14
|
-
import { warnOnce } from "../../../internals/utils/warning.js";
|
|
15
15
|
import { gridRowsDataRowIdToIdLookupSelector } from "../rows/gridRowsSelector.js";
|
|
16
16
|
import { deepClone } from "../../../utils/utils.js";
|
|
17
17
|
import { GridRowEditStopReasons, GridRowEditStartReasons } from "../../../models/params/gridRowParams.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
1
2
|
import { GRID_CHECKBOX_SELECTION_COL_DEF } from "../../../../colDef/index.js";
|
|
2
|
-
import { warnOnce } from "../../../../internals/utils/warning.js";
|
|
3
3
|
function sanitizeCellValue(value, csvOptions) {
|
|
4
4
|
if (value === null || value === undefined) {
|
|
5
5
|
return '';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
2
3
|
import { GridLogicOperator } from "../../../models/index.js";
|
|
3
4
|
import { getDefaultGridFilterModel } from "./gridFilterState.js";
|
|
4
|
-
import { warnOnce } from "../../../internals/utils/warning.js";
|
|
5
5
|
import { getPublicApiRef } from "../../../utils/getPublicApiRef.js";
|
|
6
6
|
import { gridColumnFieldsSelector, gridColumnLookupSelector, gridVisibleColumnFieldsSelector } from "../columns/index.js";
|
|
7
7
|
let hasEval;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { warnOnce } from
|
|
2
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
3
3
|
export const sanitizeSortModel = (model, disableMultipleColumnsSorting) => {
|
|
4
4
|
if (disableMultipleColumnsSorting && model.length > 1) {
|
|
5
5
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { fastObjectShallowCompare } from '@mui/x-internals/fastObjectShallowCompare';
|
|
3
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
3
4
|
import { useLazyRef } from "./useLazyRef.js";
|
|
4
5
|
import { useOnMount } from "./useOnMount.js";
|
|
5
|
-
import { warnOnce } from "../../internals/utils/warning.js";
|
|
6
6
|
function isOutputSelector(selector) {
|
|
7
7
|
return selector.acceptsApiRef;
|
|
8
8
|
}
|
package/index.js
CHANGED
package/internals/utils/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { warnOnce } from
|
|
1
|
+
import { warnOnce } from '@mui/x-internals/warning';
|
|
2
2
|
import { isNumber } from "../../utils/utils.js";
|
|
3
3
|
import { GridSignature } from "../../hooks/utils/useGridApiEventHandler.js";
|
|
4
4
|
export const propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined, props => props.paginationMode === 'client' && props.paginationMeta != null && ['MUI X: Usage of the `paginationMeta` prop with client-side pagination (`paginationMode="client"`) has no effect.', '`paginationMeta` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.signature === GridSignature.DataGrid && props.paginationMode === 'client' && isNumber(props.rowCount) && ['MUI X: Usage of the `rowCount` prop with client side pagination (`paginationMode="client"`) has no effect.', '`rowCount` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.paginationMode === 'server' && props.rowCount == null && !props.unstable_dataSource && ["MUI X: The `rowCount` prop must be passed using `paginationMode='server'`", 'For more detail, see http://mui.com/components/data-grid/pagination/#index-based-pagination'].join('\n') || undefined];
|
package/locales/arSD.js
CHANGED
|
@@ -48,7 +48,9 @@ const arSDGrid = {
|
|
|
48
48
|
filterPanelInputPlaceholder: 'ترشِيح قيمة',
|
|
49
49
|
// Filter operators text
|
|
50
50
|
filterOperatorContains: 'يحتوي',
|
|
51
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
51
52
|
filterOperatorEquals: 'يساوي',
|
|
53
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
52
54
|
filterOperatorStartsWith: 'يبدأ بـ',
|
|
53
55
|
filterOperatorEndsWith: 'ينتهي بـ',
|
|
54
56
|
filterOperatorIs: 'يكون',
|
|
@@ -68,7 +70,9 @@ const arSDGrid = {
|
|
|
68
70
|
'filterOperator<=': '<=',
|
|
69
71
|
// Header filter operators text
|
|
70
72
|
headerFilterOperatorContains: 'يحتوي على',
|
|
73
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
71
74
|
headerFilterOperatorEquals: 'يساوي',
|
|
75
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
72
76
|
headerFilterOperatorStartsWith: 'يبدأ ب',
|
|
73
77
|
headerFilterOperatorEndsWith: 'ينتهي ب',
|
|
74
78
|
headerFilterOperatorIs: 'هو',
|
package/locales/beBY.js
CHANGED
|
@@ -62,7 +62,9 @@ const beBYGrid = {
|
|
|
62
62
|
filterPanelInputPlaceholder: 'Значэнне фільтра',
|
|
63
63
|
// Filter operators text
|
|
64
64
|
filterOperatorContains: 'змяшчае',
|
|
65
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
65
66
|
filterOperatorEquals: 'роўны',
|
|
67
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
66
68
|
filterOperatorStartsWith: 'пачынаецца з',
|
|
67
69
|
filterOperatorEndsWith: 'скончваецца на',
|
|
68
70
|
filterOperatorIs: 'роўны',
|
|
@@ -83,7 +85,9 @@ const beBYGrid = {
|
|
|
83
85
|
|
|
84
86
|
// Header filter operators text
|
|
85
87
|
// headerFilterOperatorContains: 'Contains',
|
|
88
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
86
89
|
// headerFilterOperatorEquals: 'Equals',
|
|
90
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
87
91
|
// headerFilterOperatorStartsWith: 'Starts with',
|
|
88
92
|
// headerFilterOperatorEndsWith: 'Ends with',
|
|
89
93
|
// headerFilterOperatorIs: 'Is',
|
package/locales/bgBG.js
CHANGED
|
@@ -48,7 +48,9 @@ const bgBGGrid = {
|
|
|
48
48
|
filterPanelInputPlaceholder: 'Стойност на филтъра',
|
|
49
49
|
// Filter operators text
|
|
50
50
|
filterOperatorContains: 'съдържа',
|
|
51
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
51
52
|
filterOperatorEquals: 'равно',
|
|
53
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
52
54
|
filterOperatorStartsWith: 'започва с',
|
|
53
55
|
filterOperatorEndsWith: 'завършва с',
|
|
54
56
|
filterOperatorIs: 'е',
|
|
@@ -68,7 +70,9 @@ const bgBGGrid = {
|
|
|
68
70
|
'filterOperator<=': '<=',
|
|
69
71
|
// Header filter operators text
|
|
70
72
|
headerFilterOperatorContains: 'Съдържа',
|
|
73
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
71
74
|
headerFilterOperatorEquals: 'Равнo',
|
|
75
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
72
76
|
headerFilterOperatorStartsWith: 'Започва с',
|
|
73
77
|
headerFilterOperatorEndsWith: 'Завършва с',
|
|
74
78
|
headerFilterOperatorIs: 'Равно е на',
|
package/locales/csCZ.js
CHANGED
|
@@ -55,7 +55,9 @@ const csCZGrid = {
|
|
|
55
55
|
filterPanelInputPlaceholder: 'Hodnota filtru',
|
|
56
56
|
// Filter operators text
|
|
57
57
|
filterOperatorContains: 'obsahuje',
|
|
58
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
58
59
|
filterOperatorEquals: 'rovná se',
|
|
60
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
59
61
|
filterOperatorStartsWith: 'začíná na',
|
|
60
62
|
filterOperatorEndsWith: 'končí na',
|
|
61
63
|
filterOperatorIs: 'je',
|
|
@@ -75,7 +77,9 @@ const csCZGrid = {
|
|
|
75
77
|
'filterOperator<=': '<=',
|
|
76
78
|
// Header filter operators text
|
|
77
79
|
headerFilterOperatorContains: 'Obsahuje',
|
|
80
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
78
81
|
headerFilterOperatorEquals: 'Rovná se',
|
|
82
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
79
83
|
headerFilterOperatorStartsWith: 'Začíná na',
|
|
80
84
|
headerFilterOperatorEndsWith: 'Končí na',
|
|
81
85
|
headerFilterOperatorIs: 'Je',
|
package/locales/daDK.js
CHANGED
|
@@ -48,7 +48,9 @@ const daDKGrid = {
|
|
|
48
48
|
filterPanelInputPlaceholder: 'Filterværdi',
|
|
49
49
|
// Filter operators text
|
|
50
50
|
filterOperatorContains: 'indeholder',
|
|
51
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
51
52
|
filterOperatorEquals: 'lig med',
|
|
53
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
52
54
|
filterOperatorStartsWith: 'begynder med',
|
|
53
55
|
filterOperatorEndsWith: 'ender med',
|
|
54
56
|
filterOperatorIs: 'er lig med',
|
|
@@ -68,7 +70,9 @@ const daDKGrid = {
|
|
|
68
70
|
'filterOperator<=': '<=',
|
|
69
71
|
// Header filter operators text
|
|
70
72
|
headerFilterOperatorContains: 'Indeholder',
|
|
73
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
71
74
|
headerFilterOperatorEquals: 'Lig med',
|
|
75
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
72
76
|
headerFilterOperatorStartsWith: 'Begynder med',
|
|
73
77
|
headerFilterOperatorEndsWith: 'Ender med',
|
|
74
78
|
headerFilterOperatorIs: 'Er lig med',
|
package/locales/deDE.js
CHANGED
|
@@ -47,7 +47,9 @@ const deDEGrid = {
|
|
|
47
47
|
filterPanelInputPlaceholder: 'Wert filtern',
|
|
48
48
|
// Filter operators text
|
|
49
49
|
filterOperatorContains: 'enthält',
|
|
50
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
50
51
|
filterOperatorEquals: 'ist gleich',
|
|
52
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
51
53
|
filterOperatorStartsWith: 'beginnt mit',
|
|
52
54
|
filterOperatorEndsWith: 'endet mit',
|
|
53
55
|
filterOperatorIs: 'ist',
|
|
@@ -67,7 +69,9 @@ const deDEGrid = {
|
|
|
67
69
|
'filterOperator<=': '<=',
|
|
68
70
|
// Header filter operators text
|
|
69
71
|
headerFilterOperatorContains: 'Enthält',
|
|
72
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
70
73
|
headerFilterOperatorEquals: 'Gleich',
|
|
74
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
71
75
|
headerFilterOperatorStartsWith: 'Beginnt mit',
|
|
72
76
|
headerFilterOperatorEndsWith: 'Endet mit',
|
|
73
77
|
headerFilterOperatorIs: 'Ist',
|