import Collapse, { type CollapseProps } from '@mui/material/Collapse'; import { type MRT_Header, type MRT_RowData, type MRT_TableInstance, } from '../../types'; import { getColumnFilterInfo } from '../../utils/column.utils'; import { MRT_FilterCheckbox } from '../inputs/MRT_FilterCheckbox'; import { MRT_FilterRangeFields } from '../inputs/MRT_FilterRangeFields'; import { MRT_FilterRangeSlider } from '../inputs/MRT_FilterRangeSlider'; import { MRT_FilterTextField } from '../inputs/MRT_FilterTextField'; export interface MRT_TableHeadCellFilterContainerProps< TData extends MRT_RowData, > extends CollapseProps { header: MRT_Header; table: MRT_TableInstance; } export const MRT_TableHeadCellFilterContainer = ({ header, table, ...rest }: MRT_TableHeadCellFilterContainerProps) => { const { getState, options: { columnFilterDisplayMode }, } = table; const { showColumnFilters } = getState(); const { column } = header; const { columnDef } = column; const { isRangeFilter } = getColumnFilterInfo({ header, table }); return ( {columnDef.filterVariant === 'checkbox' ? ( ) : columnDef.filterVariant === 'range-slider' ? ( ) : isRangeFilter ? ( ) : ( )} ); };