table.tsx 789 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { Table as BS5Table } from 'react-bootstrap-5'
  2. import classnames from 'classnames'
  3. export function TableContainer({
  4. responsive,
  5. bordered,
  6. children,
  7. }: React.ComponentProps<typeof BS5Table>) {
  8. return (
  9. <div
  10. className={classnames('table-container', {
  11. 'table-container-bordered': bordered,
  12. 'table-responsive': responsive,
  13. })}
  14. >
  15. {children}
  16. </div>
  17. )
  18. }
  19. type TableProps = React.ComponentProps<typeof BS5Table> & {
  20. container?: boolean
  21. }
  22. function Table({
  23. container = true,
  24. responsive,
  25. bordered,
  26. ...rest
  27. }: TableProps) {
  28. return container ? (
  29. <TableContainer responsive={responsive} bordered={bordered}>
  30. <BS5Table {...rest} />
  31. </TableContainer>
  32. ) : (
  33. <BS5Table {...rest} />
  34. )
  35. }
  36. export default Table