import * as React from "react"; import { ClassHelpers } from "../.."; export interface ITableItem { data: T; columnKeys: Array; columnFormatter?: { [P in keyof T]?: (value: T[P], row?: T) => React.ReactNode; }; onClick?: (data: T) => void; } export function TableItem({ data, columnFormatter, columnKeys, onClick, }: React.PropsWithChildren>) { return ( onClick(data)} className={ClassHelpers.classNames("table-row")} > {columnKeys.map((col: keyof T, index: number) => { return ( {columnFormatter && columnFormatter[col] ? columnFormatter[col](data[col], data) : data[col]} ); })} ); }