import React from 'react'; import { cn } from '../../utils/cn'; import { HeaderGroup, Header } from '@tanstack/react-table'; import { BaseTableData } from '../../types'; export interface TableHeaderRowProps extends React.HTMLAttributes { /** * Header group data from TanStack Table */ headerGroup?: HeaderGroup; /** * Function to render header cells */ renderHeaderCell?: (header: Header, index: number) => React.ReactNode; } /** * TableHeaderRow component - Used for complex header structures, especially with column groups */ export const TableHeaderRow = ({ headerGroup, renderHeaderCell, children, className, ...props }: TableHeaderRowProps) => { return ( {headerGroup ? ( headerGroup.headers.map((header, index) => renderHeaderCell ? renderHeaderCell(header, index) : ( {header.isPlaceholder ? null : ( typeof header.column.columnDef.header === 'function' ? header.column.columnDef.header(header.getContext()) : header.column.columnDef.header )} ) ) ) : ( children )} ); }; export default TableHeaderRow;