@mui/x-data-grid 7.23.2 → 7.23.4
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.
- package/CHANGELOG.md +86 -0
- package/DataGrid/DataGrid.js +7 -4
- package/README.md +1 -1
- package/components/GridColumnHeaders.d.ts +1 -1
- package/components/GridColumnHeaders.js +4 -4
- package/components/GridFooter.d.ts +2 -1
- package/components/GridFooter.js +4 -4
- package/components/GridLoadingOverlay.d.ts +1 -1
- package/components/GridLoadingOverlay.js +3 -2
- package/components/GridNoResultsOverlay.d.ts +2 -1
- package/components/GridNoResultsOverlay.js +4 -4
- package/components/GridNoRowsOverlay.d.ts +2 -1
- package/components/GridNoRowsOverlay.js +4 -4
- package/components/GridPagination.d.ts +1 -1
- package/components/GridPagination.js +5 -3
- package/components/GridRow.d.ts +1 -1
- package/components/GridRow.js +15 -3
- package/components/GridRowCount.d.ts +1 -1
- package/components/GridRowCount.js +3 -2
- package/components/GridSelectedRowCount.d.ts +4 -1
- package/components/GridSelectedRowCount.js +3 -2
- package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
- package/components/GridSkeletonLoadingOverlay.js +4 -3
- package/components/cell/GridActionsCell.js +8 -1
- package/components/cell/GridActionsCellItem.d.ts +1 -1
- package/components/cell/GridActionsCellItem.js +3 -2
- package/components/cell/GridCell.d.ts +1 -1
- package/components/cell/GridCell.js +3 -2
- package/components/cell/GridEditInputCell.d.ts +1 -1
- package/components/cell/GridEditInputCell.js +72 -3
- package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
- package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
- package/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
- package/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/components/containers/GridFooterContainer.d.ts +1 -1
- package/components/containers/GridFooterContainer.js +5 -3
- package/components/containers/GridOverlay.d.ts +1 -1
- package/components/containers/GridOverlay.js +5 -3
- package/components/containers/GridRoot.d.ts +1 -1
- package/components/containers/GridRoot.js +5 -3
- package/components/containers/GridToolbarContainer.d.ts +1 -1
- package/components/containers/GridToolbarContainer.js +3 -2
- package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
- package/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
- package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +3 -2
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPanelWrapper.js +5 -3
- package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/components/toolbar/GridToolbar.d.ts +1 -1
- package/components/toolbar/GridToolbar.js +4 -4
- package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
- package/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
- package/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/components/toolbar/GridToolbarExport.d.ts +1 -1
- package/components/toolbar/GridToolbarExport.js +2 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
- package/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/components/virtualization/GridMainContainer.d.ts +3 -1
- package/components/virtualization/GridMainContainer.js +4 -3
- package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
- package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
- package/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/index.js +1 -1
- package/internals/utils/useProps.js +3 -0
- package/locales/koKR.js +36 -39
- package/locales/nlNL.js +5 -6
- package/models/gridSlotsComponentsProps.d.ts +10 -0
- package/models/props/DataGridProps.d.ts +1 -0
- package/modern/DataGrid/DataGrid.js +7 -4
- package/modern/components/GridColumnHeaders.js +4 -4
- package/modern/components/GridFooter.js +4 -4
- package/modern/components/GridLoadingOverlay.js +3 -2
- package/modern/components/GridNoResultsOverlay.js +4 -4
- package/modern/components/GridNoRowsOverlay.js +4 -4
- package/modern/components/GridPagination.js +5 -3
- package/modern/components/GridRow.js +15 -3
- package/modern/components/GridRowCount.js +3 -2
- package/modern/components/GridSelectedRowCount.js +3 -2
- package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
- package/modern/components/cell/GridActionsCell.js +8 -1
- package/modern/components/cell/GridActionsCellItem.js +3 -2
- package/modern/components/cell/GridCell.js +3 -2
- package/modern/components/cell/GridEditInputCell.js +72 -3
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/modern/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/modern/components/containers/GridFooterContainer.js +5 -3
- package/modern/components/containers/GridOverlay.js +5 -3
- package/modern/components/containers/GridRoot.js +5 -3
- package/modern/components/containers/GridToolbarContainer.js +3 -2
- package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/modern/components/panel/GridPanel.js +3 -2
- package/modern/components/panel/GridPanelWrapper.js +5 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/modern/components/toolbar/GridToolbar.js +4 -4
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/modern/components/toolbar/GridToolbarExport.js +2 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/modern/components/virtualization/GridMainContainer.js +4 -3
- package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/modern/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/modern/index.js +1 -1
- package/modern/internals/utils/useProps.js +3 -0
- package/modern/locales/koKR.js +36 -39
- package/modern/locales/nlNL.js +5 -6
- package/node/DataGrid/DataGrid.js +7 -4
- package/node/components/GridColumnHeaders.js +4 -4
- package/node/components/GridFooter.js +4 -4
- package/node/components/GridLoadingOverlay.js +3 -2
- package/node/components/GridNoResultsOverlay.js +4 -4
- package/node/components/GridNoRowsOverlay.js +4 -4
- package/node/components/GridPagination.js +5 -3
- package/node/components/GridRow.js +15 -3
- package/node/components/GridRowCount.js +3 -2
- package/node/components/GridSelectedRowCount.js +3 -2
- package/node/components/GridSkeletonLoadingOverlay.js +4 -3
- package/node/components/cell/GridActionsCell.js +8 -1
- package/node/components/cell/GridActionsCellItem.js +3 -2
- package/node/components/cell/GridCell.js +3 -2
- package/node/components/cell/GridEditInputCell.js +72 -3
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/node/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/node/components/containers/GridFooterContainer.js +5 -3
- package/node/components/containers/GridOverlay.js +5 -3
- package/node/components/containers/GridRoot.js +5 -3
- package/node/components/containers/GridToolbarContainer.js +3 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/node/components/panel/GridPanel.js +3 -2
- package/node/components/panel/GridPanelWrapper.js +5 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/node/components/toolbar/GridToolbar.js +4 -4
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/node/components/toolbar/GridToolbarExport.js +2 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/node/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/node/components/virtualization/GridMainContainer.js +4 -3
- package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/node/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/node/index.js +1 -1
- package/node/internals/utils/useProps.js +3 -0
- package/node/locales/koKR.js +36 -39
- package/node/locales/nlNL.js +5 -6
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
8
8
|
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { GridEditModes, GridRowModes, GridCellModes } from "../models/gridEditRowModel.js";
|
|
10
11
|
import { gridClasses } from "../constants/gridClasses.js";
|
|
11
12
|
import { composeGridClasses } from "../utils/composeGridClasses.js";
|
|
@@ -25,6 +26,7 @@ import { GridScrollbarFillerCell as ScrollbarFiller } from "./GridScrollbarFille
|
|
|
25
26
|
import { getPinnedCellOffset } from "../internals/utils/getPinnedCellOffset.js";
|
|
26
27
|
import { useGridConfiguration } from "../hooks/utils/useGridConfiguration.js";
|
|
27
28
|
import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.js";
|
|
29
|
+
import { gridVirtualizationColumnEnabledSelector } from "../hooks/index.js";
|
|
28
30
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
31
|
function EmptyCell({
|
|
30
32
|
width
|
|
@@ -47,7 +49,7 @@ process.env.NODE_ENV !== "production" ? EmptyCell.propTypes = {
|
|
|
47
49
|
// ----------------------------------------------------------------------
|
|
48
50
|
width: PropTypes.number.isRequired
|
|
49
51
|
} : void 0;
|
|
50
|
-
const GridRow =
|
|
52
|
+
const GridRow = forwardRef(function GridRow(props, refProp) {
|
|
51
53
|
const {
|
|
52
54
|
selected,
|
|
53
55
|
rowId,
|
|
@@ -89,6 +91,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
89
91
|
const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
|
|
90
92
|
const editing = apiRef.current.getRowMode(rowId) === GridRowModes.Edit;
|
|
91
93
|
const editable = rootProps.editMode === GridEditModes.Row;
|
|
94
|
+
const hasColumnVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
|
|
92
95
|
const hasFocusCell = focusedColumnIndex !== undefined;
|
|
93
96
|
const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
|
|
94
97
|
const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
|
|
@@ -270,7 +273,16 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
270
273
|
if (hasVirtualFocusCellLeft) {
|
|
271
274
|
cells.push(getCell(visibleColumns[focusedColumnIndex], focusedColumnIndex - pinnedColumns.left.length, focusedColumnIndex, middleColumnsLength, PinnedPosition.VIRTUAL));
|
|
272
275
|
}
|
|
273
|
-
|
|
276
|
+
let firstColumnIndex;
|
|
277
|
+
let lastColumnIndex;
|
|
278
|
+
if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
|
|
279
|
+
firstColumnIndex = 0;
|
|
280
|
+
lastColumnIndex = visibleColumns.length;
|
|
281
|
+
} else {
|
|
282
|
+
firstColumnIndex = renderContext.firstColumnIndex;
|
|
283
|
+
lastColumnIndex = renderContext.lastColumnIndex;
|
|
284
|
+
}
|
|
285
|
+
for (let i = firstColumnIndex; i < lastColumnIndex; i += 1) {
|
|
274
286
|
const column = visibleColumns[i];
|
|
275
287
|
const indexInSection = i - pinnedColumns.left.length;
|
|
276
288
|
if (!column) {
|
|
@@ -292,13 +304,13 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
292
304
|
const expandedWidth = dimensions.viewportOuterSize.width - dimensions.columnsTotalWidth - scrollbarWidth;
|
|
293
305
|
const emptyCellWidth = Math.max(0, expandedWidth);
|
|
294
306
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
295
|
-
ref: handleRef,
|
|
296
307
|
"data-id": rowId,
|
|
297
308
|
"data-rowindex": index,
|
|
298
309
|
role: "row",
|
|
299
310
|
className: clsx(...rowClassNames, classes.root, className),
|
|
300
311
|
style: style
|
|
301
312
|
}, ariaAttributes, eventHandlers, other, {
|
|
313
|
+
ref: handleRef,
|
|
302
314
|
children: [leftCells, /*#__PURE__*/_jsx("div", {
|
|
303
315
|
role: "presentation",
|
|
304
316
|
className: gridClasses.cellOffsetLeft,
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
10
11
|
import { getDataGridUtilityClass } from "../constants/gridClasses.js";
|
|
11
12
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -30,7 +31,7 @@ const GridRowCountRoot = styled('div', {
|
|
|
30
31
|
display: 'flex',
|
|
31
32
|
margin: theme.spacing(0, 2)
|
|
32
33
|
}));
|
|
33
|
-
const GridRowCount =
|
|
34
|
+
const GridRowCount = forwardRef(function GridRowCount(props, ref) {
|
|
34
35
|
const {
|
|
35
36
|
className,
|
|
36
37
|
rowCount,
|
|
@@ -45,10 +46,10 @@ const GridRowCount = /*#__PURE__*/React.forwardRef(function GridRowCount(props,
|
|
|
45
46
|
}
|
|
46
47
|
const text = visibleRowCount < rowCount ? apiRef.current.getLocaleText('footerTotalVisibleRows')(visibleRowCount, rowCount) : rowCount.toLocaleString();
|
|
47
48
|
return /*#__PURE__*/_jsxs(GridRowCountRoot, _extends({
|
|
48
|
-
ref: ref,
|
|
49
49
|
className: clsx(classes.root, className),
|
|
50
50
|
ownerState: ownerState
|
|
51
51
|
}, other, {
|
|
52
|
+
ref: ref,
|
|
52
53
|
children: [apiRef.current.getLocaleText('footerTotalRows'), " ", text]
|
|
53
54
|
}));
|
|
54
55
|
});
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
10
11
|
import { getDataGridUtilityClass } from "../constants/gridClasses.js";
|
|
11
12
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -38,7 +39,7 @@ const GridSelectedRowCountRoot = styled('div', {
|
|
|
38
39
|
height: 'auto'
|
|
39
40
|
}
|
|
40
41
|
}));
|
|
41
|
-
const GridSelectedRowCount =
|
|
42
|
+
const GridSelectedRowCount = forwardRef(function GridSelectedRowCount(props, ref) {
|
|
42
43
|
const {
|
|
43
44
|
className,
|
|
44
45
|
selectedRowCount
|
|
@@ -49,10 +50,10 @@ const GridSelectedRowCount = /*#__PURE__*/React.forwardRef(function GridSelected
|
|
|
49
50
|
const classes = useUtilityClasses(ownerState);
|
|
50
51
|
const rowSelectedText = apiRef.current.getLocaleText('footerRowSelected')(selectedRowCount);
|
|
51
52
|
return /*#__PURE__*/_jsx(GridSelectedRowCountRoot, _extends({
|
|
52
|
-
ref: ref,
|
|
53
53
|
className: clsx(classes.root, className),
|
|
54
54
|
ownerState: ownerState
|
|
55
55
|
}, other, {
|
|
56
|
+
ref: ref,
|
|
56
57
|
children: rowSelectedText
|
|
57
58
|
}));
|
|
58
59
|
});
|
|
@@ -4,6 +4,7 @@ import clsx from 'clsx';
|
|
|
4
4
|
import { styled } from '@mui/system';
|
|
5
5
|
import useForkRef from '@mui/utils/useForkRef';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
8
9
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
9
10
|
import { GridPinnedColumnPosition, gridColumnPositionsSelector, gridColumnsTotalWidthSelector, gridDimensionsSelector, gridVisibleColumnDefinitionsSelector, gridVisiblePinnedColumnDefinitionsSelector, useGridApiEventHandler, useGridSelector } from "../hooks/index.js";
|
|
@@ -34,7 +35,7 @@ const useUtilityClasses = ownerState => {
|
|
|
34
35
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
35
36
|
};
|
|
36
37
|
const getColIndex = el => parseInt(el.getAttribute('data-colindex'), 10);
|
|
37
|
-
const GridSkeletonLoadingOverlay =
|
|
38
|
+
const GridSkeletonLoadingOverlay = forwardRef(function GridSkeletonLoadingOverlay(props, forwardedRef) {
|
|
38
39
|
const rootProps = useGridRootProps();
|
|
39
40
|
const {
|
|
40
41
|
slots
|
|
@@ -172,9 +173,9 @@ const GridSkeletonLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridSk
|
|
|
172
173
|
};
|
|
173
174
|
useGridApiEventHandler(apiRef, 'columnResize', handleColumnResize);
|
|
174
175
|
return /*#__PURE__*/_jsx(SkeletonOverlay, _extends({
|
|
175
|
-
className: classes.root
|
|
176
|
-
ref: handleRef
|
|
176
|
+
className: classes.root
|
|
177
177
|
}, props, {
|
|
178
|
+
ref: handleRef,
|
|
178
179
|
children: children
|
|
179
180
|
}));
|
|
180
181
|
});
|
|
@@ -90,6 +90,13 @@ function GridActionsCell(props) {
|
|
|
90
90
|
const hideMenu = () => {
|
|
91
91
|
setOpen(false);
|
|
92
92
|
};
|
|
93
|
+
const toggleMenu = () => {
|
|
94
|
+
if (open) {
|
|
95
|
+
hideMenu();
|
|
96
|
+
} else {
|
|
97
|
+
showMenu();
|
|
98
|
+
}
|
|
99
|
+
};
|
|
93
100
|
const handleTouchRippleRef = index => instance => {
|
|
94
101
|
touchRippleRefs.current[index] = instance;
|
|
95
102
|
};
|
|
@@ -160,7 +167,7 @@ function GridActionsCell(props) {
|
|
|
160
167
|
"aria-controls": open ? menuId : undefined,
|
|
161
168
|
role: "menuitem",
|
|
162
169
|
size: "small",
|
|
163
|
-
onClick:
|
|
170
|
+
onClick: toggleMenu,
|
|
164
171
|
touchRippleRef: handleTouchRippleRef(buttonId),
|
|
165
172
|
tabIndex: focusedButtonIndex === iconButtons.length ? tabIndex : -1
|
|
166
173
|
}, rootProps.slotProps?.baseIconButton, {
|
|
@@ -6,9 +6,10 @@ import * as React from 'react';
|
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import MenuItem from '@mui/material/MenuItem';
|
|
8
8
|
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const GridActionsCellItem =
|
|
12
|
+
const GridActionsCellItem = forwardRef((props, ref) => {
|
|
12
13
|
const rootProps = useGridRootProps();
|
|
13
14
|
if (!props.showInMenu) {
|
|
14
15
|
const {
|
|
@@ -21,13 +22,13 @@ const GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
21
22
|
onClick?.(event);
|
|
22
23
|
};
|
|
23
24
|
return /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
24
|
-
ref: ref,
|
|
25
25
|
size: "small",
|
|
26
26
|
role: "menuitem",
|
|
27
27
|
"aria-label": label
|
|
28
28
|
}, other, {
|
|
29
29
|
onClick: handleClick
|
|
30
30
|
}, rootProps.slotProps?.baseIconButton, {
|
|
31
|
+
ref: ref,
|
|
31
32
|
children: /*#__PURE__*/React.cloneElement(icon, {
|
|
32
33
|
fontSize: 'small'
|
|
33
34
|
})
|
|
@@ -8,6 +8,7 @@ import clsx from 'clsx';
|
|
|
8
8
|
import { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_ownerDocument as ownerDocument, unstable_capitalize as capitalize } from '@mui/utils';
|
|
9
9
|
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
10
10
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
11
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
11
12
|
import { doesSupportPreventScroll } from "../../utils/doesSupportPreventScroll.js";
|
|
12
13
|
import { getDataGridUtilityClass, gridClasses } from "../../constants/gridClasses.js";
|
|
13
14
|
import { GridCellModes } from "../../models/index.js";
|
|
@@ -76,7 +77,7 @@ let warnedOnce = false;
|
|
|
76
77
|
|
|
77
78
|
// TODO(v7): Removing the wrapper will break the docs performance visualization demo.
|
|
78
79
|
|
|
79
|
-
const GridCell =
|
|
80
|
+
const GridCell = forwardRef(function GridCell(props, ref) {
|
|
80
81
|
const {
|
|
81
82
|
column,
|
|
82
83
|
rowId,
|
|
@@ -313,7 +314,6 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
313
314
|
onDragOver: publish('cellDragOver', onDragOver)
|
|
314
315
|
};
|
|
315
316
|
return /*#__PURE__*/_jsx("div", _extends({
|
|
316
|
-
ref: handleRef,
|
|
317
317
|
className: clsx(classes.root, classNames, className),
|
|
318
318
|
role: "gridcell",
|
|
319
319
|
"data-field": field,
|
|
@@ -333,6 +333,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
333
333
|
onKeyUp: publish('cellKeyUp', onKeyUp)
|
|
334
334
|
}, draggableEventHandlers, other, {
|
|
335
335
|
onFocus: handleFocus,
|
|
336
|
+
ref: handleRef,
|
|
336
337
|
children: children
|
|
337
338
|
}));
|
|
338
339
|
});
|
|
@@ -2,9 +2,11 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
const _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "isValidating", "debounceMs", "isProcessingProps", "onValueChange"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
5
6
|
import { unstable_composeClasses as composeClasses, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
6
7
|
import { styled } from '@mui/material/styles';
|
|
7
8
|
import InputBase from '@mui/material/InputBase';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
9
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
12
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
@@ -31,7 +33,7 @@ const GridEditInputCellRoot = styled(InputBase, {
|
|
|
31
33
|
height: '100%'
|
|
32
34
|
}
|
|
33
35
|
}));
|
|
34
|
-
const GridEditInputCell =
|
|
36
|
+
const GridEditInputCell = forwardRef((props, ref) => {
|
|
35
37
|
const rootProps = useGridRootProps();
|
|
36
38
|
const {
|
|
37
39
|
id,
|
|
@@ -79,7 +81,6 @@ const GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
79
81
|
}
|
|
80
82
|
}, [hasFocus]);
|
|
81
83
|
return /*#__PURE__*/_jsx(GridEditInputCellRoot, _extends({
|
|
82
|
-
ref: ref,
|
|
83
84
|
inputRef: inputRef,
|
|
84
85
|
className: classes.root,
|
|
85
86
|
ownerState: rootProps,
|
|
@@ -91,7 +92,75 @@ const GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
91
92
|
fontSize: "small",
|
|
92
93
|
color: "action"
|
|
93
94
|
}) : undefined
|
|
94
|
-
}, other
|
|
95
|
+
}, other, {
|
|
96
|
+
ref: ref
|
|
97
|
+
}));
|
|
95
98
|
});
|
|
99
|
+
process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
100
|
+
// ----------------------------- Warning --------------------------------
|
|
101
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
102
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
103
|
+
// ----------------------------------------------------------------------
|
|
104
|
+
/**
|
|
105
|
+
* GridApi that let you manipulate the grid.
|
|
106
|
+
*/
|
|
107
|
+
api: PropTypes.object.isRequired,
|
|
108
|
+
/**
|
|
109
|
+
* The mode of the cell.
|
|
110
|
+
*/
|
|
111
|
+
cellMode: PropTypes.oneOf(['edit', 'view']).isRequired,
|
|
112
|
+
changeReason: PropTypes.oneOf(['debouncedSetEditCellValue', 'setEditCellValue']),
|
|
113
|
+
/**
|
|
114
|
+
* The column of the row that the current cell belongs to.
|
|
115
|
+
*/
|
|
116
|
+
colDef: PropTypes.object.isRequired,
|
|
117
|
+
debounceMs: PropTypes.number,
|
|
118
|
+
/**
|
|
119
|
+
* The column field of the cell that triggered the event.
|
|
120
|
+
*/
|
|
121
|
+
field: PropTypes.string.isRequired,
|
|
122
|
+
/**
|
|
123
|
+
* The cell value formatted with the column valueFormatter.
|
|
124
|
+
*/
|
|
125
|
+
formattedValue: PropTypes.any,
|
|
126
|
+
/**
|
|
127
|
+
* If true, the cell is the active element.
|
|
128
|
+
*/
|
|
129
|
+
hasFocus: PropTypes.bool.isRequired,
|
|
130
|
+
/**
|
|
131
|
+
* The grid row id.
|
|
132
|
+
*/
|
|
133
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
134
|
+
/**
|
|
135
|
+
* If true, the cell is editable.
|
|
136
|
+
*/
|
|
137
|
+
isEditable: PropTypes.bool,
|
|
138
|
+
isProcessingProps: PropTypes.bool,
|
|
139
|
+
isValidating: PropTypes.bool,
|
|
140
|
+
/**
|
|
141
|
+
* Callback called when the value is changed by the user.
|
|
142
|
+
* @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
|
|
143
|
+
* @param {Date | null} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
|
|
144
|
+
* @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
|
|
145
|
+
*/
|
|
146
|
+
onValueChange: PropTypes.func,
|
|
147
|
+
/**
|
|
148
|
+
* The row model of the row that the current cell belongs to.
|
|
149
|
+
*/
|
|
150
|
+
row: PropTypes.any.isRequired,
|
|
151
|
+
/**
|
|
152
|
+
* The node of the row that the current cell belongs to.
|
|
153
|
+
*/
|
|
154
|
+
rowNode: PropTypes.object.isRequired,
|
|
155
|
+
/**
|
|
156
|
+
* the tabIndex value.
|
|
157
|
+
*/
|
|
158
|
+
tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
|
|
159
|
+
/**
|
|
160
|
+
* The cell value.
|
|
161
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
162
|
+
*/
|
|
163
|
+
value: PropTypes.any
|
|
164
|
+
} : void 0;
|
|
96
165
|
export { GridEditInputCell };
|
|
97
166
|
export const renderEditInputCell = params => /*#__PURE__*/_jsx(GridEditInputCell, _extends({}, params));
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { styled } from '@mui/system';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -27,7 +28,7 @@ const GridColumnHeadersRoot = styled('div', {
|
|
|
27
28
|
borderTopLeftRadius: 'var(--unstable_DataGrid-radius)',
|
|
28
29
|
borderTopRightRadius: 'var(--unstable_DataGrid-radius)'
|
|
29
30
|
});
|
|
30
|
-
export const GridBaseColumnHeaders =
|
|
31
|
+
export const GridBaseColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
|
|
31
32
|
const {
|
|
32
33
|
className
|
|
33
34
|
} = props,
|
|
@@ -35,10 +36,10 @@ export const GridBaseColumnHeaders = /*#__PURE__*/React.forwardRef(function Grid
|
|
|
35
36
|
const rootProps = useGridRootProps();
|
|
36
37
|
const classes = useUtilityClasses(rootProps);
|
|
37
38
|
return /*#__PURE__*/_jsx(GridColumnHeadersRoot, _extends({
|
|
38
|
-
ref: ref,
|
|
39
39
|
className: clsx(classes.root, className),
|
|
40
40
|
ownerState: rootProps
|
|
41
41
|
}, other, {
|
|
42
|
-
role: "presentation"
|
|
42
|
+
role: "presentation",
|
|
43
|
+
ref: ref
|
|
43
44
|
}));
|
|
44
45
|
});
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { isOverflown } from "../../utils/domUtils.js";
|
|
10
11
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
11
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
@@ -30,7 +31,7 @@ const GridColumnHeaderTitleRoot = styled('div', {
|
|
|
30
31
|
fontWeight: 'var(--unstable_DataGrid-headWeight)',
|
|
31
32
|
lineHeight: 'normal'
|
|
32
33
|
});
|
|
33
|
-
const ColumnHeaderInnerTitle =
|
|
34
|
+
const ColumnHeaderInnerTitle = forwardRef(function ColumnHeaderInnerTitle(props, ref) {
|
|
34
35
|
// Tooltip adds aria-label to the props, which is not needed since the children prop is a string
|
|
35
36
|
// See https://github.com/mui/mui-x/pull/14482
|
|
36
37
|
const {
|
|
@@ -40,10 +41,11 @@ const ColumnHeaderInnerTitle = /*#__PURE__*/React.forwardRef(function ColumnHead
|
|
|
40
41
|
const rootProps = useGridRootProps();
|
|
41
42
|
const classes = useUtilityClasses(rootProps);
|
|
42
43
|
return /*#__PURE__*/_jsx(GridColumnHeaderTitleRoot, _extends({
|
|
43
|
-
ref: ref,
|
|
44
44
|
className: clsx(classes.root, className),
|
|
45
45
|
ownerState: rootProps
|
|
46
|
-
}, other
|
|
46
|
+
}, other, {
|
|
47
|
+
ref: ref
|
|
48
|
+
}));
|
|
47
49
|
});
|
|
48
50
|
// No React.memo here as if we display the sort icon, we need to recalculate the isOver
|
|
49
51
|
function GridColumnHeaderTitle(props) {
|
|
@@ -4,12 +4,13 @@ const _excluded = ["classes", "columnMenuOpen", "colIndex", "height", "isResizin
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
8
9
|
import { GridColumnHeaderTitle } from "./GridColumnHeaderTitle.js";
|
|
9
10
|
import { GridColumnHeaderSeparator } from "./GridColumnHeaderSeparator.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const GridGenericColumnHeaderItem =
|
|
13
|
+
const GridGenericColumnHeaderItem = forwardRef(function GridGenericColumnHeaderItem(props, ref) {
|
|
13
14
|
const {
|
|
14
15
|
classes,
|
|
15
16
|
colIndex,
|
|
@@ -54,7 +55,6 @@ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridG
|
|
|
54
55
|
}
|
|
55
56
|
}, [apiRef, hasFocus]);
|
|
56
57
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
57
|
-
ref: handleRef,
|
|
58
58
|
className: clsx(classes.root, headerClassName),
|
|
59
59
|
style: _extends({}, style, {
|
|
60
60
|
height,
|
|
@@ -65,6 +65,7 @@ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridG
|
|
|
65
65
|
"aria-colindex": colIndex + 1,
|
|
66
66
|
"aria-sort": ariaSort
|
|
67
67
|
}, other, {
|
|
68
|
+
ref: handleRef,
|
|
68
69
|
children: [/*#__PURE__*/_jsxs("div", _extends({
|
|
69
70
|
className: classes.draggableContainer,
|
|
70
71
|
draggable: isDraggable,
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { styled } from '@mui/system';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -26,7 +27,7 @@ const GridIconButtonContainerRoot = styled('div', {
|
|
|
26
27
|
visibility: 'hidden',
|
|
27
28
|
width: 0
|
|
28
29
|
}));
|
|
29
|
-
export const GridIconButtonContainer =
|
|
30
|
+
export const GridIconButtonContainer = forwardRef(function GridIconButtonContainer(props, ref) {
|
|
30
31
|
const {
|
|
31
32
|
className
|
|
32
33
|
} = props,
|
|
@@ -34,8 +35,9 @@ export const GridIconButtonContainer = /*#__PURE__*/React.forwardRef(function Gr
|
|
|
34
35
|
const rootProps = useGridRootProps();
|
|
35
36
|
const classes = useUtilityClasses(rootProps);
|
|
36
37
|
return /*#__PURE__*/_jsx(GridIconButtonContainerRoot, _extends({
|
|
37
|
-
ref: ref,
|
|
38
38
|
className: clsx(classes.root, className),
|
|
39
39
|
ownerState: rootProps
|
|
40
|
-
}, other
|
|
40
|
+
}, other, {
|
|
41
|
+
ref: ref
|
|
42
|
+
}));
|
|
41
43
|
});
|
|
@@ -4,6 +4,7 @@ const _excluded = ["field", "id", "formattedValue", "row", "rowNode", "colDef",
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
8
9
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
@@ -19,7 +20,7 @@ const useUtilityClasses = ownerState => {
|
|
|
19
20
|
};
|
|
20
21
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
21
22
|
};
|
|
22
|
-
const GridCellCheckboxForwardRef =
|
|
23
|
+
const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(props, ref) {
|
|
23
24
|
const {
|
|
24
25
|
field,
|
|
25
26
|
id,
|
|
@@ -79,10 +80,9 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
79
80
|
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
82
|
-
const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
83
83
|
const checked = rootProps.indeterminateCheckboxAction === 'select' ? isChecked && !isIndeterminate : isChecked;
|
|
84
|
+
const label = apiRef.current.getLocaleText(checked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
84
85
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
85
|
-
ref: handleRef,
|
|
86
86
|
tabIndex: tabIndex,
|
|
87
87
|
checked: checked,
|
|
88
88
|
onChange: handleChange,
|
|
@@ -94,7 +94,9 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
94
94
|
indeterminate: isIndeterminate,
|
|
95
95
|
disabled: !isSelectable,
|
|
96
96
|
touchRippleRef: rippleRef /* FIXME: typing error */
|
|
97
|
-
}, rootProps.slotProps?.baseCheckbox, other
|
|
97
|
+
}, rootProps.slotProps?.baseCheckbox, other, {
|
|
98
|
+
ref: handleRef
|
|
99
|
+
}));
|
|
98
100
|
});
|
|
99
101
|
process.env.NODE_ENV !== "production" ? GridCellCheckboxForwardRef.propTypes = {
|
|
100
102
|
// ----------------------------- Warning --------------------------------
|
|
@@ -4,6 +4,7 @@ const _excluded = ["field", "colDef"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { isMultipleRowSelectionEnabled } from "../../hooks/features/rowSelection/utils.js";
|
|
8
9
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
9
10
|
import { gridTabIndexColumnHeaderSelector } from "../../hooks/features/focus/gridFocusStateSelector.js";
|
|
@@ -23,7 +24,7 @@ const useUtilityClasses = ownerState => {
|
|
|
23
24
|
};
|
|
24
25
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
25
26
|
};
|
|
26
|
-
const GridHeaderCheckbox =
|
|
27
|
+
const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
27
28
|
const other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
28
29
|
const [, forceUpdate] = React.useState(false);
|
|
29
30
|
const apiRef = useGridApiContext();
|
|
@@ -92,10 +93,9 @@ const GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderChec
|
|
|
92
93
|
React.useEffect(() => {
|
|
93
94
|
return apiRef.current.subscribeEvent('rowSelectionChange', handleSelectionChange);
|
|
94
95
|
}, [apiRef, handleSelectionChange]);
|
|
95
|
-
const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectAllRows' : 'checkboxSelectionSelectAllRows');
|
|
96
96
|
const checked = rootProps.indeterminateCheckboxAction === 'select' ? isChecked && !isIndeterminate : isChecked;
|
|
97
|
+
const label = apiRef.current.getLocaleText(checked ? 'checkboxSelectionUnselectAllRows' : 'checkboxSelectionSelectAllRows');
|
|
97
98
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
98
|
-
ref: ref,
|
|
99
99
|
indeterminate: isIndeterminate,
|
|
100
100
|
checked: checked,
|
|
101
101
|
onChange: handleChange,
|
|
@@ -106,7 +106,9 @@ const GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderChec
|
|
|
106
106
|
tabIndex: tabIndex,
|
|
107
107
|
onKeyDown: handleKeyDown,
|
|
108
108
|
disabled: !isMultipleRowSelectionEnabled(rootProps)
|
|
109
|
-
}, rootProps.slotProps?.baseCheckbox, other
|
|
109
|
+
}, rootProps.slotProps?.baseCheckbox, other, {
|
|
110
|
+
ref: ref
|
|
111
|
+
}));
|
|
110
112
|
});
|
|
111
113
|
process.env.NODE_ENV !== "production" ? GridHeaderCheckbox.propTypes = {
|
|
112
114
|
// ----------------------------- Warning --------------------------------
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -29,7 +30,7 @@ const GridFooterContainerRoot = styled('div', {
|
|
|
29
30
|
minHeight: 52,
|
|
30
31
|
borderTop: '1px solid'
|
|
31
32
|
});
|
|
32
|
-
const GridFooterContainer =
|
|
33
|
+
const GridFooterContainer = forwardRef(function GridFooterContainer(props, ref) {
|
|
33
34
|
const {
|
|
34
35
|
className
|
|
35
36
|
} = props,
|
|
@@ -37,10 +38,11 @@ const GridFooterContainer = /*#__PURE__*/React.forwardRef(function GridFooterCon
|
|
|
37
38
|
const rootProps = useGridRootProps();
|
|
38
39
|
const classes = useUtilityClasses(rootProps);
|
|
39
40
|
return /*#__PURE__*/_jsx(GridFooterContainerRoot, _extends({
|
|
40
|
-
ref: ref,
|
|
41
41
|
className: clsx(classes.root, className),
|
|
42
42
|
ownerState: rootProps
|
|
43
|
-
}, other
|
|
43
|
+
}, other, {
|
|
44
|
+
ref: ref
|
|
45
|
+
}));
|
|
44
46
|
});
|
|
45
47
|
process.env.NODE_ENV !== "production" ? GridFooterContainer.propTypes = {
|
|
46
48
|
// ----------------------------- Warning --------------------------------
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -31,7 +32,7 @@ const GridOverlayRoot = styled('div', {
|
|
|
31
32
|
justifyContent: 'center',
|
|
32
33
|
backgroundColor: 'var(--unstable_DataGrid-overlayBackground)'
|
|
33
34
|
});
|
|
34
|
-
const GridOverlay =
|
|
35
|
+
const GridOverlay = forwardRef(function GridOverlay(props, ref) {
|
|
35
36
|
const {
|
|
36
37
|
className
|
|
37
38
|
} = props,
|
|
@@ -39,10 +40,11 @@ const GridOverlay = /*#__PURE__*/React.forwardRef(function GridOverlay(props, re
|
|
|
39
40
|
const rootProps = useGridRootProps();
|
|
40
41
|
const classes = useUtilityClasses(rootProps);
|
|
41
42
|
return /*#__PURE__*/_jsx(GridOverlayRoot, _extends({
|
|
42
|
-
ref: ref,
|
|
43
43
|
className: clsx(classes.root, className),
|
|
44
44
|
ownerState: rootProps
|
|
45
|
-
}, other
|
|
45
|
+
}, other, {
|
|
46
|
+
ref: ref
|
|
47
|
+
}));
|
|
46
48
|
});
|
|
47
49
|
process.env.NODE_ENV !== "production" ? GridOverlay.propTypes = {
|
|
48
50
|
// ----------------------------- Warning --------------------------------
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_capitalize as capitalize, unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { GridRootStyles } from "./GridRootStyles.js";
|
|
9
10
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
10
11
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
@@ -23,7 +24,7 @@ const useUtilityClasses = (ownerState, density) => {
|
|
|
23
24
|
};
|
|
24
25
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
25
26
|
};
|
|
26
|
-
const GridRoot =
|
|
27
|
+
const GridRoot = forwardRef(function GridRoot(props, ref) {
|
|
27
28
|
const rootProps = useGridRootProps();
|
|
28
29
|
const {
|
|
29
30
|
className
|
|
@@ -45,10 +46,11 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
|
|
|
45
46
|
return null;
|
|
46
47
|
}
|
|
47
48
|
return /*#__PURE__*/_jsx(GridRootStyles, _extends({
|
|
48
|
-
ref: handleRef,
|
|
49
49
|
className: clsx(classes.root, className),
|
|
50
50
|
ownerState: ownerState
|
|
51
|
-
}, other
|
|
51
|
+
}, other, {
|
|
52
|
+
ref: handleRef
|
|
53
|
+
}));
|
|
52
54
|
});
|
|
53
55
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
54
56
|
// ----------------------------- Warning --------------------------------
|