@mui/x-data-grid 8.27.0 → 8.27.3
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 +158 -0
- package/DataGrid/DataGrid.js +7 -0
- package/DataGrid/index.js +0 -1
- package/components/GridColumnSortButton.js +2 -2
- package/components/GridScrollArea.js +2 -2
- package/components/GridScrollShadows.js +2 -2
- package/components/GridSkeletonLoadingOverlay.js +2 -2
- package/components/base/GridOverlays.js +3 -3
- package/components/columnHeaders/GridColumnHeaderItem.js +31 -1
- package/components/columnHeaders/GridColumnHeaderTitle.js +2 -2
- package/components/columnHeaders/GridIconButtonContainer.js +2 -2
- package/components/containers/GridRootStyles.js +23 -217
- package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
- package/components/menu/columnMenu/GridColumnMenu.js +2 -0
- package/components/menu/columnMenu/GridColumnMenuProps.d.ts +9 -1
- package/components/menu/columnMenu/index.d.ts +1 -1
- package/components/menu/columnMenu/index.js +0 -12
- package/components/toolbar/GridToolbarQuickFilter.js +4 -4
- package/components/toolbarV8/GridToolbar.js +3 -3
- package/components/toolbarV8/Toolbar.d.ts +1 -1
- package/components/toolbarV8/Toolbar.js +2 -2
- package/components/virtualization/GridBottomContainer.js +2 -2
- package/components/virtualization/GridMainContainer.js +3 -3
- package/components/virtualization/GridTopContainer.js +2 -2
- package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollbar.js +5 -5
- package/components/virtualization/GridVirtualScroller.js +2 -2
- package/components/virtualization/GridVirtualScrollerFiller.js +6 -6
- package/constants/dataGridPropsDefaultValues.js +1 -0
- package/esm/DataGrid/DataGrid.js +7 -0
- package/esm/DataGrid/index.js +0 -1
- package/esm/components/GridColumnSortButton.js +1 -1
- package/esm/components/GridScrollArea.js +1 -1
- package/esm/components/GridScrollShadows.js +1 -1
- package/esm/components/GridSkeletonLoadingOverlay.js +1 -1
- package/esm/components/base/GridOverlays.js +1 -1
- package/esm/components/columnHeaders/GridColumnHeaderItem.js +31 -1
- package/esm/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/esm/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/esm/components/containers/GridRootStyles.js +23 -217
- package/esm/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
- package/esm/components/menu/columnMenu/GridColumnMenu.js +2 -0
- package/esm/components/menu/columnMenu/GridColumnMenuProps.d.ts +9 -1
- package/esm/components/menu/columnMenu/index.d.ts +1 -1
- package/esm/components/menu/columnMenu/index.js +0 -1
- package/esm/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/esm/components/toolbarV8/GridToolbar.js +1 -1
- package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
- package/esm/components/toolbarV8/Toolbar.js +1 -1
- package/esm/components/virtualization/GridBottomContainer.js +1 -1
- package/esm/components/virtualization/GridMainContainer.js +1 -1
- package/esm/components/virtualization/GridTopContainer.js +1 -1
- package/esm/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
- package/esm/components/virtualization/GridVirtualScrollbar.js +1 -1
- package/esm/components/virtualization/GridVirtualScroller.js +1 -1
- package/esm/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/esm/constants/dataGridPropsDefaultValues.js +1 -0
- package/esm/hooks/features/columnMenu/getColumnMenuItemKeys.d.ts +17 -0
- package/esm/hooks/features/columnMenu/getColumnMenuItemKeys.js +36 -0
- package/esm/hooks/features/columnMenu/useGridColumnMenuSlots.js +11 -16
- package/esm/hooks/features/dataSource/models.d.ts +4 -1
- package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +5 -2
- package/esm/hooks/features/dataSource/useGridDataSourceBase.js +93 -6
- package/esm/hooks/features/editing/useGridRowEditing.js +14 -4
- package/esm/index.js +1 -1
- package/esm/internals/index.d.ts +1 -0
- package/esm/models/api/gridEditingApi.d.ts +0 -1
- package/esm/models/params/gridRowParams.d.ts +0 -1
- package/esm/models/props/DataGridProps.d.ts +7 -0
- package/hooks/features/columnMenu/getColumnMenuItemKeys.d.ts +17 -0
- package/hooks/features/columnMenu/getColumnMenuItemKeys.js +43 -0
- package/hooks/features/columnMenu/useGridColumnMenuSlots.js +11 -16
- package/hooks/features/dataSource/models.d.ts +4 -1
- package/hooks/features/dataSource/useGridDataSourceBase.d.ts +5 -2
- package/hooks/features/dataSource/useGridDataSourceBase.js +92 -5
- package/hooks/features/editing/useGridRowEditing.js +14 -4
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/models/api/gridEditingApi.d.ts +0 -1
- package/models/params/gridRowParams.d.ts +0 -1
- package/models/props/DataGridProps.d.ts +7 -0
- package/package.json +1 -1
- package/esm/index.css +0 -5
- package/index.css +0 -5
|
@@ -93,6 +93,8 @@ const GridColumnMenu = exports.GridColumnMenu = (0, _forwardRef.forwardRef)(func
|
|
|
93
93
|
}));
|
|
94
94
|
});
|
|
95
95
|
if (process.env.NODE_ENV !== "production") GridColumnMenu.displayName = "GridColumnMenu";
|
|
96
|
+
GridColumnMenu.defaultSlots = GRID_COLUMN_MENU_SLOTS;
|
|
97
|
+
GridColumnMenu.defaultSlotProps = GRID_COLUMN_MENU_SLOT_PROPS;
|
|
96
98
|
process.env.NODE_ENV !== "production" ? GridColumnMenu.propTypes = {
|
|
97
99
|
// ----------------------------- Warning --------------------------------
|
|
98
100
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -9,4 +9,12 @@ export interface GridColumnMenuContainerProps extends React.HTMLAttributes<HTMLU
|
|
|
9
9
|
labelledby?: string;
|
|
10
10
|
}
|
|
11
11
|
export interface GridGenericColumnMenuProps extends GridColumnMenuRootProps, GridColumnMenuContainerProps {}
|
|
12
|
-
export interface GridColumnMenuProps extends Omit<GridGenericColumnMenuProps, 'defaultSlots' | 'defaultSlotProps'> {}
|
|
12
|
+
export interface GridColumnMenuProps extends Omit<GridGenericColumnMenuProps, 'defaultSlots' | 'defaultSlotProps'> {}
|
|
13
|
+
/**
|
|
14
|
+
* Type for column menu components with static defaultSlots and defaultSlotProps.
|
|
15
|
+
* Used by GridColumnMenu, GridProColumnMenu, and GridPremiumColumnMenu.
|
|
16
|
+
*/
|
|
17
|
+
export type GridColumnMenuComponent = React.ForwardRefExoticComponent<GridColumnMenuProps & React.RefAttributes<HTMLUListElement>> & {
|
|
18
|
+
defaultSlots: GridColumnMenuRootProps['defaultSlots'];
|
|
19
|
+
defaultSlotProps: GridColumnMenuRootProps['defaultSlotProps'];
|
|
20
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./GridColumnHeaderMenu.js";
|
|
2
|
-
export
|
|
2
|
+
export type { GridColumnMenuContainerProps, GridGenericColumnMenuProps, GridColumnMenuProps } from "./GridColumnMenuProps.js";
|
|
3
3
|
export * from "./GridColumnMenuItemProps.js";
|
|
4
4
|
export * from "./GridColumnMenuContainer.js";
|
|
5
5
|
export { GridGenericColumnMenu } from "./GridColumnMenu.js";
|
|
@@ -24,18 +24,6 @@ Object.keys(_GridColumnHeaderMenu).forEach(function (key) {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
|
-
var _GridColumnMenuProps = require("./GridColumnMenuProps");
|
|
28
|
-
Object.keys(_GridColumnMenuProps).forEach(function (key) {
|
|
29
|
-
if (key === "default" || key === "__esModule") return;
|
|
30
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
|
-
if (key in exports && exports[key] === _GridColumnMenuProps[key]) return;
|
|
32
|
-
Object.defineProperty(exports, key, {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () {
|
|
35
|
-
return _GridColumnMenuProps[key];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
27
|
var _GridColumnMenuItemProps = require("./GridColumnMenuItemProps");
|
|
40
28
|
Object.keys(_GridColumnMenuItemProps).forEach(function (key) {
|
|
41
29
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
12
|
-
var
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
14
|
var _constants = require("../../constants");
|
|
15
15
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
@@ -31,14 +31,14 @@ const useUtilityClasses = ownerState => {
|
|
|
31
31
|
};
|
|
32
32
|
return (0, _composeClasses.default)(slots, _constants.getDataGridUtilityClass, classes);
|
|
33
33
|
};
|
|
34
|
-
const GridQuickFilterRoot = (0,
|
|
34
|
+
const GridQuickFilterRoot = (0, _styles.styled)('div', {
|
|
35
35
|
name: 'MuiDataGrid',
|
|
36
36
|
slot: 'ToolbarQuickFilter'
|
|
37
37
|
})({
|
|
38
38
|
display: 'grid',
|
|
39
39
|
alignItems: 'center'
|
|
40
40
|
});
|
|
41
|
-
const GridQuickFilterTrigger = (0,
|
|
41
|
+
const GridQuickFilterTrigger = (0, _styles.styled)(_toolbarV.ToolbarButton, {
|
|
42
42
|
name: 'MuiDataGrid',
|
|
43
43
|
slot: 'ToolbarQuickFilterTrigger'
|
|
44
44
|
})(({
|
|
@@ -55,7 +55,7 @@ const GridQuickFilterTrigger = (0, _system.styled)(_toolbarV.ToolbarButton, {
|
|
|
55
55
|
|
|
56
56
|
// TODO: Use NotRendered from /utils/assert
|
|
57
57
|
// Currently causes react-docgen to fail
|
|
58
|
-
const GridQuickFilterTextField = (0,
|
|
58
|
+
const GridQuickFilterTextField = (0, _styles.styled)(_props => {
|
|
59
59
|
throw new Error('Failed assertion: should not be rendered');
|
|
60
60
|
}, {
|
|
61
61
|
name: 'MuiDataGrid',
|
|
@@ -14,7 +14,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
14
14
|
var React = _interopRequireWildcard(require("react"));
|
|
15
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
16
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
17
|
-
var
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
18
18
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
19
19
|
var _GridMenu = require("../menu/GridMenu");
|
|
20
20
|
var _Toolbar = require("./Toolbar");
|
|
@@ -42,14 +42,14 @@ const useUtilityClasses = ownerState => {
|
|
|
42
42
|
};
|
|
43
43
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
44
44
|
};
|
|
45
|
-
const Divider = (0,
|
|
45
|
+
const Divider = (0, _styles.styled)(_assert.NotRendered, {
|
|
46
46
|
name: 'MuiDataGrid',
|
|
47
47
|
slot: 'ToolbarDivider'
|
|
48
48
|
})({
|
|
49
49
|
height: '50%',
|
|
50
50
|
margin: _cssVariables.vars.spacing(0, 0.5)
|
|
51
51
|
});
|
|
52
|
-
const Label = (0,
|
|
52
|
+
const Label = (0, _styles.styled)('span', {
|
|
53
53
|
name: 'MuiDataGrid',
|
|
54
54
|
slot: 'ToolbarLabel'
|
|
55
55
|
})({
|
|
@@ -6,7 +6,7 @@ export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
|
6
6
|
*/
|
|
7
7
|
render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
|
|
8
8
|
};
|
|
9
|
-
declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/
|
|
9
|
+
declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
|
|
10
10
|
/**
|
|
11
11
|
* The top level Toolbar component that provides context to child components.
|
|
12
12
|
* It renders a styled `<div />` element.
|
|
@@ -11,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
16
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
17
17
|
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
@@ -32,7 +32,7 @@ const useUtilityClasses = ownerState => {
|
|
|
32
32
|
};
|
|
33
33
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
34
34
|
};
|
|
35
|
-
const ToolbarRoot = (0,
|
|
35
|
+
const ToolbarRoot = (0, _styles.styled)('div', {
|
|
36
36
|
name: 'MuiDataGrid',
|
|
37
37
|
slot: 'Toolbar'
|
|
38
38
|
})({
|
|
@@ -9,7 +9,7 @@ exports.GridBottomContainer = GridBottomContainer;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
-
var
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
14
|
var _gridClasses = require("../../constants/gridClasses");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -19,7 +19,7 @@ const useUtilityClasses = () => {
|
|
|
19
19
|
};
|
|
20
20
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, {});
|
|
21
21
|
};
|
|
22
|
-
const Element = (0,
|
|
22
|
+
const Element = (0, _styles.styled)('div', {
|
|
23
23
|
slot: 'internal',
|
|
24
24
|
shouldForwardProp: undefined
|
|
25
25
|
})({
|
|
@@ -9,12 +9,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.GridMainContainer = void 0;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
14
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
15
15
|
var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const GridPanelAnchor = (0,
|
|
17
|
+
const GridPanelAnchor = (0, _styles.styled)('div', {
|
|
18
18
|
slot: 'internal',
|
|
19
19
|
shouldForwardProp: undefined
|
|
20
20
|
})({
|
|
@@ -23,7 +23,7 @@ const GridPanelAnchor = (0, _system.styled)('div', {
|
|
|
23
23
|
left: 0,
|
|
24
24
|
width: 'calc(100% - (var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize)))'
|
|
25
25
|
});
|
|
26
|
-
const Element = (0,
|
|
26
|
+
const Element = (0, _styles.styled)('div', {
|
|
27
27
|
name: 'MuiDataGrid',
|
|
28
28
|
slot: 'Main',
|
|
29
29
|
overridesResolver: (props, styles) => {
|
|
@@ -9,7 +9,7 @@ exports.GridTopContainer = GridTopContainer;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
-
var
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
14
|
var _gridClasses = require("../../constants/gridClasses");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -19,7 +19,7 @@ const useUtilityClasses = () => {
|
|
|
19
19
|
};
|
|
20
20
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, {});
|
|
21
21
|
};
|
|
22
|
-
const Element = (0,
|
|
22
|
+
const Element = (0, _styles.styled)('div', {
|
|
23
23
|
slot: 'internal',
|
|
24
24
|
shouldForwardProp: undefined
|
|
25
25
|
})({
|
|
@@ -8,6 +8,6 @@ type GridVirtualScrollbarProps = {
|
|
|
8
8
|
}>;
|
|
9
9
|
};
|
|
10
10
|
export declare const scrollbarSizeCssExpression = "calc(max(var(--DataGrid-scrollbarSize), 14px))";
|
|
11
|
-
export declare const ScrollbarCorner: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/
|
|
11
|
+
export declare const ScrollbarCorner: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement> | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
12
12
|
declare const GridVirtualScrollbar: React.ForwardRefExoticComponent<GridVirtualScrollbarProps> | React.ForwardRefExoticComponent<GridVirtualScrollbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
13
|
export { GridVirtualScrollbar };
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
});
|
|
9
9
|
exports.scrollbarSizeCssExpression = exports.ScrollbarCorner = exports.GridVirtualScrollbar = void 0;
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
13
13
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
@@ -35,7 +35,7 @@ const useUtilityClasses = (ownerState, position) => {
|
|
|
35
35
|
// to appear and have a real size. We set it to 14px because it seems like an acceptable value and we
|
|
36
36
|
// don't have a method to find the required size for scrollbars on those platforms.
|
|
37
37
|
const scrollbarSizeCssExpression = exports.scrollbarSizeCssExpression = 'calc(max(var(--DataGrid-scrollbarSize), 14px))';
|
|
38
|
-
const Scrollbar = (0,
|
|
38
|
+
const Scrollbar = (0, _styles.styled)('div', {
|
|
39
39
|
slot: 'internal',
|
|
40
40
|
shouldForwardProp: undefined
|
|
41
41
|
})({
|
|
@@ -47,7 +47,7 @@ const Scrollbar = (0, _system.styled)('div', {
|
|
|
47
47
|
},
|
|
48
48
|
'--size': scrollbarSizeCssExpression
|
|
49
49
|
});
|
|
50
|
-
const ScrollbarVertical = (0,
|
|
50
|
+
const ScrollbarVertical = (0, _styles.styled)(Scrollbar, {
|
|
51
51
|
slot: 'internal'
|
|
52
52
|
})({
|
|
53
53
|
width: 'var(--size)',
|
|
@@ -62,7 +62,7 @@ const ScrollbarVertical = (0, _system.styled)(Scrollbar, {
|
|
|
62
62
|
top: 'var(--DataGrid-headersTotalHeight)',
|
|
63
63
|
right: 0
|
|
64
64
|
});
|
|
65
|
-
const ScrollbarHorizontal = (0,
|
|
65
|
+
const ScrollbarHorizontal = (0, _styles.styled)(Scrollbar, {
|
|
66
66
|
slot: 'internal'
|
|
67
67
|
})({
|
|
68
68
|
width: 'calc(var(--DataGrid-hasScrollX) * (100% - var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize)))',
|
|
@@ -76,7 +76,7 @@ const ScrollbarHorizontal = (0, _system.styled)(Scrollbar, {
|
|
|
76
76
|
},
|
|
77
77
|
bottom: 0
|
|
78
78
|
});
|
|
79
|
-
const ScrollbarCorner = exports.ScrollbarCorner = (0,
|
|
79
|
+
const ScrollbarCorner = exports.ScrollbarCorner = (0, _styles.styled)(Scrollbar, {
|
|
80
80
|
slot: 'internal'
|
|
81
81
|
})({
|
|
82
82
|
width: 'var(--size)',
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.GridVirtualScroller = GridVirtualScroller;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
13
13
|
var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
|
|
14
14
|
var _rows = require("../../hooks/features/rows");
|
|
@@ -44,7 +44,7 @@ const useUtilityClasses = ownerState => {
|
|
|
44
44
|
};
|
|
45
45
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
46
46
|
};
|
|
47
|
-
const Scroller = (0,
|
|
47
|
+
const Scroller = (0, _styles.styled)('div', {
|
|
48
48
|
name: 'MuiDataGrid',
|
|
49
49
|
slot: 'VirtualScroller',
|
|
50
50
|
overridesResolver: (props, styles) => {
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.GridVirtualScrollerFiller = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
9
|
+
var _styles = require("@mui/material/styles");
|
|
10
10
|
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
11
11
|
var _cssVariables = require("../../constants/cssVariables");
|
|
12
12
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
@@ -14,7 +14,7 @@ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
|
14
14
|
var _dimensions = require("../../hooks/features/dimensions");
|
|
15
15
|
var _constants = require("../../constants");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const Filler = (0,
|
|
17
|
+
const Filler = (0, _styles.styled)('div', {
|
|
18
18
|
slot: 'internal',
|
|
19
19
|
shouldForwardProp: undefined
|
|
20
20
|
})({
|
|
@@ -23,7 +23,7 @@ const Filler = (0, _system.styled)('div', {
|
|
|
23
23
|
width: 'var(--DataGrid-rowWidth)',
|
|
24
24
|
boxSizing: 'border-box'
|
|
25
25
|
});
|
|
26
|
-
const Pinned = (0,
|
|
26
|
+
const Pinned = (0, _styles.styled)('div', {
|
|
27
27
|
slot: 'internal',
|
|
28
28
|
shouldForwardProp: undefined
|
|
29
29
|
})({
|
|
@@ -33,17 +33,17 @@ const Pinned = (0, _system.styled)('div', {
|
|
|
33
33
|
borderTop: '1px solid var(--rowBorderColor)',
|
|
34
34
|
backgroundColor: _cssVariables.vars.cell.background.pinned
|
|
35
35
|
});
|
|
36
|
-
const PinnedLeft = (0,
|
|
36
|
+
const PinnedLeft = (0, _styles.styled)(Pinned, {
|
|
37
37
|
slot: 'internal'
|
|
38
38
|
})({
|
|
39
39
|
left: 0
|
|
40
40
|
});
|
|
41
|
-
const PinnedRight = (0,
|
|
41
|
+
const PinnedRight = (0, _styles.styled)(Pinned, {
|
|
42
42
|
slot: 'internal'
|
|
43
43
|
})({
|
|
44
44
|
right: 0
|
|
45
45
|
});
|
|
46
|
-
const Main = (0,
|
|
46
|
+
const Main = (0, _styles.styled)('div', {
|
|
47
47
|
slot: 'internal',
|
|
48
48
|
shouldForwardProp: undefined
|
|
49
49
|
})({
|
|
@@ -30,6 +30,7 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
|
|
|
30
30
|
disableMultipleColumnsFiltering: false,
|
|
31
31
|
disableMultipleColumnsSorting: false,
|
|
32
32
|
disableMultipleRowSelection: false,
|
|
33
|
+
dataSourceRevalidateMs: 0,
|
|
33
34
|
disableRowSelectionOnClick: false,
|
|
34
35
|
disableRowSelectionExcludeModel: false,
|
|
35
36
|
disableVirtualization: false,
|
package/esm/DataGrid/DataGrid.js
CHANGED
|
@@ -173,6 +173,13 @@ DataGridRaw.propTypes = {
|
|
|
173
173
|
get: PropTypes.func.isRequired,
|
|
174
174
|
set: PropTypes.func.isRequired
|
|
175
175
|
}),
|
|
176
|
+
/**
|
|
177
|
+
* If positive, the Data Grid will periodically revalidate data source rows by
|
|
178
|
+
* re-fetching them from the server when the cache entry has expired.
|
|
179
|
+
* Set to `0` to disable polling.
|
|
180
|
+
* @default 0
|
|
181
|
+
*/
|
|
182
|
+
dataSourceRevalidateMs: PropTypes.number,
|
|
176
183
|
/**
|
|
177
184
|
* Set the density of the Data Grid.
|
|
178
185
|
* @default "standard"
|
package/esm/DataGrid/index.js
CHANGED
|
@@ -4,7 +4,7 @@ const _excluded = ["direction", "index", "sortingOrder", "disabled", "className"
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
|
-
import { styled } from '@mui/
|
|
7
|
+
import { styled } from '@mui/material/styles';
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
10
10
|
import { getDataGridUtilityClass } from "../constants/gridClasses.js";
|
|
@@ -5,7 +5,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
|
-
import { styled } from '@mui/
|
|
8
|
+
import { styled } from '@mui/material/styles';
|
|
9
9
|
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
10
10
|
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
11
11
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { styled } from '@mui/
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
5
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { gridDimensionsSelector, gridPinnedColumnsSelector, useGridEvent, useGridSelector } from "../hooks/index.js";
|
|
@@ -5,7 +5,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
5
5
|
const _excluded = ["skeletonRowsCount", "visibleColumns", "showFirstRowBorder"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
|
-
import { styled } from '@mui/
|
|
8
|
+
import { styled } from '@mui/material/styles';
|
|
9
9
|
import useForkRef from '@mui/utils/useForkRef';
|
|
10
10
|
import composeClasses from '@mui/utils/composeClasses';
|
|
11
11
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { styled } from '@mui/
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
6
|
import { minimalContentHeight } from "../../hooks/features/rows/gridRowsUtils.js";
|
|
7
7
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
@@ -10,6 +10,7 @@ import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
|
10
10
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
11
11
|
import { doesSupportPreventScroll } from "../../utils/doesSupportPreventScroll.js";
|
|
12
12
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
13
|
+
import { getColumnMenuItemKeys } from "../../hooks/features/columnMenu/getColumnMenuItemKeys.js";
|
|
13
14
|
import { ColumnHeaderMenuIcon } from "./ColumnHeaderMenuIcon.js";
|
|
14
15
|
import { GridColumnHeaderMenu } from "../menu/columnMenu/GridColumnHeaderMenu.js";
|
|
15
16
|
import { gridClasses, getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
@@ -78,6 +79,30 @@ function GridColumnHeaderItem(props) {
|
|
|
78
79
|
const columnMenuButtonId = useId();
|
|
79
80
|
const iconButtonRef = React.useRef(null);
|
|
80
81
|
const [showColumnMenuIcon, setShowColumnMenuIcon] = React.useState(columnMenuOpen);
|
|
82
|
+
const columnMenuSlotProps = rootProps.slotProps?.columnMenu;
|
|
83
|
+
const columnMenuComponent = rootProps.slots.columnMenu;
|
|
84
|
+
const defaultSlots = columnMenuComponent?.defaultSlots;
|
|
85
|
+
const defaultSlotProps = columnMenuComponent?.defaultSlotProps;
|
|
86
|
+
const hasKnownDefaultColumnMenu = defaultSlots != null && defaultSlotProps != null;
|
|
87
|
+
const columnMenuItemKeys = React.useMemo(() => {
|
|
88
|
+
if (!hasKnownDefaultColumnMenu) {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
return getColumnMenuItemKeys({
|
|
92
|
+
apiRef,
|
|
93
|
+
colDef,
|
|
94
|
+
defaultSlots,
|
|
95
|
+
defaultSlotProps,
|
|
96
|
+
slots: columnMenuSlotProps?.slots,
|
|
97
|
+
slotProps: columnMenuSlotProps?.slotProps
|
|
98
|
+
});
|
|
99
|
+
}, [apiRef, colDef, defaultSlotProps, defaultSlots, hasKnownDefaultColumnMenu, columnMenuSlotProps?.slotProps, columnMenuSlotProps?.slots]);
|
|
100
|
+
|
|
101
|
+
// If we don't have a "known" default column menu (i.e. a custom menu component
|
|
102
|
+
// without `defaultSlots` / `defaultSlotProps` statics), we treat it as opaque
|
|
103
|
+
// and assume it has items, so we always show the column menu icon.
|
|
104
|
+
// Only the built-in/default menu path can hide the icon when there are no items.
|
|
105
|
+
const hasColumnMenuItems = !hasKnownDefaultColumnMenu || columnMenuItemKeys.length > 0;
|
|
81
106
|
const isDraggable = !rootProps.disableColumnReorder && !disableReorder && !colDef.disableReorder;
|
|
82
107
|
let headerComponent;
|
|
83
108
|
if (colDef.renderHeader) {
|
|
@@ -128,10 +153,15 @@ function GridColumnHeaderItem(props) {
|
|
|
128
153
|
setShowColumnMenuIcon(columnMenuOpen);
|
|
129
154
|
}
|
|
130
155
|
}, [showColumnMenuIcon, columnMenuOpen]);
|
|
156
|
+
React.useEffect(() => {
|
|
157
|
+
if (hasKnownDefaultColumnMenu && columnMenuOpen && !hasColumnMenuItems) {
|
|
158
|
+
apiRef.current.hideColumnMenu();
|
|
159
|
+
}
|
|
160
|
+
}, [apiRef, columnMenuOpen, hasColumnMenuItems, hasKnownDefaultColumnMenu]);
|
|
131
161
|
const handleExited = React.useCallback(() => {
|
|
132
162
|
setShowColumnMenuIcon(false);
|
|
133
163
|
}, []);
|
|
134
|
-
const columnMenuIconButton = !rootProps.disableColumnMenu && !colDef.disableColumnMenu && /*#__PURE__*/_jsx(ColumnHeaderMenuIcon, {
|
|
164
|
+
const columnMenuIconButton = !rootProps.disableColumnMenu && !colDef.disableColumnMenu && hasColumnMenuItems && /*#__PURE__*/_jsx(ColumnHeaderMenuIcon, {
|
|
135
165
|
colDef: colDef,
|
|
136
166
|
columnMenuId: columnMenuId,
|
|
137
167
|
columnMenuButtonId: columnMenuButtonId,
|
|
@@ -7,7 +7,7 @@ import * as React from 'react';
|
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import composeClasses from '@mui/utils/composeClasses';
|
|
10
|
-
import { styled } from '@mui/
|
|
10
|
+
import { styled } from '@mui/material/styles';
|
|
11
11
|
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
12
12
|
import { isOverflown } from "../../utils/domUtils.js";
|
|
13
13
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
@@ -6,7 +6,7 @@ const _excluded = ["className"];
|
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
|
-
import { styled } from '@mui/
|
|
9
|
+
import { styled } from '@mui/material/styles';
|
|
10
10
|
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
11
11
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
12
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|