UNPKG

@inbuild/material-react-table

Version:

A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.

159 lines (158 loc) 9.38 kB
import { MRT_AggregationFns } from './aggregationFns'; import { MRT_FilterFns } from './filterFns'; import { MRT_SortingFns } from './sortingFns'; import type { Row } from '@tanstack/react-table'; import type { TableCellProps } from '@mui/material/TableCell'; import type { Theme } from '@mui/material/styles'; import type { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_ColumnOrderState, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption, MRT_GroupingState, MRT_Header, MRT_TableInstance } from '.'; export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string; export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[]; export declare const prepareColumns: <TData extends Record<string, any> = {}>({ aggregationFns, columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }: { aggregationFns: { sum: import("@tanstack/react-table").AggregationFn<any>; min: import("@tanstack/react-table").AggregationFn<any>; max: import("@tanstack/react-table").AggregationFn<any>; extent: import("@tanstack/react-table").AggregationFn<any>; mean: import("@tanstack/react-table").AggregationFn<any>; median: import("@tanstack/react-table").AggregationFn<any>; unique: import("@tanstack/react-table").AggregationFn<any>; uniqueCount: import("@tanstack/react-table").AggregationFn<any>; count: import("@tanstack/react-table").AggregationFn<any>; } & Record<string, import("@tanstack/react-table").AggregationFn<any>>; columnDefs: MRT_ColumnDef<TData>[]; columnFilterFns: { [key: string]: MRT_FilterOption; }; defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>; filterFns: { between: { <TData_1 extends Record<string, any> = {}>(row: Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean; autoRemove(val: any): boolean; }; betweenInclusive: { <TData_2 extends Record<string, any> = {}>(row: Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean; autoRemove(val: any): boolean; }; contains: { <TData_3 extends Record<string, any> = {}>(row: Row<TData_3>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; empty: { <TData_4 extends Record<string, any> = {}>(row: Row<TData_4>, id: string, _filterValue: string | number): boolean; autoRemove(val: any): boolean; }; endsWith: { <TData_5 extends Record<string, any> = {}>(row: Row<TData_5>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; equals: { <TData_6 extends Record<string, any> = {}>(row: Row<TData_6>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; fuzzy: { <TData_7 extends Record<string, any> = {}>(row: Row<TData_7>, columnId: string, filterValue: string | number, addMeta: (item: import("@tanstack/match-sorter-utils").RankingInfo) => void): boolean; autoRemove(val: any): boolean; }; greaterThan: { <TData_8 extends Record<string, any> = {}>(row: Row<TData_8>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; greaterThanOrEqualTo: { <TData_9 extends Record<string, any> = {}>(row: Row<TData_9>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; lessThan: { <TData_10 extends Record<string, any> = {}>(row: Row<TData_10>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; lessThanOrEqualTo: { <TData_11 extends Record<string, any> = {}>(row: Row<TData_11>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; notEmpty: { <TData_12 extends Record<string, any> = {}>(row: Row<TData_12>, id: string, _filterValue: string | number): boolean; autoRemove(val: any): boolean; }; notEquals: { <TData_13 extends Record<string, any> = {}>(row: Row<TData_13>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; startsWith: { <TData_14 extends Record<string, any> = {}>(row: Row<TData_14>, id: string, filterValue: string | number): boolean; autoRemove(val: any): boolean; }; includesString: import("@tanstack/react-table").FilterFn<any>; includesStringSensitive: import("@tanstack/react-table").FilterFn<any>; equalsString: import("@tanstack/react-table").FilterFn<any>; arrIncludes: import("@tanstack/react-table").FilterFn<any>; arrIncludesAll: import("@tanstack/react-table").FilterFn<any>; arrIncludesSome: import("@tanstack/react-table").FilterFn<any>; weakEquals: import("@tanstack/react-table").FilterFn<any>; inNumberRange: import("@tanstack/react-table").FilterFn<any>; } & Record<string, import("@tanstack/react-table").FilterFn<any>>; sortingFns: { fuzzy: <TData_15 extends Record<string, any> = {}>(rowA: Row<TData_15>, rowB: Row<TData_15>, columnId: string) => number; alphanumeric: import("@tanstack/react-table").SortingFn<any>; alphanumericCaseSensitive: import("@tanstack/react-table").SortingFn<any>; text: import("@tanstack/react-table").SortingFn<any>; textCaseSensitive: import("@tanstack/react-table").SortingFn<any>; datetime: import("@tanstack/react-table").SortingFn<any>; basic: import("@tanstack/react-table").SortingFn<any>; } & Record<string, import("@tanstack/react-table").SortingFn<any>>; }) => MRT_DefinedColumnDef<TData>[]; export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: MRT_ColumnOrderState) => MRT_ColumnOrderState; export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: MRT_GroupingState) => boolean; export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[]; export declare const getTrailingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => (string | false | undefined)[]; export declare const getDefaultColumnOrderIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => string[]; export declare const getDefaultColumnFilterFn: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => MRT_FilterOption; export declare const getIsFirstColumn: (column: MRT_Column, table: MRT_TableInstance) => boolean; export declare const getIsLastColumn: (column: MRT_Column, table: MRT_TableInstance) => boolean; export declare const getIsLastLeftPinnedColumn: (table: MRT_TableInstance, column: MRT_Column) => boolean; export declare const getIsFirstRightPinnedColumn: (column: MRT_Column) => boolean; export declare const getTotalRight: (table: MRT_TableInstance, column: MRT_Column) => number; export declare const getCommonCellStyles: ({ column, header, table, tableCellProps, theme, }: { column: MRT_Column; header?: { id: string; getContext: () => import("@tanstack/react-table").HeaderContext<{}, unknown>; getLeafHeaders: () => import("@tanstack/react-table").Header<{}, unknown>[]; colSpan: number; rowSpan: number; index: number; depth: number; getSize: () => number; getStart: (position?: import("@tanstack/react-table").ColumnPinningPosition | undefined) => number; headerGroup: import("@tanstack/react-table").HeaderGroup<{}>; subHeaders: import("@tanstack/react-table").Header<{}, unknown>[]; isPlaceholder: boolean; placeholderId?: string | undefined; getResizeHandler: () => (event: unknown) => void; column: MRT_Column<{}>; } | undefined; table: MRT_TableInstance; tableCellProps: TableCellProps; theme: Theme; }) => any; export declare const MRT_DefaultColumn: { readonly filterVariant: "text"; readonly minSize: 40; readonly maxSize: 1000; readonly size: 180; }; export declare const MRT_DefaultDisplayColumn: { readonly columnDefType: "display"; readonly enableClickToCopy: false; readonly enableColumnActions: false; readonly enableColumnDragging: false; readonly enableColumnFilter: false; readonly enableColumnOrdering: false; readonly enableEditing: false; readonly enableGlobalFilter: false; readonly enableGrouping: false; readonly enableHiding: false; readonly enableResizing: false; readonly enableSorting: false; }; export declare const parseCSSVarId: (id: string) => string; export declare const invertColor: (hex: string, bw?: boolean, alp?: boolean) => string;