import { ReactNode } from 'react'; import { AutomationTestingProps } from '@/types'; import { IconProps } from '@@/Icon'; import { SearchBar } from './SearchBar'; import { Table } from './Table'; type Props = { title?: string; titleIcon?: IconProps['icon']; searchValue: string; onSearchChange(value: string): void; renderTableSettings?(): ReactNode; renderTableActions?(): ReactNode; description?: ReactNode; titleId?: string; } & AutomationTestingProps; export function DatatableHeader({ onSearchChange, renderTableActions, renderTableSettings, searchValue, title, titleIcon, description, titleId, 'data-cy': dataCy, }: Props) { if (!title) { return null; } const searchBar = ( ); const tableActions = !!renderTableActions && ( {renderTableActions()} ); const tableTitleSettings = !!renderTableSettings && ( {renderTableSettings()} ); return ( {searchBar} {tableActions} {tableTitleSettings} ); }