react-native-gifted-chat 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -6
- package/lib/Actions.d.ts +5 -6
- package/lib/Actions.js +16 -13
- package/lib/Actions.js.map +1 -1
- package/lib/Avatar.d.ts +10 -24
- package/lib/Avatar.js +24 -35
- package/lib/Avatar.js.flow +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Bubble.d.ts +30 -29
- package/lib/Bubble.js +90 -72
- package/lib/Bubble.js.flow +3 -1
- package/lib/Bubble.js.map +1 -1
- package/lib/Composer.d.ts +1 -1
- package/lib/Composer.js +30 -32
- package/lib/Composer.js.map +1 -1
- package/lib/Constant.js +1 -0
- package/lib/Constant.js.map +1 -1
- package/lib/Day.d.ts +3 -15
- package/lib/Day.js +2 -14
- package/lib/Day.js.flow +1 -1
- package/lib/Day.js.map +1 -1
- package/lib/GiftedAvatar.d.ts +7 -7
- package/lib/GiftedAvatar.js +30 -29
- package/lib/GiftedAvatar.js.map +1 -1
- package/lib/GiftedChat.d.ts +16 -89
- package/lib/GiftedChat.js +204 -350
- package/lib/GiftedChat.js.flow +3 -3
- package/lib/GiftedChat.js.map +1 -1
- package/lib/GiftedChatContext.d.ts +2 -1
- package/lib/GiftedChatContext.js.map +1 -1
- package/lib/InputToolbar.d.ts +7 -5
- package/lib/InputToolbar.js +41 -34
- package/lib/InputToolbar.js.map +1 -1
- package/lib/LoadEarlier.d.ts +4 -4
- package/lib/LoadEarlier.js +8 -6
- package/lib/LoadEarlier.js.map +1 -1
- package/lib/Message.d.ts +8 -9
- package/lib/Message.js +47 -40
- package/lib/Message.js.flow +1 -1
- package/lib/Message.js.map +1 -1
- package/lib/MessageAudio.d.ts +2 -1
- package/lib/MessageAudio.js +4 -4
- package/lib/MessageAudio.js.flow +1 -1
- package/lib/MessageAudio.js.map +1 -1
- package/lib/MessageContainer.d.ts +17 -17
- package/lib/MessageContainer.js +33 -51
- package/lib/MessageContainer.js.map +1 -1
- package/lib/MessageImage.d.ts +8 -5
- package/lib/MessageImage.js +6 -6
- package/lib/MessageImage.js.flow +1 -1
- package/lib/MessageImage.js.map +1 -1
- package/lib/MessageText.d.ts +11 -10
- package/lib/MessageText.js +5 -10
- package/lib/MessageText.js.flow +1 -1
- package/lib/MessageText.js.map +1 -1
- package/lib/MessageVideo.d.ts +2 -1
- package/lib/MessageVideo.js +4 -4
- package/lib/MessageVideo.js.flow +1 -1
- package/lib/MessageVideo.js.map +1 -1
- package/lib/Models.d.ts +7 -7
- package/lib/QuickReplies.d.ts +4 -3
- package/lib/QuickReplies.js +10 -16
- package/lib/QuickReplies.js.flow +4 -2
- package/lib/QuickReplies.js.map +1 -1
- package/lib/Send.d.ts +4 -4
- package/lib/Send.js +6 -9
- package/lib/Send.js.map +1 -1
- package/lib/SystemMessage.d.ts +6 -5
- package/lib/SystemMessage.js +1 -2
- package/lib/SystemMessage.js.flow +1 -1
- package/lib/SystemMessage.js.map +1 -1
- package/lib/Time.d.ts +7 -6
- package/lib/Time.js +1 -3
- package/lib/Time.js.flow +1 -1
- package/lib/Time.js.map +1 -1
- package/lib/TypingIndicator.d.ts +2 -1
- package/lib/TypingIndicator.js +5 -5
- package/lib/TypingIndicator.js.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.js +2 -4
- package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/logging.d.ts +2 -2
- package/lib/logging.js.map +1 -1
- package/lib/types.js.flow +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +2 -4
- package/lib/utils.js.map +1 -1
- package/package.json +83 -53
- package/src/Actions.tsx +114 -0
- package/src/Avatar.tsx +178 -0
- package/src/Bubble.tsx +601 -0
- package/src/Color.ts +17 -0
- package/src/Composer.tsx +147 -0
- package/src/Constant.ts +18 -0
- package/src/Day.tsx +71 -0
- package/src/GiftedAvatar.tsx +205 -0
- package/src/GiftedChat.tsx +670 -0
- package/src/GiftedChatContext.ts +23 -0
- package/src/InputToolbar.tsx +113 -0
- package/src/LoadEarlier.tsx +108 -0
- package/src/Message.tsx +229 -0
- package/src/MessageAudio.tsx +19 -0
- package/src/MessageContainer.tsx +362 -0
- package/src/MessageImage.tsx +78 -0
- package/src/MessageText.tsx +187 -0
- package/src/MessageVideo.tsx +19 -0
- package/src/Models.ts +84 -0
- package/src/QuickReplies.tsx +186 -0
- package/src/Send.tsx +102 -0
- package/src/SystemMessage.tsx +61 -0
- package/src/Time.tsx +97 -0
- package/src/TypingIndicator.tsx +108 -0
- package/src/__tests__/Actions.test.tsx +10 -0
- package/src/__tests__/Avatar.test.tsx +13 -0
- package/src/__tests__/Bubble.test.tsx +23 -0
- package/src/__tests__/Color.test.tsx +5 -0
- package/src/__tests__/Composer.test.tsx +11 -0
- package/src/__tests__/Constant.test.tsx +5 -0
- package/src/__tests__/Day.test.tsx +23 -0
- package/src/__tests__/GiftedAvatar.test.tsx +11 -0
- package/src/__tests__/GiftedChat.test.tsx +36 -0
- package/src/__tests__/InputToolbar.test.tsx +11 -0
- package/src/__tests__/LoadEarlier.test.tsx +11 -0
- package/src/__tests__/Message.test.tsx +77 -0
- package/src/__tests__/MessageContainer.test.tsx +11 -0
- package/src/__tests__/MessageImage.test.tsx +27 -0
- package/src/__tests__/MessageText.test.tsx +11 -0
- package/src/__tests__/Send.test.tsx +22 -0
- package/src/__tests__/SystemMessage.test.tsx +27 -0
- package/src/__tests__/Time.test.tsx +29 -0
- package/src/__tests__/__snapshots__/Actions.test.tsx.snap +76 -0
- package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +17 -0
- package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +145 -0
- package/src/__tests__/__snapshots__/Color.test.tsx.snap +21 -0
- package/src/__tests__/__snapshots__/Composer.test.tsx.snap +35 -0
- package/src/__tests__/__snapshots__/Constant.test.tsx.snap +16 -0
- package/src/__tests__/__snapshots__/Day.test.tsx.snap +37 -0
- package/src/__tests__/__snapshots__/GiftedAvatar.test.tsx.snap +22 -0
- package/src/__tests__/__snapshots__/GiftedChat.test.tsx.snap +15 -0
- package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +60 -0
- package/src/__tests__/__snapshots__/LoadEarlier.test.tsx.snap +74 -0
- package/src/__tests__/__snapshots__/Message.test.tsx.snap +628 -0
- package/src/__tests__/__snapshots__/MessageContainer.test.tsx.snap +127 -0
- package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +38 -0
- package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +30 -0
- package/src/__tests__/__snapshots__/Send.test.tsx.snap +129 -0
- package/src/__tests__/__snapshots__/SystemMessage.test.tsx.snap +38 -0
- package/src/__tests__/__snapshots__/Time.test.tsx.snap +33 -0
- package/src/__tests__/data.ts +8 -0
- package/src/__tests__/utils.test.ts +31 -0
- package/src/hooks/useUpdateLayoutEffect.ts +21 -0
- package/src/index.ts +4 -0
- package/src/logging.ts +8 -0
- package/src/utils.ts +39 -0
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -21
- package/jest.config.js +0 -15
package/lib/GiftedAvatar.js
CHANGED
|
@@ -22,35 +22,42 @@ const styles = StyleSheet.create({
|
|
|
22
22
|
fontWeight: '100',
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
|
-
|
|
25
|
+
class GiftedAvatar extends React.Component {
|
|
26
26
|
constructor() {
|
|
27
27
|
super(...arguments);
|
|
28
28
|
this.avatarName = undefined;
|
|
29
29
|
this.avatarColor = undefined;
|
|
30
30
|
this.handleOnPress = () => {
|
|
31
|
-
const {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
const {
|
|
32
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
33
|
+
onPress,
|
|
34
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
35
|
+
...rest } = this.props;
|
|
36
|
+
if (this.props.onPress)
|
|
37
|
+
this.props.onPress(rest);
|
|
38
|
+
};
|
|
39
|
+
this.handleOnLongPress = () => {
|
|
40
|
+
const {
|
|
41
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
42
|
+
onLongPress,
|
|
43
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
44
|
+
...rest } = this.props;
|
|
45
|
+
if (this.props.onLongPress)
|
|
46
|
+
this.props.onLongPress(rest);
|
|
35
47
|
};
|
|
36
|
-
this.handleOnLongPress = () => { };
|
|
37
48
|
}
|
|
38
49
|
setAvatarColor() {
|
|
39
50
|
const userName = (this.props.user && this.props.user.name) || '';
|
|
40
51
|
const name = userName.toUpperCase().split(' ');
|
|
41
|
-
if (name.length === 1)
|
|
52
|
+
if (name.length === 1)
|
|
42
53
|
this.avatarName = `${name[0].charAt(0)}`;
|
|
43
|
-
|
|
44
|
-
else if (name.length > 1) {
|
|
54
|
+
else if (name.length > 1)
|
|
45
55
|
this.avatarName = `${name[0].charAt(0)}${name[1].charAt(0)}`;
|
|
46
|
-
|
|
47
|
-
else {
|
|
56
|
+
else
|
|
48
57
|
this.avatarName = '';
|
|
49
|
-
}
|
|
50
58
|
let sumChars = 0;
|
|
51
|
-
for (let i = 0; i < userName.length; i += 1)
|
|
59
|
+
for (let i = 0; i < userName.length; i += 1)
|
|
52
60
|
sumChars += userName.charCodeAt(i);
|
|
53
|
-
}
|
|
54
61
|
// inspired by https://github.com/wbinnssmith/react-user-avatar
|
|
55
62
|
// colors from https://flatuicolors.com/
|
|
56
63
|
const colors = [
|
|
@@ -66,17 +73,13 @@ export default class GiftedAvatar extends React.Component {
|
|
|
66
73
|
}
|
|
67
74
|
renderAvatar() {
|
|
68
75
|
const { user } = this.props;
|
|
69
|
-
if (user)
|
|
70
|
-
if (typeof user.avatar === 'function')
|
|
76
|
+
if (user)
|
|
77
|
+
if (typeof user.avatar === 'function')
|
|
71
78
|
return user.avatar([styles.avatarStyle, this.props.avatarStyle]);
|
|
72
|
-
|
|
73
|
-
else if (typeof user.avatar === 'string') {
|
|
79
|
+
else if (typeof user.avatar === 'string')
|
|
74
80
|
return (<Image source={{ uri: user.avatar }} style={[styles.avatarStyle, this.props.avatarStyle]}/>);
|
|
75
|
-
|
|
76
|
-
else if (typeof user.avatar === 'number') {
|
|
81
|
+
else if (typeof user.avatar === 'number')
|
|
77
82
|
return (<Image source={user.avatar} style={[styles.avatarStyle, this.props.avatarStyle]}/>);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
83
|
return null;
|
|
81
84
|
}
|
|
82
85
|
renderInitials() {
|
|
@@ -85,22 +88,19 @@ export default class GiftedAvatar extends React.Component {
|
|
|
85
88
|
</Text>);
|
|
86
89
|
}
|
|
87
90
|
render() {
|
|
88
|
-
if (!this.props.user ||
|
|
89
|
-
(!this.props.user.name && !this.props.user.avatar)) {
|
|
91
|
+
if (!this.props.user || (!this.props.user.name && !this.props.user.avatar))
|
|
90
92
|
// render placeholder
|
|
91
93
|
return (<View style={[
|
|
92
94
|
styles.avatarStyle,
|
|
93
95
|
styles.avatarTransparent,
|
|
94
96
|
this.props.avatarStyle,
|
|
95
97
|
]} accessibilityRole='image'/>);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return (<TouchableOpacity disabled={!this.props.onPress} onPress={this.props.onPress} onLongPress={this.props.onLongPress} accessibilityRole='image'>
|
|
98
|
+
if (this.props.user.avatar)
|
|
99
|
+
return (<TouchableOpacity disabled={!this.props.onPress} onPress={this.handleOnPress} onLongPress={this.handleOnLongPress} accessibilityRole='image'>
|
|
99
100
|
{this.renderAvatar()}
|
|
100
101
|
</TouchableOpacity>);
|
|
101
|
-
}
|
|
102
102
|
this.setAvatarColor();
|
|
103
|
-
return (<TouchableOpacity disabled={!this.props.onPress} onPress={this.
|
|
103
|
+
return (<TouchableOpacity disabled={!this.props.onPress} onPress={this.handleOnPress} onLongPress={this.handleOnLongPress} style={[
|
|
104
104
|
styles.avatarStyle,
|
|
105
105
|
{ backgroundColor: this.avatarColor },
|
|
106
106
|
this.props.avatarStyle,
|
|
@@ -126,4 +126,5 @@ GiftedAvatar.propTypes = {
|
|
|
126
126
|
avatarStyle: StylePropType,
|
|
127
127
|
textStyle: StylePropType,
|
|
128
128
|
};
|
|
129
|
+
export default GiftedAvatar;
|
|
129
130
|
//# sourceMappingURL=GiftedAvatar.js.map
|
package/lib/GiftedAvatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftedAvatar.js","sourceRoot":"","sources":["../src/GiftedAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,KAAK,EACL,IAAI,EACJ,gBAAgB,EAChB,IAAI,EACJ,UAAU,GAIX,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,GACb,GAAG,KAAK,CAAA;AAET,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE;QACX,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;KACjB;IACD,iBAAiB,EAAE;QACjB,eAAe,EAAE,KAAK,CAAC,qBAAqB;KAC7C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAA;AAUF,
|
|
1
|
+
{"version":3,"file":"GiftedAvatar.js","sourceRoot":"","sources":["../src/GiftedAvatar.tsx"],"names":[],"mappings":"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"}
|
package/lib/GiftedChat.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ActionSheetOptions } from '@expo/react-native-action-sheet';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
1
|
import React from 'react';
|
|
4
|
-
import
|
|
2
|
+
import 'react-native-get-random-values';
|
|
3
|
+
import { ActionSheetOptions } from '@expo/react-native-action-sheet';
|
|
4
|
+
import { FlatList, StyleProp, TextInput, TextStyle, ViewStyle } from 'react-native';
|
|
5
5
|
import { LightboxProps } from 'react-native-lightbox-v2';
|
|
6
6
|
import { Actions, ActionsProps } from './Actions';
|
|
7
7
|
import { Avatar, AvatarProps } from './Avatar';
|
|
@@ -42,34 +42,32 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
|
|
|
42
42
|
isLoadingEarlier?: boolean;
|
|
43
43
|
showUserAvatar?: boolean;
|
|
44
44
|
showAvatarForEveryMessage?: boolean;
|
|
45
|
-
isKeyboardInternallyHandled?: boolean;
|
|
46
45
|
renderAvatarOnTop?: boolean;
|
|
47
46
|
inverted?: boolean;
|
|
48
47
|
imageProps?: Message<TMessage>['props'];
|
|
49
48
|
lightboxProps?: LightboxProps;
|
|
50
|
-
bottomOffset?: number;
|
|
51
49
|
minInputToolbarHeight?: number;
|
|
52
|
-
listViewProps?:
|
|
53
|
-
textInputProps?:
|
|
54
|
-
keyboardShouldPersistTaps?:
|
|
50
|
+
listViewProps?: object;
|
|
51
|
+
textInputProps?: object;
|
|
52
|
+
keyboardShouldPersistTaps?: boolean;
|
|
55
53
|
maxInputLength?: number;
|
|
56
|
-
forceGetKeyboardHeight?: boolean;
|
|
57
54
|
alwaysShowSend?: boolean;
|
|
58
55
|
imageStyle?: StyleProp<ViewStyle>;
|
|
59
|
-
extraData?:
|
|
56
|
+
extraData?: object;
|
|
60
57
|
minComposerHeight?: number;
|
|
61
58
|
maxComposerHeight?: number;
|
|
62
59
|
options?: {
|
|
63
|
-
[key: string]:
|
|
60
|
+
[key: string]: () => void;
|
|
64
61
|
};
|
|
65
62
|
optionTintColor?: string;
|
|
66
63
|
quickReplyStyle?: StyleProp<ViewStyle>;
|
|
67
64
|
quickReplyTextStyle?: StyleProp<TextStyle>;
|
|
65
|
+
quickReplyContainerStyle?: StyleProp<ViewStyle>;
|
|
68
66
|
isCustomViewBottom?: boolean;
|
|
69
67
|
infiniteScroll?: boolean;
|
|
70
68
|
timeTextStyle?: LeftRightStyle<TextStyle>;
|
|
71
69
|
actionSheet?(): {
|
|
72
|
-
showActionSheetWithOptions: (options: ActionSheetOptions, callback: (
|
|
70
|
+
showActionSheetWithOptions: (options: ActionSheetOptions, callback: (buttonIndex: number) => void | Promise<void>) => void;
|
|
73
71
|
};
|
|
74
72
|
onPressAvatar?(user: User): void;
|
|
75
73
|
onLongPressAvatar?(user: User): void;
|
|
@@ -81,10 +79,10 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
|
|
|
81
79
|
renderAvatar?: null | ((props: AvatarProps<TMessage>) => React.ReactNode);
|
|
82
80
|
renderBubble?(props: Bubble<TMessage>['props']): React.ReactNode;
|
|
83
81
|
renderSystemMessage?(props: SystemMessageProps<TMessage>): React.ReactNode;
|
|
84
|
-
onPress?(context:
|
|
85
|
-
onLongPress?(context:
|
|
82
|
+
onPress?(context: unknown, message: TMessage): void;
|
|
83
|
+
onLongPress?(context: unknown, message: TMessage): void;
|
|
86
84
|
renderUsername?(user: User): React.ReactNode;
|
|
87
|
-
renderMessage?(message: Message<TMessage>['props']): React.
|
|
85
|
+
renderMessage?(message: Message<TMessage>['props']): React.ReactElement;
|
|
88
86
|
renderMessageText?(messageText: MessageTextProps<TMessage>): React.ReactNode;
|
|
89
87
|
renderMessageImage?(props: MessageImageProps<TMessage>): React.ReactNode;
|
|
90
88
|
renderMessageVideo?(props: MessageVideoProps<TMessage>): React.ReactNode;
|
|
@@ -102,88 +100,17 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
|
|
|
102
100
|
renderAccessory?(props: InputToolbarProps<TMessage>): React.ReactNode;
|
|
103
101
|
onPressActionButton?(): void;
|
|
104
102
|
onInputTextChanged?(text: string): void;
|
|
105
|
-
parsePatterns
|
|
103
|
+
parsePatterns?: (linkStyle: TextStyle) => [];
|
|
106
104
|
onQuickReply?(replies: Reply[]): void;
|
|
107
105
|
renderQuickReplies?(quickReplies: QuickRepliesProps<TMessage>): React.ReactNode;
|
|
108
106
|
renderQuickReplySend?(): React.ReactNode;
|
|
109
107
|
scrollToBottomComponent?(): React.ReactNode;
|
|
110
108
|
shouldUpdateMessage?(props: Message<TMessage>['props'], nextProps: Message<TMessage>['props']): boolean;
|
|
111
109
|
}
|
|
112
|
-
|
|
113
|
-
isInitialized: boolean;
|
|
114
|
-
composerHeight?: number;
|
|
115
|
-
messagesContainerHeight?: number | Animated.Value;
|
|
116
|
-
typingDisabled: boolean;
|
|
117
|
-
text?: string;
|
|
118
|
-
messages?: TMessage[];
|
|
119
|
-
}
|
|
120
|
-
declare function GiftedChat<TMessage extends IMessage = IMessage>(props: GiftedChatProps): JSX.Element;
|
|
110
|
+
declare function GiftedChat<TMessage extends IMessage = IMessage>(props: GiftedChatProps): React.JSX.Element;
|
|
121
111
|
declare namespace GiftedChat {
|
|
122
|
-
var propTypes: {
|
|
123
|
-
messages: PropTypes.Requireable<(object | null | undefined)[]>;
|
|
124
|
-
messagesContainerStyle: PropTypes.Requireable<number | boolean | object>;
|
|
125
|
-
text: PropTypes.Requireable<string>;
|
|
126
|
-
initialText: PropTypes.Requireable<string>;
|
|
127
|
-
placeholder: PropTypes.Requireable<string>;
|
|
128
|
-
disableComposer: PropTypes.Requireable<boolean>;
|
|
129
|
-
messageIdGenerator: PropTypes.Requireable<(...args: any[]) => any>;
|
|
130
|
-
user: PropTypes.Requireable<object>;
|
|
131
|
-
onSend: PropTypes.Requireable<(...args: any[]) => any>;
|
|
132
|
-
locale: PropTypes.Requireable<string>;
|
|
133
|
-
timeFormat: PropTypes.Requireable<string>;
|
|
134
|
-
dateFormat: PropTypes.Requireable<string>;
|
|
135
|
-
isKeyboardInternallyHandled: PropTypes.Requireable<boolean>;
|
|
136
|
-
loadEarlier: PropTypes.Requireable<boolean>;
|
|
137
|
-
onLoadEarlier: PropTypes.Requireable<(...args: any[]) => any>;
|
|
138
|
-
isLoadingEarlier: PropTypes.Requireable<boolean>;
|
|
139
|
-
renderLoading: PropTypes.Requireable<(...args: any[]) => any>;
|
|
140
|
-
renderLoadEarlier: PropTypes.Requireable<(...args: any[]) => any>;
|
|
141
|
-
renderAvatar: PropTypes.Requireable<(...args: any[]) => any>;
|
|
142
|
-
showUserAvatar: PropTypes.Requireable<boolean>;
|
|
143
|
-
actionSheet: PropTypes.Requireable<(...args: any[]) => any>;
|
|
144
|
-
onPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
|
|
145
|
-
onLongPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
|
|
146
|
-
renderUsernameOnMessage: PropTypes.Requireable<boolean>;
|
|
147
|
-
renderAvatarOnTop: PropTypes.Requireable<boolean>;
|
|
148
|
-
isCustomViewBottom: PropTypes.Requireable<boolean>;
|
|
149
|
-
renderBubble: PropTypes.Requireable<(...args: any[]) => any>;
|
|
150
|
-
renderSystemMessage: PropTypes.Requireable<(...args: any[]) => any>;
|
|
151
|
-
onLongPress: PropTypes.Requireable<(...args: any[]) => any>;
|
|
152
|
-
renderMessage: PropTypes.Requireable<(...args: any[]) => any>;
|
|
153
|
-
renderMessageText: PropTypes.Requireable<(...args: any[]) => any>;
|
|
154
|
-
renderMessageImage: PropTypes.Requireable<(...args: any[]) => any>;
|
|
155
|
-
imageProps: PropTypes.Requireable<object>;
|
|
156
|
-
videoProps: PropTypes.Requireable<object>;
|
|
157
|
-
audioProps: PropTypes.Requireable<object>;
|
|
158
|
-
lightboxProps: PropTypes.Requireable<object>;
|
|
159
|
-
renderCustomView: PropTypes.Requireable<(...args: any[]) => any>;
|
|
160
|
-
renderDay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
161
|
-
renderTime: PropTypes.Requireable<(...args: any[]) => any>;
|
|
162
|
-
renderFooter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
163
|
-
renderChatEmpty: PropTypes.Requireable<(...args: any[]) => any>;
|
|
164
|
-
renderChatFooter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
165
|
-
renderInputToolbar: PropTypes.Requireable<(...args: any[]) => any>;
|
|
166
|
-
renderComposer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
167
|
-
renderActions: PropTypes.Requireable<(...args: any[]) => any>;
|
|
168
|
-
renderSend: PropTypes.Requireable<(...args: any[]) => any>;
|
|
169
|
-
renderAccessory: PropTypes.Requireable<(...args: any[]) => any>;
|
|
170
|
-
onPressActionButton: PropTypes.Requireable<(...args: any[]) => any>;
|
|
171
|
-
bottomOffset: PropTypes.Requireable<number>;
|
|
172
|
-
minInputToolbarHeight: PropTypes.Requireable<number>;
|
|
173
|
-
listViewProps: PropTypes.Requireable<object>;
|
|
174
|
-
keyboardShouldPersistTaps: PropTypes.Requireable<string>;
|
|
175
|
-
onInputTextChanged: PropTypes.Requireable<(...args: any[]) => any>;
|
|
176
|
-
maxInputLength: PropTypes.Requireable<number>;
|
|
177
|
-
forceGetKeyboardHeight: PropTypes.Requireable<boolean>;
|
|
178
|
-
inverted: PropTypes.Requireable<boolean>;
|
|
179
|
-
textInputProps: PropTypes.Requireable<object>;
|
|
180
|
-
extraData: PropTypes.Requireable<object>;
|
|
181
|
-
minComposerHeight: PropTypes.Requireable<number>;
|
|
182
|
-
maxComposerHeight: PropTypes.Requireable<number>;
|
|
183
|
-
alignTop: PropTypes.Requireable<boolean>;
|
|
184
|
-
};
|
|
185
112
|
var append: <TMessage extends IMessage>(currentMessages: TMessage[] | undefined, messages: TMessage[], inverted?: boolean) => TMessage[];
|
|
186
113
|
var prepend: <TMessage extends IMessage>(currentMessages: TMessage[] | undefined, messages: TMessage[], inverted?: boolean) => TMessage[];
|
|
187
114
|
}
|
|
188
115
|
export * from './Models';
|
|
189
|
-
export { GiftedChat, Actions, Avatar, Bubble, SystemMessage, MessageImage, MessageText, Composer, Day, InputToolbar, LoadEarlier, Message, MessageContainer, Send, Time, GiftedAvatar, utils
|
|
116
|
+
export { GiftedChat, Actions, Avatar, Bubble, SystemMessage, MessageImage, MessageText, Composer, Day, InputToolbar, LoadEarlier, Message, MessageContainer, Send, Time, GiftedAvatar, utils };
|