import { flexRender, getCoreRowModel, RowData, useReactTable } from '@tanstack/react-table'; import React from 'react'; import { Table, TableBody, TableCaption, TableCell as TableCellComponent, TableHead, TableHeader, TableRow, } from '../../../../common/components/atoms/Table'; import { ITableCellProps } from './interfaces'; import { ctw } from '@/common/utils/ctw/ctw'; import { DefaultTableCell } from '@ballerine/ui'; export const TableCell = ({ value, }: ITableCellProps) => { const table = useReactTable({ ...value?.options, data: value.data ?? [], columns: value.columns ?? [], getCoreRowModel: getCoreRowModel(), defaultColumn: { cell: DefaultTableCell, }, }); return ( {value?.caption && ( {value.caption} )} {table.getHeaderGroups()?.map(headerGroup => ( {headerGroup.headers?.map((header, index) => { return ( {!header.isPlaceholder && flexRender(header.column.columnDef.header, header.getContext())} ); })} ))} {!!table.getRowModel().rows?.length && table.getRowModel().rows?.map(row => ( {row.getVisibleCells()?.map(cell => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} ))} {!table.getRowModel().rows?.length && ( No results. )}
); }; TableCell.displayName = 'TableCell';