@mui/x-data-grid 6.0.0-beta.5 → 6.0.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 (245) hide show
  1. package/CHANGELOG.md +130 -29
  2. package/DataGrid/DataGrid.js +0 -2
  3. package/components/GridColumnHeaders.d.ts +7 -0
  4. package/components/GridColumnHeaders.js +108 -0
  5. package/components/GridFooter.d.ts +1 -1
  6. package/components/GridLoadingOverlay.d.ts +1 -1
  7. package/components/GridNoResultsOverlay.d.ts +1 -1
  8. package/components/GridNoRowsOverlay.d.ts +1 -1
  9. package/components/GridRow.d.ts +13 -7
  10. package/components/GridRow.js +48 -30
  11. package/components/GridRowCount.d.ts +1 -1
  12. package/components/GridRowCount.js +1 -1
  13. package/components/GridScrollArea.js +1 -1
  14. package/components/GridSelectedRowCount.d.ts +1 -1
  15. package/components/GridSelectedRowCount.js +1 -1
  16. package/components/base/GridBody.d.ts +1 -4
  17. package/components/base/GridBody.js +43 -5
  18. package/components/base/GridOverlays.js +1 -1
  19. package/components/cell/GridCell.d.ts +2 -5
  20. package/components/cell/GridCell.js +14 -12
  21. package/components/cell/GridEditInputCell.js +1 -2
  22. package/components/cell/GridEditSingleSelectCell.js +7 -6
  23. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +7 -0
  24. package/{modern/components/columnHeaders/GridColumnHeaders.js → components/columnHeaders/GridBaseColumnHeaders.js} +11 -15
  25. package/components/columnHeaders/GridColumnHeaderTitle.js +4 -6
  26. package/components/columnHeaders/GridColumnHeadersInner.d.ts +1 -1
  27. package/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  28. package/components/columnHeaders/GridIconButtonContainer.js +1 -1
  29. package/components/containers/GridFooterContainer.d.ts +1 -1
  30. package/components/containers/GridFooterContainer.js +7 -10
  31. package/components/containers/GridMainContainer.js +1 -1
  32. package/components/containers/GridOverlay.d.ts +1 -2
  33. package/components/containers/GridOverlay.js +4 -6
  34. package/components/containers/GridRootStyles.js +7 -3
  35. package/components/containers/GridToolbarContainer.d.ts +1 -1
  36. package/components/containers/GridToolbarContainer.js +1 -1
  37. package/components/index.d.ts +1 -1
  38. package/components/index.js +1 -1
  39. package/components/panel/GridColumnsPanel.js +1 -2
  40. package/components/panel/GridPanel.d.ts +1 -1
  41. package/components/panel/GridPanelContent.d.ts +1 -1
  42. package/components/panel/GridPanelContent.js +1 -1
  43. package/components/panel/GridPanelFooter.d.ts +1 -1
  44. package/components/panel/GridPanelFooter.js +1 -1
  45. package/components/panel/GridPanelHeader.d.ts +1 -1
  46. package/components/panel/GridPanelHeader.js +1 -1
  47. package/components/panel/filterPanel/GridFilterForm.js +32 -30
  48. package/components/panel/filterPanel/GridFilterInputBoolean.js +12 -9
  49. package/components/panel/filterPanel/GridFilterInputDate.js +1 -2
  50. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +30 -13
  51. package/components/panel/filterPanel/GridFilterInputValue.js +1 -2
  52. package/components/panel/filterPanel/GridFilterPanel.d.ts +3 -3
  53. package/components/panel/filterPanel/GridFilterPanel.js +8 -1
  54. package/components/virtualization/GridVirtualScroller.d.ts +1 -1
  55. package/components/virtualization/GridVirtualScroller.js +1 -1
  56. package/components/virtualization/GridVirtualScrollerContent.d.ts +1 -1
  57. package/components/virtualization/GridVirtualScrollerContent.js +1 -1
  58. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +1 -1
  59. package/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  60. package/constants/defaultGridSlotsComponents.js +5 -56
  61. package/hooks/core/useGridLocaleText.js +2 -4
  62. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +22 -1
  63. package/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
  64. package/hooks/features/statePersistence/gridStatePersistenceInterface.d.ts +2 -0
  65. package/hooks/features/virtualization/useGridVirtualScroller.js +35 -18
  66. package/index.d.ts +3 -0
  67. package/index.js +5 -1
  68. package/internals/index.d.ts +2 -1
  69. package/internals/index.js +1 -1
  70. package/legacy/DataGrid/DataGrid.js +0 -2
  71. package/legacy/components/GridColumnHeaders.js +106 -0
  72. package/legacy/components/GridRow.js +46 -30
  73. package/legacy/components/GridRowCount.js +1 -1
  74. package/legacy/components/GridScrollArea.js +1 -1
  75. package/legacy/components/GridSelectedRowCount.js +1 -1
  76. package/legacy/components/base/GridBody.js +43 -5
  77. package/legacy/components/base/GridOverlays.js +1 -1
  78. package/legacy/components/cell/GridCell.js +14 -12
  79. package/legacy/components/cell/GridEditInputCell.js +1 -2
  80. package/legacy/components/cell/GridEditSingleSelectCell.js +7 -6
  81. package/legacy/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +11 -14
  82. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +6 -9
  83. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  84. package/legacy/components/columnHeaders/GridIconButtonContainer.js +1 -1
  85. package/legacy/components/containers/GridFooterContainer.js +7 -10
  86. package/legacy/components/containers/GridMainContainer.js +1 -1
  87. package/legacy/components/containers/GridOverlay.js +9 -12
  88. package/legacy/components/containers/GridRootStyles.js +7 -3
  89. package/legacy/components/containers/GridToolbarContainer.js +1 -1
  90. package/legacy/components/index.js +1 -1
  91. package/legacy/components/panel/GridColumnsPanel.js +1 -2
  92. package/legacy/components/panel/GridPanelContent.js +1 -1
  93. package/legacy/components/panel/GridPanelFooter.js +1 -1
  94. package/legacy/components/panel/GridPanelHeader.js +1 -1
  95. package/legacy/components/panel/filterPanel/GridFilterForm.js +32 -30
  96. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +12 -9
  97. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +1 -2
  98. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +29 -13
  99. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +1 -2
  100. package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -1
  101. package/legacy/components/virtualization/GridVirtualScroller.js +1 -1
  102. package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -1
  103. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  104. package/legacy/constants/defaultGridSlotsComponents.js +5 -56
  105. package/legacy/hooks/core/useGridLocaleText.js +2 -4
  106. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
  107. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +33 -16
  108. package/legacy/index.js +5 -1
  109. package/legacy/internals/index.js +1 -1
  110. package/legacy/locales/arSD.js +14 -19
  111. package/legacy/locales/csCZ.js +25 -33
  112. package/legacy/locales/esES.js +1 -1
  113. package/legacy/material/components/MUISelectOption.js +14 -0
  114. package/legacy/material/index.js +65 -0
  115. package/legacy/models/gridFilterItem.js +2 -0
  116. package/legacy/models/params/gridRowParams.js +4 -0
  117. package/locales/arSD.js +14 -19
  118. package/locales/csCZ.js +24 -32
  119. package/locales/esES.js +1 -1
  120. package/material/components/MUISelectOption.d.ts +3 -0
  121. package/material/components/MUISelectOption.js +16 -0
  122. package/material/index.d.ts +57 -0
  123. package/material/index.js +65 -0
  124. package/material/package.json +6 -0
  125. package/models/colDef/gridColDef.d.ts +6 -0
  126. package/models/gridExport.d.ts +4 -0
  127. package/models/gridFilterItem.d.ts +2 -0
  128. package/models/gridFilterItem.js +2 -0
  129. package/models/gridFilterModel.d.ts +2 -0
  130. package/models/gridFilterOperator.d.ts +2 -0
  131. package/models/gridIconSlotsComponent.d.ts +10 -0
  132. package/models/gridSlotsComponent.d.ts +15 -0
  133. package/models/gridSlotsComponentsProps.d.ts +103 -23
  134. package/models/params/gridRowParams.d.ts +6 -0
  135. package/models/params/gridRowParams.js +4 -0
  136. package/modern/DataGrid/DataGrid.js +0 -2
  137. package/modern/components/GridColumnHeaders.js +108 -0
  138. package/modern/components/GridRow.js +48 -27
  139. package/modern/components/GridRowCount.js +1 -1
  140. package/modern/components/GridScrollArea.js +1 -1
  141. package/modern/components/GridSelectedRowCount.js +1 -1
  142. package/modern/components/base/GridBody.js +43 -5
  143. package/modern/components/base/GridOverlays.js +1 -1
  144. package/modern/components/cell/GridCell.js +14 -12
  145. package/modern/components/cell/GridEditInputCell.js +1 -2
  146. package/modern/components/cell/GridEditSingleSelectCell.js +6 -6
  147. package/{components/columnHeaders/GridColumnHeaders.js → modern/components/columnHeaders/GridBaseColumnHeaders.js} +11 -15
  148. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +4 -6
  149. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  150. package/modern/components/columnHeaders/GridIconButtonContainer.js +1 -1
  151. package/modern/components/containers/GridFooterContainer.js +7 -10
  152. package/modern/components/containers/GridMainContainer.js +1 -1
  153. package/modern/components/containers/GridOverlay.js +4 -6
  154. package/modern/components/containers/GridRootStyles.js +7 -3
  155. package/modern/components/containers/GridToolbarContainer.js +1 -1
  156. package/modern/components/index.js +1 -1
  157. package/modern/components/panel/GridColumnsPanel.js +1 -2
  158. package/modern/components/panel/GridPanelContent.js +1 -1
  159. package/modern/components/panel/GridPanelFooter.js +1 -1
  160. package/modern/components/panel/GridPanelHeader.js +1 -1
  161. package/modern/components/panel/filterPanel/GridFilterForm.js +27 -25
  162. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -6
  163. package/modern/components/panel/filterPanel/GridFilterInputDate.js +1 -2
  164. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +27 -10
  165. package/modern/components/panel/filterPanel/GridFilterInputValue.js +1 -2
  166. package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -1
  167. package/modern/components/virtualization/GridVirtualScroller.js +1 -1
  168. package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -1
  169. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  170. package/modern/constants/defaultGridSlotsComponents.js +5 -56
  171. package/modern/hooks/core/useGridLocaleText.js +2 -4
  172. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
  173. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +33 -17
  174. package/modern/index.js +5 -1
  175. package/modern/internals/index.js +1 -1
  176. package/modern/locales/arSD.js +14 -19
  177. package/modern/locales/csCZ.js +24 -32
  178. package/modern/locales/esES.js +1 -1
  179. package/modern/material/components/MUISelectOption.js +16 -0
  180. package/modern/material/index.js +65 -0
  181. package/modern/models/gridFilterItem.js +2 -0
  182. package/modern/models/params/gridRowParams.js +4 -0
  183. package/node/DataGrid/DataGrid.js +0 -2
  184. package/node/components/GridColumnHeaders.js +116 -0
  185. package/node/components/GridRow.js +48 -27
  186. package/node/components/GridRowCount.js +2 -2
  187. package/node/components/GridScrollArea.js +2 -2
  188. package/node/components/GridSelectedRowCount.js +2 -2
  189. package/node/components/base/GridBody.js +43 -5
  190. package/node/components/base/GridOverlays.js +3 -3
  191. package/node/components/cell/GridCell.js +14 -11
  192. package/node/components/cell/GridEditInputCell.js +1 -2
  193. package/node/components/cell/GridEditSingleSelectCell.js +5 -6
  194. package/node/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +14 -18
  195. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -7
  196. package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -2
  197. package/node/components/columnHeaders/GridIconButtonContainer.js +2 -2
  198. package/node/components/containers/GridFooterContainer.js +8 -11
  199. package/node/components/containers/GridMainContainer.js +2 -2
  200. package/node/components/containers/GridOverlay.js +5 -7
  201. package/node/components/containers/GridRootStyles.js +7 -3
  202. package/node/components/containers/GridToolbarContainer.js +2 -2
  203. package/node/components/index.js +1 -1
  204. package/node/components/panel/GridColumnsPanel.js +1 -2
  205. package/node/components/panel/GridPanelContent.js +2 -2
  206. package/node/components/panel/GridPanelFooter.js +2 -2
  207. package/node/components/panel/GridPanelHeader.js +2 -2
  208. package/node/components/panel/filterPanel/GridFilterForm.js +26 -25
  209. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +9 -6
  210. package/node/components/panel/filterPanel/GridFilterInputDate.js +1 -2
  211. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +26 -10
  212. package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -2
  213. package/node/components/panel/filterPanel/GridFilterPanel.js +8 -1
  214. package/node/components/virtualization/GridVirtualScroller.js +2 -2
  215. package/node/components/virtualization/GridVirtualScrollerContent.js +2 -2
  216. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -2
  217. package/node/constants/defaultGridSlotsComponents.js +4 -55
  218. package/node/hooks/core/useGridLocaleText.js +2 -4
  219. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +19 -28
  220. package/node/hooks/features/virtualization/useGridVirtualScroller.js +32 -15
  221. package/node/index.js +9 -1
  222. package/node/internals/index.js +4 -4
  223. package/node/locales/arSD.js +14 -19
  224. package/node/locales/csCZ.js +24 -32
  225. package/node/locales/esES.js +1 -1
  226. package/node/{components/DataGridColumnHeaders.js → material/components/MUISelectOption.js} +13 -35
  227. package/node/material/index.js +73 -0
  228. package/node/models/gridFilterItem.js +2 -0
  229. package/node/models/params/gridRowParams.js +4 -0
  230. package/package.json +1 -1
  231. package/components/DataGridColumnHeaders.d.ts +0 -6
  232. package/components/DataGridColumnHeaders.js +0 -38
  233. package/components/columnHeaders/GridColumnHeaders.d.ts +0 -7
  234. package/legacy/components/DataGridColumnHeaders.js +0 -36
  235. package/modern/components/DataGridColumnHeaders.js +0 -38
  236. /package/legacy/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
  237. /package/legacy/{components → material}/icons/index.js +0 -0
  238. /package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.d.ts +0 -0
  239. /package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
  240. /package/{components → material}/icons/index.d.ts +0 -0
  241. /package/{components → material}/icons/index.js +0 -0
  242. /package/modern/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
  243. /package/modern/{components → material}/icons/index.js +0 -0
  244. /package/node/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
  245. /package/node/{components → material}/icons/index.js +0 -0
@@ -26,8 +26,9 @@ var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelecto
26
26
  var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
27
27
  var _gridColumnGroupsSelector = require("../hooks/features/columnGrouping/gridColumnGroupsSelector");
28
28
  var _utils2 = require("../utils/utils");
29
+ var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
29
30
  var _jsxRuntime = require("react/jsx-runtime");
30
- const _excluded = ["selected", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "cellFocus", "cellTabIndex", "editRowsState", "isLastVisible", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"],
31
+ const _excluded = ["selected", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"],
31
32
  _excluded2 = ["changeReason"];
32
33
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -73,10 +74,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
73
74
  renderedColumns,
74
75
  containerWidth,
75
76
  firstColumnToRender,
76
- cellFocus,
77
- cellTabIndex,
78
- editRowsState,
79
77
  isLastVisible = false,
78
+ focusedCell,
79
+ tabbableCell,
80
80
  onClick,
81
81
  onDoubleClick,
82
82
  onMouseEnter,
@@ -91,6 +91,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
91
91
  const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
92
92
  const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
93
93
  const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
94
+ const editRowsState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditingSelectors.gridEditRowsStateSelector);
94
95
  const handleRef = (0, _utils.unstable_useForkRef)(ref, refProp);
95
96
  const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
96
97
 
@@ -187,13 +188,22 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
187
188
  }
188
189
  publish('rowClick', onClick)(event);
189
190
  }, [apiRef, onClick, publish, rowId]);
191
+ const {
192
+ slots,
193
+ slotProps,
194
+ classes: rootClasses,
195
+ disableColumnReorder,
196
+ getCellClassName
197
+ } = rootProps;
198
+ const rowReordering = rootProps.rowReordering;
199
+ const CellComponent = slots.cell;
190
200
  const getCell = React.useCallback((column, cellProps) => {
191
201
  const cellParams = apiRef.current.getCellParams(rowId, column.field);
192
202
  const classNames = apiRef.current.unstable_applyPipeProcessors('cellClassName', [], {
193
203
  id: rowId,
194
204
  field: column.field
195
205
  });
196
- const disableDragEvents = rootProps.disableColumnReorder && column.disableReorder || !rootProps.rowReordering && !!sortModel.length && treeDepth > 1 && Object.keys(editRowsState).length > 0;
206
+ const disableDragEvents = disableColumnReorder && column.disableReorder || !rowReordering && !!sortModel.length && treeDepth > 1 && Object.keys(editRowsState).length > 0;
197
207
  if (column.cellClassName) {
198
208
  classNames.push((0, _clsx.default)(typeof column.cellClassName === 'function' ? column.cellClassName(cellParams) : column.cellClassName));
199
209
  }
@@ -204,7 +214,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
204
214
  api: apiRef.current
205
215
  }));
206
216
  // TODO move to GridCell
207
- classNames.push((0, _clsx.default)(_gridClasses.gridClasses['cell--withRenderer'], rootProps.classes?.['cell--withRenderer']));
217
+ classNames.push((0, _clsx.default)(_gridClasses.gridClasses['cell--withRenderer'], rootClasses?.['cell--withRenderer']));
208
218
  }
209
219
  if (editCellState != null && column.renderEditCell) {
210
220
  const updatedRow = apiRef.current.getRowWithUpdatedValues(rowId, column.field);
@@ -216,19 +226,19 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
216
226
  });
217
227
  content = column.renderEditCell(params);
218
228
  // TODO move to GridCell
219
- classNames.push((0, _clsx.default)(_gridClasses.gridClasses['cell--editing'], rootProps.classes?.['cell--editing']));
229
+ classNames.push((0, _clsx.default)(_gridClasses.gridClasses['cell--editing'], rootClasses?.['cell--editing']));
220
230
  }
221
- if (rootProps.getCellClassName) {
231
+ if (getCellClassName) {
222
232
  // TODO move to GridCell
223
- classNames.push(rootProps.getCellClassName(cellParams));
233
+ classNames.push(getCellClassName(cellParams));
224
234
  }
225
- const hasFocus = cellFocus !== null && cellFocus.id === rowId && cellFocus.field === column.field;
226
- const tabIndex = cellTabIndex !== null && cellTabIndex.id === rowId && cellTabIndex.field === column.field && cellParams.cellMode === 'view' ? 0 : -1;
235
+ const hasFocus = focusedCell === column.field;
236
+ const tabIndex = tabbableCell === column.field ? 0 : -1;
227
237
  const isSelected = apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
228
238
  id: rowId,
229
239
  field: column.field
230
240
  });
231
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.cell, (0, _extends2.default)({
241
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CellComponent, (0, _extends2.default)({
232
242
  value: cellParams.value,
233
243
  field: column.field,
234
244
  width: cellProps.width,
@@ -246,10 +256,10 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
246
256
  className: (0, _clsx.default)(classNames),
247
257
  colSpan: cellProps.colSpan,
248
258
  disableDragEvents: disableDragEvents
249
- }, rootProps.slotProps?.cell, {
259
+ }, slotProps?.cell, {
250
260
  children: content
251
261
  }), column.field);
252
- }, [apiRef, cellTabIndex, editRowsState, cellFocus, rootProps, rowHeight, rowId, treeDepth, sortModel.length]);
262
+ }, [apiRef, rowId, disableColumnReorder, rowReordering, sortModel.length, treeDepth, editRowsState, getCellClassName, focusedCell, tabbableCell, CellComponent, rowHeight, slotProps?.cell, rootClasses]);
253
263
  const sizes = apiRef.current.unstable_getRowInternalSizes(rowId);
254
264
  let minHeight = rowHeight;
255
265
  if (minHeight === 'auto' && sizes) {
@@ -360,23 +370,34 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
360
370
  // | These PropTypes are generated from the TypeScript type definitions |
361
371
  // | To update them edit the TypeScript types and run "yarn proptypes" |
362
372
  // ----------------------------------------------------------------------
363
- cellFocus: _propTypes.default.object,
364
- cellTabIndex: _propTypes.default.object,
365
- containerWidth: _propTypes.default.number.isRequired,
366
- editRowsState: _propTypes.default.object.isRequired,
367
- firstColumnToRender: _propTypes.default.number.isRequired,
373
+ containerWidth: _propTypes.default.number,
374
+ firstColumnToRender: _propTypes.default.number,
375
+ /**
376
+ * Determines which cell has focus.
377
+ * If `null`, no cell in this row has focus.
378
+ */
379
+ focusedCell: _propTypes.default.string,
368
380
  /**
369
381
  * Index of the row in the whole sorted and filtered dataset.
370
382
  * If some rows above have expanded children, this index also take those children into account.
371
383
  */
372
- index: _propTypes.default.number.isRequired,
384
+ index: _propTypes.default.number,
373
385
  isLastVisible: _propTypes.default.bool,
374
- lastColumnToRender: _propTypes.default.number.isRequired,
375
- position: _propTypes.default.oneOf(['center', 'left', 'right']).isRequired,
376
- renderedColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
386
+ lastColumnToRender: _propTypes.default.number,
387
+ onClick: _propTypes.default.func,
388
+ onDoubleClick: _propTypes.default.func,
389
+ onMouseEnter: _propTypes.default.func,
390
+ onMouseLeave: _propTypes.default.func,
391
+ position: _propTypes.default.oneOf(['center', 'left', 'right']),
392
+ renderedColumns: _propTypes.default.arrayOf(_propTypes.default.object),
377
393
  row: _propTypes.default.object,
378
- rowHeight: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]).isRequired,
379
- rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
380
- selected: _propTypes.default.bool.isRequired,
381
- visibleColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
394
+ rowHeight: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
395
+ rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
396
+ selected: _propTypes.default.bool,
397
+ /**
398
+ * Determines which cell should be tabbable by having tabIndex=0.
399
+ * If `null`, no cell in this row is in the tab sequence.
400
+ */
401
+ tabbableCell: _propTypes.default.string,
402
+ visibleColumns: _propTypes.default.arrayOf(_propTypes.default.object)
382
403
  } : void 0;
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
- var _styles = require("@mui/material/styles");
14
+ var _system = require("@mui/system");
15
15
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
16
  var _gridClasses = require("../constants/gridClasses");
17
17
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -28,7 +28,7 @@ const useUtilityClasses = ownerState => {
28
28
  };
29
29
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
- const GridRowCountRoot = (0, _styles.styled)('div', {
31
+ const GridRowCountRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
33
33
  slot: 'RowCount',
34
34
  overridesResolver: (props, styles) => styles.rowCount
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _utils = require("@mui/utils");
13
- var _styles = require("@mui/material/styles");
13
+ var _system = require("@mui/system");
14
14
  var _useGridApiEventHandler = require("../hooks/utils/useGridApiEventHandler");
15
15
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
16
  var _gridClasses = require("../constants/gridClasses");
@@ -32,7 +32,7 @@ const useUtilityClasses = ownerState => {
32
32
  };
33
33
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
34
34
  };
35
- const GridScrollAreaRawRoot = (0, _styles.styled)('div', {
35
+ const GridScrollAreaRawRoot = (0, _system.styled)('div', {
36
36
  name: 'MuiDataGrid',
37
37
  slot: 'ScrollArea',
38
38
  overridesResolver: (props, styles) => [{
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
- var _styles = require("@mui/material/styles");
14
+ var _system = require("@mui/system");
15
15
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
16
  var _gridClasses = require("../constants/gridClasses");
17
17
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -28,7 +28,7 @@ const useUtilityClasses = ownerState => {
28
28
  };
29
29
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
- const GridSelectedRowCountRoot = (0, _styles.styled)('div', {
31
+ const GridSelectedRowCountRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
33
33
  slot: 'SelectedRowCount',
34
34
  overridesResolver: (props, styles) => styles.selectedRowCount
@@ -5,12 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.GridBody = GridBody;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
12
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
11
13
  var _GridMainContainer = require("../containers/GridMainContainer");
12
14
  var _GridAutoSizer = require("../GridAutoSizer");
13
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
+ var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
17
+ var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
18
+ var _gridSortingSelector = require("../../hooks/features/sorting/gridSortingSelector");
19
+ var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusStateSelector");
20
+ var _densitySelector = require("../../hooks/features/density/densitySelector");
21
+ var _gridColumnGroupsSelector = require("../../hooks/features/columnGrouping/gridColumnGroupsSelector");
22
+ var _columnMenuSelector = require("../../hooks/features/columnMenu/columnMenuSelector");
14
23
  var _jsxRuntime = require("react/jsx-runtime");
15
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -18,10 +27,25 @@ function GridBody(props) {
18
27
  const {
19
28
  children,
20
29
  VirtualScrollerComponent,
21
- ColumnHeadersComponent
30
+ ColumnHeadersProps
22
31
  } = props;
23
32
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
24
33
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
34
+ const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
35
+ const filterColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterActiveItemsLookupSelector);
36
+ const sortColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortColumnLookupSelector);
37
+ const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
38
+ const columnHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexColumnHeaderSelector);
39
+ const cellTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexCellSelector);
40
+ const columnGroupHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.unstable_gridTabIndexColumnGroupHeaderSelector);
41
+ const columnHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridFocusColumnHeaderSelector);
42
+ const columnGroupHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.unstable_gridFocusColumnGroupHeaderSelector);
43
+ const densityFactor = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityFactorSelector);
44
+ const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
45
+ const columnMenuState = (0, _useGridSelector.useGridSelector)(apiRef, _columnMenuSelector.gridColumnMenuSelector);
46
+ const columnVisibility = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
47
+ const columnGroupsHeaderStructure = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderStructureSelector);
48
+ const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
25
49
  const [isVirtualizationDisabled, setIsVirtualizationDisabled] = React.useState(rootProps.disableVirtualization);
26
50
  const disableVirtualization = React.useCallback(() => {
27
51
  setIsVirtualizationDisabled(true);
@@ -53,10 +77,24 @@ function GridBody(props) {
53
77
  apiRef.current.publishEvent('resize', size);
54
78
  }, [apiRef]);
55
79
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, {
56
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ColumnHeadersComponent, {
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, (0, _extends2.default)({
57
81
  ref: columnsContainerRef,
58
- innerRef: columnHeadersRef
59
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridAutoSizer.GridAutoSizer, {
82
+ innerRef: columnHeadersRef,
83
+ visibleColumns: visibleColumns,
84
+ filterColumnLookup: filterColumnLookup,
85
+ sortColumnLookup: sortColumnLookup,
86
+ columnPositions: columnPositions,
87
+ columnHeaderTabIndexState: columnHeaderTabIndexState,
88
+ columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
89
+ columnHeaderFocus: columnHeaderFocus,
90
+ columnGroupHeaderFocus: columnGroupHeaderFocus,
91
+ densityFactor: densityFactor,
92
+ headerGroupingMaxDepth: headerGroupingMaxDepth,
93
+ columnMenuState: columnMenuState,
94
+ columnVisibility: columnVisibility,
95
+ columnGroupsHeaderStructure: columnGroupsHeaderStructure,
96
+ hasOtherElementInTabSequence: hasOtherElementInTabSequence
97
+ }, ColumnHeadersProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridAutoSizer.GridAutoSizer, {
60
98
  nonce: rootProps.nonce,
61
99
  disableHeight: rootProps.autoHeight,
62
100
  onResize: handleResize,
@@ -73,6 +111,6 @@ process.env.NODE_ENV !== "production" ? GridBody.propTypes = {
73
111
  // | To update them edit the TypeScript types and run "yarn proptypes" |
74
112
  // ----------------------------------------------------------------------
75
113
  children: _propTypes.default.node,
76
- ColumnHeadersComponent: _propTypes.default.elementType.isRequired,
114
+ ColumnHeadersProps: _propTypes.default.object,
77
115
  VirtualScrollerComponent: _propTypes.default.elementType.isRequired
78
116
  } : void 0;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridOverlays = GridOverlays;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _styles = require("@mui/material/styles");
10
+ var _system = require("@mui/system");
11
11
  var _utils = require("@mui/utils");
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
@@ -20,7 +20,7 @@ var _gridClasses = require("../../constants/gridClasses");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
- const GridOverlayWrapperRoot = (0, _styles.styled)('div', {
23
+ const GridOverlayWrapperRoot = (0, _system.styled)('div', {
24
24
  name: 'MuiDataGrid',
25
25
  slot: 'OverlayWrapper',
26
26
  overridesResolver: (props, styles) => styles.overlayWrapper
@@ -36,7 +36,7 @@ const GridOverlayWrapperRoot = (0, _styles.styled)('div', {
36
36
  zIndex: 4 // Should be above pinned columns, pinned rows and detail panel
37
37
  });
38
38
 
39
- const GridOverlayWrapperInner = (0, _styles.styled)('div', {
39
+ const GridOverlayWrapperInner = (0, _system.styled)('div', {
40
40
  name: 'MuiDataGrid',
41
41
  slot: 'OverlayWrapperInner',
42
42
  overridesResolver: (props, styles) => styles.overlayWrapperInner
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridCell = GridCell;
7
+ exports.GridCell = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
@@ -48,7 +48,7 @@ const useUtilityClasses = ownerState => {
48
48
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
49
49
  };
50
50
  let warnedOnce = false;
51
- function GridCell(props) {
51
+ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
52
52
  const {
53
53
  align,
54
54
  children,
@@ -81,6 +81,7 @@ function GridCell(props) {
81
81
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
82
82
  const valueToRender = formattedValue == null ? value : formattedValue;
83
83
  const cellRef = React.useRef(null);
84
+ const handleRef = (0, _utils.unstable_useForkRef)(ref, cellRef);
84
85
  const focusElementRef = React.useRef(null);
85
86
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
86
87
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
@@ -182,7 +183,7 @@ function GridCell(props) {
182
183
  onDragOver: publish('cellDragOver', onDragOver)
183
184
  };
184
185
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
185
- ref: cellRef,
186
+ ref: handleRef,
186
187
  className: (0, _clsx.default)(className, classes.root),
187
188
  role: "cell",
188
189
  "data-field": field,
@@ -202,23 +203,25 @@ function GridCell(props) {
202
203
  onFocus: handleFocus,
203
204
  children: renderChildren()
204
205
  }));
205
- }
206
+ });
207
+ const MemoizedCell = /*#__PURE__*/React.memo(GridCell);
208
+ exports.GridCell = MemoizedCell;
206
209
  process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
207
210
  // ----------------------------- Warning --------------------------------
208
211
  // | These PropTypes are generated from the TypeScript type definitions |
209
212
  // | To update them edit the TypeScript types and run "yarn proptypes" |
210
213
  // ----------------------------------------------------------------------
211
- align: _propTypes.default.oneOf(['center', 'left', 'right']).isRequired,
214
+ align: _propTypes.default.oneOf(['center', 'left', 'right']),
212
215
  cellMode: _propTypes.default.oneOf(['edit', 'view']),
213
216
  children: _propTypes.default.node,
214
217
  className: _propTypes.default.string,
215
- colIndex: _propTypes.default.number.isRequired,
218
+ colIndex: _propTypes.default.number,
216
219
  colSpan: _propTypes.default.number,
217
220
  disableDragEvents: _propTypes.default.bool,
218
- field: _propTypes.default.string.isRequired,
221
+ field: _propTypes.default.string,
219
222
  formattedValue: _propTypes.default.any,
220
223
  hasFocus: _propTypes.default.bool,
221
- height: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]).isRequired,
224
+ height: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
222
225
  isEditable: _propTypes.default.bool,
223
226
  isSelected: _propTypes.default.bool,
224
227
  onClick: _propTypes.default.func,
@@ -228,9 +231,9 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
228
231
  onKeyDown: _propTypes.default.func,
229
232
  onMouseDown: _propTypes.default.func,
230
233
  onMouseUp: _propTypes.default.func,
231
- rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
234
+ rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
232
235
  showRightBorder: _propTypes.default.bool,
233
- tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
236
+ tabIndex: _propTypes.default.oneOf([-1, 0]),
234
237
  value: _propTypes.default.any,
235
- width: _propTypes.default.number.isRequired
238
+ width: _propTypes.default.number
236
239
  } : void 0;
@@ -14,7 +14,6 @@ var _styles = require("@mui/material/styles");
14
14
  var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
15
15
  var _gridClasses = require("../../constants/gridClasses");
16
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
- var _index = require("../icons/index");
18
17
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
19
  const _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "isValidating", "debounceMs", "isProcessingProps", "onValueChange"];
@@ -98,7 +97,7 @@ const GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
98
97
  type: colDef.type === 'number' ? colDef.type : 'text',
99
98
  value: valueState ?? '',
100
99
  onChange: handleChange,
101
- endAdornment: isProcessingProps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.GridLoadIcon, {}) : undefined
100
+ endAdornment: isProcessingProps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {}) : undefined
102
101
  }, other));
103
102
  });
104
103
  exports.GridEditInputCell = GridEditInputCell;
@@ -11,7 +11,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _utils = require("@mui/utils");
14
- var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
14
  var _keyboardUtils = require("../../utils/keyboardUtils");
16
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
16
  var _gridEditRowModel = require("../../models/gridEditRowModel");
@@ -105,7 +104,6 @@ function GridEditSingleSelectCell(props) {
105
104
  }
106
105
  setOpen(true);
107
106
  };
108
- const OptionComponent = isSelectNative ? 'option' : _MenuItem.default;
109
107
  if (!valueOptions || !colDef) {
110
108
  return null;
111
109
  }
@@ -125,10 +123,11 @@ function GridEditSingleSelectCell(props) {
125
123
  }, other, rootProps.slotProps?.baseSelect, {
126
124
  children: valueOptions.map(valueOption => {
127
125
  const value = getOptionValue(valueOption);
128
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionComponent, {
129
- value: value,
130
- children: getOptionLabel(valueOption)
131
- }, value);
126
+ return /*#__PURE__*/(0, React.createElement)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, rootProps.slotProps?.baseSelectOption || {}, {
127
+ native: isSelectNative,
128
+ key: value,
129
+ value: value
130
+ }), getOptionLabel(valueOption));
132
131
  })
133
132
  }));
134
133
  }
@@ -4,13 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridColumnHeaders = void 0;
7
+ exports.GridBaseColumnHeaders = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _utils = require("@mui/utils");
13
- var _styles = require("@mui/material/styles");
13
+ var _system = require("@mui/system");
14
14
  var _gridClasses = require("../../constants/gridClasses");
15
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -26,25 +26,21 @@ const useUtilityClasses = ownerState => {
26
26
  };
27
27
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
28
  };
29
- const GridColumnHeadersRoot = (0, _styles.styled)('div', {
29
+ const GridColumnHeadersRoot = (0, _system.styled)('div', {
30
30
  name: 'MuiDataGrid',
31
31
  slot: 'ColumnHeaders',
32
32
  overridesResolver: (props, styles) => styles.columnHeaders
33
- })(({
34
- theme
35
- }) => {
36
- return {
37
- position: 'relative',
38
- overflow: 'hidden',
39
- display: 'flex',
40
- alignItems: 'center',
41
- boxSizing: 'border-box',
42
- borderBottom: '1px solid',
43
- borderTopLeftRadius: theme.shape.borderRadius,
44
- borderTopRightRadius: theme.shape.borderRadius
45
- };
33
+ })({
34
+ position: 'relative',
35
+ overflow: 'hidden',
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ boxSizing: 'border-box',
39
+ borderBottom: '1px solid',
40
+ borderTopLeftRadius: 'var(--unstable_DataGrid-radius)',
41
+ borderTopRightRadius: 'var(--unstable_DataGrid-radius)'
46
42
  });
47
- const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
43
+ const GridBaseColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
48
44
  const {
49
45
  className
50
46
  } = props,
@@ -57,4 +53,4 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeade
57
53
  ownerState: rootProps
58
54
  }, other));
59
55
  });
60
- exports.GridColumnHeaders = GridColumnHeaders;
56
+ exports.GridBaseColumnHeaders = GridBaseColumnHeaders;
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
- var _styles = require("@mui/material/styles");
14
+ var _system = require("@mui/system");
15
15
  var _domUtils = require("../../utils/domUtils");
16
16
  var _gridClasses = require("../../constants/gridClasses");
17
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -28,18 +28,16 @@ const useUtilityClasses = ownerState => {
28
28
  };
29
29
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
- const GridColumnHeaderTitleRoot = (0, _styles.styled)('div', {
31
+ const GridColumnHeaderTitleRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
33
33
  slot: 'ColumnHeaderTitle',
34
34
  overridesResolver: (props, styles) => styles.columnHeaderTitle
35
- })(({
36
- theme
37
- }) => ({
35
+ })({
38
36
  textOverflow: 'ellipsis',
39
37
  overflow: 'hidden',
40
38
  whiteSpace: 'nowrap',
41
- fontWeight: theme.typography.fontWeightMedium
42
- }));
39
+ fontWeight: 'var(--unstable_DataGrid-headWeight)'
40
+ });
43
41
  const ColumnHeaderInnerTitle = /*#__PURE__*/React.forwardRef(function ColumnHeaderInnerTitle(props, ref) {
44
42
  const {
45
43
  className
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _utils = require("@mui/utils");
13
- var _styles = require("@mui/material/styles");
13
+ var _system = require("@mui/system");
14
14
  var _gridClasses = require("../../constants/gridClasses");
15
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -29,7 +29,7 @@ const useUtilityClasses = ownerState => {
29
29
  };
30
30
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
31
31
  };
32
- const GridColumnHeadersInnerRoot = (0, _styles.styled)('div', {
32
+ const GridColumnHeadersInnerRoot = (0, _system.styled)('div', {
33
33
  name: 'MuiDataGrid',
34
34
  slot: 'columnHeadersInner',
35
35
  overridesResolver: (props, styles) => [{
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _utils = require("@mui/utils");
13
- var _styles = require("@mui/material/styles");
13
+ var _system = require("@mui/system");
14
14
  var _gridClasses = require("../../constants/gridClasses");
15
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
26
26
  };
27
27
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
28
  };
29
- const GridIconButtonContainerRoot = (0, _styles.styled)('div', {
29
+ const GridIconButtonContainerRoot = (0, _system.styled)('div', {
30
30
  name: 'MuiDataGrid',
31
31
  slot: 'IconButtonContainer',
32
32
  overridesResolver: (props, styles) => styles.iconButtonContainer
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
- var _styles = require("@mui/material/styles");
14
+ var _system = require("@mui/system");
15
15
  var _gridClasses = require("../../constants/gridClasses");
16
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -27,19 +27,16 @@ const useUtilityClasses = ownerState => {
27
27
  };
28
28
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
29
  };
30
- const GridFooterContainerRoot = (0, _styles.styled)('div', {
30
+ const GridFooterContainerRoot = (0, _system.styled)('div', {
31
31
  name: 'MuiDataGrid',
32
32
  slot: 'FooterContainer',
33
33
  overridesResolver: (props, styles) => styles.footerContainer
34
- })(() => {
35
- return {
36
- display: 'flex',
37
- justifyContent: 'space-between',
38
- alignItems: 'center',
39
- minHeight: 52,
40
- // Match TablePagination min height
41
- borderTop: '1px solid'
42
- };
34
+ })({
35
+ display: 'flex',
36
+ justifyContent: 'space-between',
37
+ alignItems: 'center',
38
+ minHeight: 52,
39
+ borderTop: '1px solid'
43
40
  });
44
41
  const GridFooterContainer = /*#__PURE__*/React.forwardRef(function GridFooterContainer(props, ref) {
45
42
  const {