dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
21 lines • 957 B
TypeScript
import type { CheckedState } from '@radix-ui/react-checkbox';
export interface UseDataTableProps<TData> {
rows?: TData[];
defaultSelectedRows?: TData[keyof TData][];
}
/**
* useDataTable manages row selection state for data tables.
* Provides helpers to select all on current page, select one, and query selection.
*
* @template TData - Row data type.
* @param props.rows - Current rows rendered on the page.
* @param props.defaultSelectedRows - Pre-selected row keys.
*/
export declare const useDataTable: <TData>({ rows, defaultSelectedRows, }: UseDataTableProps<TData>) => {
selectedRows: TData[keyof TData][] | undefined;
isRowSelected: (key: TData[keyof TData]) => boolean;
isAllRowsSelected: (rowKey: keyof TData) => CheckedState;
handleSelectAllRows: (rowKey: keyof TData, checked: boolean) => void;
handleSelectRow: (key: TData[keyof TData], checked: boolean) => void;
};
//# sourceMappingURL=useDataTable.d.ts.map