1 | import PropTypes from 'prop-types';
|
2 | import React, { Component } from 'react';
|
3 | import { StyleProp, ViewStyle } from 'react-native';
|
4 | import { IMessage, Reply } from './Models';
|
5 | export interface QuickRepliesProps {
|
6 | nextMessage?: IMessage;
|
7 | currentMessage?: IMessage;
|
8 | color?: string;
|
9 | sendText?: string;
|
10 | quickReplyStyle?: StyleProp<ViewStyle>;
|
11 | onQuickReply?(reply: Reply[]): void;
|
12 | renderQuickReplySend?(): React.ReactNode;
|
13 | }
|
14 | export interface QuickRepliesState {
|
15 | replies: Reply[];
|
16 | }
|
17 | export default class QuickReplies extends Component<QuickRepliesProps, QuickRepliesState> {
|
18 | static defaultProps: {
|
19 | currentMessage: {
|
20 | quickReplies: never[];
|
21 | };
|
22 | onQuickReply: () => void;
|
23 | color: string;
|
24 | sendText: string;
|
25 | keepReplies: boolean;
|
26 | renderQuickReplySend: undefined;
|
27 | quickReplyStyle: undefined;
|
28 | };
|
29 | static propTypes: {
|
30 | currentMessage: PropTypes.Validator<object>;
|
31 | onQuickReply: PropTypes.Requireable<(...args: any[]) => any>;
|
32 | color: PropTypes.Requireable<string>;
|
33 | sendText: PropTypes.Requireable<string>;
|
34 | keepReplies: PropTypes.Requireable<boolean>;
|
35 | renderQuickReplySend: PropTypes.Requireable<(...args: any[]) => any>;
|
36 | quickReplyStyle: PropTypes.Requireable<number | boolean | object>;
|
37 | };
|
38 | state: {
|
39 | replies: never[];
|
40 | };
|
41 | handlePress: (reply: Reply) => () => void;
|
42 | handleSend: (replies: Reply[]) => () => void;
|
43 | shouldComponentDisplay: () => boolean;
|
44 | renderQuickReplySend: () => JSX.Element;
|
45 | render(): JSX.Element | null;
|
46 | }
|