UNPKG

@douyinfe/semi-ui

Version:

A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.

94 lines (93 loc) 4.15 kB
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<string, any>; index?: number; columns?: ColumnProps[]; group?: (string | number)[]; groupKey: string | number; data?: Record<string, any>[]; renderGroupSection?: RenderGroupSection; onGroupedRow?: OnGroupedRow<Record<string, any>>; 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<string, any>, isNested: boolean, groupKey: string | number) => ReactNode | null; className?: string; store?: Store; rowKey?: RowKey<any>; } /** * avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types */ export declare const sectionRowPropTypes: { record: PropTypes.Requireable<object>; index: PropTypes.Requireable<number>; columns: PropTypes.Requireable<any[]>; group: PropTypes.Validator<object>; groupKey: PropTypes.Validator<NonNullable<NonNullable<string | number>>>; data: PropTypes.Requireable<any[]>; renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>; onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>; clickGroupedRowToExpand: PropTypes.Requireable<boolean>; components: PropTypes.Requireable<object>; expanded: PropTypes.Requireable<boolean>; prefixCls: PropTypes.Requireable<string>; onExpand: PropTypes.Requireable<(...args: any[]) => any>; virtualized: PropTypes.Requireable<NonNullable<boolean | object>>; style: PropTypes.Requireable<object>; renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable<string>; store: PropTypes.Requireable<object>; rowKey: PropTypes.Requireable<NonNullable<string | number | ((...args: any[]) => any)>>; }; /** * Grouping component title row */ declare class SectionRow extends PureComponent<SectionRowProps> { static contextType: React.Context<TableContextProps>; static propTypes: { record: PropTypes.Requireable<object>; index: PropTypes.Requireable<number>; columns: PropTypes.Requireable<any[]>; group: PropTypes.Validator<object>; groupKey: PropTypes.Validator<NonNullable<NonNullable<string | number>>>; data: PropTypes.Requireable<any[]>; renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>; onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>; clickGroupedRowToExpand: PropTypes.Requireable<boolean>; components: PropTypes.Requireable<object>; expanded: PropTypes.Requireable<boolean>; prefixCls: PropTypes.Requireable<string>; onExpand: PropTypes.Requireable<(...args: any[]) => any>; virtualized: PropTypes.Requireable<NonNullable<boolean | object>>; style: PropTypes.Requireable<object>; renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable<string>; store: PropTypes.Requireable<object>; rowKey: PropTypes.Requireable<NonNullable<string | number | ((...args: any[]) => any)>>; }; static defaultProps: { prefixCls: "semi-table"; components: { body: { row: string; cell: string; }; }; }; context: TableContextProps; onRow: (...args: any[]) => OnRowReturnObject; collectGroupedData: () => Record<string, any>[]; renderExpandIcon: (record: any) => React.ReactNode; isInnerColumnKey(key: any): boolean; render(): React.JSX.Element; } export default SectionRow;