UNPKG

copper-ui

Version:

Modern React UI components library with TypeScript support, built on top of Ant Design

44 lines 2.6 kB
import { TTableColumn } from '../../model/col.types'; import { InferFiltersFromColumns, TTableQuickFilter, TTableQuickFiltersConfig } from '../../model/filter.types'; import { TTableSortState } from '../../model/sort.types'; import { TTableItem } from '../../model/table.types'; export type TTableState<TItem extends TTableItem, T extends readonly TTableColumn<TItem>[], Q extends TTableQuickFilter[]> = ReturnType<typeof useTableStates<TItem, T, Q>>; export type TUseTableStatesProps<TItem extends TTableItem, T extends readonly TTableColumn<TItem>[], Q extends TTableQuickFilter[]> = { columns: T; quickFilters?: TTableQuickFiltersConfig; filtersDebounceDelay?: number; debounceFields?: (keyof InferFiltersFromColumns<TItem, T, Q>)[]; }; declare const useTableStates: <TItem extends TTableItem, T extends readonly TTableColumn<TItem>[], Q extends TTableQuickFilter[]>({ columns, quickFilters, filtersDebounceDelay, debounceFields, }: TUseTableStatesProps<TItem, T, Q>) => { sort: TTableSortState; setSort: import('../../../../../node_modules/react').Dispatch<import('../../../../../node_modules/react').SetStateAction<TTableSortState>>; pagination: import('nuqs').Values<{ pageIndex: Omit<import('nuqs').ParserBuilder<number>, "parseServerSide"> & { readonly defaultValue: number; parseServerSide(value: string | string[] | undefined): number; }; pageSize: Omit<import('nuqs').ParserBuilder<number>, "parseServerSide"> & { readonly defaultValue: number; parseServerSide(value: string | string[] | undefined): number; }; }>; setPagination: import('nuqs').SetValues<{ pageIndex: Omit<import('nuqs').ParserBuilder<number>, "parseServerSide"> & { readonly defaultValue: number; parseServerSide(value: string | string[] | undefined): number; }; pageSize: Omit<import('nuqs').ParserBuilder<number>, "parseServerSide"> & { readonly defaultValue: number; parseServerSide(value: string | string[] | undefined): number; }; }>; totalPages: number; filters: InferFiltersFromColumns<TItem, T, Q>; debouncedFilters: InferFiltersFromColumns<TItem, T, Q>; filterParsers: Record<string, import('nuqs').Parser<unknown>>; setFilters: import('nuqs').SetValues<Record<string, import('nuqs').Parser<unknown>>>; quickFilters: TTableQuickFiltersConfig | undefined; setTotalPages: (newValue?: number) => void; }; export default useTableStates; //# sourceMappingURL=use-table-states.d.ts.map