UNPKG

mdc-react

Version:

Material Components for the web implemented in React

49 lines (40 loc) 1.28 kB
import { forwardRef } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import DataTableProgressIndicator from './DataTableProgressIndicator'; import DataTablePagination from './DataTablePagination'; import { cssClasses } from './constants'; const DataTable = forwardRef(({ stickyHeader = false, inProgress = false, pagination, className, children, ...props }, ref) => { const classNames = classnames(cssClasses.ROOT, { [cssClasses.STICKY_HEADER]: stickyHeader, [cssClasses.IN_PROGRESS]: inProgress }, className); return ( <div ref={ref} className={classNames} {...props}> <div className={cssClasses.TABLE_CONTAINER}> <table className={cssClasses.TABLE}> {children} </table> </div> {inProgress && <DataTableProgressIndicator /> } {pagination && <DataTablePagination {...pagination} /> } </div> ); }); DataTable.displayName = 'MDCDataTable'; DataTable.propTypes = { stickyHeader: PropTypes.bool, inProgress: PropTypes.bool }; export default DataTable;