UNPKG

pagamio-frontend-commons-lib

Version:

Pagamio library for Frontend reusable components like the form engine and table container

45 lines (44 loc) 1.84 kB
import { type MRT_Row, type MRT_TableInstance } from 'mantine-react-table'; import React from 'react'; import type { CoreTableColumnDef, SortConfig } from './types'; type CoreTableProps<T extends { id: string | number; }> = { columns: CoreTableColumnDef<T>[]; isLoading?: boolean; data: T[]; sortable?: boolean; multiSorting: boolean; sortConfig?: SortConfig | null; onSort?: (sortKey: string, sortDirection: 'asc' | 'desc') => void; setSortBy?: (sortKey: string) => void; setSortDir?: (sortDir: string) => void; selectable?: boolean; selectedRows?: (string | number)[]; onSelectRow?: (id: string | number) => void; onSelectAll?: (selected: boolean) => void; enablePagination?: boolean; enableGlobalFilters?: boolean; enableManualSorting?: boolean; enableManualPagination?: boolean; expandable?: boolean; onRowClick?: (row: T) => void; rowClassName?: string; renderExpandableComponent?: (props: { row: MRT_Row<T>; table: MRT_TableInstance<T>; }) => React.ReactNode; pagination?: { enabled: boolean; pageIndex: number; pageSize: number; itemsPerPage: number; itemsPerPageOptions?: number[]; onPageChange: (page: number) => void; onPaginationChange: (index: number, size: number) => void; }; }; declare const CoreTable: <T extends { id: string | number; }>({ columns, isLoading, data, sortable, sortConfig, onSort, selectable, selectedRows, onSelectRow, onSelectAll, enablePagination, expandable, renderExpandableComponent, pagination, enableGlobalFilters, enableManualSorting, enableManualPagination, multiSorting, setSortBy, setSortDir, onRowClick, rowClassName, ...props }: CoreTableProps<T>) => import("react/jsx-runtime").JSX.Element; export default CoreTable;