import React from 'react'; import TableFooter from '@mui/material/TableFooter'; import { MRT_TableFooterRow } from './MRT_TableFooterRow'; import type { VirtualItem } from '@tanstack/react-virtual'; import type { MRT_TableInstance } from '..'; interface Props { table: MRT_TableInstance; virtualColumns?: VirtualItem[]; virtualPaddingLeft?: number; virtualPaddingRight?: number; } export const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => { const { getFooterGroups, getState, options: { enableStickyFooter, layoutMode, muiTableFooterProps }, } = table; const { isFullScreen } = getState(); const tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({ table }) : muiTableFooterProps; const stickFooter = (isFullScreen || enableStickyFooter) && enableStickyFooter !== false; return ( ({ bottom: stickFooter ? 0 : undefined, display: layoutMode === 'grid' ? 'grid' : 'table-row-group', opacity: stickFooter ? 0.97 : undefined, outline: stickFooter ? theme.palette.mode === 'light' ? `1px solid ${theme.palette.grey[300]}` : `1px solid ${theme.palette.grey[700]}` : undefined, position: stickFooter ? 'sticky' : undefined, zIndex: stickFooter ? 1 : undefined, ...(tableFooterProps?.sx instanceof Function ? tableFooterProps?.sx(theme) : (tableFooterProps?.sx as any)), })} > {getFooterGroups().map((footerGroup) => ( ))} ); };