@mui/x-data-grid 5.15.2 → 5.17.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 +177 -2
- package/DataGrid/DataGrid.js +3 -1
- package/DataGrid/useDataGridComponent.js +5 -0
- package/README.md +2 -1
- package/components/DataGridColumnHeaders.js +4 -3
- package/components/ErrorBoundary.d.ts +1 -0
- package/components/GridAutoSizer.js +7 -0
- package/components/GridRow.d.ts +2 -1
- package/components/GridRow.js +136 -85
- package/components/base/GridBody.js +8 -5
- package/components/base/GridOverlays.js +4 -7
- package/components/cell/GridActionsCellItem.d.ts +2 -2
- package/components/cell/GridBooleanCell.js +2 -1
- package/components/cell/GridEditBooleanCell.js +2 -1
- package/components/cell/GridEditDateCell.js +3 -2
- package/components/cell/GridEditInputCell.js +2 -1
- package/components/cell/GridEditSingleSelectCell.js +11 -2
- package/components/cell/GridSkeletonCell.d.ts +12 -0
- package/components/cell/GridSkeletonCell.js +60 -0
- package/components/cell/index.d.ts +1 -0
- package/components/cell/index.js +2 -1
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +14 -0
- package/components/columnHeaders/GridColumnGroupHeader.js +122 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +55 -71
- package/components/columnHeaders/GridColumnHeadersInner.js +2 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +32 -0
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +104 -0
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
- package/components/containers/GridOverlay.js +7 -1
- package/components/containers/GridRoot.js +3 -3
- package/components/containers/GridRootStyles.js +16 -2
- package/components/menu/GridMenu.d.ts +3 -2
- package/components/menu/GridMenu.js +1 -0
- package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
- package/components/panel/GridColumnsPanel.d.ts +6 -1
- package/components/panel/GridColumnsPanel.js +38 -6
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +1 -0
- package/components/panel/filterPanel/GridFilterForm.d.ts +4 -0
- package/components/panel/filterPanel/GridFilterForm.js +5 -0
- package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterPanel.d.ts +4 -0
- package/components/panel/filterPanel/GridFilterPanel.js +5 -0
- package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
- package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/gridClasses.d.ts +24 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +5 -1
- package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.d.ts +7 -0
- package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +7 -0
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +8 -0
- package/hooks/features/columnGrouping/index.d.ts +2 -0
- package/hooks/features/columnGrouping/index.js +2 -0
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +24 -0
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +153 -0
- package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.d.ts +4 -0
- package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +35 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +7 -6
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +204 -9
- package/hooks/features/density/densitySelector.d.ts +2 -0
- package/hooks/features/density/densitySelector.js +3 -1
- package/hooks/features/density/densityState.d.ts +1 -0
- package/hooks/features/density/useGridDensity.d.ts +1 -1
- package/hooks/features/density/useGridDensity.js +45 -9
- package/hooks/features/dimensions/useGridDimensions.js +4 -4
- package/hooks/features/export/useGridPrintExport.js +3 -3
- package/hooks/features/filter/gridFilterSelector.d.ts +3 -3
- package/hooks/features/filter/gridFilterUtils.d.ts +1 -1
- package/hooks/features/filter/gridFilterUtils.js +55 -54
- package/hooks/features/filter/useGridFilter.js +1 -1
- package/hooks/features/index.d.ts +1 -0
- package/hooks/features/index.js +1 -0
- package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -1
- package/hooks/features/rows/gridRowsSelector.d.ts +1 -1
- package/hooks/features/rows/useGridParamsApi.js +1 -1
- package/hooks/features/rows/useGridRows.js +65 -8
- package/hooks/features/rows/useGridRowsMeta.js +36 -16
- package/hooks/features/selection/gridSelectionSelector.d.ts +1 -1
- package/hooks/features/sorting/gridSortingSelector.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -2
- package/hooks/features/virtualization/useGridVirtualScroller.js +17 -5
- package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
- package/hooks/utils/useGridNativeEventListener.js +2 -2
- package/hooks/utils/useGridVisibleRows.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +2 -0
- package/internals/index.js +2 -0
- package/legacy/DataGrid/DataGrid.js +3 -1
- package/legacy/DataGrid/useDataGridComponent.js +5 -0
- package/legacy/components/DataGridColumnHeaders.js +4 -3
- package/legacy/components/GridAutoSizer.js +7 -0
- package/legacy/components/GridRow.js +138 -85
- package/legacy/components/base/GridBody.js +8 -5
- package/legacy/components/base/GridOverlays.js +4 -7
- package/legacy/components/cell/GridBooleanCell.js +2 -1
- package/legacy/components/cell/GridEditBooleanCell.js +2 -1
- package/legacy/components/cell/GridEditDateCell.js +3 -2
- package/legacy/components/cell/GridEditInputCell.js +2 -1
- package/legacy/components/cell/GridEditSingleSelectCell.js +11 -2
- package/legacy/components/cell/GridSkeletonCell.js +57 -0
- package/legacy/components/cell/index.js +2 -1
- package/legacy/components/columnHeaders/GridColumnGroupHeader.js +120 -0
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +78 -88
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +2 -1
- package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +112 -0
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
- package/legacy/components/containers/GridOverlay.js +7 -1
- package/legacy/components/containers/GridRoot.js +3 -3
- package/legacy/components/containers/GridRootStyles.js +14 -5
- package/legacy/components/menu/GridMenu.js +1 -0
- package/legacy/components/panel/GridColumnsPanel.js +41 -6
- package/legacy/components/panel/GridPanel.js +1 -0
- package/legacy/components/panel/filterPanel/GridFilterForm.js +5 -0
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +5 -0
- package/legacy/constants/defaultGridSlotsComponents.js +2 -1
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +12 -0
- package/legacy/hooks/features/columnGrouping/index.js +2 -0
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +151 -0
- package/legacy/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +35 -0
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +213 -12
- package/legacy/hooks/features/density/densitySelector.js +6 -0
- package/legacy/hooks/features/density/useGridDensity.js +44 -6
- package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -4
- package/legacy/hooks/features/export/useGridPrintExport.js +3 -3
- package/legacy/hooks/features/filter/gridFilterUtils.js +61 -56
- package/legacy/hooks/features/filter/useGridFilter.js +1 -1
- package/legacy/hooks/features/index.js +1 -0
- package/legacy/hooks/features/rows/useGridParamsApi.js +1 -1
- package/legacy/hooks/features/rows/useGridRows.js +73 -8
- package/legacy/hooks/features/rows/useGridRowsMeta.js +45 -18
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +31 -13
- package/legacy/hooks/utils/useGridNativeEventListener.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +2 -0
- package/legacy/models/api/gridColumnGroupingApi.js +1 -0
- package/legacy/models/events/gridEvents.js +2 -0
- package/legacy/models/gridColumnGrouping.js +6 -0
- package/legacy/models/index.js +2 -1
- package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +1 -0
- package/legacy/models/params/index.js +2 -1
- package/legacy/utils/utils.js +18 -0
- package/models/api/gridApiCommon.d.ts +2 -1
- package/models/api/gridColumnGroupingApi.d.ts +19 -0
- package/models/api/gridColumnGroupingApi.js +1 -0
- package/models/api/gridDensityApi.d.ts +2 -1
- package/models/api/gridParamsApi.d.ts +1 -1
- package/models/api/gridRowApi.d.ts +6 -0
- package/models/api/gridRowsMetaApi.d.ts +6 -1
- package/models/colDef/gridColDef.d.ts +15 -1
- package/models/events/gridEventLookup.d.ts +7 -1
- package/models/events/gridEvents.d.ts +3 -1
- package/models/events/gridEvents.js +2 -0
- package/models/gridColumnGrouping.d.ts +67 -0
- package/models/gridColumnGrouping.js +6 -0
- package/models/gridRows.d.ts +5 -5
- package/models/gridSlotsComponent.d.ts +5 -0
- package/models/gridStateCommunity.d.ts +2 -1
- package/models/index.d.ts +1 -0
- package/models/index.js +2 -1
- package/models/params/gridCellParams.d.ts +7 -2
- package/models/params/gridMenuParams.d.ts +1 -2
- package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +10 -0
- package/models/params/gridRenderedRowsIntervalChangeParams.js +1 -0
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +2 -1
- package/models/props/DataGridProps.d.ts +7 -1
- package/modern/DataGrid/DataGrid.js +3 -1
- package/modern/DataGrid/useDataGridComponent.js +5 -0
- package/modern/components/DataGridColumnHeaders.js +4 -3
- package/modern/components/GridAutoSizer.js +7 -0
- package/modern/components/GridRow.js +133 -84
- package/modern/components/base/GridBody.js +8 -5
- package/modern/components/base/GridOverlays.js +4 -7
- package/modern/components/cell/GridBooleanCell.js +2 -1
- package/modern/components/cell/GridEditBooleanCell.js +2 -1
- package/modern/components/cell/GridEditDateCell.js +3 -2
- package/modern/components/cell/GridEditInputCell.js +2 -1
- package/modern/components/cell/GridEditSingleSelectCell.js +11 -2
- package/modern/components/cell/GridSkeletonCell.js +60 -0
- package/modern/components/cell/index.js +2 -1
- package/modern/components/columnHeaders/GridColumnGroupHeader.js +120 -0
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +53 -69
- package/modern/components/columnHeaders/GridColumnHeadersInner.js +2 -1
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +104 -0
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
- package/modern/components/containers/GridOverlay.js +7 -1
- package/modern/components/containers/GridRoot.js +3 -3
- package/modern/components/containers/GridRootStyles.js +16 -2
- package/modern/components/menu/GridMenu.js +1 -0
- package/modern/components/panel/GridColumnsPanel.js +38 -6
- package/modern/components/panel/GridPanel.js +1 -0
- package/modern/components/panel/filterPanel/GridFilterForm.js +5 -0
- package/modern/components/panel/filterPanel/GridFilterPanel.js +5 -0
- package/modern/constants/defaultGridSlotsComponents.js +2 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
- package/modern/hooks/features/columnGrouping/gridColumnGroupsSelector.js +8 -0
- package/modern/hooks/features/columnGrouping/index.js +2 -0
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +145 -0
- package/modern/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +29 -0
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +186 -9
- package/modern/hooks/features/density/densitySelector.js +3 -1
- package/modern/hooks/features/density/useGridDensity.js +37 -9
- package/modern/hooks/features/dimensions/useGridDimensions.js +4 -4
- package/modern/hooks/features/export/useGridPrintExport.js +3 -3
- package/modern/hooks/features/filter/gridFilterUtils.js +54 -53
- package/modern/hooks/features/filter/useGridFilter.js +1 -1
- package/modern/hooks/features/index.js +1 -0
- package/modern/hooks/features/rows/useGridParamsApi.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +65 -8
- package/modern/hooks/features/rows/useGridRowsMeta.js +36 -16
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +17 -5
- package/modern/hooks/utils/useGridNativeEventListener.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/index.js +2 -0
- package/modern/models/api/gridColumnGroupingApi.js +1 -0
- package/modern/models/events/gridEvents.js +2 -0
- package/modern/models/gridColumnGrouping.js +6 -0
- package/modern/models/index.js +2 -1
- package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +1 -0
- package/modern/models/params/index.js +2 -1
- package/modern/utils/utils.js +16 -0
- package/node/DataGrid/DataGrid.js +3 -1
- package/node/DataGrid/useDataGridComponent.js +7 -0
- package/node/components/DataGridColumnHeaders.js +4 -3
- package/node/components/GridAutoSizer.js +7 -0
- package/node/components/GridRow.js +136 -77
- package/node/components/base/GridBody.js +7 -4
- package/node/components/base/GridOverlays.js +3 -6
- package/node/components/cell/GridBooleanCell.js +2 -1
- package/node/components/cell/GridEditBooleanCell.js +2 -1
- package/node/components/cell/GridEditDateCell.js +3 -2
- package/node/components/cell/GridEditInputCell.js +2 -1
- package/node/components/cell/GridEditSingleSelectCell.js +11 -2
- package/node/components/cell/GridSkeletonCell.js +81 -0
- package/node/components/cell/index.js +13 -0
- package/node/components/columnHeaders/GridColumnGroupHeader.js +141 -0
- package/node/components/columnHeaders/GridColumnHeaderItem.js +53 -72
- package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -1
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +126 -0
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
- package/node/components/containers/GridOverlay.js +7 -1
- package/node/components/containers/GridRoot.js +4 -4
- package/node/components/containers/GridRootStyles.js +16 -2
- package/node/components/menu/GridMenu.js +1 -0
- package/node/components/panel/GridColumnsPanel.js +36 -5
- package/node/components/panel/GridPanel.js +1 -0
- package/node/components/panel/filterPanel/GridFilterForm.js +5 -0
- package/node/components/panel/filterPanel/GridFilterPanel.js +5 -0
- package/node/constants/defaultGridSlotsComponents.js +1 -0
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +5 -0
- package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +18 -0
- package/node/hooks/features/columnGrouping/index.js +18 -0
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +182 -0
- package/node/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +55 -0
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +207 -8
- package/node/hooks/features/density/densitySelector.js +6 -2
- package/node/hooks/features/density/useGridDensity.js +48 -9
- package/node/hooks/features/dimensions/useGridDimensions.js +3 -3
- package/node/hooks/features/export/useGridPrintExport.js +2 -2
- package/node/hooks/features/filter/gridFilterUtils.js +55 -55
- package/node/hooks/features/filter/useGridFilter.js +1 -1
- package/node/hooks/features/index.js +13 -0
- package/node/hooks/features/rows/useGridParamsApi.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +60 -7
- package/node/hooks/features/rows/useGridRowsMeta.js +35 -15
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -5
- package/node/hooks/utils/useGridNativeEventListener.js +2 -2
- package/node/index.js +1 -1
- package/node/internals/index.js +22 -0
- package/node/models/api/gridColumnGroupingApi.js +5 -0
- package/node/models/events/gridEvents.js +2 -0
- package/node/models/gridColumnGrouping.js +13 -0
- package/node/models/index.js +13 -0
- package/node/models/params/gridRenderedRowsIntervalChangeParams.js +5 -0
- package/node/models/params/index.js +13 -0
- package/node/utils/utils.js +18 -0
- package/package.json +3 -3
- package/utils/utils.d.ts +1 -0
- package/utils/utils.js +16 -0
|
@@ -126,6 +126,13 @@ process.env.NODE_ENV !== "production" ? GridAutoSizer.propTypes = {
|
|
|
126
126
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
127
127
|
// ----------------------------------------------------------------------
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Function responsible for rendering children.
|
|
131
|
+
* @param {AutoSizerSize} size The grid's size.
|
|
132
|
+
* @returns {React.ReactNode} The children to render.
|
|
133
|
+
*/
|
|
134
|
+
children: _propTypes.default.func.isRequired,
|
|
135
|
+
|
|
129
136
|
/**
|
|
130
137
|
* Default height to use for initial render; useful for SSR.
|
|
131
138
|
* @default null
|
|
@@ -45,9 +45,13 @@ var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelecto
|
|
|
45
45
|
|
|
46
46
|
var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
|
|
47
47
|
|
|
48
|
+
var _densitySelector = require("../hooks/features/density/densitySelector");
|
|
49
|
+
|
|
50
|
+
var _utils = require("../utils/utils");
|
|
51
|
+
|
|
48
52
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
49
53
|
|
|
50
|
-
const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "cellFocus", "cellTabIndex", "editRowsState", "isLastVisible", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"];
|
|
54
|
+
const _excluded = ["selected", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "cellFocus", "cellTabIndex", "editRowsState", "isLastVisible", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"];
|
|
51
55
|
|
|
52
56
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
53
57
|
|
|
@@ -93,6 +97,7 @@ function GridRow(props) {
|
|
|
93
97
|
row,
|
|
94
98
|
index,
|
|
95
99
|
style: styleProp,
|
|
100
|
+
position,
|
|
96
101
|
rowHeight,
|
|
97
102
|
className,
|
|
98
103
|
visibleColumns,
|
|
@@ -109,8 +114,6 @@ function GridRow(props) {
|
|
|
109
114
|
onMouseLeave
|
|
110
115
|
} = props,
|
|
111
116
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
112
|
-
const ariaRowIndex = index + 2; // 1 for the header row and 1 as it's 1-based
|
|
113
|
-
|
|
114
117
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
115
118
|
const ref = React.useRef(null);
|
|
116
119
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
@@ -118,6 +121,9 @@ function GridRow(props) {
|
|
|
118
121
|
const columnsTotalWidth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnsTotalWidthSelector);
|
|
119
122
|
const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
|
|
120
123
|
const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowTreeDepthSelector);
|
|
124
|
+
const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityHeaderGroupingMaxDepthSelector);
|
|
125
|
+
const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
|
|
126
|
+
|
|
121
127
|
const {
|
|
122
128
|
hasScrollX,
|
|
123
129
|
hasScrollY
|
|
@@ -137,9 +143,9 @@ function GridRow(props) {
|
|
|
137
143
|
React.useLayoutEffect(() => {
|
|
138
144
|
if (rowHeight === 'auto' && ref.current && typeof ResizeObserver === 'undefined') {
|
|
139
145
|
// Fallback for IE
|
|
140
|
-
apiRef.current.unstable_storeRowHeightMeasurement(rowId, ref.current.clientHeight);
|
|
146
|
+
apiRef.current.unstable_storeRowHeightMeasurement(rowId, ref.current.clientHeight, position);
|
|
141
147
|
}
|
|
142
|
-
}, [apiRef, rowHeight, rowId]);
|
|
148
|
+
}, [apiRef, rowHeight, rowId, position]);
|
|
143
149
|
React.useLayoutEffect(() => {
|
|
144
150
|
if (currentPage.range) {
|
|
145
151
|
// The index prop is relative to the rows from all pages. As example, the index prop of the
|
|
@@ -164,11 +170,11 @@ function GridRow(props) {
|
|
|
164
170
|
const resizeObserver = new ResizeObserver(entries => {
|
|
165
171
|
const [entry] = entries;
|
|
166
172
|
const height = entry.borderBoxSize && entry.borderBoxSize.length > 0 ? entry.borderBoxSize[0].blockSize : entry.contentRect.height;
|
|
167
|
-
apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
|
|
173
|
+
apiRef.current.unstable_storeRowHeightMeasurement(rowId, height, position);
|
|
168
174
|
});
|
|
169
175
|
resizeObserver.observe(rootElement);
|
|
170
176
|
return () => resizeObserver.disconnect();
|
|
171
|
-
}, [apiRef, currentPage.range, index, rowHeight, rowId]);
|
|
177
|
+
}, [apiRef, currentPage.range, index, rowHeight, rowId, position]);
|
|
172
178
|
const publish = React.useCallback((eventName, propHandler) => event => {
|
|
173
179
|
// Ignore portal
|
|
174
180
|
// The target is not an element when triggered by a Select inside the cell
|
|
@@ -224,43 +230,9 @@ function GridRow(props) {
|
|
|
224
230
|
|
|
225
231
|
publish('rowClick', onClick)(event);
|
|
226
232
|
}, [apiRef, onClick, publish, rowId]);
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
// max-height doesn't support "auto"
|
|
230
|
-
minHeight: rowHeight
|
|
231
|
-
});
|
|
232
|
-
const sizes = apiRef.current.unstable_getRowInternalSizes(rowId);
|
|
233
|
-
|
|
234
|
-
if (sizes != null && sizes.spacingTop) {
|
|
235
|
-
const property = rootProps.rowSpacingType === 'border' ? 'borderTopWidth' : 'marginTop';
|
|
236
|
-
style[property] = sizes.spacingTop;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
if (sizes != null && sizes.spacingBottom) {
|
|
240
|
-
const property = rootProps.rowSpacingType === 'border' ? 'borderBottomWidth' : 'marginBottom';
|
|
241
|
-
style[property] = sizes.spacingBottom;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
let rowClassName = null;
|
|
245
|
-
|
|
246
|
-
if (typeof rootProps.getRowClassName === 'function') {
|
|
247
|
-
const indexRelativeToCurrentPage = index - currentPage.range.firstRowIndex;
|
|
248
|
-
const rowParams = (0, _extends2.default)({}, apiRef.current.getRowParams(rowId), {
|
|
249
|
-
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
250
|
-
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
251
|
-
indexRelativeToCurrentPage
|
|
252
|
-
});
|
|
253
|
-
rowClassName = rootProps.getRowClassName(rowParams);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
const cells = [];
|
|
233
|
+
const getCell = React.useCallback((column, cellProps) => {
|
|
234
|
+
var _rootProps$components;
|
|
257
235
|
|
|
258
|
-
for (let i = 0; i < renderedColumns.length; i += 1) {
|
|
259
|
-
const column = renderedColumns[i];
|
|
260
|
-
const indexRelativeToAllColumns = firstColumnToRender + i;
|
|
261
|
-
const isLastColumn = indexRelativeToAllColumns === visibleColumns.length - 1;
|
|
262
|
-
const removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
|
|
263
|
-
const showRightBorder = !isLastColumn ? rootProps.showCellRightBorder : !removeLastBorderRight && rootProps.disableExtendRowFullWidth;
|
|
264
236
|
const cellParams = apiRef.current.getCellParams(rowId, column.field);
|
|
265
237
|
const classNames = [];
|
|
266
238
|
const disableDragEvents = rootProps.disableColumnReorder && column.disableReorder || !rootProps.rowReordering && !!sortModel.length && treeDepth > 1 && Object.keys(editRowsState).length > 0;
|
|
@@ -309,53 +281,139 @@ function GridRow(props) {
|
|
|
309
281
|
|
|
310
282
|
const hasFocus = cellFocus !== null && cellFocus.id === rowId && cellFocus.field === column.field;
|
|
311
283
|
const tabIndex = cellTabIndex !== null && cellTabIndex.id === rowId && cellTabIndex.field === column.field && cellParams.cellMode === 'view' ? 0 : -1;
|
|
284
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.Cell, (0, _extends2.default)({
|
|
285
|
+
value: cellParams.value,
|
|
286
|
+
field: column.field,
|
|
287
|
+
width: cellProps.width,
|
|
288
|
+
rowId: rowId,
|
|
289
|
+
height: rowHeight,
|
|
290
|
+
showRightBorder: cellProps.showRightBorder,
|
|
291
|
+
formattedValue: cellParams.formattedValue,
|
|
292
|
+
align: column.align || 'left',
|
|
293
|
+
cellMode: cellParams.cellMode,
|
|
294
|
+
colIndex: cellProps.indexRelativeToAllColumns,
|
|
295
|
+
isEditable: cellParams.isEditable,
|
|
296
|
+
hasFocus: hasFocus,
|
|
297
|
+
tabIndex: tabIndex,
|
|
298
|
+
className: (0, _clsx.default)(classNames),
|
|
299
|
+
colSpan: cellProps.colSpan,
|
|
300
|
+
disableDragEvents: disableDragEvents
|
|
301
|
+
}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.cell, {
|
|
302
|
+
children: content
|
|
303
|
+
}), column.field);
|
|
304
|
+
}, [apiRef, cellTabIndex, editRowsState, cellFocus, rootProps, row, rowHeight, rowId, treeDepth, sortModel.length]);
|
|
305
|
+
const sizes = apiRef.current.unstable_getRowInternalSizes(rowId);
|
|
306
|
+
let minHeight = rowHeight;
|
|
307
|
+
|
|
308
|
+
if (minHeight === 'auto' && sizes) {
|
|
309
|
+
let numberOfBaseSizes = 0;
|
|
310
|
+
const maximumSize = Object.entries(sizes).reduce((acc, [key, size]) => {
|
|
311
|
+
const isBaseHeight = /^base[A-Z]/.test(key);
|
|
312
|
+
|
|
313
|
+
if (!isBaseHeight) {
|
|
314
|
+
return acc;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
numberOfBaseSizes += 1;
|
|
318
|
+
|
|
319
|
+
if (size > acc) {
|
|
320
|
+
return size;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
return acc;
|
|
324
|
+
}, 0);
|
|
325
|
+
|
|
326
|
+
if (maximumSize > 0 && numberOfBaseSizes > 1) {
|
|
327
|
+
minHeight = maximumSize;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
const style = (0, _extends2.default)({}, styleProp, {
|
|
332
|
+
maxHeight: rowHeight === 'auto' ? 'none' : rowHeight,
|
|
333
|
+
// max-height doesn't support "auto"
|
|
334
|
+
minHeight
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
if (sizes != null && sizes.spacingTop) {
|
|
338
|
+
const property = rootProps.rowSpacingType === 'border' ? 'borderTopWidth' : 'marginTop';
|
|
339
|
+
style[property] = sizes.spacingTop;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
if (sizes != null && sizes.spacingBottom) {
|
|
343
|
+
const property = rootProps.rowSpacingType === 'border' ? 'borderBottomWidth' : 'marginBottom';
|
|
344
|
+
style[property] = sizes.spacingBottom;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const rowClassNames = apiRef.current.unstable_applyPipeProcessors('rowClassName', [], rowId);
|
|
348
|
+
|
|
349
|
+
if (typeof rootProps.getRowClassName === 'function') {
|
|
350
|
+
var _currentPage$range;
|
|
351
|
+
|
|
352
|
+
const indexRelativeToCurrentPage = index - (((_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.firstRowIndex) || 0);
|
|
353
|
+
const rowParams = (0, _extends2.default)({}, apiRef.current.getRowParams(rowId), {
|
|
354
|
+
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
355
|
+
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
356
|
+
indexRelativeToCurrentPage
|
|
357
|
+
});
|
|
358
|
+
rowClassNames.push(rootProps.getRowClassName(rowParams));
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
const randomNumber = (0, _utils.randomNumberBetween)(10000, 20, 80);
|
|
362
|
+
const cells = [];
|
|
363
|
+
|
|
364
|
+
for (let i = 0; i < renderedColumns.length; i += 1) {
|
|
365
|
+
const column = renderedColumns[i];
|
|
366
|
+
const indexRelativeToAllColumns = firstColumnToRender + i;
|
|
367
|
+
const isLastColumn = indexRelativeToAllColumns === visibleColumns.length - 1;
|
|
368
|
+
const removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
|
|
369
|
+
const showRightBorder = !isLastColumn ? rootProps.showCellRightBorder : !removeLastBorderRight && rootProps.disableExtendRowFullWidth;
|
|
312
370
|
const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
|
|
313
371
|
|
|
314
372
|
if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
}
|
|
339
|
-
children: content
|
|
340
|
-
}), column.field));
|
|
373
|
+
if (row) {
|
|
374
|
+
const {
|
|
375
|
+
colSpan,
|
|
376
|
+
width
|
|
377
|
+
} = cellColSpanInfo.cellProps;
|
|
378
|
+
const cellProps = {
|
|
379
|
+
width,
|
|
380
|
+
colSpan,
|
|
381
|
+
showRightBorder,
|
|
382
|
+
indexRelativeToAllColumns
|
|
383
|
+
};
|
|
384
|
+
cells.push(getCell(column, cellProps));
|
|
385
|
+
} else {
|
|
386
|
+
const {
|
|
387
|
+
width
|
|
388
|
+
} = cellColSpanInfo.cellProps;
|
|
389
|
+
const contentWidth = Math.round(randomNumber());
|
|
390
|
+
cells.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.SkeletonCell, {
|
|
391
|
+
width: width,
|
|
392
|
+
contentWidth: contentWidth,
|
|
393
|
+
field: column.field,
|
|
394
|
+
align: column.align
|
|
395
|
+
}, column.field));
|
|
396
|
+
}
|
|
341
397
|
}
|
|
342
398
|
}
|
|
343
399
|
|
|
344
400
|
const emptyCellWidth = containerWidth - columnsTotalWidth;
|
|
401
|
+
const eventHandlers = row ? {
|
|
402
|
+
onClick: publishClick,
|
|
403
|
+
onDoubleClick: publish('rowDoubleClick', onDoubleClick),
|
|
404
|
+
onMouseEnter: publish('rowMouseEnter', onMouseEnter),
|
|
405
|
+
onMouseLeave: publish('rowMouseLeave', onMouseLeave)
|
|
406
|
+
} : null;
|
|
345
407
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
346
408
|
ref: ref,
|
|
347
409
|
"data-id": rowId,
|
|
348
410
|
"data-rowindex": index,
|
|
349
411
|
role: "row",
|
|
350
|
-
className: (0, _clsx.default)(
|
|
412
|
+
className: (0, _clsx.default)(...rowClassNames, classes.root, className),
|
|
351
413
|
"aria-rowindex": ariaRowIndex,
|
|
352
414
|
"aria-selected": selected,
|
|
353
|
-
style: style
|
|
354
|
-
|
|
355
|
-
onDoubleClick: publish('rowDoubleClick', onDoubleClick),
|
|
356
|
-
onMouseEnter: publish('rowMouseEnter', onMouseEnter),
|
|
357
|
-
onMouseLeave: publish('rowMouseLeave', onMouseLeave)
|
|
358
|
-
}, other, {
|
|
415
|
+
style: style
|
|
416
|
+
}, eventHandlers, other, {
|
|
359
417
|
children: [cells, emptyCellWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyCell, {
|
|
360
418
|
width: emptyCellWidth
|
|
361
419
|
})]
|
|
@@ -380,8 +438,9 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
|
|
|
380
438
|
index: _propTypes.default.number.isRequired,
|
|
381
439
|
isLastVisible: _propTypes.default.bool,
|
|
382
440
|
lastColumnToRender: _propTypes.default.number.isRequired,
|
|
441
|
+
position: _propTypes.default.oneOf(['center', 'left', 'right']).isRequired,
|
|
383
442
|
renderedColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
384
|
-
row: _propTypes.default.
|
|
443
|
+
row: _propTypes.default.object,
|
|
385
444
|
rowHeight: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]).isRequired,
|
|
386
445
|
rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
387
446
|
selected: _propTypes.default.bool.isRequired,
|
|
@@ -39,14 +39,17 @@ function GridBody(props) {
|
|
|
39
39
|
} = props;
|
|
40
40
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
41
41
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
42
|
-
const
|
|
42
|
+
const totalHeaderHeight = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityTotalHeaderHeightSelector);
|
|
43
43
|
const [isVirtualizationDisabled, setIsVirtualizationDisabled] = React.useState(rootProps.disableVirtualization);
|
|
44
44
|
const disableVirtualization = React.useCallback(() => {
|
|
45
45
|
setIsVirtualizationDisabled(true);
|
|
46
46
|
}, []);
|
|
47
47
|
const enableVirtualization = React.useCallback(() => {
|
|
48
48
|
setIsVirtualizationDisabled(false);
|
|
49
|
-
}, []);
|
|
49
|
+
}, []);
|
|
50
|
+
React.useEffect(() => {
|
|
51
|
+
setIsVirtualizationDisabled(rootProps.disableVirtualization);
|
|
52
|
+
}, [rootProps.disableVirtualization]); // The `useGridApiMethod` hook can't be used here, because it only installs the
|
|
50
53
|
// method if it doesn't exist yet. Once installed, it's never updated again.
|
|
51
54
|
// This break the methods above, since their closure comes from the first time
|
|
52
55
|
// they were installed. Which means that calling `setIsVirtualizationDisabled`
|
|
@@ -81,8 +84,8 @@ function GridBody(props) {
|
|
|
81
84
|
width: size.width,
|
|
82
85
|
// If `autoHeight` is on, there will be no height value.
|
|
83
86
|
// In this case, let the container to grow whatever it needs.
|
|
84
|
-
height: size.height ? size.height -
|
|
85
|
-
marginTop:
|
|
87
|
+
height: size.height ? size.height - totalHeaderHeight : 'auto',
|
|
88
|
+
marginTop: totalHeaderHeight
|
|
86
89
|
};
|
|
87
90
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerComponent, {
|
|
88
91
|
ref: windowRef,
|
|
@@ -36,7 +36,7 @@ function GridOverlayWrapper(props) {
|
|
|
36
36
|
|
|
37
37
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
38
38
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
39
|
-
const
|
|
39
|
+
const totalHeaderHeight = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityTotalHeaderHeightSelector);
|
|
40
40
|
const [viewportInnerSize, setViewportInnerSize] = React.useState(() => {
|
|
41
41
|
var _apiRef$current$getRo, _apiRef$current$getRo2;
|
|
42
42
|
|
|
@@ -65,11 +65,8 @@ function GridOverlayWrapper(props) {
|
|
|
65
65
|
height,
|
|
66
66
|
width: (_viewportInnerSize$wi = viewportInnerSize == null ? void 0 : viewportInnerSize.width) != null ? _viewportInnerSize$wi : 0,
|
|
67
67
|
position: 'absolute',
|
|
68
|
-
top:
|
|
69
|
-
bottom: height === 'auto' ? 0 : undefined
|
|
70
|
-
zIndex: 4,
|
|
71
|
-
// should be above pinned columns, pinned rows and detail panel
|
|
72
|
-
pointerEvents: 'none'
|
|
68
|
+
top: totalHeaderHeight,
|
|
69
|
+
bottom: height === 'auto' ? 0 : undefined
|
|
73
70
|
}
|
|
74
71
|
}, props));
|
|
75
72
|
}
|
|
@@ -144,7 +144,8 @@ process.env.NODE_ENV !== "production" ? GridBooleanCellRaw.propTypes = {
|
|
|
144
144
|
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
|
-
* The cell value
|
|
147
|
+
* The cell value.
|
|
148
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
148
149
|
*/
|
|
149
150
|
value: _propTypes.default.any
|
|
150
151
|
} : void 0;
|
|
@@ -185,7 +185,8 @@ process.env.NODE_ENV !== "production" ? GridEditBooleanCell.propTypes = {
|
|
|
185
185
|
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
186
186
|
|
|
187
187
|
/**
|
|
188
|
-
* The cell value
|
|
188
|
+
* The cell value.
|
|
189
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
189
190
|
*/
|
|
190
191
|
value: _propTypes.default.any
|
|
191
192
|
} : void 0;
|
|
@@ -107,7 +107,7 @@ function GridEditDateCell(props) {
|
|
|
107
107
|
const [date, time] = newFormattedDate.split('T');
|
|
108
108
|
const [year, month, day] = date.split('-');
|
|
109
109
|
newParsedDate = new Date();
|
|
110
|
-
newParsedDate.setFullYear(year, Number(month) - 1, day);
|
|
110
|
+
newParsedDate.setFullYear(Number(year), Number(month) - 1, Number(day));
|
|
111
111
|
newParsedDate.setHours(0, 0, 0, 0);
|
|
112
112
|
|
|
113
113
|
if (time) {
|
|
@@ -241,7 +241,8 @@ process.env.NODE_ENV !== "production" ? GridEditDateCell.propTypes = {
|
|
|
241
241
|
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
242
242
|
|
|
243
243
|
/**
|
|
244
|
-
* The cell value
|
|
244
|
+
* The cell value.
|
|
245
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
245
246
|
*/
|
|
246
247
|
value: _propTypes.default.any
|
|
247
248
|
} : void 0;
|
|
@@ -204,7 +204,8 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
|
204
204
|
tabIndex: _propTypes.default.oneOf([-1, 0]),
|
|
205
205
|
|
|
206
206
|
/**
|
|
207
|
-
* The cell value
|
|
207
|
+
* The cell value.
|
|
208
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
208
209
|
*/
|
|
209
210
|
value: _propTypes.default.any
|
|
210
211
|
} : void 0;
|
|
@@ -49,6 +49,10 @@ const renderSingleSelectOptions = (option, OptionComponent) => {
|
|
|
49
49
|
}, key);
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
+
function isKeyboardEvent(event) {
|
|
53
|
+
return !!event.key;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
function GridEditSingleSelectCell(props) {
|
|
53
57
|
var _rootProps$components, _baseSelectProps$nati, _rootProps$components2;
|
|
54
58
|
|
|
@@ -166,7 +170,11 @@ function GridEditSingleSelectCell(props) {
|
|
|
166
170
|
}
|
|
167
171
|
};
|
|
168
172
|
|
|
169
|
-
const handleOpen =
|
|
173
|
+
const handleOpen = event => {
|
|
174
|
+
if (isKeyboardEvent(event) && event.key === 'Enter') {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
|
|
170
178
|
setOpen(true);
|
|
171
179
|
};
|
|
172
180
|
|
|
@@ -280,7 +288,8 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
|
|
|
280
288
|
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
281
289
|
|
|
282
290
|
/**
|
|
283
|
-
* The cell value
|
|
291
|
+
* The cell value.
|
|
292
|
+
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
284
293
|
*/
|
|
285
294
|
value: _propTypes.default.any
|
|
286
295
|
} : void 0;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.GridSkeletonCell = GridSkeletonCell;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
|
+
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
+
|
|
18
|
+
var _Skeleton = _interopRequireDefault(require("@mui/material/Skeleton"));
|
|
19
|
+
|
|
20
|
+
var _utils = require("@mui/material/utils");
|
|
21
|
+
|
|
22
|
+
var _material = require("@mui/material");
|
|
23
|
+
|
|
24
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
25
|
+
|
|
26
|
+
var _gridClasses = require("../../constants/gridClasses");
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
const _excluded = ["field", "align", "width", "contentWidth"];
|
|
31
|
+
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
const useUtilityClasses = ownerState => {
|
|
37
|
+
const {
|
|
38
|
+
align,
|
|
39
|
+
classes
|
|
40
|
+
} = ownerState;
|
|
41
|
+
const slots = {
|
|
42
|
+
root: ['cell', 'cellSkeleton', `cell--text${(0, _utils.capitalize)(align)}`]
|
|
43
|
+
};
|
|
44
|
+
return (0, _material.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
function GridSkeletonCell(props) {
|
|
48
|
+
const {
|
|
49
|
+
align,
|
|
50
|
+
width,
|
|
51
|
+
contentWidth
|
|
52
|
+
} = props,
|
|
53
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
54
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
55
|
+
const ownerState = {
|
|
56
|
+
classes: rootProps.classes,
|
|
57
|
+
align
|
|
58
|
+
};
|
|
59
|
+
const classes = useUtilityClasses(ownerState);
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
|
|
61
|
+
className: classes.root,
|
|
62
|
+
style: {
|
|
63
|
+
width
|
|
64
|
+
}
|
|
65
|
+
}, other, {
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Skeleton.default, {
|
|
67
|
+
width: `${contentWidth}%`
|
|
68
|
+
})
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
process.env.NODE_ENV !== "production" ? GridSkeletonCell.propTypes = {
|
|
73
|
+
// ----------------------------- Warning --------------------------------
|
|
74
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
75
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
76
|
+
// ----------------------------------------------------------------------
|
|
77
|
+
align: _propTypes.default.string.isRequired,
|
|
78
|
+
contentWidth: _propTypes.default.number.isRequired,
|
|
79
|
+
field: _propTypes.default.string.isRequired,
|
|
80
|
+
width: _propTypes.default.number.isRequired
|
|
81
|
+
} : void 0;
|
|
@@ -106,4 +106,17 @@ Object.keys(_GridActionsCellItem).forEach(function (key) {
|
|
|
106
106
|
return _GridActionsCellItem[key];
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
var _GridSkeletonCell = require("./GridSkeletonCell");
|
|
112
|
+
|
|
113
|
+
Object.keys(_GridSkeletonCell).forEach(function (key) {
|
|
114
|
+
if (key === "default" || key === "__esModule") return;
|
|
115
|
+
if (key in exports && exports[key] === _GridSkeletonCell[key]) return;
|
|
116
|
+
Object.defineProperty(exports, key, {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function () {
|
|
119
|
+
return _GridSkeletonCell[key];
|
|
120
|
+
}
|
|
121
|
+
});
|
|
109
122
|
});
|