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.

61 lines (60 loc) 2.37 kB
import React from 'react'; import PropTypes from 'prop-types'; import '@douyinfe/semi-foundation/lib/cjs/list/list.css'; import ListItem from './item'; import { Grid } from './list-context'; import BaseComponent from '../_base/baseComponent'; export type { ListItemProps } from './item'; export interface ListProps<T> { style?: React.CSSProperties; className?: string; children?: React.ReactNode; bordered?: boolean; footer?: React.ReactNode; header?: React.ReactNode; layout?: 'vertical' | 'horizontal'; size?: 'small' | 'large' | 'default'; split?: boolean; emptyContent?: React.ReactNode; dataSource?: T[]; renderItem?: (item: T, ind: number) => React.ReactNode; grid?: Grid; loading?: boolean; loadMore?: React.ReactNode; onClick?: React.MouseEventHandler<HTMLLIElement>; onRightClick?: React.MouseEventHandler<HTMLLIElement>; } declare class List<T = any> extends BaseComponent<ListProps<T>> { static Item: typeof ListItem; static propTypes: { style: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; bordered: PropTypes.Requireable<boolean>; footer: PropTypes.Requireable<PropTypes.ReactNodeLike>; header: PropTypes.Requireable<PropTypes.ReactNodeLike>; layout: PropTypes.Requireable<string>; size: PropTypes.Requireable<string>; split: PropTypes.Requireable<boolean>; emptyContent: PropTypes.Requireable<PropTypes.ReactNodeLike>; dataSource: PropTypes.Requireable<any[]>; renderItem: PropTypes.Requireable<(...args: any[]) => any>; grid: PropTypes.Requireable<object>; loading: PropTypes.Requireable<boolean>; loadMore: PropTypes.Requireable<PropTypes.ReactNodeLike>; onRightClick: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { bordered: boolean; split: boolean; loading: boolean; layout: string; size: string; onRightClick: (...args: any[]) => void; onClick: (...args: any[]) => void; }; renderEmpty: () => React.JSX.Element; wrapChildren(childrenList: React.ReactNode, children: React.ReactNode): React.JSX.Element; render(): React.JSX.Element; } export default List;