({cellPadding, columns, rows = 10, ...rest}: TableSkeletonProps<Data>)
| 601 | } |
| 602 | |
| 603 | function TableSkeleton<Data extends UniqueRow>({cellPadding, columns, rows = 10, ...rest}: TableSkeletonProps<Data>) { |
| 604 | const {gridTemplateColumns} = useTableLayout(columns) |
| 605 | return ( |
| 606 | <Table {...rest} cellPadding={cellPadding} gridTemplateColumns={gridTemplateColumns}> |
| 607 | <TableHead> |
| 608 | <TableRow> |
| 609 | {Array.isArray(columns) |
| 610 | ? columns.map((column, i) => { |
| 611 | return ( |
| 612 | <TableHeader key={i}> |
| 613 | {typeof column.header === 'string' ? column.header : column.header()} |
| 614 | </TableHeader> |
| 615 | ) |
| 616 | }) |
| 617 | : null} |
| 618 | </TableRow> |
| 619 | </TableHead> |
| 620 | <TableBody> |
| 621 | <TableRow> |
| 622 | {Array.from({length: columns.length}).map((_, i) => { |
| 623 | return ( |
| 624 | <TableCell key={i} className="TableCellSkeleton"> |
| 625 | <VisuallyHidden>Loading</VisuallyHidden> |
| 626 | <div className="TableCellSkeletonItems"> |
| 627 | {Array.from({length: rows}).map((_, i) => { |
| 628 | return <div key={i} className="TableCellSkeletonItem" /> |
| 629 | })} |
| 630 | </div> |
| 631 | </TableCell> |
| 632 | ) |
| 633 | })} |
| 634 | </TableRow> |
| 635 | </TableBody> |
| 636 | </Table> |
| 637 | ) |
| 638 | } |
| 639 | |
| 640 | // ---------------------------------------------------------------------------- |
| 641 | // Utilities |
nothing calls this directly
no test coverage detected