@mui/x-data-grid 8.14.0 → 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 (120) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/components/GridScrollShadows.js +23 -3
  3. package/components/cell/GridCell.js +1 -0
  4. package/constants/gridClasses.d.ts +12 -0
  5. package/constants/gridClasses.js +1 -1
  6. package/constants/localeTextConstants.js +2 -1
  7. package/esm/components/GridScrollShadows.js +22 -3
  8. package/esm/components/cell/GridCell.js +1 -0
  9. package/esm/constants/gridClasses.d.ts +12 -0
  10. package/esm/constants/gridClasses.js +1 -1
  11. package/esm/constants/localeTextConstants.js +2 -1
  12. package/esm/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  13. package/esm/hooks/core/useGridProps.d.ts +3 -5
  14. package/esm/hooks/core/useGridProps.js +5 -3
  15. package/esm/hooks/core/useGridVirtualizer.js +11 -9
  16. package/esm/hooks/features/dataSource/models.d.ts +28 -28
  17. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  18. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +28 -15
  19. package/esm/hooks/features/dataSource/utils.d.ts +2 -1
  20. package/esm/hooks/features/dataSource/utils.js +2 -1
  21. package/esm/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  22. package/esm/hooks/features/rows/gridRowsInterfaces.d.ts +1 -11
  23. package/esm/index.js +1 -1
  24. package/esm/internals/index.d.ts +2 -2
  25. package/esm/locales/arSD.js +1 -0
  26. package/esm/locales/beBY.js +1 -0
  27. package/esm/locales/bgBG.js +1 -0
  28. package/esm/locales/bnBD.js +1 -0
  29. package/esm/locales/csCZ.js +1 -0
  30. package/esm/locales/daDK.js +1 -0
  31. package/esm/locales/deDE.js +1 -0
  32. package/esm/locales/elGR.js +1 -0
  33. package/esm/locales/esES.js +1 -0
  34. package/esm/locales/faIR.js +1 -0
  35. package/esm/locales/fiFI.js +1 -0
  36. package/esm/locales/frFR.js +1 -0
  37. package/esm/locales/heIL.js +1 -0
  38. package/esm/locales/hrHR.js +1 -0
  39. package/esm/locales/huHU.js +1 -0
  40. package/esm/locales/hyAM.js +1 -0
  41. package/esm/locales/idID.js +1 -0
  42. package/esm/locales/isIS.js +1 -0
  43. package/esm/locales/itIT.js +104 -115
  44. package/esm/locales/jaJP.js +1 -0
  45. package/esm/locales/koKR.js +1 -0
  46. package/esm/locales/nbNO.js +1 -0
  47. package/esm/locales/nlNL.js +1 -0
  48. package/esm/locales/nnNO.js +1 -0
  49. package/esm/locales/plPL.js +1 -0
  50. package/esm/locales/ptBR.js +1 -0
  51. package/esm/locales/ptPT.js +1 -0
  52. package/esm/locales/roRO.js +1 -0
  53. package/esm/locales/ruRU.js +1 -0
  54. package/esm/locales/skSK.js +1 -0
  55. package/esm/locales/svSE.js +1 -0
  56. package/esm/locales/trTR.js +1 -0
  57. package/esm/locales/ukUA.js +1 -0
  58. package/esm/locales/urPK.js +1 -0
  59. package/esm/locales/viVN.js +1 -0
  60. package/esm/locales/zhCN.js +1 -0
  61. package/esm/locales/zhHK.js +1 -0
  62. package/esm/locales/zhTW.js +1 -0
  63. package/esm/models/api/gridLocaleTextApi.d.ts +1 -0
  64. package/esm/models/gridDataSource.d.ts +13 -0
  65. package/esm/models/gridStateCommunity.d.ts +2 -3
  66. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  67. package/hooks/core/useGridProps.d.ts +3 -5
  68. package/hooks/core/useGridProps.js +5 -3
  69. package/hooks/core/useGridVirtualizer.js +11 -9
  70. package/hooks/features/dataSource/models.d.ts +28 -28
  71. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  72. package/hooks/features/dataSource/useGridDataSourceBase.js +28 -15
  73. package/hooks/features/dataSource/utils.d.ts +2 -1
  74. package/hooks/features/dataSource/utils.js +2 -1
  75. package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  76. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -11
  77. package/index.js +1 -1
  78. package/internals/index.d.ts +2 -2
  79. package/locales/arSD.js +1 -0
  80. package/locales/beBY.js +1 -0
  81. package/locales/bgBG.js +1 -0
  82. package/locales/bnBD.js +1 -0
  83. package/locales/csCZ.js +1 -0
  84. package/locales/daDK.js +1 -0
  85. package/locales/deDE.js +1 -0
  86. package/locales/elGR.js +1 -0
  87. package/locales/esES.js +1 -0
  88. package/locales/faIR.js +1 -0
  89. package/locales/fiFI.js +1 -0
  90. package/locales/frFR.js +1 -0
  91. package/locales/heIL.js +1 -0
  92. package/locales/hrHR.js +1 -0
  93. package/locales/huHU.js +1 -0
  94. package/locales/hyAM.js +1 -0
  95. package/locales/idID.js +1 -0
  96. package/locales/isIS.js +1 -0
  97. package/locales/itIT.js +104 -115
  98. package/locales/jaJP.js +1 -0
  99. package/locales/koKR.js +1 -0
  100. package/locales/nbNO.js +1 -0
  101. package/locales/nlNL.js +1 -0
  102. package/locales/nnNO.js +1 -0
  103. package/locales/plPL.js +1 -0
  104. package/locales/ptBR.js +1 -0
  105. package/locales/ptPT.js +1 -0
  106. package/locales/roRO.js +1 -0
  107. package/locales/ruRU.js +1 -0
  108. package/locales/skSK.js +1 -0
  109. package/locales/svSE.js +1 -0
  110. package/locales/trTR.js +1 -0
  111. package/locales/ukUA.js +1 -0
  112. package/locales/urPK.js +1 -0
  113. package/locales/viVN.js +1 -0
  114. package/locales/zhCN.js +1 -0
  115. package/locales/zhHK.js +1 -0
  116. package/locales/zhTW.js +1 -0
  117. package/models/api/gridLocaleTextApi.d.ts +1 -0
  118. package/models/gridDataSource.d.ts +13 -0
  119. package/models/gridStateCommunity.d.ts +2 -3
  120. package/package.json +2 -2
@@ -3,10 +3,9 @@ const itITGrid = {
3
3
  // Root
4
4
  noRowsLabel: 'Nessun record',
5
5
  noResultsOverlayLabel: 'Nessun record trovato.',
6
- // noColumnsOverlayLabel: 'No columns',
7
- // noColumnsOverlayManageColumns: 'Manage columns',
8
- // emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
9
-
6
+ noColumnsOverlayLabel: 'Nessuna colonna',
7
+ noColumnsOverlayManageColumns: 'Gestisci colonne',
8
+ emptyPivotOverlayLabel: 'Aggiungi campi a righe, colonne e valori per creare una tabella pivot',
10
9
  // Density selector toolbar button text
11
10
  toolbarDensity: 'Densità',
12
11
  toolbarDensityLabel: 'Densità',
@@ -33,14 +32,11 @@ const itITGrid = {
33
32
  toolbarExportPrint: 'Stampa',
34
33
  toolbarExportExcel: 'Scarica come Excel',
35
34
  // Toolbar pivot button
36
- // toolbarPivot: 'Pivot',
37
-
35
+ toolbarPivot: 'Pivota',
38
36
  // Toolbar charts button
39
- // toolbarCharts: 'Charts',
40
-
37
+ toolbarCharts: 'Grafici',
41
38
  // Toolbar AI Assistant button
42
- // toolbarAssistant: 'AI Assistant',
43
-
39
+ toolbarAssistant: 'Assistente AI',
44
40
  // Columns management text
45
41
  columnsManagementSearchTitle: 'Cerca',
46
42
  columnsManagementNoColumns: 'Nessuna colonna',
@@ -103,15 +99,14 @@ const itITGrid = {
103
99
  'headerFilterOperator>=': 'Maggiore o uguale a',
104
100
  'headerFilterOperator<': 'Minore di',
105
101
  'headerFilterOperator<=': 'Minore o uguale a',
106
- // headerFilterClear: 'Clear filter',
107
-
102
+ headerFilterClear: 'Rimuovi filtri',
108
103
  // Filter values text
109
104
  filterValueAny: 'qualunque',
110
105
  filterValueTrue: 'vero',
111
106
  filterValueFalse: 'falso',
112
107
  // Column menu text
113
108
  columnMenuLabel: 'Menu',
114
- // columnMenuAriaLabel: (columnName: string) => `${columnName} column menu`,
109
+ columnMenuAriaLabel: columnName => `Menù della colonna ${columnName}`,
115
110
  columnMenuShowColumns: 'Mostra le colonne',
116
111
  columnMenuManageColumns: 'Gestisci colonne',
117
112
  columnMenuFilter: 'Filtra',
@@ -119,9 +114,8 @@ const itITGrid = {
119
114
  columnMenuUnsort: "Annulla l'ordinamento",
120
115
  columnMenuSortAsc: 'Ordinamento crescente',
121
116
  columnMenuSortDesc: 'Ordinamento decrescente',
122
- // columnMenuManagePivot: 'Manage pivot',
123
- // columnMenuManageCharts: 'Manage charts',
124
-
117
+ columnMenuManagePivot: 'Gestisci pivoting',
118
+ columnMenuManageCharts: 'Gestisci grafici',
125
119
  // Column header text
126
120
  columnHeaderFiltersTooltipActive: count => count > 1 ? `${count} filtri attivi` : `${count} filtro attivo`,
127
121
  columnHeaderFiltersLabel: 'Mostra i filtri',
@@ -161,18 +155,18 @@ const itITGrid = {
161
155
  collapseDetailPanel: 'Comprimi',
162
156
  // Pagination
163
157
  paginationRowsPerPage: 'Righe per pagina:',
164
- // paginationDisplayedRows: ({
165
- // from,
166
- // to,
167
- // count,
168
- // estimated
169
- // }) => {
170
- // if (!estimated) {
171
- // return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
172
- // }
173
- // const estimatedLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
174
- // return `${from}–${to} of ${count !== -1 ? count : estimatedLabel}`;
175
- // },
158
+ paginationDisplayedRows: ({
159
+ from,
160
+ to,
161
+ count,
162
+ estimated
163
+ }) => {
164
+ if (!estimated) {
165
+ return `${from}–${to} di ${count !== -1 ? count : `più di ${to}`}`;
166
+ }
167
+ const estimatedLabel = estimated && estimated > to ? `circa ${estimated}` : `più di ${to}`;
168
+ return `${from}–${to} di ${count !== -1 ? count : estimatedLabel}`;
169
+ },
176
170
  paginationItemAriaLabel: type => {
177
171
  if (type === 'first') {
178
172
  return 'Vai alla prima pagina';
@@ -190,95 +184,89 @@ const itITGrid = {
190
184
  rowReorderingHeaderName: 'Riordinamento righe',
191
185
  // Aggregation
192
186
  aggregationMenuItemHeader: 'aggregazione',
193
- // aggregationFunctionLabelNone: 'none',
187
+ aggregationFunctionLabelNone: 'nessuna',
194
188
  aggregationFunctionLabelSum: 'somma',
195
189
  aggregationFunctionLabelAvg: 'media',
196
190
  aggregationFunctionLabelMin: 'minimo',
197
191
  aggregationFunctionLabelMax: 'massimo',
198
- aggregationFunctionLabelSize: 'numero di elementi'
199
-
192
+ aggregationFunctionLabelSize: 'numero di elementi',
200
193
  // Pivot panel
201
- // pivotToggleLabel: 'Pivot',
202
- // pivotRows: 'Rows',
203
- // pivotColumns: 'Columns',
204
- // pivotValues: 'Values',
205
- // pivotCloseButton: 'Close pivot settings',
206
- // pivotSearchButton: 'Search fields',
207
- // pivotSearchControlPlaceholder: 'Search fields',
208
- // pivotSearchControlLabel: 'Search fields',
209
- // pivotSearchControlClear: 'Clear search',
210
- // pivotNoFields: 'No fields',
211
- // pivotMenuMoveUp: 'Move up',
212
- // pivotMenuMoveDown: 'Move down',
213
- // pivotMenuMoveToTop: 'Move to top',
214
- // pivotMenuMoveToBottom: 'Move to bottom',
215
- // pivotMenuRows: 'Rows',
216
- // pivotMenuColumns: 'Columns',
217
- // pivotMenuValues: 'Values',
218
- // pivotMenuOptions: 'Field options',
219
- // pivotMenuAddToRows: 'Add to Rows',
220
- // pivotMenuAddToColumns: 'Add to Columns',
221
- // pivotMenuAddToValues: 'Add to Values',
222
- // pivotMenuRemove: 'Remove',
223
- // pivotDragToRows: 'Drag here to create rows',
224
- // pivotDragToColumns: 'Drag here to create columns',
225
- // pivotDragToValues: 'Drag here to create values',
226
- // pivotYearColumnHeaderName: '(Year)',
227
- // pivotQuarterColumnHeaderName: '(Quarter)',
228
-
194
+ pivotToggleLabel: 'Pivota la tabella',
195
+ pivotRows: 'Righe',
196
+ pivotColumns: 'Colonne',
197
+ pivotValues: 'Valori',
198
+ pivotCloseButton: 'Chiudi impostazioni di trasposizione',
199
+ pivotSearchButton: 'Cerca attrubuti',
200
+ pivotSearchControlPlaceholder: 'Cerca attrubuti',
201
+ pivotSearchControlLabel: 'Cerca attrubuti',
202
+ pivotSearchControlClear: 'Annulla ricerca',
203
+ pivotNoFields: 'Nessun attributo',
204
+ pivotMenuMoveUp: 'Sposta in alto',
205
+ pivotMenuMoveDown: 'Sposta in basso',
206
+ pivotMenuMoveToTop: 'Sposta in cima',
207
+ pivotMenuMoveToBottom: 'Sposta in fondo',
208
+ pivotMenuRows: 'Righe',
209
+ pivotMenuColumns: 'Colonne',
210
+ pivotMenuValues: 'Valori',
211
+ pivotMenuOptions: 'Opzioni',
212
+ pivotMenuAddToRows: 'Aggiungi alle Righe',
213
+ pivotMenuAddToColumns: 'Aggiungi alle Colonne',
214
+ pivotMenuAddToValues: 'Aggiungi ai Valori',
215
+ pivotMenuRemove: 'Rimuovi',
216
+ pivotDragToRows: 'Trascina qui per creare le righe',
217
+ pivotDragToColumns: 'Trascina qui per creare le colonne',
218
+ pivotDragToValues: 'Trascina qui per creare valori',
219
+ pivotYearColumnHeaderName: '(Anno)',
220
+ pivotQuarterColumnHeaderName: '(Quarto)',
229
221
  // Charts configuration panel
230
- // chartsNoCharts: 'There are no charts available',
231
- // chartsChartNotSelected: 'Select a chart type to configure its options',
232
- // chartsTabChart: 'Chart',
233
- // chartsTabFields: 'Fields',
234
- // chartsTabCustomize: 'Customize',
235
- // chartsCloseButton: 'Close charts configuration',
236
- // chartsSyncButtonLabel: 'Sync chart',
237
- // chartsSearchPlaceholder: 'Search fields',
238
- // chartsSearchLabel: 'Search fields',
239
- // chartsSearchClear: 'Clear search',
240
- // chartsNoFields: 'No fields',
241
- // chartsFieldBlocked: 'This field cannot be added to any section',
242
- // chartsCategories: 'Categories',
243
- // chartsSeries: 'Series',
244
- // chartsMenuAddToDimensions: (dimensionLabel: string) => `Add to ${dimensionLabel}`,
245
- // chartsMenuAddToValues: (valuesLabel: string) => `Add to ${valuesLabel}`,
246
- // chartsMenuMoveUp: 'Move up',
247
- // chartsMenuMoveDown: 'Move down',
248
- // chartsMenuMoveToTop: 'Move to top',
249
- // chartsMenuMoveToBottom: 'Move to bottom',
250
- // chartsMenuOptions: 'Field options',
251
- // chartsMenuRemove: 'Remove',
252
- // chartsDragToDimensions: (dimensionLabel: string) => `Drag here to use column as ${dimensionLabel}`,
253
- // chartsDragToValues: (valuesLabel: string) => `Drag here to use column as ${valuesLabel}`,
254
-
222
+ chartsNoCharts: 'Non ci sono grafici disponibili',
223
+ chartsChartNotSelected: 'Seleziona un tipo di grafico per configurarne le opzioni',
224
+ chartsTabChart: 'Grafico',
225
+ chartsTabFields: 'Attributi',
226
+ chartsTabCustomize: 'Personalizza',
227
+ chartsCloseButton: 'Chiudi la configurazione dei grafici',
228
+ chartsSyncButtonLabel: 'Sincronizza grafico',
229
+ chartsSearchPlaceholder: 'Cerca attributi',
230
+ chartsSearchLabel: 'Cerca attributi',
231
+ chartsSearchClear: 'Annulla ricerca',
232
+ chartsNoFields: 'Nessun attributo',
233
+ chartsFieldBlocked: 'Questo attributo non può essere aggiunto ad alcuna sezione',
234
+ chartsCategories: 'Categorie',
235
+ chartsSeries: 'Serie',
236
+ chartsMenuAddToDimensions: dimensionLabel => `Aggiungi a ${dimensionLabel}`,
237
+ chartsMenuAddToValues: valuesLabel => `Aggiungi a ${valuesLabel}`,
238
+ chartsMenuMoveUp: 'Sposta in alto',
239
+ chartsMenuMoveDown: 'Sposta in basso',
240
+ chartsMenuMoveToTop: 'Sposta in cima',
241
+ chartsMenuMoveToBottom: 'Sposta in fondo',
242
+ chartsMenuOptions: "Opzioni per l'attributo",
243
+ chartsMenuRemove: 'Rimuovi',
244
+ chartsDragToDimensions: dimensionLabel => `Trascina qui per usare la colonna come ${dimensionLabel}`,
245
+ chartsDragToValues: valuesLabel => `Trascina qui per usare la colonna come ${valuesLabel}`,
255
246
  // AI Assistant panel
256
- // aiAssistantPanelTitle: 'AI Assistant',
257
- // aiAssistantPanelClose: 'Close AI Assistant',
258
- // aiAssistantPanelNewConversation: 'New conversation',
259
- // aiAssistantPanelConversationHistory: 'Conversation history',
260
- // aiAssistantPanelEmptyConversation: 'No prompt history',
261
- // aiAssistantSuggestions: 'Suggestions',
262
-
247
+ aiAssistantPanelTitle: 'Assistente AI',
248
+ aiAssistantPanelClose: 'Chiudi Assistente AI',
249
+ aiAssistantPanelNewConversation: 'Nuova Conversazione',
250
+ aiAssistantPanelConversationHistory: 'Conversazioni precedenti',
251
+ aiAssistantPanelEmptyConversation: 'Nessuna conversazione precedente',
252
+ aiAssistantSuggestions: 'Suggerimenti:',
263
253
  // Prompt field
264
- // promptFieldLabel: 'Prompt',
265
- // promptFieldPlaceholder: 'Type a prompt…',
266
- // promptFieldPlaceholderWithRecording: 'Type or record a prompt…',
267
- // promptFieldPlaceholderListening: 'Listening for prompt…',
268
- // promptFieldSpeechRecognitionNotSupported: 'Speech recognition is not supported in this browser',
269
- // promptFieldSend: 'Send',
270
- // promptFieldRecord: 'Record',
271
- // promptFieldStopRecording: 'Stop recording',
272
-
254
+ promptFieldLabel: 'Prompt',
255
+ promptFieldPlaceholder: 'Scrivi un prompt…',
256
+ promptFieldPlaceholderWithRecording: 'Scrivi o registra un prompt…',
257
+ promptFieldPlaceholderListening: 'In attesa di un prompt…',
258
+ promptFieldSpeechRecognitionNotSupported: 'Il riconoscimento vocale non è supportato dal tuo browser.',
259
+ promptFieldSend: 'Invia',
260
+ promptFieldRecord: 'Registra',
261
+ promptFieldStopRecording: 'Interrompi registrazione',
273
262
  // Prompt
274
- // promptRerun: 'Run again',
275
- // promptProcessing: 'Processing…',
276
- // promptAppliedChanges: 'Applied changes',
277
-
263
+ promptRerun: 'Esegui nuovamente',
264
+ promptProcessing: 'In elaborazione…',
265
+ promptAppliedChanges: 'Cambiamenti applicati',
278
266
  // Prompt changes
279
- // promptChangeGroupDescription: (column: string) => `Group by ${column}`,
280
- // promptChangeAggregationLabel: (column: string, aggregation: string) => `${column} (${aggregation})`,
281
- // promptChangeAggregationDescription: (column: string, aggregation: string) => `Aggregate ${column} (${aggregation})`,
267
+ promptChangeGroupDescription: column => `Raggruppa per ${column}`,
268
+ promptChangeAggregationLabel: (column, aggregation) => `${column} (${aggregation})`,
269
+ promptChangeAggregationDescription: (column, aggregation) => `Aggrega ${column} (${aggregation})`,
282
270
  // promptChangeFilterLabel: (column: string, operator: string, value: string) => {
283
271
  // if (operator === 'is any of') {
284
272
  // return `${column} is any of: ${value}`;
@@ -291,13 +279,14 @@ const itITGrid = {
291
279
  // }
292
280
  // return `Filter where ${column} ${operator} ${value}`;
293
281
  // },
294
- // promptChangeSortDescription: (column: string, direction: string) => `Sort by ${column} (${direction})`,
295
- // promptChangePivotEnableLabel: 'Pivot',
296
- // promptChangePivotEnableDescription: 'Enable pivot',
297
- // promptChangePivotColumnsLabel: (count: number) => `Columns (${count})`,
298
- // promptChangePivotColumnsDescription: (column: string, direction: string) => `${column}${direction ? ` (${direction})` : ''}`,
299
- // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
- // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
- // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
282
+ promptChangeSortDescription: (column, direction) => `Ordina per ${column} (${direction})`,
283
+ promptChangePivotEnableLabel: 'Pivota',
284
+ promptChangePivotEnableDescription: 'Abilita pivoting',
285
+ promptChangePivotColumnsLabel: count => `Colonne (${count})`,
286
+ promptChangePivotColumnsDescription: (column, direction) => `${column}${direction ? ` (${direction})` : ''}`,
287
+ promptChangePivotRowsLabel: count => `Righe (${count})`,
288
+ promptChangePivotValuesLabel: count => `Valori (${count})`,
289
+ promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
290
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
291
  };
303
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;
@@ -13,7 +13,7 @@ import type { GridRowReorderState } from "../hooks/features/rowReorder/gridRowRe
13
13
  * Some props are passed on the state to enable grid selectors to select
14
14
  * and react to them.
15
15
  */
16
- type GridStateProps = Pick<DataGridProcessedProps, 'getRowId' | 'listView'>;
16
+ export type GridStateProps = Pick<DataGridProcessedProps, 'getRowId' | 'listView' | 'isCellEditable'>;
17
17
  /**
18
18
  * The state of Data Grid.
19
19
  */
@@ -58,5 +58,4 @@ export interface GridInitialStateCommunity {
58
58
  top: number;
59
59
  left: number;
60
60
  };
61
- }
62
- export {};
61
+ }
@@ -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,8 +1,6 @@
1
1
  import type { RefObject } from '@mui/x-internals/types';
2
- import type { DataGridProcessedProps } from "../../models/props/DataGridProps.js";
3
2
  import type { GridPrivateApiCommon } from "../../models/api/gridApiCommon.js";
3
+ import type { GridStateProps } from "../../models/gridStateCommunity.js";
4
4
  import type { GridStateInitializer } from "../utils/useGridInitializeState.js";
5
- type Props = Pick<DataGridProcessedProps, 'getRowId' | 'listView'>;
6
- export declare const propsStateInitializer: GridStateInitializer<Props>;
7
- export declare const useGridProps: <PrivateApi extends GridPrivateApiCommon>(apiRef: RefObject<PrivateApi>, props: Props) => void;
8
- export {};
5
+ export declare const propsStateInitializer: GridStateInitializer<GridStateProps>;
6
+ export declare const useGridProps: <PrivateApi extends GridPrivateApiCommon>(apiRef: RefObject<PrivateApi>, props: GridStateProps) => void;
@@ -13,7 +13,8 @@ const propsStateInitializer = (state, props) => {
13
13
  return (0, _extends2.default)({}, state, {
14
14
  props: {
15
15
  listView: props.listView,
16
- getRowId: props.getRowId
16
+ getRowId: props.getRowId,
17
+ isCellEditable: props.isCellEditable
17
18
  }
18
19
  });
19
20
  };
@@ -23,9 +24,10 @@ const useGridProps = (apiRef, props) => {
23
24
  apiRef.current.setState(state => (0, _extends2.default)({}, state, {
24
25
  props: {
25
26
  listView: props.listView,
26
- getRowId: props.getRowId
27
+ getRowId: props.getRowId,
28
+ isCellEditable: props.isCellEditable
27
29
  }
28
30
  }));
29
- }, [apiRef, props.listView, props.getRowId]);
31
+ }, [apiRef, props.listView, props.getRowId, props.isCellEditable]);
30
32
  };
31
33
  exports.useGridProps = useGridProps;
@@ -66,7 +66,7 @@ function useGridVirtualizer(apiRef, rootProps) {
66
66
  const pinnedRows = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridPinnedRowsSelector);
67
67
  const pinnedColumns = (0, _gridColumnsSelector.gridVisiblePinnedColumnDefinitionsSelector)(apiRef);
68
68
  const rowSelectionManager = (0, _useGridSelector.useGridSelector)(apiRef, _rowSelection.gridRowSelectionManagerSelector);
69
- const isRowSelected = id => rowSelectionManager.has(id) && apiRef.current.isRowSelectable(id);
69
+ const isRowSelected = React.useCallback(id => rowSelectionManager.has(id) && apiRef.current.isRowSelectable(id), [rowSelectionManager, apiRef]);
70
70
  const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef);
71
71
  const hasColSpan = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridHasColSpanSelector);
72
72
  const verticalScrollbarWidth = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridVerticalScrollbarWidthSelector);
@@ -114,6 +114,8 @@ function useGridVirtualizer(apiRef, rootProps) {
114
114
  // </ROWS_META>
115
115
 
116
116
  const focusedVirtualCell = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusedVirtualCellSelector.gridFocusedVirtualCellSelector);
117
+ const RowSlot = rootProps.slots.row;
118
+ const rowSlotProps = rootProps.slotProps?.row;
117
119
  const virtualizer = (0, _xVirtualizer.useVirtualizer)({
118
120
  refs: {
119
121
  container: apiRef.current.mainElementRef,
@@ -129,14 +131,14 @@ function useGridVirtualizer(apiRef, rootProps) {
129
131
  },
130
132
  colspan: {
131
133
  enabled: hasColSpan,
132
- getColspan: (rowId, column) => {
134
+ getColspan: React.useCallback((rowId, column) => {
133
135
  if (typeof column.colSpan === 'function') {
134
136
  const row = apiRef.current.getRow(rowId);
135
137
  const value = apiRef.current.getRowValue(row, column);
136
138
  return column.colSpan(value, row, column, apiRef) ?? 0;
137
139
  }
138
140
  return column.colSpan ?? 1;
139
- }
141
+ }, [apiRef])
140
142
  },
141
143
  initialState: {
142
144
  scroll: rootProps.initialState?.scroll,
@@ -189,15 +191,15 @@ function useGridVirtualizer(apiRef, rootProps) {
189
191
  onRenderContextChange: (0, _useEventCallback.default)(nextRenderContext => {
190
192
  apiRef.current.publishEvent('renderedRowsIntervalChange', nextRenderContext);
191
193
  }),
192
- onScrollChange: (scrollPosition, nextRenderContext) => {
194
+ onScrollChange: React.useCallback((scrollPosition, nextRenderContext) => {
193
195
  apiRef.current.publishEvent('scrollPositionChange', {
194
196
  top: scrollPosition.top,
195
197
  left: scrollPosition.left,
196
198
  renderContext: nextRenderContext
197
199
  });
198
- },
200
+ }, [apiRef]),
199
201
  scrollReset,
200
- renderRow: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.row, (0, _extends2.default)({
202
+ renderRow: React.useCallback(params => /*#__PURE__*/(0, _jsxRuntime.jsx)(RowSlot, (0, _extends2.default)({
201
203
  row: params.model,
202
204
  rowId: params.id,
203
205
  index: params.rowIndex,
@@ -216,10 +218,10 @@ function useGridVirtualizer(apiRef, rootProps) {
216
218
  showBottomBorder: params.showBottomBorder,
217
219
  scrollbarWidth: verticalScrollbarWidth,
218
220
  gridHasFiller: hasFiller
219
- }, rootProps.slotProps?.row), params.id),
220
- renderInfiniteLoadingTrigger: id => apiRef.current.getInfiniteLoadingTriggerElement?.({
221
+ }, rowSlotProps), params.id), [columnsTotalWidth, hasFiller, isRowSelected, pinnedColumns, RowSlot, rowSlotProps, verticalScrollbarWidth, visibleColumns]),
222
+ renderInfiniteLoadingTrigger: React.useCallback(id => apiRef.current.getInfiniteLoadingTriggerElement?.({
221
223
  lastRowId: id
222
- })
224
+ }), [apiRef])
223
225
  });
224
226
 
225
227
  // HACK: Keep the grid's store in sync with the virtualizer store. We set up the