@bothub-chat/ui
Version:
Bothub UI Components
40 lines (39 loc) • 1.76 kB
TypeScript
import React from 'react';
import { IInputMessageFile, IInputMessageVoiceFile } from './types';
export type InputMessageChangeEventHandler = (message: string) => unknown;
export type InputMessageFilesChangeEventHandler = (files: IInputMessageFile[]) => unknown;
export type InputMessageVoiceFilesChangeEventHandler = (files: IInputMessageVoiceFile[]) => unknown;
export type InputMessageSendEventHandler = (message: string, files: IInputMessageFile[]) => unknown;
export type InputMessageVoiceEventHandler = (blob: Blob) => unknown;
export type InputMessageErrorEvent = {
name: 'WRONG_FILES';
payload: File[];
};
export interface InputMessageProps extends Omit<React.ComponentProps<'textarea'>, 'value' | 'onChange'> {
className?: string;
placeholder?: string;
message?: string;
files?: IInputMessageFile[];
hideUploadFile?: boolean;
uploadFileLimit?: number;
uploadFileDisabled?: boolean;
uploadFileAccept?: string;
sendDisabled?: boolean;
textAreaDisabled?: boolean;
useAlternativeKeyDefaultValue?: boolean;
defaultKeySendText?: React.ReactNode;
alternativeKeySendText?: React.ReactNode;
concatenateText?: React.ReactNode;
autoFocus?: boolean;
voice?: boolean;
onSetAlternativeKeyValue?: (value: boolean) => unknown;
onChange?: InputMessageChangeEventHandler;
onFilesChange?: InputMessageFilesChangeEventHandler;
onVoiceFilesChange?: InputMessageVoiceFilesChangeEventHandler;
onTextAreaChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
onSend?: InputMessageSendEventHandler;
emitError?(event: InputMessageErrorEvent): void;
rightActions?: React.ReactNode;
}
export declare const InputMessage: React.FC<InputMessageProps>;
export * from './types';