@mui/x-data-grid 8.0.0-alpha.4 → 8.0.0-alpha.6
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 +182 -0
- package/DataGrid/DataGrid.js +6 -9
- package/DataGrid/useDataGridProps.js +3 -3
- 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 +10 -8
- 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/GridActionsCellItem.d.ts +1 -1
- package/components/cell/GridActionsCellItem.js +7 -8
- 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/cell/GridSkeletonCell.js +1 -2
- 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 +5 -3
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/columnSelection/GridHeaderCheckbox.js +5 -3
- 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/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- 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/GridFilterInputBoolean.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
- 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/panel/filterPanel/index.d.ts +2 -1
- package/components/panel/filterPanel/index.js +1 -1
- 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 +6 -7
- 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 +2 -2
- package/components/toolbar/GridToolbarFilterButton.js +6 -2
- package/components/toolbar/GridToolbarQuickFilter.js +27 -23
- 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 +76 -87
- package/index.js +1 -1
- package/internals/utils/index.d.ts +0 -1
- package/internals/utils/index.js +0 -1
- package/locales/koKR.js +45 -49
- package/locales/nlNL.js +5 -6
- package/material/index.js +36 -4
- package/models/gridBaseSlots.d.ts +36 -0
- package/models/gridBaseSlots.js +1 -0
- package/models/gridSlotsComponent.d.ts +16 -1
- package/models/gridSlotsComponentsProps.d.ts +38 -5
- package/models/props/DataGridProps.d.ts +0 -5
- package/modern/DataGrid/DataGrid.js +6 -9
- package/modern/DataGrid/useDataGridProps.js +3 -3
- package/modern/components/GridColumnHeaders.js +4 -4
- package/modern/components/GridFooter.js +4 -4
- package/modern/components/GridLoadingOverlay.js +10 -8
- 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/GridActionsCellItem.js +7 -8
- package/modern/components/cell/GridCell.js +3 -2
- package/modern/components/cell/GridEditInputCell.js +72 -3
- package/modern/components/cell/GridSkeletonCell.js +1 -2
- 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 +5 -3
- package/modern/components/columnSelection/GridHeaderCheckbox.js +5 -3
- 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/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- 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/GridFilterInputBoolean.js +9 -9
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/modern/components/panel/filterPanel/index.js +1 -1
- package/modern/components/toolbar/GridToolbar.js +4 -4
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +6 -7
- package/modern/components/toolbar/GridToolbarExport.js +2 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +6 -2
- package/modern/components/toolbar/GridToolbarQuickFilter.js +27 -23
- 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 +76 -87
- package/modern/index.js +1 -1
- package/modern/internals/utils/index.js +0 -1
- package/modern/locales/koKR.js +45 -49
- package/modern/locales/nlNL.js +5 -6
- package/modern/material/index.js +36 -4
- package/modern/models/gridBaseSlots.js +1 -0
- package/modern/utils/utils.js +6 -1
- package/node/DataGrid/DataGrid.js +6 -9
- package/node/DataGrid/useDataGridProps.js +2 -2
- package/node/components/GridColumnHeaders.js +4 -4
- package/node/components/GridFooter.js +4 -4
- package/node/components/GridLoadingOverlay.js +10 -8
- 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/GridActionsCellItem.js +6 -7
- package/node/components/cell/GridCell.js +3 -2
- package/node/components/cell/GridEditInputCell.js +72 -3
- package/node/components/cell/GridSkeletonCell.js +1 -2
- 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 +5 -3
- package/node/components/columnSelection/GridHeaderCheckbox.js +5 -3
- 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/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
- 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/GridFilterInputBoolean.js +10 -11
- package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/node/components/panel/filterPanel/index.js +7 -11
- package/node/components/toolbar/GridToolbar.js +4 -4
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/node/components/toolbar/GridToolbarDensitySelector.js +6 -7
- package/node/components/toolbar/GridToolbarExport.js +2 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/node/components/toolbar/GridToolbarFilterButton.js +6 -2
- package/node/components/toolbar/GridToolbarQuickFilter.js +27 -23
- 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 +74 -85
- package/node/index.js +1 -1
- package/node/internals/utils/index.js +0 -11
- package/node/locales/koKR.js +45 -49
- package/node/locales/nlNL.js +5 -6
- package/node/material/index.js +37 -4
- package/node/models/gridBaseSlots.js +5 -0
- package/node/utils/utils.js +8 -1
- package/package.json +2 -2
- package/utils/utils.d.ts +1 -0
- package/utils/utils.js +6 -1
- package/internals/utils/useProps.d.ts +0 -1
- package/internals/utils/useProps.js +0 -24
- package/joy/icons.d.ts +0 -32
- package/joy/icons.js +0 -431
- package/joy/index.d.ts +0 -2
- package/joy/index.js +0 -2
- package/joy/joySlots.d.ts +0 -3
- package/joy/joySlots.js +0 -389
- package/joy/package.json +0 -6
- package/modern/internals/utils/useProps.js +0 -24
- package/modern/joy/icons.js +0 -431
- package/modern/joy/index.js +0 -2
- package/modern/joy/joySlots.js +0 -389
- package/node/internals/utils/useProps.js +0 -30
- package/node/joy/icons.js +0 -439
- package/node/joy/index.js +0 -13
- package/node/joy/joySlots.js +0 -397
|
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["className", "csvOptions", "printOptions", "excelOptions", "showQuickFilter", "quickFilterProps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
6
7
|
import { GridToolbarContainer } from "../containers/GridToolbarContainer.js";
|
|
7
8
|
import { GridToolbarColumnsButton } from "./GridToolbarColumnsButton.js";
|
|
8
9
|
import { GridToolbarDensitySelector } from "./GridToolbarDensitySelector.js";
|
|
@@ -11,7 +12,7 @@ import { GridToolbarExport } from "./GridToolbarExport.js";
|
|
|
11
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
12
13
|
import { GridToolbarQuickFilter } from "./GridToolbarQuickFilter.js";
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const GridToolbar =
|
|
15
|
+
const GridToolbar = forwardRef(function GridToolbar(props, ref) {
|
|
15
16
|
// TODO v7: think about where export option should be passed.
|
|
16
17
|
// from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
|
|
17
18
|
const _ref = props,
|
|
@@ -27,9 +28,8 @@ const GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, re
|
|
|
27
28
|
if (rootProps.disableColumnFilter && rootProps.disableColumnSelector && rootProps.disableDensitySelector && !showQuickFilter) {
|
|
28
29
|
return null;
|
|
29
30
|
}
|
|
30
|
-
return /*#__PURE__*/_jsxs(GridToolbarContainer, _extends({
|
|
31
|
-
ref: ref
|
|
32
|
-
}, other, {
|
|
31
|
+
return /*#__PURE__*/_jsxs(GridToolbarContainer, _extends({}, other, {
|
|
32
|
+
ref: ref,
|
|
33
33
|
children: [/*#__PURE__*/_jsx(GridToolbarColumnsButton, {}), /*#__PURE__*/_jsx(GridToolbarFilterButton, {}), /*#__PURE__*/_jsx(GridToolbarDensitySelector, {}), /*#__PURE__*/_jsx(GridToolbarExport, {
|
|
34
34
|
csvOptions: csvOptions,
|
|
35
35
|
printOptions: printOptions
|
|
@@ -11,5 +11,5 @@ interface GridToolbarColumnsButtonProps {
|
|
|
11
11
|
tooltip?: Partial<TooltipProps>;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
declare const GridToolbarColumnsButton: React.ForwardRefExoticComponent<GridToolbarColumnsButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
14
|
+
declare const GridToolbarColumnsButton: React.ForwardRefExoticComponent<GridToolbarColumnsButtonProps> | React.ForwardRefExoticComponent<GridToolbarColumnsButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
15
|
export { GridToolbarColumnsButton };
|
|
@@ -2,13 +2,14 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import useId from '@mui/utils/useId';
|
|
5
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
5
6
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
6
7
|
import { gridPreferencePanelStateSelector } from "../../hooks/features/preferencesPanel/gridPreferencePanelSelector.js";
|
|
7
8
|
import { GridPreferencePanelsValue } from "../../hooks/features/preferencesPanel/gridPreferencePanelsValue.js";
|
|
8
9
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
const GridToolbarColumnsButton =
|
|
12
|
+
const GridToolbarColumnsButton = forwardRef(function GridToolbarColumnsButton(props, ref) {
|
|
12
13
|
const {
|
|
13
14
|
slotProps = {}
|
|
14
15
|
} = props;
|
|
@@ -38,7 +39,6 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
38
39
|
enterDelay: 1000
|
|
39
40
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
40
41
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
41
|
-
ref: ref,
|
|
42
42
|
id: columnButtonId,
|
|
43
43
|
size: "small",
|
|
44
44
|
"aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
@@ -48,6 +48,7 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
48
48
|
startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {}),
|
|
49
49
|
onClick: showColumns
|
|
50
50
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
51
|
+
ref: ref,
|
|
51
52
|
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
52
53
|
}))
|
|
53
54
|
}));
|
|
@@ -11,5 +11,5 @@ interface GridToolbarDensitySelectorProps {
|
|
|
11
11
|
tooltip?: Partial<TooltipProps>;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
declare const GridToolbarDensitySelector: React.ForwardRefExoticComponent<GridToolbarDensitySelectorProps & React.RefAttributes<HTMLButtonElement>>;
|
|
14
|
+
declare const GridToolbarDensitySelector: React.ForwardRefExoticComponent<GridToolbarDensitySelectorProps> | React.ForwardRefExoticComponent<GridToolbarDensitySelectorProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
15
|
export { GridToolbarDensitySelector };
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
5
|
-
import
|
|
5
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
6
6
|
import { gridDensitySelector } from "../../hooks/features/density/densitySelector.js";
|
|
7
7
|
import { isHideMenuKey } from "../../utils/keyboardUtils.js";
|
|
8
8
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
@@ -11,7 +11,7 @@ import { GridMenu } from "../menu/GridMenu.js";
|
|
|
11
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
12
12
|
import { gridClasses } from "../../constants/gridClasses.js";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const GridToolbarDensitySelector =
|
|
14
|
+
const GridToolbarDensitySelector = forwardRef(function GridToolbarDensitySelector(props, ref) {
|
|
15
15
|
const {
|
|
16
16
|
slotProps = {}
|
|
17
17
|
} = props;
|
|
@@ -72,12 +72,11 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
72
72
|
if (rootProps.disableDensitySelector) {
|
|
73
73
|
return null;
|
|
74
74
|
}
|
|
75
|
-
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/
|
|
75
|
+
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
|
|
76
76
|
onClick: () => handleDensityUpdate(option.value),
|
|
77
77
|
selected: option.value === density,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}), option.label]
|
|
78
|
+
iconStart: option.icon,
|
|
79
|
+
children: option.label
|
|
81
80
|
}, index));
|
|
82
81
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
83
82
|
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
@@ -85,7 +84,6 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
85
84
|
enterDelay: 1000
|
|
86
85
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
87
86
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
88
|
-
ref: handleRef,
|
|
89
87
|
size: "small",
|
|
90
88
|
startIcon: startIcon,
|
|
91
89
|
"aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
@@ -95,6 +93,7 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
95
93
|
id: densityButtonId,
|
|
96
94
|
onClick: handleDensitySelectorOpen
|
|
97
95
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
96
|
+
ref: handleRef,
|
|
98
97
|
children: apiRef.current.getLocaleText('toolbarDensity')
|
|
99
98
|
}))
|
|
100
99
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
@@ -36,5 +36,5 @@ declare function GridPrintExportMenuItem(props: GridPrintExportMenuItemProps): R
|
|
|
36
36
|
declare namespace GridPrintExportMenuItem {
|
|
37
37
|
var propTypes: any;
|
|
38
38
|
}
|
|
39
|
-
declare const GridToolbarExport: React.ForwardRefExoticComponent<GridToolbarExportProps & React.RefAttributes<HTMLButtonElement>>;
|
|
39
|
+
declare const GridToolbarExport: React.ForwardRefExoticComponent<GridToolbarExportProps> | React.ForwardRefExoticComponent<GridToolbarExportProps & React.RefAttributes<HTMLButtonElement>>;
|
|
40
40
|
export { GridToolbarExport, GridCsvExportMenuItem, GridPrintExportMenuItem };
|
|
@@ -5,6 +5,7 @@ const _excluded = ["hideMenu", "options"],
|
|
|
5
5
|
_excluded3 = ["csvOptions", "printOptions", "excelOptions"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
9
10
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
10
11
|
import { GridToolbarExportContainer } from "./GridToolbarExportContainer.js";
|
|
@@ -83,7 +84,7 @@ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
|
|
|
83
84
|
pageStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.string])
|
|
84
85
|
})
|
|
85
86
|
} : void 0;
|
|
86
|
-
const GridToolbarExport =
|
|
87
|
+
const GridToolbarExport = forwardRef(function GridToolbarExport(props, ref) {
|
|
87
88
|
const _ref = props,
|
|
88
89
|
{
|
|
89
90
|
csvOptions = {},
|
|
@@ -11,7 +11,7 @@ interface GridToolbarExportContainerProps {
|
|
|
11
11
|
tooltip?: Partial<TooltipProps>;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
declare const GridToolbarExportContainer: React.ForwardRefExoticComponent<GridToolbarExportContainerProps & {
|
|
14
|
+
declare const GridToolbarExportContainer: React.ForwardRefExoticComponent<React.PropsWithChildren<GridToolbarExportContainerProps>> | React.ForwardRefExoticComponent<GridToolbarExportContainerProps & {
|
|
15
15
|
children?: React.ReactNode | undefined;
|
|
16
16
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
17
17
|
export { GridToolbarExportContainer };
|
|
@@ -2,13 +2,14 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
5
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
5
6
|
import { isHideMenuKey } from "../../utils/keyboardUtils.js";
|
|
6
7
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
7
8
|
import { GridMenu } from "../menu/GridMenu.js";
|
|
8
9
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
9
10
|
import { gridClasses } from "../../constants/gridClasses.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const GridToolbarExportContainer =
|
|
12
|
+
const GridToolbarExportContainer = forwardRef(function GridToolbarExportContainer(props, ref) {
|
|
12
13
|
const {
|
|
13
14
|
children,
|
|
14
15
|
slotProps = {}
|
|
@@ -44,7 +45,6 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
44
45
|
enterDelay: 1000
|
|
45
46
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
46
47
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
47
|
-
ref: handleRef,
|
|
48
48
|
size: "small",
|
|
49
49
|
startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
|
|
50
50
|
"aria-expanded": open,
|
|
@@ -54,6 +54,7 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
54
54
|
id: exportButtonId,
|
|
55
55
|
onClick: handleMenuOpen
|
|
56
56
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
57
|
+
ref: handleRef,
|
|
57
58
|
children: apiRef.current.getLocaleText('toolbarExport')
|
|
58
59
|
}))
|
|
59
60
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonProps } from '@mui/material/Button';
|
|
3
3
|
import { TooltipProps } from '@mui/material/Tooltip';
|
|
4
|
-
import { BadgeProps } from '
|
|
4
|
+
import { BadgeProps } from '../../models/gridBaseSlots';
|
|
5
5
|
export interface GridToolbarFilterButtonProps {
|
|
6
6
|
/**
|
|
7
7
|
* The props used for each slot inside.
|
|
@@ -13,5 +13,5 @@ export interface GridToolbarFilterButtonProps {
|
|
|
13
13
|
badge?: Partial<BadgeProps>;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
declare const GridToolbarFilterButton: React.ForwardRefExoticComponent<GridToolbarFilterButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
declare const GridToolbarFilterButton: React.ForwardRefExoticComponent<GridToolbarFilterButtonProps> | React.ForwardRefExoticComponent<GridToolbarFilterButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
17
17
|
export { GridToolbarFilterButton };
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { styled } from '@mui/material/styles';
|
|
5
5
|
import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize, unstable_useId as useId } from '@mui/utils';
|
|
6
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
6
7
|
import { gridColumnLookupSelector } from "../../hooks/features/columns/gridColumnsSelector.js";
|
|
7
8
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
8
9
|
import { gridFilterActiveItemsSelector } from "../../hooks/features/filter/gridFilterSelector.js";
|
|
@@ -31,7 +32,10 @@ const GridToolbarFilterListRoot = styled('ul', {
|
|
|
31
32
|
margin: theme.spacing(1, 1, 0.5),
|
|
32
33
|
padding: theme.spacing(0, 1)
|
|
33
34
|
}));
|
|
34
|
-
|
|
35
|
+
|
|
36
|
+
// FIXME(v8:romgrk): override slotProps
|
|
37
|
+
|
|
38
|
+
const GridToolbarFilterButton = forwardRef(function GridToolbarFilterButton(props, ref) {
|
|
35
39
|
const {
|
|
36
40
|
slotProps = {}
|
|
37
41
|
} = props;
|
|
@@ -97,7 +101,6 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
97
101
|
enterDelay: 1000
|
|
98
102
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
99
103
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
100
|
-
ref: ref,
|
|
101
104
|
id: filterButtonId,
|
|
102
105
|
size: "small",
|
|
103
106
|
"aria-label": apiRef.current.getLocaleText('toolbarFiltersLabel'),
|
|
@@ -112,6 +115,7 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
112
115
|
})),
|
|
113
116
|
onClick: toggleFilter
|
|
114
117
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
118
|
+
ref: ref,
|
|
115
119
|
children: apiRef.current.getLocaleText('toolbarFilters')
|
|
116
120
|
}))
|
|
117
121
|
}));
|
|
@@ -8,6 +8,7 @@ import TextField from '@mui/material/TextField';
|
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import { unstable_debounce as debounce } from '@mui/utils';
|
|
10
10
|
import composeClasses from '@mui/utils/composeClasses';
|
|
11
|
+
import { outlinedInputClasses } from '@mui/material/OutlinedInput';
|
|
11
12
|
import { getDataGridUtilityClass } from "../../constants/index.js";
|
|
12
13
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
13
14
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
@@ -31,13 +32,8 @@ const GridToolbarQuickFilterRoot = styled(TextField, {
|
|
|
31
32
|
})(({
|
|
32
33
|
theme
|
|
33
34
|
}) => ({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
'& input': {
|
|
37
|
-
marginLeft: theme.spacing(0.5)
|
|
38
|
-
},
|
|
39
|
-
'& .MuiInput-underline:before': {
|
|
40
|
-
borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
|
|
35
|
+
[`.${outlinedInputClasses.root}`]: {
|
|
36
|
+
fontSize: theme.typography.body2.fontSize
|
|
41
37
|
},
|
|
42
38
|
[`& input[type="search"]::-webkit-search-decoration,
|
|
43
39
|
& input[type="search"]::-webkit-search-cancel-button,
|
|
@@ -91,7 +87,8 @@ function GridToolbarQuickFilter(props) {
|
|
|
91
87
|
return /*#__PURE__*/_jsx(GridToolbarQuickFilterRoot, _extends({
|
|
92
88
|
as: rootProps.slots.baseTextField,
|
|
93
89
|
ownerState: rootProps,
|
|
94
|
-
variant: "
|
|
90
|
+
variant: "outlined",
|
|
91
|
+
size: "small",
|
|
95
92
|
value: searchValue,
|
|
96
93
|
onChange: handleSearchValueChange,
|
|
97
94
|
className: clsx(classes.root, className),
|
|
@@ -100,23 +97,30 @@ function GridToolbarQuickFilter(props) {
|
|
|
100
97
|
type: "search"
|
|
101
98
|
}, other, {
|
|
102
99
|
InputProps: _extends({
|
|
103
|
-
startAdornment: /*#__PURE__*/_jsx(rootProps.slots.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
107
|
-
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
108
|
-
size: "small",
|
|
109
|
-
sx: [searchValue ? {
|
|
110
|
-
visibility: 'visible'
|
|
111
|
-
} : {
|
|
112
|
-
visibility: 'hidden'
|
|
113
|
-
}],
|
|
114
|
-
onClick: handleSearchReset
|
|
115
|
-
}, rootProps.slotProps?.baseIconButton, {
|
|
116
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterClearIcon, {
|
|
100
|
+
startAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
|
|
101
|
+
position: "start",
|
|
102
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterIcon, {
|
|
117
103
|
fontSize: "small"
|
|
118
104
|
})
|
|
119
|
-
})
|
|
105
|
+
}),
|
|
106
|
+
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
|
|
107
|
+
position: "end",
|
|
108
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
109
|
+
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
110
|
+
size: "small",
|
|
111
|
+
edge: "end",
|
|
112
|
+
sx: [searchValue ? {
|
|
113
|
+
visibility: 'visible'
|
|
114
|
+
} : {
|
|
115
|
+
visibility: 'hidden'
|
|
116
|
+
}],
|
|
117
|
+
onClick: handleSearchReset
|
|
118
|
+
}, rootProps.slotProps?.baseIconButton, {
|
|
119
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterClearIcon, {
|
|
120
|
+
fontSize: "small"
|
|
121
|
+
})
|
|
122
|
+
}))
|
|
123
|
+
})
|
|
120
124
|
}, other.InputProps)
|
|
121
125
|
}, rootProps.slotProps?.baseTextField));
|
|
122
126
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const GridMainContainer: React.ForwardRefExoticComponent<{
|
|
2
|
+
export declare const GridMainContainer: React.ForwardRefExoticComponent<React.PropsWithChildren<{
|
|
3
|
+
className: string;
|
|
4
|
+
}>> | React.ForwardRefExoticComponent<{
|
|
3
5
|
className: string;
|
|
4
6
|
} & {
|
|
5
7
|
children?: React.ReactNode | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { styled } from '@mui/system';
|
|
4
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
4
5
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
5
6
|
import { useGridConfiguration } from "../../hooks/utils/useGridConfiguration.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -21,16 +22,16 @@ const Element = styled('div', {
|
|
|
21
22
|
display: 'flex',
|
|
22
23
|
flexDirection: 'column'
|
|
23
24
|
});
|
|
24
|
-
export const GridMainContainer =
|
|
25
|
+
export const GridMainContainer = forwardRef((props, ref) => {
|
|
25
26
|
const rootProps = useGridRootProps();
|
|
26
27
|
const configuration = useGridConfiguration();
|
|
27
28
|
const ariaAttributes = configuration.hooks.useGridAriaAttributes();
|
|
28
29
|
return /*#__PURE__*/_jsxs(Element, _extends({
|
|
29
|
-
ref: ref,
|
|
30
30
|
ownerState: rootProps,
|
|
31
31
|
className: props.className,
|
|
32
32
|
tabIndex: -1
|
|
33
|
-
}, ariaAttributes, {
|
|
33
|
+
}, ariaAttributes, rootProps.slotProps?.main, {
|
|
34
|
+
ref: ref,
|
|
34
35
|
children: [/*#__PURE__*/_jsx(GridPanelAnchor, {
|
|
35
36
|
role: "presentation",
|
|
36
37
|
"data-id": "gridPanelAnchor"
|
|
@@ -3,5 +3,5 @@ type Position = 'vertical' | 'horizontal';
|
|
|
3
3
|
type GridVirtualScrollbarProps = {
|
|
4
4
|
position: Position;
|
|
5
5
|
};
|
|
6
|
-
declare const GridVirtualScrollbar: React.ForwardRefExoticComponent<GridVirtualScrollbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
declare const GridVirtualScrollbar: React.ForwardRefExoticComponent<GridVirtualScrollbarProps> | React.ForwardRefExoticComponent<GridVirtualScrollbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
7
|
export { GridVirtualScrollbar };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { styled } from '@mui/system';
|
|
3
3
|
import { unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback } from '@mui/utils';
|
|
4
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
4
5
|
import { useOnMount } from "../../hooks/utils/useOnMount.js";
|
|
5
6
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
6
7
|
import { gridDimensionsSelector, useGridSelector } from "../../hooks/index.js";
|
|
@@ -52,7 +53,7 @@ const ScrollbarHorizontal = styled(Scrollbar)({
|
|
|
52
53
|
},
|
|
53
54
|
bottom: '0px'
|
|
54
55
|
});
|
|
55
|
-
const GridVirtualScrollbar =
|
|
56
|
+
const GridVirtualScrollbar = forwardRef(function GridVirtualScrollbar(props, ref) {
|
|
56
57
|
const apiRef = useGridPrivateApiContext();
|
|
57
58
|
const rootProps = useGridRootProps();
|
|
58
59
|
const isLocked = React.useRef(false);
|
|
@@ -2,5 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { SxProps, Theme } from '@mui/system';
|
|
3
3
|
declare const GridVirtualScrollerContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
4
4
|
sx?: SxProps<Theme>;
|
|
5
|
+
}> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
6
|
+
sx?: SxProps<Theme>;
|
|
5
7
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
6
8
|
export { GridVirtualScrollerContent };
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import { styled } from '@mui/system';
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
6
7
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
7
8
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -20,15 +21,14 @@ const VirtualScrollerContentRoot = styled('div', {
|
|
|
20
21
|
slot: 'VirtualScrollerContent',
|
|
21
22
|
overridesResolver: (props, styles) => styles.virtualScrollerContent
|
|
22
23
|
})({});
|
|
23
|
-
const GridVirtualScrollerContent =
|
|
24
|
+
const GridVirtualScrollerContent = forwardRef(function GridVirtualScrollerContent(props, ref) {
|
|
24
25
|
const rootProps = useGridRootProps();
|
|
25
26
|
const overflowedContent = !rootProps.autoHeight && props.style?.minHeight === 'auto';
|
|
26
27
|
const classes = useUtilityClasses(rootProps, overflowedContent);
|
|
27
|
-
return /*#__PURE__*/_jsx(VirtualScrollerContentRoot, _extends({
|
|
28
|
-
ref: ref
|
|
29
|
-
}, props, {
|
|
28
|
+
return /*#__PURE__*/_jsx(VirtualScrollerContentRoot, _extends({}, props, {
|
|
30
29
|
ownerState: rootProps,
|
|
31
|
-
className: clsx(classes.root, props.className)
|
|
30
|
+
className: clsx(classes.root, props.className),
|
|
31
|
+
ref: ref
|
|
32
32
|
}));
|
|
33
33
|
});
|
|
34
34
|
export { GridVirtualScrollerContent };
|
|
@@ -2,5 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { SxProps, Theme } from '@mui/system';
|
|
3
3
|
declare const GridVirtualScrollerRenderZone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
4
4
|
sx?: SxProps<Theme>;
|
|
5
|
+
}> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
6
|
+
sx?: SxProps<Theme>;
|
|
5
7
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
6
8
|
export { GridVirtualScrollerRenderZone };
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled } from '@mui/system';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
9
10
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
10
11
|
import { gridRowsMetaSelector } from "../../hooks/features/rows/index.js";
|
|
@@ -31,7 +32,7 @@ const VirtualScrollerRenderZoneRoot = styled('div', {
|
|
|
31
32
|
// Prevents margin collapsing when using `getRowSpacing`
|
|
32
33
|
flexDirection: 'column'
|
|
33
34
|
});
|
|
34
|
-
const GridVirtualScrollerRenderZone =
|
|
35
|
+
const GridVirtualScrollerRenderZone = forwardRef(function GridVirtualScrollerRenderZone(props, ref) {
|
|
35
36
|
const {
|
|
36
37
|
className
|
|
37
38
|
} = props,
|
|
@@ -45,12 +46,13 @@ const GridVirtualScrollerRenderZone = /*#__PURE__*/React.forwardRef(function Gri
|
|
|
45
46
|
return rowsMeta.positions[renderContext.firstRowIndex] ?? 0;
|
|
46
47
|
});
|
|
47
48
|
return /*#__PURE__*/_jsx(VirtualScrollerRenderZoneRoot, _extends({
|
|
48
|
-
ref: ref,
|
|
49
49
|
className: clsx(classes.root, className),
|
|
50
50
|
ownerState: rootProps,
|
|
51
51
|
style: {
|
|
52
52
|
transform: `translate3d(0, ${offsetTop}px, 0)`
|
|
53
53
|
}
|
|
54
|
-
}, other
|
|
54
|
+
}, other, {
|
|
55
|
+
ref: ref
|
|
56
|
+
}));
|
|
55
57
|
});
|
|
56
58
|
export { GridVirtualScrollerRenderZone };
|
|
@@ -47,7 +47,7 @@ export const useGridColumnHeaders = props => {
|
|
|
47
47
|
const isRtl = useRtl();
|
|
48
48
|
const rootProps = useGridRootProps();
|
|
49
49
|
const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
|
|
50
|
-
const
|
|
50
|
+
const hasColumnVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
|
|
51
51
|
const columnGroupsModel = useGridSelector(apiRef, gridColumnGroupsUnwrappedModelSelector);
|
|
52
52
|
const columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
|
|
53
53
|
const renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
|
|
@@ -87,8 +87,15 @@ export const useGridColumnHeaders = props => {
|
|
|
87
87
|
renderContext: currentContext = renderContext,
|
|
88
88
|
maxLastColumn = visibleColumns.length
|
|
89
89
|
} = params || {};
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
let firstColumnToRender;
|
|
91
|
+
let lastColumnToRender;
|
|
92
|
+
if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
|
|
93
|
+
firstColumnToRender = 0;
|
|
94
|
+
lastColumnToRender = maxLastColumn;
|
|
95
|
+
} else {
|
|
96
|
+
firstColumnToRender = currentContext.firstColumnIndex;
|
|
97
|
+
lastColumnToRender = currentContext.lastColumnIndex;
|
|
98
|
+
}
|
|
92
99
|
const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
93
100
|
return {
|
|
94
101
|
renderedColumns,
|
|
@@ -4,6 +4,7 @@ export declare const DEFAULT_GRID_AUTOSIZE_OPTIONS: {
|
|
|
4
4
|
includeOutliers: boolean;
|
|
5
5
|
outliersFactor: number;
|
|
6
6
|
expand: boolean;
|
|
7
|
+
disableColumnVirtualization: boolean;
|
|
7
8
|
};
|
|
8
9
|
export type GridAutosizeOptions = {
|
|
9
10
|
/**
|
|
@@ -30,6 +31,11 @@ export type GridAutosizeOptions = {
|
|
|
30
31
|
* @default false
|
|
31
32
|
*/
|
|
32
33
|
expand?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* If false, column virtualization is not disabled while resizing.
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
disableColumnVirtualization?: boolean;
|
|
33
39
|
};
|
|
34
40
|
/**
|
|
35
41
|
* The Resize API interface that is available in the grid `apiRef`.
|
|
@@ -7,4 +7,4 @@ export declare const columnResizeStateInitializer: GridStateInitializer;
|
|
|
7
7
|
* @requires useGridColumns (method, event)
|
|
8
8
|
* TODO: improve experience for last column
|
|
9
9
|
*/
|
|
10
|
-
export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "autosizeOptions" | "autosizeOnMount" | "disableAutosize" | "onColumnResize" | "onColumnWidthChange">) => void;
|
|
10
|
+
export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "autosizeOptions" | "autosizeOnMount" | "disableAutosize" | "onColumnResize" | "onColumnWidthChange" | "disableVirtualization">) => void;
|
|
@@ -460,6 +460,7 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
460
460
|
return;
|
|
461
461
|
}
|
|
462
462
|
apiRef.current.autosizeColumns(_extends({}, props.autosizeOptions, {
|
|
463
|
+
disableColumnVirtualization: false,
|
|
463
464
|
columns: [column.field]
|
|
464
465
|
}));
|
|
465
466
|
});
|
|
@@ -486,8 +487,10 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
486
487
|
options.columns = options.columns.filter(c => state.columnVisibilityModel[c] !== false);
|
|
487
488
|
const columns = options.columns.map(c => apiRef.current.state.columns.lookup[c]);
|
|
488
489
|
try {
|
|
489
|
-
|
|
490
|
-
|
|
490
|
+
if (!props.disableVirtualization && options.disableColumnVirtualization) {
|
|
491
|
+
apiRef.current.unstable_setColumnVirtualization(false);
|
|
492
|
+
await columnVirtualizationDisabled();
|
|
493
|
+
}
|
|
491
494
|
const widthByField = extractColumnWidths(apiRef, options, columns);
|
|
492
495
|
const newColumns = columns.map(column => _extends({}, column, {
|
|
493
496
|
width: widthByField[column.field],
|
|
@@ -519,10 +522,12 @@ export const useGridColumnResize = (apiRef, props) => {
|
|
|
519
522
|
}
|
|
520
523
|
});
|
|
521
524
|
} finally {
|
|
522
|
-
|
|
525
|
+
if (!props.disableVirtualization) {
|
|
526
|
+
apiRef.current.unstable_setColumnVirtualization(true);
|
|
527
|
+
}
|
|
523
528
|
isAutosizingRef.current = false;
|
|
524
529
|
}
|
|
525
|
-
}, [apiRef, columnVirtualizationDisabled]);
|
|
530
|
+
}, [apiRef, columnVirtualizationDisabled, props.disableVirtualization]);
|
|
526
531
|
|
|
527
532
|
/**
|
|
528
533
|
* EFFECTS
|
|
@@ -53,4 +53,4 @@ export declare function getFirstNonSpannedColumnToRender({ firstColumnToRender,
|
|
|
53
53
|
lastRowToRender: number;
|
|
54
54
|
visibleRows: GridRowEntry[];
|
|
55
55
|
}): number;
|
|
56
|
-
export declare function getTotalHeaderHeight(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'columnHeaderHeight' | 'headerFilterHeight' | 'unstable_listView'>): number;
|
|
56
|
+
export declare function getTotalHeaderHeight(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'columnHeaderHeight' | 'headerFilterHeight' | 'unstable_listView' | 'columnGroupHeaderHeight'>): number;
|
|
@@ -319,6 +319,7 @@ export function getTotalHeaderHeight(apiRef, props) {
|
|
|
319
319
|
const maxDepth = gridColumnGroupsHeaderMaxDepthSelector(apiRef);
|
|
320
320
|
const isHeaderFilteringEnabled = gridHeaderFilteringEnabledSelector(apiRef);
|
|
321
321
|
const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
|
|
322
|
+
const columnGroupHeadersHeight = Math.floor((props.columnGroupHeaderHeight ?? props.columnHeaderHeight) * densityFactor);
|
|
322
323
|
const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
|
|
323
|
-
return columnHeadersHeight
|
|
324
|
+
return columnHeadersHeight + columnGroupHeadersHeight * maxDepth + filterHeadersHeight;
|
|
324
325
|
}
|