@mui/x-data-grid 7.22.2 → 7.23.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.
Files changed (232) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/DataGrid/DataGrid.js +9 -1
  3. package/README.md +3 -3
  4. package/components/GridDetailPanels.js +0 -1
  5. package/components/GridPinnedRows.js +0 -1
  6. package/components/GridRow.d.ts +2 -2
  7. package/components/GridRow.js +1 -1
  8. package/components/base/GridOverlays.js +5 -6
  9. package/components/cell/GridCell.d.ts +41 -3
  10. package/components/cell/GridCell.js +11 -19
  11. package/components/cell/GridEditInputCell.js +0 -67
  12. package/components/columnsManagement/GridColumnsManagement.d.ts +2 -0
  13. package/components/columnsManagement/GridColumnsManagement.js +53 -6
  14. package/components/panel/GridPanel.d.ts +1 -1
  15. package/components/toolbar/GridToolbar.d.ts +2 -2
  16. package/components/toolbar/GridToolbar.js +12 -4
  17. package/components/toolbar/GridToolbarColumnsButton.js +3 -4
  18. package/components/toolbar/GridToolbarDensitySelector.js +3 -4
  19. package/components/toolbar/GridToolbarExport.d.ts +2 -2
  20. package/components/toolbar/GridToolbarExport.js +4 -3
  21. package/components/toolbar/GridToolbarExportContainer.js +3 -4
  22. package/components/toolbar/GridToolbarFilterButton.d.ts +2 -0
  23. package/components/toolbar/GridToolbarFilterButton.js +7 -6
  24. package/components/toolbar/GridToolbarQuickFilter.js +1 -0
  25. package/components/toolbar/index.d.ts +1 -1
  26. package/constants/dataGridPropsDefaultValues.js +2 -1
  27. package/constants/gridClasses.d.ts +4 -0
  28. package/constants/gridClasses.js +1 -1
  29. package/constants/localeTextConstants.js +1 -0
  30. package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  31. package/hooks/features/dimensions/useGridDimensions.js +2 -1
  32. package/hooks/features/export/useGridCsvExport.js +1 -1
  33. package/hooks/features/export/useGridPrintExport.js +1 -1
  34. package/hooks/features/index.d.ts +1 -0
  35. package/hooks/features/index.js +1 -0
  36. package/hooks/features/listView/gridListViewSelectors.d.ts +3 -1
  37. package/hooks/features/listView/gridListViewSelectors.js +3 -1
  38. package/hooks/features/listView/index.d.ts +1 -0
  39. package/hooks/features/listView/index.js +1 -0
  40. package/hooks/features/pagination/useGridPaginationModel.js +2 -2
  41. package/hooks/features/rowSelection/useGridRowSelection.js +0 -9
  42. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  43. package/hooks/features/rows/gridRowsUtils.js +1 -5
  44. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
  45. package/hooks/features/virtualization/useGridVirtualScroller.js +59 -19
  46. package/hooks/utils/useGridSelector.d.ts +3 -2
  47. package/hooks/utils/useGridSelector.js +27 -2
  48. package/index.d.ts +0 -1
  49. package/index.js +1 -1
  50. package/joy/joySlots.js +7 -2
  51. package/locales/arSD.js +1 -0
  52. package/locales/beBY.js +1 -0
  53. package/locales/bgBG.js +2 -0
  54. package/locales/csCZ.js +2 -0
  55. package/locales/daDK.js +2 -0
  56. package/locales/deDE.js +2 -0
  57. package/locales/elGR.js +1 -0
  58. package/locales/esES.js +5 -4
  59. package/locales/faIR.js +2 -0
  60. package/locales/fiFI.js +2 -0
  61. package/locales/frFR.js +2 -0
  62. package/locales/heIL.js +2 -0
  63. package/locales/hrHR.js +2 -0
  64. package/locales/huHU.js +2 -0
  65. package/locales/isIS.js +1 -0
  66. package/locales/itIT.js +2 -0
  67. package/locales/jaJP.js +2 -0
  68. package/locales/koKR.js +1 -0
  69. package/locales/nbNO.js +2 -0
  70. package/locales/nlNL.js +2 -0
  71. package/locales/nnNO.js +2 -0
  72. package/locales/plPL.js +1 -0
  73. package/locales/ptBR.js +1 -0
  74. package/locales/ptPT.js +1 -0
  75. package/locales/roRO.js +1 -0
  76. package/locales/ruRU.js +2 -0
  77. package/locales/skSK.js +1 -0
  78. package/locales/svSE.js +6 -5
  79. package/locales/trTR.js +4 -2
  80. package/locales/ukUA.js +1 -0
  81. package/locales/urPK.js +1 -0
  82. package/locales/viVN.js +2 -0
  83. package/locales/zhCN.js +5 -4
  84. package/locales/zhHK.js +1 -0
  85. package/locales/zhTW.js +1 -0
  86. package/models/api/gridCoreApi.d.ts +1 -1
  87. package/models/api/gridLocaleTextApi.d.ts +1 -0
  88. package/models/colDef/gridColDef.d.ts +24 -24
  89. package/models/gridDataSource.d.ts +12 -12
  90. package/models/props/DataGridProps.d.ts +9 -1
  91. package/modern/DataGrid/DataGrid.js +9 -1
  92. package/modern/components/GridDetailPanels.js +0 -1
  93. package/modern/components/GridPinnedRows.js +0 -1
  94. package/modern/components/GridRow.js +1 -1
  95. package/modern/components/base/GridOverlays.js +5 -6
  96. package/modern/components/cell/GridCell.js +11 -19
  97. package/modern/components/cell/GridEditInputCell.js +0 -67
  98. package/modern/components/columnsManagement/GridColumnsManagement.js +53 -6
  99. package/modern/components/toolbar/GridToolbar.js +12 -4
  100. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -4
  101. package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -4
  102. package/modern/components/toolbar/GridToolbarExport.js +4 -3
  103. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -4
  104. package/modern/components/toolbar/GridToolbarFilterButton.js +7 -6
  105. package/modern/components/toolbar/GridToolbarQuickFilter.js +1 -0
  106. package/modern/constants/dataGridPropsDefaultValues.js +2 -1
  107. package/modern/constants/gridClasses.js +1 -1
  108. package/modern/constants/localeTextConstants.js +1 -0
  109. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  110. package/modern/hooks/features/dimensions/useGridDimensions.js +2 -1
  111. package/modern/hooks/features/export/useGridCsvExport.js +1 -1
  112. package/modern/hooks/features/export/useGridPrintExport.js +1 -1
  113. package/modern/hooks/features/index.js +1 -0
  114. package/modern/hooks/features/listView/gridListViewSelectors.js +3 -1
  115. package/modern/hooks/features/listView/index.js +1 -0
  116. package/modern/hooks/features/pagination/useGridPaginationModel.js +2 -2
  117. package/modern/hooks/features/rowSelection/useGridRowSelection.js +0 -9
  118. package/modern/hooks/features/rows/gridRowsUtils.js +1 -5
  119. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +59 -19
  120. package/modern/hooks/utils/useGridSelector.js +27 -2
  121. package/modern/index.js +1 -1
  122. package/modern/joy/joySlots.js +7 -2
  123. package/modern/locales/arSD.js +1 -0
  124. package/modern/locales/beBY.js +1 -0
  125. package/modern/locales/bgBG.js +2 -0
  126. package/modern/locales/csCZ.js +2 -0
  127. package/modern/locales/daDK.js +2 -0
  128. package/modern/locales/deDE.js +2 -0
  129. package/modern/locales/elGR.js +1 -0
  130. package/modern/locales/esES.js +5 -4
  131. package/modern/locales/faIR.js +2 -0
  132. package/modern/locales/fiFI.js +2 -0
  133. package/modern/locales/frFR.js +2 -0
  134. package/modern/locales/heIL.js +2 -0
  135. package/modern/locales/hrHR.js +2 -0
  136. package/modern/locales/huHU.js +2 -0
  137. package/modern/locales/isIS.js +1 -0
  138. package/modern/locales/itIT.js +2 -0
  139. package/modern/locales/jaJP.js +2 -0
  140. package/modern/locales/koKR.js +1 -0
  141. package/modern/locales/nbNO.js +2 -0
  142. package/modern/locales/nlNL.js +2 -0
  143. package/modern/locales/nnNO.js +2 -0
  144. package/modern/locales/plPL.js +1 -0
  145. package/modern/locales/ptBR.js +1 -0
  146. package/modern/locales/ptPT.js +1 -0
  147. package/modern/locales/roRO.js +1 -0
  148. package/modern/locales/ruRU.js +2 -0
  149. package/modern/locales/skSK.js +1 -0
  150. package/modern/locales/svSE.js +6 -5
  151. package/modern/locales/trTR.js +4 -2
  152. package/modern/locales/ukUA.js +1 -0
  153. package/modern/locales/urPK.js +1 -0
  154. package/modern/locales/viVN.js +2 -0
  155. package/modern/locales/zhCN.js +5 -4
  156. package/modern/locales/zhHK.js +1 -0
  157. package/modern/locales/zhTW.js +1 -0
  158. package/modern/utils/createSelector.js +11 -1
  159. package/modern/utils/utils.js +1 -3
  160. package/node/DataGrid/DataGrid.js +9 -1
  161. package/node/components/GridDetailPanels.js +0 -1
  162. package/node/components/GridPinnedRows.js +0 -1
  163. package/node/components/GridRow.js +1 -1
  164. package/node/components/base/GridOverlays.js +5 -6
  165. package/node/components/cell/GridCell.js +11 -19
  166. package/node/components/cell/GridEditInputCell.js +0 -67
  167. package/node/components/columnsManagement/GridColumnsManagement.js +53 -6
  168. package/node/components/toolbar/GridToolbar.js +12 -4
  169. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -4
  170. package/node/components/toolbar/GridToolbarDensitySelector.js +3 -4
  171. package/node/components/toolbar/GridToolbarExport.js +4 -3
  172. package/node/components/toolbar/GridToolbarExportContainer.js +3 -4
  173. package/node/components/toolbar/GridToolbarFilterButton.js +7 -6
  174. package/node/components/toolbar/GridToolbarQuickFilter.js +1 -0
  175. package/node/constants/dataGridPropsDefaultValues.js +2 -1
  176. package/node/constants/gridClasses.js +1 -1
  177. package/node/constants/localeTextConstants.js +1 -0
  178. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  179. package/node/hooks/features/dimensions/useGridDimensions.js +2 -1
  180. package/node/hooks/features/export/useGridCsvExport.js +2 -2
  181. package/node/hooks/features/export/useGridPrintExport.js +2 -2
  182. package/node/hooks/features/index.js +11 -0
  183. package/node/hooks/features/listView/gridListViewSelectors.js +3 -1
  184. package/node/hooks/features/listView/index.js +16 -0
  185. package/node/hooks/features/pagination/useGridPaginationModel.js +2 -2
  186. package/node/hooks/features/rowSelection/useGridRowSelection.js +0 -9
  187. package/node/hooks/features/rows/gridRowsUtils.js +2 -8
  188. package/node/hooks/features/virtualization/useGridVirtualScroller.js +59 -19
  189. package/node/hooks/utils/useGridSelector.js +29 -3
  190. package/node/index.js +1 -1
  191. package/node/joy/joySlots.js +7 -2
  192. package/node/locales/arSD.js +1 -0
  193. package/node/locales/beBY.js +1 -0
  194. package/node/locales/bgBG.js +2 -0
  195. package/node/locales/csCZ.js +2 -0
  196. package/node/locales/daDK.js +2 -0
  197. package/node/locales/deDE.js +2 -0
  198. package/node/locales/elGR.js +1 -0
  199. package/node/locales/esES.js +5 -4
  200. package/node/locales/faIR.js +2 -0
  201. package/node/locales/fiFI.js +2 -0
  202. package/node/locales/frFR.js +2 -0
  203. package/node/locales/heIL.js +2 -0
  204. package/node/locales/hrHR.js +2 -0
  205. package/node/locales/huHU.js +2 -0
  206. package/node/locales/isIS.js +1 -0
  207. package/node/locales/itIT.js +2 -0
  208. package/node/locales/jaJP.js +2 -0
  209. package/node/locales/koKR.js +1 -0
  210. package/node/locales/nbNO.js +2 -0
  211. package/node/locales/nlNL.js +2 -0
  212. package/node/locales/nnNO.js +2 -0
  213. package/node/locales/plPL.js +1 -0
  214. package/node/locales/ptBR.js +1 -0
  215. package/node/locales/ptPT.js +1 -0
  216. package/node/locales/roRO.js +1 -0
  217. package/node/locales/ruRU.js +2 -0
  218. package/node/locales/skSK.js +1 -0
  219. package/node/locales/svSE.js +6 -5
  220. package/node/locales/trTR.js +4 -2
  221. package/node/locales/ukUA.js +1 -0
  222. package/node/locales/urPK.js +1 -0
  223. package/node/locales/viVN.js +2 -0
  224. package/node/locales/zhCN.js +5 -4
  225. package/node/locales/zhHK.js +1 -0
  226. package/node/locales/zhTW.js +1 -0
  227. package/node/utils/createSelector.js +11 -1
  228. package/node/utils/utils.js +1 -3
  229. package/package.json +4 -4
  230. package/utils/createSelector.d.ts +1 -1
  231. package/utils/createSelector.js +11 -1
  232. package/utils/utils.js +1 -3
@@ -23,10 +23,26 @@ function applySelectorV8(apiRef, selector, args, instanceId) {
23
23
  }
24
24
  const defaultCompare = Object.is;
25
25
  export const objectShallowCompare = fastObjectShallowCompare;
26
+ const arrayShallowCompare = (a, b) => {
27
+ if (a === b) {
28
+ return true;
29
+ }
30
+ return a.length === b.length && a.every((v, i) => v === b[i]);
31
+ };
32
+ export const argsEqual = (prev, curr) => {
33
+ let fn = Object.is;
34
+ if (curr instanceof Array) {
35
+ fn = arrayShallowCompare;
36
+ } else if (curr instanceof Object) {
37
+ fn = objectShallowCompare;
38
+ }
39
+ return fn(prev, curr);
40
+ };
26
41
  const createRefs = () => ({
27
42
  state: null,
28
43
  equals: null,
29
- selector: null
44
+ selector: null,
45
+ args: null
30
46
  });
31
47
 
32
48
  // TODO v8: Remove this function
@@ -71,9 +87,18 @@ export const useGridSelectorV8 = (apiRef, selector, args = undefined, equals = d
71
87
  refs.current.state = state;
72
88
  refs.current.equals = equals;
73
89
  refs.current.selector = selector;
90
+ const prevArgs = refs.current.args;
91
+ refs.current.args = args;
92
+ if (didInit && !argsEqual(prevArgs, args)) {
93
+ const newState = applySelectorV8(apiRef, refs.current.selector, refs.current.args, apiRef.current.instanceId);
94
+ if (!refs.current.equals(refs.current.state, newState)) {
95
+ refs.current.state = newState;
96
+ setState(newState);
97
+ }
98
+ }
74
99
  useOnMount(() => {
75
100
  return apiRef.current.store.subscribe(() => {
76
- const newState = applySelectorV8(apiRef, refs.current.selector, args, apiRef.current.instanceId);
101
+ const newState = applySelectorV8(apiRef, refs.current.selector, refs.current.args, apiRef.current.instanceId);
77
102
  if (!refs.current.equals(refs.current.state, newState)) {
78
103
  refs.current.state = newState;
79
104
  setState(newState);
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.22.2
2
+ * @mui/x-data-grid v7.23.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -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 = ["slotProps", "variant", "color", "sx"],
3
+ const _excluded = ["slotProps", "variant", "color", "sx", "anchorOrigin"],
4
4
  _excluded2 = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
5
5
  _excluded3 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
6
6
  _excluded4 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
@@ -64,10 +64,15 @@ function convertVariant(variant, defaultVariant = 'plain') {
64
64
  const Badge = /*#__PURE__*/React.forwardRef((_ref, ref) => {
65
65
  let {
66
66
  color,
67
- sx
67
+ sx,
68
+ anchorOrigin
68
69
  } = _ref,
69
70
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
70
71
  return /*#__PURE__*/_jsx(JoyBadge, _extends({}, props, {
72
+ anchorOrigin: anchorOrigin?.horizontal && anchorOrigin?.vertical ? anchorOrigin : {
73
+ vertical: 'top',
74
+ horizontal: 'right'
75
+ },
71
76
  color: convertColor(color),
72
77
  variant: "plain",
73
78
  sx: sx,
@@ -34,6 +34,7 @@ const arSDGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'إضافة مرشِح',
@@ -48,6 +48,7 @@ const beBYGrid = {
48
48
  // columnsManagementNoColumns: 'No columns',
49
49
  // columnsManagementShowHideAllText: 'Show/Hide All',
50
50
  // columnsManagementReset: 'Reset',
51
+ // columnsManagementDeleteIconLabel: 'Clear',
51
52
 
52
53
  // Filter panel text
53
54
  filterPanelAddFilter: 'Дадаць фільтр',
@@ -34,6 +34,8 @@ const bgBGGrid = {
34
34
  columnsManagementNoColumns: 'Няма колони',
35
35
  columnsManagementShowHideAllText: 'Покажи/Скрий Всичко',
36
36
  columnsManagementReset: 'Нулирай',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Добави Филтър',
39
41
  filterPanelRemoveAll: 'Премахни всички',
@@ -42,6 +42,8 @@ const csCZGrid = {
42
42
  columnsManagementNoColumns: 'Žádné sloupce',
43
43
  columnsManagementShowHideAllText: 'Zobrazit/skrýt vše',
44
44
  columnsManagementReset: 'Resetovat',
45
+ // columnsManagementDeleteIconLabel: 'Clear',
46
+
45
47
  // Filter panel text
46
48
  filterPanelAddFilter: 'Přidat filtr',
47
49
  filterPanelRemoveAll: 'Odstranit vše',
@@ -34,6 +34,8 @@ const daDKGrid = {
34
34
  columnsManagementNoColumns: 'Ingen søjler',
35
35
  columnsManagementShowHideAllText: 'Vis/Skjul Alle',
36
36
  columnsManagementReset: 'Nulstil',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Tilføj filter',
39
41
  filterPanelRemoveAll: 'Fjern alle',
@@ -34,6 +34,8 @@ const deDEGrid = {
34
34
  columnsManagementNoColumns: 'Keine Spalten',
35
35
  columnsManagementShowHideAllText: 'Alle anzeigen/verbergen',
36
36
  columnsManagementReset: 'Zurücksetzen',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Filter hinzufügen',
39
41
  filterPanelRemoveAll: 'Alle entfernen',
@@ -34,6 +34,7 @@ const elGRGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'Προσθήκη φίλτρου',
@@ -34,6 +34,7 @@ const esESGrid = {
34
34
  columnsManagementNoColumns: 'Sin columnas',
35
35
  columnsManagementShowHideAllText: 'Mostrar/Ocultar todas',
36
36
  columnsManagementReset: 'Restablecer',
37
+ columnsManagementDeleteIconLabel: 'Limpiar',
37
38
  // Filter panel text
38
39
  filterPanelAddFilter: 'Agregar filtro',
39
40
  filterPanelRemoveAll: 'Remover todos',
@@ -47,9 +48,9 @@ const esESGrid = {
47
48
  filterPanelInputPlaceholder: 'Valor de filtro',
48
49
  // Filter operators text
49
50
  filterOperatorContains: 'contiene',
50
- // filterOperatorDoesNotContain: 'does not contain',
51
+ filterOperatorDoesNotContain: 'no contiene',
51
52
  filterOperatorEquals: 'es igual',
52
- // filterOperatorDoesNotEqual: 'does not equal',
53
+ filterOperatorDoesNotEqual: 'es diferente a',
53
54
  filterOperatorStartsWith: 'comienza con',
54
55
  filterOperatorEndsWith: 'termina con',
55
56
  filterOperatorIs: 'es',
@@ -69,9 +70,9 @@ const esESGrid = {
69
70
  'filterOperator<=': '<=',
70
71
  // Header filter operators text
71
72
  headerFilterOperatorContains: 'Contiene',
72
- // headerFilterOperatorDoesNotContain: 'Does not contain',
73
+ headerFilterOperatorDoesNotContain: 'No contiene',
73
74
  headerFilterOperatorEquals: 'Es igual a',
74
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
75
+ headerFilterOperatorDoesNotEqual: 'Es diferente a',
75
76
  headerFilterOperatorStartsWith: 'Comienza con',
76
77
  headerFilterOperatorEndsWith: 'Termina con',
77
78
  headerFilterOperatorIs: 'Es',
@@ -34,6 +34,8 @@ const faIRGrid = {
34
34
  columnsManagementNoColumns: 'بدون سطر',
35
35
  columnsManagementShowHideAllText: 'نمایش/مخفی کردن همه',
36
36
  columnsManagementReset: 'بازنشانی',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'افزودن فیلتر',
39
41
  filterPanelRemoveAll: 'حذف همه',
@@ -34,6 +34,8 @@ const fiFIGrid = {
34
34
  columnsManagementNoColumns: 'Ei sarakkeita näytettäväksi',
35
35
  columnsManagementShowHideAllText: 'Näytä/Piilota kaikki',
36
36
  columnsManagementReset: 'Palauta',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Lisää suodatin',
39
41
  filterPanelRemoveAll: 'Poista kaikki',
@@ -34,6 +34,8 @@ const frFRGrid = {
34
34
  columnsManagementNoColumns: 'Pas de colonnes',
35
35
  columnsManagementShowHideAllText: 'Afficher/masquer toutes',
36
36
  columnsManagementReset: 'Réinitialiser',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Ajouter un filtre',
39
41
  filterPanelRemoveAll: 'Tout supprimer',
@@ -34,6 +34,8 @@ const heILGrid = {
34
34
  columnsManagementNoColumns: 'אין עמודות',
35
35
  columnsManagementShowHideAllText: 'הצג/הסתר הכל',
36
36
  columnsManagementReset: 'אתחול',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'הוסף מסנן',
39
41
  filterPanelRemoveAll: 'מחק הכל',
@@ -42,6 +42,8 @@ const hrHRGrid = {
42
42
  columnsManagementNoColumns: 'Nema stupaca',
43
43
  columnsManagementShowHideAllText: 'Prikaži/Sakrij sve',
44
44
  columnsManagementReset: 'Ponovno namjesti',
45
+ // columnsManagementDeleteIconLabel: 'Clear',
46
+
45
47
  // Filter panel text
46
48
  filterPanelAddFilter: 'Dodaj filter',
47
49
  filterPanelRemoveAll: 'Ukloni sve',
@@ -34,6 +34,8 @@ const huHUGrid = {
34
34
  columnsManagementNoColumns: 'Nincsenek oszlopok',
35
35
  columnsManagementShowHideAllText: 'Összes',
36
36
  columnsManagementReset: 'Visszavon',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Szűrő hozzáadása',
39
41
  filterPanelRemoveAll: 'Összes törlése',
@@ -34,6 +34,7 @@ const isISGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'Bæta síu',
@@ -34,6 +34,8 @@ const itITGrid = {
34
34
  columnsManagementNoColumns: 'Nessuna colonna',
35
35
  columnsManagementShowHideAllText: 'Mostra/Nascondi Tutto',
36
36
  columnsManagementReset: 'Resetta',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Aggiungi un filtro',
39
41
  filterPanelRemoveAll: 'Rimuovi filtri',
@@ -34,6 +34,8 @@ const jaJPGrid = {
34
34
  columnsManagementNoColumns: 'カラムなし',
35
35
  columnsManagementShowHideAllText: 'すべて表示/非表示',
36
36
  columnsManagementReset: 'リセット',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'フィルター追加',
39
41
  filterPanelRemoveAll: 'すべて削除',
@@ -34,6 +34,7 @@ const koKRGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: '필터 추가',
@@ -34,6 +34,8 @@ const nbNOGrid = {
34
34
  columnsManagementNoColumns: 'Ingen kolonner',
35
35
  columnsManagementShowHideAllText: 'Vis/skjul alle',
36
36
  columnsManagementReset: 'Nullstill',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Legg til filter',
39
41
  filterPanelRemoveAll: 'Fjern alle',
@@ -34,6 +34,8 @@ const nlNLGrid = {
34
34
  columnsManagementNoColumns: 'Geen kolommen',
35
35
  columnsManagementShowHideAllText: 'Toon/Verberg Alle',
36
36
  columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Filter toevoegen',
39
41
  filterPanelRemoveAll: 'Alles verwijderen',
@@ -34,6 +34,8 @@ const nnNOGrid = {
34
34
  columnsManagementNoColumns: 'Ingen kolonner',
35
35
  columnsManagementShowHideAllText: 'Vis/skjul alle',
36
36
  columnsManagementReset: 'Nullstill',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Legg til filter',
39
41
  filterPanelRemoveAll: 'Fjern alle',
@@ -34,6 +34,7 @@ const plPLGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'Dodaj filtr',
@@ -34,6 +34,7 @@ const ptBRGrid = {
34
34
  columnsManagementNoColumns: 'Nenhuma coluna',
35
35
  columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas',
36
36
  columnsManagementReset: 'Redefinir',
37
+ columnsManagementDeleteIconLabel: 'Limpar',
37
38
  // Filter panel text
38
39
  filterPanelAddFilter: 'Adicionar filtro',
39
40
  filterPanelRemoveAll: 'Remover todos',
@@ -34,6 +34,7 @@ const ptPTGrid = {
34
34
  columnsManagementNoColumns: 'Sem colunas',
35
35
  columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas',
36
36
  columnsManagementReset: 'Repor',
37
+ columnsManagementDeleteIconLabel: 'Limpar',
37
38
  // Filter panel text
38
39
  filterPanelAddFilter: 'Adicionar filtro',
39
40
  filterPanelRemoveAll: 'Excluir todos',
@@ -34,6 +34,7 @@ const roROGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'Adăugare filtru',
@@ -49,6 +49,8 @@ const ruRUGrid = {
49
49
  columnsManagementNoColumns: 'Нет столбцов',
50
50
  columnsManagementShowHideAllText: 'Показать/Скрыть Всё',
51
51
  columnsManagementReset: 'Сбросить',
52
+ // columnsManagementDeleteIconLabel: 'Clear',
53
+
52
54
  // Filter panel text
53
55
  filterPanelAddFilter: 'Добавить фильтр',
54
56
  filterPanelRemoveAll: 'Очистить фильтр',
@@ -42,6 +42,7 @@ const skSKGrid = {
42
42
  columnsManagementNoColumns: 'Žiadne stĺpce',
43
43
  columnsManagementShowHideAllText: 'Zobraziť/Skryť všetko',
44
44
  // columnsManagementReset: 'Reset',
45
+ // columnsManagementDeleteIconLabel: 'Clear',
45
46
 
46
47
  // Filter panel text
47
48
  filterPanelAddFilter: 'Pridať filter',
@@ -33,7 +33,8 @@ const svSEGrid = {
33
33
  columnsManagementSearchTitle: 'Sök',
34
34
  columnsManagementNoColumns: 'Inga kolumner',
35
35
  columnsManagementShowHideAllText: 'Visa/Dölj alla',
36
- // columnsManagementReset: 'Reset',
36
+ columnsManagementReset: 'Återställ',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'Lägg till filter',
@@ -48,9 +49,9 @@ const svSEGrid = {
48
49
  filterPanelInputPlaceholder: 'Filtervärde',
49
50
  // Filter operators text
50
51
  filterOperatorContains: 'innehåller',
51
- // filterOperatorDoesNotContain: 'does not contain',
52
+ filterOperatorDoesNotContain: 'innehåller inte',
52
53
  filterOperatorEquals: 'lika med',
53
- // filterOperatorDoesNotEqual: 'does not equal',
54
+ filterOperatorDoesNotEqual: 'inte lika med',
54
55
  filterOperatorStartsWith: 'börjar med',
55
56
  filterOperatorEndsWith: 'slutar med',
56
57
  filterOperatorIs: 'är',
@@ -70,9 +71,9 @@ const svSEGrid = {
70
71
  'filterOperator<=': '<=',
71
72
  // Header filter operators text
72
73
  headerFilterOperatorContains: 'Innehåller',
73
- // headerFilterOperatorDoesNotContain: 'Does not contain',
74
+ headerFilterOperatorDoesNotContain: 'Innehåller inte',
74
75
  headerFilterOperatorEquals: 'Lika med',
75
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
76
+ headerFilterOperatorDoesNotEqual: 'Inte lika med',
76
77
  headerFilterOperatorStartsWith: 'Börjar med',
77
78
  headerFilterOperatorEndsWith: 'Slutar med',
78
79
  headerFilterOperatorIs: 'Är',
@@ -34,6 +34,8 @@ const trTRGrid = {
34
34
  columnsManagementNoColumns: 'Kolon yok',
35
35
  columnsManagementShowHideAllText: 'Hepsini Göster/Gizle',
36
36
  columnsManagementReset: 'Sıfırla',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Filtre Ekle',
39
41
  filterPanelRemoveAll: 'Hepsini kaldır',
@@ -69,9 +71,9 @@ const trTRGrid = {
69
71
  'filterOperator<=': '<=',
70
72
  // Header filter operators text
71
73
  headerFilterOperatorContains: 'Şunu içerir',
72
- // headerFilterOperatorDoesNotContain: 'Does not contain',
74
+ headerFilterOperatorDoesNotContain: 'İçermez',
73
75
  headerFilterOperatorEquals: 'Şuna eşittir',
74
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
76
+ headerFilterOperatorDoesNotEqual: 'Eşit değildir',
75
77
  headerFilterOperatorStartsWith: 'Şununla başlar',
76
78
  headerFilterOperatorEndsWith: 'Şununla biter',
77
79
  headerFilterOperatorIs: 'Eşittir',
@@ -49,6 +49,7 @@ const ukUAGrid = {
49
49
  // columnsManagementNoColumns: 'No columns',
50
50
  // columnsManagementShowHideAllText: 'Show/Hide All',
51
51
  // columnsManagementReset: 'Reset',
52
+ // columnsManagementDeleteIconLabel: 'Clear',
52
53
 
53
54
  // Filter panel text
54
55
  filterPanelAddFilter: 'Додати фільтр',
@@ -34,6 +34,7 @@ const urPKGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: 'نیا فلٹر',
@@ -34,6 +34,8 @@ const viVNGrid = {
34
34
  columnsManagementNoColumns: 'Không có cột',
35
35
  columnsManagementShowHideAllText: 'Hiện/Ẩn Tất cả',
36
36
  columnsManagementReset: 'Đặt lại',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
38
+
37
39
  // Filter panel text
38
40
  filterPanelAddFilter: 'Thêm bộ lọc',
39
41
  filterPanelRemoveAll: 'Xóa tất cả',
@@ -34,6 +34,7 @@ const zhCNGrid = {
34
34
  columnsManagementNoColumns: '没有列',
35
35
  columnsManagementShowHideAllText: '显示/隐藏所有',
36
36
  columnsManagementReset: '重置',
37
+ columnsManagementDeleteIconLabel: '清除',
37
38
  // Filter panel text
38
39
  filterPanelAddFilter: '添加筛选器',
39
40
  filterPanelRemoveAll: '清除全部',
@@ -47,9 +48,9 @@ const zhCNGrid = {
47
48
  filterPanelInputPlaceholder: '筛选值',
48
49
  // Filter operators text
49
50
  filterOperatorContains: '包含',
50
- // filterOperatorDoesNotContain: 'does not contain',
51
+ filterOperatorDoesNotContain: '不包含',
51
52
  filterOperatorEquals: '等于',
52
- // filterOperatorDoesNotEqual: 'does not equal',
53
+ filterOperatorDoesNotEqual: '不等于',
53
54
  filterOperatorStartsWith: '开始于',
54
55
  filterOperatorEndsWith: '结束于',
55
56
  filterOperatorIs: '是',
@@ -69,9 +70,9 @@ const zhCNGrid = {
69
70
  'filterOperator<=': '<=',
70
71
  // Header filter operators text
71
72
  headerFilterOperatorContains: '包含',
72
- // headerFilterOperatorDoesNotContain: 'Does not contain',
73
+ headerFilterOperatorDoesNotContain: '不包含',
73
74
  headerFilterOperatorEquals: '等于',
74
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
75
+ headerFilterOperatorDoesNotEqual: '不等于',
75
76
  headerFilterOperatorStartsWith: '开始于',
76
77
  headerFilterOperatorEndsWith: '结束于',
77
78
  headerFilterOperatorIs: '是',
@@ -34,6 +34,7 @@ const zhHKGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: '新增過濾器',
@@ -34,6 +34,7 @@ const zhTWGrid = {
34
34
  // columnsManagementNoColumns: 'No columns',
35
35
  // columnsManagementShowHideAllText: 'Show/Hide All',
36
36
  // columnsManagementReset: 'Reset',
37
+ // columnsManagementDeleteIconLabel: 'Clear',
37
38
 
38
39
  // Filter panel text
39
40
  filterPanelAddFilter: '增加篩選器',
@@ -1,5 +1,6 @@
1
1
  import { lruMemoize, createSelectorCreator } from 'reselect';
2
2
  import { warnOnce } from '@mui/x-internals/warning';
3
+ import { argsEqual } from "../hooks/utils/useGridSelector.js";
3
4
  const reselectCreateSelector = createSelectorCreator({
4
5
  memoize: lruMemoize,
5
6
  memoizeOptions: {
@@ -214,11 +215,20 @@ export const createSelectorMemoizedV8 = (...args) => {
214
215
  const cacheArgs = cacheArgsInit ?? new Map();
215
216
  const cacheFn = cacheArgs?.get(args);
216
217
  if (cacheArgs && cacheFn) {
218
+ if (!argsEqual(cacheFn.selectorArgs, selectorArgs)) {
219
+ const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
220
+ const fn = reselectCreateSelector(...reselectArgs);
221
+ fn.selectorArgs = selectorArgs;
222
+ cacheArgs.set(args, fn);
223
+ return fn(state, selectorArgs, cacheKey);
224
+ }
217
225
  // We pass the cache key because the called selector might have as
218
226
  // dependency another selector created with this `createSelector`.
219
227
  return cacheFn(state, selectorArgs, cacheKey);
220
228
  }
221
- const fn = reselectCreateSelector(...args);
229
+ const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
230
+ const fn = reselectCreateSelector(...reselectArgs);
231
+ fn.selectorArgs = selectorArgs;
222
232
  if (!cacheArgsInit) {
223
233
  cache.set(cacheKey, cacheArgs);
224
234
  }
@@ -191,11 +191,9 @@ export function deepClone(obj) {
191
191
  return JSON.parse(JSON.stringify(obj));
192
192
  }
193
193
 
194
- /* eslint-disable @typescript-eslint/no-unused-vars */
195
194
  /**
196
195
  * Mark a value as used so eslint doesn't complain. Use this instead
197
196
  * of a `eslint-disable-next-line react-hooks/exhaustive-deps` because
198
197
  * that hint disables checks on all values instead of just one.
199
198
  */
200
- export function eslintUseValue(_) {}
201
- /* eslint-enable @typescript-eslint/no-unused-vars */
199
+ export function eslintUseValue(_) {}
@@ -773,5 +773,13 @@ DataGridRaw.propTypes = {
773
773
  * If `true`, the Data Grid will auto span the cells over the rows having the same value.
774
774
  * @default false
775
775
  */
776
- unstable_rowSpanning: _propTypes.default.bool
776
+ unstable_rowSpanning: _propTypes.default.bool,
777
+ /**
778
+ * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
779
+ * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
780
+ * For datasets with a large number of columns, this can cause performance issues.
781
+ * The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally.
782
+ * @default false
783
+ */
784
+ virtualizeColumnsWithAutoRowHeight: _propTypes.default.bool
777
785
  };
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GridDetailPanels = GridDetailPanels;
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
7
  function GridDetailPanels(_) {
9
8
  return null;
10
9
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GridPinnedRows = GridPinnedRows;
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
7
  function GridPinnedRows(_) {
9
8
  return null;
10
9
  }
@@ -33,7 +33,7 @@ var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
33
33
  var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
34
34
  var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
35
35
  var _jsxRuntime = require("react/jsx-runtime");
36
- const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
36
+ const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
37
37
  function EmptyCell({
38
38
  width
39
39
  }) {
@@ -12,12 +12,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _system = require("@mui/system");
13
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _clsx = _interopRequireDefault(require("clsx"));
15
+ var _gridRowsUtils = require("../../hooks/features/rows/gridRowsUtils");
15
16
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
16
17
  var _dimensions = require("../../hooks/features/dimensions");
17
18
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
18
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
- var _useGridVisibleRows = require("../../hooks/utils/useGridVisibleRows");
20
- var _gridRowsUtils = require("../../hooks/features/rows/gridRowsUtils");
21
20
  var _gridClasses = require("../../constants/gridClasses");
22
21
  var _jsxRuntime = require("react/jsx-runtime");
23
22
  const GridOverlayWrapperRoot = (0, _system.styled)('div', {
@@ -34,6 +33,7 @@ loadingOverlayVariant !== 'skeleton' ? {
34
33
  position: 'sticky',
35
34
  // To stay in place while scrolling
36
35
  top: 'var(--DataGrid-headersTotalHeight)',
36
+ // TODO: take pinned rows into account
37
37
  left: 0,
38
38
  width: 0,
39
39
  // To stay above the content instead of shifting it down
@@ -61,11 +61,10 @@ const useUtilityClasses = ownerState => {
61
61
  function GridOverlayWrapper(props) {
62
62
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
63
63
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
64
- const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, rootProps);
65
64
  const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
66
- let height = dimensions.viewportOuterSize.height - dimensions.topContainerHeight - dimensions.bottomContainerHeight - (dimensions.hasScrollX ? dimensions.scrollbarSize : 0);
67
- if (rootProps.autoHeight && currentPage.rows.length === 0 || height === 0) {
68
- height = (0, _gridRowsUtils.getMinimalContentHeight)(apiRef);
65
+ let height = Math.max(dimensions.viewportOuterSize.height - dimensions.topContainerHeight - dimensions.bottomContainerHeight - (dimensions.hasScrollX ? dimensions.scrollbarSize : 0), 0);
66
+ if (height === 0) {
67
+ height = _gridRowsUtils.minimalContentHeight;
69
68
  }
70
69
  const classes = useUtilityClasses((0, _extends2.default)({}, props, {
71
70
  classes: rootProps.classes