UNPKG

mod-arch-shared

Version:

Shared UI components and utilities for modular architecture micro-frontend projects

43 lines 2.29 kB
import * as React from 'react'; import { PaginationProps, ToolbarGroup, ToolbarItem } from '@patternfly/react-core'; import { Tr, TableProps, TbodyProps, TrProps } from '@patternfly/react-table'; import { EitherNotBoth } from '../../types/typeHelpers'; import { GetColumnSort, SortableData } from './types'; type Props<DataType> = { loading?: boolean; skeletonRowCount?: number; skeletonRowProps?: TrProps; data: DataType[]; columns: SortableData<DataType>[]; subColumns?: SortableData<DataType>[]; hasNestedHeader?: boolean; defaultSortColumn?: number; rowRenderer: (data: DataType, rowIndex: number) => React.ReactNode; enablePagination?: boolean | 'compact'; truncateRenderingAt?: number; toolbarContent?: React.ReactElement<typeof ToolbarItem | typeof ToolbarGroup>; onClearFilters?: () => void; bottomToolbarContent?: React.ReactElement<typeof ToolbarItem | typeof ToolbarGroup>; emptyTableView?: React.ReactNode; caption?: string; footerRow?: (pageNumber: number) => React.ReactElement<typeof Tr> | null; selectAll?: { onSelect: (value: boolean) => void; selected: boolean; disabled?: boolean; tooltip?: string; }; getColumnSort?: GetColumnSort; disableItemCount?: boolean; hasStickyColumns?: boolean; } & EitherNotBoth<{ disableRowRenderSupport?: boolean; }, { tbodyProps?: TbodyProps & { ref?: React.Ref<HTMLTableSectionElement>; }; }> & Omit<TableProps, 'ref' | 'data'> & Pick<PaginationProps, 'itemCount' | 'onPerPageSelect' | 'onSetPage' | 'page' | 'perPage' | 'perPageOptions' | 'toggleTemplate' | 'onNextClick' | 'onPreviousClick'>; export declare const MIN_PAGE_SIZE = 10; declare const TableBase: <T>({ data, columns, subColumns, hasNestedHeader, rowRenderer, enablePagination, toolbarContent, onClearFilters, bottomToolbarContent, emptyTableView, caption, disableRowRenderSupport, selectAll, footerRow, tbodyProps, perPage, page, perPageOptions, onSetPage, onNextClick, onPreviousClick, onPerPageSelect, getColumnSort, itemCount, loading, skeletonRowCount, skeletonRowProps, toggleTemplate, disableItemCount, hasStickyColumns, ...props }: Props<T>) => React.ReactElement; export default TableBase; //# sourceMappingURL=TableBase.d.ts.map