UNPKG

dgz-ui-shared

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library

31 lines 1.37 kB
import { ColumnType } from '../types'; /** * Props for the useColumns hook. * @template TData - The type of data associated with the columns. */ export interface UseColumnsProps<TData> { /** Unique key to identify the table for persisting column state. */ key: string; /** Array of column definitions. */ columns: ColumnType<TData>[]; } /** * useColumns manages visibility of table columns using a persisted store. * Returns formatted columns and helpers to toggle/reset visibility. * * @template TData - Row data type. * @param key - Unique key for storing visibility per table. * @param columns - Original column definitions. * @returns {Object} Column management object * @returns {ColumnType<TData>[]} formattedColumns - Filtered columns with visibility applied from store * @returns {(column: ColumnType<TData>, value: boolean) => void} handleColumnsChange - Function to toggle column visibility * @returns {() => void} resetColumns - Function to reset all columns to their default visibility */ export declare const useColumns: <TData>({ key, columns, }: UseColumnsProps<TData>) => { formattedColumns: (Omit<ColumnType<TData>, "hidden"> & { hidden: boolean; })[]; handleColumnsChange: (column: ColumnType<TData>, value: boolean) => void; resetColumns: () => void; }; //# sourceMappingURL=useColumns.d.ts.map