import { InputText } from 'primereact/inputtext'; import { SelectButton } from 'primereact/selectbutton'; import { Dispatch, SetStateAction } from 'react'; import Button from '../_V2/Button'; import { TSizeOptionValue } from '../../../types/DataTable.types'; interface HeaderProps { size: any; setSize: Dispatch>; sizeOptions: { label: string; value: TSizeOptionValue }[]; globalFilterValue: string; onGlobalFilterChange: (e: { target: { value: any } }) => void; onRefresh: () => void; clearFilter: () => void; hasExpandButtons?: boolean; setExpandedRows?: Dispatch>; expandedData?: any[]; extraButtonsTemplate?: () => JSX.Element; } export const TableGroupHeader: React.FC = ({ size, setSize, sizeOptions, globalFilterValue, onGlobalFilterChange, onRefresh, clearFilter, hasExpandButtons, setExpandedRows, expandedData, extraButtonsTemplate, }) => { if (hasExpandButtons && (!setExpandedRows || !expandedData)) { throw new Error( 'When hasExpandButtons is true, setExpandedRows and expandedData are required.' ); } return (
setSize(e.value)} options={sizeOptions} style={{ textAlign: 'center' }} /> {hasExpandButtons ? (
) : null}
); }; export default TableGroupHeader;