168 lines
5.3 KiB
TypeScript
168 lines
5.3 KiB
TypeScript
import * as React from 'react';
|
|
import type { UncapitalizeObjectKeys } from '../internals/utils';
|
|
import type { GridIconSlotsComponent } from './gridIconSlotsComponent';
|
|
export interface GridBaseSlots {
|
|
/**
|
|
* The custom Checkbox component used in the grid for both header and cells.
|
|
* @default Checkbox
|
|
*/
|
|
BaseCheckbox: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Chip component used in the grid.
|
|
* @default Chip
|
|
*/
|
|
BaseChip: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom InputAdornment component used in the grid.
|
|
* @default InputAdornment
|
|
*/
|
|
BaseInputAdornment: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom TextField component used in the grid.
|
|
* @default TextField
|
|
*/
|
|
BaseTextField: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom FormControl component used in the grid.
|
|
* @default FormControl
|
|
*/
|
|
BaseFormControl: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Select component used in the grid.
|
|
* @default Select
|
|
*/
|
|
BaseSelect: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Switch component used in the grid.
|
|
* @default Switch
|
|
*/
|
|
BaseSwitch: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Button component used in the grid.
|
|
* @default Button
|
|
*/
|
|
BaseButton: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom IconButton component used in the grid.
|
|
* @default IconButton
|
|
*/
|
|
BaseIconButton: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Tooltip component used in the grid.
|
|
* @default Tooltip
|
|
*/
|
|
BaseTooltip: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom Popper component used in the grid.
|
|
* @default Popper
|
|
*/
|
|
BasePopper: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom InputLabel component used in the grid.
|
|
* @default InputLabel
|
|
*/
|
|
BaseInputLabel: React.JSXElementConstructor<any>;
|
|
/**
|
|
* The custom SelectOption component used in the grid.
|
|
* @default MenuItem
|
|
*/
|
|
BaseSelectOption: React.JSXElementConstructor<any>;
|
|
}
|
|
/**
|
|
* Grid components React prop interface containing all the overridable components.
|
|
*/
|
|
export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponent {
|
|
/**
|
|
* The custom Chip component used in the grid.
|
|
* @default Chip
|
|
*/
|
|
BaseChip: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Component rendered for each cell.
|
|
* @default GridCell
|
|
*/
|
|
Cell: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Component rendered for each skeleton cell.
|
|
* @default GridSkeletonCell
|
|
*/
|
|
SkeletonCell: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Filter icon component rendered in each column header.
|
|
* @default GridColumnHeaderFilterIconButton
|
|
*/
|
|
ColumnHeaderFilterIconButton: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Column menu component rendered by clicking on the 3 dots "kebab" icon in column headers.
|
|
* @default GridColumnMenu
|
|
*/
|
|
ColumnMenu: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Component responsible for rendering the column headers.
|
|
* @default DataGridColumnHeaders
|
|
*/
|
|
ColumnHeaders: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Footer component rendered at the bottom of the grid viewport.
|
|
* @default GridFooter
|
|
*/
|
|
Footer: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Row count component rendered in the footer
|
|
* @default GridRowCount
|
|
*/
|
|
FooterRowCount: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Toolbar component rendered inside the Header component.
|
|
* @default null
|
|
*/
|
|
Toolbar: React.JSXElementConstructor<any> | null;
|
|
/**
|
|
* PreferencesPanel component rendered inside the Header component.
|
|
* @default GridPreferencesPanel
|
|
*/
|
|
PreferencesPanel: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Loading overlay component rendered when the grid is in a loading state.
|
|
* @default GridLoadingOverlay
|
|
*/
|
|
LoadingOverlay: React.JSXElementConstructor<any>;
|
|
/**
|
|
* No results overlay component rendered when the grid has no results after filtering.
|
|
* @default GridNoResultsOverlay
|
|
*/
|
|
NoResultsOverlay: React.JSXElementConstructor<any>;
|
|
/**
|
|
* No rows overlay component rendered when the grid has no rows.
|
|
* @default GridNoRowsOverlay
|
|
*/
|
|
NoRowsOverlay: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Pagination component rendered in the grid footer by default.
|
|
* @default Pagination
|
|
*/
|
|
Pagination: React.JSXElementConstructor<any> | null;
|
|
/**
|
|
* Filter panel component rendered when clicking the filter button.
|
|
* @default GridFilterPanel
|
|
*/
|
|
FilterPanel: React.JSXElementConstructor<any>;
|
|
/**
|
|
* GridColumns panel component rendered when clicking the columns button.
|
|
* @default GridColumnsPanel
|
|
*/
|
|
ColumnsPanel: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Panel component wrapping the filters and columns panels.
|
|
* @default GridPanel
|
|
*/
|
|
Panel: React.JSXElementConstructor<any>;
|
|
/**
|
|
* Component rendered for each row.
|
|
* @default GridRow
|
|
*/
|
|
Row: React.JSXElementConstructor<any>;
|
|
}
|
|
export interface UncapitalizedGridSlotsComponent extends UncapitalizeObjectKeys<GridSlotsComponent> {
|
|
}
|