/* eslint-disable max-len */ import React from 'react'; import { noop } from 'lodash'; import { ColumnProps, GetVirtualizedListRef, RowKey } from './interface'; import { BaseRowKeyType, BaseHeadWidth, } from '@douyinfe/semi-foundation/table/foundation'; export interface TableContextProps { children?: React.ReactNode; anyColumnFixed?: boolean; flattenedColumns?: ColumnProps[]; tableWidth?: number; headWidths?: BaseHeadWidth[][]; setHeadWidths?: (headWidth?: BaseHeadWidth[], index?: number) => void; getHeadWidths?: (index?: number) => number[]; getCellWidths?: (flattenColumns: ColumnProps[], flattenedWidths?: number[], ignoreScrollBarKey?: boolean) => number[]; handleRowExpanded?: (expanded: boolean, realKey: RowKey, domEvent: React.MouseEvent) => void; renderExpandIcon?: (record: Record, isNested?: boolean, groupKey?: string | number) => React.ReactNode; renderSelection?: (record?: Record, isHeader?: boolean) => React.ReactNode; getVirtualizedListRef?: GetVirtualizedListRef; setBodyHasScrollbar?: (bodyHasScrollBar: boolean) => void; } const TableContext = React.createContext({ headWidths: [], setHeadWidths: noop, handleRowExpanded: noop, }); export default TableContext;