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.

52 lines (51 loc) 2 kB
import React from 'react'; import PropTypes from 'prop-types'; import BannerFoundation, { BannerAdapter } from '@douyinfe/semi-foundation/lib/cjs/banner/foundation'; import '@douyinfe/semi-foundation/lib/cjs/banner/banner.css'; import BaseComponent from '../_base/baseComponent'; export type Type = 'info' | 'danger' | 'warning' | 'success'; export interface BannerProps { type?: Type; className?: string; children?: React.ReactNode; fullMode?: boolean; title?: React.ReactNode; description?: React.ReactNode; icon?: React.ReactNode; closeIcon?: React.ReactNode; style?: React.CSSProperties; bordered?: boolean; onClose?(e: React.MouseEvent): void; } export interface BannerState { visible: boolean; } export default class Banner extends BaseComponent<BannerProps, BannerState> { static propTypes: { fullMode: PropTypes.Requireable<boolean>; type: PropTypes.Requireable<string>; title: PropTypes.Requireable<PropTypes.ReactNodeLike>; description: PropTypes.Requireable<PropTypes.ReactNodeLike>; icon: PropTypes.Requireable<PropTypes.ReactNodeLike>; closeIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; style: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; onClose: PropTypes.Requireable<(...args: any[]) => any>; bordered: PropTypes.Requireable<boolean>; }; static defaultProps: { onClose: () => void; type: string; fullMode: boolean; }; foundation: BannerFoundation; constructor(props: BannerProps); get adapter(): BannerAdapter<BannerProps, BannerState>; componentDidMount(): void; componentWillUnmount(): void; remove: React.MouseEventHandler; renderCloser(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element; renderIcon(): React.JSX.Element; render(): React.JSX.Element; }