import { Key, Maybe, ObjectForExtending } from './utils.type'; import { CellClickArgs, CellKeyboardEvent, CellKeyDownArgs, CellMouseEvent, CellSelectArgs, ColSpanArgs, Column, ColumnOrColumnGroup, CopyEvent, FillEvent, PasteEvent, RenderCellProps, RenderEditCellProps, Renderers, RenderGroupCellProps, RenderHeaderCellProps, RenderSummaryCellProps, RowsChangeData, SortColumn } from 'react-data-grid'; import { ReactElement, ReactNode } from 'react'; export type ColumnDefault = { readonly name: string | ReactElement; readonly key: string; readonly width?: Maybe; readonly minWidth?: Maybe; readonly maxWidth?: Maybe; readonly cellClass?: Maybe Maybe)>; readonly headerCellClass?: Maybe; readonly summaryCellClass?: Maybe Maybe)>; readonly renderHeaderCell?: Maybe<(props: RenderHeaderCellProps) => ReactNode>; readonly renderCell?: Maybe<(props: RenderCellProps) => ReactNode>; readonly renderSummaryCell?: Maybe<(props: RenderSummaryCellProps) => ReactNode>; readonly renderGroupCell?: Maybe<(props: RenderGroupCellProps) => ReactNode>; readonly renderEditCell?: Maybe<(props: RenderEditCellProps) => ReactNode>; readonly editable?: Maybe boolean)>; readonly colSpan?: Maybe<(args: ColSpanArgs) => Maybe>; readonly frozen?: Maybe; readonly resizable?: Maybe; readonly sortable?: Maybe; readonly draggable?: Maybe; readonly sortDescendingFirst?: Maybe; readonly editorOptions?: Maybe<{ readonly displayCellContent?: Maybe; readonly commitOnOutsideClick?: Maybe; }>; }; declare type SharedDivProps = Pick, 'role' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-rowcount' | 'className' | 'style'>; declare type DefaultColumnOptions = Pick, 'renderCell' | 'width' | 'minWidth' | 'maxWidth' | 'resizable' | 'sortable' | 'draggable'>; type Direction = 'ltr' | 'rtl'; export interface DataGridPropsDefault extends SharedDivProps { columns: readonly ColumnOrColumnGroup[]; rows: readonly R[]; topSummaryRows?: Maybe; bottomSummaryRows?: Maybe; rowKeyGetter?: Maybe<(row: R) => K>; onRowsChange?: Maybe<(rows: R[], data: RowsChangeData) => void>; rowHeight?: Maybe number)>; headerRowHeight?: Maybe; summaryRowHeight?: Maybe; selectedRows?: Maybe>; onSelectedRowsChange?: Maybe<(selectedRows: Set) => void>; sortColumns?: Maybe; onSortColumnsChange?: Maybe<(sortColumns: SortColumn[]) => void>; defaultColumnOptions?: Maybe>; onFill?: Maybe<(event: FillEvent) => R>; onCopy?: Maybe<(event: CopyEvent) => void>; onPaste?: Maybe<(event: PasteEvent) => R>; onCellClick?: Maybe<(args: CellClickArgs, event: CellMouseEvent) => void>; onCellDoubleClick?: Maybe<(args: CellClickArgs, event: CellMouseEvent) => void>; onCellContextMenu?: Maybe<(args: CellClickArgs, event: CellMouseEvent) => void>; onCellKeyDown?: Maybe<(args: CellKeyDownArgs, event: CellKeyboardEvent) => void>; onSelectedCellChange?: Maybe<(args: CellSelectArgs) => void>; onScroll?: Maybe<(event: React.UIEvent) => void>; onColumnResize?: Maybe<(idx: number, width: number) => void>; onColumnsReorder?: Maybe<(sourceColumnKey: string, targetColumnKey: string) => void>; enableVirtualization?: Maybe; renderers?: Maybe>; rowClass?: Maybe<(row: R, rowIdx: number) => Maybe>; direction?: Maybe; 'data-testid'?: Maybe; } export type DefaultOmittedKeys = 'editable' | 'sortable' | 'sortDescendingFirst' | 'renderGroupCell' | 'renderEditCell' | 'frozen' | 'draggable'; export type ColumnDefaultOmitted = Omit, DefaultOmittedKeys>; export type { CellClickArgs };