bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
37 lines (36 loc) • 1.43 kB
TypeScript
import { type DropdownItem } from "../overlay/Dropdown";
export declare const Check: () => import("react/jsx-runtime").JSX.Element;
export type DataTableProps<Data> = {
data: Data[] | null;
columns?: string[];
checkable?: boolean;
onClickRow?: (row: Data) => void;
onClickPage?: (page: number) => void;
total?: number;
page?: number;
perPage?: number;
rowActions?: (Omit<DropdownItem, "onClick"> & {
onClick: (row: Data, key: number) => void;
})[];
perPageOptions?: number[];
sort?: {
by?: string;
dir?: "asc" | "desc";
};
onClickSort?: (name: string) => void;
onClickPerPage?: (perPage: number) => void;
renderHeader?: (column: string) => React.ReactNode;
renderValue?: ({ value, property }: {
value: any;
property: string;
}) => React.ReactNode;
classNames?: {
value?: string;
};
onClickNew?: () => void;
};
export declare function DataTable<Data extends Record<string, any> = Record<string, any>>({ data, columns, checkable, onClickRow, onClickPage, onClickSort, total, sort, page, perPage, perPageOptions, onClickPerPage, classNames, renderHeader, rowActions, renderValue, onClickNew, }: DataTableProps<Data>): import("react/jsx-runtime").JSX.Element;
export declare const CellValue: ({ value, property }: {
value: any;
property: any;
}) => import("react/jsx-runtime").JSX.Element;