@mui/x-data-grid 9.0.0-beta.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +267 -1
- package/DataGrid/DataGrid.js +1 -0
- package/DataGrid/DataGrid.mjs +1 -0
- package/components/GridColumnUnsortedIcon.d.mts +5 -2
- package/components/GridColumnUnsortedIcon.d.ts +5 -2
- package/components/GridColumnUnsortedIcon.js +20 -6
- package/components/GridColumnUnsortedIcon.mjs +20 -5
- package/components/GridDetailPanels.d.mts +1 -4
- package/components/GridDetailPanels.d.ts +1 -4
- package/components/GridPinnedRows.d.mts +0 -2
- package/components/GridPinnedRows.d.ts +0 -2
- package/components/GridRowDragAndDropOverlay.js +1 -1
- package/components/GridRowDragAndDropOverlay.mjs +2 -2
- package/components/GridScrollbarFillerCell.js +9 -1
- package/components/GridScrollbarFillerCell.mjs +9 -1
- package/components/cell/GridCell.js +4 -2
- package/components/cell/GridCell.mjs +4 -2
- package/components/columnHeaders/GridColumnGroupHeader.js +5 -3
- package/components/columnHeaders/GridColumnGroupHeader.mjs +5 -3
- package/components/columnHeaders/GridColumnHeaderItem.js +3 -1
- package/components/columnHeaders/GridColumnHeaderItem.mjs +3 -1
- package/components/containers/GridRootStyles.js +86 -5
- package/components/containers/GridRootStyles.mjs +86 -5
- package/components/index.d.mts +3 -1
- package/components/index.d.ts +3 -1
- package/components/index.js +10 -2
- package/components/index.mjs +2 -1
- package/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/components/panel/filterPanel/GridFilterForm.mjs +1 -1
- package/components/virtualization/GridBottomContainer.js +4 -1
- package/components/virtualization/GridBottomContainer.mjs +4 -1
- package/components/virtualization/GridVirtualScroller.js +55 -30
- package/components/virtualization/GridVirtualScroller.mjs +56 -31
- package/components/virtualization/GridVirtualScrollerContent.js +5 -1
- package/components/virtualization/GridVirtualScrollerContent.mjs +5 -1
- package/constants/gridClasses.d.mts +40 -1
- package/constants/gridClasses.d.ts +40 -1
- package/constants/gridClasses.js +2 -2
- package/constants/gridClasses.mjs +2 -2
- package/constants/localeTextConstants.js +1 -1
- package/constants/localeTextConstants.mjs +1 -1
- package/hooks/core/useGridVirtualizer.js +1 -0
- package/hooks/core/useGridVirtualizer.mjs +1 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.mjs +8 -4
- package/hooks/features/dimensions/useGridDimensions.js +1 -0
- package/hooks/features/dimensions/useGridDimensions.mjs +1 -0
- package/hooks/features/export/useGridPrintExport.js +5 -1
- package/hooks/features/export/useGridPrintExport.mjs +5 -1
- package/hooks/features/focus/useGridFocus.js +4 -0
- package/hooks/features/focus/useGridFocus.mjs +4 -0
- package/hooks/features/rowSelection/useGridRowSelection.js +17 -1
- package/hooks/features/rowSelection/useGridRowSelection.mjs +17 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.mts +8 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +8 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.mjs +7 -0
- package/hooks/features/virtualization/index.d.mts +1 -1
- package/hooks/features/virtualization/index.d.ts +1 -1
- package/hooks/features/virtualization/index.js +44 -13
- package/hooks/features/virtualization/index.mjs +1 -1
- package/hooks/utils/usePinnedScrollOffset.d.mts +3 -0
- package/hooks/utils/usePinnedScrollOffset.d.ts +3 -0
- package/hooks/utils/usePinnedScrollOffset.js +27 -0
- package/hooks/utils/usePinnedScrollOffset.mjs +21 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/index.d.mts +3 -2
- package/internals/index.d.ts +3 -2
- package/internals/index.js +29 -0
- package/internals/index.mjs +3 -2
- package/locales/arSD.js +1 -1
- package/locales/arSD.mjs +1 -1
- package/locales/beBY.js +1 -1
- package/locales/beBY.mjs +1 -1
- package/locales/bgBG.js +1 -1
- package/locales/bgBG.mjs +1 -1
- package/locales/bnBD.js +1 -1
- package/locales/bnBD.mjs +1 -1
- package/locales/caES.js +1 -1
- package/locales/caES.mjs +1 -1
- package/locales/csCZ.js +1 -1
- package/locales/csCZ.mjs +1 -1
- package/locales/daDK.js +1 -1
- package/locales/daDK.mjs +1 -1
- package/locales/deDE.js +1 -1
- package/locales/deDE.mjs +1 -1
- package/locales/elGR.js +1 -1
- package/locales/elGR.mjs +1 -1
- package/locales/esES.js +1 -1
- package/locales/esES.mjs +1 -1
- package/locales/faIR.js +1 -1
- package/locales/faIR.mjs +1 -1
- package/locales/fiFI.js +1 -1
- package/locales/fiFI.mjs +1 -1
- package/locales/frFR.js +1 -1
- package/locales/frFR.mjs +1 -1
- package/locales/heIL.js +1 -1
- package/locales/heIL.mjs +1 -1
- package/locales/hrHR.js +1 -1
- package/locales/hrHR.mjs +1 -1
- package/locales/huHU.js +1 -1
- package/locales/huHU.mjs +1 -1
- package/locales/hyAM.js +1 -1
- package/locales/hyAM.mjs +1 -1
- package/locales/idID.js +1 -1
- package/locales/idID.mjs +1 -1
- package/locales/isIS.js +1 -1
- package/locales/isIS.mjs +1 -1
- package/locales/itIT.js +1 -1
- package/locales/itIT.mjs +1 -1
- package/locales/jaJP.js +1 -1
- package/locales/jaJP.mjs +1 -1
- package/locales/koKR.js +1 -1
- package/locales/koKR.mjs +1 -1
- package/locales/nbNO.js +1 -1
- package/locales/nbNO.mjs +1 -1
- package/locales/nlNL.js +1 -1
- package/locales/nlNL.mjs +1 -1
- package/locales/nnNO.js +1 -1
- package/locales/nnNO.mjs +1 -1
- package/locales/plPL.js +1 -1
- package/locales/plPL.mjs +1 -1
- package/locales/ptBR.js +1 -1
- package/locales/ptBR.mjs +1 -1
- package/locales/ptPT.js +1 -1
- package/locales/ptPT.mjs +1 -1
- package/locales/roRO.js +1 -1
- package/locales/roRO.mjs +1 -1
- package/locales/ruRU.js +1 -1
- package/locales/ruRU.mjs +1 -1
- package/locales/skSK.js +1 -1
- package/locales/skSK.mjs +1 -1
- package/locales/svSE.js +1 -1
- package/locales/svSE.mjs +1 -1
- package/locales/thTH.js +1 -1
- package/locales/thTH.mjs +1 -1
- package/locales/trTR.js +1 -1
- package/locales/trTR.mjs +1 -1
- package/locales/ukUA.js +1 -1
- package/locales/ukUA.mjs +1 -1
- package/locales/urPK.js +1 -1
- package/locales/urPK.mjs +1 -1
- package/locales/viVN.js +1 -1
- package/locales/viVN.mjs +1 -1
- package/locales/zhCN.js +1 -1
- package/locales/zhCN.mjs +1 -1
- package/locales/zhHK.js +1 -1
- package/locales/zhHK.mjs +1 -1
- package/locales/zhTW.js +1 -1
- package/locales/zhTW.mjs +1 -1
- package/material/index.js +26 -21
- package/material/index.mjs +26 -21
- package/material/variables.js +4 -4
- package/material/variables.mjs +4 -5
- package/models/api/gridLocaleTextApi.d.mts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +1 -1
- package/models/gridBaseSlots.d.mts +4 -2
- package/models/gridBaseSlots.d.ts +4 -2
- package/models/props/DataGridProps.d.mts +9 -0
- package/models/props/DataGridProps.d.ts +9 -0
- package/package.json +6 -6
- package/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.mjs +2 -2
- package/utils/cleanupTracking/TimerBasedCleanupTracking.mjs +2 -2
- package/utils/domUtils.js +3 -2
- package/utils/domUtils.mjs +3 -2
- package/utils/keyboardUtils.d.mts +2 -0
- package/utils/keyboardUtils.d.ts +2 -0
- package/utils/keyboardUtils.js +8 -0
- package/utils/keyboardUtils.mjs +6 -0
|
@@ -2,13 +2,15 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { styled } from '@mui/material/styles';
|
|
4
4
|
import composeClasses from '@mui/utils/composeClasses';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { Virtualization } from '@mui/x-virtualizer';
|
|
5
7
|
import { gridHasBottomFillerSelector, gridHasScrollXSelector, gridHasScrollYSelector } from "../../hooks/features/dimensions/gridDimensionsSelectors.mjs";
|
|
6
8
|
import { gridRowTreeSelector } from "../../hooks/features/rows/index.mjs";
|
|
7
9
|
import { GridScrollArea } from "../GridScrollArea.mjs";
|
|
8
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
|
|
9
11
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
|
|
10
12
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.mjs";
|
|
11
|
-
import { getDataGridUtilityClass } from "../../constants/gridClasses.mjs";
|
|
13
|
+
import { getDataGridUtilityClass, gridClasses } from "../../constants/gridClasses.mjs";
|
|
12
14
|
import { useGridOverlays } from "../../hooks/features/overlays/useGridOverlays.mjs";
|
|
13
15
|
import { GridHeaders } from "../GridHeaders.mjs";
|
|
14
16
|
import { GridMainContainer as Container } from "./GridMainContainer.mjs";
|
|
@@ -50,9 +52,9 @@ const Scroller = styled('div', {
|
|
|
50
52
|
height: '100%',
|
|
51
53
|
flexGrow: 1,
|
|
52
54
|
overflow: 'scroll',
|
|
53
|
-
scrollbarWidth: 'none' /* Firefox */,
|
|
54
55
|
display: 'flex',
|
|
55
56
|
flexDirection: 'column',
|
|
57
|
+
scrollbarWidth: 'none' /* Firefox */,
|
|
56
58
|
'&::-webkit-scrollbar': {
|
|
57
59
|
display: 'none' /* Safari and Chrome */
|
|
58
60
|
},
|
|
@@ -62,6 +64,23 @@ const Scroller = styled('div', {
|
|
|
62
64
|
// See https://github.com/mui/mui-x/issues/10547
|
|
63
65
|
zIndex: 0
|
|
64
66
|
});
|
|
67
|
+
const Viewport = styled('div', {
|
|
68
|
+
slot: 'internal',
|
|
69
|
+
shouldForwardProp: undefined
|
|
70
|
+
})({
|
|
71
|
+
display: 'contents',
|
|
72
|
+
[`.${gridClasses['virtualizer--layoutControlled']} &`]: {
|
|
73
|
+
display: 'inline-block',
|
|
74
|
+
position: 'sticky',
|
|
75
|
+
top: 0,
|
|
76
|
+
left: 0,
|
|
77
|
+
overflow: 'hidden',
|
|
78
|
+
scrollbarWidth: 'none' /* Firefox */,
|
|
79
|
+
'&::-webkit-scrollbar': {
|
|
80
|
+
display: 'none' /* Safari and Chrome */
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
65
84
|
const hasPinnedRightSelector = apiRef => apiRef.current.state.dimensions.rightPinnedWidth > 0;
|
|
66
85
|
function GridVirtualScroller(props) {
|
|
67
86
|
const apiRef = useGridPrivateApiContext();
|
|
@@ -83,20 +102,26 @@ function GridVirtualScroller(props) {
|
|
|
83
102
|
loadingOverlayVariant
|
|
84
103
|
};
|
|
85
104
|
const classes = useUtilityClasses(ownerState);
|
|
86
|
-
const
|
|
105
|
+
const virtualizer = useGridVirtualizer();
|
|
106
|
+
const layoutMode = virtualizer.store.use(Virtualization.selectors.layoutMode);
|
|
107
|
+
const hasContentFiller = layoutMode === 'uncontrolled' && loadingOverlayVariant !== 'skeleton';
|
|
87
108
|
const {
|
|
88
109
|
getContainerProps,
|
|
89
110
|
getScrollerProps,
|
|
111
|
+
getScrollerContentProps,
|
|
112
|
+
getViewportProps,
|
|
90
113
|
getContentProps,
|
|
91
114
|
getPositionerProps,
|
|
92
115
|
getScrollbarVerticalProps,
|
|
93
116
|
getScrollbarHorizontalProps,
|
|
94
117
|
getRows,
|
|
95
|
-
getScrollAreaProps
|
|
96
|
-
|
|
118
|
+
getScrollAreaProps,
|
|
119
|
+
getContainerVerticalProps
|
|
120
|
+
} = virtualizer.api.getters;
|
|
97
121
|
const rows = getRows(undefined, gridRowTreeSelector(apiRef));
|
|
122
|
+
const containerVerticalProps = getContainerVerticalProps();
|
|
98
123
|
return /*#__PURE__*/_jsxs(Container, _extends({
|
|
99
|
-
className: classes.root
|
|
124
|
+
className: clsx(classes.root, layoutMode === 'controlled' && gridClasses['virtualizer--layoutControlled'])
|
|
100
125
|
}, getContainerProps(), {
|
|
101
126
|
ownerState: ownerState,
|
|
102
127
|
children: [/*#__PURE__*/_jsx(GridScrollArea, _extends({
|
|
@@ -107,35 +132,35 @@ function GridVirtualScroller(props) {
|
|
|
107
132
|
scrollDirection: "up"
|
|
108
133
|
}, getScrollAreaProps())), /*#__PURE__*/_jsx(GridScrollArea, _extends({
|
|
109
134
|
scrollDirection: "down"
|
|
110
|
-
}, getScrollAreaProps())), /*#__PURE__*/
|
|
135
|
+
}, getScrollAreaProps())), /*#__PURE__*/_jsx(Scroller, _extends({
|
|
111
136
|
className: classes.scroller
|
|
112
137
|
}, getScrollerProps(), {
|
|
113
138
|
ownerState: ownerState,
|
|
114
|
-
children:
|
|
115
|
-
children:
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
139
|
+
children: /*#__PURE__*/_jsx(Content, _extends({}, getScrollerContentProps(), {
|
|
140
|
+
children: /*#__PURE__*/_jsxs(Viewport, _extends({}, getViewportProps(), {
|
|
141
|
+
children: [/*#__PURE__*/_jsxs(TopContainer, _extends({}, containerVerticalProps, {
|
|
142
|
+
children: [!rootProps.listView && /*#__PURE__*/_jsx(GridHeaders, {}), /*#__PURE__*/_jsx(rootProps.slots.pinnedRows, {
|
|
143
|
+
position: "top"
|
|
144
|
+
})]
|
|
145
|
+
})), overlayType && /*#__PURE__*/_jsx(GridOverlayWrapper, {
|
|
146
|
+
overlayType: overlayType,
|
|
147
|
+
loadingOverlayVariant: loadingOverlayVariant,
|
|
148
|
+
children: /*#__PURE__*/_jsx(Overlay, _extends({}, rootProps.slotProps?.[overlayType]))
|
|
149
|
+
}), /*#__PURE__*/_jsxs(RenderZone, _extends({
|
|
150
|
+
role: "rowgroup"
|
|
151
|
+
}, getPositionerProps(), {
|
|
152
|
+
children: [rows, /*#__PURE__*/_jsx(rootProps.slots.detailPanels, {})]
|
|
153
|
+
})), hasContentFiller && /*#__PURE__*/_jsx("div", _extends({
|
|
154
|
+
className: gridClasses.contentFiller
|
|
155
|
+
}, getContentProps())), hasBottomFiller && /*#__PURE__*/_jsx(SpaceFiller, {
|
|
156
|
+
rowsLength: rows.length
|
|
157
|
+
}), /*#__PURE__*/_jsx(rootProps.slots.bottomContainer, _extends({}, containerVerticalProps, {
|
|
158
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.pinnedRows, {
|
|
159
|
+
position: "bottom"
|
|
160
|
+
})
|
|
161
|
+
}))]
|
|
130
162
|
}))
|
|
131
|
-
}))
|
|
132
|
-
rowsLength: rows.length
|
|
133
|
-
}), /*#__PURE__*/_jsx(rootProps.slots.bottomContainer, {
|
|
134
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.pinnedRows, {
|
|
135
|
-
position: "bottom",
|
|
136
|
-
virtualScroller: virtualScroller
|
|
137
|
-
})
|
|
138
|
-
})]
|
|
163
|
+
}))
|
|
139
164
|
})), hasScrollX && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
140
165
|
children: [rootProps.pinnedColumnsSectionSeparator?.endsWith('shadow') && /*#__PURE__*/_jsx(ScrollShadows, {
|
|
141
166
|
position: "horizontal"
|
|
@@ -34,7 +34,11 @@ const VirtualScrollerContentRoot = (0, _system.styled)('div', {
|
|
|
34
34
|
} = props;
|
|
35
35
|
return [styles.virtualScrollerContent, ownerState.overflowedContent && styles['virtualScrollerContent--overflowed']];
|
|
36
36
|
}
|
|
37
|
-
})({
|
|
37
|
+
})({
|
|
38
|
+
flex: '1 0 auto',
|
|
39
|
+
display: 'flex',
|
|
40
|
+
flexDirection: 'column'
|
|
41
|
+
});
|
|
38
42
|
const GridVirtualScrollerContent = exports.GridVirtualScrollerContent = (0, _forwardRef.forwardRef)(function GridVirtualScrollerContent(props, ref) {
|
|
39
43
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
40
44
|
const overflowedContent = !rootProps.autoHeight && props.style?.minHeight === 'auto';
|
|
@@ -27,7 +27,11 @@ const VirtualScrollerContentRoot = styled('div', {
|
|
|
27
27
|
} = props;
|
|
28
28
|
return [styles.virtualScrollerContent, ownerState.overflowedContent && styles['virtualScrollerContent--overflowed']];
|
|
29
29
|
}
|
|
30
|
-
})({
|
|
30
|
+
})({
|
|
31
|
+
flex: '1 0 auto',
|
|
32
|
+
display: 'flex',
|
|
33
|
+
flexDirection: 'column'
|
|
34
|
+
});
|
|
31
35
|
const GridVirtualScrollerContent = forwardRef(function GridVirtualScrollerContent(props, ref) {
|
|
32
36
|
const rootProps = useGridRootProps();
|
|
33
37
|
const overflowedContent = !rootProps.autoHeight && props.style?.minHeight === 'auto';
|
|
@@ -136,6 +136,30 @@ export interface GridClasses {
|
|
|
136
136
|
* Styles applied to the cell element if it is at the right edge of a cell selection range.
|
|
137
137
|
*/
|
|
138
138
|
'cell--rangeRight': string;
|
|
139
|
+
/**
|
|
140
|
+
* Styles applied to the cell element when it displays the fill handle.
|
|
141
|
+
*/
|
|
142
|
+
'cell--withFillHandle': string;
|
|
143
|
+
/**
|
|
144
|
+
* Styles applied to the cell element when it is in the fill preview range.
|
|
145
|
+
*/
|
|
146
|
+
'cell--fillPreview': string;
|
|
147
|
+
/**
|
|
148
|
+
* Styles applied to the cell element if it is at the top edge of the fill preview range.
|
|
149
|
+
*/
|
|
150
|
+
'cell--fillPreviewTop': string;
|
|
151
|
+
/**
|
|
152
|
+
* Styles applied to the cell element if it is at the bottom edge of the fill preview range.
|
|
153
|
+
*/
|
|
154
|
+
'cell--fillPreviewBottom': string;
|
|
155
|
+
/**
|
|
156
|
+
* Styles applied to the cell element if it is at the left edge of the fill preview range.
|
|
157
|
+
*/
|
|
158
|
+
'cell--fillPreviewLeft': string;
|
|
159
|
+
/**
|
|
160
|
+
* Styles applied to the cell element if it is at the right edge of the fill preview range.
|
|
161
|
+
*/
|
|
162
|
+
'cell--fillPreviewRight': string;
|
|
139
163
|
/**
|
|
140
164
|
* Styles applied to the cell element if it is pinned to the left.
|
|
141
165
|
*/
|
|
@@ -336,6 +360,11 @@ export interface GridClasses {
|
|
|
336
360
|
* Styles applied to the columns management empty text element.
|
|
337
361
|
*/
|
|
338
362
|
columnsManagementEmptyText: string;
|
|
363
|
+
/**
|
|
364
|
+
* Styles applied to the content filler.
|
|
365
|
+
* @ignore - do not document.
|
|
366
|
+
*/
|
|
367
|
+
contentFiller: string;
|
|
339
368
|
/**
|
|
340
369
|
* Styles applied to the top container.
|
|
341
370
|
*/
|
|
@@ -408,6 +437,11 @@ export interface GridClasses {
|
|
|
408
437
|
* @ignore - do not document.
|
|
409
438
|
*/
|
|
410
439
|
'filler--pinnedRight': string;
|
|
440
|
+
/**
|
|
441
|
+
* Styles applied to the horizontal filler element.
|
|
442
|
+
* @ignore - do not document.
|
|
443
|
+
*/
|
|
444
|
+
'filler--horizontal': string;
|
|
411
445
|
/**
|
|
412
446
|
* Styles applied to the root of the filter form component.
|
|
413
447
|
*/
|
|
@@ -604,6 +638,11 @@ export interface GridClasses {
|
|
|
604
638
|
* @ignore - do not document.
|
|
605
639
|
*/
|
|
606
640
|
'root--noToolbar': string;
|
|
641
|
+
/**
|
|
642
|
+
* Styles applied to the root element when layout mode is "controlled".
|
|
643
|
+
* @ignore - do not document.
|
|
644
|
+
*/
|
|
645
|
+
'virtualizer--layoutControlled': string;
|
|
607
646
|
/**
|
|
608
647
|
* Styles applied to the row element if the row is editable.
|
|
609
648
|
*/
|
|
@@ -974,6 +1013,6 @@ export declare function getDataGridUtilityClass(slot: string): string;
|
|
|
974
1013
|
*/
|
|
975
1014
|
export declare const gridClassesOverrides: {
|
|
976
1015
|
readonly root: ["autoHeight", "autosizing", "root--densityStandard", "root--densityComfortable", "root--densityCompact", "root--disableUserSelection", "root--noToolbar", "withVerticalBorder"];
|
|
977
|
-
readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
|
|
1016
|
+
readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--withFillHandle", "cell--fillPreview", "cell--fillPreviewTop", "cell--fillPreviewBottom", "cell--fillPreviewLeft", "cell--fillPreviewRight", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
|
|
978
1017
|
};
|
|
979
1018
|
export declare const gridClasses: Record<keyof GridClasses, string>;
|
|
@@ -136,6 +136,30 @@ export interface GridClasses {
|
|
|
136
136
|
* Styles applied to the cell element if it is at the right edge of a cell selection range.
|
|
137
137
|
*/
|
|
138
138
|
'cell--rangeRight': string;
|
|
139
|
+
/**
|
|
140
|
+
* Styles applied to the cell element when it displays the fill handle.
|
|
141
|
+
*/
|
|
142
|
+
'cell--withFillHandle': string;
|
|
143
|
+
/**
|
|
144
|
+
* Styles applied to the cell element when it is in the fill preview range.
|
|
145
|
+
*/
|
|
146
|
+
'cell--fillPreview': string;
|
|
147
|
+
/**
|
|
148
|
+
* Styles applied to the cell element if it is at the top edge of the fill preview range.
|
|
149
|
+
*/
|
|
150
|
+
'cell--fillPreviewTop': string;
|
|
151
|
+
/**
|
|
152
|
+
* Styles applied to the cell element if it is at the bottom edge of the fill preview range.
|
|
153
|
+
*/
|
|
154
|
+
'cell--fillPreviewBottom': string;
|
|
155
|
+
/**
|
|
156
|
+
* Styles applied to the cell element if it is at the left edge of the fill preview range.
|
|
157
|
+
*/
|
|
158
|
+
'cell--fillPreviewLeft': string;
|
|
159
|
+
/**
|
|
160
|
+
* Styles applied to the cell element if it is at the right edge of the fill preview range.
|
|
161
|
+
*/
|
|
162
|
+
'cell--fillPreviewRight': string;
|
|
139
163
|
/**
|
|
140
164
|
* Styles applied to the cell element if it is pinned to the left.
|
|
141
165
|
*/
|
|
@@ -336,6 +360,11 @@ export interface GridClasses {
|
|
|
336
360
|
* Styles applied to the columns management empty text element.
|
|
337
361
|
*/
|
|
338
362
|
columnsManagementEmptyText: string;
|
|
363
|
+
/**
|
|
364
|
+
* Styles applied to the content filler.
|
|
365
|
+
* @ignore - do not document.
|
|
366
|
+
*/
|
|
367
|
+
contentFiller: string;
|
|
339
368
|
/**
|
|
340
369
|
* Styles applied to the top container.
|
|
341
370
|
*/
|
|
@@ -408,6 +437,11 @@ export interface GridClasses {
|
|
|
408
437
|
* @ignore - do not document.
|
|
409
438
|
*/
|
|
410
439
|
'filler--pinnedRight': string;
|
|
440
|
+
/**
|
|
441
|
+
* Styles applied to the horizontal filler element.
|
|
442
|
+
* @ignore - do not document.
|
|
443
|
+
*/
|
|
444
|
+
'filler--horizontal': string;
|
|
411
445
|
/**
|
|
412
446
|
* Styles applied to the root of the filter form component.
|
|
413
447
|
*/
|
|
@@ -604,6 +638,11 @@ export interface GridClasses {
|
|
|
604
638
|
* @ignore - do not document.
|
|
605
639
|
*/
|
|
606
640
|
'root--noToolbar': string;
|
|
641
|
+
/**
|
|
642
|
+
* Styles applied to the root element when layout mode is "controlled".
|
|
643
|
+
* @ignore - do not document.
|
|
644
|
+
*/
|
|
645
|
+
'virtualizer--layoutControlled': string;
|
|
607
646
|
/**
|
|
608
647
|
* Styles applied to the row element if the row is editable.
|
|
609
648
|
*/
|
|
@@ -974,6 +1013,6 @@ export declare function getDataGridUtilityClass(slot: string): string;
|
|
|
974
1013
|
*/
|
|
975
1014
|
export declare const gridClassesOverrides: {
|
|
976
1015
|
readonly root: ["autoHeight", "autosizing", "root--densityStandard", "root--densityComfortable", "root--densityCompact", "root--disableUserSelection", "root--noToolbar", "withVerticalBorder"];
|
|
977
|
-
readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
|
|
1016
|
+
readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--withFillHandle", "cell--fillPreview", "cell--fillPreviewTop", "cell--fillPreviewBottom", "cell--fillPreviewLeft", "cell--fillPreviewRight", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
|
|
978
1017
|
};
|
|
979
1018
|
export declare const gridClasses: Record<keyof GridClasses, string>;
|
package/constants/gridClasses.js
CHANGED
|
@@ -26,8 +26,8 @@ function getDataGridUtilityClass(slot) {
|
|
|
26
26
|
*/
|
|
27
27
|
const gridClassesOverrides = exports.gridClassesOverrides = {
|
|
28
28
|
root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
|
|
29
|
-
children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
|
|
29
|
+
children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--withFillHandle', 'cell--fillPreview', 'cell--fillPreviewTop', 'cell--fillPreviewBottom', 'cell--fillPreviewLeft', 'cell--fillPreviewRight', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
|
|
30
30
|
// TODO v9: Rename to `cell--dragging`
|
|
31
31
|
'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
|
|
32
32
|
};
|
|
33
|
-
const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
|
|
33
|
+
const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
|
|
@@ -18,8 +18,8 @@ export function getDataGridUtilityClass(slot) {
|
|
|
18
18
|
*/
|
|
19
19
|
export const gridClassesOverrides = {
|
|
20
20
|
root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
|
|
21
|
-
children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
|
|
21
|
+
children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--withFillHandle', 'cell--fillPreview', 'cell--fillPreviewTop', 'cell--fillPreviewBottom', 'cell--fillPreviewLeft', 'cell--fillPreviewRight', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
|
|
22
22
|
// TODO v9: Rename to `cell--dragging`
|
|
23
23
|
'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
|
|
24
24
|
};
|
|
25
|
-
export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
|
|
25
|
+
export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
|
|
@@ -61,7 +61,7 @@ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
61
61
|
filterPanelOperator: 'Operator',
|
|
62
62
|
filterPanelOperatorAnd: 'And',
|
|
63
63
|
filterPanelOperatorOr: 'Or',
|
|
64
|
-
|
|
64
|
+
filterPanelColumn: 'Column',
|
|
65
65
|
filterPanelInputLabel: 'Value',
|
|
66
66
|
filterPanelInputPlaceholder: 'Filter value',
|
|
67
67
|
// Filter operators text
|
|
@@ -55,7 +55,7 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
55
55
|
filterPanelOperator: 'Operator',
|
|
56
56
|
filterPanelOperatorAnd: 'And',
|
|
57
57
|
filterPanelOperatorOr: 'Or',
|
|
58
|
-
|
|
58
|
+
filterPanelColumn: 'Column',
|
|
59
59
|
filterPanelInputLabel: 'Value',
|
|
60
60
|
filterPanelInputPlaceholder: 'Filter value',
|
|
61
61
|
// Filter operators text
|
|
@@ -133,6 +133,7 @@ function useGridVirtualizer() {
|
|
|
133
133
|
layout,
|
|
134
134
|
dimensions: dimensionsParams,
|
|
135
135
|
virtualization: {
|
|
136
|
+
layoutMode: rootProps.experimentalFeatures?.virtualizerLayoutMode ?? 'uncontrolled',
|
|
136
137
|
isRtl,
|
|
137
138
|
rowBufferPx: rootProps.rowBufferPx,
|
|
138
139
|
columnBufferPx: rootProps.columnBufferPx
|
|
@@ -125,6 +125,7 @@ export function useGridVirtualizer() {
|
|
|
125
125
|
layout,
|
|
126
126
|
dimensions: dimensionsParams,
|
|
127
127
|
virtualization: {
|
|
128
|
+
layoutMode: rootProps.experimentalFeatures?.virtualizerLayoutMode ?? 'uncontrolled',
|
|
128
129
|
isRtl,
|
|
129
130
|
rowBufferPx: rootProps.rowBufferPx,
|
|
130
131
|
columnBufferPx: rootProps.columnBufferPx
|
|
@@ -19,6 +19,7 @@ var _useGridEvent = require("../../utils/useGridEvent");
|
|
|
19
19
|
var _GridColumnHeaderItem = require("../../../components/columnHeaders/GridColumnHeaderItem");
|
|
20
20
|
var _gridDimensionsSelectors = require("../dimensions/gridDimensionsSelectors");
|
|
21
21
|
var _virtualization = require("../virtualization");
|
|
22
|
+
var _gridVirtualizationSelectors = require("../virtualization/gridVirtualizationSelectors");
|
|
22
23
|
var _GridColumnGroupHeader = require("../../../components/columnHeaders/GridColumnGroupHeader");
|
|
23
24
|
var _columns = require("../columns");
|
|
24
25
|
var _gridColumnGroupsSelector = require("../columnGrouping/gridColumnGroupsSelector");
|
|
@@ -59,7 +60,8 @@ const useGridColumnHeaders = props => {
|
|
|
59
60
|
const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
|
|
60
61
|
const pinnedColumns = (0, _utils.useGridSelector)(apiRef, _columns.gridVisiblePinnedColumnDefinitionsSelector);
|
|
61
62
|
const columnsLookup = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnLookupSelector);
|
|
62
|
-
const
|
|
63
|
+
const layoutMode = (0, _utils.useGridSelector)(apiRef, _gridVirtualizationSelectors.gridVirtualizationLayoutModeSelector);
|
|
64
|
+
const offsetLeft = (0, _xVirtualizer.computeOffsetLeft)(columnPositions, renderContext, pinnedColumns.left.length, layoutMode);
|
|
63
65
|
const columnsTotalWidth = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridColumnsTotalWidthSelector);
|
|
64
66
|
const gridHasFiller = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasFillerSelector);
|
|
65
67
|
const headerHeight = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHeaderHeightSelector);
|
|
@@ -114,7 +116,7 @@ const useGridColumnHeaders = props => {
|
|
|
114
116
|
}
|
|
115
117
|
}), children, isNotPinned && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
116
118
|
role: "presentation",
|
|
117
|
-
className: (0, _clsx.default)(_gridClasses.gridClasses.filler, borderBottom && _gridClasses.gridClasses['filler--borderBottom'])
|
|
119
|
+
className: (0, _clsx.default)(_gridClasses.gridClasses.filler, _gridClasses.gridClasses['filler--horizontal'], borderBottom && _gridClasses.gridClasses['filler--borderBottom'])
|
|
118
120
|
}), hasScrollbarFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
|
|
119
121
|
pinnedRight: isPinnedRight
|
|
120
122
|
})]
|
|
@@ -169,7 +171,8 @@ const useGridColumnHeaders = props => {
|
|
|
169
171
|
ownerState: rootProps,
|
|
170
172
|
className: _gridClasses.gridClasses['row--borderBottom'],
|
|
171
173
|
style: {
|
|
172
|
-
height: headerHeight
|
|
174
|
+
height: headerHeight,
|
|
175
|
+
'--height': `${headerHeight}px`
|
|
173
176
|
},
|
|
174
177
|
children: [leftRenderContext && getColumnHeaders({
|
|
175
178
|
position: _constants.PinnedColumnPosition.LEFT,
|
|
@@ -277,7 +280,8 @@ const useGridColumnHeaders = props => {
|
|
|
277
280
|
"aria-rowindex": depth + 1,
|
|
278
281
|
ownerState: rootProps,
|
|
279
282
|
style: {
|
|
280
|
-
height: groupHeaderHeight
|
|
283
|
+
height: groupHeaderHeight,
|
|
284
|
+
'--height': `${groupHeaderHeight}px`
|
|
281
285
|
},
|
|
282
286
|
children: [leftRenderContext && getColumnGroupHeaders({
|
|
283
287
|
depth,
|
|
@@ -12,6 +12,7 @@ import { useGridEvent } from "../../utils/useGridEvent.mjs";
|
|
|
12
12
|
import { GridColumnHeaderItem } from "../../../components/columnHeaders/GridColumnHeaderItem.mjs";
|
|
13
13
|
import { gridColumnsTotalWidthSelector, gridGroupHeaderHeightSelector, gridHasFillerSelector, gridHeaderHeightSelector, gridVerticalScrollbarWidthSelector } from "../dimensions/gridDimensionsSelectors.mjs";
|
|
14
14
|
import { gridRenderContextColumnsSelector } from "../virtualization/index.mjs";
|
|
15
|
+
import { gridVirtualizationLayoutModeSelector } from "../virtualization/gridVirtualizationSelectors.mjs";
|
|
15
16
|
import { GridColumnGroupHeader } from "../../../components/columnHeaders/GridColumnGroupHeader.mjs";
|
|
16
17
|
import { gridColumnPositionsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnLookupSelector } from "../columns/index.mjs";
|
|
17
18
|
import { gridColumnGroupsUnwrappedModelSelector } from "../columnGrouping/gridColumnGroupsSelector.mjs";
|
|
@@ -52,7 +53,8 @@ export const useGridColumnHeaders = props => {
|
|
|
52
53
|
const renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
|
|
53
54
|
const pinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
|
|
54
55
|
const columnsLookup = useGridSelector(apiRef, gridColumnLookupSelector);
|
|
55
|
-
const
|
|
56
|
+
const layoutMode = useGridSelector(apiRef, gridVirtualizationLayoutModeSelector);
|
|
57
|
+
const offsetLeft = computeOffsetLeft(columnPositions, renderContext, pinnedColumns.left.length, layoutMode);
|
|
56
58
|
const columnsTotalWidth = useGridSelector(apiRef, gridColumnsTotalWidthSelector);
|
|
57
59
|
const gridHasFiller = useGridSelector(apiRef, gridHasFillerSelector);
|
|
58
60
|
const headerHeight = useGridSelector(apiRef, gridHeaderHeightSelector);
|
|
@@ -107,7 +109,7 @@ export const useGridColumnHeaders = props => {
|
|
|
107
109
|
}
|
|
108
110
|
}), children, isNotPinned && /*#__PURE__*/_jsx("div", {
|
|
109
111
|
role: "presentation",
|
|
110
|
-
className: clsx(gridClasses.filler, borderBottom && gridClasses['filler--borderBottom'])
|
|
112
|
+
className: clsx(gridClasses.filler, gridClasses['filler--horizontal'], borderBottom && gridClasses['filler--borderBottom'])
|
|
111
113
|
}), hasScrollbarFiller && /*#__PURE__*/_jsx(ScrollbarFiller, {
|
|
112
114
|
pinnedRight: isPinnedRight
|
|
113
115
|
})]
|
|
@@ -162,7 +164,8 @@ export const useGridColumnHeaders = props => {
|
|
|
162
164
|
ownerState: rootProps,
|
|
163
165
|
className: gridClasses['row--borderBottom'],
|
|
164
166
|
style: {
|
|
165
|
-
height: headerHeight
|
|
167
|
+
height: headerHeight,
|
|
168
|
+
'--height': `${headerHeight}px`
|
|
166
169
|
},
|
|
167
170
|
children: [leftRenderContext && getColumnHeaders({
|
|
168
171
|
position: PinnedColumnPosition.LEFT,
|
|
@@ -270,7 +273,8 @@ export const useGridColumnHeaders = props => {
|
|
|
270
273
|
"aria-rowindex": depth + 1,
|
|
271
274
|
ownerState: rootProps,
|
|
272
275
|
style: {
|
|
273
|
-
height: groupHeaderHeight
|
|
276
|
+
height: groupHeaderHeight,
|
|
277
|
+
'--height': `${groupHeaderHeight}px`
|
|
274
278
|
},
|
|
275
279
|
children: [leftRenderContext && getColumnGroupHeaders({
|
|
276
280
|
depth,
|
|
@@ -133,6 +133,7 @@ function setCSSVariables(root, dimensions) {
|
|
|
133
133
|
set('--DataGrid-headersTotalHeight', `${dimensions.headersTotalHeight}px`);
|
|
134
134
|
set('--DataGrid-topContainerHeight', `${dimensions.topContainerHeight}px`);
|
|
135
135
|
set('--DataGrid-bottomContainerHeight', `${dimensions.bottomContainerHeight}px`);
|
|
136
|
+
set('--DataGrid-horizontalFiller', `${Math.max(0, dimensions.viewportOuterSize.width - dimensions.columnsTotalWidth)}px`);
|
|
136
137
|
set('--height', `${dimensions.rowHeight}px`);
|
|
137
138
|
}
|
|
138
139
|
function getStaticDimensions(props, apiRef, density, pinnedColumnns) {
|
|
@@ -124,6 +124,7 @@ function setCSSVariables(root, dimensions) {
|
|
|
124
124
|
set('--DataGrid-headersTotalHeight', `${dimensions.headersTotalHeight}px`);
|
|
125
125
|
set('--DataGrid-topContainerHeight', `${dimensions.topContainerHeight}px`);
|
|
126
126
|
set('--DataGrid-bottomContainerHeight', `${dimensions.bottomContainerHeight}px`);
|
|
127
|
+
set('--DataGrid-horizontalFiller', `${Math.max(0, dimensions.viewportOuterSize.width - dimensions.columnsTotalWidth)}px`);
|
|
127
128
|
set('--height', `${dimensions.rowHeight}px`);
|
|
128
129
|
}
|
|
129
130
|
function getStaticDimensions(props, apiRef, density, pinnedColumnns) {
|
|
@@ -116,7 +116,11 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
116
116
|
// Allow to overflow to not hide the border of the last row
|
|
117
117
|
const gridMain = gridClone.querySelector(`.${_gridClasses.gridClasses.main}`);
|
|
118
118
|
gridMain.style.overflow = 'visible';
|
|
119
|
-
gridClone.querySelector(`.${_gridClasses.gridClasses.virtualScrollerRenderZone}`)
|
|
119
|
+
const renderZone = gridClone.querySelector(`.${_gridClasses.gridClasses.virtualScrollerRenderZone}`);
|
|
120
|
+
renderZone.style.position = 'static';
|
|
121
|
+
renderZone.style.transform = '';
|
|
122
|
+
const contentFiller = gridClone.querySelector(`.${_gridClasses.gridClasses.contentFiller}`);
|
|
123
|
+
contentFiller.style.display = 'none';
|
|
120
124
|
virtualScrollerContent.style.flexBasis = 'auto';
|
|
121
125
|
gridClone.querySelector(`.${_gridClasses.gridClasses['scrollbar--vertical']}`)?.remove();
|
|
122
126
|
if (!(virtualScrollerContent.nextSibling instanceof HTMLElement && virtualScrollerContent.nextSibling.classList.contains(_gridClasses.gridClasses.filler))) {
|
|
@@ -109,7 +109,11 @@ export const useGridPrintExport = (apiRef, props) => {
|
|
|
109
109
|
// Allow to overflow to not hide the border of the last row
|
|
110
110
|
const gridMain = gridClone.querySelector(`.${gridClasses.main}`);
|
|
111
111
|
gridMain.style.overflow = 'visible';
|
|
112
|
-
gridClone.querySelector(`.${gridClasses.virtualScrollerRenderZone}`)
|
|
112
|
+
const renderZone = gridClone.querySelector(`.${gridClasses.virtualScrollerRenderZone}`);
|
|
113
|
+
renderZone.style.position = 'static';
|
|
114
|
+
renderZone.style.transform = '';
|
|
115
|
+
const contentFiller = gridClone.querySelector(`.${gridClasses.contentFiller}`);
|
|
116
|
+
contentFiller.style.display = 'none';
|
|
113
117
|
virtualScrollerContent.style.flexBasis = 'auto';
|
|
114
118
|
gridClone.querySelector(`.${gridClasses['scrollbar--vertical']}`)?.remove();
|
|
115
119
|
if (!(virtualScrollerContent.nextSibling instanceof HTMLElement && virtualScrollerContent.nextSibling.classList.contains(gridClasses.filler))) {
|
|
@@ -301,6 +301,10 @@ const useGridFocus = (apiRef, props) => {
|
|
|
301
301
|
if (event.relatedTarget?.getAttribute('class')?.includes(_gridClasses.gridClasses.columnHeader)) {
|
|
302
302
|
return;
|
|
303
303
|
}
|
|
304
|
+
// Don't clear focus when it moves to a body cell — setCellFocus already set it
|
|
305
|
+
if (event.relatedTarget?.getAttribute('class')?.includes(_gridClasses.gridClasses.cell)) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
304
308
|
logger.debug(`Clearing focus`);
|
|
305
309
|
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
306
310
|
focus: {
|