@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
TypeScript
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;
}