@mui/x-data-grid 8.25.0 → 8.26.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 (122) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/components/cell/GridActionsCell.d.ts +22 -2
  3. package/components/cell/GridActionsCell.js +15 -5
  4. package/components/toolbar/GridToolbar.d.ts +5 -0
  5. package/components/toolbar/GridToolbar.js +5 -0
  6. package/components/toolbarV8/GridToolbar.d.ts +1 -1
  7. package/components/toolbarV8/GridToolbar.js +26 -24
  8. package/constants/localeTextConstants.js +3 -0
  9. package/esm/components/cell/GridActionsCell.d.ts +22 -2
  10. package/esm/components/cell/GridActionsCell.js +15 -5
  11. package/esm/components/toolbar/GridToolbar.d.ts +5 -0
  12. package/esm/components/toolbar/GridToolbar.js +5 -0
  13. package/esm/components/toolbarV8/GridToolbar.d.ts +1 -1
  14. package/esm/components/toolbarV8/GridToolbar.js +26 -24
  15. package/esm/constants/localeTextConstants.js +3 -0
  16. package/esm/hooks/core/useGridProps.js +5 -3
  17. package/esm/hooks/features/focus/useGridFocus.js +26 -2
  18. package/esm/hooks/features/scroll/useGridScroll.js +3 -3
  19. package/esm/index.js +1 -1
  20. package/esm/internals/index.d.ts +1 -1
  21. package/esm/internals/index.js +1 -1
  22. package/esm/locales/arSD.js +3 -0
  23. package/esm/locales/beBY.js +3 -0
  24. package/esm/locales/bgBG.js +3 -0
  25. package/esm/locales/bnBD.js +3 -0
  26. package/esm/locales/caES.js +3 -0
  27. package/esm/locales/csCZ.js +3 -0
  28. package/esm/locales/daDK.js +3 -0
  29. package/esm/locales/deDE.js +3 -0
  30. package/esm/locales/elGR.js +3 -0
  31. package/esm/locales/esES.js +3 -0
  32. package/esm/locales/faIR.js +3 -0
  33. package/esm/locales/fiFI.js +3 -0
  34. package/esm/locales/frFR.js +3 -0
  35. package/esm/locales/heIL.js +3 -0
  36. package/esm/locales/hrHR.js +3 -0
  37. package/esm/locales/huHU.js +3 -0
  38. package/esm/locales/hyAM.js +3 -0
  39. package/esm/locales/idID.js +3 -0
  40. package/esm/locales/isIS.js +3 -0
  41. package/esm/locales/itIT.js +3 -0
  42. package/esm/locales/jaJP.js +3 -0
  43. package/esm/locales/koKR.js +3 -0
  44. package/esm/locales/nbNO.js +3 -0
  45. package/esm/locales/nlNL.js +3 -0
  46. package/esm/locales/nnNO.js +3 -0
  47. package/esm/locales/plPL.js +3 -0
  48. package/esm/locales/ptBR.js +3 -0
  49. package/esm/locales/ptPT.js +3 -0
  50. package/esm/locales/roRO.js +3 -0
  51. package/esm/locales/ruRU.js +3 -0
  52. package/esm/locales/skSK.js +3 -0
  53. package/esm/locales/svSE.js +3 -0
  54. package/esm/locales/trTR.js +3 -0
  55. package/esm/locales/ukUA.js +3 -0
  56. package/esm/locales/urPK.js +3 -0
  57. package/esm/locales/viVN.js +3 -0
  58. package/esm/locales/zhCN.js +3 -0
  59. package/esm/locales/zhHK.js +3 -0
  60. package/esm/locales/zhTW.js +3 -0
  61. package/esm/material/icons/index.d.ts +2 -0
  62. package/esm/material/icons/index.js +6 -0
  63. package/esm/material/index.js +3 -1
  64. package/esm/models/api/gridLocaleTextApi.d.ts +2 -0
  65. package/esm/models/gridIconSlotsComponent.d.ts +10 -0
  66. package/esm/models/gridStateCommunity.d.ts +1 -1
  67. package/esm/utils/keyboardUtils.d.ts +3 -1
  68. package/esm/utils/keyboardUtils.js +6 -0
  69. package/hooks/core/useGridProps.js +5 -3
  70. package/hooks/features/focus/useGridFocus.js +25 -1
  71. package/hooks/features/scroll/useGridScroll.js +3 -3
  72. package/index.js +1 -1
  73. package/internals/index.d.ts +1 -1
  74. package/internals/index.js +14 -0
  75. package/locales/arSD.js +3 -0
  76. package/locales/beBY.js +3 -0
  77. package/locales/bgBG.js +3 -0
  78. package/locales/bnBD.js +3 -0
  79. package/locales/caES.js +3 -0
  80. package/locales/csCZ.js +3 -0
  81. package/locales/daDK.js +3 -0
  82. package/locales/deDE.js +3 -0
  83. package/locales/elGR.js +3 -0
  84. package/locales/esES.js +3 -0
  85. package/locales/faIR.js +3 -0
  86. package/locales/fiFI.js +3 -0
  87. package/locales/frFR.js +3 -0
  88. package/locales/heIL.js +3 -0
  89. package/locales/hrHR.js +3 -0
  90. package/locales/huHU.js +3 -0
  91. package/locales/hyAM.js +3 -0
  92. package/locales/idID.js +3 -0
  93. package/locales/isIS.js +3 -0
  94. package/locales/itIT.js +3 -0
  95. package/locales/jaJP.js +3 -0
  96. package/locales/koKR.js +3 -0
  97. package/locales/nbNO.js +3 -0
  98. package/locales/nlNL.js +3 -0
  99. package/locales/nnNO.js +3 -0
  100. package/locales/plPL.js +3 -0
  101. package/locales/ptBR.js +3 -0
  102. package/locales/ptPT.js +3 -0
  103. package/locales/roRO.js +3 -0
  104. package/locales/ruRU.js +3 -0
  105. package/locales/skSK.js +3 -0
  106. package/locales/svSE.js +3 -0
  107. package/locales/trTR.js +3 -0
  108. package/locales/ukUA.js +3 -0
  109. package/locales/urPK.js +3 -0
  110. package/locales/viVN.js +3 -0
  111. package/locales/zhCN.js +3 -0
  112. package/locales/zhHK.js +3 -0
  113. package/locales/zhTW.js +3 -0
  114. package/material/icons/index.d.ts +2 -0
  115. package/material/icons/index.js +7 -1
  116. package/material/index.js +2 -0
  117. package/models/api/gridLocaleTextApi.d.ts +2 -0
  118. package/models/gridIconSlotsComponent.d.ts +10 -0
  119. package/models/gridStateCommunity.d.ts +1 -1
  120. package/package.json +3 -3
  121. package/utils/keyboardUtils.d.ts +3 -1
  122. package/utils/keyboardUtils.js +8 -0
@@ -62,7 +62,7 @@ const useGridScroll = (apiRef, props) => {
62
62
  }
63
63
  logger.debug(`Scrolling to cell at row ${params.rowIndex}, col: ${params.colIndex} `);
64
64
  let scrollCoordinates = {};
65
- if (params.colIndex !== undefined) {
65
+ if (params.colIndex !== undefined && visibleColumns[params.colIndex]) {
66
66
  const columnPositions = (0, _gridColumnsSelector.gridColumnPositionsSelector)(apiRef);
67
67
  let cellWidth;
68
68
  if (typeof params.rowIndex !== 'undefined') {
@@ -79,7 +79,7 @@ const useGridScroll = (apiRef, props) => {
79
79
  // When using RTL, `scrollLeft` becomes negative, so we must ensure that we only compare values.
80
80
  scrollCoordinates.left = scrollIntoView({
81
81
  containerSize: dimensions.viewportOuterSize.width,
82
- scrollPosition: Math.abs(virtualScrollerRef.current.scrollLeft),
82
+ scrollPosition: Math.abs(virtualScrollerRef.current?.scrollLeft ?? 0),
83
83
  elementSize: cellWidth,
84
84
  elementOffset: columnPositions[params.colIndex]
85
85
  });
@@ -92,7 +92,7 @@ const useGridScroll = (apiRef, props) => {
92
92
  const targetOffsetHeight = rowsMeta.positions[elementIndex + 1] ? rowsMeta.positions[elementIndex + 1] - rowsMeta.positions[elementIndex] : rowsMeta.currentPageTotalHeight - rowsMeta.positions[elementIndex];
93
93
  scrollCoordinates.top = scrollIntoView({
94
94
  containerSize: dimensions.viewportInnerSize.height,
95
- scrollPosition: virtualScrollerRef.current.scrollTop,
95
+ scrollPosition: virtualScrollerRef.current?.scrollTop ?? 0,
96
96
  elementSize: targetOffsetHeight,
97
97
  elementOffset: rowsMeta.positions[elementIndex]
98
98
  });
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.25.0
2
+ * @mui/x-data-grid v8.26.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -102,7 +102,7 @@ export { NotRendered } from "../utils/assert.js";
102
102
  export { createSelector, createRootSelector, createSelectorMemoized } from "../utils/createSelector.js";
103
103
  export { gridRowGroupsToFetchSelector } from "../hooks/features/rows/gridRowsSelector.js";
104
104
  export { findParentElementFromClassName, getActiveElement, isEventTargetInPortal } from "../utils/domUtils.js";
105
- export { isNavigationKey, isPasteShortcut, isCopyShortcut } from "../utils/keyboardUtils.js";
105
+ export { isNavigationKey, isPasteShortcut, isCopyShortcut, isUndoShortcut, isRedoShortcut } from "../utils/keyboardUtils.js";
106
106
  export * from "../utils/utils.js";
107
107
  export { exportAs } from "../utils/exportAs.js";
108
108
  export * from "../utils/getPublicApiRef.js";
@@ -121,6 +121,8 @@ var _exportNames = {
121
121
  isNavigationKey: true,
122
122
  isPasteShortcut: true,
123
123
  isCopyShortcut: true,
124
+ isUndoShortcut: true,
125
+ isRedoShortcut: true,
124
126
  exportAs: true,
125
127
  useGridPrivateApiContext: true,
126
128
  serializeCellValue: true,
@@ -512,12 +514,24 @@ Object.defineProperty(exports, "isPasteShortcut", {
512
514
  return _keyboardUtils.isPasteShortcut;
513
515
  }
514
516
  });
517
+ Object.defineProperty(exports, "isRedoShortcut", {
518
+ enumerable: true,
519
+ get: function () {
520
+ return _keyboardUtils.isRedoShortcut;
521
+ }
522
+ });
515
523
  Object.defineProperty(exports, "isSingleSelectColDef", {
516
524
  enumerable: true,
517
525
  get: function () {
518
526
  return _filterPanelUtils.isSingleSelectColDef;
519
527
  }
520
528
  });
529
+ Object.defineProperty(exports, "isUndoShortcut", {
530
+ enumerable: true,
531
+ get: function () {
532
+ return _keyboardUtils.isUndoShortcut;
533
+ }
534
+ });
521
535
  Object.defineProperty(exports, "listViewStateInitializer", {
522
536
  enumerable: true,
523
537
  get: function () {
package/locales/arSD.js CHANGED
@@ -19,6 +19,9 @@ const arSDGrid = {
19
19
  toolbarDensityCompact: 'مضغوط',
20
20
  toolbarDensityStandard: 'قياسي',
21
21
  toolbarDensityComfortable: 'مريح',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'تراجع',
24
+ toolbarRedo: 'إعادة',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'الأعمدة',
24
27
  toolbarColumnsLabel: 'حدد أعمدة',
package/locales/beBY.js CHANGED
@@ -29,6 +29,9 @@ const beBYGrid = {
29
29
  toolbarDensityCompact: 'Кампактны',
30
30
  toolbarDensityStandard: 'Стандартны',
31
31
  toolbarDensityComfortable: 'Камфортны',
32
+ // Undo/redo toolbar button text
33
+ toolbarUndo: 'Адмяніць',
34
+ toolbarRedo: 'Паўтарыць',
32
35
  // Columns selector toolbar button text
33
36
  toolbarColumns: 'Слупкі',
34
37
  toolbarColumnsLabel: 'Выберыце слупкі',
package/locales/bgBG.js CHANGED
@@ -19,6 +19,9 @@ const bgBGGrid = {
19
19
  toolbarDensityCompact: 'Компактна',
20
20
  toolbarDensityStandard: 'Стандартна',
21
21
  toolbarDensityComfortable: 'Комфортна',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Отмяна',
24
+ toolbarRedo: 'Повтори',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Колони',
24
27
  toolbarColumnsLabel: 'Покажи селектора на колони',
package/locales/bnBD.js CHANGED
@@ -19,6 +19,9 @@ const bnBDGrid = {
19
19
  toolbarDensityCompact: 'সংকুচিত',
20
20
  toolbarDensityStandard: 'মানক',
21
21
  toolbarDensityComfortable: 'স্বাচ্ছন্দ্যদায়ক',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'পূর্বাবস্থায় ফেরান',
24
+ toolbarRedo: 'পুনরায় করুন',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'কলাম',
24
27
  toolbarColumnsLabel: 'কলাম নির্বাচন করুন',
package/locales/caES.js CHANGED
@@ -18,6 +18,9 @@ const caESGrid = {
18
18
  toolbarDensityCompact: 'Compacta',
19
19
  toolbarDensityStandard: 'Estàndard',
20
20
  toolbarDensityComfortable: 'Còmoda',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Desfés',
23
+ toolbarRedo: 'Refés',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Columnes',
23
26
  toolbarColumnsLabel: 'Selecciona columnes',
package/locales/csCZ.js CHANGED
@@ -19,6 +19,9 @@ const csCZGrid = {
19
19
  toolbarDensityCompact: 'Kompaktní',
20
20
  toolbarDensityStandard: 'Standartní',
21
21
  toolbarDensityComfortable: 'Komfortní',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Zpět',
24
+ toolbarRedo: 'Znovu',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Sloupce',
24
27
  toolbarColumnsLabel: 'Vybrat sloupec',
package/locales/daDK.js CHANGED
@@ -19,6 +19,9 @@ const daDKGrid = {
19
19
  toolbarDensityCompact: 'Kompakt',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Luftig',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Fortryd',
24
+ toolbarRedo: 'Gentag',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Kolonner',
24
27
  toolbarColumnsLabel: 'Vælg kolonner',
package/locales/deDE.js CHANGED
@@ -18,6 +18,9 @@ const deDEGrid = {
18
18
  toolbarDensityCompact: 'Kompakt',
19
19
  toolbarDensityStandard: 'Standard',
20
20
  toolbarDensityComfortable: 'Breit',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Rückgängig',
23
+ toolbarRedo: 'Wiederholen',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Spalten',
23
26
  toolbarColumnsLabel: 'Zeige Spaltenauswahl',
package/locales/elGR.js CHANGED
@@ -19,6 +19,9 @@ const elGRGrid = {
19
19
  toolbarDensityCompact: 'Συμπαγής',
20
20
  toolbarDensityStandard: 'Προκαθορισμένο',
21
21
  toolbarDensityComfortable: 'Πλατύ',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Αναίρεση',
24
+ toolbarRedo: 'Επανάληψη',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Στήλες',
24
27
  toolbarColumnsLabel: 'Επιλέξτε στήλες',
package/locales/esES.js CHANGED
@@ -18,6 +18,9 @@ const esESGrid = {
18
18
  toolbarDensityCompact: 'Compacta',
19
19
  toolbarDensityStandard: 'Estándar',
20
20
  toolbarDensityComfortable: 'Cómoda',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Deshacer',
23
+ toolbarRedo: 'Rehacer',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Columnas',
23
26
  toolbarColumnsLabel: 'Seleccionar columnas',
package/locales/faIR.js CHANGED
@@ -19,6 +19,9 @@ const faIRGrid = {
19
19
  toolbarDensityCompact: 'فشرده',
20
20
  toolbarDensityStandard: 'استاندارد',
21
21
  toolbarDensityComfortable: 'راحت',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'واگرد',
24
+ toolbarRedo: 'ازنو',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'ستون‌ها',
24
27
  toolbarColumnsLabel: 'ستون‌ها را انتخاب کنید',
package/locales/fiFI.js CHANGED
@@ -19,6 +19,9 @@ const fiFIGrid = {
19
19
  toolbarDensityCompact: 'Kompakti',
20
20
  toolbarDensityStandard: 'Vakio',
21
21
  toolbarDensityComfortable: 'Mukava',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Kumoa',
24
+ toolbarRedo: 'Tee uudelleen',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Sarakkeet',
24
27
  toolbarColumnsLabel: 'Valitse sarakkeet',
package/locales/frFR.js CHANGED
@@ -19,6 +19,9 @@ const frFRGrid = {
19
19
  toolbarDensityCompact: 'Compacte',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Confortable',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Annuler',
24
+ toolbarRedo: 'Rétablir',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Colonnes',
24
27
  toolbarColumnsLabel: 'Choisir les colonnes',
package/locales/heIL.js CHANGED
@@ -19,6 +19,9 @@ const heILGrid = {
19
19
  toolbarDensityCompact: 'דחוסה',
20
20
  toolbarDensityStandard: 'רגילה',
21
21
  toolbarDensityComfortable: 'אוורירית',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'בטל',
24
+ toolbarRedo: 'בצע שוב',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'עמודות',
24
27
  toolbarColumnsLabel: 'בחר עמודות',
package/locales/hrHR.js CHANGED
@@ -19,6 +19,9 @@ const hrHRGrid = {
19
19
  toolbarDensityCompact: 'Kompaktno',
20
20
  toolbarDensityStandard: 'Standardno',
21
21
  toolbarDensityComfortable: 'Udobno',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Poništi',
24
+ toolbarRedo: 'Ponovi',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Stupci',
24
27
  toolbarColumnsLabel: 'Odaberite stupce',
package/locales/huHU.js CHANGED
@@ -19,6 +19,9 @@ const huHUGrid = {
19
19
  toolbarDensityCompact: 'Kompakt',
20
20
  toolbarDensityStandard: 'Normál',
21
21
  toolbarDensityComfortable: 'Kényelmes',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Visszavonás',
24
+ toolbarRedo: 'Újra',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Oszlopok',
24
27
  toolbarColumnsLabel: 'Oszlopok kiválasztása',
package/locales/hyAM.js CHANGED
@@ -19,6 +19,9 @@ const hyAMGrid = {
19
19
  toolbarDensityCompact: 'Կոմպակտ',
20
20
  toolbarDensityStandard: 'Ստանդարտ',
21
21
  toolbarDensityComfortable: 'Հարմարավետ',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Հետսարկել',
24
+ toolbarRedo: 'Կրկնվել',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Սյունակներ',
24
27
  toolbarColumnsLabel: 'Ընտրել սյունակներ',
package/locales/idID.js CHANGED
@@ -18,6 +18,9 @@ const idIDGrid = exports.idIDGrid = {
18
18
  toolbarDensityCompact: 'Ringkas',
19
19
  toolbarDensityStandard: 'Standar',
20
20
  toolbarDensityComfortable: 'Nyaman',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Urungkan',
23
+ toolbarRedo: 'Ulangi',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Kolom',
23
26
  toolbarColumnsLabel: 'Pilih kolom',
package/locales/isIS.js CHANGED
@@ -19,6 +19,9 @@ const isISGrid = {
19
19
  toolbarDensityCompact: 'Þétt',
20
20
  toolbarDensityStandard: 'Staðlað',
21
21
  toolbarDensityComfortable: 'Rúmlegt',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Afturkalla',
24
+ toolbarRedo: 'Endurgera',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Dálkar',
24
27
  toolbarColumnsLabel: 'Veldu dálka',
package/locales/itIT.js CHANGED
@@ -18,6 +18,9 @@ const itITGrid = {
18
18
  toolbarDensityCompact: 'Compatta',
19
19
  toolbarDensityStandard: 'Standard',
20
20
  toolbarDensityComfortable: 'Comoda',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Annulla',
23
+ toolbarRedo: 'Ripeti',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Colonne',
23
26
  toolbarColumnsLabel: 'Seleziona le colonne',
package/locales/jaJP.js CHANGED
@@ -19,6 +19,9 @@ const jaJPGrid = {
19
19
  toolbarDensityCompact: 'コンパクト',
20
20
  toolbarDensityStandard: '標準',
21
21
  toolbarDensityComfortable: '広め',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: '元に戻す',
24
+ toolbarRedo: 'やり直す',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: '列一覧',
24
27
  toolbarColumnsLabel: '列選択',
package/locales/koKR.js CHANGED
@@ -18,6 +18,9 @@ const koKRGrid = {
18
18
  toolbarDensityCompact: '좁게',
19
19
  toolbarDensityStandard: '기본',
20
20
  toolbarDensityComfortable: '넓게',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: '실행 취소',
23
+ toolbarRedo: '다시 실행',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: '열 목록',
23
26
  toolbarColumnsLabel: '열 선택',
package/locales/nbNO.js CHANGED
@@ -19,6 +19,9 @@ const nbNOGrid = {
19
19
  toolbarDensityCompact: 'Kompakt',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Komfortabelt',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Angre',
24
+ toolbarRedo: 'Gjør om',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Kolonner',
24
27
  toolbarColumnsLabel: 'Velg kolonner',
package/locales/nlNL.js CHANGED
@@ -19,6 +19,9 @@ const nlNLGrid = {
19
19
  toolbarDensityCompact: 'Compact',
20
20
  toolbarDensityStandard: 'Normaal',
21
21
  toolbarDensityComfortable: 'Breed',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Ongedaan maken',
24
+ toolbarRedo: 'Opnieuw',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Kolommen',
24
27
  toolbarColumnsLabel: 'Kies kolommen',
package/locales/nnNO.js CHANGED
@@ -18,6 +18,9 @@ const nnNOGrid = {
18
18
  toolbarDensityCompact: 'Kompakt',
19
19
  toolbarDensityStandard: 'Standard',
20
20
  toolbarDensityComfortable: 'Komfortabelt',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Angre',
23
+ toolbarRedo: 'Gjer om',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Kolonner',
23
26
  toolbarColumnsLabel: 'Vel kolonner',
package/locales/plPL.js CHANGED
@@ -19,6 +19,9 @@ const plPLGrid = {
19
19
  toolbarDensityCompact: 'Kompakt',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Komfort',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Cofnij',
24
+ toolbarRedo: 'Ponów',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Kolumny',
24
27
  toolbarColumnsLabel: 'Zaznacz kolumny',
package/locales/ptBR.js CHANGED
@@ -18,6 +18,9 @@ const ptBRGrid = {
18
18
  toolbarDensityCompact: 'Compacto',
19
19
  toolbarDensityStandard: 'Padrão',
20
20
  toolbarDensityComfortable: 'Confortável',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Desfazer',
23
+ toolbarRedo: 'Refazer',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Colunas',
23
26
  toolbarColumnsLabel: 'Exibir seletor de colunas',
package/locales/ptPT.js CHANGED
@@ -18,6 +18,9 @@ const ptPTGrid = {
18
18
  toolbarDensityCompact: 'Compacto',
19
19
  toolbarDensityStandard: 'Padrão',
20
20
  toolbarDensityComfortable: 'Confortável',
21
+ // Undo/redo toolbar button text
22
+ toolbarUndo: 'Anular',
23
+ toolbarRedo: 'Refazer',
21
24
  // Columns selector toolbar button text
22
25
  toolbarColumns: 'Colunas',
23
26
  toolbarColumnsLabel: 'Selecione colunas',
package/locales/roRO.js CHANGED
@@ -19,6 +19,9 @@ const roROGrid = {
19
19
  toolbarDensityCompact: 'Compact',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Lat',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Anulează',
24
+ toolbarRedo: 'Refă',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Coloane',
24
27
  toolbarColumnsLabel: 'Afișează selecție coloane',
package/locales/ruRU.js CHANGED
@@ -30,6 +30,9 @@ const ruRUGrid = {
30
30
  toolbarDensityCompact: 'Компактная',
31
31
  toolbarDensityStandard: 'Стандартная',
32
32
  toolbarDensityComfortable: 'Комфортная',
33
+ // Undo/redo toolbar button text
34
+ toolbarUndo: 'Отменить',
35
+ toolbarRedo: 'Повторить',
33
36
  // Columns selector toolbar button text
34
37
  toolbarColumns: 'Столбцы',
35
38
  toolbarColumnsLabel: 'Выделите столбцы',
package/locales/skSK.js CHANGED
@@ -19,6 +19,9 @@ const skSKGrid = {
19
19
  toolbarDensityCompact: 'Kompaktná',
20
20
  toolbarDensityStandard: 'Štandartná',
21
21
  toolbarDensityComfortable: 'Komfortná',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Späť',
24
+ toolbarRedo: 'Znova',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Stĺpce',
24
27
  toolbarColumnsLabel: 'Vybrať stĺpce',
package/locales/svSE.js CHANGED
@@ -19,6 +19,9 @@ const svSEGrid = {
19
19
  toolbarDensityCompact: 'Kompakt',
20
20
  toolbarDensityStandard: 'Standard',
21
21
  toolbarDensityComfortable: 'Luftig',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Ångra',
24
+ toolbarRedo: 'Gör om',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Kolumner',
24
27
  toolbarColumnsLabel: 'Välj kolumner',
package/locales/trTR.js CHANGED
@@ -19,6 +19,9 @@ const trTRGrid = {
19
19
  toolbarDensityCompact: 'Sıkı',
20
20
  toolbarDensityStandard: 'Standart',
21
21
  toolbarDensityComfortable: 'Rahat',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Geri al',
24
+ toolbarRedo: 'Yinele',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Sütunlar',
24
27
  toolbarColumnsLabel: 'Sütun seç',
package/locales/ukUA.js CHANGED
@@ -30,6 +30,9 @@ const ukUAGrid = {
30
30
  toolbarDensityCompact: 'Компактний',
31
31
  toolbarDensityStandard: 'Стандартний',
32
32
  toolbarDensityComfortable: 'Комфортний',
33
+ // Undo/redo toolbar button text
34
+ toolbarUndo: 'Скасувати',
35
+ toolbarRedo: 'Повторити',
33
36
  // Columns selector toolbar button text
34
37
  toolbarColumns: 'Стовпці',
35
38
  toolbarColumnsLabel: 'Виділіть стовпці',
package/locales/urPK.js CHANGED
@@ -19,6 +19,9 @@ const urPKGrid = {
19
19
  toolbarDensityCompact: 'تنگ',
20
20
  toolbarDensityStandard: 'درمیانہ',
21
21
  toolbarDensityComfortable: 'مناسب',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'واپس',
24
+ toolbarRedo: 'دوبارہ',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'کالمز',
24
27
  toolbarColumnsLabel: 'کالمز کو منتخب کریں',
package/locales/viVN.js CHANGED
@@ -19,6 +19,9 @@ const viVNGrid = {
19
19
  toolbarDensityCompact: 'Trung bình',
20
20
  toolbarDensityStandard: 'Tiêu chuẩn',
21
21
  toolbarDensityComfortable: 'Rộng',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: 'Hoàn tác',
24
+ toolbarRedo: 'Làm lại',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: 'Cột',
24
27
  toolbarColumnsLabel: 'Chọn cột',
package/locales/zhCN.js CHANGED
@@ -19,6 +19,9 @@ const zhCNGrid = {
19
19
  toolbarDensityCompact: '紧密',
20
20
  toolbarDensityStandard: '标准',
21
21
  toolbarDensityComfortable: '稀疏',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: '撤销',
24
+ toolbarRedo: '重做',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: '列',
24
27
  toolbarColumnsLabel: '选择列',
package/locales/zhHK.js CHANGED
@@ -19,6 +19,9 @@ const zhHKGrid = {
19
19
  toolbarDensityCompact: '袖珍的',
20
20
  toolbarDensityStandard: '標準',
21
21
  toolbarDensityComfortable: '舒服的',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: '復原',
24
+ toolbarRedo: '重做',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: '列',
24
27
  toolbarColumnsLabel: '選擇列',
package/locales/zhTW.js CHANGED
@@ -19,6 +19,9 @@ const zhTWGrid = {
19
19
  toolbarDensityCompact: '緊湊',
20
20
  toolbarDensityStandard: '標準',
21
21
  toolbarDensityComfortable: '舒適',
22
+ // Undo/redo toolbar button text
23
+ toolbarUndo: '復原',
24
+ toolbarRedo: '重做',
22
25
  // Columns selector toolbar button text
23
26
  toolbarColumns: '欄位',
24
27
  toolbarColumnsLabel: '選擇欄位',
@@ -7,6 +7,8 @@ export declare const GridFilterAltIcon: (props: import("@mui/x-data-grid").GridB
7
7
  export declare const GridSearchIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
8
8
  export declare const GridMenuIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
9
9
  export declare const GridCheckCircleIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
10
+ export declare const GridUndoIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
11
+ export declare const GridRedoIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
10
12
  export declare const GridColumnIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
11
13
  export declare const GridSeparatorIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
12
14
  export declare const GridViewHeadlineIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.GridVisibilityOffIcon = exports.GridViewStreamIcon = exports.GridViewHeadlineIcon = exports.GridViewColumnIcon = exports.GridTripleDotsVerticalIcon = exports.GridTableRowsIcon = exports.GridSeparatorIcon = exports.GridSearchIcon = exports.GridRemoveIcon = exports.GridMoreVertIcon = exports.GridMenuIcon = exports.GridLoadIcon = exports.GridKeyboardArrowRight = exports.GridFilterListIcon = exports.GridFilterAltIcon = exports.GridExpandMoreIcon = exports.GridDragIcon = exports.GridDownloadIcon = exports.GridDeleteIcon = exports.GridDeleteForeverIcon = exports.GridColumnIcon = exports.GridCloseIcon = exports.GridClearIcon = exports.GridCheckIcon = exports.GridCheckCircleIcon = exports.GridArrowUpwardIcon = exports.GridArrowDownwardIcon = exports.GridAddIcon = void 0;
6
+ exports.GridVisibilityOffIcon = exports.GridViewStreamIcon = exports.GridViewHeadlineIcon = exports.GridViewColumnIcon = exports.GridUndoIcon = exports.GridTripleDotsVerticalIcon = exports.GridTableRowsIcon = exports.GridSeparatorIcon = exports.GridSearchIcon = exports.GridRemoveIcon = exports.GridRedoIcon = exports.GridMoreVertIcon = exports.GridMenuIcon = exports.GridLoadIcon = exports.GridKeyboardArrowRight = exports.GridFilterListIcon = exports.GridFilterAltIcon = exports.GridExpandMoreIcon = exports.GridDragIcon = exports.GridDownloadIcon = exports.GridDeleteIcon = exports.GridDeleteForeverIcon = exports.GridColumnIcon = exports.GridCloseIcon = exports.GridClearIcon = exports.GridCheckIcon = exports.GridCheckCircleIcon = exports.GridArrowUpwardIcon = exports.GridArrowDownwardIcon = exports.GridAddIcon = void 0;
7
7
  var _createSvgIcon = require("./createSvgIcon");
8
8
  var _jsxRuntime = require("react/jsx-runtime");
9
9
  const GridArrowUpwardIcon = exports.GridArrowUpwardIcon = (0, _createSvgIcon.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
@@ -33,6 +33,12 @@ const GridMenuIcon = exports.GridMenuIcon = (0, _createSvgIcon.createSvgIcon)(/*
33
33
  const GridCheckCircleIcon = exports.GridCheckCircleIcon = (0, _createSvgIcon.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
34
34
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
35
35
  }), 'CheckCircle');
36
+ const GridUndoIcon = exports.GridUndoIcon = (0, _createSvgIcon.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
37
+ d: "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8"
38
+ }), 'Undo');
39
+ const GridRedoIcon = exports.GridRedoIcon = (0, _createSvgIcon.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
40
+ d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z"
41
+ }), 'Redo');
36
42
  const GridColumnIcon = exports.GridColumnIcon = (0, _createSvgIcon.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
37
43
  d: "M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"
38
44
  }), 'ColumnIcon');
package/material/index.js CHANGED
@@ -786,6 +786,8 @@ const iconSlots = {
786
786
  columnMenuIcon: _icons.GridTripleDotsVerticalIcon,
787
787
  openFilterButtonIcon: _icons.GridFilterListIcon,
788
788
  filterPanelDeleteIcon: _icons.GridCloseIcon,
789
+ undoIcon: _icons.GridUndoIcon,
790
+ redoIcon: _icons.GridRedoIcon,
789
791
  columnFilteredIcon: _icons.GridFilterAltIcon,
790
792
  columnSelectorIcon: _icons.GridColumnIcon,
791
793
  columnUnsortedIcon: _GridColumnUnsortedIcon.GridColumnUnsortedIcon,
@@ -14,6 +14,8 @@ export interface GridLocaleText {
14
14
  toolbarDensityCompact: string;
15
15
  toolbarDensityStandard: string;
16
16
  toolbarDensityComfortable: string;
17
+ toolbarUndo: React.ReactNode;
18
+ toolbarRedo: React.ReactNode;
17
19
  toolbarColumns: React.ReactNode;
18
20
  toolbarColumnsLabel: string;
19
21
  toolbarFilters: React.ReactNode;
@@ -15,6 +15,16 @@ export interface GridIconSlotsComponent {
15
15
  * @default GridCloseIcon
16
16
  */
17
17
  booleanCellFalseIcon: React.JSXElementConstructor<IconProps>;
18
+ /**
19
+ * Icon displayed on the undo button in the toolbar.
20
+ * @default GridUndoIcon
21
+ */
22
+ undoIcon: React.JSXElementConstructor<IconProps>;
23
+ /**
24
+ * Icon displayed on the redo button in the toolbar.
25
+ * @default GridRedoIcon
26
+ */
27
+ redoIcon: React.JSXElementConstructor<IconProps>;
18
28
  /**
19
29
  * Icon displayed on the side of the column header title to display the filter input component.
20
30
  * @default GridTripleDotsVerticalIcon
@@ -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
- export type GridStateProps = Pick<DataGridProcessedProps, 'getRowId' | 'listView' | 'isCellEditable' | 'isRowSelectable'>;
16
+ export type GridStateProps = Pick<DataGridProcessedProps, 'getRowId' | 'listView' | 'isCellEditable' | 'isRowSelectable' | 'dataSource'>;
17
17
  /**
18
18
  * The state of Data Grid.
19
19
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "8.25.0",
3
+ "version": "8.26.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "license": "MIT",
@@ -42,8 +42,8 @@
42
42
  "clsx": "^2.1.1",
43
43
  "prop-types": "^15.8.1",
44
44
  "use-sync-external-store": "^1.6.0",
45
- "@mui/x-internals": "8.25.0",
46
- "@mui/x-virtualizer": "0.3.2"
45
+ "@mui/x-virtualizer": "0.3.3",
46
+ "@mui/x-internals": "8.26.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@emotion/react": "^11.9.0",
@@ -4,4 +4,6 @@ export declare const isNavigationKey: (key: string) => boolean;
4
4
  export declare const isKeyboardEvent: (event: any) => event is React.KeyboardEvent<HTMLElement>;
5
5
  export declare const isHideMenuKey: (key: React.KeyboardEvent["key"]) => key is "Tab" | "Escape";
6
6
  export declare function isPasteShortcut(event: React.KeyboardEvent): boolean;
7
- export declare function isCopyShortcut(event: KeyboardEvent): boolean;
7
+ export declare function isCopyShortcut(event: KeyboardEvent): boolean;
8
+ export declare function isUndoShortcut(event: React.KeyboardEvent): boolean;
9
+ export declare function isRedoShortcut(event: React.KeyboardEvent): boolean;