@mui/x-data-grid 7.0.0-alpha.8 → 7.0.0-alpha.9
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 +379 -2
- package/DataGrid/DataGrid.js +6 -6
- package/DataGrid/useDataGridComponent.js +2 -1
- package/DataGrid/useDataGridProps.js +1 -0
- package/README.md +1 -1
- package/components/GridColumnHeaders.d.ts +3 -2
- package/components/GridColumnHeaders.js +3 -11
- package/components/GridDetailPanels.d.ts +5 -0
- package/components/GridDetailPanels.js +4 -0
- package/components/GridHeaders.d.ts +4 -0
- package/components/GridHeaders.js +53 -0
- package/components/GridPinnedRows.d.ts +7 -0
- package/components/GridPinnedRows.js +4 -0
- package/components/GridRow.d.ts +7 -4
- package/components/GridRow.js +260 -97
- package/components/GridScrollbarFillerCell.d.ts +7 -0
- package/components/GridScrollbarFillerCell.js +39 -0
- package/components/base/GridBody.d.ts +2 -13
- package/components/base/GridBody.js +2 -116
- package/components/base/GridOverlays.js +10 -21
- package/components/cell/GridActionsCellItem.d.ts +2 -2
- package/components/cell/GridCell.d.ts +15 -21
- package/components/cell/GridCell.js +67 -372
- package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
- package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
- package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
- package/components/containers/GridRoot.js +18 -15
- package/components/containers/GridRootStyles.js +307 -204
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/components/panel/GridPanel.js +3 -4
- package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
- package/components/panel/filterPanel/GridFilterForm.js +31 -14
- package/components/panel/filterPanel/GridFilterPanel.js +46 -20
- package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
- package/components/toolbar/GridToolbarColumnsButton.js +40 -22
- package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
- package/components/toolbar/GridToolbarDensitySelector.js +40 -22
- package/components/toolbar/GridToolbarExport.d.ts +10 -1
- package/components/toolbar/GridToolbarExport.js +6 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
- package/components/toolbar/GridToolbarExportContainer.js +41 -23
- package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
- package/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/components/virtualization/GridBottomContainer.d.ts +2 -0
- package/components/virtualization/GridBottomContainer.js +25 -0
- package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
- package/components/virtualization/GridMainContainer.js +20 -0
- package/components/virtualization/GridTopContainer.d.ts +2 -0
- package/components/virtualization/GridTopContainer.js +35 -0
- package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
- package/components/virtualization/GridVirtualScrollbar.js +131 -0
- package/components/virtualization/GridVirtualScroller.d.ts +4 -4
- package/components/virtualization/GridVirtualScroller.js +69 -16
- package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
- package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
- package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/constants/defaultGridSlotsComponents.js +6 -2
- package/constants/gridClasses.d.ts +60 -8
- package/constants/gridClasses.js +1 -1
- package/hooks/core/gridCoreSelector.d.ts +6 -0
- package/hooks/core/gridCoreSelector.js +5 -0
- package/hooks/core/useGridInitialization.js +4 -0
- package/hooks/core/useGridRefs.d.ts +3 -0
- package/hooks/core/useGridRefs.js +13 -0
- package/hooks/core/useGridTheme.d.ts +3 -0
- package/hooks/core/useGridTheme.js +19 -0
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
- package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
- package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
- package/hooks/features/columns/gridColumnsSelector.js +52 -0
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
- package/hooks/features/columns/gridColumnsUtils.js +10 -12
- package/hooks/features/columns/index.d.ts +2 -2
- package/hooks/features/columns/index.js +2 -1
- package/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/hooks/features/columns/useGridColumns.js +20 -23
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
- package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
- package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
- package/hooks/features/dimensions/index.d.ts +2 -0
- package/hooks/features/dimensions/index.js +1 -0
- package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
- package/hooks/features/dimensions/useGridDimensions.js +216 -148
- package/hooks/features/export/serializers/csvSerializer.js +2 -2
- package/hooks/features/filter/useGridFilter.js +3 -3
- package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
- package/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/hooks/features/focus/useGridFocus.js +3 -3
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/hooks/features/pagination/useGridPagination.js +3 -5
- package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
- package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
- package/hooks/features/rows/gridRowsSelector.js +5 -5
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/rows/gridRowsUtils.js +4 -4
- package/hooks/features/rows/useGridRowsMeta.js +7 -4
- package/hooks/features/scroll/useGridScroll.js +8 -10
- package/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/sorting/useGridSorting.js +15 -10
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
- package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
- package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
- package/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/hooks/utils/index.d.ts +3 -0
- package/hooks/utils/index.js +4 -1
- package/hooks/utils/useGridAriaAttributes.js +1 -2
- package/hooks/utils/useGridNativeEventListener.js +4 -9
- package/hooks/utils/useResizeObserver.d.ts +2 -0
- package/hooks/utils/useResizeObserver.js +36 -0
- package/hooks/utils/useRunOnce.d.ts +5 -0
- package/hooks/utils/useRunOnce.js +18 -0
- package/index.js +1 -1
- package/internals/index.d.ts +12 -9
- package/internals/index.js +9 -7
- package/legacy/DataGrid/DataGrid.js +6 -6
- package/legacy/DataGrid/useDataGridComponent.js +2 -1
- package/legacy/DataGrid/useDataGridProps.js +1 -0
- package/legacy/components/GridColumnHeaders.js +3 -11
- package/legacy/components/GridDetailPanels.js +4 -0
- package/legacy/components/GridHeaders.js +53 -0
- package/legacy/components/GridPinnedRows.js +4 -0
- package/legacy/components/GridRow.js +258 -98
- package/legacy/components/GridScrollbarFillerCell.js +36 -0
- package/legacy/components/base/GridBody.js +2 -114
- package/legacy/components/base/GridOverlays.js +10 -25
- package/legacy/components/cell/GridCell.js +69 -377
- package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
- package/legacy/components/containers/GridRoot.js +18 -15
- package/legacy/components/containers/GridRootStyles.js +215 -137
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/legacy/components/panel/GridPanel.js +3 -4
- package/legacy/components/panel/filterPanel/GridFilterForm.js +30 -13
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
- package/legacy/components/toolbar/GridToolbarExport.js +6 -1
- package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
- package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/legacy/components/virtualization/GridBottomContainer.js +25 -0
- package/legacy/components/virtualization/GridMainContainer.js +20 -0
- package/legacy/components/virtualization/GridTopContainer.js +35 -0
- package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
- package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
- package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/legacy/constants/defaultGridSlotsComponents.js +6 -2
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/core/gridCoreSelector.js +7 -0
- package/legacy/hooks/core/useGridInitialization.js +4 -0
- package/legacy/hooks/core/useGridRefs.js +13 -0
- package/legacy/hooks/core/useGridTheme.js +21 -0
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
- package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
- package/legacy/hooks/features/columns/index.js +2 -1
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
- package/legacy/hooks/features/columns/useGridColumns.js +22 -23
- package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
- package/legacy/hooks/features/dimensions/index.js +1 -0
- package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
- package/legacy/hooks/features/export/serializers/csvSerializer.js +2 -2
- package/legacy/hooks/features/filter/useGridFilter.js +3 -3
- package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/legacy/hooks/features/focus/useGridFocus.js +3 -3
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
- package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
- package/legacy/hooks/features/rows/gridRowsUtils.js +4 -4
- package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -4
- package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
- package/legacy/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
- package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
- package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/legacy/hooks/utils/index.js +4 -1
- package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
- package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
- package/legacy/hooks/utils/useResizeObserver.js +36 -0
- package/legacy/hooks/utils/useRunOnce.js +18 -0
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +9 -7
- package/legacy/locales/hrHR.js +161 -0
- package/legacy/locales/index.js +4 -1
- package/legacy/locales/ptPT.js +161 -0
- package/legacy/locales/zhHK.js +161 -0
- package/legacy/models/index.js +0 -1
- package/legacy/models/params/index.js +1 -2
- package/legacy/utils/utils.js +10 -1
- package/locales/hrHR.d.ts +1 -0
- package/locales/hrHR.js +149 -0
- package/locales/index.d.ts +3 -0
- package/locales/index.js +4 -1
- package/locales/ptPT.d.ts +1 -0
- package/locales/ptPT.js +149 -0
- package/locales/zhHK.d.ts +1 -0
- package/locales/zhHK.js +149 -0
- package/models/api/gridColumnGroupingApi.d.ts +2 -2
- package/models/api/gridCoreApi.d.ts +16 -16
- package/models/api/gridRowsMetaApi.d.ts +1 -1
- package/models/api/gridVirtualizationApi.d.ts +2 -3
- package/models/events/gridEventLookup.d.ts +3 -3
- package/models/gridFilterModel.d.ts +1 -1
- package/models/gridSlotsComponent.d.ts +16 -2
- package/models/gridStateCommunity.d.ts +5 -1
- package/models/index.d.ts +0 -1
- package/models/index.js +0 -1
- package/models/params/index.d.ts +0 -1
- package/models/params/index.js +1 -2
- package/models/props/DataGridProps.d.ts +6 -11
- package/modern/DataGrid/DataGrid.js +6 -6
- package/modern/DataGrid/useDataGridComponent.js +2 -1
- package/modern/DataGrid/useDataGridProps.js +1 -0
- package/modern/components/GridColumnHeaders.js +3 -11
- package/modern/components/GridDetailPanels.js +4 -0
- package/modern/components/GridHeaders.js +53 -0
- package/modern/components/GridPinnedRows.js +4 -0
- package/modern/components/GridRow.js +258 -96
- package/modern/components/GridScrollbarFillerCell.js +39 -0
- package/modern/components/base/GridBody.js +2 -116
- package/modern/components/base/GridOverlays.js +10 -16
- package/modern/components/cell/GridCell.js +65 -369
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/modern/components/containers/GridRoot.js +18 -14
- package/modern/components/containers/GridRootStyles.js +307 -204
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/modern/components/panel/GridPanel.js +3 -4
- package/modern/components/panel/filterPanel/GridFilterForm.js +30 -13
- package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
- package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
- package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
- package/modern/components/toolbar/GridToolbarExport.js +6 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
- package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/modern/components/virtualization/GridBottomContainer.js +25 -0
- package/modern/components/virtualization/GridMainContainer.js +20 -0
- package/modern/components/virtualization/GridTopContainer.js +35 -0
- package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
- package/modern/components/virtualization/GridVirtualScroller.js +69 -16
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/modern/constants/defaultGridSlotsComponents.js +6 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/core/gridCoreSelector.js +5 -0
- package/modern/hooks/core/useGridInitialization.js +4 -0
- package/modern/hooks/core/useGridRefs.js +13 -0
- package/modern/hooks/core/useGridTheme.js +19 -0
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
- package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
- package/modern/hooks/features/columns/index.js +2 -1
- package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/modern/hooks/features/columns/useGridColumns.js +19 -21
- package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
- package/modern/hooks/features/dimensions/index.js +1 -0
- package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
- package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
- package/modern/hooks/features/filter/useGridFilter.js +3 -3
- package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/modern/hooks/features/focus/useGridFocus.js +3 -3
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/modern/hooks/features/pagination/useGridPagination.js +3 -5
- package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
- package/modern/hooks/features/rows/gridRowsUtils.js +4 -4
- package/modern/hooks/features/rows/useGridRowsMeta.js +7 -4
- package/modern/hooks/features/scroll/useGridScroll.js +8 -9
- package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/modern/hooks/features/sorting/useGridSorting.js +15 -10
- package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
- package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/modern/hooks/utils/index.js +4 -1
- package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
- package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
- package/modern/hooks/utils/useResizeObserver.js +36 -0
- package/modern/hooks/utils/useRunOnce.js +18 -0
- package/modern/index.js +1 -1
- package/modern/internals/index.js +9 -7
- package/modern/locales/hrHR.js +149 -0
- package/modern/locales/index.js +4 -1
- package/modern/locales/ptPT.js +149 -0
- package/modern/locales/zhHK.js +149 -0
- package/modern/models/index.js +0 -1
- package/modern/models/params/index.js +1 -2
- package/modern/utils/utils.js +10 -1
- package/node/DataGrid/DataGrid.js +6 -6
- package/node/DataGrid/useDataGridComponent.js +1 -0
- package/node/DataGrid/useDataGridProps.js +1 -0
- package/node/components/GridColumnHeaders.js +3 -11
- package/node/components/GridDetailPanels.js +10 -0
- package/node/components/GridHeaders.js +60 -0
- package/node/components/GridPinnedRows.js +10 -0
- package/node/components/GridRow.js +256 -94
- package/node/components/GridScrollbarFillerCell.js +47 -0
- package/node/components/base/GridBody.js +7 -118
- package/node/components/base/GridOverlays.js +9 -15
- package/node/components/cell/GridCell.js +66 -369
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/node/components/containers/GridRoot.js +17 -14
- package/node/components/containers/GridRootStyles.js +175 -72
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/node/components/panel/GridPanel.js +3 -4
- package/node/components/panel/filterPanel/GridFilterForm.js +29 -12
- package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
- package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
- package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
- package/node/components/toolbar/GridToolbarExport.js +6 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
- package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/node/components/virtualization/GridBottomContainer.js +34 -0
- package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
- package/node/components/virtualization/GridTopContainer.js +44 -0
- package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
- package/node/components/virtualization/GridVirtualScroller.js +69 -17
- package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/node/constants/defaultGridSlotsComponents.js +5 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/core/gridCoreSelector.js +12 -0
- package/node/hooks/core/useGridInitialization.js +4 -0
- package/node/hooks/core/useGridRefs.js +22 -0
- package/node/hooks/core/useGridTheme.js +29 -0
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
- package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
- package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
- package/node/hooks/features/columns/index.js +22 -61
- package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/node/hooks/features/columns/useGridColumns.js +20 -22
- package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
- package/node/hooks/features/dimensions/index.js +11 -0
- package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
- package/node/hooks/features/export/serializers/csvSerializer.js +2 -2
- package/node/hooks/features/filter/useGridFilter.js +2 -2
- package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
- package/node/hooks/features/focus/useGridFocus.js +2 -2
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
- package/node/hooks/features/pagination/useGridPagination.js +3 -5
- package/node/hooks/features/rows/gridRowsSelector.js +2 -2
- package/node/hooks/features/rows/gridRowsUtils.js +4 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +5 -3
- package/node/hooks/features/scroll/useGridScroll.js +8 -9
- package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/node/hooks/features/sorting/useGridSorting.js +15 -10
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
- package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
- package/node/hooks/utils/index.js +36 -0
- package/node/hooks/utils/useGridAriaAttributes.js +1 -1
- package/node/hooks/utils/useGridNativeEventListener.js +3 -9
- package/node/hooks/utils/useResizeObserver.js +44 -0
- package/node/hooks/utils/useRunOnce.js +27 -0
- package/node/index.js +1 -1
- package/node/internals/index.js +86 -71
- package/node/locales/hrHR.js +155 -0
- package/node/locales/index.js +33 -0
- package/node/locales/ptPT.js +155 -0
- package/node/locales/zhHK.js +155 -0
- package/node/models/index.js +0 -11
- package/node/models/params/index.js +0 -11
- package/node/utils/utils.js +11 -1
- package/package.json +6 -6
- package/utils/utils.d.ts +6 -0
- package/utils/utils.js +10 -1
- package/components/DataGridVirtualScroller.d.ts +0 -3
- package/components/DataGridVirtualScroller.js +0 -35
- package/components/containers/GridMainContainer.js +0 -43
- package/legacy/components/DataGridVirtualScroller.js +0 -32
- package/legacy/components/containers/GridMainContainer.js +0 -45
- package/legacy/models/gridRootContainerRef.js +0 -1
- package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/models/gridRootContainerRef.d.ts +0 -5
- package/models/gridRootContainerRef.js +0 -1
- package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
- package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/modern/components/DataGridVirtualScroller.js +0 -35
- package/modern/components/containers/GridMainContainer.js +0 -42
- package/modern/models/gridRootContainerRef.js +0 -1
- package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/node/components/DataGridVirtualScroller.js +0 -42
- package/node/models/gridRootContainerRef.js +0 -5
- package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
|
@@ -7,44 +7,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.GridMainContainer = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _utils = require("@mui/utils");
|
|
11
10
|
var _system = require("@mui/system");
|
|
12
|
-
var _gridClasses = require("../../constants/gridClasses");
|
|
13
|
-
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
14
11
|
var _useGridAriaAttributes = require("../../hooks/utils/useGridAriaAttributes");
|
|
15
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
const
|
|
19
|
-
const {
|
|
20
|
-
classes
|
|
21
|
-
} = ownerState;
|
|
22
|
-
const slots = {
|
|
23
|
-
root: ['main']
|
|
24
|
-
};
|
|
25
|
-
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
26
|
-
};
|
|
27
|
-
const GridMainContainerRoot = (0, _system.styled)('div', {
|
|
28
|
-
name: 'MuiDataGrid',
|
|
29
|
-
slot: 'Main',
|
|
30
|
-
overridesResolver: (props, styles) => styles.main
|
|
31
|
-
})(() => ({
|
|
32
|
-
position: 'relative',
|
|
15
|
+
const Element = (0, _system.styled)('div')({
|
|
33
16
|
flexGrow: 1,
|
|
34
|
-
|
|
35
|
-
flexDirection: 'column',
|
|
17
|
+
position: 'relative',
|
|
36
18
|
overflow: 'hidden'
|
|
37
|
-
})
|
|
19
|
+
});
|
|
38
20
|
const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
const getAriaAttributes = rootProps.experimentalFeatures?.ariaV7 // ariaV7 should never change
|
|
42
|
-
? _useGridAriaAttributes.useGridAriaAttributes : null;
|
|
43
|
-
const ariaAttributes = typeof getAriaAttributes === 'function' ? getAriaAttributes() : null;
|
|
44
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridMainContainerRoot, (0, _extends2.default)({
|
|
21
|
+
const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
|
|
45
23
|
ref: ref,
|
|
46
|
-
className:
|
|
47
|
-
|
|
24
|
+
className: props.className,
|
|
25
|
+
tabIndex: -1
|
|
48
26
|
}, ariaAttributes, {
|
|
49
27
|
children: props.children
|
|
50
28
|
}));
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GridTopContainer = GridTopContainer;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
var _system = require("@mui/system");
|
|
12
|
+
var _utils = require("@mui/utils");
|
|
13
|
+
var _gridClasses = require("../../constants/gridClasses");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
const useUtilityClasses = () => {
|
|
18
|
+
const slots = {
|
|
19
|
+
root: ['topContainer']
|
|
20
|
+
};
|
|
21
|
+
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, {});
|
|
22
|
+
};
|
|
23
|
+
const Element = (0, _system.styled)('div')({
|
|
24
|
+
position: 'sticky',
|
|
25
|
+
zIndex: 2,
|
|
26
|
+
top: 0,
|
|
27
|
+
'&::after': {
|
|
28
|
+
content: '" "',
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
zIndex: 5,
|
|
31
|
+
bottom: 0,
|
|
32
|
+
left: 0,
|
|
33
|
+
height: 1,
|
|
34
|
+
width: 'var(--DataGrid-rowWidth)',
|
|
35
|
+
backgroundColor: 'var(--DataGrid-rowBorderColor)'
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
function GridTopContainer(props) {
|
|
39
|
+
const classes = useUtilityClasses();
|
|
40
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({}, props, {
|
|
41
|
+
className: (0, _clsx.default)(classes.root, props.className, _gridClasses.gridClasses['container--top']),
|
|
42
|
+
role: "presentation"
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GridVirtualScrollbar = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _system = require("@mui/system");
|
|
9
|
+
var _utils = require("@mui/utils");
|
|
10
|
+
var _useOnMount = require("../../hooks/utils/useOnMount");
|
|
11
|
+
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
12
|
+
var _hooks = require("../../hooks");
|
|
13
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
14
|
+
var _gridClasses = require("../../constants/gridClasses");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
+
const useUtilityClasses = (ownerState, position) => {
|
|
19
|
+
const {
|
|
20
|
+
classes
|
|
21
|
+
} = ownerState;
|
|
22
|
+
const slots = {
|
|
23
|
+
root: ['scrollbar', `scrollbar--${position}`],
|
|
24
|
+
content: ['scrollbarContent']
|
|
25
|
+
};
|
|
26
|
+
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
27
|
+
};
|
|
28
|
+
const Scrollbar = (0, _system.styled)('div')({
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
display: 'inline-block',
|
|
31
|
+
zIndex: 6,
|
|
32
|
+
'& > div': {
|
|
33
|
+
display: 'inline-block'
|
|
34
|
+
},
|
|
35
|
+
// In macOS Safari and Gnome Web, scrollbars are overlaid and don't affect the layout. So we consider
|
|
36
|
+
// their size to be 0px throughout all the calculations, but the floating scrollbar container does need
|
|
37
|
+
// to appear and have a real size. We set it to 14px because it seems like an acceptable value and we
|
|
38
|
+
// don't have a method to find the required size for scrollbars on those platforms.
|
|
39
|
+
'--size': 'calc(max(var(--DataGrid-scrollbarSize), 14px))'
|
|
40
|
+
});
|
|
41
|
+
const ScrollbarVertical = (0, _system.styled)(Scrollbar)({
|
|
42
|
+
width: 'var(--size)',
|
|
43
|
+
height: 'calc(var(--DataGrid-hasScrollY) * (100% - var(--DataGrid-topContainerHeight) - var(--DataGrid-bottomContainerHeight) - var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize)))',
|
|
44
|
+
overflowY: 'auto',
|
|
45
|
+
overflowX: 'hidden',
|
|
46
|
+
'& > div': {
|
|
47
|
+
width: 'var(--size)'
|
|
48
|
+
},
|
|
49
|
+
top: 'var(--DataGrid-topContainerHeight)',
|
|
50
|
+
right: '0px'
|
|
51
|
+
});
|
|
52
|
+
const ScrollbarHorizontal = (0, _system.styled)(Scrollbar)({
|
|
53
|
+
width: '100%',
|
|
54
|
+
height: 'var(--size)',
|
|
55
|
+
overflowY: 'hidden',
|
|
56
|
+
overflowX: 'auto',
|
|
57
|
+
'& > div': {
|
|
58
|
+
height: 'var(--size)'
|
|
59
|
+
},
|
|
60
|
+
bottom: '0px'
|
|
61
|
+
});
|
|
62
|
+
const Content = (0, _system.styled)('div')({
|
|
63
|
+
display: 'inline-block'
|
|
64
|
+
});
|
|
65
|
+
const GridVirtualScrollbar = exports.GridVirtualScrollbar = /*#__PURE__*/React.forwardRef(function GridVirtualScrollbar(props, ref) {
|
|
66
|
+
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
67
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
68
|
+
const isLocked = React.useRef(false);
|
|
69
|
+
const lastPosition = React.useRef(0);
|
|
70
|
+
const scrollbarRef = React.useRef(null);
|
|
71
|
+
const contentRef = React.useRef(null);
|
|
72
|
+
const classes = useUtilityClasses(rootProps, props.position);
|
|
73
|
+
const dimensions = (0, _hooks.useGridSelector)(apiRef, _hooks.gridDimensionsSelector);
|
|
74
|
+
const propertyDimension = props.position === 'vertical' ? 'height' : 'width';
|
|
75
|
+
const propertyScroll = props.position === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
|
76
|
+
const hasScroll = props.position === 'vertical' ? dimensions.hasScrollX : dimensions.hasScrollY;
|
|
77
|
+
const contentSize = dimensions.minimumSize[propertyDimension] + (hasScroll ? dimensions.scrollbarSize : 0);
|
|
78
|
+
const scrollbarSize = props.position === 'vertical' ? dimensions.viewportInnerSize.height : dimensions.viewportOuterSize.width;
|
|
79
|
+
const scrollbarInnerSize = scrollbarSize * (contentSize / dimensions.viewportOuterSize[propertyDimension]);
|
|
80
|
+
const onScrollerScroll = (0, _utils.unstable_useEventCallback)(() => {
|
|
81
|
+
const scroller = apiRef.current.virtualScrollerRef.current;
|
|
82
|
+
const scrollbar = scrollbarRef.current;
|
|
83
|
+
if (scroller[propertyScroll] === lastPosition.current) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (isLocked.current) {
|
|
87
|
+
isLocked.current = false;
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
isLocked.current = true;
|
|
91
|
+
const value = scroller[propertyScroll] / contentSize;
|
|
92
|
+
scrollbar[propertyScroll] = value * scrollbarInnerSize;
|
|
93
|
+
lastPosition.current = scroller[propertyScroll];
|
|
94
|
+
});
|
|
95
|
+
const onScrollbarScroll = (0, _utils.unstable_useEventCallback)(() => {
|
|
96
|
+
const scroller = apiRef.current.virtualScrollerRef.current;
|
|
97
|
+
const scrollbar = scrollbarRef.current;
|
|
98
|
+
if (isLocked.current) {
|
|
99
|
+
isLocked.current = false;
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
isLocked.current = true;
|
|
103
|
+
const value = scrollbar[propertyScroll] / scrollbarInnerSize;
|
|
104
|
+
scroller[propertyScroll] = value * contentSize;
|
|
105
|
+
});
|
|
106
|
+
(0, _useOnMount.useOnMount)(() => {
|
|
107
|
+
const scroller = apiRef.current.virtualScrollerRef.current;
|
|
108
|
+
const scrollbar = scrollbarRef.current;
|
|
109
|
+
scroller.addEventListener('scroll', onScrollerScroll, {
|
|
110
|
+
capture: true
|
|
111
|
+
});
|
|
112
|
+
scrollbar.addEventListener('scroll', onScrollbarScroll, {
|
|
113
|
+
capture: true
|
|
114
|
+
});
|
|
115
|
+
return () => {
|
|
116
|
+
scroller.removeEventListener('scroll', onScrollerScroll, {
|
|
117
|
+
capture: true
|
|
118
|
+
});
|
|
119
|
+
scrollbar.removeEventListener('scroll', onScrollbarScroll, {
|
|
120
|
+
capture: true
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
React.useEffect(() => {
|
|
125
|
+
const content = contentRef.current;
|
|
126
|
+
content.style.setProperty(propertyDimension, `${scrollbarInnerSize}px`);
|
|
127
|
+
}, [scrollbarInnerSize, propertyDimension]);
|
|
128
|
+
const Container = props.position === 'vertical' ? ScrollbarVertical : ScrollbarHorizontal;
|
|
129
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
|
|
130
|
+
ref: (0, _utils.unstable_useForkRef)(ref, scrollbarRef),
|
|
131
|
+
className: classes.root,
|
|
132
|
+
tabIndex: -1,
|
|
133
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, {
|
|
134
|
+
ref: contentRef,
|
|
135
|
+
className: classes.content
|
|
136
|
+
})
|
|
137
|
+
});
|
|
138
|
+
});
|
|
@@ -4,47 +4,99 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.GridVirtualScroller =
|
|
7
|
+
exports.GridVirtualScroller = GridVirtualScroller;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
10
|
var _system = require("@mui/system");
|
|
12
11
|
var _utils = require("@mui/utils");
|
|
13
12
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
13
|
+
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
14
|
+
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
14
15
|
var _gridClasses = require("../../constants/gridClasses");
|
|
16
|
+
var _dimensions = require("../../hooks/features/dimensions");
|
|
17
|
+
var _useGridVirtualScroller = require("../../hooks/features/virtualization/useGridVirtualScroller");
|
|
18
|
+
var _GridOverlays = require("../base/GridOverlays");
|
|
19
|
+
var _GridHeaders = require("../GridHeaders");
|
|
20
|
+
var _GridMainContainer = require("./GridMainContainer");
|
|
21
|
+
var _GridTopContainer = require("./GridTopContainer");
|
|
22
|
+
var _GridBottomContainer = require("./GridBottomContainer");
|
|
23
|
+
var _GridVirtualScrollerContent = require("./GridVirtualScrollerContent");
|
|
24
|
+
var _GridVirtualScrollerFiller = require("./GridVirtualScrollerFiller");
|
|
25
|
+
var _GridVirtualScrollerRenderZone = require("./GridVirtualScrollerRenderZone");
|
|
26
|
+
var _GridVirtualScrollbar = require("./GridVirtualScrollbar");
|
|
15
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
28
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
29
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
const useUtilityClasses = ownerState => {
|
|
30
|
+
const useUtilityClasses = (ownerState, dimensions) => {
|
|
19
31
|
const {
|
|
20
32
|
classes
|
|
21
33
|
} = ownerState;
|
|
22
34
|
const slots = {
|
|
23
|
-
root: ['
|
|
35
|
+
root: ['main', dimensions.rightPinnedWidth > 0 && 'main--hasPinnedRight'],
|
|
36
|
+
scroller: ['virtualScroller']
|
|
24
37
|
};
|
|
25
38
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
26
39
|
};
|
|
27
|
-
const
|
|
40
|
+
const Scroller = (0, _system.styled)('div', {
|
|
28
41
|
name: 'MuiDataGrid',
|
|
29
42
|
slot: 'VirtualScroller',
|
|
30
43
|
overridesResolver: (props, styles) => styles.virtualScroller
|
|
31
44
|
})({
|
|
32
|
-
overflow: 'auto',
|
|
33
|
-
height: '100%',
|
|
34
|
-
// See https://github.com/mui/mui-x/issues/4360
|
|
35
45
|
position: 'relative',
|
|
46
|
+
height: '100%',
|
|
47
|
+
overflow: 'scroll',
|
|
48
|
+
scrollbarWidth: 'none' /* Firefox */,
|
|
49
|
+
'&::-webkit-scrollbar': {
|
|
50
|
+
display: 'none' /* Safari and Chrome */
|
|
51
|
+
},
|
|
36
52
|
'@media print': {
|
|
37
53
|
overflow: 'hidden'
|
|
38
54
|
},
|
|
39
|
-
|
|
55
|
+
// See https://github.com/mui/mui-x/issues/10547
|
|
56
|
+
zIndex: 0
|
|
40
57
|
});
|
|
41
|
-
|
|
58
|
+
function GridVirtualScroller(props) {
|
|
59
|
+
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
42
60
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
61
|
+
const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
|
|
62
|
+
const classes = useUtilityClasses(rootProps, dimensions);
|
|
63
|
+
const virtualScroller = (0, _useGridVirtualScroller.useGridVirtualScroller)();
|
|
64
|
+
const {
|
|
65
|
+
getContainerProps,
|
|
66
|
+
getScrollerProps,
|
|
67
|
+
getContentProps,
|
|
68
|
+
getRenderZoneProps,
|
|
69
|
+
getScrollbarVerticalProps,
|
|
70
|
+
getScrollbarHorizontalProps
|
|
71
|
+
} = virtualScroller;
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, (0, _extends2.default)({
|
|
73
|
+
className: classes.root
|
|
74
|
+
}, getContainerProps(), {
|
|
75
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
|
|
76
|
+
className: classes.scroller
|
|
77
|
+
}, getScrollerProps(), {
|
|
78
|
+
ownerState: rootProps,
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridTopContainer.GridTopContainer, {
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaders.GridHeaders, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
81
|
+
position: "top",
|
|
82
|
+
virtualScroller: virtualScroller
|
|
83
|
+
})]
|
|
84
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlays.GridOverlays, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerContent.GridVirtualScrollerContent, (0, _extends2.default)({}, getContentProps(), {
|
|
85
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridVirtualScrollerRenderZone.GridVirtualScrollerRenderZone, (0, _extends2.default)({}, getRenderZoneProps(), {
|
|
86
|
+
children: [virtualScroller.getRows(), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.detailPanels, {
|
|
87
|
+
virtualScroller: virtualScroller
|
|
88
|
+
})]
|
|
89
|
+
}))
|
|
90
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
|
|
91
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
92
|
+
position: "bottom",
|
|
93
|
+
virtualScroller: virtualScroller
|
|
94
|
+
})
|
|
95
|
+
})]
|
|
96
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
97
|
+
position: "vertical"
|
|
98
|
+
}, getScrollbarVerticalProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
99
|
+
position: "horizontal"
|
|
100
|
+
}, getScrollbarHorizontalProps())), props.children]
|
|
49
101
|
}));
|
|
50
|
-
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GridVirtualScrollerFiller = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _system = require("@mui/system");
|
|
9
|
+
var _fastMemo = require("../../utils/fastMemo");
|
|
10
|
+
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
11
|
+
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
12
|
+
var _dimensions = require("../../hooks/features/dimensions");
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
const Filler = (0, _system.styled)('div')({
|
|
18
|
+
display: 'flex',
|
|
19
|
+
flexDirection: 'row',
|
|
20
|
+
width: 'var(--DataGrid-rowWidth)',
|
|
21
|
+
boxSizing: 'border-box'
|
|
22
|
+
});
|
|
23
|
+
const Pinned = (0, _system.styled)('div')({
|
|
24
|
+
position: 'sticky',
|
|
25
|
+
height: '100%',
|
|
26
|
+
boxSizing: 'border-box',
|
|
27
|
+
borderTop: '1px solid var(--DataGrid-rowBorderColor)',
|
|
28
|
+
backgroundColor: 'var(--DataGrid-pinnedBackground)'
|
|
29
|
+
});
|
|
30
|
+
const PinnedLeft = (0, _system.styled)(Pinned)({
|
|
31
|
+
left: 0,
|
|
32
|
+
borderRight: '1px solid var(--DataGrid-rowBorderColor)'
|
|
33
|
+
});
|
|
34
|
+
const PinnedRight = (0, _system.styled)(Pinned)({
|
|
35
|
+
right: 0,
|
|
36
|
+
borderLeft: '1px solid var(--DataGrid-rowBorderColor)'
|
|
37
|
+
});
|
|
38
|
+
const Main = (0, _system.styled)('div')({
|
|
39
|
+
flexGrow: 1,
|
|
40
|
+
borderTop: '1px solid var(--DataGrid-rowBorderColor)'
|
|
41
|
+
});
|
|
42
|
+
function GridVirtualScrollerFiller() {
|
|
43
|
+
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
44
|
+
const {
|
|
45
|
+
viewportOuterSize,
|
|
46
|
+
minimumSize,
|
|
47
|
+
hasScrollX,
|
|
48
|
+
scrollbarSize,
|
|
49
|
+
leftPinnedWidth,
|
|
50
|
+
rightPinnedWidth
|
|
51
|
+
} = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
|
|
52
|
+
const scrollbarHeight = hasScrollX ? scrollbarSize : 0;
|
|
53
|
+
const expandedHeight = viewportOuterSize.height - minimumSize.height - scrollbarHeight;
|
|
54
|
+
const height = Math.max(scrollbarHeight, expandedHeight);
|
|
55
|
+
if (height === 0) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Filler, {
|
|
59
|
+
className: _constants.gridClasses.filler,
|
|
60
|
+
role: "presentation",
|
|
61
|
+
style: {
|
|
62
|
+
height
|
|
63
|
+
},
|
|
64
|
+
children: [leftPinnedWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(PinnedLeft, {
|
|
65
|
+
className: _constants.gridClasses['filler--pinnedLeft'],
|
|
66
|
+
style: {
|
|
67
|
+
width: leftPinnedWidth
|
|
68
|
+
}
|
|
69
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Main, {}), rightPinnedWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(PinnedRight, {
|
|
70
|
+
className: _constants.gridClasses['filler--pinnedRight'],
|
|
71
|
+
style: {
|
|
72
|
+
width: rightPinnedWidth
|
|
73
|
+
}
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const Memoized = exports.GridVirtualScrollerFiller = (0, _fastMemo.fastMemo)(GridVirtualScrollerFiller);
|
|
@@ -34,7 +34,8 @@ const VirtualScrollerRenderZoneRoot = (0, _system.styled)('div', {
|
|
|
34
34
|
position: 'absolute',
|
|
35
35
|
display: 'flex',
|
|
36
36
|
// Prevents margin collapsing when using `getRowSpacing`
|
|
37
|
-
flexDirection: 'column'
|
|
37
|
+
flexDirection: 'column',
|
|
38
|
+
transform: 'translate3d(0, var(--DataGrid-offsetTop), 0)'
|
|
38
39
|
});
|
|
39
40
|
const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = /*#__PURE__*/React.forwardRef(function GridVirtualScrollerRenderZone(props, ref) {
|
|
40
41
|
const {
|
|
@@ -10,19 +10,23 @@ var _components = require("../components");
|
|
|
10
10
|
var _GridCell = require("../components/cell/GridCell");
|
|
11
11
|
var _GridColumnHeaders = require("../components/GridColumnHeaders");
|
|
12
12
|
var _GridColumnMenu = require("../components/menu/columnMenu/GridColumnMenu");
|
|
13
|
+
var _GridDetailPanels = require("../components/GridDetailPanels");
|
|
14
|
+
var _GridPinnedRows = require("../components/GridPinnedRows");
|
|
13
15
|
var _GridNoResultsOverlay = require("../components/GridNoResultsOverlay");
|
|
14
16
|
var _material = _interopRequireDefault(require("../material"));
|
|
15
17
|
// TODO: camelCase these key. It's a private helper now.
|
|
16
18
|
// Remove then need to call `uncapitalizeObjectKeys`.
|
|
17
19
|
const DATA_GRID_DEFAULT_SLOTS_COMPONENTS = exports.DATA_GRID_DEFAULT_SLOTS_COMPONENTS = (0, _extends2.default)({}, _material.default, {
|
|
18
|
-
cell: _GridCell.
|
|
20
|
+
cell: _GridCell.GridCell,
|
|
19
21
|
skeletonCell: _components.GridSkeletonCell,
|
|
20
22
|
columnHeaderFilterIconButton: _components.GridColumnHeaderFilterIconButton,
|
|
21
23
|
columnMenu: _GridColumnMenu.GridColumnMenu,
|
|
22
24
|
columnHeaders: _GridColumnHeaders.GridColumnHeaders,
|
|
25
|
+
detailPanels: _GridDetailPanels.GridDetailPanels,
|
|
23
26
|
footer: _components.GridFooter,
|
|
24
27
|
footerRowCount: _components.GridRowCount,
|
|
25
28
|
toolbar: null,
|
|
29
|
+
pinnedRows: _GridPinnedRows.GridPinnedRows,
|
|
26
30
|
loadingOverlay: _components.GridLoadingOverlay,
|
|
27
31
|
noResultsOverlay: _GridNoResultsOverlay.GridNoResultsOverlay,
|
|
28
32
|
noRowsOverlay: _components.GridNoRowsOverlay,
|
|
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getDataGridUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
|
|
11
11
|
}
|
|
12
|
-
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', '
|
|
12
|
+
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.gridThemeSelector = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Get the theme state
|
|
9
|
+
* @category Core
|
|
10
|
+
*/
|
|
11
|
+
const gridThemeSelector = state => state.theme;
|
|
12
|
+
exports.gridThemeSelector = gridThemeSelector;
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useGridInitialization = void 0;
|
|
7
|
+
var _useGridRefs = require("./useGridRefs");
|
|
8
|
+
var _useGridTheme = require("./useGridTheme");
|
|
7
9
|
var _useGridLoggerFactory = require("./useGridLoggerFactory");
|
|
8
10
|
var _useGridApiInitialization = require("./useGridApiInitialization");
|
|
9
11
|
var _useGridLocaleText = require("./useGridLocaleText");
|
|
@@ -15,6 +17,8 @@ var _useGridStateInitialization = require("./useGridStateInitialization");
|
|
|
15
17
|
*/
|
|
16
18
|
const useGridInitialization = (inputApiRef, props) => {
|
|
17
19
|
const privateApiRef = (0, _useGridApiInitialization.useGridApiInitialization)(inputApiRef, props);
|
|
20
|
+
(0, _useGridRefs.useGridRefs)(privateApiRef);
|
|
21
|
+
(0, _useGridTheme.useGridTheme)(privateApiRef);
|
|
18
22
|
(0, _useGridLoggerFactory.useGridLoggerFactory)(privateApiRef, props);
|
|
19
23
|
(0, _useGridStateInitialization.useGridStateInitialization)(privateApiRef, props);
|
|
20
24
|
(0, _pipeProcessing.useGridPipeProcessing)(privateApiRef);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useGridRefs = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
const useGridRefs = apiRef => {
|
|
11
|
+
const rootElementRef = React.useRef(null);
|
|
12
|
+
const mainElementRef = React.useRef(null);
|
|
13
|
+
const virtualScrollerRef = React.useRef(null);
|
|
14
|
+
apiRef.current.register('public', {
|
|
15
|
+
rootElementRef
|
|
16
|
+
});
|
|
17
|
+
apiRef.current.register('private', {
|
|
18
|
+
mainElementRef,
|
|
19
|
+
virtualScrollerRef
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
exports.useGridRefs = useGridRefs;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useGridTheme = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
const useGridTheme = apiRef => {
|
|
14
|
+
const theme = (0, _styles.useTheme)();
|
|
15
|
+
if (!apiRef.current.state.theme) {
|
|
16
|
+
apiRef.current.state.theme = theme;
|
|
17
|
+
}
|
|
18
|
+
const isFirstEffect = React.useRef(true);
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
if (isFirstEffect.current) {
|
|
21
|
+
isFirstEffect.current = false;
|
|
22
|
+
} else {
|
|
23
|
+
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
24
|
+
theme
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
}, [apiRef, theme]);
|
|
28
|
+
};
|
|
29
|
+
exports.useGridTheme = useGridTheme;
|
|
@@ -50,16 +50,14 @@ const createGroupLookup = columnGroupingModel => {
|
|
|
50
50
|
return (0, _extends2.default)({}, groupLookup);
|
|
51
51
|
};
|
|
52
52
|
const columnGroupsStateInitializer = (state, props, apiRef) => {
|
|
53
|
-
if (!props.
|
|
53
|
+
if (!props.columnGroupingModel) {
|
|
54
54
|
return state;
|
|
55
55
|
}
|
|
56
56
|
const columnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
|
|
57
57
|
const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
|
|
58
58
|
const groupLookup = createGroupLookup(props.columnGroupingModel ?? []);
|
|
59
59
|
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
|
|
60
|
-
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel,
|
|
61
|
-
// @ts-expect-error Move this part to `Pro` package
|
|
62
|
-
apiRef.current.state.pinnedColumns ?? {});
|
|
60
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel, apiRef.current.state.pinnedColumns ?? {});
|
|
63
61
|
const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => unwrappedGroupingModel[field]?.length ?? 0));
|
|
64
62
|
return (0, _extends2.default)({}, state, {
|
|
65
63
|
columnGrouping: {
|
|
@@ -89,16 +87,14 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
89
87
|
return columnGroupLookup;
|
|
90
88
|
}, [apiRef]);
|
|
91
89
|
const columnGroupingApi = {
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
getColumnGroupPath,
|
|
91
|
+
getAllGroupDetails
|
|
94
92
|
};
|
|
95
93
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnGroupingApi, 'public');
|
|
96
94
|
const handleColumnIndexChange = React.useCallback(() => {
|
|
97
95
|
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
|
|
98
96
|
apiRef.current.setState(state => {
|
|
99
97
|
const orderedFields = state.columns?.orderedFields ?? [];
|
|
100
|
-
|
|
101
|
-
// @ts-expect-error Move this logic to `Pro` package
|
|
102
98
|
const pinnedColumns = state.pinnedColumns ?? {};
|
|
103
99
|
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(orderedFields, unwrappedGroupingModel, pinnedColumns);
|
|
104
100
|
return (0, _extends2.default)({}, state, {
|
|
@@ -109,9 +105,6 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
109
105
|
});
|
|
110
106
|
}, [apiRef, props.columnGroupingModel]);
|
|
111
107
|
const updateColumnGroupingState = React.useCallback(columnGroupingModel => {
|
|
112
|
-
if (!props.experimentalFeatures?.columnGrouping) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
108
|
// @ts-expect-error Move this logic to `Pro` package
|
|
116
109
|
const pinnedColumns = apiRef.current.getPinnedColumns?.() ?? {};
|
|
117
110
|
const columnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
|
|
@@ -130,7 +123,7 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
130
123
|
}
|
|
131
124
|
});
|
|
132
125
|
});
|
|
133
|
-
}, [apiRef
|
|
126
|
+
}, [apiRef]);
|
|
134
127
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnIndexChange', handleColumnIndexChange);
|
|
135
128
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnsChange', () => {
|
|
136
129
|
updateColumnGroupingState(props.columnGroupingModel);
|