UNPKG

tdesign-react

Version:
53 lines (52 loc) 2.33 kB
import { WheelEvent } from 'react'; import { ClassName, Styles } from '../../common'; import { BaseTableCol, TableRowData, TdBaseTableProps } from '../type'; import { TableRowFixedClasses, RowAndColFixedPosition, TableColFixedClasses } from '../interface'; export declare function getColumnFixedStyles(col: TdBaseTableProps['columns'][0], index: number, rowAndColFixedPosition: RowAndColFixedPosition, tableColFixedClasses: TableColFixedClasses): { style?: Styles; classes?: ClassName; }; export declare function getRowFixedStyles(rowId: string | number, rowIndex: number, rowLength: number, fixedRows: TdBaseTableProps['fixedRows'], rowAndColFixedPosition: RowAndColFixedPosition, tableRowFixedClasses: TableRowFixedClasses, virtualTranslateY?: number): { style: Styles; classes: ClassName; }; export default function useFixed(props: TdBaseTableProps, finalColumns: BaseTableCol<TableRowData>[]): { tableWidth: import("react").MutableRefObject<number>; tableElmWidth: import("react").MutableRefObject<number>; thWidthList: import("react").MutableRefObject<{ [colKey: string]: number; }>; isFixedHeader: boolean; isWidthOverflow: boolean; tableContentRef: import("react").MutableRefObject<HTMLDivElement>; isFixedColumn: boolean; showColumnShadow: { left: boolean; right: boolean; }; rowAndColFixedPosition: RowAndColFixedPosition; virtualScrollHeaderPos: { left: number; top: number; }; scrollbarWidth: number; setData: import("react").Dispatch<import("react").SetStateAction<TableRowData[]>>; refreshTable: () => void; setTableElmWidth: (width: number) => void; emitScrollEvent: (e: WheelEvent<HTMLDivElement>) => void; updateThWidthListHandler: () => void; updateColumnFixedShadow: (target: HTMLElement, extra?: { skipScrollLimit?: boolean; }) => void; setUseFixedTableElmRef: (val: HTMLTableElement) => void; getThWidthList: (type?: "default" | "calculate") => { [colKey: string]: number; }; updateThWidthList: (trList: HTMLCollection | { [colKey: string]: number; }) => { [colKey: string]: number; }; addTableResizeObserver: (tableElement: HTMLDivElement) => () => void; updateTableAfterColumnResize: () => void; };