@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
|
@@ -6,16 +6,17 @@ import useId from '@mui/utils/useId';
|
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import capitalize from '@mui/utils/capitalize';
|
|
8
8
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
9
|
+
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
|
|
9
10
|
import { doesSupportPreventScroll } from "../../utils/doesSupportPreventScroll.mjs";
|
|
10
11
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.mjs";
|
|
11
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
|
|
12
13
|
import { gridColumnGroupsLookupSelector } from "../../hooks/features/columnGrouping/gridColumnGroupsSelector.mjs";
|
|
13
|
-
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.mjs";
|
|
14
14
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.mjs";
|
|
15
15
|
import { GridGenericColumnHeaderItem } from "./GridGenericColumnHeaderItem.mjs";
|
|
16
16
|
import { isEventTargetInPortal } from "../../utils/domUtils.mjs";
|
|
17
17
|
import { PinnedColumnPosition } from "../../internals/constants.mjs";
|
|
18
18
|
import { attachPinnedStyle } from "../../internals/utils/index.mjs";
|
|
19
|
+
import { usePinnedScrollOffset } from "../../hooks/utils/usePinnedScrollOffset.mjs";
|
|
19
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
21
|
const useUtilityClasses = ownerState => {
|
|
21
22
|
const {
|
|
@@ -51,10 +52,10 @@ function GridColumnGroupHeader(props) {
|
|
|
51
52
|
pinnedPosition,
|
|
52
53
|
pinnedOffset
|
|
53
54
|
} = props;
|
|
55
|
+
const apiRef = useGridPrivateApiContext();
|
|
54
56
|
const rootProps = useGridRootProps();
|
|
55
57
|
const isRtl = useRtl();
|
|
56
58
|
const headerCellRef = React.useRef(null);
|
|
57
|
-
const apiRef = useGridApiContext();
|
|
58
59
|
const columnGroupsLookup = useGridSelector(apiRef, gridColumnGroupsLookupSelector);
|
|
59
60
|
const group = groupId ? columnGroupsLookup[groupId] : {};
|
|
60
61
|
const {
|
|
@@ -122,7 +123,8 @@ function GridColumnGroupHeader(props) {
|
|
|
122
123
|
onBlur: publish('columnGroupHeaderBlur')
|
|
123
124
|
}), [publish]);
|
|
124
125
|
const headerClassName = typeof group.headerClassName === 'function' ? group.headerClassName(renderParams) : group.headerClassName;
|
|
125
|
-
const
|
|
126
|
+
const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedPosition);
|
|
127
|
+
const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
|
|
126
128
|
return /*#__PURE__*/_jsx(GridGenericColumnHeaderItem, _extends({
|
|
127
129
|
ref: headerCellRef,
|
|
128
130
|
classes: classes,
|
|
@@ -27,6 +27,7 @@ var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
|
|
|
27
27
|
var _domUtils = require("../../utils/domUtils");
|
|
28
28
|
var _constants = require("../../internals/constants");
|
|
29
29
|
var _utils = require("../../internals/utils");
|
|
30
|
+
var _usePinnedScrollOffset = require("../../hooks/utils/usePinnedScrollOffset");
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
32
|
const useUtilityClasses = ownerState => {
|
|
32
33
|
const {
|
|
@@ -224,7 +225,8 @@ function GridColumnHeaderItem(props) {
|
|
|
224
225
|
colDef
|
|
225
226
|
}) : colDef.headerClassName;
|
|
226
227
|
const label = colDef.headerName ?? colDef.field;
|
|
227
|
-
const
|
|
228
|
+
const pinnedScrollOffset = (0, _usePinnedScrollOffset.usePinnedScrollOffset)(apiRef, pinnedPosition);
|
|
229
|
+
const style = React.useMemo(() => (0, _utils.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
|
|
228
230
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
|
|
229
231
|
ref: headerCellRef,
|
|
230
232
|
classes: classes,
|
|
@@ -20,6 +20,7 @@ import { GridGenericColumnHeaderItem } from "./GridGenericColumnHeaderItem.mjs";
|
|
|
20
20
|
import { isEventTargetInPortal } from "../../utils/domUtils.mjs";
|
|
21
21
|
import { PinnedColumnPosition } from "../../internals/constants.mjs";
|
|
22
22
|
import { attachPinnedStyle } from "../../internals/utils/index.mjs";
|
|
23
|
+
import { usePinnedScrollOffset } from "../../hooks/utils/usePinnedScrollOffset.mjs";
|
|
23
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
25
|
const useUtilityClasses = ownerState => {
|
|
25
26
|
const {
|
|
@@ -217,7 +218,8 @@ function GridColumnHeaderItem(props) {
|
|
|
217
218
|
colDef
|
|
218
219
|
}) : colDef.headerClassName;
|
|
219
220
|
const label = colDef.headerName ?? colDef.field;
|
|
220
|
-
const
|
|
221
|
+
const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedPosition);
|
|
222
|
+
const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
|
|
221
223
|
return /*#__PURE__*/_jsx(GridGenericColumnHeaderItem, _extends({
|
|
222
224
|
ref: headerCellRef,
|
|
223
225
|
classes: classes,
|
|
@@ -108,6 +108,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
108
108
|
'--DataGrid-headersTotalHeight': '0px',
|
|
109
109
|
'--DataGrid-topContainerHeight': '0px',
|
|
110
110
|
'--DataGrid-bottomContainerHeight': '0px',
|
|
111
|
+
'--DataGrid-horizontalFiller': '0px',
|
|
111
112
|
flex: 1,
|
|
112
113
|
boxSizing: 'border-box',
|
|
113
114
|
position: 'relative',
|
|
@@ -225,7 +226,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
225
226
|
position: 'relative',
|
|
226
227
|
display: 'flex',
|
|
227
228
|
alignItems: 'center',
|
|
228
|
-
backgroundColor: headerBackground
|
|
229
|
+
backgroundColor: headerBackground,
|
|
230
|
+
flex: '0 0 auto'
|
|
229
231
|
},
|
|
230
232
|
[`& .${_gridClasses.gridClasses.columnHeader} .${_gridClasses.gridClasses.sortButton}`]: {
|
|
231
233
|
backgroundColor: _cssVariables.vars.header.background.base
|
|
@@ -433,6 +435,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
433
435
|
/* Row styles */
|
|
434
436
|
[`.${_gridClasses.gridClasses.row}`]: {
|
|
435
437
|
display: 'flex',
|
|
438
|
+
position: 'relative',
|
|
436
439
|
width: 'var(--DataGrid-rowWidth)',
|
|
437
440
|
breakInside: 'avoid',
|
|
438
441
|
// Avoid the row to be broken in two different print pages.
|
|
@@ -451,8 +454,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
451
454
|
[`&.${_gridClasses.gridClasses.rowSkeleton}:hover`]: {
|
|
452
455
|
backgroundColor: 'transparent'
|
|
453
456
|
},
|
|
454
|
-
'&.Mui-selected': selectedStyles
|
|
455
|
-
position: 'relative'
|
|
457
|
+
'&.Mui-selected': selectedStyles
|
|
456
458
|
},
|
|
457
459
|
/* Cell styles */
|
|
458
460
|
[`& .${_gridClasses.gridClasses.cell}`]: {
|
|
@@ -469,6 +471,26 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
469
471
|
textOverflow: 'ellipsis',
|
|
470
472
|
'&.Mui-selected': selectedStyles
|
|
471
473
|
},
|
|
474
|
+
/* Default range border styles using box-shadow to avoid layout shift */
|
|
475
|
+
[`& .${_gridClasses.gridClasses.cell}.Mui-selected`]: {
|
|
476
|
+
'--range-top': '0 0 0 0 transparent',
|
|
477
|
+
'--range-bottom': '0 0 0 0 transparent',
|
|
478
|
+
'--range-left': '0 0 0 0 transparent',
|
|
479
|
+
'--range-right': '0 0 0 0 transparent',
|
|
480
|
+
boxShadow: 'var(--range-top), var(--range-bottom), var(--range-left), var(--range-right)'
|
|
481
|
+
},
|
|
482
|
+
[`& .${_gridClasses.gridClasses['cell--rangeTop']}`]: {
|
|
483
|
+
'--range-top': `inset 0 2px 0 0 ${_cssVariables.vars.colors.interactive.focus}`
|
|
484
|
+
},
|
|
485
|
+
[`& .${_gridClasses.gridClasses['cell--rangeBottom']}`]: {
|
|
486
|
+
'--range-bottom': `inset 0 -2px 0 0 ${_cssVariables.vars.colors.interactive.focus}`
|
|
487
|
+
},
|
|
488
|
+
[`& .${_gridClasses.gridClasses['cell--rangeLeft']}`]: {
|
|
489
|
+
'--range-left': `inset 2px 0 0 0 ${_cssVariables.vars.colors.interactive.focus}`
|
|
490
|
+
},
|
|
491
|
+
[`& .${_gridClasses.gridClasses['cell--rangeRight']}`]: {
|
|
492
|
+
'--range-right': `inset -2px 0 0 0 ${_cssVariables.vars.colors.interactive.focus}`
|
|
493
|
+
},
|
|
472
494
|
[`& .${_gridClasses.gridClasses['virtualScrollerContent--overflowed']} .${_gridClasses.gridClasses['row--lastVisible']} .${_gridClasses.gridClasses.cell}`]: {
|
|
473
495
|
borderTopColor: 'transparent'
|
|
474
496
|
},
|
|
@@ -680,16 +702,18 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
680
702
|
[`& .${_gridClasses.gridClasses['filler--borderBottom']}`]: {
|
|
681
703
|
borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
|
|
682
704
|
},
|
|
705
|
+
[`& .${_gridClasses.gridClasses['filler--horizontal']}`]: {
|
|
706
|
+
width: 'var(--DataGrid-horizontalFiller)'
|
|
707
|
+
},
|
|
683
708
|
[`& .${_gridClasses.gridClasses.columnHeaders} .${_gridClasses.gridClasses.filler}`]: {
|
|
684
709
|
backgroundColor: headerBackground
|
|
685
710
|
},
|
|
686
711
|
/* Used when skeleton/no columns overlay is visible */
|
|
687
712
|
[`& .${_gridClasses.gridClasses['main--hiddenContent']}`]: {
|
|
688
|
-
[`& .${_gridClasses.gridClasses.
|
|
713
|
+
[`& .${_gridClasses.gridClasses.virtualScrollerRenderZone}`]: {
|
|
689
714
|
// We use visibility hidden so that the virtual scroller content retains its height.
|
|
690
715
|
// Position fixed is used to remove the virtual scroller content from the flow.
|
|
691
716
|
// https://github.com/mui/mui-x/issues/14061
|
|
692
|
-
position: 'fixed',
|
|
693
717
|
visibility: 'hidden'
|
|
694
718
|
},
|
|
695
719
|
// Hide grid content
|
|
@@ -697,11 +721,68 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
697
721
|
display: 'none'
|
|
698
722
|
}
|
|
699
723
|
},
|
|
724
|
+
/* Fill handle styles */
|
|
725
|
+
[`& .${_gridClasses.gridClasses['cell--withFillHandle']}`]: {
|
|
726
|
+
position: 'relative',
|
|
727
|
+
'&::after': {
|
|
728
|
+
content: '""',
|
|
729
|
+
position: 'absolute',
|
|
730
|
+
bottom: 0,
|
|
731
|
+
insetInlineEnd: 0,
|
|
732
|
+
width: 7,
|
|
733
|
+
height: 7,
|
|
734
|
+
backgroundColor: _cssVariables.vars.colors.interactive.focus,
|
|
735
|
+
cursor: 'crosshair',
|
|
736
|
+
zIndex: 50
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
[`& .${_gridClasses.gridClasses['cell--fillPreview']}`]: {
|
|
740
|
+
backgroundColor: `color-mix(in srgb, ${_cssVariables.vars.colors.interactive.focus} 8%, transparent)`
|
|
741
|
+
},
|
|
742
|
+
[`& .${_gridClasses.gridClasses['cell--fillPreviewTop']}`]: {
|
|
743
|
+
borderTop: `1px dashed ${_cssVariables.vars.colors.interactive.focus}`
|
|
744
|
+
},
|
|
745
|
+
[`& .${_gridClasses.gridClasses['cell--fillPreviewBottom']}`]: {
|
|
746
|
+
borderBottom: `1px dashed ${_cssVariables.vars.colors.interactive.focus}`
|
|
747
|
+
},
|
|
748
|
+
[`& .${_gridClasses.gridClasses['cell--fillPreviewLeft']}`]: {
|
|
749
|
+
borderLeft: `1px dashed ${_cssVariables.vars.colors.interactive.focus}`
|
|
750
|
+
},
|
|
751
|
+
[`& .${_gridClasses.gridClasses['cell--fillPreviewRight']}`]: {
|
|
752
|
+
borderRight: `1px dashed ${_cssVariables.vars.colors.interactive.focus}`
|
|
753
|
+
},
|
|
700
754
|
[`& .${_gridClasses.gridClasses['row--beingDragged']}`]: {
|
|
701
755
|
color: _cssVariables.vars.colors.foreground.disabled,
|
|
702
756
|
'&:hover': {
|
|
703
757
|
backgroundColor: 'transparent'
|
|
704
758
|
}
|
|
759
|
+
},
|
|
760
|
+
/* Controlled layout overrides (absolute positioning for pinned elements) */
|
|
761
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['columnHeader--pinnedLeft']},
|
|
762
|
+
& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['columnHeader--pinnedRight']}`]: {
|
|
763
|
+
position: 'absolute',
|
|
764
|
+
height: 'var(--height)'
|
|
765
|
+
},
|
|
766
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['cell--pinnedLeft']},
|
|
767
|
+
& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['cell--pinnedRight']}`]: {
|
|
768
|
+
position: 'absolute'
|
|
769
|
+
},
|
|
770
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses.row}`]: {
|
|
771
|
+
position: 'static'
|
|
772
|
+
},
|
|
773
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}`]: {
|
|
774
|
+
position: 'absolute',
|
|
775
|
+
height: 'var(--height)'
|
|
776
|
+
},
|
|
777
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses.virtualScrollerRenderZone}`]: {
|
|
778
|
+
position: 'static',
|
|
779
|
+
width: 'fit-content'
|
|
780
|
+
},
|
|
781
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['container--top']}`]: {
|
|
782
|
+
width: 'fit-content'
|
|
783
|
+
},
|
|
784
|
+
[`& .${_gridClasses.gridClasses['virtualizer--layoutControlled']} .${_gridClasses.gridClasses['container--bottom']}`]: {
|
|
785
|
+
width: 'fit-content'
|
|
705
786
|
}
|
|
706
787
|
};
|
|
707
788
|
return gridStyle;
|
|
@@ -102,6 +102,7 @@ export const GridRootStyles = styled('div', {
|
|
|
102
102
|
'--DataGrid-headersTotalHeight': '0px',
|
|
103
103
|
'--DataGrid-topContainerHeight': '0px',
|
|
104
104
|
'--DataGrid-bottomContainerHeight': '0px',
|
|
105
|
+
'--DataGrid-horizontalFiller': '0px',
|
|
105
106
|
flex: 1,
|
|
106
107
|
boxSizing: 'border-box',
|
|
107
108
|
position: 'relative',
|
|
@@ -219,7 +220,8 @@ export const GridRootStyles = styled('div', {
|
|
|
219
220
|
position: 'relative',
|
|
220
221
|
display: 'flex',
|
|
221
222
|
alignItems: 'center',
|
|
222
|
-
backgroundColor: headerBackground
|
|
223
|
+
backgroundColor: headerBackground,
|
|
224
|
+
flex: '0 0 auto'
|
|
223
225
|
},
|
|
224
226
|
[`& .${c.columnHeader} .${c.sortButton}`]: {
|
|
225
227
|
backgroundColor: vars.header.background.base
|
|
@@ -427,6 +429,7 @@ export const GridRootStyles = styled('div', {
|
|
|
427
429
|
/* Row styles */
|
|
428
430
|
[`.${c.row}`]: {
|
|
429
431
|
display: 'flex',
|
|
432
|
+
position: 'relative',
|
|
430
433
|
width: 'var(--DataGrid-rowWidth)',
|
|
431
434
|
breakInside: 'avoid',
|
|
432
435
|
// Avoid the row to be broken in two different print pages.
|
|
@@ -445,8 +448,7 @@ export const GridRootStyles = styled('div', {
|
|
|
445
448
|
[`&.${c.rowSkeleton}:hover`]: {
|
|
446
449
|
backgroundColor: 'transparent'
|
|
447
450
|
},
|
|
448
|
-
'&.Mui-selected': selectedStyles
|
|
449
|
-
position: 'relative'
|
|
451
|
+
'&.Mui-selected': selectedStyles
|
|
450
452
|
},
|
|
451
453
|
/* Cell styles */
|
|
452
454
|
[`& .${c.cell}`]: {
|
|
@@ -463,6 +465,26 @@ export const GridRootStyles = styled('div', {
|
|
|
463
465
|
textOverflow: 'ellipsis',
|
|
464
466
|
'&.Mui-selected': selectedStyles
|
|
465
467
|
},
|
|
468
|
+
/* Default range border styles using box-shadow to avoid layout shift */
|
|
469
|
+
[`& .${c.cell}.Mui-selected`]: {
|
|
470
|
+
'--range-top': '0 0 0 0 transparent',
|
|
471
|
+
'--range-bottom': '0 0 0 0 transparent',
|
|
472
|
+
'--range-left': '0 0 0 0 transparent',
|
|
473
|
+
'--range-right': '0 0 0 0 transparent',
|
|
474
|
+
boxShadow: 'var(--range-top), var(--range-bottom), var(--range-left), var(--range-right)'
|
|
475
|
+
},
|
|
476
|
+
[`& .${c['cell--rangeTop']}`]: {
|
|
477
|
+
'--range-top': `inset 0 2px 0 0 ${vars.colors.interactive.focus}`
|
|
478
|
+
},
|
|
479
|
+
[`& .${c['cell--rangeBottom']}`]: {
|
|
480
|
+
'--range-bottom': `inset 0 -2px 0 0 ${vars.colors.interactive.focus}`
|
|
481
|
+
},
|
|
482
|
+
[`& .${c['cell--rangeLeft']}`]: {
|
|
483
|
+
'--range-left': `inset 2px 0 0 0 ${vars.colors.interactive.focus}`
|
|
484
|
+
},
|
|
485
|
+
[`& .${c['cell--rangeRight']}`]: {
|
|
486
|
+
'--range-right': `inset -2px 0 0 0 ${vars.colors.interactive.focus}`
|
|
487
|
+
},
|
|
466
488
|
[`& .${c['virtualScrollerContent--overflowed']} .${c['row--lastVisible']} .${c.cell}`]: {
|
|
467
489
|
borderTopColor: 'transparent'
|
|
468
490
|
},
|
|
@@ -674,16 +696,18 @@ export const GridRootStyles = styled('div', {
|
|
|
674
696
|
[`& .${c['filler--borderBottom']}`]: {
|
|
675
697
|
borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
|
|
676
698
|
},
|
|
699
|
+
[`& .${c['filler--horizontal']}`]: {
|
|
700
|
+
width: 'var(--DataGrid-horizontalFiller)'
|
|
701
|
+
},
|
|
677
702
|
[`& .${c.columnHeaders} .${c.filler}`]: {
|
|
678
703
|
backgroundColor: headerBackground
|
|
679
704
|
},
|
|
680
705
|
/* Used when skeleton/no columns overlay is visible */
|
|
681
706
|
[`& .${c['main--hiddenContent']}`]: {
|
|
682
|
-
[`& .${c.
|
|
707
|
+
[`& .${c.virtualScrollerRenderZone}`]: {
|
|
683
708
|
// We use visibility hidden so that the virtual scroller content retains its height.
|
|
684
709
|
// Position fixed is used to remove the virtual scroller content from the flow.
|
|
685
710
|
// https://github.com/mui/mui-x/issues/14061
|
|
686
|
-
position: 'fixed',
|
|
687
711
|
visibility: 'hidden'
|
|
688
712
|
},
|
|
689
713
|
// Hide grid content
|
|
@@ -691,11 +715,68 @@ export const GridRootStyles = styled('div', {
|
|
|
691
715
|
display: 'none'
|
|
692
716
|
}
|
|
693
717
|
},
|
|
718
|
+
/* Fill handle styles */
|
|
719
|
+
[`& .${c['cell--withFillHandle']}`]: {
|
|
720
|
+
position: 'relative',
|
|
721
|
+
'&::after': {
|
|
722
|
+
content: '""',
|
|
723
|
+
position: 'absolute',
|
|
724
|
+
bottom: 0,
|
|
725
|
+
insetInlineEnd: 0,
|
|
726
|
+
width: 7,
|
|
727
|
+
height: 7,
|
|
728
|
+
backgroundColor: vars.colors.interactive.focus,
|
|
729
|
+
cursor: 'crosshair',
|
|
730
|
+
zIndex: 50
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
[`& .${c['cell--fillPreview']}`]: {
|
|
734
|
+
backgroundColor: `color-mix(in srgb, ${vars.colors.interactive.focus} 8%, transparent)`
|
|
735
|
+
},
|
|
736
|
+
[`& .${c['cell--fillPreviewTop']}`]: {
|
|
737
|
+
borderTop: `1px dashed ${vars.colors.interactive.focus}`
|
|
738
|
+
},
|
|
739
|
+
[`& .${c['cell--fillPreviewBottom']}`]: {
|
|
740
|
+
borderBottom: `1px dashed ${vars.colors.interactive.focus}`
|
|
741
|
+
},
|
|
742
|
+
[`& .${c['cell--fillPreviewLeft']}`]: {
|
|
743
|
+
borderLeft: `1px dashed ${vars.colors.interactive.focus}`
|
|
744
|
+
},
|
|
745
|
+
[`& .${c['cell--fillPreviewRight']}`]: {
|
|
746
|
+
borderRight: `1px dashed ${vars.colors.interactive.focus}`
|
|
747
|
+
},
|
|
694
748
|
[`& .${c['row--beingDragged']}`]: {
|
|
695
749
|
color: vars.colors.foreground.disabled,
|
|
696
750
|
'&:hover': {
|
|
697
751
|
backgroundColor: 'transparent'
|
|
698
752
|
}
|
|
753
|
+
},
|
|
754
|
+
/* Controlled layout overrides (absolute positioning for pinned elements) */
|
|
755
|
+
[`& .${c['virtualizer--layoutControlled']} .${c['columnHeader--pinnedLeft']},
|
|
756
|
+
& .${c['virtualizer--layoutControlled']} .${c['columnHeader--pinnedRight']}`]: {
|
|
757
|
+
position: 'absolute',
|
|
758
|
+
height: 'var(--height)'
|
|
759
|
+
},
|
|
760
|
+
[`& .${c['virtualizer--layoutControlled']} .${c['cell--pinnedLeft']},
|
|
761
|
+
& .${c['virtualizer--layoutControlled']} .${c['cell--pinnedRight']}`]: {
|
|
762
|
+
position: 'absolute'
|
|
763
|
+
},
|
|
764
|
+
[`& .${c['virtualizer--layoutControlled']} .${c.row}`]: {
|
|
765
|
+
position: 'static'
|
|
766
|
+
},
|
|
767
|
+
[`& .${c['virtualizer--layoutControlled']} .${c['scrollbarFiller--pinnedRight']}`]: {
|
|
768
|
+
position: 'absolute',
|
|
769
|
+
height: 'var(--height)'
|
|
770
|
+
},
|
|
771
|
+
[`& .${c['virtualizer--layoutControlled']} .${c.virtualScrollerRenderZone}`]: {
|
|
772
|
+
position: 'static',
|
|
773
|
+
width: 'fit-content'
|
|
774
|
+
},
|
|
775
|
+
[`& .${c['virtualizer--layoutControlled']} .${c['container--top']}`]: {
|
|
776
|
+
width: 'fit-content'
|
|
777
|
+
},
|
|
778
|
+
[`& .${c['virtualizer--layoutControlled']} .${c['container--bottom']}`]: {
|
|
779
|
+
width: 'fit-content'
|
|
699
780
|
}
|
|
700
781
|
};
|
|
701
782
|
return gridStyle;
|
package/components/index.d.mts
CHANGED
|
@@ -23,4 +23,6 @@ export * from "./columnsPanel/index.mjs";
|
|
|
23
23
|
export * from "./export/index.mjs";
|
|
24
24
|
export * from "./filterPanel/index.mjs";
|
|
25
25
|
export * from "./toolbarV8/index.mjs";
|
|
26
|
-
export * from "./quickFilter/index.mjs";
|
|
26
|
+
export * from "./quickFilter/index.mjs";
|
|
27
|
+
export { GridColumnUnsortedIcon } from "./GridColumnUnsortedIcon.mjs";
|
|
28
|
+
export type { GridColumnUnsortedIconProps } from "./GridColumnUnsortedIcon.mjs";
|
package/components/index.d.ts
CHANGED
|
@@ -23,4 +23,6 @@ export * from "./columnsPanel/index.js";
|
|
|
23
23
|
export * from "./export/index.js";
|
|
24
24
|
export * from "./filterPanel/index.js";
|
|
25
25
|
export * from "./toolbarV8/index.js";
|
|
26
|
-
export * from "./quickFilter/index.js";
|
|
26
|
+
export * from "./quickFilter/index.js";
|
|
27
|
+
export { GridColumnUnsortedIcon } from "./GridColumnUnsortedIcon.js";
|
|
28
|
+
export type { GridColumnUnsortedIconProps } from "./GridColumnUnsortedIcon.js";
|
package/components/index.js
CHANGED
|
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
|
-
GridPagination: true
|
|
7
|
+
GridPagination: true,
|
|
8
|
+
GridColumnUnsortedIcon: true
|
|
8
9
|
};
|
|
10
|
+
Object.defineProperty(exports, "GridColumnUnsortedIcon", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _GridColumnUnsortedIcon.GridColumnUnsortedIcon;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
9
16
|
Object.defineProperty(exports, "GridPagination", {
|
|
10
17
|
enumerable: true,
|
|
11
18
|
get: function () {
|
|
@@ -312,4 +319,5 @@ Object.keys(_quickFilter).forEach(function (key) {
|
|
|
312
319
|
return _quickFilter[key];
|
|
313
320
|
}
|
|
314
321
|
});
|
|
315
|
-
});
|
|
322
|
+
});
|
|
323
|
+
var _GridColumnUnsortedIcon = require("./GridColumnUnsortedIcon");
|
package/components/index.mjs
CHANGED
|
@@ -23,4 +23,5 @@ export * from "./columnsPanel/index.mjs";
|
|
|
23
23
|
export * from "./export/index.mjs";
|
|
24
24
|
export * from "./filterPanel/index.mjs";
|
|
25
25
|
export * from "./toolbarV8/index.mjs";
|
|
26
|
-
export * from "./quickFilter/index.mjs";
|
|
26
|
+
export * from "./quickFilter/index.mjs";
|
|
27
|
+
export { GridColumnUnsortedIcon } from "./GridColumnUnsortedIcon.mjs";
|
|
@@ -322,7 +322,7 @@ const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(func
|
|
|
322
322
|
size: "small",
|
|
323
323
|
labelId: columnSelectLabelId,
|
|
324
324
|
id: columnSelectId,
|
|
325
|
-
label: apiRef.current.getLocaleText('
|
|
325
|
+
label: apiRef.current.getLocaleText('filterPanelColumn'),
|
|
326
326
|
value: selectedField ?? '',
|
|
327
327
|
onChange: changeColumn,
|
|
328
328
|
native: isBaseSelectNative,
|
|
@@ -315,7 +315,7 @@ const GridFilterForm = forwardRef(function GridFilterForm(props, ref) {
|
|
|
315
315
|
size: "small",
|
|
316
316
|
labelId: columnSelectLabelId,
|
|
317
317
|
id: columnSelectId,
|
|
318
|
-
label: apiRef.current.getLocaleText('
|
|
318
|
+
label: apiRef.current.getLocaleText('filterPanelColumn'),
|
|
319
319
|
value: selectedField ?? '',
|
|
320
320
|
onChange: changeColumn,
|
|
321
321
|
native: isBaseSelectNative,
|
|
@@ -25,7 +25,10 @@ const Element = (0, _styles.styled)('div', {
|
|
|
25
25
|
})({
|
|
26
26
|
position: 'sticky',
|
|
27
27
|
zIndex: 40,
|
|
28
|
-
bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))'
|
|
28
|
+
bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))',
|
|
29
|
+
[`.${_gridClasses.gridClasses['virtualizer--layoutControlled']} &`]: {
|
|
30
|
+
position: 'absolute'
|
|
31
|
+
}
|
|
29
32
|
});
|
|
30
33
|
function GridBottomContainer(props) {
|
|
31
34
|
const classes = useUtilityClasses();
|
|
@@ -17,7 +17,10 @@ const Element = styled('div', {
|
|
|
17
17
|
})({
|
|
18
18
|
position: 'sticky',
|
|
19
19
|
zIndex: 40,
|
|
20
|
-
bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))'
|
|
20
|
+
bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))',
|
|
21
|
+
[`.${gridClasses['virtualizer--layoutControlled']} &`]: {
|
|
22
|
+
position: 'absolute'
|
|
23
|
+
}
|
|
21
24
|
});
|
|
22
25
|
export function GridBottomContainer(props) {
|
|
23
26
|
const classes = useUtilityClasses();
|
|
@@ -10,6 +10,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
13
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
|
+
var _xVirtualizer = require("@mui/x-virtualizer");
|
|
13
15
|
var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
|
|
14
16
|
var _rows = require("../../hooks/features/rows");
|
|
15
17
|
var _GridScrollArea = require("../GridScrollArea");
|
|
@@ -58,9 +60,9 @@ const Scroller = (0, _styles.styled)('div', {
|
|
|
58
60
|
height: '100%',
|
|
59
61
|
flexGrow: 1,
|
|
60
62
|
overflow: 'scroll',
|
|
61
|
-
scrollbarWidth: 'none' /* Firefox */,
|
|
62
63
|
display: 'flex',
|
|
63
64
|
flexDirection: 'column',
|
|
65
|
+
scrollbarWidth: 'none' /* Firefox */,
|
|
64
66
|
'&::-webkit-scrollbar': {
|
|
65
67
|
display: 'none' /* Safari and Chrome */
|
|
66
68
|
},
|
|
@@ -70,6 +72,23 @@ const Scroller = (0, _styles.styled)('div', {
|
|
|
70
72
|
// See https://github.com/mui/mui-x/issues/10547
|
|
71
73
|
zIndex: 0
|
|
72
74
|
});
|
|
75
|
+
const Viewport = (0, _styles.styled)('div', {
|
|
76
|
+
slot: 'internal',
|
|
77
|
+
shouldForwardProp: undefined
|
|
78
|
+
})({
|
|
79
|
+
display: 'contents',
|
|
80
|
+
[`.${_gridClasses.gridClasses['virtualizer--layoutControlled']} &`]: {
|
|
81
|
+
display: 'inline-block',
|
|
82
|
+
position: 'sticky',
|
|
83
|
+
top: 0,
|
|
84
|
+
left: 0,
|
|
85
|
+
overflow: 'hidden',
|
|
86
|
+
scrollbarWidth: 'none' /* Firefox */,
|
|
87
|
+
'&::-webkit-scrollbar': {
|
|
88
|
+
display: 'none' /* Safari and Chrome */
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
73
92
|
const hasPinnedRightSelector = apiRef => apiRef.current.state.dimensions.rightPinnedWidth > 0;
|
|
74
93
|
function GridVirtualScroller(props) {
|
|
75
94
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
@@ -91,20 +110,26 @@ function GridVirtualScroller(props) {
|
|
|
91
110
|
loadingOverlayVariant
|
|
92
111
|
};
|
|
93
112
|
const classes = useUtilityClasses(ownerState);
|
|
94
|
-
const
|
|
113
|
+
const virtualizer = (0, _useGridVirtualizer.useGridVirtualizer)();
|
|
114
|
+
const layoutMode = virtualizer.store.use(_xVirtualizer.Virtualization.selectors.layoutMode);
|
|
115
|
+
const hasContentFiller = layoutMode === 'uncontrolled' && loadingOverlayVariant !== 'skeleton';
|
|
95
116
|
const {
|
|
96
117
|
getContainerProps,
|
|
97
118
|
getScrollerProps,
|
|
119
|
+
getScrollerContentProps,
|
|
120
|
+
getViewportProps,
|
|
98
121
|
getContentProps,
|
|
99
122
|
getPositionerProps,
|
|
100
123
|
getScrollbarVerticalProps,
|
|
101
124
|
getScrollbarHorizontalProps,
|
|
102
125
|
getRows,
|
|
103
|
-
getScrollAreaProps
|
|
104
|
-
|
|
126
|
+
getScrollAreaProps,
|
|
127
|
+
getContainerVerticalProps
|
|
128
|
+
} = virtualizer.api.getters;
|
|
105
129
|
const rows = getRows(undefined, (0, _rows.gridRowTreeSelector)(apiRef));
|
|
130
|
+
const containerVerticalProps = getContainerVerticalProps();
|
|
106
131
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, (0, _extends2.default)({
|
|
107
|
-
className: classes.root
|
|
132
|
+
className: (0, _clsx.default)(classes.root, layoutMode === 'controlled' && _gridClasses.gridClasses['virtualizer--layoutControlled'])
|
|
108
133
|
}, getContainerProps(), {
|
|
109
134
|
ownerState: ownerState,
|
|
110
135
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
|
|
@@ -115,35 +140,35 @@ function GridVirtualScroller(props) {
|
|
|
115
140
|
scrollDirection: "up"
|
|
116
141
|
}, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
|
|
117
142
|
scrollDirection: "down"
|
|
118
|
-
}, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.
|
|
143
|
+
}, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(Scroller, (0, _extends2.default)({
|
|
119
144
|
className: classes.scroller
|
|
120
145
|
}, getScrollerProps(), {
|
|
121
146
|
ownerState: ownerState,
|
|
122
|
-
children:
|
|
123
|
-
children:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
147
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerContent.GridVirtualScrollerContent, (0, _extends2.default)({}, getScrollerContentProps(), {
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Viewport, (0, _extends2.default)({}, getViewportProps(), {
|
|
149
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridTopContainer.GridTopContainer, (0, _extends2.default)({}, containerVerticalProps, {
|
|
150
|
+
children: [!rootProps.listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaders.GridHeaders, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
151
|
+
position: "top"
|
|
152
|
+
})]
|
|
153
|
+
})), overlayType && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlays.GridOverlayWrapper, {
|
|
154
|
+
overlayType: overlayType,
|
|
155
|
+
loadingOverlayVariant: loadingOverlayVariant,
|
|
156
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Overlay, (0, _extends2.default)({}, rootProps.slotProps?.[overlayType]))
|
|
157
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridVirtualScrollerRenderZone.GridVirtualScrollerRenderZone, (0, _extends2.default)({
|
|
158
|
+
role: "rowgroup"
|
|
159
|
+
}, getPositionerProps(), {
|
|
160
|
+
children: [rows, /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.detailPanels, {})]
|
|
161
|
+
})), hasContentFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
|
|
162
|
+
className: _gridClasses.gridClasses.contentFiller
|
|
163
|
+
}, getContentProps())), hasBottomFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
|
|
164
|
+
rowsLength: rows.length
|
|
165
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.bottomContainer, (0, _extends2.default)({}, containerVerticalProps, {
|
|
166
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
167
|
+
position: "bottom"
|
|
168
|
+
})
|
|
169
|
+
}))]
|
|
138
170
|
}))
|
|
139
|
-
}))
|
|
140
|
-
rowsLength: rows.length
|
|
141
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.bottomContainer, {
|
|
142
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
143
|
-
position: "bottom",
|
|
144
|
-
virtualScroller: virtualScroller
|
|
145
|
-
})
|
|
146
|
-
})]
|
|
171
|
+
}))
|
|
147
172
|
})), hasScrollX && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
148
173
|
children: [rootProps.pinnedColumnsSectionSeparator?.endsWith('shadow') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollShadows.GridScrollShadows, {
|
|
149
174
|
position: "horizontal"
|