@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
|
@@ -10,10 +10,10 @@ export interface GridColumnGroupingApi {
|
|
|
10
10
|
* @param {string} field The field of of the column requested.
|
|
11
11
|
* @returns {string[]} The id of the groups leading to the requested column.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
getColumnGroupPath: (field: string) => GridColumnGroup['groupId'][];
|
|
14
14
|
/**
|
|
15
15
|
* Returns the column group lookup.
|
|
16
16
|
* @returns {GridColumnGroupLookup} The column group lookup.
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
getAllGroupDetails: () => GridColumnGroupLookup;
|
|
19
19
|
}
|
|
@@ -13,7 +13,7 @@ export interface GridCoreApi {
|
|
|
13
13
|
* The React ref of the grid root container div element.
|
|
14
14
|
* @ignore - do not document.
|
|
15
15
|
*/
|
|
16
|
-
rootElementRef
|
|
16
|
+
rootElementRef: React.RefObject<HTMLDivElement>;
|
|
17
17
|
/**
|
|
18
18
|
* Registers a handler for an event.
|
|
19
19
|
* @param {string} event The name of the event.
|
|
@@ -56,14 +56,26 @@ export interface GridCorePrivateApi<GridPublicApi extends GridApiCommon, GridPri
|
|
|
56
56
|
* The generic event emitter manager.
|
|
57
57
|
*/
|
|
58
58
|
eventManager: EventManager;
|
|
59
|
+
/**
|
|
60
|
+
* The React ref of the grid main container div element.
|
|
61
|
+
*/
|
|
62
|
+
mainElementRef: React.RefObject<HTMLDivElement>;
|
|
59
63
|
/**
|
|
60
64
|
* The React ref of the grid virtual scroller container element.
|
|
61
65
|
*/
|
|
62
|
-
virtualScrollerRef
|
|
66
|
+
virtualScrollerRef: React.RefObject<HTMLDivElement>;
|
|
63
67
|
/**
|
|
64
|
-
* The React ref of the grid
|
|
68
|
+
* The React ref of the grid column container virtualized div element.
|
|
69
|
+
*/
|
|
70
|
+
columnHeadersContainerElementRef?: React.RefObject<HTMLDivElement>;
|
|
71
|
+
/**
|
|
72
|
+
* The React ref of the grid column headers container element.
|
|
73
|
+
*/
|
|
74
|
+
columnHeadersElementRef?: React.RefObject<HTMLDivElement>;
|
|
75
|
+
/**
|
|
76
|
+
* The React ref of the grid header filter row element.
|
|
65
77
|
*/
|
|
66
|
-
|
|
78
|
+
headerFiltersElementRef?: React.RefObject<HTMLDivElement>;
|
|
67
79
|
register: <V extends 'public' | 'private', T extends V extends 'public' ? Partial<GridPublicApi> : Partial<Omit<GridPrivateApi, keyof GridPublicApi>>>(visibility: V, methods: T) => void;
|
|
68
80
|
/**
|
|
69
81
|
* Returns the public API.
|
|
@@ -77,16 +89,4 @@ export interface GridCorePrivateApi<GridPublicApi extends GridApiCommon, GridPri
|
|
|
77
89
|
* Do not use in React components - use the `useGridRootProps` hook instead.
|
|
78
90
|
*/
|
|
79
91
|
rootProps: GridProps;
|
|
80
|
-
/**
|
|
81
|
-
* The React ref of the grid column container virtualized div element.
|
|
82
|
-
*/
|
|
83
|
-
columnHeadersContainerElementRef?: React.RefObject<HTMLDivElement>;
|
|
84
|
-
/**
|
|
85
|
-
* The React ref of the grid header filter row element.
|
|
86
|
-
*/
|
|
87
|
-
headerFiltersElementRef?: React.RefObject<HTMLDivElement>;
|
|
88
|
-
/**
|
|
89
|
-
* The React ref of the grid column headers container element.
|
|
90
|
-
*/
|
|
91
|
-
columnHeadersElementRef?: React.RefObject<HTMLDivElement>;
|
|
92
92
|
}
|
|
@@ -31,7 +31,7 @@ export interface GridRowsMetaApi {
|
|
|
31
31
|
* @param {string} position The position to it the row belongs to.
|
|
32
32
|
* @ignore - do not document.
|
|
33
33
|
*/
|
|
34
|
-
unstable_storeRowHeightMeasurement: (id: GridRowId, height: number
|
|
34
|
+
unstable_storeRowHeightMeasurement: (id: GridRowId, height: number) => void;
|
|
35
35
|
/**
|
|
36
36
|
* Updates the index of the last row measured.
|
|
37
37
|
* @param {number} index The row index.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { GridRenderContext } from '../params';
|
|
2
1
|
export interface GridVirtualizationApi {
|
|
3
2
|
/**
|
|
4
3
|
* Enable/disable virtualization.
|
|
@@ -13,8 +12,8 @@ export interface GridVirtualizationApi {
|
|
|
13
12
|
}
|
|
14
13
|
export interface GridVirtualizationPrivateApi {
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
15
|
+
* Update grid rendering context.
|
|
17
16
|
* @returns {GridRenderContext} The `GridRenderContext`.
|
|
18
17
|
*/
|
|
19
|
-
|
|
18
|
+
updateRenderContext?: () => void;
|
|
20
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { GridColumnHeaderParams, GridColumnOrderChangeParams, GridColumnResizeParams, GridHeaderSelectionCheckboxParams, GridMenuParams, GridPreferencePanelParams,
|
|
2
|
+
import type { GridColumnHeaderParams, GridColumnOrderChangeParams, GridColumnResizeParams, GridHeaderSelectionCheckboxParams, GridMenuParams, GridPreferencePanelParams, GridRowParams, GridRowSelectionCheckboxParams, GridScrollParams, GridColumnGroupHeaderParams, GridRenderContext } from '../params';
|
|
3
3
|
import { GridCellEditStartParams, GridCellEditStopParams } from '../params/gridEditCellParams';
|
|
4
4
|
import { GridCellParams } from '../params/gridCellParams';
|
|
5
5
|
import type { GridFilterModel } from '../gridFilterModel';
|
|
@@ -479,10 +479,10 @@ export interface GridEventLookup extends GridRowEventLookup, GridColumnHeaderEve
|
|
|
479
479
|
params: GridGroupNode;
|
|
480
480
|
};
|
|
481
481
|
/**
|
|
482
|
-
* Fired when the rendered rows index interval changes. Called with a [[
|
|
482
|
+
* Fired when the rendered rows index interval changes. Called with a [[GridRenderContext]] object.
|
|
483
483
|
*/
|
|
484
484
|
renderedRowsIntervalChange: {
|
|
485
|
-
params:
|
|
485
|
+
params: GridRenderContext;
|
|
486
486
|
};
|
|
487
487
|
/**
|
|
488
488
|
* Fired when the mode of a cell changes.
|
|
@@ -12,7 +12,7 @@ export interface GridFilterModel {
|
|
|
12
12
|
/**
|
|
13
13
|
* - `GridLogicOperator.And`: the row must pass all the filter items.
|
|
14
14
|
* - `GridLogicOperator.Or`: the row must pass at least on filter item.
|
|
15
|
-
* @default `GridLogicOperator.
|
|
15
|
+
* @default `GridLogicOperator.And`
|
|
16
16
|
*/
|
|
17
17
|
logicOperator?: GridLogicOperator;
|
|
18
18
|
/**
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { GridIconSlotsComponent } from './gridIconSlotsComponent';
|
|
3
|
+
import type { GridRowProps } from '../components/GridRow';
|
|
4
|
+
import type { GridDetailPanelsProps } from '../components/GridDetailPanels';
|
|
5
|
+
import type { GridPinnedRowsProps } from '../components/GridPinnedRows';
|
|
6
|
+
import type { GridColumnHeadersProps } from '../components/GridColumnHeaders';
|
|
3
7
|
export interface GridBaseSlots {
|
|
4
8
|
/**
|
|
5
9
|
* The custom Checkbox component used in the grid for both header and cells.
|
|
@@ -100,7 +104,12 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
|
|
|
100
104
|
* Component responsible for rendering the column headers.
|
|
101
105
|
* @default DataGridColumnHeaders
|
|
102
106
|
*/
|
|
103
|
-
columnHeaders: React.JSXElementConstructor<
|
|
107
|
+
columnHeaders: React.JSXElementConstructor<GridColumnHeadersProps>;
|
|
108
|
+
/**
|
|
109
|
+
* Component responsible for rendering the detail panels.
|
|
110
|
+
* @default GridDetailPanels
|
|
111
|
+
*/
|
|
112
|
+
detailPanels: React.JSXElementConstructor<GridDetailPanelsProps>;
|
|
104
113
|
/**
|
|
105
114
|
* Footer component rendered at the bottom of the grid viewport.
|
|
106
115
|
* @default GridFooter
|
|
@@ -116,6 +125,11 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
|
|
|
116
125
|
* @default null
|
|
117
126
|
*/
|
|
118
127
|
toolbar: React.JSXElementConstructor<any> | null;
|
|
128
|
+
/**
|
|
129
|
+
* Pinned rows container.
|
|
130
|
+
* @ignore - do not document
|
|
131
|
+
*/
|
|
132
|
+
pinnedRows: React.JSXElementConstructor<GridPinnedRowsProps>;
|
|
119
133
|
/**
|
|
120
134
|
* Loading overlay component rendered when the grid is in a loading state.
|
|
121
135
|
* @default GridLoadingOverlay
|
|
@@ -155,5 +169,5 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
|
|
|
155
169
|
* Component rendered for each row.
|
|
156
170
|
* @default GridRow
|
|
157
171
|
*/
|
|
158
|
-
row: React.JSXElementConstructor<
|
|
172
|
+
row: React.JSXElementConstructor<GridRowProps>;
|
|
159
173
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Theme } from '@mui/material/styles';
|
|
2
|
+
import type { GridColumnMenuState, GridColumnsInitialState, GridColumnsState, GridColumnsGroupingState, GridColumnPinningState, GridDensityState, GridDimensionsState, GridFilterInitialState, GridFilterState, GridFocusState, GridPaginationInitialState, GridPaginationState, GridPreferencePanelInitialState, GridPreferencePanelState, GridRowsState, GridSortingInitialState, GridSortingState, GridTabIndexState, GridVirtualizationState } from '../hooks';
|
|
2
3
|
import type { GridRowsMetaState } from '../hooks/features/rows/gridRowsMetaState';
|
|
3
4
|
import type { GridEditingState } from './gridEditRowModel';
|
|
4
5
|
import { GridHeaderFilteringState } from './gridHeaderFilteringModel';
|
|
@@ -8,6 +9,8 @@ import type { GridVisibleRowsLookupState } from '../hooks/features/filter/gridFi
|
|
|
8
9
|
* The state of `DataGrid`.
|
|
9
10
|
*/
|
|
10
11
|
export interface GridStateCommunity {
|
|
12
|
+
theme: Theme;
|
|
13
|
+
dimensions: GridDimensionsState;
|
|
11
14
|
rows: GridRowsState;
|
|
12
15
|
visibleRowsLookup: GridVisibleRowsLookupState;
|
|
13
16
|
rowsMeta: GridRowsMetaState;
|
|
@@ -17,6 +20,7 @@ export interface GridStateCommunity {
|
|
|
17
20
|
columns: GridColumnsState;
|
|
18
21
|
columnGrouping: GridColumnsGroupingState;
|
|
19
22
|
columnMenu: GridColumnMenuState;
|
|
23
|
+
pinnedColumns: GridColumnPinningState;
|
|
20
24
|
sorting: GridSortingState;
|
|
21
25
|
focus: GridFocusState;
|
|
22
26
|
tabIndex: GridTabIndexState;
|
package/models/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from './gridFeatureMode';
|
|
|
6
6
|
export * from './gridFilterItem';
|
|
7
7
|
export * from './gridFilterModel';
|
|
8
8
|
export * from './gridPaginationProps';
|
|
9
|
-
export * from './gridRootContainerRef';
|
|
10
9
|
export * from './gridRenderContextProps';
|
|
11
10
|
export * from './gridRows';
|
|
12
11
|
export * from './gridRowSelectionModel';
|
package/models/index.js
CHANGED
|
@@ -6,7 +6,6 @@ export * from './gridFeatureMode';
|
|
|
6
6
|
export * from './gridFilterItem';
|
|
7
7
|
export * from './gridFilterModel';
|
|
8
8
|
export * from './gridPaginationProps';
|
|
9
|
-
export * from './gridRootContainerRef';
|
|
10
9
|
export * from './gridRenderContextProps';
|
|
11
10
|
export * from './gridRows';
|
|
12
11
|
export * from './gridRowSelectionModel';
|
package/models/params/index.d.ts
CHANGED
package/models/params/index.js
CHANGED
|
@@ -10,5 +10,4 @@ export * from './gridHeaderSelectionCheckboxParams';
|
|
|
10
10
|
export * from './gridValueOptionsParams';
|
|
11
11
|
export * from './gridCellParams';
|
|
12
12
|
export * from './gridPreferencePanelParams';
|
|
13
|
-
export * from './gridMenuParams';
|
|
14
|
-
export * from './gridRenderedRowsIntervalChangeParams';
|
|
13
|
+
export * from './gridMenuParams';
|
|
@@ -25,21 +25,11 @@ import { GridCellModesModel, GridRowModesModel } from '../api/gridEditingApi';
|
|
|
25
25
|
import { GridColumnGroupingModel } from '../gridColumnGrouping';
|
|
26
26
|
import { GridPaginationModel } from '../gridPaginationProps';
|
|
27
27
|
export interface GridExperimentalFeatures {
|
|
28
|
-
/**
|
|
29
|
-
* Enables the column grouping.
|
|
30
|
-
*/
|
|
31
|
-
columnGrouping: boolean;
|
|
32
28
|
/**
|
|
33
29
|
* Emits a warning if the cell receives focus without also syncing the focus state.
|
|
34
30
|
* Only works if NODE_ENV=test.
|
|
35
31
|
*/
|
|
36
32
|
warnIfFocusStateIsNotSynced: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Enables accessibility improvements that will be enabled by default in v7.
|
|
39
|
-
* If you rely on the v6 ARIA attributes (e.g. for CSS selectors), this might be a breaking change.
|
|
40
|
-
* @default false
|
|
41
|
-
*/
|
|
42
|
-
ariaV7: boolean;
|
|
43
33
|
}
|
|
44
34
|
/**
|
|
45
35
|
* The props users can give to the `DataGrid` component.
|
|
@@ -173,7 +163,12 @@ export interface DataGridPropsWithDefaultValues {
|
|
|
173
163
|
*/
|
|
174
164
|
disableMultipleRowSelection: boolean;
|
|
175
165
|
/**
|
|
176
|
-
* If `true`, sorting
|
|
166
|
+
* If `true`, the column sorting feature will be disabled.
|
|
167
|
+
* @default false
|
|
168
|
+
*/
|
|
169
|
+
disableColumnSorting: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* If `true`, the sorting with multiple columns is disabled.
|
|
177
172
|
* @default false
|
|
178
173
|
*/
|
|
179
174
|
disableMultipleColumnsSorting: boolean;
|
|
@@ -5,7 +5,6 @@ import { GridBody, GridFooterPlaceholder, GridHeader, GridRoot } from '../compon
|
|
|
5
5
|
import { GridContextProvider } from '../context/GridContextProvider';
|
|
6
6
|
import { useDataGridComponent } from './useDataGridComponent';
|
|
7
7
|
import { useDataGridProps } from './useDataGridProps';
|
|
8
|
-
import { DataGridVirtualScroller } from '../components/DataGridVirtualScroller';
|
|
9
8
|
import { propValidatorsDataGrid, validateProps } from '../internals/utils/propValidation';
|
|
10
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -25,9 +24,7 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
|
|
|
25
24
|
sx: props.sx,
|
|
26
25
|
ref: ref
|
|
27
26
|
}, props.forwardedProps, {
|
|
28
|
-
children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {
|
|
29
|
-
VirtualScrollerComponent: DataGridVirtualScroller
|
|
30
|
-
}), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
|
|
27
|
+
children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {}), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
|
|
31
28
|
}))
|
|
32
29
|
});
|
|
33
30
|
});
|
|
@@ -131,6 +128,11 @@ DataGridRaw.propTypes = {
|
|
|
131
128
|
* @default false
|
|
132
129
|
*/
|
|
133
130
|
disableColumnSelector: PropTypes.bool,
|
|
131
|
+
/**
|
|
132
|
+
* If `true`, the column sorting feature will be disabled.
|
|
133
|
+
* @default false
|
|
134
|
+
*/
|
|
135
|
+
disableColumnSorting: PropTypes.bool,
|
|
134
136
|
/**
|
|
135
137
|
* If `true`, the density selector is disabled.
|
|
136
138
|
* @default false
|
|
@@ -167,8 +169,6 @@ DataGridRaw.propTypes = {
|
|
|
167
169
|
* For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
|
|
168
170
|
*/
|
|
169
171
|
experimentalFeatures: PropTypes.shape({
|
|
170
|
-
ariaV7: PropTypes.bool,
|
|
171
|
-
columnGrouping: PropTypes.bool,
|
|
172
172
|
warnIfFocusStateIsNotSynced: PropTypes.bool
|
|
173
173
|
}),
|
|
174
174
|
/**
|
|
@@ -20,7 +20,7 @@ import { useGridRowSelectionPreProcessors } from '../hooks/features/rowSelection
|
|
|
20
20
|
import { useGridSorting, sortingStateInitializer } from '../hooks/features/sorting/useGridSorting';
|
|
21
21
|
import { useGridScroll } from '../hooks/features/scroll/useGridScroll';
|
|
22
22
|
import { useGridEvents } from '../hooks/features/events/useGridEvents';
|
|
23
|
-
import { useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
|
|
23
|
+
import { dimensionsStateInitializer, useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
|
|
24
24
|
import { rowsMetaStateInitializer, useGridRowsMeta } from '../hooks/features/rows/useGridRowsMeta';
|
|
25
25
|
import { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
|
|
26
26
|
import { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
|
|
@@ -38,6 +38,7 @@ export const useDataGridComponent = (inputApiRef, props) => {
|
|
|
38
38
|
/**
|
|
39
39
|
* Register all state initializers here.
|
|
40
40
|
*/
|
|
41
|
+
useGridInitializeState(dimensionsStateInitializer, apiRef, props);
|
|
41
42
|
useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
|
|
42
43
|
useGridInitializeState(columnsStateInitializer, apiRef, props);
|
|
43
44
|
useGridInitializeState(rowsStateInitializer, apiRef, props);
|
|
@@ -39,6 +39,7 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
|
39
39
|
disableEval: false,
|
|
40
40
|
disableMultipleColumnsFiltering: false,
|
|
41
41
|
disableMultipleRowSelection: false,
|
|
42
|
+
disableColumnSorting: false,
|
|
42
43
|
disableMultipleColumnsSorting: false,
|
|
43
44
|
disableRowSelectionOnClick: false,
|
|
44
45
|
disableVirtualization: false,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "
|
|
3
|
+
const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { refType } from '@mui/utils';
|
|
@@ -10,18 +10,16 @@ import { GridBaseColumnHeaders } from './columnHeaders/GridBaseColumnHeaders';
|
|
|
10
10
|
import { GridColumnHeadersInner } from './columnHeaders/GridColumnHeadersInner';
|
|
11
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function
|
|
13
|
+
const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
|
|
14
14
|
const {
|
|
15
15
|
innerRef,
|
|
16
16
|
visibleColumns,
|
|
17
17
|
sortColumnLookup,
|
|
18
18
|
filterColumnLookup,
|
|
19
|
-
columnPositions,
|
|
20
19
|
columnHeaderTabIndexState,
|
|
21
20
|
columnGroupHeaderTabIndexState,
|
|
22
21
|
columnHeaderFocus,
|
|
23
22
|
columnGroupHeaderFocus,
|
|
24
|
-
densityFactor,
|
|
25
23
|
headerGroupingMaxDepth,
|
|
26
24
|
columnMenuState,
|
|
27
25
|
columnVisibility,
|
|
@@ -31,7 +29,6 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
|
|
|
31
29
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
32
30
|
const {
|
|
33
31
|
isDragging,
|
|
34
|
-
getRootProps,
|
|
35
32
|
getInnerProps,
|
|
36
33
|
getColumnHeaders,
|
|
37
34
|
getColumnGroupHeaders
|
|
@@ -40,12 +37,10 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
|
|
|
40
37
|
visibleColumns,
|
|
41
38
|
sortColumnLookup,
|
|
42
39
|
filterColumnLookup,
|
|
43
|
-
columnPositions,
|
|
44
40
|
columnHeaderTabIndexState,
|
|
45
41
|
columnGroupHeaderTabIndexState,
|
|
46
42
|
columnHeaderFocus,
|
|
47
43
|
columnGroupHeaderFocus,
|
|
48
|
-
densityFactor,
|
|
49
44
|
headerGroupingMaxDepth,
|
|
50
45
|
columnMenuState,
|
|
51
46
|
columnVisibility,
|
|
@@ -54,7 +49,7 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHead
|
|
|
54
49
|
});
|
|
55
50
|
return /*#__PURE__*/_jsx(GridBaseColumnHeaders, _extends({
|
|
56
51
|
ref: ref
|
|
57
|
-
},
|
|
52
|
+
}, other, {
|
|
58
53
|
children: /*#__PURE__*/_jsxs(GridColumnHeadersInner, _extends({
|
|
59
54
|
isDragging: isDragging
|
|
60
55
|
}, getInnerProps(), {
|
|
@@ -89,14 +84,11 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
|
|
|
89
84
|
field: PropTypes.string,
|
|
90
85
|
open: PropTypes.bool.isRequired
|
|
91
86
|
}).isRequired,
|
|
92
|
-
columnPositions: PropTypes.arrayOf(PropTypes.number).isRequired,
|
|
93
87
|
columnVisibility: PropTypes.object.isRequired,
|
|
94
|
-
densityFactor: PropTypes.number.isRequired,
|
|
95
88
|
filterColumnLookup: PropTypes.object.isRequired,
|
|
96
89
|
hasOtherElementInTabSequence: PropTypes.bool.isRequired,
|
|
97
90
|
headerGroupingMaxDepth: PropTypes.number.isRequired,
|
|
98
91
|
innerRef: refType,
|
|
99
|
-
minColumnIndex: PropTypes.number,
|
|
100
92
|
sortColumnLookup: PropTypes.object.isRequired,
|
|
101
93
|
visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
|
|
102
94
|
} : void 0;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { fastMemo } from '../utils/fastMemo';
|
|
3
|
+
import { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
|
|
4
|
+
import { useGridSelector } from '../hooks/utils/useGridSelector';
|
|
5
|
+
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
6
|
+
import { gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector } from '../hooks/features/columns/gridColumnsSelector';
|
|
7
|
+
import { gridFilterActiveItemsLookupSelector } from '../hooks/features/filter/gridFilterSelector';
|
|
8
|
+
import { gridSortColumnLookupSelector } from '../hooks/features/sorting/gridSortingSelector';
|
|
9
|
+
import { gridTabIndexColumnHeaderSelector, gridTabIndexCellSelector, gridFocusColumnHeaderSelector, gridTabIndexColumnGroupHeaderSelector, gridFocusColumnGroupHeaderSelector } from '../hooks/features/focus/gridFocusStateSelector';
|
|
10
|
+
import { gridColumnGroupsHeaderMaxDepthSelector, gridColumnGroupsHeaderStructureSelector } from '../hooks/features/columnGrouping/gridColumnGroupsSelector';
|
|
11
|
+
import { gridColumnMenuSelector } from '../hooks/features/columnMenu/columnMenuSelector';
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
function GridHeaders() {
|
|
14
|
+
const apiRef = useGridPrivateApiContext();
|
|
15
|
+
const rootProps = useGridRootProps();
|
|
16
|
+
const visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
|
|
17
|
+
const filterColumnLookup = useGridSelector(apiRef, gridFilterActiveItemsLookupSelector);
|
|
18
|
+
const sortColumnLookup = useGridSelector(apiRef, gridSortColumnLookupSelector);
|
|
19
|
+
const columnHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnHeaderSelector);
|
|
20
|
+
const cellTabIndexState = useGridSelector(apiRef, gridTabIndexCellSelector);
|
|
21
|
+
const columnGroupHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnGroupHeaderSelector);
|
|
22
|
+
const columnHeaderFocus = useGridSelector(apiRef, gridFocusColumnHeaderSelector);
|
|
23
|
+
const columnGroupHeaderFocus = useGridSelector(apiRef, gridFocusColumnGroupHeaderSelector);
|
|
24
|
+
const headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
|
|
25
|
+
const columnMenuState = useGridSelector(apiRef, gridColumnMenuSelector);
|
|
26
|
+
const columnVisibility = useGridSelector(apiRef, gridColumnVisibilityModelSelector);
|
|
27
|
+
const columnGroupsHeaderStructure = useGridSelector(apiRef, gridColumnGroupsHeaderStructureSelector);
|
|
28
|
+
const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
|
|
29
|
+
const columnHeadersRef = React.useRef(null);
|
|
30
|
+
const columnsContainerRef = React.useRef(null);
|
|
31
|
+
apiRef.current.register('private', {
|
|
32
|
+
columnHeadersContainerElementRef: columnsContainerRef,
|
|
33
|
+
columnHeadersElementRef: columnHeadersRef
|
|
34
|
+
});
|
|
35
|
+
return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, {
|
|
36
|
+
ref: columnsContainerRef,
|
|
37
|
+
innerRef: columnHeadersRef,
|
|
38
|
+
visibleColumns: visibleColumns,
|
|
39
|
+
filterColumnLookup: filterColumnLookup,
|
|
40
|
+
sortColumnLookup: sortColumnLookup,
|
|
41
|
+
columnHeaderTabIndexState: columnHeaderTabIndexState,
|
|
42
|
+
columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
|
|
43
|
+
columnHeaderFocus: columnHeaderFocus,
|
|
44
|
+
columnGroupHeaderFocus: columnGroupHeaderFocus,
|
|
45
|
+
headerGroupingMaxDepth: headerGroupingMaxDepth,
|
|
46
|
+
columnMenuState: columnMenuState,
|
|
47
|
+
columnVisibility: columnVisibility,
|
|
48
|
+
columnGroupsHeaderStructure: columnGroupsHeaderStructure,
|
|
49
|
+
hasOtherElementInTabSequence: hasOtherElementInTabSequence
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const MemoizedGridHeaders = fastMemo(GridHeaders);
|
|
53
|
+
export { MemoizedGridHeaders as GridHeaders };
|