import React, { PureComponent, ReactNode } from 'react'; import PropTypes from 'prop-types'; import Store from '@douyinfe/semi-foundation/lib/es/utils/Store'; import { TableContextProps } from '../table-context'; import { ColumnProps, RenderGroupSection, OnGroupedRow, TableComponents, Virtualized, RowKey, OnRowReturnObject } from '../interface'; export interface SectionRowProps { record?: Record; index?: number; columns?: ColumnProps[]; group?: (string | number)[]; groupKey: string | number; data?: Record[]; renderGroupSection?: RenderGroupSection; onGroupedRow?: OnGroupedRow>; clickGroupedRowToExpand?: boolean; components?: TableComponents; expanded?: boolean; prefixCls?: string; onExpand?: (willExpanded: boolean, groupKey: number | string, e: React.MouseEvent) => void; virtualized?: Virtualized; style?: React.CSSProperties; renderExpandIcon?: (record: Record, isNested: boolean, groupKey: string | number) => ReactNode | null; className?: string; store?: Store; rowKey?: RowKey; } /** * avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types */ export declare const sectionRowPropTypes: { record: PropTypes.Requireable; index: PropTypes.Requireable; columns: PropTypes.Requireable; group: PropTypes.Validator; groupKey: PropTypes.Validator>>; data: PropTypes.Requireable; renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>; onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>; clickGroupedRowToExpand: PropTypes.Requireable; components: PropTypes.Requireable; expanded: PropTypes.Requireable; prefixCls: PropTypes.Requireable; onExpand: PropTypes.Requireable<(...args: any[]) => any>; virtualized: PropTypes.Requireable>; style: PropTypes.Requireable; renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; store: PropTypes.Requireable; rowKey: PropTypes.Requireable any)>>; }; /** * Grouping component title row */ declare class SectionRow extends PureComponent { static contextType: React.Context; static propTypes: { record: PropTypes.Requireable; index: PropTypes.Requireable; columns: PropTypes.Requireable; group: PropTypes.Validator; groupKey: PropTypes.Validator>>; data: PropTypes.Requireable; renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>; onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>; clickGroupedRowToExpand: PropTypes.Requireable; components: PropTypes.Requireable; expanded: PropTypes.Requireable; prefixCls: PropTypes.Requireable; onExpand: PropTypes.Requireable<(...args: any[]) => any>; virtualized: PropTypes.Requireable>; style: PropTypes.Requireable; renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; store: PropTypes.Requireable; rowKey: PropTypes.Requireable any)>>; }; static defaultProps: { prefixCls: "semi-table"; components: { body: { row: string; cell: string; }; }; }; context: TableContextProps; onRow: (...args: any[]) => OnRowReturnObject; collectGroupedData: () => Record[]; renderExpandIcon: (record: any) => React.ReactNode; isInnerColumnKey(key: any): boolean; render(): React.JSX.Element; } export default SectionRow;