react-native-gifted-chat 2.4.1 → 2.6.0

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.
Files changed (159) hide show
  1. package/README.md +34 -14
  2. package/lib/Actions.d.ts +5 -6
  3. package/lib/Actions.js +16 -13
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts +9 -25
  6. package/lib/Avatar.js +12 -18
  7. package/lib/Avatar.js.flow +1 -1
  8. package/lib/Avatar.js.map +1 -1
  9. package/lib/Bubble.d.ts +29 -30
  10. package/lib/Bubble.js +99 -92
  11. package/lib/Bubble.js.flow +2 -2
  12. package/lib/Bubble.js.map +1 -1
  13. package/lib/Composer.d.ts +1 -1
  14. package/lib/Composer.js +30 -32
  15. package/lib/Composer.js.map +1 -1
  16. package/lib/Constant.js +1 -0
  17. package/lib/Constant.js.map +1 -1
  18. package/lib/Day.d.ts +3 -15
  19. package/lib/Day.js +2 -14
  20. package/lib/Day.js.flow +1 -1
  21. package/lib/Day.js.map +1 -1
  22. package/lib/GiftedAvatar.d.ts +7 -7
  23. package/lib/GiftedAvatar.js +30 -29
  24. package/lib/GiftedAvatar.js.map +1 -1
  25. package/lib/GiftedChat.d.ts +15 -89
  26. package/lib/GiftedChat.js +204 -350
  27. package/lib/GiftedChat.js.flow +1 -3
  28. package/lib/GiftedChat.js.map +1 -1
  29. package/lib/GiftedChatContext.d.ts +2 -1
  30. package/lib/GiftedChatContext.js.map +1 -1
  31. package/lib/InputToolbar.d.ts +7 -5
  32. package/lib/InputToolbar.js +41 -34
  33. package/lib/InputToolbar.js.map +1 -1
  34. package/lib/LoadEarlier.d.ts +4 -4
  35. package/lib/LoadEarlier.js +8 -6
  36. package/lib/LoadEarlier.js.map +1 -1
  37. package/lib/Message.d.ts +8 -9
  38. package/lib/Message.js +47 -40
  39. package/lib/Message.js.flow +1 -1
  40. package/lib/Message.js.map +1 -1
  41. package/lib/MessageAudio.d.ts +2 -1
  42. package/lib/MessageAudio.js +4 -4
  43. package/lib/MessageAudio.js.flow +1 -1
  44. package/lib/MessageAudio.js.map +1 -1
  45. package/lib/MessageContainer.d.ts +17 -17
  46. package/lib/MessageContainer.js +33 -51
  47. package/lib/MessageContainer.js.map +1 -1
  48. package/lib/MessageImage.d.ts +5 -4
  49. package/lib/MessageImage.js +4 -5
  50. package/lib/MessageImage.js.flow +1 -1
  51. package/lib/MessageImage.js.map +1 -1
  52. package/lib/MessageText.d.ts +11 -10
  53. package/lib/MessageText.js +5 -10
  54. package/lib/MessageText.js.flow +1 -1
  55. package/lib/MessageText.js.map +1 -1
  56. package/lib/MessageVideo.d.ts +2 -1
  57. package/lib/MessageVideo.js +4 -4
  58. package/lib/MessageVideo.js.flow +1 -1
  59. package/lib/MessageVideo.js.map +1 -1
  60. package/lib/Models.d.ts +7 -7
  61. package/lib/QuickReplies.d.ts +3 -3
  62. package/lib/QuickReplies.js +8 -14
  63. package/lib/QuickReplies.js.flow +1 -1
  64. package/lib/QuickReplies.js.map +1 -1
  65. package/lib/Send.d.ts +4 -4
  66. package/lib/Send.js +6 -9
  67. package/lib/Send.js.map +1 -1
  68. package/lib/SystemMessage.d.ts +6 -5
  69. package/lib/SystemMessage.js +1 -2
  70. package/lib/SystemMessage.js.flow +1 -1
  71. package/lib/SystemMessage.js.map +1 -1
  72. package/lib/Time.d.ts +7 -6
  73. package/lib/Time.js +1 -3
  74. package/lib/Time.js.flow +1 -1
  75. package/lib/Time.js.map +1 -1
  76. package/lib/TypingIndicator.d.ts +2 -1
  77. package/lib/TypingIndicator.js +5 -5
  78. package/lib/TypingIndicator.js.map +1 -1
  79. package/lib/hooks/useUpdateLayoutEffect.js +2 -4
  80. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  81. package/lib/index.d.ts +1 -0
  82. package/lib/index.js +1 -0
  83. package/lib/index.js.map +1 -1
  84. package/lib/logging.d.ts +2 -2
  85. package/lib/logging.js.map +1 -1
  86. package/lib/types.js.flow +1 -1
  87. package/lib/utils.d.ts +1 -1
  88. package/lib/utils.js +2 -4
  89. package/lib/utils.js.map +1 -1
  90. package/package.json +86 -59
  91. package/src/Actions.tsx +114 -0
  92. package/src/Avatar.tsx +178 -0
  93. package/src/Bubble.tsx +596 -0
  94. package/src/Color.ts +17 -0
  95. package/src/Composer.tsx +147 -0
  96. package/src/Constant.ts +18 -0
  97. package/src/Day.tsx +71 -0
  98. package/src/GiftedAvatar.tsx +205 -0
  99. package/src/GiftedChat.tsx +670 -0
  100. package/src/GiftedChatContext.ts +23 -0
  101. package/src/InputToolbar.tsx +113 -0
  102. package/src/LoadEarlier.tsx +108 -0
  103. package/src/Message.tsx +229 -0
  104. package/src/MessageAudio.tsx +19 -0
  105. package/src/MessageContainer.tsx +362 -0
  106. package/src/MessageImage.tsx +78 -0
  107. package/src/MessageText.tsx +187 -0
  108. package/src/MessageVideo.tsx +19 -0
  109. package/src/Models.ts +84 -0
  110. package/src/QuickReplies.tsx +186 -0
  111. package/src/Send.tsx +102 -0
  112. package/src/SystemMessage.tsx +61 -0
  113. package/src/Time.tsx +97 -0
  114. package/src/TypingIndicator.tsx +108 -0
  115. package/src/__tests__/Actions.test.tsx +10 -0
  116. package/src/__tests__/Avatar.test.tsx +13 -0
  117. package/src/__tests__/Bubble.test.tsx +23 -0
  118. package/src/__tests__/Color.test.tsx +5 -0
  119. package/src/__tests__/Composer.test.tsx +11 -0
  120. package/src/__tests__/Constant.test.tsx +5 -0
  121. package/src/__tests__/Day.test.tsx +23 -0
  122. package/src/__tests__/GiftedAvatar.test.tsx +11 -0
  123. package/src/__tests__/GiftedChat.test.tsx +36 -0
  124. package/src/__tests__/InputToolbar.test.tsx +11 -0
  125. package/src/__tests__/LoadEarlier.test.tsx +11 -0
  126. package/src/__tests__/Message.test.tsx +77 -0
  127. package/src/__tests__/MessageContainer.test.tsx +11 -0
  128. package/src/__tests__/MessageImage.test.tsx +27 -0
  129. package/src/__tests__/MessageText.test.tsx +11 -0
  130. package/src/__tests__/Send.test.tsx +22 -0
  131. package/src/__tests__/SystemMessage.test.tsx +27 -0
  132. package/src/__tests__/Time.test.tsx +29 -0
  133. package/src/__tests__/__snapshots__/Actions.test.tsx.snap +76 -0
  134. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +17 -0
  135. package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +145 -0
  136. package/src/__tests__/__snapshots__/Color.test.tsx.snap +21 -0
  137. package/src/__tests__/__snapshots__/Composer.test.tsx.snap +35 -0
  138. package/src/__tests__/__snapshots__/Constant.test.tsx.snap +16 -0
  139. package/src/__tests__/__snapshots__/Day.test.tsx.snap +37 -0
  140. package/src/__tests__/__snapshots__/GiftedAvatar.test.tsx.snap +22 -0
  141. package/src/__tests__/__snapshots__/GiftedChat.test.tsx.snap +15 -0
  142. package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +60 -0
  143. package/src/__tests__/__snapshots__/LoadEarlier.test.tsx.snap +74 -0
  144. package/src/__tests__/__snapshots__/Message.test.tsx.snap +628 -0
  145. package/src/__tests__/__snapshots__/MessageContainer.test.tsx.snap +127 -0
  146. package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +38 -0
  147. package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +30 -0
  148. package/src/__tests__/__snapshots__/Send.test.tsx.snap +129 -0
  149. package/src/__tests__/__snapshots__/SystemMessage.test.tsx.snap +38 -0
  150. package/src/__tests__/__snapshots__/Time.test.tsx.snap +33 -0
  151. package/src/__tests__/data.ts +8 -0
  152. package/src/__tests__/utils.test.ts +31 -0
  153. package/src/hooks/useUpdateLayoutEffect.ts +21 -0
  154. package/src/index.ts +4 -0
  155. package/src/logging.ts +8 -0
  156. package/src/utils.ts +39 -0
  157. package/.eslintignore +0 -2
  158. package/.eslintrc.js +0 -21
  159. package/jest.config.js +0 -15
@@ -22,35 +22,42 @@ const styles = StyleSheet.create({
22
22
  fontWeight: '100',
23
23
  },
24
24
  });
25
- export default class GiftedAvatar extends React.Component {
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 { onPress, ...other } = this.props;
32
- if (this.props.onPress) {
33
- this.props.onPress(other);
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
- if (this.props.user.avatar) {
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.props.onPress} onLongPress={this.props.onLongPress} style={[
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
@@ -1 +1 @@
1
- {"version":3,"file":"GiftedAvatar.js","sourceRoot":"","sources":["../src/GiftedAvatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GiftedAvatar.js","sourceRoot":"","sources":["../src/GiftedAvatar.tsx"],"names":[],"mappings":"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"}
@@ -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 { Animated, FlatList, StyleProp, TextInput, TextStyle, ViewStyle } from 'react-native';
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,25 +42,22 @@ 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?: any;
53
- textInputProps?: any;
54
- keyboardShouldPersistTaps?: any;
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?: any;
56
+ extraData?: object;
60
57
  minComposerHeight?: number;
61
58
  maxComposerHeight?: number;
62
59
  options?: {
63
- [key: string]: any;
60
+ [key: string]: () => void;
64
61
  };
65
62
  optionTintColor?: string;
66
63
  quickReplyStyle?: StyleProp<ViewStyle>;
@@ -70,7 +67,7 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
70
67
  infiniteScroll?: boolean;
71
68
  timeTextStyle?: LeftRightStyle<TextStyle>;
72
69
  actionSheet?(): {
73
- showActionSheetWithOptions: (options: ActionSheetOptions, callback: (i: number) => void) => void;
70
+ showActionSheetWithOptions: (options: ActionSheetOptions, callback: (buttonIndex: number) => void | Promise<void>) => void;
74
71
  };
75
72
  onPressAvatar?(user: User): void;
76
73
  onLongPressAvatar?(user: User): void;
@@ -82,10 +79,10 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
82
79
  renderAvatar?: null | ((props: AvatarProps<TMessage>) => React.ReactNode);
83
80
  renderBubble?(props: Bubble<TMessage>['props']): React.ReactNode;
84
81
  renderSystemMessage?(props: SystemMessageProps<TMessage>): React.ReactNode;
85
- onPress?(context: any, message: TMessage): void;
86
- onLongPress?(context: any, message: TMessage): void;
82
+ onPress?(context: unknown, message: TMessage): void;
83
+ onLongPress?(context: unknown, message: TMessage): void;
87
84
  renderUsername?(user: User): React.ReactNode;
88
- renderMessage?(message: Message<TMessage>['props']): React.ReactNode;
85
+ renderMessage?(message: Message<TMessage>['props']): React.ReactElement;
89
86
  renderMessageText?(messageText: MessageTextProps<TMessage>): React.ReactNode;
90
87
  renderMessageImage?(props: MessageImageProps<TMessage>): React.ReactNode;
91
88
  renderMessageVideo?(props: MessageVideoProps<TMessage>): React.ReactNode;
@@ -103,88 +100,17 @@ export interface GiftedChatProps<TMessage extends IMessage = IMessage> {
103
100
  renderAccessory?(props: InputToolbarProps<TMessage>): React.ReactNode;
104
101
  onPressActionButton?(): void;
105
102
  onInputTextChanged?(text: string): void;
106
- parsePatterns?(linkStyle: TextStyle): any;
103
+ parsePatterns?: (linkStyle: TextStyle) => [];
107
104
  onQuickReply?(replies: Reply[]): void;
108
105
  renderQuickReplies?(quickReplies: QuickRepliesProps<TMessage>): React.ReactNode;
109
106
  renderQuickReplySend?(): React.ReactNode;
110
107
  scrollToBottomComponent?(): React.ReactNode;
111
108
  shouldUpdateMessage?(props: Message<TMessage>['props'], nextProps: Message<TMessage>['props']): boolean;
112
109
  }
113
- export interface GiftedChatState<TMessage extends IMessage = IMessage> {
114
- isInitialized: boolean;
115
- composerHeight?: number;
116
- messagesContainerHeight?: number | Animated.Value;
117
- typingDisabled: boolean;
118
- text?: string;
119
- messages?: TMessage[];
120
- }
121
- declare function GiftedChat<TMessage extends IMessage = IMessage>(props: GiftedChatProps): JSX.Element;
110
+ declare function GiftedChat<TMessage extends IMessage = IMessage>(props: GiftedChatProps): React.JSX.Element;
122
111
  declare namespace GiftedChat {
123
- var propTypes: {
124
- messages: PropTypes.Requireable<(object | null | undefined)[]>;
125
- messagesContainerStyle: PropTypes.Requireable<number | boolean | object>;
126
- text: PropTypes.Requireable<string>;
127
- initialText: PropTypes.Requireable<string>;
128
- placeholder: PropTypes.Requireable<string>;
129
- disableComposer: PropTypes.Requireable<boolean>;
130
- messageIdGenerator: PropTypes.Requireable<(...args: any[]) => any>;
131
- user: PropTypes.Requireable<object>;
132
- onSend: PropTypes.Requireable<(...args: any[]) => any>;
133
- locale: PropTypes.Requireable<string>;
134
- timeFormat: PropTypes.Requireable<string>;
135
- dateFormat: PropTypes.Requireable<string>;
136
- isKeyboardInternallyHandled: PropTypes.Requireable<boolean>;
137
- loadEarlier: PropTypes.Requireable<boolean>;
138
- onLoadEarlier: PropTypes.Requireable<(...args: any[]) => any>;
139
- isLoadingEarlier: PropTypes.Requireable<boolean>;
140
- renderLoading: PropTypes.Requireable<(...args: any[]) => any>;
141
- renderLoadEarlier: PropTypes.Requireable<(...args: any[]) => any>;
142
- renderAvatar: PropTypes.Requireable<(...args: any[]) => any>;
143
- showUserAvatar: PropTypes.Requireable<boolean>;
144
- actionSheet: PropTypes.Requireable<(...args: any[]) => any>;
145
- onPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
146
- onLongPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
147
- renderUsernameOnMessage: PropTypes.Requireable<boolean>;
148
- renderAvatarOnTop: PropTypes.Requireable<boolean>;
149
- isCustomViewBottom: PropTypes.Requireable<boolean>;
150
- renderBubble: PropTypes.Requireable<(...args: any[]) => any>;
151
- renderSystemMessage: PropTypes.Requireable<(...args: any[]) => any>;
152
- onLongPress: PropTypes.Requireable<(...args: any[]) => any>;
153
- renderMessage: PropTypes.Requireable<(...args: any[]) => any>;
154
- renderMessageText: PropTypes.Requireable<(...args: any[]) => any>;
155
- renderMessageImage: PropTypes.Requireable<(...args: any[]) => any>;
156
- imageProps: PropTypes.Requireable<object>;
157
- videoProps: PropTypes.Requireable<object>;
158
- audioProps: PropTypes.Requireable<object>;
159
- lightboxProps: PropTypes.Requireable<object>;
160
- renderCustomView: PropTypes.Requireable<(...args: any[]) => any>;
161
- renderDay: PropTypes.Requireable<(...args: any[]) => any>;
162
- renderTime: PropTypes.Requireable<(...args: any[]) => any>;
163
- renderFooter: PropTypes.Requireable<(...args: any[]) => any>;
164
- renderChatEmpty: PropTypes.Requireable<(...args: any[]) => any>;
165
- renderChatFooter: PropTypes.Requireable<(...args: any[]) => any>;
166
- renderInputToolbar: PropTypes.Requireable<(...args: any[]) => any>;
167
- renderComposer: PropTypes.Requireable<(...args: any[]) => any>;
168
- renderActions: PropTypes.Requireable<(...args: any[]) => any>;
169
- renderSend: PropTypes.Requireable<(...args: any[]) => any>;
170
- renderAccessory: PropTypes.Requireable<(...args: any[]) => any>;
171
- onPressActionButton: PropTypes.Requireable<(...args: any[]) => any>;
172
- bottomOffset: PropTypes.Requireable<number>;
173
- minInputToolbarHeight: PropTypes.Requireable<number>;
174
- listViewProps: PropTypes.Requireable<object>;
175
- keyboardShouldPersistTaps: PropTypes.Requireable<string>;
176
- onInputTextChanged: PropTypes.Requireable<(...args: any[]) => any>;
177
- maxInputLength: PropTypes.Requireable<number>;
178
- forceGetKeyboardHeight: PropTypes.Requireable<boolean>;
179
- inverted: PropTypes.Requireable<boolean>;
180
- textInputProps: PropTypes.Requireable<object>;
181
- extraData: PropTypes.Requireable<object>;
182
- minComposerHeight: PropTypes.Requireable<number>;
183
- maxComposerHeight: PropTypes.Requireable<number>;
184
- alignTop: PropTypes.Requireable<boolean>;
185
- };
186
112
  var append: <TMessage extends IMessage>(currentMessages: TMessage[] | undefined, messages: TMessage[], inverted?: boolean) => TMessage[];
187
113
  var prepend: <TMessage extends IMessage>(currentMessages: TMessage[] | undefined, messages: TMessage[], inverted?: boolean) => TMessage[];
188
114
  }
189
115
  export * from './Models';
190
- 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 };