UNPKG

1.62 kBTypeScriptView Raw
1import PropTypes from 'prop-types';
2import React, { Component } from 'react';
3import { StyleProp, ViewStyle, TextStyle, TouchableOpacityProps } from 'react-native';
4import { IMessage } from './Models';
5export interface SendProps<TMessage extends IMessage> {
6 text?: string;
7 label?: string;
8 containerStyle?: StyleProp<ViewStyle>;
9 textStyle?: StyleProp<TextStyle>;
10 children?: React.ReactNode;
11 alwaysShowSend?: boolean;
12 disabled?: boolean;
13 sendButtonProps?: Partial<TouchableOpacityProps>;
14 onSend?(messages: Partial<TMessage> | Partial<TMessage>[], shouldResetInputToolbar: boolean): void;
15}
16export default class Send<TMessage extends IMessage = IMessage> extends Component<SendProps<TMessage>> {
17 static defaultProps: {
18 text: string;
19 onSend: () => void;
20 label: string;
21 containerStyle: {};
22 textStyle: {};
23 children: null;
24 alwaysShowSend: boolean;
25 disabled: boolean;
26 sendButtonProps: null;
27 };
28 static propTypes: {
29 text: PropTypes.Requireable<string>;
30 onSend: PropTypes.Requireable<(...args: any[]) => any>;
31 label: PropTypes.Requireable<string>;
32 containerStyle: PropTypes.Requireable<number | boolean | object>;
33 textStyle: PropTypes.Requireable<number | boolean | object>;
34 children: PropTypes.Requireable<PropTypes.ReactElementLike>;
35 alwaysShowSend: PropTypes.Requireable<boolean>;
36 disabled: PropTypes.Requireable<boolean>;
37 sendButtonProps: PropTypes.Requireable<object>;
38 };
39 handleOnPress: () => void;
40 render(): JSX.Element;
41}