@mui/x-data-grid 7.23.6 → 7.24.1
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 +150 -0
- package/DataGrid/DataGrid.js +4 -5
- package/DataGrid/useDataGridComponent.d.ts +2 -1
- package/DataGrid/useDataGridComponent.js +1 -1
- package/components/GridHeaders.js +2 -2
- package/components/GridRow.d.ts +5 -9
- package/components/GridRow.js +28 -105
- package/components/GridSkeletonLoadingOverlay.js +18 -18
- package/components/cell/GridCell.d.ts +9 -16
- package/components/cell/GridCell.js +17 -35
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +5 -5
- package/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +3 -3
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +21 -7
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +5 -5
- package/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/components/containers/GridRoot.d.ts +2 -2
- package/components/containers/GridRoot.js +14 -6
- package/components/containers/GridRootStyles.js +1 -0
- package/components/panel/GridPanel.js +2 -1
- package/components/panel/filterPanel/GridFilterInputValueProps.d.ts +2 -1
- package/components/toolbar/GridToolbarColumnsButton.js +6 -1
- package/components/toolbar/GridToolbarFilterButton.js +6 -1
- package/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/components/virtualization/GridVirtualScroller.js +4 -4
- package/context/GridContextProvider.d.ts +2 -1
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +2 -2
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +2 -2
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +2 -2
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +2 -2
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +2 -2
- package/hooks/core/useGridApiInitialization.d.ts +2 -2
- package/hooks/core/useGridInitialization.d.ts +2 -2
- package/hooks/core/useGridIsRtl.d.ts +2 -2
- package/hooks/core/useGridLocaleText.d.ts +2 -2
- package/hooks/core/useGridLoggerFactory.d.ts +2 -2
- package/hooks/core/useGridRefs.d.ts +2 -2
- package/hooks/core/useGridStateInitialization.d.ts +2 -2
- package/hooks/features/clipboard/useGridClipboard.d.ts +2 -2
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +2 -2
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -7
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
- package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -2
- package/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
- package/hooks/features/columnResize/useGridColumnResize.d.ts +2 -2
- package/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/hooks/features/columns/gridColumnsUtils.d.ts +4 -4
- package/hooks/features/columns/useGridColumnSpanning.d.ts +2 -2
- package/hooks/features/columns/useGridColumns.d.ts +2 -2
- package/hooks/features/density/useGridDensity.d.ts +2 -2
- package/hooks/features/dimensions/useGridDimensions.d.ts +2 -2
- package/hooks/features/dimensions/useGridDimensions.js +1 -3
- package/hooks/features/editing/useGridCellEditing.d.ts +2 -2
- package/hooks/features/editing/useGridEditing.d.ts +2 -2
- package/hooks/features/editing/useGridRowEditing.d.ts +2 -2
- package/hooks/features/events/useGridEvents.d.ts +2 -2
- package/hooks/features/export/serializers/csvSerializer.d.ts +2 -1
- package/hooks/features/export/useGridCsvExport.d.ts +2 -2
- package/hooks/features/export/useGridPrintExport.d.ts +2 -2
- package/hooks/features/export/utils.d.ts +2 -2
- package/hooks/features/filter/gridFilterSelector.js +6 -1
- package/hooks/features/filter/gridFilterUtils.d.ts +7 -7
- package/hooks/features/filter/gridFilterUtils.js +3 -3
- package/hooks/features/filter/useGridFilter.d.ts +2 -2
- package/hooks/features/focus/useGridFocus.d.ts +2 -2
- package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
- package/hooks/features/keyboardNavigation/utils.d.ts +3 -3
- package/hooks/features/listView/useGridListView.d.ts +2 -2
- package/hooks/features/pagination/gridPaginationInterfaces.d.ts +3 -0
- package/hooks/features/pagination/gridPaginationSelector.d.ts +20 -1
- package/hooks/features/pagination/gridPaginationSelector.js +39 -1
- package/hooks/features/pagination/useGridPagination.d.ts +3 -3
- package/hooks/features/pagination/useGridPagination.js +5 -3
- package/hooks/features/pagination/useGridPaginationMeta.d.ts +2 -2
- package/hooks/features/pagination/useGridPaginationModel.d.ts +2 -2
- package/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/hooks/features/pagination/useGridRowCount.d.ts +2 -2
- package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +1 -0
- package/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
- package/hooks/features/preferencesPanel/index.d.ts +1 -1
- package/hooks/features/preferencesPanel/index.js +1 -1
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +2 -2
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
- package/hooks/features/rowSelection/useGridRowSelection.d.ts +2 -2
- package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +2 -2
- package/hooks/features/rowSelection/utils.d.ts +3 -2
- package/hooks/features/rows/gridRowSpanningUtils.d.ts +2 -2
- package/hooks/features/rows/gridRowsSelector.js +1 -1
- package/hooks/features/rows/gridRowsUtils.d.ts +4 -4
- package/hooks/features/rows/useGridParamsApi.d.ts +2 -2
- package/hooks/features/rows/useGridRowSpanning.d.ts +2 -2
- package/hooks/features/rows/useGridRows.d.ts +2 -2
- package/hooks/features/rows/useGridRows.js +2 -2
- package/hooks/features/rows/useGridRowsMeta.d.ts +2 -2
- package/hooks/features/rows/useGridRowsPreProcessors.d.ts +2 -2
- package/hooks/features/scroll/useGridScroll.d.ts +2 -2
- package/hooks/features/sorting/gridSortingUtils.d.ts +3 -3
- package/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/hooks/features/sorting/useGridSorting.d.ts +2 -2
- package/hooks/features/statePersistence/useGridStatePersistence.d.ts +2 -2
- package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +6 -0
- package/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +92 -50
- package/hooks/features/virtualization/useGridVirtualization.d.ts +2 -2
- package/hooks/utils/useGridApiContext.d.ts +2 -2
- package/hooks/utils/useGridApiEventHandler.d.ts +4 -4
- package/hooks/utils/useGridApiMethod.d.ts +2 -2
- package/hooks/utils/useGridApiRef.d.ts +2 -2
- package/hooks/utils/useGridApiRef.js +3 -1
- package/hooks/utils/useGridInitializeState.d.ts +3 -3
- package/hooks/utils/useGridLogger.d.ts +2 -2
- package/hooks/utils/useGridNativeEventListener.d.ts +2 -1
- package/hooks/utils/useGridPrivateApiContext.d.ts +2 -1
- package/hooks/utils/useGridSelector.d.ts +3 -3
- package/hooks/utils/useGridVisibleRows.d.ts +8 -6
- package/hooks/utils/useGridVisibleRows.js +5 -28
- package/index.js +1 -1
- package/internals/constants.d.ts +6 -0
- package/internals/constants.js +8 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/internals/utils/attachPinnedStyle.d.ts +2 -0
- package/internals/utils/attachPinnedStyle.js +9 -0
- package/internals/utils/getPinnedCellOffset.d.ts +3 -3
- package/internals/utils/getPinnedCellOffset.js +6 -7
- package/internals/utils/index.d.ts +1 -0
- package/internals/utils/index.js +2 -1
- package/locales/faIR.js +5 -6
- package/locales/urPK.js +9 -10
- package/models/colDef/gridColDef.d.ts +9 -8
- package/models/events/gridEventLookup.d.ts +6 -1
- package/models/gridExport.d.ts +2 -2
- package/models/gridFilterOperator.d.ts +2 -1
- package/models/gridStateCommunity.d.ts +4 -0
- package/models/props/DataGridProps.d.ts +2 -1
- package/modern/DataGrid/DataGrid.js +4 -5
- package/modern/DataGrid/useDataGridComponent.js +1 -1
- package/modern/components/GridHeaders.js +2 -2
- package/modern/components/GridRow.js +28 -105
- package/modern/components/GridSkeletonLoadingOverlay.js +18 -18
- package/modern/components/cell/GridCell.js +17 -35
- package/modern/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +21 -7
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/modern/components/containers/GridRoot.js +14 -6
- package/modern/components/containers/GridRootStyles.js +1 -0
- package/modern/components/panel/GridPanel.js +2 -1
- package/modern/components/toolbar/GridToolbarColumnsButton.js +6 -1
- package/modern/components/toolbar/GridToolbarFilterButton.js +6 -1
- package/modern/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/modern/components/virtualization/GridVirtualScroller.js +4 -4
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
- package/modern/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/modern/hooks/features/dimensions/useGridDimensions.js +1 -3
- package/modern/hooks/features/filter/gridFilterSelector.js +6 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +3 -3
- package/modern/hooks/features/pagination/gridPaginationSelector.js +39 -1
- package/modern/hooks/features/pagination/useGridPagination.js +5 -3
- package/modern/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/modern/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
- package/modern/hooks/features/preferencesPanel/index.js +1 -1
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
- package/modern/hooks/features/rows/gridRowsSelector.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +2 -2
- package/modern/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/modern/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +92 -50
- package/modern/hooks/utils/useGridApiRef.js +3 -1
- package/modern/hooks/utils/useGridVisibleRows.js +5 -28
- package/modern/index.js +1 -1
- package/modern/internals/constants.js +8 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/attachPinnedStyle.js +9 -0
- package/modern/internals/utils/getPinnedCellOffset.js +6 -7
- package/modern/internals/utils/index.js +2 -1
- package/modern/locales/faIR.js +5 -6
- package/modern/locales/urPK.js +9 -10
- package/modern/utils/cellBorderUtils.js +5 -5
- package/modern/utils/domUtils.js +7 -2
- package/modern/utils/isJSDOM.js +1 -0
- package/modern/utils/rtlFlipSide.js +22 -0
- package/node/DataGrid/DataGrid.js +2 -3
- package/node/DataGrid/useDataGridComponent.js +1 -1
- package/node/components/GridHeaders.js +2 -2
- package/node/components/GridRow.js +27 -104
- package/node/components/GridSkeletonLoadingOverlay.js +17 -17
- package/node/components/cell/GridCell.js +18 -36
- package/node/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -6
- package/node/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/node/components/containers/GridRoot.js +14 -6
- package/node/components/containers/GridRootStyles.js +1 -0
- package/node/components/panel/GridPanel.js +2 -1
- package/node/components/toolbar/GridToolbarColumnsButton.js +6 -1
- package/node/components/toolbar/GridToolbarFilterButton.js +6 -1
- package/node/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/node/components/virtualization/GridVirtualScroller.js +4 -4
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +32 -74
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
- package/node/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/node/hooks/features/dimensions/useGridDimensions.js +3 -5
- package/node/hooks/features/filter/gridFilterSelector.js +6 -1
- package/node/hooks/features/filter/gridFilterUtils.js +3 -3
- package/node/hooks/features/pagination/gridPaginationSelector.js +41 -3
- package/node/hooks/features/pagination/useGridPagination.js +5 -3
- package/node/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/node/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +9 -2
- package/node/hooks/features/preferencesPanel/index.js +11 -10
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
- package/node/hooks/features/rows/gridRowsSelector.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +1 -1
- package/node/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/node/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +49 -0
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +94 -52
- package/node/hooks/utils/useGridApiRef.js +3 -1
- package/node/hooks/utils/useGridVisibleRows.js +3 -28
- package/node/index.js +1 -1
- package/node/internals/constants.js +9 -2
- package/node/internals/index.js +12 -0
- package/node/internals/utils/attachPinnedStyle.js +15 -0
- package/node/internals/utils/getPinnedCellOffset.js +6 -7
- package/node/internals/utils/index.js +11 -0
- package/node/locales/faIR.js +5 -6
- package/node/locales/urPK.js +9 -10
- package/node/utils/cellBorderUtils.js +5 -5
- package/node/utils/domUtils.js +7 -2
- package/node/utils/isJSDOM.js +7 -0
- package/node/utils/rtlFlipSide.js +29 -0
- package/package.json +2 -2
- package/utils/cellBorderUtils.d.ts +3 -3
- package/utils/cellBorderUtils.js +5 -5
- package/utils/createSelector.d.ts +3 -3
- package/utils/domUtils.js +7 -2
- package/utils/getPublicApiRef.d.ts +2 -1
- package/utils/isJSDOM.d.ts +1 -0
- package/utils/isJSDOM.js +1 -0
- package/utils/rtlFlipSide.d.ts +2 -0
- package/utils/rtlFlipSide.js +22 -0
|
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.gridPinnedColumnPositionLookup = exports.
|
|
8
|
+
exports.gridPinnedColumnPositionLookup = exports.GridCell = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -22,24 +22,18 @@ var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
|
22
22
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
23
23
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
24
24
|
var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusStateSelector");
|
|
25
|
-
var _cellBorderUtils = require("../../utils/cellBorderUtils");
|
|
26
25
|
var _gridColumnsInterfaces = require("../../hooks/features/columns/gridColumnsInterfaces");
|
|
26
|
+
var _constants = require("../../internals/constants");
|
|
27
27
|
var _gridRowSpanningSelectors = require("../../hooks/features/rows/gridRowSpanningSelectors");
|
|
28
|
+
var _utils2 = require("../../internals/utils");
|
|
28
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "
|
|
30
|
+
const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "showRightBorder", "showLeftBorder", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
|
|
30
31
|
_excluded2 = ["changeReason", "unstable_updateValueOnRender"];
|
|
31
|
-
let PinnedPosition = exports.PinnedPosition = /*#__PURE__*/function (PinnedPosition) {
|
|
32
|
-
PinnedPosition[PinnedPosition["NONE"] = 0] = "NONE";
|
|
33
|
-
PinnedPosition[PinnedPosition["LEFT"] = 1] = "LEFT";
|
|
34
|
-
PinnedPosition[PinnedPosition["RIGHT"] = 2] = "RIGHT";
|
|
35
|
-
PinnedPosition[PinnedPosition["VIRTUAL"] = 3] = "VIRTUAL";
|
|
36
|
-
return PinnedPosition;
|
|
37
|
-
}({});
|
|
38
32
|
const gridPinnedColumnPositionLookup = exports.gridPinnedColumnPositionLookup = {
|
|
39
|
-
[
|
|
40
|
-
[
|
|
41
|
-
[
|
|
42
|
-
[
|
|
33
|
+
[_constants.PinnedColumnPosition.LEFT]: _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT,
|
|
34
|
+
[_constants.PinnedColumnPosition.RIGHT]: _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT,
|
|
35
|
+
[_constants.PinnedColumnPosition.NONE]: undefined,
|
|
36
|
+
[_constants.PinnedColumnPosition.VIRTUAL]: undefined
|
|
43
37
|
};
|
|
44
38
|
const EMPTY_CELL_PARAMS = {
|
|
45
39
|
id: -1,
|
|
@@ -77,7 +71,7 @@ const useUtilityClasses = ownerState => {
|
|
|
77
71
|
classes
|
|
78
72
|
} = ownerState;
|
|
79
73
|
const slots = {
|
|
80
|
-
root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition ===
|
|
74
|
+
root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode']
|
|
81
75
|
};
|
|
82
76
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
83
77
|
};
|
|
@@ -100,9 +94,8 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
|
|
|
100
94
|
isNotVisible,
|
|
101
95
|
pinnedOffset,
|
|
102
96
|
pinnedPosition,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
gridHasFiller,
|
|
97
|
+
showRightBorder,
|
|
98
|
+
showLeftBorder,
|
|
106
99
|
onClick,
|
|
107
100
|
onDoubleClick,
|
|
108
101
|
onMouseDown,
|
|
@@ -169,9 +162,6 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
|
|
|
169
162
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, cellRef);
|
|
170
163
|
const focusElementRef = React.useRef(null);
|
|
171
164
|
const isSelectionMode = rootProps.cellSelection ?? false;
|
|
172
|
-
const position = gridPinnedColumnPositionLookup[pinnedPosition];
|
|
173
|
-
const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(position, sectionIndex);
|
|
174
|
-
const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(position, sectionIndex, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
|
|
175
165
|
const ownerState = {
|
|
176
166
|
align,
|
|
177
167
|
showLeftBorder,
|
|
@@ -220,18 +210,11 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
|
|
|
220
210
|
border: 0
|
|
221
211
|
};
|
|
222
212
|
}
|
|
223
|
-
const cellStyle = (0, _extends2.default)({
|
|
213
|
+
const cellStyle = (0, _utils2.attachPinnedStyle)((0, _extends2.default)({
|
|
224
214
|
'--width': `${width}px`
|
|
225
|
-
}, styleProp);
|
|
226
|
-
const isLeftPinned = pinnedPosition ===
|
|
227
|
-
const isRightPinned = pinnedPosition ===
|
|
228
|
-
if (isLeftPinned || isRightPinned) {
|
|
229
|
-
let side = isLeftPinned ? 'left' : 'right';
|
|
230
|
-
if (isRtl) {
|
|
231
|
-
side = isLeftPinned ? 'right' : 'left';
|
|
232
|
-
}
|
|
233
|
-
cellStyle[side] = pinnedOffset;
|
|
234
|
-
}
|
|
215
|
+
}, styleProp), isRtl, pinnedPosition, pinnedOffset);
|
|
216
|
+
const isLeftPinned = pinnedPosition === _constants.PinnedColumnPosition.LEFT;
|
|
217
|
+
const isRightPinned = pinnedPosition === _constants.PinnedColumnPosition.RIGHT;
|
|
235
218
|
if (rowSpan > 1) {
|
|
236
219
|
cellStyle.height = `calc(var(--height) * ${rowSpan})`;
|
|
237
220
|
cellStyle.zIndex = 5;
|
|
@@ -361,13 +344,12 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
361
344
|
isValidating: _propTypes.default.bool,
|
|
362
345
|
value: _propTypes.default.any
|
|
363
346
|
}),
|
|
364
|
-
gridHasFiller: _propTypes.default.bool.isRequired,
|
|
365
347
|
isNotVisible: _propTypes.default.bool.isRequired,
|
|
366
|
-
pinnedOffset: _propTypes.default.number
|
|
348
|
+
pinnedOffset: _propTypes.default.number,
|
|
367
349
|
pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]).isRequired,
|
|
368
350
|
rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
369
|
-
|
|
370
|
-
|
|
351
|
+
showLeftBorder: _propTypes.default.bool.isRequired,
|
|
352
|
+
showRightBorder: _propTypes.default.bool.isRequired,
|
|
371
353
|
width: _propTypes.default.number.isRequired
|
|
372
354
|
} : void 0;
|
|
373
355
|
const MemoizedGridCell = exports.GridCell = (0, _fastMemo.fastMemo)(GridCell);
|
|
@@ -9,6 +9,7 @@ exports.GridColumnGroupHeader = GridColumnGroupHeader;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _utils = require("@mui/utils");
|
|
12
|
+
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
12
13
|
var _gridClasses = require("../../constants/gridClasses");
|
|
13
14
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
14
15
|
var _gridColumnGroupsSelector = require("../../hooks/features/columnGrouping/gridColumnGroupsSelector");
|
|
@@ -16,7 +17,8 @@ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
|
16
17
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
18
|
var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
|
|
18
19
|
var _domUtils = require("../../utils/domUtils");
|
|
19
|
-
var
|
|
20
|
+
var _constants = require("../../internals/constants");
|
|
21
|
+
var _utils2 = require("../../internals/utils");
|
|
20
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
23
|
const useUtilityClasses = ownerState => {
|
|
22
24
|
const {
|
|
@@ -30,7 +32,7 @@ const useUtilityClasses = ownerState => {
|
|
|
30
32
|
pinnedPosition
|
|
31
33
|
} = ownerState;
|
|
32
34
|
const slots = {
|
|
33
|
-
root: ['columnHeader', headerAlign === 'left' && 'columnHeader--alignLeft', headerAlign === 'center' && 'columnHeader--alignCenter', headerAlign === 'right' && 'columnHeader--alignRight', isDragging && 'columnHeader--moving', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', 'withBorderColor', groupId === null ? 'columnHeader--emptyGroup' : 'columnHeader--filledGroup', pinnedPosition ===
|
|
35
|
+
root: ['columnHeader', headerAlign === 'left' && 'columnHeader--alignLeft', headerAlign === 'center' && 'columnHeader--alignCenter', headerAlign === 'right' && 'columnHeader--alignRight', isDragging && 'columnHeader--moving', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', 'withBorderColor', groupId === null ? 'columnHeader--emptyGroup' : 'columnHeader--filledGroup', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight', isLastColumn && 'columnHeader--last'],
|
|
34
36
|
draggableContainer: ['columnHeaderDraggableContainer'],
|
|
35
37
|
titleContainer: ['columnHeaderTitleContainer', 'withBorderColor'],
|
|
36
38
|
titleContainerContent: ['columnHeaderTitleContainerContent']
|
|
@@ -50,12 +52,10 @@ function GridColumnGroupHeader(props) {
|
|
|
50
52
|
tabIndex,
|
|
51
53
|
isLastColumn,
|
|
52
54
|
pinnedPosition,
|
|
53
|
-
|
|
54
|
-
indexInSection,
|
|
55
|
-
sectionLength,
|
|
56
|
-
gridHasFiller
|
|
55
|
+
pinnedOffset
|
|
57
56
|
} = props;
|
|
58
57
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
58
|
+
const isRtl = (0, _RtlProvider.useRtl)();
|
|
59
59
|
const headerCellRef = React.useRef(null);
|
|
60
60
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
61
61
|
const columnGroupsLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsLookupSelector);
|
|
@@ -80,12 +80,8 @@ function GridColumnGroupHeader(props) {
|
|
|
80
80
|
if (groupId && render) {
|
|
81
81
|
headerComponent = render(renderParams);
|
|
82
82
|
}
|
|
83
|
-
const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
|
|
84
|
-
const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showColumnVerticalBorder, gridHasFiller);
|
|
85
83
|
const ownerState = (0, _extends2.default)({}, props, {
|
|
86
84
|
classes: rootProps.classes,
|
|
87
|
-
showLeftBorder,
|
|
88
|
-
showRightBorder,
|
|
89
85
|
headerAlign,
|
|
90
86
|
depth,
|
|
91
87
|
isDragging: false
|
|
@@ -118,6 +114,7 @@ function GridColumnGroupHeader(props) {
|
|
|
118
114
|
onBlur: publish('columnGroupHeaderBlur')
|
|
119
115
|
}), [publish]);
|
|
120
116
|
const headerClassName = typeof group.headerClassName === 'function' ? group.headerClassName(renderParams) : group.headerClassName;
|
|
117
|
+
const style = React.useMemo(() => (0, _utils2.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
|
|
121
118
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
|
|
122
119
|
ref: headerCellRef,
|
|
123
120
|
classes: classes,
|
|
@@ -5,12 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.GridColumnHeaderFilterIconButton =
|
|
8
|
+
exports.GridColumnHeaderFilterIconButton = GridColumnHeaderFilterIconButtonWrapped;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _utils = require("@mui/utils");
|
|
13
|
-
var
|
|
13
|
+
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
14
14
|
var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
|
|
15
15
|
var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
16
16
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
@@ -27,6 +27,21 @@ const useUtilityClasses = ownerState => {
|
|
|
27
27
|
};
|
|
28
28
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
29
29
|
};
|
|
30
|
+
function GridColumnHeaderFilterIconButtonWrapped(props) {
|
|
31
|
+
if (!props.counter) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnHeaderFilterIconButton, (0, _extends2.default)({}, props));
|
|
35
|
+
}
|
|
36
|
+
process.env.NODE_ENV !== "production" ? GridColumnHeaderFilterIconButtonWrapped.propTypes = {
|
|
37
|
+
// ----------------------------- Warning --------------------------------
|
|
38
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
39
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
40
|
+
// ----------------------------------------------------------------------
|
|
41
|
+
counter: _propTypes.default.number,
|
|
42
|
+
field: _propTypes.default.string.isRequired,
|
|
43
|
+
onClick: _propTypes.default.func
|
|
44
|
+
} : void 0;
|
|
30
45
|
function GridColumnHeaderFilterIconButton(props) {
|
|
31
46
|
const {
|
|
32
47
|
counter,
|
|
@@ -39,8 +54,8 @@ function GridColumnHeaderFilterIconButton(props) {
|
|
|
39
54
|
classes: rootProps.classes
|
|
40
55
|
});
|
|
41
56
|
const classes = useUtilityClasses(ownerState);
|
|
42
|
-
const preferencePanel = (0, _hooks.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
43
57
|
const labelId = (0, _utils.unstable_useId)();
|
|
58
|
+
const isOpen = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelSelectorWithLabel, labelId);
|
|
44
59
|
const panelId = (0, _utils.unstable_useId)();
|
|
45
60
|
const toggleFilter = React.useCallback(event => {
|
|
46
61
|
event.preventDefault();
|
|
@@ -61,7 +76,6 @@ function GridColumnHeaderFilterIconButton(props) {
|
|
|
61
76
|
if (!counter) {
|
|
62
77
|
return null;
|
|
63
78
|
}
|
|
64
|
-
const open = preferencePanel.open && preferencePanel.labelId === labelId;
|
|
65
79
|
const iconButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
66
80
|
id: labelId,
|
|
67
81
|
onClick: toggleFilter,
|
|
@@ -70,8 +84,8 @@ function GridColumnHeaderFilterIconButton(props) {
|
|
|
70
84
|
size: "small",
|
|
71
85
|
tabIndex: -1,
|
|
72
86
|
"aria-haspopup": "menu",
|
|
73
|
-
"aria-expanded":
|
|
74
|
-
"aria-controls":
|
|
87
|
+
"aria-expanded": isOpen,
|
|
88
|
+
"aria-controls": isOpen ? panelId : undefined
|
|
75
89
|
}, rootProps.slotProps?.baseIconButton, {
|
|
76
90
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnFilteredIcon, {
|
|
77
91
|
className: classes.icon,
|
|
@@ -12,6 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
14
|
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
15
|
+
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
15
16
|
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
16
17
|
var _ColumnHeaderMenuIcon = require("./ColumnHeaderMenuIcon");
|
|
17
18
|
var _GridColumnHeaderMenu = require("../menu/columnMenu/GridColumnHeaderMenu");
|
|
@@ -19,7 +20,8 @@ var _gridClasses = require("../../constants/gridClasses");
|
|
|
19
20
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
20
21
|
var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
|
|
21
22
|
var _domUtils = require("../../utils/domUtils");
|
|
22
|
-
var
|
|
23
|
+
var _constants = require("../../internals/constants");
|
|
24
|
+
var _utils2 = require("../../internals/utils");
|
|
23
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
26
|
const useUtilityClasses = ownerState => {
|
|
25
27
|
const {
|
|
@@ -39,7 +41,7 @@ const useUtilityClasses = ownerState => {
|
|
|
39
41
|
// todo refactor to a prop on col isNumeric or ?? ie: coltype===price wont work
|
|
40
42
|
const isColumnNumeric = colDef.type === 'number';
|
|
41
43
|
const slots = {
|
|
42
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', colDef.sortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition ===
|
|
44
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', colDef.sortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight',
|
|
43
45
|
// TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
|
|
44
46
|
// See https://github.com/mui/mui-x/pull/14559
|
|
45
47
|
isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
|
|
@@ -64,14 +66,14 @@ function GridColumnHeaderItem(props) {
|
|
|
64
66
|
tabIndex,
|
|
65
67
|
disableReorder,
|
|
66
68
|
separatorSide,
|
|
67
|
-
|
|
69
|
+
showLeftBorder,
|
|
70
|
+
showRightBorder,
|
|
68
71
|
pinnedPosition,
|
|
69
|
-
|
|
70
|
-
sectionLength,
|
|
71
|
-
gridHasFiller
|
|
72
|
+
pinnedOffset
|
|
72
73
|
} = props;
|
|
73
74
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
74
75
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
76
|
+
const isRtl = (0, _RtlProvider.useRtl)();
|
|
75
77
|
const headerCellRef = React.useRef(null);
|
|
76
78
|
const columnMenuId = (0, _utils.unstable_useId)();
|
|
77
79
|
const columnMenuButtonId = (0, _utils.unstable_useId)();
|
|
@@ -82,8 +84,6 @@ function GridColumnHeaderItem(props) {
|
|
|
82
84
|
if (colDef.renderHeader) {
|
|
83
85
|
headerComponent = colDef.renderHeader(apiRef.current.getColumnHeaderParams(colDef.field));
|
|
84
86
|
}
|
|
85
|
-
const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
|
|
86
|
-
const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showColumnVerticalBorder, gridHasFiller);
|
|
87
87
|
const ownerState = (0, _extends2.default)({}, props, {
|
|
88
88
|
classes: rootProps.classes,
|
|
89
89
|
showRightBorder,
|
|
@@ -179,6 +179,7 @@ function GridColumnHeaderItem(props) {
|
|
|
179
179
|
colDef
|
|
180
180
|
}) : colDef.headerClassName;
|
|
181
181
|
const label = colDef.headerName ?? colDef.field;
|
|
182
|
+
const style = React.useMemo(() => (0, _utils2.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
|
|
182
183
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
|
|
183
184
|
ref: headerCellRef,
|
|
184
185
|
classes: classes,
|
|
@@ -217,18 +218,18 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
|
|
|
217
218
|
columnMenuOpen: _propTypes.default.bool.isRequired,
|
|
218
219
|
disableReorder: _propTypes.default.bool,
|
|
219
220
|
filterItemsCounter: _propTypes.default.number,
|
|
220
|
-
gridHasFiller: _propTypes.default.bool.isRequired,
|
|
221
221
|
hasFocus: _propTypes.default.bool,
|
|
222
222
|
headerHeight: _propTypes.default.number.isRequired,
|
|
223
|
-
indexInSection: _propTypes.default.number.isRequired,
|
|
224
223
|
isDragging: _propTypes.default.bool.isRequired,
|
|
225
224
|
isLast: _propTypes.default.bool.isRequired,
|
|
226
225
|
isLastUnpinned: _propTypes.default.bool.isRequired,
|
|
227
226
|
isResizing: _propTypes.default.bool.isRequired,
|
|
228
227
|
isSiblingFocused: _propTypes.default.bool.isRequired,
|
|
229
|
-
|
|
230
|
-
|
|
228
|
+
pinnedOffset: _propTypes.default.number,
|
|
229
|
+
pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]),
|
|
231
230
|
separatorSide: _propTypes.default.oneOf(['left', 'right']),
|
|
231
|
+
showLeftBorder: _propTypes.default.bool.isRequired,
|
|
232
|
+
showRightBorder: _propTypes.default.bool.isRequired,
|
|
232
233
|
sortDirection: _propTypes.default.oneOf(['asc', 'desc']),
|
|
233
234
|
sortIndex: _propTypes.default.number,
|
|
234
235
|
style: _propTypes.default.object,
|
|
@@ -84,7 +84,7 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
|
|
|
84
84
|
const {
|
|
85
85
|
isIndeterminate,
|
|
86
86
|
isChecked
|
|
87
|
-
} = (0, _useGridSelector.useGridSelector)(apiRef, checkboxPropsSelector);
|
|
87
|
+
} = (0, _useGridSelector.useGridSelector)(apiRef, checkboxPropsSelector, _useGridSelector.objectShallowCompare);
|
|
88
88
|
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
89
89
|
return null;
|
|
90
90
|
}
|
|
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
15
16
|
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
16
17
|
var _GridRootStyles = require("./GridRootStyles");
|
|
17
18
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
@@ -19,8 +20,10 @@ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiCont
|
|
|
19
20
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
20
21
|
var _gridClasses = require("../../constants/gridClasses");
|
|
21
22
|
var _densitySelector = require("../../hooks/features/density/densitySelector");
|
|
23
|
+
var _GridHeader = require("../GridHeader");
|
|
24
|
+
var _base = require("../base");
|
|
22
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["className"];
|
|
26
|
+
const _excluded = ["className", "children"];
|
|
24
27
|
const useUtilityClasses = (ownerState, density) => {
|
|
25
28
|
const {
|
|
26
29
|
autoHeight,
|
|
@@ -32,10 +35,11 @@ const useUtilityClasses = (ownerState, density) => {
|
|
|
32
35
|
};
|
|
33
36
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
34
37
|
};
|
|
35
|
-
const GridRoot =
|
|
38
|
+
const GridRoot = (0, _forwardRef.forwardRef)(function GridRoot(props, ref) {
|
|
36
39
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
37
40
|
const {
|
|
38
|
-
className
|
|
41
|
+
className,
|
|
42
|
+
children
|
|
39
43
|
} = props,
|
|
40
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
41
45
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
@@ -53,11 +57,14 @@ const GridRoot = exports.GridRoot = (0, _forwardRef.forwardRef)(function GridRoo
|
|
|
53
57
|
if (!mountedState) {
|
|
54
58
|
return null;
|
|
55
59
|
}
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
|
|
57
61
|
className: (0, _clsx.default)(classes.root, className),
|
|
58
62
|
ownerState: ownerState
|
|
59
63
|
}, other, {
|
|
60
|
-
ref: handleRef
|
|
64
|
+
ref: handleRef,
|
|
65
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeader.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridBody, {
|
|
66
|
+
children: children
|
|
67
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridFooterPlaceholder, {})]
|
|
61
68
|
}));
|
|
62
69
|
});
|
|
63
70
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
@@ -69,4 +76,5 @@ process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
|
69
76
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
70
77
|
*/
|
|
71
78
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
72
|
-
} : void 0;
|
|
79
|
+
} : void 0;
|
|
80
|
+
const MemoizedGridRoot = exports.GridRoot = (0, _fastMemo.fastMemo)(GridRoot);
|
|
@@ -99,7 +99,8 @@ const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) =
|
|
|
99
99
|
}, other, {
|
|
100
100
|
ref: ref,
|
|
101
101
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
|
|
102
|
-
mouseEvent: "
|
|
102
|
+
mouseEvent: "onPointerUp",
|
|
103
|
+
touchEvent: false,
|
|
103
104
|
onClickAway: handleClickAway,
|
|
104
105
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPaperRoot, {
|
|
105
106
|
className: classes.paper,
|
|
@@ -54,7 +54,12 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = (0, _forward
|
|
|
54
54
|
"aria-expanded": isOpen,
|
|
55
55
|
"aria-controls": isOpen ? columnPanelId : undefined,
|
|
56
56
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {}),
|
|
57
|
-
onClick: showColumns
|
|
57
|
+
onClick: showColumns,
|
|
58
|
+
onPointerUp: event => {
|
|
59
|
+
if (preferencePanel.open) {
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
58
63
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
59
64
|
ref: ref,
|
|
60
65
|
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
@@ -118,7 +118,12 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = (0, _forwardRe
|
|
|
118
118
|
}, rootProps.slotProps?.baseBadge, badgeProps, {
|
|
119
119
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {})
|
|
120
120
|
})),
|
|
121
|
-
onClick: toggleFilter
|
|
121
|
+
onClick: toggleFilter,
|
|
122
|
+
onPointerUp: event => {
|
|
123
|
+
if (preferencePanel.open) {
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
122
127
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
123
128
|
ref: ref,
|
|
124
129
|
children: apiRef.current.getLocaleText('toolbarFilters')
|
|
@@ -29,6 +29,9 @@ const Scrollbar = (0, _system.styled)('div')({
|
|
|
29
29
|
position: 'absolute',
|
|
30
30
|
display: 'inline-block',
|
|
31
31
|
zIndex: 6,
|
|
32
|
+
'&:hover': {
|
|
33
|
+
zIndex: 7
|
|
34
|
+
},
|
|
32
35
|
// In macOS Safari and Gnome Web, scrollbars are overlaid and don't affect the layout. So we consider
|
|
33
36
|
// their size to be 0px throughout all the calculations, but the floating scrollbar container does need
|
|
34
37
|
// to appear and have a real size. We set it to 14px because it seems like an acceptable value and we
|
|
@@ -110,19 +113,15 @@ const GridVirtualScrollbar = exports.GridVirtualScrollbar = (0, _forwardRef.forw
|
|
|
110
113
|
(0, _useOnMount.useOnMount)(() => {
|
|
111
114
|
const scroller = apiRef.current.virtualScrollerRef.current;
|
|
112
115
|
const scrollbar = scrollbarRef.current;
|
|
113
|
-
|
|
114
|
-
capture: true
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
const options = {
|
|
117
|
+
capture: true,
|
|
118
|
+
passive: true
|
|
119
|
+
};
|
|
120
|
+
scroller.addEventListener('scroll', onScrollerScroll, options);
|
|
121
|
+
scrollbar.addEventListener('scroll', onScrollbarScroll, options);
|
|
119
122
|
return () => {
|
|
120
|
-
scroller.removeEventListener('scroll', onScrollerScroll,
|
|
121
|
-
|
|
122
|
-
});
|
|
123
|
-
scrollbar.removeEventListener('scroll', onScrollbarScroll, {
|
|
124
|
-
capture: true
|
|
125
|
-
});
|
|
123
|
+
scroller.removeEventListener('scroll', onScrollerScroll, options);
|
|
124
|
+
scrollbar.removeEventListener('scroll', onScrollbarScroll, options);
|
|
126
125
|
};
|
|
127
126
|
});
|
|
128
127
|
React.useEffect(() => {
|
|
@@ -106,10 +106,10 @@ function GridVirtualScroller(props) {
|
|
|
106
106
|
virtualScroller: virtualScroller
|
|
107
107
|
})
|
|
108
108
|
})]
|
|
109
|
-
})), dimensions.
|
|
110
|
-
position: "vertical"
|
|
111
|
-
}, getScrollbarVerticalProps())), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
109
|
+
})), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
112
110
|
position: "horizontal"
|
|
113
|
-
}, getScrollbarHorizontalProps())),
|
|
111
|
+
}, getScrollbarHorizontalProps())), dimensions.hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
112
|
+
position: "vertical"
|
|
113
|
+
}, getScrollbarVerticalProps())), props.children]
|
|
114
114
|
}));
|
|
115
115
|
}
|