@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.
68 lines (67 loc) • 3.49 kB
TypeScript
import * as React from 'react';
import BaseComponent from '../_base/baseComponent';
import PropTypes from 'prop-types';
import type { ChatProps, ChatState } from './interface';
import '@douyinfe/semi-foundation/lib/cjs/chat/chat.css';
import ChatFoundation, { ChatAdapter } from '@douyinfe/semi-foundation/lib/cjs/chat/foundation';
import type { FileItem } from '../upload';
import { Upload } from '../index';
declare class Chat extends BaseComponent<ChatProps, ChatState> {
static __SemiComponentName__: string;
dragStatus: boolean;
containerRef: React.RefObject<HTMLDivElement>;
animation: any;
wheelEventHandler: any;
foundation: ChatFoundation;
uploadRef: React.RefObject<Upload>;
dropAreaRef: React.RefObject<HTMLDivElement>;
scrollTargetRef: React.RefObject<HTMLElement>;
static propTypes: {
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
roleConfig: PropTypes.Requireable<object>;
chats: PropTypes.Requireable<any[]>;
hints: PropTypes.Requireable<any[]>;
renderHintBox: PropTypes.Requireable<(...args: any[]) => any>;
onChatsChange: PropTypes.Requireable<(...args: any[]) => any>;
align: PropTypes.Requireable<string>;
chatBoxRenderConfig: PropTypes.Requireable<object>;
customMarkDownComponents: PropTypes.Requireable<object>;
onClear: PropTypes.Requireable<(...args: any[]) => any>;
onMessageDelete: PropTypes.Requireable<(...args: any[]) => any>;
onMessageReset: PropTypes.Requireable<(...args: any[]) => any>;
onMessageCopy: PropTypes.Requireable<(...args: any[]) => any>;
onMessageGoodFeedback: PropTypes.Requireable<(...args: any[]) => any>;
onMessageBadFeedback: PropTypes.Requireable<(...args: any[]) => any>;
inputContentConvert: PropTypes.Requireable<(...args: any[]) => any>;
onMessageSend: PropTypes.Requireable<(...args: any[]) => any>;
InputBoxStyle: PropTypes.Requireable<object>;
inputBoxCls: PropTypes.Requireable<string>;
renderFullInputBox: PropTypes.Requireable<(...args: any[]) => any>;
placeholder: PropTypes.Requireable<string>;
topSlot: PropTypes.Requireable<PropTypes.ReactNodeLike> | PropTypes.Requireable<any[]>;
bottomSlot: PropTypes.Requireable<PropTypes.ReactNodeLike> | PropTypes.Requireable<any[]>;
showStopGenerate: PropTypes.Requireable<boolean>;
showClearContext: PropTypes.Requireable<boolean>;
hintStyle: PropTypes.Requireable<object>;
hintCls: PropTypes.Requireable<string>;
uploadProps: PropTypes.Requireable<object>;
uploadTipProps: PropTypes.Requireable<object>;
mode: PropTypes.Requireable<string>;
markdownRenderProps: PropTypes.Requireable<object>;
};
static defaultProps: any;
constructor(props: ChatProps);
get adapter(): ChatAdapter;
static getDerivedStateFromProps(nextProps: ChatProps, prevState: ChatState): any;
componentDidMount(): void;
componentDidUpdate(prevProps: Readonly<ChatProps>, prevState: Readonly<ChatState>, snapshot?: any): void;
componentWillUnmount(): void;
resetMessage: () => void;
clearContext: () => void;
scrollToBottom: (animation: boolean) => void;
sendMessage: (content: string, attachment: FileItem[]) => void;
containerScroll: (e: React.UIEvent<HTMLDivElement>) => void;
render(): React.JSX.Element;
}
export default Chat;