@mui/x-data-grid 8.0.0-alpha.6 → 8.0.0-alpha.8
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 +242 -1
- package/DataGrid/DataGrid.js +4 -5
- package/DataGrid/useDataGridComponent.d.ts +1 -1
- package/DataGrid/useDataGridComponent.js +1 -1
- package/components/GridHeaders.js +2 -2
- package/components/GridRow.d.ts +5 -9
- package/components/GridRow.js +26 -78
- package/components/GridSkeletonLoadingOverlay.js +18 -18
- package/components/cell/GridActionsCellItem.d.ts +16 -9
- package/components/cell/GridActionsCellItem.js +2 -0
- package/components/cell/GridCell.d.ts +9 -16
- package/components/cell/GridCell.js +17 -35
- package/components/cell/GridEditDateCell.js +1 -1
- package/components/cell/GridEditInputCell.js +1 -1
- package/components/cell/GridEditSingleSelectCell.js +2 -2
- package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +5 -5
- package/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +5 -5
- package/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/components/columnSelection/GridCellCheckboxRenderer.js +4 -3
- package/components/columnSelection/GridHeaderCheckbox.js +6 -2
- package/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/components/containers/GridRoot.d.ts +2 -2
- package/components/containers/GridRoot.js +14 -6
- package/components/containers/GridRootStyles.js +7 -0
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -0
- package/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
- package/components/panel/filterPanel/GridFilterInputDate.d.ts +2 -1
- package/components/panel/filterPanel/GridFilterInputDate.js +32 -29
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -0
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
- package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -0
- package/components/panel/filterPanel/GridFilterInputValue.js +40 -37
- package/components/panel/filterPanel/GridFilterInputValueProps.d.ts +1 -1
- package/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/components/virtualization/GridVirtualScroller.js +4 -4
- package/constants/gridClasses.d.ts +12 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +1 -0
- package/context/GridContextProvider.d.ts +1 -1
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +9 -2
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +1 -1
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +1 -1
- package/hooks/core/useGridApiInitialization.d.ts +1 -1
- package/hooks/core/useGridApiInitialization.js +2 -2
- package/hooks/core/useGridInitialization.d.ts +1 -1
- package/hooks/core/useGridIsRtl.d.ts +1 -1
- package/hooks/core/useGridLocaleText.d.ts +1 -1
- package/hooks/core/useGridLoggerFactory.d.ts +1 -1
- package/hooks/core/useGridRefs.d.ts +1 -1
- package/hooks/core/useGridStateInitialization.d.ts +1 -1
- package/hooks/features/clipboard/useGridClipboard.d.ts +1 -1
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -7
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
- package/hooks/features/columnMenu/useGridColumnMenu.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/hooks/features/columns/gridColumnsUtils.d.ts +3 -3
- package/hooks/features/columns/useGridColumnSpanning.d.ts +1 -1
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/density/useGridDensity.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
- package/hooks/features/editing/useGridCellEditing.d.ts +1 -1
- package/hooks/features/editing/useGridCellEditing.js +1 -1
- package/hooks/features/editing/useGridEditing.d.ts +1 -1
- package/hooks/features/editing/useGridRowEditing.d.ts +1 -1
- package/hooks/features/editing/useGridRowEditing.js +2 -2
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/export/serializers/csvSerializer.d.ts +1 -1
- package/hooks/features/export/useGridCsvExport.d.ts +1 -1
- package/hooks/features/export/useGridPrintExport.d.ts +1 -1
- package/hooks/features/export/useGridPrintExport.js +1 -1
- package/hooks/features/export/utils.d.ts +1 -1
- package/hooks/features/filter/gridFilterSelector.d.ts +1 -1
- package/hooks/features/filter/gridFilterSelector.js +6 -1
- package/hooks/features/filter/gridFilterUtils.d.ts +6 -6
- package/hooks/features/filter/gridFilterUtils.js +3 -3
- package/hooks/features/filter/useGridFilter.d.ts +1 -1
- package/hooks/features/focus/useGridFocus.d.ts +1 -1
- package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +1 -1
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
- package/hooks/features/keyboardNavigation/utils.d.ts +2 -2
- package/hooks/features/listView/useGridListView.d.ts +1 -1
- package/hooks/features/pagination/gridPaginationInterfaces.d.ts +3 -0
- package/hooks/features/pagination/gridPaginationSelector.d.ts +21 -2
- package/hooks/features/pagination/gridPaginationSelector.js +39 -1
- package/hooks/features/pagination/useGridPagination.d.ts +2 -2
- package/hooks/features/pagination/useGridPagination.js +5 -3
- package/hooks/features/pagination/useGridPaginationMeta.d.ts +1 -1
- package/hooks/features/pagination/useGridPaginationModel.d.ts +1 -1
- package/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/hooks/features/pagination/useGridRowCount.d.ts +1 -1
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +1 -1
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/hooks/features/rowSelection/useGridRowSelection.d.ts +1 -1
- package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +1 -1
- package/hooks/features/rowSelection/utils.d.ts +2 -2
- package/hooks/features/rows/gridRowSpanningUtils.d.ts +1 -1
- package/hooks/features/rows/gridRowsSelector.js +1 -1
- package/hooks/features/rows/gridRowsUtils.d.ts +3 -3
- package/hooks/features/rows/useGridParamsApi.d.ts +1 -1
- package/hooks/features/rows/useGridRowSpanning.d.ts +1 -1
- package/hooks/features/rows/useGridRows.d.ts +1 -1
- package/hooks/features/rows/useGridRows.js +2 -2
- package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
- package/hooks/features/rows/useGridRowsPreProcessors.d.ts +1 -1
- package/hooks/features/scroll/useGridScroll.d.ts +1 -1
- package/hooks/features/sorting/gridSortingUtils.d.ts +2 -2
- package/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/statePersistence/useGridStatePersistence.d.ts +1 -1
- package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +6 -0
- package/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +5 -4
- package/hooks/features/virtualization/useGridVirtualScroller.js +96 -43
- package/hooks/features/virtualization/useGridVirtualization.d.ts +1 -1
- package/hooks/utils/useGridApiContext.d.ts +1 -1
- package/hooks/utils/useGridApiEventHandler.d.ts +3 -3
- package/hooks/utils/useGridApiEventHandler.js +1 -1
- package/hooks/utils/useGridApiMethod.d.ts +1 -1
- package/hooks/utils/useGridApiRef.d.ts +1 -1
- package/hooks/utils/useGridInitializeState.d.ts +2 -2
- package/hooks/utils/useGridLogger.d.ts +1 -1
- package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
- package/hooks/utils/useGridPrivateApiContext.d.ts +1 -1
- package/hooks/utils/useGridSelector.d.ts +1 -1
- package/hooks/utils/useGridVisibleRows.d.ts +7 -5
- package/hooks/utils/useGridVisibleRows.js +5 -28
- package/index.js +1 -1
- package/internals/constants.d.ts +6 -0
- package/internals/constants.js +8 -1
- package/internals/index.d.ts +2 -1
- package/internals/index.js +1 -0
- package/internals/utils/attachPinnedStyle.d.ts +2 -0
- package/internals/utils/attachPinnedStyle.js +9 -0
- package/internals/utils/getPinnedCellOffset.d.ts +3 -3
- package/internals/utils/getPinnedCellOffset.js +6 -7
- package/internals/utils/index.d.ts +1 -0
- package/internals/utils/index.js +2 -1
- package/locales/arSD.js +2 -0
- package/locales/beBY.js +1 -0
- package/locales/bgBG.js +2 -0
- package/locales/csCZ.js +2 -0
- package/locales/daDK.js +2 -0
- package/locales/deDE.js +2 -0
- package/locales/elGR.js +2 -0
- package/locales/esES.js +2 -0
- package/locales/faIR.js +2 -0
- package/locales/fiFI.js +2 -0
- package/locales/frFR.js +2 -0
- package/locales/heIL.js +2 -0
- package/locales/hrHR.js +2 -0
- package/locales/huHU.js +2 -0
- package/locales/isIS.js +2 -0
- package/locales/itIT.js +2 -0
- package/locales/jaJP.js +2 -0
- package/locales/koKR.js +2 -0
- package/locales/nbNO.js +2 -0
- package/locales/nlNL.js +2 -0
- package/locales/nnNO.js +2 -0
- package/locales/plPL.js +2 -0
- package/locales/ptBR.js +2 -0
- package/locales/ptPT.js +2 -0
- package/locales/roRO.js +2 -0
- package/locales/ruRU.js +2 -0
- package/locales/skSK.js +2 -0
- package/locales/svSE.js +2 -0
- package/locales/trTR.js +2 -0
- package/locales/ukUA.js +2 -0
- package/locales/urPK.js +2 -0
- package/locales/viVN.js +2 -0
- package/locales/zhCN.js +2 -0
- package/locales/zhHK.js +2 -0
- package/locales/zhTW.js +2 -0
- package/material/index.js +2 -1
- package/models/api/gridCoreApi.d.ts +7 -7
- package/models/api/gridDensityApi.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +1 -0
- package/models/colDef/gridColDef.d.ts +8 -8
- package/models/events/gridEventLookup.d.ts +6 -1
- package/models/gridBaseSlots.d.ts +32 -2
- package/models/gridExport.d.ts +1 -1
- package/models/gridFilterOperator.d.ts +1 -1
- package/models/gridIconSlotsComponent.d.ts +5 -0
- package/models/gridSlotsComponentsProps.d.ts +12 -8
- package/models/gridStateCommunity.d.ts +4 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +4 -5
- package/modern/DataGrid/useDataGridComponent.js +1 -1
- package/modern/components/GridHeaders.js +2 -2
- package/modern/components/GridRow.js +26 -78
- package/modern/components/GridSkeletonLoadingOverlay.js +18 -18
- package/modern/components/cell/GridActionsCellItem.js +2 -0
- package/modern/components/cell/GridCell.js +17 -35
- package/modern/components/cell/GridEditDateCell.js +1 -1
- package/modern/components/cell/GridEditInputCell.js +1 -1
- package/modern/components/cell/GridEditSingleSelectCell.js +2 -2
- package/modern/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +4 -3
- package/modern/components/columnSelection/GridHeaderCheckbox.js +6 -2
- package/modern/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/modern/components/containers/GridRoot.js +14 -6
- package/modern/components/containers/GridRootStyles.js +7 -0
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +32 -29
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +40 -37
- package/modern/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/modern/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/modern/components/virtualization/GridVirtualScroller.js +4 -4
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +1 -0
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/modern/hooks/core/useGridApiInitialization.js +2 -2
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +34 -76
- package/modern/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/modern/hooks/features/editing/useGridCellEditing.js +1 -1
- package/modern/hooks/features/editing/useGridRowEditing.js +2 -2
- package/modern/hooks/features/export/useGridPrintExport.js +1 -1
- package/modern/hooks/features/filter/gridFilterSelector.js +6 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +3 -3
- package/modern/hooks/features/pagination/gridPaginationSelector.js +39 -1
- package/modern/hooks/features/pagination/useGridPagination.js +5 -3
- package/modern/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/modern/hooks/features/rows/gridRowsSelector.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +2 -2
- package/modern/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/modern/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +42 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +96 -43
- package/modern/hooks/utils/useGridApiEventHandler.js +1 -1
- package/modern/hooks/utils/useGridVisibleRows.js +5 -28
- package/modern/index.js +1 -1
- package/modern/internals/constants.js +8 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/attachPinnedStyle.js +9 -0
- package/modern/internals/utils/getPinnedCellOffset.js +6 -7
- package/modern/internals/utils/index.js +2 -1
- package/modern/locales/arSD.js +2 -0
- package/modern/locales/beBY.js +1 -0
- package/modern/locales/bgBG.js +2 -0
- package/modern/locales/csCZ.js +2 -0
- package/modern/locales/daDK.js +2 -0
- package/modern/locales/deDE.js +2 -0
- package/modern/locales/elGR.js +2 -0
- package/modern/locales/esES.js +2 -0
- package/modern/locales/faIR.js +2 -0
- package/modern/locales/fiFI.js +2 -0
- package/modern/locales/frFR.js +2 -0
- package/modern/locales/heIL.js +2 -0
- package/modern/locales/hrHR.js +2 -0
- package/modern/locales/huHU.js +2 -0
- package/modern/locales/isIS.js +2 -0
- package/modern/locales/itIT.js +2 -0
- package/modern/locales/jaJP.js +2 -0
- package/modern/locales/koKR.js +2 -0
- package/modern/locales/nbNO.js +2 -0
- package/modern/locales/nlNL.js +2 -0
- package/modern/locales/nnNO.js +2 -0
- package/modern/locales/plPL.js +2 -0
- package/modern/locales/ptBR.js +2 -0
- package/modern/locales/ptPT.js +2 -0
- package/modern/locales/roRO.js +2 -0
- package/modern/locales/ruRU.js +2 -0
- package/modern/locales/skSK.js +2 -0
- package/modern/locales/svSE.js +2 -0
- package/modern/locales/trTR.js +2 -0
- package/modern/locales/ukUA.js +2 -0
- package/modern/locales/urPK.js +2 -0
- package/modern/locales/viVN.js +2 -0
- package/modern/locales/zhCN.js +2 -0
- package/modern/locales/zhHK.js +2 -0
- package/modern/locales/zhTW.js +2 -0
- package/modern/material/index.js +2 -1
- package/modern/utils/cellBorderUtils.js +5 -5
- package/modern/utils/domUtils.js +7 -2
- package/modern/utils/rtlFlipSide.js +22 -0
- package/node/DataGrid/DataGrid.js +2 -3
- package/node/DataGrid/useDataGridComponent.js +1 -1
- package/node/components/GridHeaders.js +2 -2
- package/node/components/GridRow.js +25 -77
- package/node/components/GridSkeletonLoadingOverlay.js +17 -17
- package/node/components/cell/GridActionsCellItem.js +1 -1
- package/node/components/cell/GridCell.js +18 -36
- package/node/components/cell/GridEditDateCell.js +1 -1
- package/node/components/cell/GridEditInputCell.js +1 -1
- package/node/components/cell/GridEditSingleSelectCell.js +2 -2
- package/node/components/columnHeaders/GridColumnGroupHeader.js +7 -10
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/node/components/columnHeaders/GridColumnHeaderItem.js +13 -12
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +3 -2
- package/node/components/columnSelection/GridHeaderCheckbox.js +6 -2
- package/node/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/node/components/containers/GridRoot.js +14 -6
- package/node/components/containers/GridRootStyles.js +7 -0
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +12 -16
- package/node/components/panel/filterPanel/GridFilterInputDate.js +31 -28
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +13 -17
- package/node/components/panel/filterPanel/GridFilterInputValue.js +39 -36
- package/node/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/node/components/virtualization/GridVirtualScrollbar.js +11 -12
- package/node/components/virtualization/GridVirtualScroller.js +4 -4
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +1 -0
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/node/hooks/core/useGridApiInitialization.js +2 -2
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +32 -74
- package/node/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/node/hooks/features/editing/useGridCellEditing.js +1 -1
- package/node/hooks/features/editing/useGridRowEditing.js +2 -2
- package/node/hooks/features/export/useGridPrintExport.js +1 -1
- package/node/hooks/features/filter/gridFilterSelector.js +6 -1
- package/node/hooks/features/filter/gridFilterUtils.js +3 -3
- package/node/hooks/features/pagination/gridPaginationSelector.js +41 -3
- package/node/hooks/features/pagination/useGridPagination.js +5 -3
- package/node/hooks/features/pagination/useGridPaginationModel.js +23 -1
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/node/hooks/features/rows/gridRowsSelector.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +1 -1
- package/node/hooks/features/sorting/gridSortingUtils.js +2 -2
- package/node/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +49 -0
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +96 -43
- package/node/hooks/utils/useGridApiEventHandler.js +1 -1
- package/node/hooks/utils/useGridVisibleRows.js +3 -28
- package/node/index.js +1 -1
- package/node/internals/constants.js +9 -2
- package/node/internals/index.js +12 -0
- package/node/internals/utils/attachPinnedStyle.js +15 -0
- package/node/internals/utils/getPinnedCellOffset.js +6 -7
- package/node/internals/utils/index.js +11 -0
- package/node/locales/arSD.js +2 -0
- package/node/locales/beBY.js +1 -0
- package/node/locales/bgBG.js +2 -0
- package/node/locales/csCZ.js +2 -0
- package/node/locales/daDK.js +2 -0
- package/node/locales/deDE.js +2 -0
- package/node/locales/elGR.js +2 -0
- package/node/locales/esES.js +2 -0
- package/node/locales/faIR.js +2 -0
- package/node/locales/fiFI.js +2 -0
- package/node/locales/frFR.js +2 -0
- package/node/locales/heIL.js +2 -0
- package/node/locales/hrHR.js +2 -0
- package/node/locales/huHU.js +2 -0
- package/node/locales/isIS.js +2 -0
- package/node/locales/itIT.js +2 -0
- package/node/locales/jaJP.js +2 -0
- package/node/locales/koKR.js +2 -0
- package/node/locales/nbNO.js +2 -0
- package/node/locales/nlNL.js +2 -0
- package/node/locales/nnNO.js +2 -0
- package/node/locales/plPL.js +2 -0
- package/node/locales/ptBR.js +2 -0
- package/node/locales/ptPT.js +2 -0
- package/node/locales/roRO.js +2 -0
- package/node/locales/ruRU.js +2 -0
- package/node/locales/skSK.js +2 -0
- package/node/locales/svSE.js +2 -0
- package/node/locales/trTR.js +2 -0
- package/node/locales/ukUA.js +2 -0
- package/node/locales/urPK.js +2 -0
- package/node/locales/viVN.js +2 -0
- package/node/locales/zhCN.js +2 -0
- package/node/locales/zhHK.js +2 -0
- package/node/locales/zhTW.js +2 -0
- package/node/material/index.js +2 -1
- package/node/utils/cellBorderUtils.js +5 -5
- package/node/utils/domUtils.js +7 -2
- package/node/utils/rtlFlipSide.js +29 -0
- package/package.json +2 -2
- package/utils/cellBorderUtils.d.ts +3 -3
- package/utils/cellBorderUtils.js +5 -5
- package/utils/createSelector.d.ts +1 -1
- package/utils/domUtils.js +7 -2
- package/utils/getPublicApiRef.d.ts +1 -1
- package/utils/rtlFlipSide.d.ts +2 -0
- package/utils/rtlFlipSide.js +22 -0
|
@@ -84,7 +84,7 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
|
|
|
84
84
|
const {
|
|
85
85
|
isIndeterminate,
|
|
86
86
|
isChecked
|
|
87
|
-
} = (0, _useGridSelector.useGridSelector)(apiRef, checkboxPropsSelector);
|
|
87
|
+
} = (0, _useGridSelector.useGridSelector)(apiRef, checkboxPropsSelector, undefined, _useGridSelector.objectShallowCompare);
|
|
88
88
|
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
89
89
|
return null;
|
|
90
90
|
}
|
|
@@ -95,7 +95,8 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
|
|
|
95
95
|
onChange: handleChange,
|
|
96
96
|
className: classes.root,
|
|
97
97
|
inputProps: {
|
|
98
|
-
'aria-label': label
|
|
98
|
+
'aria-label': label,
|
|
99
|
+
name: 'select_row'
|
|
99
100
|
},
|
|
100
101
|
onKeyDown: handleKeyDown,
|
|
101
102
|
indeterminate: isIndeterminate,
|
|
@@ -50,13 +50,16 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
|
|
|
50
50
|
return selection;
|
|
51
51
|
}
|
|
52
52
|
return selection.filter(id => {
|
|
53
|
+
if (rootProps.keepNonExistentRowsSelected) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
53
56
|
// The row might have been deleted
|
|
54
57
|
if (!apiRef.current.getRow(id)) {
|
|
55
58
|
return false;
|
|
56
59
|
}
|
|
57
60
|
return rootProps.isRowSelectable(apiRef.current.getRowParams(id));
|
|
58
61
|
});
|
|
59
|
-
}, [apiRef, rootProps.isRowSelectable, selection]);
|
|
62
|
+
}, [apiRef, rootProps.isRowSelectable, selection, rootProps.keepNonExistentRowsSelected]);
|
|
60
63
|
|
|
61
64
|
// All the rows that could be selected / unselected by toggling this checkbox
|
|
62
65
|
const selectionCandidates = React.useMemo(() => {
|
|
@@ -111,7 +114,8 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
|
|
|
111
114
|
onChange: handleChange,
|
|
112
115
|
className: classes.root,
|
|
113
116
|
inputProps: {
|
|
114
|
-
'aria-label': label
|
|
117
|
+
'aria-label': label,
|
|
118
|
+
name: 'select_all_rows'
|
|
115
119
|
},
|
|
116
120
|
tabIndex: tabIndex,
|
|
117
121
|
onKeyDown: handleKeyDown,
|
|
@@ -149,11 +149,11 @@ function GridColumnsManagement(props) {
|
|
|
149
149
|
endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
150
150
|
"aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
|
|
151
151
|
size: "small",
|
|
152
|
-
|
|
152
|
+
style: searchValue ? {
|
|
153
153
|
visibility: 'visible'
|
|
154
154
|
} : {
|
|
155
155
|
visibility: 'hidden'
|
|
156
|
-
}
|
|
156
|
+
},
|
|
157
157
|
tabIndex: -1,
|
|
158
158
|
onClick: handleSearchReset
|
|
159
159
|
}, rootProps.slotProps?.baseIconButton, {
|
|
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
15
16
|
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
16
17
|
var _GridRootStyles = require("./GridRootStyles");
|
|
17
18
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
@@ -19,8 +20,10 @@ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiCont
|
|
|
19
20
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
20
21
|
var _gridClasses = require("../../constants/gridClasses");
|
|
21
22
|
var _densitySelector = require("../../hooks/features/density/densitySelector");
|
|
23
|
+
var _GridHeader = require("../GridHeader");
|
|
24
|
+
var _base = require("../base");
|
|
22
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["className"];
|
|
26
|
+
const _excluded = ["className", "children"];
|
|
24
27
|
const useUtilityClasses = (ownerState, density) => {
|
|
25
28
|
const {
|
|
26
29
|
autoHeight,
|
|
@@ -32,10 +35,11 @@ const useUtilityClasses = (ownerState, density) => {
|
|
|
32
35
|
};
|
|
33
36
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
34
37
|
};
|
|
35
|
-
const GridRoot =
|
|
38
|
+
const GridRoot = (0, _forwardRef.forwardRef)(function GridRoot(props, ref) {
|
|
36
39
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
37
40
|
const {
|
|
38
|
-
className
|
|
41
|
+
className,
|
|
42
|
+
children
|
|
39
43
|
} = props,
|
|
40
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
41
45
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
@@ -53,11 +57,14 @@ const GridRoot = exports.GridRoot = (0, _forwardRef.forwardRef)(function GridRoo
|
|
|
53
57
|
if (!mountedState) {
|
|
54
58
|
return null;
|
|
55
59
|
}
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
|
|
57
61
|
className: (0, _clsx.default)(classes.root, className),
|
|
58
62
|
ownerState: ownerState
|
|
59
63
|
}, other, {
|
|
60
|
-
ref: handleRef
|
|
64
|
+
ref: handleRef,
|
|
65
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeader.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridBody, {
|
|
66
|
+
children: children
|
|
67
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridFooterPlaceholder, {})]
|
|
61
68
|
}));
|
|
62
69
|
});
|
|
63
70
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
@@ -69,4 +76,5 @@ process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
|
69
76
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
70
77
|
*/
|
|
71
78
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
72
|
-
} : void 0;
|
|
79
|
+
} : void 0;
|
|
80
|
+
const MemoizedGridRoot = exports.GridRoot = (0, _fastMemo.fastMemo)(GridRoot);
|
|
@@ -338,6 +338,13 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
338
338
|
display: 'flex',
|
|
339
339
|
alignItems: 'center'
|
|
340
340
|
},
|
|
341
|
+
[`& .${_gridClasses.gridClasses['columnHeader--filter']}`]: {
|
|
342
|
+
paddingTop: 8,
|
|
343
|
+
paddingBottom: 8,
|
|
344
|
+
paddingRight: 5,
|
|
345
|
+
minHeight: 'min-content',
|
|
346
|
+
overflow: 'hidden'
|
|
347
|
+
},
|
|
341
348
|
[`& .${_gridClasses.gridClasses['virtualScroller--hasScrollX']} .${_gridClasses.gridClasses['columnHeader--last']}`]: {
|
|
342
349
|
overflow: 'hidden'
|
|
343
350
|
},
|
|
@@ -12,28 +12,22 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
|
-
var _styles = require("@mui/material/styles");
|
|
16
15
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "isFilterActive", "clearButton", "tabIndex", "label", "variant", "InputLabelProps"];
|
|
19
|
-
const BooleanOperatorContainer = (0, _styles.styled)('div')({
|
|
20
|
-
display: 'flex',
|
|
21
|
-
alignItems: 'center',
|
|
22
|
-
width: '100%',
|
|
23
|
-
[`& button`]: {
|
|
24
|
-
margin: 'auto 0px 5px 5px'
|
|
25
|
-
}
|
|
26
|
-
});
|
|
17
|
+
const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "isFilterActive", "headerFilterMenu", "clearButton", "tabIndex", "label", "variant", "InputProps", "InputLabelProps", "sx"];
|
|
27
18
|
function GridFilterInputBoolean(props) {
|
|
28
19
|
const {
|
|
29
20
|
item,
|
|
30
21
|
applyValue,
|
|
31
22
|
apiRef,
|
|
32
23
|
focusElementRef,
|
|
24
|
+
headerFilterMenu,
|
|
33
25
|
clearButton,
|
|
34
26
|
tabIndex,
|
|
35
27
|
label: labelProp,
|
|
36
|
-
variant = '
|
|
28
|
+
variant = 'outlined',
|
|
29
|
+
InputProps,
|
|
30
|
+
sx
|
|
37
31
|
} = props,
|
|
38
32
|
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
39
33
|
const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value));
|
|
@@ -54,9 +48,10 @@ function GridFilterInputBoolean(props) {
|
|
|
54
48
|
setFilterValueState(sanitizeFilterItemValue(item.value));
|
|
55
49
|
}, [item.value]);
|
|
56
50
|
const label = labelProp ?? apiRef.current.getLocaleText('filterPanelInputLabel');
|
|
57
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
58
52
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseFormControl, {
|
|
59
53
|
fullWidth: true,
|
|
54
|
+
sx: sx,
|
|
60
55
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
|
|
61
56
|
id: labelId,
|
|
62
57
|
shrink: true,
|
|
@@ -72,11 +67,11 @@ function GridFilterInputBoolean(props) {
|
|
|
72
67
|
notched: variant === 'outlined' ? true : undefined,
|
|
73
68
|
native: isSelectNative,
|
|
74
69
|
displayEmpty: true,
|
|
75
|
-
inputProps: {
|
|
70
|
+
inputProps: (0, _extends2.default)({
|
|
76
71
|
ref: focusElementRef,
|
|
77
72
|
tabIndex
|
|
78
|
-
}
|
|
79
|
-
}, others /* FIXME: typing error */,
|
|
73
|
+
}, InputProps?.inputProps)
|
|
74
|
+
}, baseSelectProps, others /* FIXME: typing error */, {
|
|
80
75
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
|
|
81
76
|
native: isSelectNative,
|
|
82
77
|
value: "",
|
|
@@ -91,7 +86,7 @@ function GridFilterInputBoolean(props) {
|
|
|
91
86
|
children: apiRef.current.getLocaleText('filterValueFalse')
|
|
92
87
|
}))]
|
|
93
88
|
}))]
|
|
94
|
-
}), clearButton]
|
|
89
|
+
}), headerFilterMenu, clearButton]
|
|
95
90
|
});
|
|
96
91
|
}
|
|
97
92
|
function sanitizeFilterItemValue(value) {
|
|
@@ -114,6 +109,7 @@ process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
|
|
|
114
109
|
applyValue: _propTypes.default.func.isRequired,
|
|
115
110
|
clearButton: _propTypes.default.node,
|
|
116
111
|
focusElementRef: _utils.refType,
|
|
112
|
+
headerFilterMenu: _propTypes.default.node,
|
|
117
113
|
/**
|
|
118
114
|
* It is `true` if the filter either has a value or an operator with no value
|
|
119
115
|
* required is selected (for example `isEmpty`)
|
|
@@ -14,7 +14,7 @@ var _utils = require("@mui/utils");
|
|
|
14
14
|
var _useTimeout = require("../../../hooks/utils/useTimeout");
|
|
15
15
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps", "isFilterActive", "clearButton", "tabIndex", "disabled"];
|
|
17
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps", "isFilterActive", "headerFilterMenu", "clearButton", "tabIndex", "disabled"];
|
|
18
18
|
function convertFilterItemValueToInputValue(itemValue, inputType) {
|
|
19
19
|
if (itemValue == null) {
|
|
20
20
|
return '';
|
|
@@ -43,6 +43,7 @@ function GridFilterInputDate(props) {
|
|
|
43
43
|
apiRef,
|
|
44
44
|
focusElementRef,
|
|
45
45
|
InputProps,
|
|
46
|
+
headerFilterMenu,
|
|
46
47
|
clearButton,
|
|
47
48
|
tabIndex,
|
|
48
49
|
disabled
|
|
@@ -70,33 +71,34 @@ function GridFilterInputDate(props) {
|
|
|
70
71
|
const value = convertFilterItemValueToInputValue(item.value, type);
|
|
71
72
|
setFilterValueState(value);
|
|
72
73
|
}, [item.value, type]);
|
|
73
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
74
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
75
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
|
|
76
|
+
fullWidth: true,
|
|
77
|
+
id: id,
|
|
78
|
+
label: apiRef.current.getLocaleText('filterPanelInputLabel'),
|
|
79
|
+
placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
|
|
80
|
+
value: filterValueState,
|
|
81
|
+
onChange: onFilterChange,
|
|
82
|
+
variant: "standard",
|
|
83
|
+
type: type || 'text',
|
|
84
|
+
disabled: disabled,
|
|
85
|
+
InputLabelProps: {
|
|
86
|
+
shrink: true
|
|
87
|
+
},
|
|
88
|
+
inputRef: focusElementRef,
|
|
89
|
+
InputProps: (0, _extends2.default)({
|
|
90
|
+
endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
|
|
91
|
+
fontSize: "small",
|
|
92
|
+
color: "action"
|
|
93
|
+
}) : null
|
|
94
|
+
}, InputProps, {
|
|
95
|
+
inputProps: (0, _extends2.default)({
|
|
96
|
+
max: type === 'datetime-local' ? '9999-12-31T23:59' : '9999-12-31',
|
|
97
|
+
tabIndex
|
|
98
|
+
}, InputProps?.inputProps)
|
|
99
|
+
})
|
|
100
|
+
}, rootProps.slotProps?.baseTextField, other)), headerFilterMenu, clearButton]
|
|
101
|
+
});
|
|
100
102
|
}
|
|
101
103
|
process.env.NODE_ENV !== "production" ? GridFilterInputDate.propTypes = {
|
|
102
104
|
// ----------------------------- Warning --------------------------------
|
|
@@ -109,6 +111,7 @@ process.env.NODE_ENV !== "production" ? GridFilterInputDate.propTypes = {
|
|
|
109
111
|
applyValue: _propTypes.default.func.isRequired,
|
|
110
112
|
clearButton: _propTypes.default.node,
|
|
111
113
|
focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
114
|
+
headerFilterMenu: _propTypes.default.node,
|
|
112
115
|
/**
|
|
113
116
|
* It is `true` if the filter either has a value or an operator with no value
|
|
114
117
|
* required is selected (for example `isEmpty`)
|
|
@@ -12,11 +12,10 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var React = _react;
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
|
-
var _styles = require("@mui/material/styles");
|
|
16
15
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
17
16
|
var _filterPanelUtils = require("./filterPanelUtils");
|
|
18
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "placeholder", "tabIndex", "label", "variant", "isFilterActive", "clearButton", "InputLabelProps"];
|
|
18
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "placeholder", "tabIndex", "label", "variant", "isFilterActive", "clearButton", "headerFilterMenu", "InputProps", "InputLabelProps", "sx"];
|
|
20
19
|
const renderSingleSelectOptions = ({
|
|
21
20
|
column,
|
|
22
21
|
OptionComponent,
|
|
@@ -39,14 +38,6 @@ const renderSingleSelectOptions = ({
|
|
|
39
38
|
}), label);
|
|
40
39
|
});
|
|
41
40
|
};
|
|
42
|
-
const SingleSelectOperatorContainer = (0, _styles.styled)('div')({
|
|
43
|
-
display: 'flex',
|
|
44
|
-
alignItems: 'flex-end',
|
|
45
|
-
width: '100%',
|
|
46
|
-
[`& button`]: {
|
|
47
|
-
margin: 'auto 0px 5px 5px'
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
41
|
function GridFilterInputSingleSelect(props) {
|
|
51
42
|
const {
|
|
52
43
|
item,
|
|
@@ -57,8 +48,11 @@ function GridFilterInputSingleSelect(props) {
|
|
|
57
48
|
placeholder,
|
|
58
49
|
tabIndex,
|
|
59
50
|
label: labelProp,
|
|
60
|
-
variant = '
|
|
61
|
-
clearButton
|
|
51
|
+
variant = 'outlined',
|
|
52
|
+
clearButton,
|
|
53
|
+
headerFilterMenu,
|
|
54
|
+
InputProps,
|
|
55
|
+
sx
|
|
62
56
|
} = props,
|
|
63
57
|
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
64
58
|
const filterValue = item.value ?? '';
|
|
@@ -91,9 +85,10 @@ function GridFilterInputSingleSelect(props) {
|
|
|
91
85
|
return null;
|
|
92
86
|
}
|
|
93
87
|
const label = labelProp ?? apiRef.current.getLocaleText('filterPanelInputLabel');
|
|
94
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
88
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
95
89
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseFormControl, {
|
|
96
90
|
fullWidth: true,
|
|
91
|
+
sx: sx,
|
|
97
92
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
|
|
98
93
|
id: labelId,
|
|
99
94
|
htmlFor: id,
|
|
@@ -108,14 +103,14 @@ function GridFilterInputSingleSelect(props) {
|
|
|
108
103
|
onChange: onFilterChange,
|
|
109
104
|
variant: variant,
|
|
110
105
|
type: type || 'text',
|
|
111
|
-
inputProps: {
|
|
106
|
+
inputProps: (0, _extends2.default)({
|
|
112
107
|
tabIndex,
|
|
113
108
|
ref: focusElementRef,
|
|
114
109
|
placeholder: placeholder ?? apiRef.current.getLocaleText('filterPanelInputPlaceholder')
|
|
115
|
-
},
|
|
110
|
+
}, InputProps?.inputProps),
|
|
116
111
|
native: isSelectNative,
|
|
117
112
|
notched: variant === 'outlined' ? true : undefined
|
|
118
|
-
}, others /* FIXME: typing error */,
|
|
113
|
+
}, rootProps.slotProps?.baseSelect, others /* FIXME: typing error */, {
|
|
119
114
|
children: renderSingleSelectOptions({
|
|
120
115
|
column: resolvedColumn,
|
|
121
116
|
OptionComponent: rootProps.slots.baseSelectOption,
|
|
@@ -125,7 +120,7 @@ function GridFilterInputSingleSelect(props) {
|
|
|
125
120
|
baseSelectOptionProps: rootProps.slotProps?.baseSelectOption
|
|
126
121
|
})
|
|
127
122
|
}))]
|
|
128
|
-
}), clearButton]
|
|
123
|
+
}), headerFilterMenu, clearButton]
|
|
129
124
|
});
|
|
130
125
|
}
|
|
131
126
|
process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes = {
|
|
@@ -139,6 +134,7 @@ process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes =
|
|
|
139
134
|
applyValue: _propTypes.default.func.isRequired,
|
|
140
135
|
clearButton: _propTypes.default.node,
|
|
141
136
|
focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
137
|
+
headerFilterMenu: _propTypes.default.node,
|
|
142
138
|
/**
|
|
143
139
|
* It is `true` if the filter either has a value or an operator with no value
|
|
144
140
|
* required is selected (for example `isEmpty`)
|
|
@@ -14,7 +14,7 @@ var _utils = require("@mui/utils");
|
|
|
14
14
|
var _useTimeout = require("../../../hooks/utils/useTimeout");
|
|
15
15
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "tabIndex", "disabled", "isFilterActive", "clearButton", "InputProps", "variant"];
|
|
17
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "tabIndex", "disabled", "isFilterActive", "clearButton", "headerFilterMenu", "InputProps", "variant"];
|
|
18
18
|
function GridFilterInputValue(props) {
|
|
19
19
|
const {
|
|
20
20
|
item,
|
|
@@ -25,22 +25,23 @@ function GridFilterInputValue(props) {
|
|
|
25
25
|
tabIndex,
|
|
26
26
|
disabled,
|
|
27
27
|
clearButton,
|
|
28
|
+
headerFilterMenu,
|
|
28
29
|
InputProps,
|
|
29
|
-
variant = '
|
|
30
|
+
variant = 'outlined'
|
|
30
31
|
} = props,
|
|
31
32
|
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
32
33
|
const filterTimeout = (0, _useTimeout.useTimeout)();
|
|
33
|
-
const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value
|
|
34
|
+
const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value));
|
|
34
35
|
const [applying, setIsApplying] = React.useState(false);
|
|
35
36
|
const id = (0, _utils.unstable_useId)();
|
|
36
37
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
37
38
|
const onFilterChange = React.useCallback(event => {
|
|
38
|
-
const value = sanitizeFilterItemValue(event.target.value
|
|
39
|
+
const value = sanitizeFilterItemValue(event.target.value);
|
|
39
40
|
setFilterValueState(value);
|
|
40
41
|
setIsApplying(true);
|
|
41
42
|
filterTimeout.start(rootProps.filterDebounceMs, () => {
|
|
42
43
|
const newItem = (0, _extends2.default)({}, item, {
|
|
43
|
-
value,
|
|
44
|
+
value: type === 'number' && !Number.isNaN(Number(value)) ? Number(value) : value,
|
|
44
45
|
fromInput: id
|
|
45
46
|
});
|
|
46
47
|
applyValue(newItem);
|
|
@@ -50,42 +51,43 @@ function GridFilterInputValue(props) {
|
|
|
50
51
|
React.useEffect(() => {
|
|
51
52
|
const itemPlusTag = item;
|
|
52
53
|
if (itemPlusTag.fromInput !== id || item.value == null) {
|
|
53
|
-
setFilterValueState(sanitizeFilterItemValue(item.value
|
|
54
|
+
setFilterValueState(sanitizeFilterItemValue(item.value));
|
|
54
55
|
}
|
|
55
|
-
}, [id, item
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}, InputProps
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
56
|
+
}, [id, item]);
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
58
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
|
|
59
|
+
id: id,
|
|
60
|
+
label: apiRef.current.getLocaleText('filterPanelInputLabel'),
|
|
61
|
+
placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
|
|
62
|
+
value: filterValueState ?? '',
|
|
63
|
+
onChange: onFilterChange,
|
|
64
|
+
variant: variant,
|
|
65
|
+
type: type || 'text',
|
|
66
|
+
disabled: disabled,
|
|
67
|
+
InputProps: (0, _extends2.default)({
|
|
68
|
+
endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
|
|
69
|
+
position: "end",
|
|
70
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
|
|
71
|
+
fontSize: "small",
|
|
72
|
+
color: "action"
|
|
73
|
+
})
|
|
74
|
+
}) : null
|
|
75
|
+
}, InputProps, {
|
|
76
|
+
inputProps: (0, _extends2.default)({
|
|
77
|
+
tabIndex
|
|
78
|
+
}, InputProps?.inputProps)
|
|
79
|
+
}),
|
|
80
|
+
InputLabelProps: {
|
|
81
|
+
shrink: true
|
|
82
|
+
},
|
|
83
|
+
inputRef: focusElementRef
|
|
84
|
+
}, rootProps.slotProps?.baseTextField, others)), headerFilterMenu, clearButton]
|
|
85
|
+
});
|
|
81
86
|
}
|
|
82
|
-
function sanitizeFilterItemValue(value
|
|
87
|
+
function sanitizeFilterItemValue(value) {
|
|
83
88
|
if (value == null || value === '') {
|
|
84
89
|
return undefined;
|
|
85
90
|
}
|
|
86
|
-
if (type === 'number') {
|
|
87
|
-
return Number(value);
|
|
88
|
-
}
|
|
89
91
|
return String(value);
|
|
90
92
|
}
|
|
91
93
|
process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
|
|
@@ -99,6 +101,7 @@ process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
|
|
|
99
101
|
applyValue: _propTypes.default.func.isRequired,
|
|
100
102
|
clearButton: _propTypes.default.node,
|
|
101
103
|
focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
104
|
+
headerFilterMenu: _propTypes.default.node,
|
|
102
105
|
/**
|
|
103
106
|
* It is `true` if the filter either has a value or an operator with no value
|
|
104
107
|
* required is selected (for example `isEmpty`)
|
|
@@ -117,11 +117,11 @@ function GridToolbarQuickFilter(props) {
|
|
|
117
117
|
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
118
118
|
size: "small",
|
|
119
119
|
edge: "end",
|
|
120
|
-
|
|
120
|
+
style: searchValue ? {
|
|
121
121
|
visibility: 'visible'
|
|
122
122
|
} : {
|
|
123
123
|
visibility: 'hidden'
|
|
124
|
-
}
|
|
124
|
+
},
|
|
125
125
|
onClick: handleSearchReset
|
|
126
126
|
}, rootProps.slotProps?.baseIconButton, {
|
|
127
127
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
|
|
@@ -29,6 +29,9 @@ const Scrollbar = (0, _system.styled)('div')({
|
|
|
29
29
|
position: 'absolute',
|
|
30
30
|
display: 'inline-block',
|
|
31
31
|
zIndex: 6,
|
|
32
|
+
'&:hover': {
|
|
33
|
+
zIndex: 7
|
|
34
|
+
},
|
|
32
35
|
// In macOS Safari and Gnome Web, scrollbars are overlaid and don't affect the layout. So we consider
|
|
33
36
|
// their size to be 0px throughout all the calculations, but the floating scrollbar container does need
|
|
34
37
|
// to appear and have a real size. We set it to 14px because it seems like an acceptable value and we
|
|
@@ -110,19 +113,15 @@ const GridVirtualScrollbar = exports.GridVirtualScrollbar = (0, _forwardRef.forw
|
|
|
110
113
|
(0, _useOnMount.useOnMount)(() => {
|
|
111
114
|
const scroller = apiRef.current.virtualScrollerRef.current;
|
|
112
115
|
const scrollbar = scrollbarRef.current;
|
|
113
|
-
|
|
114
|
-
capture: true
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
const options = {
|
|
117
|
+
capture: true,
|
|
118
|
+
passive: true
|
|
119
|
+
};
|
|
120
|
+
scroller.addEventListener('scroll', onScrollerScroll, options);
|
|
121
|
+
scrollbar.addEventListener('scroll', onScrollbarScroll, options);
|
|
119
122
|
return () => {
|
|
120
|
-
scroller.removeEventListener('scroll', onScrollerScroll,
|
|
121
|
-
|
|
122
|
-
});
|
|
123
|
-
scrollbar.removeEventListener('scroll', onScrollbarScroll, {
|
|
124
|
-
capture: true
|
|
125
|
-
});
|
|
123
|
+
scroller.removeEventListener('scroll', onScrollerScroll, options);
|
|
124
|
+
scrollbar.removeEventListener('scroll', onScrollbarScroll, options);
|
|
126
125
|
};
|
|
127
126
|
});
|
|
128
127
|
React.useEffect(() => {
|
|
@@ -108,10 +108,10 @@ function GridVirtualScroller(props) {
|
|
|
108
108
|
virtualScroller: virtualScroller
|
|
109
109
|
})
|
|
110
110
|
})]
|
|
111
|
-
})), dimensions.
|
|
112
|
-
position: "vertical"
|
|
113
|
-
}, getScrollbarVerticalProps())), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
111
|
+
})), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
114
112
|
position: "horizontal"
|
|
115
|
-
}, getScrollbarHorizontalProps())),
|
|
113
|
+
}, getScrollbarHorizontalProps())), dimensions.hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
114
|
+
position: "vertical"
|
|
115
|
+
}, getScrollbarVerticalProps())), props.children]
|
|
116
116
|
}));
|
|
117
117
|
}
|
|
@@ -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--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
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--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -104,6 +104,7 @@ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
104
104
|
'headerFilterOperator>=': 'Greater than or equal to',
|
|
105
105
|
'headerFilterOperator<': 'Less than',
|
|
106
106
|
'headerFilterOperator<=': 'Less than or equal to',
|
|
107
|
+
headerFilterClear: 'Clear filter',
|
|
107
108
|
// Filter values text
|
|
108
109
|
filterValueAny: 'any',
|
|
109
110
|
filterValueTrue: 'true',
|