import clsx from 'clsx';
import type { GridColumnHeaderParams } from '@mui/x-data-grid-pro';
import { TextWithTooltip } from '../../text-with-tooltip';
import type { TextWithTooltipProps } from '../../text-with-tooltip';
import { FilterFieldTooltip } from '../components/FilterFieldTooltip/FilterFieldTooltip';
import { FilterFieldTooltipProps } from '../components/FilterFieldTooltip/types';
import type { GridColDef } from '../types';
export const createColumnHeaderRenderer =
({
filters,
setFilters,
handleFilterChange,
textClassName
}: {
filters: FilterFieldTooltipProps['filters'];
setFilters: FilterFieldTooltipProps['setFilters'];
handleFilterChange: FilterFieldTooltipProps['handleFilterChange'];
textClassName: TextWithTooltipProps['textClassName'];
}) =>
(params: GridColumnHeaderParams) => {
const { colDef, field } = params;
const { headerName, description, filterable } = (colDef || {}) as GridColDef;
return (
<>
{filterable && (
setFilters(filters || {})}
handleFilterChange={handleFilterChange}
/>
)}
>
);
};