@mui/x-data-grid 8.14.1 → 8.15.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 (106) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/components/GridScrollShadows.js +23 -3
  3. package/constants/gridClasses.d.ts +12 -0
  4. package/constants/gridClasses.js +1 -1
  5. package/constants/localeTextConstants.js +2 -1
  6. package/esm/components/GridScrollShadows.js +22 -3
  7. package/esm/constants/gridClasses.d.ts +12 -0
  8. package/esm/constants/gridClasses.js +1 -1
  9. package/esm/constants/localeTextConstants.js +2 -1
  10. package/esm/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  11. package/esm/hooks/features/dataSource/models.d.ts +28 -28
  12. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  13. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -14
  14. package/esm/hooks/features/dataSource/utils.d.ts +2 -1
  15. package/esm/hooks/features/dataSource/utils.js +2 -1
  16. package/esm/index.js +1 -1
  17. package/esm/internals/index.d.ts +1 -1
  18. package/esm/locales/arSD.js +1 -0
  19. package/esm/locales/beBY.js +1 -0
  20. package/esm/locales/bgBG.js +1 -0
  21. package/esm/locales/bnBD.js +1 -0
  22. package/esm/locales/csCZ.js +1 -0
  23. package/esm/locales/daDK.js +1 -0
  24. package/esm/locales/deDE.js +1 -0
  25. package/esm/locales/elGR.js +1 -0
  26. package/esm/locales/esES.js +1 -0
  27. package/esm/locales/faIR.js +1 -0
  28. package/esm/locales/fiFI.js +1 -0
  29. package/esm/locales/frFR.js +1 -0
  30. package/esm/locales/heIL.js +1 -0
  31. package/esm/locales/hrHR.js +1 -0
  32. package/esm/locales/huHU.js +1 -0
  33. package/esm/locales/hyAM.js +1 -0
  34. package/esm/locales/idID.js +1 -0
  35. package/esm/locales/isIS.js +1 -0
  36. package/esm/locales/itIT.js +1 -0
  37. package/esm/locales/jaJP.js +1 -0
  38. package/esm/locales/koKR.js +1 -0
  39. package/esm/locales/nbNO.js +1 -0
  40. package/esm/locales/nlNL.js +1 -0
  41. package/esm/locales/nnNO.js +1 -0
  42. package/esm/locales/plPL.js +1 -0
  43. package/esm/locales/ptBR.js +1 -0
  44. package/esm/locales/ptPT.js +1 -0
  45. package/esm/locales/roRO.js +1 -0
  46. package/esm/locales/ruRU.js +1 -0
  47. package/esm/locales/skSK.js +1 -0
  48. package/esm/locales/svSE.js +1 -0
  49. package/esm/locales/trTR.js +1 -0
  50. package/esm/locales/ukUA.js +1 -0
  51. package/esm/locales/urPK.js +1 -0
  52. package/esm/locales/viVN.js +1 -0
  53. package/esm/locales/zhCN.js +1 -0
  54. package/esm/locales/zhHK.js +1 -0
  55. package/esm/locales/zhTW.js +1 -0
  56. package/esm/models/api/gridLocaleTextApi.d.ts +1 -0
  57. package/esm/models/gridDataSource.d.ts +13 -0
  58. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  59. package/hooks/features/dataSource/models.d.ts +28 -28
  60. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  61. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -14
  62. package/hooks/features/dataSource/utils.d.ts +2 -1
  63. package/hooks/features/dataSource/utils.js +2 -1
  64. package/index.js +1 -1
  65. package/internals/index.d.ts +1 -1
  66. package/locales/arSD.js +1 -0
  67. package/locales/beBY.js +1 -0
  68. package/locales/bgBG.js +1 -0
  69. package/locales/bnBD.js +1 -0
  70. package/locales/csCZ.js +1 -0
  71. package/locales/daDK.js +1 -0
  72. package/locales/deDE.js +1 -0
  73. package/locales/elGR.js +1 -0
  74. package/locales/esES.js +1 -0
  75. package/locales/faIR.js +1 -0
  76. package/locales/fiFI.js +1 -0
  77. package/locales/frFR.js +1 -0
  78. package/locales/heIL.js +1 -0
  79. package/locales/hrHR.js +1 -0
  80. package/locales/huHU.js +1 -0
  81. package/locales/hyAM.js +1 -0
  82. package/locales/idID.js +1 -0
  83. package/locales/isIS.js +1 -0
  84. package/locales/itIT.js +1 -0
  85. package/locales/jaJP.js +1 -0
  86. package/locales/koKR.js +1 -0
  87. package/locales/nbNO.js +1 -0
  88. package/locales/nlNL.js +1 -0
  89. package/locales/nnNO.js +1 -0
  90. package/locales/plPL.js +1 -0
  91. package/locales/ptBR.js +1 -0
  92. package/locales/ptPT.js +1 -0
  93. package/locales/roRO.js +1 -0
  94. package/locales/ruRU.js +1 -0
  95. package/locales/skSK.js +1 -0
  96. package/locales/svSE.js +1 -0
  97. package/locales/trTR.js +1 -0
  98. package/locales/ukUA.js +1 -0
  99. package/locales/urPK.js +1 -0
  100. package/locales/viVN.js +1 -0
  101. package/locales/zhCN.js +1 -0
  102. package/locales/zhHK.js +1 -0
  103. package/locales/zhTW.js +1 -0
  104. package/models/api/gridLocaleTextApi.d.ts +1 -0
  105. package/models/gridDataSource.d.ts +13 -0
  106. package/package.json +2 -2
@@ -325,5 +325,6 @@ const csCZGrid = {
325
325
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
326
326
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
327
327
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
328
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
328
329
  };
329
330
  export const csCZ = getGridLocalization(csCZGrid);
@@ -299,5 +299,6 @@ const daDKGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const daDK = getGridLocalization(daDKGrid);
@@ -289,5 +289,6 @@ const deDEGrid = {
289
289
  promptChangePivotRowsLabel: count => `Zeilen (${count})`,
290
290
  promptChangePivotValuesLabel: count => `Werte (${count})`,
291
291
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
292
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
292
293
  };
293
294
  export const deDE = getGridLocalization(deDEGrid);
@@ -300,5 +300,6 @@ const elGRGrid = {
300
300
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
301
301
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
302
302
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
303
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
303
304
  };
304
305
  export const elGR = getGridLocalization(elGRGrid);
@@ -297,5 +297,6 @@ const esESGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const esES = getGridLocalization(esESGrid);
@@ -298,5 +298,6 @@ const faIRGrid = {
298
298
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
299
299
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
300
300
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
301
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
301
302
  };
302
303
  export const faIR = getGridLocalization(faIRGrid);
@@ -299,5 +299,6 @@ const fiFIGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const fiFI = getGridLocalization(fiFIGrid);
@@ -295,5 +295,6 @@ const frFRGrid = {
295
295
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
296
296
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
297
297
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
298
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
298
299
  };
299
300
  export const frFR = getGridLocalization(frFRGrid);
@@ -297,5 +297,6 @@ const heILGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const heIL = getGridLocalization(heILGrid);
@@ -317,5 +317,6 @@ const hrHRGrid = {
317
317
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
318
318
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
319
319
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
320
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
320
321
  };
321
322
  export const hrHR = getGridLocalization(hrHRGrid);
@@ -297,5 +297,6 @@ const huHUGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const huHU = getGridLocalization(huHUGrid);
@@ -323,5 +323,6 @@ const hyAMGrid = {
323
323
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
324
324
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
325
325
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
326
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
326
327
  };
327
328
  export const hyAM = getGridLocalization(hyAMGrid);
@@ -289,5 +289,6 @@ export const idIDGrid = {
289
289
  promptChangePivotRowsLabel: count => `Baris (${count})`,
290
290
  promptChangePivotValuesLabel: count => `Nilai (${count})`,
291
291
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
292
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
292
293
  };
293
294
  export const idID = getGridLocalization(idIDGrid);
@@ -299,5 +299,6 @@ const isISGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const isIS = getGridLocalization(isISGrid);
@@ -287,5 +287,6 @@ const itITGrid = {
287
287
  promptChangePivotRowsLabel: count => `Righe (${count})`,
288
288
  promptChangePivotValuesLabel: count => `Valori (${count})`,
289
289
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
290
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
290
291
  };
291
292
  export const itIT = getGridLocalization(itITGrid);
@@ -299,5 +299,6 @@ const jaJPGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const jaJP = getGridLocalization(jaJPGrid);
@@ -289,5 +289,6 @@ const koKRGrid = {
289
289
  promptChangePivotRowsLabel: count => `(${count}) 개의 행`,
290
290
  promptChangePivotValuesLabel: count => `(${count}) 개의 값`,
291
291
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
292
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
292
293
  };
293
294
  export const koKR = getGridLocalization(koKRGrid);
@@ -297,5 +297,6 @@ const nbNOGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const nbNO = getGridLocalization(nbNOGrid);
@@ -298,5 +298,6 @@ const nlNLGrid = {
298
298
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
299
299
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
300
300
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
301
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
301
302
  };
302
303
  export const nlNL = getGridLocalization(nlNLGrid);
@@ -289,5 +289,6 @@ const nnNOGrid = {
289
289
  promptChangePivotRowsLabel: count => `Rader (${count})`,
290
290
  promptChangePivotValuesLabel: count => `Verdiar (${count})`,
291
291
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
292
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
292
293
  };
293
294
  export const nnNO = getGridLocalization(nnNOGrid);
@@ -294,5 +294,6 @@ const plPLGrid = {
294
294
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
295
295
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
296
296
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
297
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
297
298
  };
298
299
  export const plPL = getGridLocalization(plPLGrid);
@@ -286,5 +286,6 @@ const ptBRGrid = {
286
286
  promptChangePivotRowsLabel: count => `Linhas (${count})`,
287
287
  promptChangePivotValuesLabel: count => `Valores (${count})`,
288
288
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
289
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
289
290
  };
290
291
  export const ptBR = getGridLocalization(ptBRGrid);
@@ -297,5 +297,6 @@ const ptPTGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const ptPT = getGridLocalization(ptPTGrid);
@@ -297,5 +297,6 @@ const roROGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const roRO = getGridLocalization(roROGrid);
@@ -319,5 +319,6 @@ const ruRUGrid = {
319
319
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
320
320
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
321
321
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
322
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
322
323
  };
323
324
  export const ruRU = getGridLocalization(ruRUGrid);
@@ -325,5 +325,6 @@ const skSKGrid = {
325
325
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
326
326
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
327
327
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
328
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
328
329
  };
329
330
  export const skSK = getGridLocalization(skSKGrid);
@@ -299,5 +299,6 @@ const svSEGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const svSE = getGridLocalization(svSEGrid);
@@ -297,5 +297,6 @@ const trTRGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const trTR = getGridLocalization(trTRGrid);
@@ -319,5 +319,6 @@ const ukUAGrid = {
319
319
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
320
320
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
321
321
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
322
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
322
323
  };
323
324
  export const ukUA = getGridLocalization(ukUAGrid);
@@ -299,5 +299,6 @@ const urPKGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const urPK = getGridLocalization(urPKGrid);
@@ -299,5 +299,6 @@ const viVNGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const viVN = getGridLocalization(viVNGrid);
@@ -295,5 +295,6 @@ const zhCNGrid = {
295
295
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
296
296
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
297
297
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
298
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
298
299
  };
299
300
  export const zhCN = getGridLocalization(zhCNGrid);
@@ -295,5 +295,6 @@ const zhHKGrid = {
295
295
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
296
296
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
297
297
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
298
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
298
299
  };
299
300
  export const zhHK = getGridLocalization(zhHKGrid);
@@ -295,5 +295,6 @@ const zhTWGrid = {
295
295
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
296
296
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
297
297
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
298
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
298
299
  };
299
300
  export const zhTW = getGridLocalization(zhTWGrid);
@@ -219,6 +219,7 @@ export interface GridLocaleText {
219
219
  promptChangePivotRowsLabel: (count: number) => string;
220
220
  promptChangePivotValuesLabel: (count: number) => string;
221
221
  promptChangePivotValuesDescription: (column: string, aggregation: string) => string;
222
+ promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => string;
222
223
  promptFieldLabel: string;
223
224
  promptFieldPlaceholder: string;
224
225
  promptFieldPlaceholderWithRecording: string;
@@ -15,6 +15,19 @@ export interface GridGetRowsParams {
15
15
  */
16
16
  end: number;
17
17
  }
18
+ export interface GridGetRowsOptions {
19
+ /**
20
+ * If `true`, bypasses the cache and forces a refetch of the rows from the server.
21
+ * The response will be used to refresh the cache.
22
+ */
23
+ skipCache?: boolean;
24
+ /**
25
+ * By default, the grid tries to keep the children expanded and attached to the parent with the same ID after the data is re-fetched.
26
+ * If `keepChildrenExpanded` is `false`, the children of the parent with the `parentId` (all children for the root level data fetch) will be collapsed and removed from the tree.
27
+ * @default true
28
+ */
29
+ keepChildrenExpanded?: boolean;
30
+ }
18
31
  export interface GridUpdateRowParams {
19
32
  rowId: GridRowId;
20
33
  updatedRow: GridRowModel;
@@ -1,7 +1,7 @@
1
- import { GridRowTreeCreationParams, GridRowTreeCreationValue, GridRowsState } from "../../features/rows/gridRowsInterfaces.js";
2
- import { GridFilteringMethodParams, GridFilteringMethodValue, GridFilterState, GridVisibleRowsLookupState } from "../../features/filter/gridFilterState.js";
3
- import { GridSortingMethodParams, GridSortingMethodValue } from "../../features/sorting/gridSortingState.js";
4
- import { GridGetRowsParams, GridGetRowsResponse } from "../../../models/gridDataSource.js";
1
+ import type { GridRowTreeCreationParams, GridRowTreeCreationValue, GridRowsState } from "../../features/rows/gridRowsInterfaces.js";
2
+ import type { GridFilteringMethodParams, GridFilteringMethodValue, GridFilterState, GridVisibleRowsLookupState } from "../../features/filter/gridFilterState.js";
3
+ import type { GridSortingMethodParams, GridSortingMethodValue } from "../../features/sorting/gridSortingState.js";
4
+ import type { GridGetRowsParams, GridGetRowsResponse, GridGetRowsOptions } from "../../../models/gridDataSource.js";
5
5
  export type GridStrategyProcessorName = keyof GridStrategyProcessingLookup;
6
6
  export declare enum GridStrategyGroup {
7
7
  DataSource = "dataSource",
@@ -14,9 +14,11 @@ export interface GridStrategyProcessingLookup {
14
14
  params: {
15
15
  response: GridGetRowsResponse;
16
16
  fetchParams: GridGetRowsParams;
17
+ options: GridGetRowsOptions;
17
18
  } | {
18
19
  error: Error;
19
20
  fetchParams: GridGetRowsParams;
21
+ options: GridGetRowsOptions;
20
22
  };
21
23
  value: void;
22
24
  };
@@ -1,40 +1,40 @@
1
- import type { GridDataSourceCache, GridGetRowsParams, GridUpdateRowParams } from "../../../models/gridDataSource.js";
1
+ import type { GridDataSourceCache, GridGetRowsParams, GridUpdateRowParams, GridGetRowsOptions } from "../../../models/gridDataSource.js";
2
2
  import type { GridRowId, GridRowModel } from "../../../models/gridRows.js";
3
3
  import type { GridDataSourceCacheDefaultConfig } from "./cache.js";
4
4
  /**
5
5
  * The parameters for the `fetchRows` method.
6
6
  */
7
- export interface GridDataSourceFetchRowsParams extends Partial<GridGetRowsParams> {
8
- /**
9
- * If `true`, bypasses the cache and forces a refetch of the rows from the server.
10
- */
11
- skipCache?: boolean;
12
- }
13
- export interface GridDataSourceApiBase {
14
- /**
15
- * Fetches the rows from the server.
16
- * If no `parentId` option is provided, it fetches the root rows.
17
- * Any missing parameter from `params` will be filled from the state (sorting, filtering, etc.).
18
- * @param {GridRowId} parentId The id of the parent node (default: `GRID_ROOT_GROUP_ID`).
19
- * @param {GridDataSourceFetchRowsParams} params Request parameters override.
20
- */
21
- fetchRows: (parentId?: GridRowId, params?: GridDataSourceFetchRowsParams) => void;
22
- /**
23
- * The data source cache object.
24
- */
25
- cache: GridDataSourceCache;
26
- /**
27
- * Syncs the row with the server and updates in the grid.
28
- * @param {GridUpdateRowParams} params The parameters for the edit operation.
29
- * @returns {Promise<GridRowModel> | undefined} The updated row or `undefined` if `dataSource.updateRow` is not passed.
30
- */
31
- editRow: (params: GridUpdateRowParams) => Promise<GridRowModel> | undefined;
32
- }
7
+ export type GridDataSourceFetchRowsParams<T> = Partial<T> & GridGetRowsOptions;
33
8
  export interface GridDataSourceApi {
34
9
  /**
35
10
  * The data source API.
36
11
  */
37
- dataSource: GridDataSourceApiBase;
12
+ dataSource: {
13
+ /**
14
+ * Fetches the rows from the server.
15
+ * If no `parentId` option is provided, it fetches the root rows.
16
+ * Any missing parameter from `params` will be filled from the state (sorting, filtering, etc.).
17
+ * @param {GridRowId} parentId The id of the parent node (default: `GRID_ROOT_GROUP_ID`).
18
+ * @param {GridDataSourceFetchRowsParams<GridGetRowsParams>} params Request parameters override.
19
+ * @returns {Promise<void>} A promise that resolves when the rows are fetched.
20
+ */
21
+ fetchRows: (parentId?: GridRowId, params?: GridDataSourceFetchRowsParams<GridGetRowsParams>) => Promise<void>;
22
+ /**
23
+ * The data source cache object.
24
+ */
25
+ cache: GridDataSourceCache;
26
+ /**
27
+ * Syncs the row with the server and updates in the grid.
28
+ * @param {GridUpdateRowParams} params The parameters for the edit operation.
29
+ * @returns {Promise<GridRowModel> | undefined} The updated row or `undefined` if `dataSource.updateRow` is not passed.
30
+ */
31
+ editRow: (params: GridUpdateRowParams) => Promise<GridRowModel> | undefined;
32
+ };
33
+ }
34
+ export interface GridDataSourceApiBase {
35
+ fetchRows: GridDataSourceApi['dataSource']['fetchRows'];
36
+ cache: GridDataSourceApi['dataSource']['cache'];
37
+ editRow: GridDataSourceApi['dataSource']['editRow'];
38
38
  }
39
39
  export interface GridDataSourceBaseOptions {
40
40
  cacheOptions?: GridDataSourceCacheDefaultConfig;
@@ -10,7 +10,7 @@ export declare const useGridDataSourceBase: <Api extends GridPrivateApiCommunity
10
10
  api: {
11
11
  public: GridDataSourceApi;
12
12
  };
13
- debouncedFetchRows: ((parentId?: import("@mui/x-data-grid").GridRowId, params?: import("./models.js").GridDataSourceFetchRowsParams) => void) & import("@mui/utils/debounce").Cancelable;
13
+ debouncedFetchRows: ((parentId?: import("@mui/x-data-grid").GridRowId, params?: import("./models.js").GridDataSourceFetchRowsParams<import("@mui/x-data-grid").GridGetRowsParams>) => Promise<void>) & import("@mui/utils/debounce").Cancelable;
14
14
  strategyProcessor: {
15
15
  strategyName: DataSourceRowsUpdateStrategy;
16
16
  group: "dataSourceRowsUpdate";
@@ -23,7 +23,7 @@ var _gridDataSourceSelector = require("./gridDataSourceSelector");
23
23
  var _utils2 = require("./utils");
24
24
  var _cache = require("./cache");
25
25
  var _gridDataSourceError = require("./gridDataSourceError");
26
- const _excluded = ["skipCache"];
26
+ const _excluded = ["skipCache", "keepChildrenExpanded"];
27
27
  const noopCache = {
28
28
  clear: () => {},
29
29
  get: () => undefined,
@@ -40,8 +40,8 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
40
40
  apiRef.current.setStrategyAvailability(_strategyProcessing.GridStrategyGroup.DataSource, _utils2.DataSourceRowsUpdateStrategy.Default, props.dataSource ? () => true : () => false);
41
41
  }, [apiRef, props.dataSource]);
42
42
  const [currentStrategy, setCurrentStrategy] = React.useState(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource));
43
- const defaultRowsUpdateStrategyActive = React.useMemo(() => {
44
- return currentStrategy === _utils2.DataSourceRowsUpdateStrategy.Default;
43
+ const standardRowsUpdateStrategyActive = React.useMemo(() => {
44
+ return currentStrategy === _utils2.DataSourceRowsUpdateStrategy.Default || currentStrategy === _utils2.DataSourceRowsUpdateStrategy.GroupedData;
45
45
  }, [currentStrategy]);
46
46
  const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
47
47
  const lastRequestId = React.useRef(0);
@@ -67,7 +67,8 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
67
67
  options.clearDataSourceState?.();
68
68
  const _ref = params || {},
69
69
  {
70
- skipCache
70
+ skipCache,
71
+ keepChildrenExpanded
71
72
  } = _ref,
72
73
  getRowsParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
73
74
  const fetchParams = (0, _extends2.default)({}, (0, _gridDataSourceSelector.gridGetRowsParamsSelector)(apiRef), apiRef.current.unstable_applyPipeProcessors('getRowsParams', {}), getRowsParams);
@@ -76,13 +77,17 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
76
77
  if (!skipCache && responses.every(response => response !== undefined)) {
77
78
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
78
79
  response: _utils2.CacheChunkManager.mergeResponses(responses),
79
- fetchParams
80
+ fetchParams,
81
+ options: {
82
+ skipCache,
83
+ keepChildrenExpanded
84
+ }
80
85
  });
81
86
  return;
82
87
  }
83
88
 
84
89
  // Manage loading state only for the default strategy
85
- if (defaultRowsUpdateStrategyActive || apiRef.current.getRowsCount() === 0) {
90
+ if (standardRowsUpdateStrategyActive || apiRef.current.getRowsCount() === 0) {
86
91
  apiRef.current.setLoading(true);
87
92
  }
88
93
  const requestId = lastRequestId.current + 1;
@@ -94,14 +99,22 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
94
99
  if (lastRequestId.current === requestId) {
95
100
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
96
101
  response: getRowsResponse,
97
- fetchParams
102
+ fetchParams,
103
+ options: {
104
+ skipCache,
105
+ keepChildrenExpanded
106
+ }
98
107
  });
99
108
  }
100
109
  } catch (originalError) {
101
110
  if (lastRequestId.current === requestId) {
102
111
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
103
112
  error: originalError,
104
- fetchParams
113
+ fetchParams,
114
+ options: {
115
+ skipCache,
116
+ keepChildrenExpanded
117
+ }
105
118
  });
106
119
  if (typeof onDataSourceErrorProp === 'function') {
107
120
  onDataSourceErrorProp(new _gridDataSourceError.GridGetRowsError({
@@ -114,11 +127,11 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
114
127
  }
115
128
  }
116
129
  } finally {
117
- if (defaultRowsUpdateStrategyActive && lastRequestId.current === requestId) {
130
+ if (standardRowsUpdateStrategyActive && lastRequestId.current === requestId) {
118
131
  apiRef.current.setLoading(false);
119
132
  }
120
133
  }
121
- }, [cacheChunkManager, cache, apiRef, defaultRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
134
+ }, [cacheChunkManager, cache, apiRef, standardRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
122
135
  const handleStrategyActivityChange = React.useCallback(() => {
123
136
  setCurrentStrategy(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource));
124
137
  }, [apiRef]);
@@ -193,7 +206,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
193
206
  React.useEffect(() => {
194
207
  // Return early if the proper strategy isn't set yet
195
208
  // Context: https://github.com/mui/mui-x/issues/19650
196
- if (currentStrategy !== _utils2.DataSourceRowsUpdateStrategy.Default && currentStrategy !== _utils2.DataSourceRowsUpdateStrategy.LazyLoading) {
209
+ if (currentStrategy !== _utils2.DataSourceRowsUpdateStrategy.Default && currentStrategy !== _utils2.DataSourceRowsUpdateStrategy.LazyLoading && currentStrategy !== _utils2.DataSourceRowsUpdateStrategy.GroupedData) {
197
210
  return undefined;
198
211
  }
199
212
  if (props.dataSource) {
@@ -220,9 +233,9 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
220
233
  cache,
221
234
  events: {
222
235
  strategyAvailabilityChange: handleStrategyActivityChange,
223
- sortModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
224
- filterModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
225
- paginationModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows())
236
+ sortModelChange: (0, _utils.runIf)(standardRowsUpdateStrategyActive, () => debouncedFetchRows()),
237
+ filterModelChange: (0, _utils.runIf)(standardRowsUpdateStrategyActive, () => debouncedFetchRows()),
238
+ paginationModelChange: (0, _utils.runIf)(standardRowsUpdateStrategyActive, () => debouncedFetchRows())
226
239
  }
227
240
  };
228
241
  };
@@ -1,7 +1,8 @@
1
1
  import type { GridGetRowsParams, GridGetRowsResponse } from "../../../models/gridDataSource.js";
2
2
  export declare enum DataSourceRowsUpdateStrategy {
3
- Default = "set-new-rows",
3
+ Default = "set-flat-rows",
4
4
  LazyLoading = "replace-row-range",
5
+ GroupedData = "set-grouped-rows",
5
6
  }
6
7
  /**
7
8
  * Provides better cache hit rate by:
@@ -7,8 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DataSourceRowsUpdateStrategy = exports.CacheChunkManager = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  let DataSourceRowsUpdateStrategy = exports.DataSourceRowsUpdateStrategy = /*#__PURE__*/function (DataSourceRowsUpdateStrategy) {
10
- DataSourceRowsUpdateStrategy["Default"] = "set-new-rows";
10
+ DataSourceRowsUpdateStrategy["Default"] = "set-flat-rows";
11
11
  DataSourceRowsUpdateStrategy["LazyLoading"] = "replace-row-range";
12
+ DataSourceRowsUpdateStrategy["GroupedData"] = "set-grouped-rows";
12
13
  return DataSourceRowsUpdateStrategy;
13
14
  }({});
14
15
  /**
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.14.1
2
+ * @mui/x-data-grid v8.15.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -87,7 +87,7 @@ export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js
87
87
  export type { GridStateInitializer } from "../hooks/utils/useGridInitializeState.js";
88
88
  export type * as BaseSlots from "../models/gridBaseSlots.js";
89
89
  export type * from "../models/props/DataGridProps.js";
90
- export type { GridDataSourceApiBase, GridDataSourceApi, GridDataSourceBaseOptions } from "../hooks/features/dataSource/models.js";
90
+ export type { GridDataSourceApiBase, GridDataSourceApi, GridDataSourceBaseOptions, GridDataSourceFetchRowsParams } from "../hooks/features/dataSource/models.js";
91
91
  export { DataSourceRowsUpdateStrategy } from "../hooks/features/dataSource/utils.js";
92
92
  export { useGridDataSourceBase } from "../hooks/features/dataSource/useGridDataSourceBase.js";
93
93
  export { CacheChunkManager } from "../hooks/features/dataSource/utils.js";
package/locales/arSD.js CHANGED
@@ -304,5 +304,6 @@ const arSDGrid = {
304
304
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
305
305
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
306
306
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
307
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
307
308
  };
308
309
  const arSD = exports.arSD = (0, _getGridLocalization.getGridLocalization)(arSDGrid);
package/locales/beBY.js CHANGED
@@ -328,5 +328,6 @@ const beBYGrid = {
328
328
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
329
329
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
330
330
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
331
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
331
332
  };
332
333
  const beBY = exports.beBY = (0, _getGridLocalization.getGridLocalization)(beBYGrid);
package/locales/bgBG.js CHANGED
@@ -305,5 +305,6 @@ const bgBGGrid = {
305
305
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
306
306
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
307
307
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
308
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
308
309
  };
309
310
  const bgBG = exports.bgBG = (0, _getGridLocalization.getGridLocalization)(bgBGGrid);
package/locales/bnBD.js CHANGED
@@ -303,5 +303,6 @@ const bnBDGrid = {
303
303
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
304
304
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
305
305
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
306
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
306
307
  };
307
308
  const bnBD = exports.bnBD = (0, _getGridLocalization.getGridLocalization)(bnBDGrid);
package/locales/csCZ.js CHANGED
@@ -331,5 +331,6 @@ const csCZGrid = {
331
331
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
332
332
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
333
333
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
334
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
334
335
  };
335
336
  const csCZ = exports.csCZ = (0, _getGridLocalization.getGridLocalization)(csCZGrid);