UNPKG

@acrool/react-table

Version:
49 lines (48 loc) 1.57 kB
import { TTableTitle, TBodyDataID, TBodyDataFieldKey, ITableBody, TTitleCol } from './types'; import { CSSProperties } from 'react'; export declare const getTemplate: <D extends string>(titles: TTableTitle<D>, gap: string) => CSSProperties; export declare const getCol: (col: TTitleCol) => { '--td-width': string; } | { '--td-width': true | `${number}em` | `${number}px` | `${number}%` | `${number}fr` | `${number}rem` | "auto"; }; /** * 計算 sticky top * @param isSticky */ export declare const getCalcStickyTopStyles: (isSticky?: boolean) => CSSProperties; /** * 計算 sticky left * @param calcLeft * @param sticky */ export declare const getCalcStickyLeftStyles: (calcLeft?: TTitleCol[], sticky?: 'left' | 'right') => CSSProperties; /** * 計算分頁 * @param totalItem * @param pageLimit */ export declare const calcPageInfo: (totalItem: number, pageLimit: number) => number; interface ITableTitleData<K extends TBodyDataFieldKey, I extends TBodyDataID> { title: TTableTitle<K>; data: ITableBody<K, I>[]; } /** * 綁定的方式產生 data, * tableTitleData({ * title: {text: 'title', col: 'auto'}, * name: {text: 'name', col: 'auto'}, * }, [ * { * id: 'name', * field: { * name: 'xx', * title: 'xxx', * } * } * ]); * @param title * @param data */ export declare const genericsTitleData: <K extends string, I extends TBodyDataID>(title: TTableTitle<K>, data: ITableBody<K, I>[]) => ITableTitleData<K, I>; export { arrayMove } from '@dnd-kit/sortable';