1 | import PropTypes from 'prop-types';
|
2 | import React, { Component } from 'react';
|
3 | import { StyleProp, ViewStyle, TextStyle, TouchableOpacityProps } from 'react-native';
|
4 | import { IMessage } from './Models';
|
5 | export 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 | }
|
16 | export 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 | }
|