import * as React from 'react'; import { GridIconSlotsComponent } from './gridIconSlotsComponent'; /** * Grid components React prop interface containing all the overridable components. * TODO: Differentiate community and pro interface */ export interface GridSlotsComponent extends GridIconSlotsComponent { /** * The custom Checkbox component used in the grid for both header and cells. * @default Checkbox */ BaseCheckbox: React.JSXElementConstructor; /** * The custom TextField component used in the grid. * @default TextField */ BaseTextField: React.JSXElementConstructor; /** * The custom FormControl component used in the grid. * @default FormControl */ BaseFormControl: React.JSXElementConstructor; /** * The custom Select component used in the grid. * @default Select */ BaseSelect: React.JSXElementConstructor; /** * The custom Switch component used in the grid. * @default Switch */ BaseSwitch: React.JSXElementConstructor; /** * The custom Button component used in the grid. * @default Button */ BaseButton: React.JSXElementConstructor; /** * The custom Tooltip component used in the grid. * @default Tooltip */ BaseTooltip: React.JSXElementConstructor; /** * The custom Popper component used in the grid. * @default Popper */ BasePopper: React.JSXElementConstructor; /** * Component rendered for each cell. * @default GridCell */ Cell: React.JSXElementConstructor; /** * Component rendered for each skeleton cell. * @default GridSkeletonCell */ SkeletonCell: React.JSXElementConstructor; /** * Filter icon component rendered in each column header. * @default GridColumnHeaderFilterIconButton */ ColumnHeaderFilterIconButton: React.JSXElementConstructor; /** * Column menu component rendered by clicking on the 3 dots "kebab" icon in column headers. * @default GridColumnMenu */ ColumnMenu: React.JSXElementConstructor; /** * Error overlay component rendered above the grid when an error is caught. * @default ErrorOverlay */ ErrorOverlay: React.JSXElementConstructor; /** * Footer component rendered at the bottom of the grid viewport. * @default GridFooter */ Footer: React.JSXElementConstructor; /** * Header component rendered above the grid column header bar. * Prefer using the `Toolbar` slot. You should never need to use this slot. * @default GridHeader */ Header: React.JSXElementConstructor; /** * Toolbar component rendered inside the Header component. * @default null */ Toolbar: React.JSXElementConstructor | null; /** * PreferencesPanel component rendered inside the Header component. * @default GridPreferencesPanel */ PreferencesPanel: React.JSXElementConstructor; /** * Loading overlay component rendered when the grid is in a loading state. * @default GridLoadingOverlay */ LoadingOverlay: React.JSXElementConstructor; /** * No results overlay component rendered when the grid has no results after filtering. * @default GridNoResultsOverlay */ NoResultsOverlay: React.JSXElementConstructor; /** * No rows overlay component rendered when the grid has no rows. * @default GridNoRowsOverlay */ NoRowsOverlay: React.JSXElementConstructor; /** * Pagination component rendered in the grid footer by default. * @default Pagination */ Pagination: React.JSXElementConstructor | null; /** * Filter panel component rendered when clicking the filter button. * @default GridFilterPanel */ FilterPanel: React.JSXElementConstructor; /** * GridColumns panel component rendered when clicking the columns button. * @default GridColumnsPanel */ ColumnsPanel: React.JSXElementConstructor; /** * Panel component wrapping the filters and columns panels. * @default GridPanel */ Panel: React.JSXElementConstructor; /** * Component rendered for each row. * @default GridRow */ Row: React.JSXElementConstructor; }