dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
27 lines • 1.25 kB
TypeScript
import type { ColumnType } from '../../types';
import { type UseSortableProps } from '../../hooks';
export interface MyTableProps<TData> {
rows?: TData[];
columns: ColumnType<TData>[];
onRowClick?: (row: TData) => void;
hasNumbers?: boolean;
hasCheckbox?: boolean;
rowKey: keyof TData;
params?: Record<string, unknown>;
total?: number;
selectedItems?: TData[keyof TData][];
onSelectedItemsChange?: (selectedItems: TData[keyof TData][]) => void;
onSortOrderChange?: (params: Omit<UseSortableProps<TData>, 'onSortOrderChange'>) => void;
isStickyHeader?: true;
}
/**
* MyTable renders a generic data table with optional numbering, selection checkboxes,
* sortable columns and sticky header. It is a presentational component and delegates
* sorting/selection state via hooks and callbacks.
*
* @template TData - The row data type.
* @param props - Component props.
* @returns React element containing the table.
*/
export declare const MyTable: <TData>({ rows, columns, onRowClick, rowKey, params, hasNumbers, hasCheckbox, selectedItems, onSelectedItemsChange, onSortOrderChange, isStickyHeader, }: MyTableProps<TData>) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=MyTable.d.ts.map