@maherunlocker/custom-react-table
Version:
dynamic table based on react table v7
38 lines (37 loc) • 2.15 kB
TypeScript
import React from 'react';
import { TableInstance } from 'react-table';
import { TableMouseEventHandler } from '../../types/react-table-config';
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"toolbar" | "leftButtons" | "rightButtons" | "leftIcons" | "rightIcons">;
declare type InstanceActionButton<T extends Record<string, unknown>> = {
instance: TableInstance<T>;
icon?: JSX.Element;
onClick: TableMouseEventHandler;
enabled?: (instance: TableInstance<T>) => boolean;
label: string;
variant?: 'right' | 'left';
};
declare type ActionButton = {
icon?: JSX.Element;
onClick?: React.MouseEventHandler;
enabled?: boolean;
label: string;
variant?: 'right' | 'left';
};
export declare const InstanceLabeledActionButton: <T extends Record<string, unknown>>({ instance, icon, onClick, label, enabled, }: InstanceActionButton<T>) => React.ReactElement;
export declare const LabeledActionButton: ({ icon, onClick, label, enabled, }: ActionButton) => React.ReactElement;
export declare const InstanceSmallIconActionButton: <T extends Record<string, unknown>>({ instance, icon, onClick, label, enabled, variant, }: InstanceActionButton<T>) => React.ReactElement;
export declare const SmallIconActionButton: ({ icon, onClick, label, enabled, variant, }: ActionButton) => React.ReactElement;
declare type TableToolbarProps<T extends Record<string, unknown>> = {
instance: TableInstance<T>;
onAdd?: TableMouseEventHandler;
onDelete?: TableMouseEventHandler;
onEdit?: TableMouseEventHandler;
showGlobalFilter?: boolean;
showFilter?: boolean;
showColumnIcon?: boolean;
filterActive?: boolean;
setLocalFilterActive?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
customJsxSideFilterButton?: React.ReactNode;
};
export declare function TableToolbar<T extends Record<string, unknown>>({ instance, showGlobalFilter, showFilter, showColumnIcon, filterActive, setLocalFilterActive, customJsxSideFilterButton, }: React.PropsWithChildren<TableToolbarProps<T>>): React.ReactElement | null;
export {};