ivt
Version:
Ivt Components Library
147 lines (136 loc) • 5.59 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { Table, ColumnDef } from '@tanstack/react-table';
import React__default from 'react';
interface DataTableViewOptionsProps$2<TData> {
table: Table<TData>;
transformColumnName?: (id: string) => string;
}
declare function DataTableViewOptions<TData>({ table, transformColumnName, }: DataTableViewOptionsProps$2<TData>): react_jsx_runtime.JSX.Element;
interface DataTableSearchProps<TData> {
table: Table<TData>;
keySearch: string;
placeholder: string;
}
declare function DataTableSearch<TData>({ table, keySearch, placeholder, }: DataTableSearchProps<TData>): react_jsx_runtime.JSX.Element;
interface DataTableViewOptionsProps$1<TData, TValue> {
table: Table<TData>;
columns: ColumnDef<TData, TValue>[];
setQueryParams?: React__default.Dispatch<React__default.SetStateAction<ListParams$1>>;
isLoadingTable?: boolean;
dataLabel: string;
actionColumns?: string[];
messageEmpty?: React__default.ReactNode;
dividingColumnKey?: string[];
loadingContent?: React__default.ReactNode;
pageSizeOptions?: number[];
className?: string;
isScrollable?: boolean;
scrollMaxHeightClass?: string;
fixedHeader?: boolean;
showPagination?: boolean;
}
interface ListParams$1 {
[propName: string]: string | string[];
}
declare const DataTableMainFrame: <TData, TValue>({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns, messageEmpty, dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass, isScrollable, fixedHeader, showPagination, }: DataTableViewOptionsProps$1<TData, TValue>) => react_jsx_runtime.JSX.Element;
interface DataTablePaginationProps<TData> {
table: Table<TData>;
pageSizeOptions?: number[];
dataLabel?: string;
}
declare function DataTablePagination<TData>({ table, pageSizeOptions, dataLabel, }: DataTablePaginationProps<TData>): react_jsx_runtime.JSX.Element;
declare const DataTablePaginationSkeleton: React__default.FC;
interface DataTableRowSkeletonProps extends React__default.HTMLAttributes<HTMLDivElement> {
columnCount: number;
rowCount?: number;
cellWidths?: string[];
shrinkZero?: boolean;
}
declare function DataTableRowSkeleton(props: DataTableRowSkeletonProps): react_jsx_runtime.JSX.Element;
interface DataTableSkeletonProps extends React__default.HTMLAttributes<HTMLDivElement> {
/**
* The number of columns in the table.
* @type number
*/
columnCount: number;
/**
* The number of rows in the table.
* @default 10
* @type number | undefined
*/
rowCount?: number;
/**
* The number of searchable columns in the table.
* @default 0
* @type number | undefined
*/
searchableColumnCount?: number;
/**
* The number of filterable columns in the table.
* @default 0
* @type number | undefined
*/
filterableColumnCount?: number;
/**
* Flag to show the table view options.
* @default undefined
* @type boolean | undefined
*/
showViewOptions?: boolean;
/**
* The width of each cell in the table.
* The length of the array should be equal to the columnCount.
* Any valid CSS width value is accepted.
* @default ["auto"]
* @type string[] | undefined
*/
cellWidths?: string[];
/**
* Flag to show the pagination bar.
* @default true
* @type boolean | undefined
*/
withPagination?: boolean;
/**
* Flag to prevent the table cells from shrinking.
* @default false
* @type boolean | undefined
*/
shrinkZero?: boolean;
}
declare function DataTableSkeleton(props: DataTableSkeletonProps): react_jsx_runtime.JSX.Element;
interface DataTableStatusProps<TData, TEnum> {
table: Table<TData>;
uniqueStatusValues: TEnum[];
renderStatusMessage(status: TEnum): string;
className?: string;
}
declare function DataTableStatus<TData, TEnum>({ table, uniqueStatusValues, renderStatusMessage, className, }: DataTableStatusProps<TData, TEnum>): react_jsx_runtime.JSX.Element;
interface DataTableViewOptionsProps<TData, TValue> {
table: Table<TData>;
columns: ColumnDef<TData, TValue>[];
setQueryParams?: React__default.Dispatch<React__default.SetStateAction<ListParams>>;
isLoadingTable?: boolean;
dataLabel: string;
actionColumns?: string[];
data: TData[];
onDataChange?: (newData: TData[]) => void;
messageEmpty?: React__default.ReactNode;
rowKey: keyof TData | Array<keyof TData> | ((row: TData) => string | number);
dividingColumnKey?: string[];
loadingContent?: React__default.ReactNode;
pageSizeOptions?: number[];
className?: string;
isScrollable?: boolean;
scrollMaxHeightClass?: string;
fixedHeader?: boolean;
showPagination?: boolean;
}
type RowData = {
[key: string]: any;
};
interface ListParams {
[propName: string]: string | string[];
}
declare const DataTableMainFrameSortable: <TData extends RowData, TValue>({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns, data, messageEmpty, onDataChange, rowKey, dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass, isScrollable, fixedHeader, showPagination, }: DataTableViewOptionsProps<TData, TValue>) => react_jsx_runtime.JSX.Element;
export { DataTableMainFrame, DataTableMainFrameSortable, DataTablePagination, DataTablePaginationSkeleton, DataTableRowSkeleton, DataTableSearch, DataTableSkeleton, DataTableStatus, DataTableViewOptions };