react-native-gifted-chat 2.8.1 → 2.8.2-alpha.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.
Files changed (195) hide show
  1. package/README.md +18 -17
  2. package/package.json +41 -35
  3. package/src/Bubble/index.tsx +15 -39
  4. package/src/Bubble/types.ts +5 -5
  5. package/src/Composer.tsx +19 -26
  6. package/src/Constant.ts +0 -1
  7. package/src/GiftedAvatar.tsx +29 -36
  8. package/src/GiftedChat/index.tsx +34 -65
  9. package/src/GiftedChat/types.ts +8 -53
  10. package/src/InputToolbar.tsx +25 -8
  11. package/src/LoadEarlier.tsx +19 -17
  12. package/src/MessageAudio.tsx +19 -7
  13. package/src/MessageContainer/components/DayAnimated/index.tsx +14 -9
  14. package/src/MessageContainer/components/Item/index.tsx +7 -1
  15. package/src/MessageContainer/index.tsx +104 -64
  16. package/src/MessageContainer/styles.ts +3 -2
  17. package/src/MessageContainer/types.ts +36 -14
  18. package/src/MessageImage.tsx +18 -6
  19. package/src/MessageText.tsx +88 -128
  20. package/src/MessageVideo.tsx +19 -7
  21. package/src/QuickReplies.tsx +17 -10
  22. package/src/Send.tsx +7 -1
  23. package/src/SystemMessage.tsx +12 -2
  24. package/src/Time.tsx +9 -2
  25. package/src/TypingIndicator/index.tsx +2 -1
  26. package/src/TypingIndicator/types.ts +3 -0
  27. package/src/__tests__/Actions.test.tsx +3 -4
  28. package/src/__tests__/Avatar.test.tsx +5 -6
  29. package/src/__tests__/Bubble.test.tsx +14 -19
  30. package/src/__tests__/Composer.test.tsx +3 -4
  31. package/src/__tests__/Day.test.tsx +5 -8
  32. package/src/__tests__/DayAnimated.test.tsx +52 -0
  33. package/src/__tests__/GiftedAvatar.test.tsx +3 -8
  34. package/src/__tests__/GiftedChat.test.tsx +37 -21
  35. package/src/__tests__/InputToolbar.test.tsx +3 -4
  36. package/src/__tests__/LoadEarlier.test.tsx +3 -4
  37. package/src/__tests__/Message.test.tsx +51 -58
  38. package/src/__tests__/MessageContainer.test.tsx +39 -5
  39. package/src/__tests__/MessageImage.test.tsx +12 -15
  40. package/src/__tests__/MessageText.test.tsx +7 -4
  41. package/src/__tests__/Send.test.tsx +7 -8
  42. package/src/__tests__/SystemMessage.test.tsx +12 -15
  43. package/src/__tests__/Time.test.tsx +5 -8
  44. package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +48 -50
  45. package/src/__tests__/__snapshots__/Composer.test.tsx.snap +1 -2
  46. package/src/__tests__/__snapshots__/Constant.test.tsx.snap +0 -1
  47. package/src/__tests__/__snapshots__/DayAnimated.test.tsx.snap +5 -0
  48. package/src/__tests__/__snapshots__/GiftedChat.test.tsx.snap +25 -0
  49. package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +2 -2
  50. package/src/__tests__/__snapshots__/Message.test.tsx.snap +146 -150
  51. package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +12 -10
  52. package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +12 -8
  53. package/src/__tests__/__snapshots__/Send.test.tsx.snap +2 -0
  54. package/src/reanimatedCompat.ts +27 -0
  55. package/src/types.ts +4 -0
  56. package/src/utils.ts +77 -1
  57. package/lib/Actions.d.ts +0 -14
  58. package/lib/Actions.js +0 -57
  59. package/lib/Actions.js.map +0 -1
  60. package/lib/Avatar.d.ts +0 -18
  61. package/lib/Avatar.js +0 -93
  62. package/lib/Avatar.js.map +0 -1
  63. package/lib/Bubble/index.d.ts +0 -6
  64. package/lib/Bubble/index.js +0 -257
  65. package/lib/Bubble/index.js.map +0 -1
  66. package/lib/Bubble/styles.d.ts +0 -69
  67. package/lib/Bubble/styles.js +0 -72
  68. package/lib/Bubble/styles.js.map +0 -1
  69. package/lib/Bubble/types.d.ts +0 -47
  70. package/lib/Bubble/types.js +0 -2
  71. package/lib/Bubble/types.js.map +0 -1
  72. package/lib/Color.d.ts +0 -18
  73. package/lib/Color.js +0 -18
  74. package/lib/Color.js.map +0 -1
  75. package/lib/Composer.d.ts +0 -20
  76. package/lib/Composer.js +0 -60
  77. package/lib/Composer.js.map +0 -1
  78. package/lib/Constant.d.ts +0 -10
  79. package/lib/Constant.js +0 -17
  80. package/lib/Constant.js.map +0 -1
  81. package/lib/Day/index.d.ts +0 -4
  82. package/lib/Day/index.js +0 -39
  83. package/lib/Day/index.js.map +0 -1
  84. package/lib/Day/styles.d.ts +0 -20
  85. package/lib/Day/styles.js +0 -22
  86. package/lib/Day/styles.js.map +0 -1
  87. package/lib/Day/types.d.ts +0 -9
  88. package/lib/Day/types.js +0 -2
  89. package/lib/Day/types.js.map +0 -1
  90. package/lib/GiftedAvatar.d.ts +0 -11
  91. package/lib/GiftedAvatar.js +0 -104
  92. package/lib/GiftedAvatar.js.map +0 -1
  93. package/lib/GiftedChat/index.d.ts +0 -26
  94. package/lib/GiftedChat/index.js +0 -302
  95. package/lib/GiftedChat/index.js.map +0 -1
  96. package/lib/GiftedChat/styles.d.ts +0 -6
  97. package/lib/GiftedChat/styles.js +0 -7
  98. package/lib/GiftedChat/styles.js.map +0 -1
  99. package/lib/GiftedChat/types.d.ts +0 -117
  100. package/lib/GiftedChat/types.js +0 -2
  101. package/lib/GiftedChat/types.js.map +0 -1
  102. package/lib/GiftedChatContext.d.ts +0 -9
  103. package/lib/GiftedChatContext.js +0 -9
  104. package/lib/GiftedChatContext.js.map +0 -1
  105. package/lib/InputToolbar.d.ts +0 -23
  106. package/lib/InputToolbar.js +0 -56
  107. package/lib/InputToolbar.js.map +0 -1
  108. package/lib/LoadEarlier.d.ts +0 -14
  109. package/lib/LoadEarlier.js +0 -45
  110. package/lib/LoadEarlier.js.map +0 -1
  111. package/lib/Message/index.d.ts +0 -6
  112. package/lib/Message/index.js +0 -80
  113. package/lib/Message/index.js.map +0 -1
  114. package/lib/Message/styles.d.ts +0 -21
  115. package/lib/Message/styles.js +0 -22
  116. package/lib/Message/styles.js.map +0 -1
  117. package/lib/Message/types.d.ts +0 -22
  118. package/lib/Message/types.js +0 -2
  119. package/lib/Message/types.js.map +0 -1
  120. package/lib/MessageAudio.d.ts +0 -2
  121. package/lib/MessageAudio.js +0 -14
  122. package/lib/MessageAudio.js.map +0 -1
  123. package/lib/MessageContainer/components/DayAnimated/index.d.ts +0 -5
  124. package/lib/MessageContainer/components/DayAnimated/index.js +0 -85
  125. package/lib/MessageContainer/components/DayAnimated/index.js.map +0 -1
  126. package/lib/MessageContainer/components/DayAnimated/styles.d.ts +0 -11
  127. package/lib/MessageContainer/components/DayAnimated/styles.js +0 -12
  128. package/lib/MessageContainer/components/DayAnimated/styles.js.map +0 -1
  129. package/lib/MessageContainer/components/DayAnimated/types.d.ts +0 -17
  130. package/lib/MessageContainer/components/DayAnimated/types.js +0 -2
  131. package/lib/MessageContainer/components/DayAnimated/types.js.map +0 -1
  132. package/lib/MessageContainer/components/Item/index.d.ts +0 -23
  133. package/lib/MessageContainer/components/Item/index.js +0 -88
  134. package/lib/MessageContainer/components/Item/index.js.map +0 -1
  135. package/lib/MessageContainer/components/Item/types.d.ts +0 -17
  136. package/lib/MessageContainer/components/Item/types.js +0 -2
  137. package/lib/MessageContainer/components/Item/types.js.map +0 -1
  138. package/lib/MessageContainer/index.d.ts +0 -6
  139. package/lib/MessageContainer/index.js +0 -224
  140. package/lib/MessageContainer/index.js.map +0 -1
  141. package/lib/MessageContainer/styles.d.ts +0 -34
  142. package/lib/MessageContainer/styles.js +0 -31
  143. package/lib/MessageContainer/styles.js.map +0 -1
  144. package/lib/MessageContainer/types.d.ts +0 -54
  145. package/lib/MessageContainer/types.js +0 -2
  146. package/lib/MessageContainer/types.js.map +0 -1
  147. package/lib/MessageImage.d.ts +0 -13
  148. package/lib/MessageImage.js +0 -30
  149. package/lib/MessageImage.js.map +0 -1
  150. package/lib/MessageText.d.ts +0 -15
  151. package/lib/MessageText.js +0 -108
  152. package/lib/MessageText.js.map +0 -1
  153. package/lib/MessageVideo.d.ts +0 -2
  154. package/lib/MessageVideo.js +0 -14
  155. package/lib/MessageVideo.js.map +0 -1
  156. package/lib/QuickReplies.d.ts +0 -15
  157. package/lib/QuickReplies.js +0 -101
  158. package/lib/QuickReplies.js.map +0 -1
  159. package/lib/Send.d.ts +0 -15
  160. package/lib/Send.js +0 -34
  161. package/lib/Send.js.map +0 -1
  162. package/lib/SystemMessage.d.ts +0 -10
  163. package/lib/SystemMessage.js +0 -26
  164. package/lib/SystemMessage.js.map +0 -1
  165. package/lib/Time.d.ts +0 -11
  166. package/lib/Time.js +0 -56
  167. package/lib/Time.js.map +0 -1
  168. package/lib/TypingIndicator/index.d.ts +0 -5
  169. package/lib/TypingIndicator/index.js +0 -94
  170. package/lib/TypingIndicator/index.js.map +0 -1
  171. package/lib/TypingIndicator/styles.d.ts +0 -20
  172. package/lib/TypingIndicator/styles.js +0 -22
  173. package/lib/TypingIndicator/styles.js.map +0 -1
  174. package/lib/TypingIndicator/types.d.ts +0 -3
  175. package/lib/TypingIndicator/types.js +0 -2
  176. package/lib/TypingIndicator/types.js.map +0 -1
  177. package/lib/hooks/useUpdateLayoutEffect.d.ts +0 -8
  178. package/lib/hooks/useUpdateLayoutEffect.js +0 -17
  179. package/lib/hooks/useUpdateLayoutEffect.js.map +0 -1
  180. package/lib/index.d.ts +0 -4
  181. package/lib/index.js +0 -5
  182. package/lib/index.js.map +0 -1
  183. package/lib/logging.d.ts +0 -2
  184. package/lib/logging.js +0 -5
  185. package/lib/logging.js.map +0 -1
  186. package/lib/styles.d.ts +0 -10
  187. package/lib/styles.js +0 -11
  188. package/lib/styles.js.map +0 -1
  189. package/lib/types.d.ts +0 -67
  190. package/lib/types.js +0 -2
  191. package/lib/types.js.map +0 -1
  192. package/lib/utils.d.ts +0 -3
  193. package/lib/utils.js +0 -17
  194. package/lib/utils.js.map +0 -1
  195. package/src/__tests__/__snapshots__/MessageContainer.test.tsx.snap +0 -101
@@ -1,101 +0,0 @@
1
- import React, { useState, useMemo, useCallback } from 'react';
2
- import { Text, StyleSheet, View, TouchableOpacity, } from 'react-native';
3
- import Color from './Color';
4
- import { warning } from './logging';
5
- import stylesCommon from './styles';
6
- const styles = StyleSheet.create({
7
- container: {
8
- flexDirection: 'row',
9
- flexWrap: 'wrap',
10
- maxWidth: 300,
11
- },
12
- quickReply: {
13
- borderWidth: 1,
14
- maxWidth: 200,
15
- paddingVertical: 7,
16
- paddingHorizontal: 12,
17
- minHeight: 50,
18
- borderRadius: 13,
19
- margin: 3,
20
- },
21
- quickReplyText: {
22
- overflow: 'visible',
23
- },
24
- sendLink: {
25
- borderWidth: 0,
26
- },
27
- sendLinkText: {
28
- color: Color.defaultBlue,
29
- fontWeight: '600',
30
- fontSize: 17,
31
- },
32
- });
33
- const sameReply = (currentReply) => (reply) => currentReply.value === reply.value;
34
- const diffReply = (currentReply) => (reply) => currentReply.value !== reply.value;
35
- export function QuickReplies({ currentMessage, nextMessage, color = Color.peterRiver, quickReplyStyle, quickReplyTextStyle, quickReplyContainerStyle, onQuickReply, sendText = 'Send', renderQuickReplySend, }) {
36
- const { type } = currentMessage.quickReplies;
37
- const [replies, setReplies] = useState([]);
38
- const shouldComponentDisplay = useMemo(() => {
39
- const hasReplies = !!currentMessage && !!currentMessage.quickReplies;
40
- const hasNext = !!nextMessage && !!nextMessage._id;
41
- const keepIt = currentMessage.quickReplies.keepIt;
42
- if (hasReplies && !hasNext)
43
- return true;
44
- if (hasReplies && hasNext && keepIt)
45
- return true;
46
- return false;
47
- }, [currentMessage, nextMessage]);
48
- const handleSend = useCallback((repliesData) => () => {
49
- onQuickReply?.(repliesData.map((reply) => ({
50
- ...reply,
51
- messageId: currentMessage._id,
52
- })));
53
- }, [onQuickReply, currentMessage]);
54
- const handlePress = useCallback((reply) => () => {
55
- if (currentMessage) {
56
- const { type } = currentMessage.quickReplies;
57
- switch (type) {
58
- case 'radio': {
59
- handleSend([reply])();
60
- return;
61
- }
62
- case 'checkbox': {
63
- if (replies.find(sameReply(reply)))
64
- setReplies(replies.filter(diffReply(reply)));
65
- else
66
- setReplies([...replies, reply]);
67
- return;
68
- }
69
- default: {
70
- warning(`onQuickReply unknown type: ${type}`);
71
- }
72
- }
73
- }
74
- }, [replies, currentMessage, handleSend]);
75
- if (!shouldComponentDisplay)
76
- return null;
77
- return (<View style={[styles.container, quickReplyContainerStyle]}>
78
- {currentMessage.quickReplies.values.map((reply, index) => {
79
- const selected = type === 'checkbox' && replies.find(sameReply(reply));
80
- return (<TouchableOpacity onPress={handlePress(reply)} style={[
81
- stylesCommon.centerItems,
82
- styles.quickReply,
83
- quickReplyStyle,
84
- { borderColor: color },
85
- selected && { backgroundColor: color },
86
- ]} key={`${reply.value}-${index}`}>
87
- <Text numberOfLines={10} ellipsizeMode='tail' style={[
88
- styles.quickReplyText,
89
- { color: selected ? Color.white : color },
90
- quickReplyTextStyle,
91
- ]}>
92
- {reply.title}
93
- </Text>
94
- </TouchableOpacity>);
95
- })}
96
- {replies.length > 0 && (<TouchableOpacity style={[stylesCommon.centerItems, styles.quickReply, styles.sendLink]} onPress={handleSend(replies)}>
97
- {renderQuickReplySend?.() || (<Text style={styles.sendLinkText}>{sendText}</Text>)}
98
- </TouchableOpacity>)}
99
- </View>);
100
- }
101
- //# sourceMappingURL=QuickReplies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuickReplies.js","sourceRoot":"","sources":["../src/QuickReplies.tsx"],"names":[],"mappings":"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"}
package/lib/Send.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { StyleProp, ViewStyle, TextStyle, TouchableOpacityProps } from 'react-native';
3
- import { IMessage } from './types';
4
- export interface SendProps<TMessage extends IMessage> {
5
- text?: string;
6
- label?: string;
7
- containerStyle?: StyleProp<ViewStyle>;
8
- textStyle?: StyleProp<TextStyle>;
9
- children?: React.ReactNode;
10
- alwaysShowSend?: boolean;
11
- disabled?: boolean;
12
- sendButtonProps?: Partial<TouchableOpacityProps>;
13
- onSend?(messages: Partial<TMessage> | Partial<TMessage>[], shouldResetInputToolbar: boolean): void;
14
- }
15
- export declare const Send: <TMessage extends IMessage = IMessage>({ text, containerStyle, children, textStyle, label, alwaysShowSend, disabled, sendButtonProps, onSend, }: SendProps<TMessage>) => React.JSX.Element | null;
package/lib/Send.js DELETED
@@ -1,34 +0,0 @@
1
- import React, { useMemo, useCallback } from 'react';
2
- import { StyleSheet, Text, TouchableOpacity, View, } from 'react-native';
3
- import Color from './Color';
4
- import { TEST_ID } from './Constant';
5
- const styles = StyleSheet.create({
6
- container: {
7
- height: 44,
8
- justifyContent: 'flex-end',
9
- },
10
- text: {
11
- color: Color.defaultBlue,
12
- fontWeight: '600',
13
- fontSize: 17,
14
- backgroundColor: Color.backgroundTransparent,
15
- marginBottom: 12,
16
- marginLeft: 10,
17
- marginRight: 10,
18
- },
19
- });
20
- export const Send = ({ text, containerStyle, children, textStyle, label = 'Send', alwaysShowSend = false, disabled = false, sendButtonProps, onSend, }) => {
21
- const handleOnPress = useCallback(() => {
22
- if (text && onSend)
23
- onSend({ text: text.trim() }, true);
24
- }, [text, onSend]);
25
- const showSend = useMemo(() => alwaysShowSend || (text && text.trim().length > 0), [alwaysShowSend, text]);
26
- if (!showSend)
27
- return null;
28
- return (<TouchableOpacity testID={TEST_ID.SEND_TOUCHABLE} accessible accessibilityLabel='send' style={[styles.container, containerStyle]} onPress={handleOnPress} accessibilityRole='button' disabled={disabled} {...sendButtonProps}>
29
- <View>
30
- {children || <Text style={[styles.text, textStyle]}>{label}</Text>}
31
- </View>
32
- </TouchableOpacity>);
33
- };
34
- //# sourceMappingURL=Send.js.map
package/lib/Send.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Send.js","sourceRoot":"","sources":["../src/Send.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EACL,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,IAAI,GAKL,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,UAAU;KAC3B;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC,WAAW;QACxB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;KAChB;CACF,CAAC,CAAA;AAiBF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAuC,EACzD,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,MAAM,EACd,cAAc,GAAG,KAAK,EACtB,QAAQ,GAAG,KAAK,EAChB,eAAe,EACf,MAAM,GACc,EAAE,EAAE;IACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,IAAI,IAAI,MAAM;YAChB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAuB,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAElB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EACxD,CAAC,cAAc,EAAE,IAAI,CAAC,CACvB,CAAA;IAED,IAAI,CAAC,QAAQ;QACX,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,gBAAgB,CACf,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAC/B,UAAU,CACV,kBAAkB,CAAC,MAAM,CACzB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC1C,OAAO,CAAC,CAAC,aAAa,CAAC,CACvB,iBAAiB,CAAC,QAAQ,CAC1B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,IAAI,eAAe,CAAC,CAEpB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CACpE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAA;AACH,CAAC,CAAA"}
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { ViewStyle, StyleProp, TextStyle } from 'react-native';
3
- import { IMessage } from './types';
4
- export interface SystemMessageProps<TMessage extends IMessage> {
5
- currentMessage: TMessage;
6
- containerStyle?: StyleProp<ViewStyle>;
7
- wrapperStyle?: StyleProp<ViewStyle>;
8
- textStyle?: StyleProp<TextStyle>;
9
- }
10
- export declare function SystemMessage<TMessage extends IMessage = IMessage>({ currentMessage, containerStyle, wrapperStyle, textStyle, }: SystemMessageProps<TMessage>): React.JSX.Element | null;
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { StyleSheet, Text, View, } from 'react-native';
3
- import Color from './Color';
4
- import stylesCommon from './styles';
5
- const styles = StyleSheet.create({
6
- container: {
7
- marginTop: 5,
8
- marginBottom: 10,
9
- },
10
- text: {
11
- backgroundColor: Color.backgroundTransparent,
12
- color: Color.defaultColor,
13
- fontSize: 12,
14
- fontWeight: '300',
15
- },
16
- });
17
- export function SystemMessage({ currentMessage, containerStyle, wrapperStyle, textStyle, }) {
18
- if (currentMessage == null || currentMessage.system === false)
19
- return null;
20
- return (<View style={[stylesCommon.fill, stylesCommon.centerItems, styles.container, containerStyle]}>
21
- <View style={wrapperStyle}>
22
- <Text style={[styles.text, textStyle]}>{currentMessage.text}</Text>
23
- </View>
24
- </View>);
25
- }
26
- //# sourceMappingURL=SystemMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../src/SystemMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,UAAU,EACV,IAAI,EACJ,IAAI,GAIL,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,YAAY,MAAM,UAAU,CAAA;AAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;KACjB;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAA;AASF,MAAM,UAAU,aAAa,CAAwC,EACnE,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,GACoB;IAC7B,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK;QAC3D,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC3F;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACxB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CACpE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
package/lib/Time.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { ViewStyle, TextStyle } from 'react-native';
3
- import { LeftRightStyle, IMessage } from './types';
4
- export interface TimeProps<TMessage extends IMessage> {
5
- position?: 'left' | 'right';
6
- currentMessage: TMessage;
7
- containerStyle?: LeftRightStyle<ViewStyle>;
8
- timeTextStyle?: LeftRightStyle<TextStyle>;
9
- timeFormat?: string;
10
- }
11
- export declare function Time<TMessage extends IMessage = IMessage>({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }: TimeProps<TMessage>): React.JSX.Element | null;
package/lib/Time.js DELETED
@@ -1,56 +0,0 @@
1
- import React from 'react';
2
- import { StyleSheet, Text, View } from 'react-native';
3
- import dayjs from 'dayjs';
4
- import Color from './Color';
5
- import { TIME_FORMAT } from './Constant';
6
- import { useChatContext } from './GiftedChatContext';
7
- const { containerStyle } = StyleSheet.create({
8
- containerStyle: {
9
- marginLeft: 10,
10
- marginRight: 10,
11
- marginBottom: 5,
12
- },
13
- });
14
- const { textStyle } = StyleSheet.create({
15
- textStyle: {
16
- fontSize: 10,
17
- textAlign: 'right',
18
- },
19
- });
20
- const styles = {
21
- left: StyleSheet.create({
22
- container: {
23
- ...containerStyle,
24
- },
25
- text: {
26
- color: Color.timeTextColor,
27
- ...textStyle,
28
- },
29
- }),
30
- right: StyleSheet.create({
31
- container: {
32
- ...containerStyle,
33
- },
34
- text: {
35
- color: Color.white,
36
- ...textStyle,
37
- },
38
- }),
39
- };
40
- export function Time({ position = 'left', containerStyle, currentMessage, timeFormat = TIME_FORMAT, timeTextStyle, }) {
41
- const { getLocale } = useChatContext();
42
- if (currentMessage == null)
43
- return null;
44
- return (<View style={[
45
- styles[position].container,
46
- containerStyle?.[position],
47
- ]}>
48
- <Text style={[
49
- styles[position].text,
50
- timeTextStyle?.[position],
51
- ]}>
52
- {dayjs(currentMessage.createdAt).locale(getLocale()).format(timeFormat)}
53
- </Text>
54
- </View>);
55
- }
56
- //# sourceMappingURL=Time.js.map
package/lib/Time.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Time.js","sourceRoot":"","sources":["../src/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,OAAO;KACnB;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE;YACT,GAAG,cAAc;SAClB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,aAAa;YAC1B,GAAG,SAAS;SACb;KACF,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,GAAG,cAAc;SAClB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,SAAS;SACb;KACF,CAAC;CACH,CAAA;AAUD,MAAM,UAAU,IAAI,CAAwC,EAC1D,QAAQ,GAAG,MAAM,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GAAG,WAAW,EACxB,aAAa,GACO;IACpB,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;IAEtC,IAAI,cAAc,IAAI,IAAI;QACxB,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS;YAC1B,cAAc,EAAE,CAAC,QAAQ,CAAC;SAC3B,CAAC,CAEF;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;YACrB,aAAa,EAAE,CAAC,QAAQ,CAAC;SAC1B,CAAC,CAEF;QAAA,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACzE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { TypingIndicatorProps } from './types';
3
- export * from './types';
4
- declare const TypingIndicator: ({ isTyping }: TypingIndicatorProps) => React.JSX.Element | null;
5
- export default TypingIndicator;
@@ -1,94 +0,0 @@
1
- import React, { useCallback, useEffect, useState, useMemo } from 'react';
2
- import { View } from 'react-native';
3
- import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withDelay, withRepeat, withSequence, withTiming, } from 'react-native-reanimated';
4
- import stylesCommon from '../styles';
5
- import styles from './styles';
6
- export * from './types';
7
- const DotsAnimation = () => {
8
- const dot1 = useSharedValue(0);
9
- const dot2 = useSharedValue(0);
10
- const dot3 = useSharedValue(0);
11
- const topY = useMemo(() => -5, []);
12
- const bottomY = useMemo(() => 5, []);
13
- const duration = useMemo(() => 500, []);
14
- const dot1Style = useAnimatedStyle(() => ({
15
- transform: [{
16
- translateY: dot1.value,
17
- }],
18
- }), [dot1]);
19
- const dot2Style = useAnimatedStyle(() => ({
20
- transform: [{
21
- translateY: dot2.value,
22
- }],
23
- }), [dot2]);
24
- const dot3Style = useAnimatedStyle(() => ({
25
- transform: [{
26
- translateY: dot3.value,
27
- }],
28
- }), [dot3]);
29
- useEffect(() => {
30
- dot1.value = withRepeat(withSequence(withTiming(topY, { duration }), withTiming(bottomY, { duration })), 0, true);
31
- }, [dot1, topY, bottomY, duration]);
32
- useEffect(() => {
33
- dot2.value = withDelay(100, withRepeat(withSequence(withTiming(topY, { duration }), withTiming(bottomY, { duration })), 0, true));
34
- }, [dot2, topY, bottomY, duration]);
35
- useEffect(() => {
36
- dot3.value = withDelay(200, withRepeat(withSequence(withTiming(topY, { duration }), withTiming(bottomY, { duration })), 0, true));
37
- }, [dot3, topY, bottomY, duration]);
38
- return (<View style={[stylesCommon.fill, stylesCommon.centerItems, styles.dots]}>
39
- <Animated.View style={[styles.dot, dot1Style]}/>
40
- <Animated.View style={[styles.dot, dot2Style]}/>
41
- <Animated.View style={[styles.dot, dot3Style]}/>
42
- </View>);
43
- };
44
- const TypingIndicator = ({ isTyping }) => {
45
- const yCoords = useSharedValue(200);
46
- const heightScale = useSharedValue(0);
47
- const marginScale = useSharedValue(0);
48
- const [isVisible, setIsVisible] = useState(isTyping);
49
- const containerStyle = useAnimatedStyle(() => ({
50
- transform: [
51
- {
52
- translateY: yCoords.value,
53
- },
54
- ],
55
- height: heightScale.value,
56
- marginBottom: marginScale.value,
57
- }), [yCoords, heightScale, marginScale]);
58
- const slideIn = useCallback(() => {
59
- const duration = 250;
60
- yCoords.value = withTiming(0, { duration });
61
- heightScale.value = withTiming(35, { duration });
62
- marginScale.value = withTiming(8, { duration });
63
- }, [yCoords, heightScale, marginScale]);
64
- const slideOut = useCallback(() => {
65
- const duration = 250;
66
- yCoords.value = withTiming(200, { duration }, isFinished => {
67
- if (isFinished)
68
- runOnJS(setIsVisible)(false);
69
- });
70
- heightScale.value = withTiming(0, { duration });
71
- marginScale.value = withTiming(0, { duration });
72
- }, [yCoords, heightScale, marginScale]);
73
- useEffect(() => {
74
- if (isVisible)
75
- if (isTyping)
76
- slideIn();
77
- else
78
- slideOut();
79
- }, [isVisible, isTyping, slideIn, slideOut]);
80
- useEffect(() => {
81
- if (isTyping)
82
- setIsVisible(true);
83
- }, [isTyping]);
84
- if (!isVisible)
85
- return null;
86
- return (<Animated.View style={[
87
- styles.container,
88
- containerStyle,
89
- ]}>
90
- <DotsAnimation />
91
- </Animated.View>);
92
- };
93
- export default TypingIndicator;
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TypingIndicator/index.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- declare const _default: {
2
- container: {
3
- marginLeft: number;
4
- width: number;
5
- borderRadius: number;
6
- backgroundColor: string;
7
- };
8
- dots: {
9
- flexDirection: "row";
10
- };
11
- dot: {
12
- marginLeft: number;
13
- marginRight: number;
14
- borderRadius: number;
15
- width: number;
16
- height: number;
17
- backgroundColor: string;
18
- };
19
- };
20
- export default _default;
@@ -1,22 +0,0 @@
1
- import { StyleSheet } from 'react-native';
2
- import Color from '../Color';
3
- export default StyleSheet.create({
4
- container: {
5
- marginLeft: 8,
6
- width: 45,
7
- borderRadius: 15,
8
- backgroundColor: Color.leftBubbleBackground,
9
- },
10
- dots: {
11
- flexDirection: 'row',
12
- },
13
- dot: {
14
- marginLeft: 2,
15
- marginRight: 2,
16
- borderRadius: 4,
17
- width: 8,
18
- height: 8,
19
- backgroundColor: 'rgba(0, 0, 0, 0.38)',
20
- },
21
- });
22
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/TypingIndicator/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,eAAe,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,KAAK,CAAC,oBAAoB;KAC5C;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,KAAK;KACrB;IACD,GAAG,EAAE;QACH,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,qBAAqB;KACvC;CACF,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- export interface TypingIndicatorProps {
2
- isTyping?: boolean;
3
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/TypingIndicator/types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { DependencyList } from 'react';
2
- /**
3
- * A custom useEffect hook that only triggers on updates, not on initial mount
4
- * Idea stolen from: https://stackoverflow.com/a/55075818/1526448
5
- * @param {()=>void} effect the function to call
6
- * @param {DependencyList} dependencies the state(s) that fires the update
7
- */
8
- export declare function useUpdateLayoutEffect(effect: () => void, dependencies?: DependencyList): void;
@@ -1,17 +0,0 @@
1
- import { useLayoutEffect, useRef } from 'react';
2
- /**
3
- * A custom useEffect hook that only triggers on updates, not on initial mount
4
- * Idea stolen from: https://stackoverflow.com/a/55075818/1526448
5
- * @param {()=>void} effect the function to call
6
- * @param {DependencyList} dependencies the state(s) that fires the update
7
- */
8
- export function useUpdateLayoutEffect(effect, dependencies = []) {
9
- const isInitialMount = useRef(true);
10
- useLayoutEffect(() => {
11
- if (isInitialMount.current)
12
- isInitialMount.current = false;
13
- else
14
- effect();
15
- }, dependencies);
16
- }
17
- //# sourceMappingURL=useUpdateLayoutEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useUpdateLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,eAA+B,EAAE;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEnC,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAA;;YAE9B,MAAM,EAAE,CAAA;IACZ,CAAC,EAAE,YAAY,CAAC,CAAA;AAClB,CAAC"}
package/lib/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './GiftedChat';
2
- export * from './Constant';
3
- export * from './utils';
4
- export * from './GiftedChatContext';
package/lib/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from './GiftedChat';
2
- export * from './Constant';
3
- export * from './utils';
4
- export * from './GiftedChatContext';
5
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
package/lib/logging.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const warning: (...args: unknown[]) => void;
2
- export declare const error: (...args: unknown[]) => void;
package/lib/logging.js DELETED
@@ -1,5 +0,0 @@
1
- const styleString = (color) => `color: ${color}; font-weight: bold`;
2
- const headerLog = '%c[react-native-gifted-chat]';
3
- export const warning = (...args) => console.log(headerLog, styleString('orange'), ...args);
4
- export const error = (...args) => console.log(headerLog, styleString('red'), ...args);
5
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,qBAAqB,CAAA;AAC3E,MAAM,SAAS,GAAG,8BAA8B,CAAA;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC1C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA"}
package/lib/styles.d.ts DELETED
@@ -1,10 +0,0 @@
1
- declare const _default: {
2
- fill: {
3
- flex: number;
4
- };
5
- centerItems: {
6
- justifyContent: "center";
7
- alignItems: "center";
8
- };
9
- };
10
- export default _default;
package/lib/styles.js DELETED
@@ -1,11 +0,0 @@
1
- import { StyleSheet } from 'react-native';
2
- export default StyleSheet.create({
3
- fill: {
4
- flex: 1,
5
- },
6
- centerItems: {
7
- justifyContent: 'center',
8
- alignItems: 'center',
9
- },
10
- });
11
- //# sourceMappingURL=styles.js.map
package/lib/styles.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,eAAe,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;KACR;IACD,WAAW,EAAE;QACX,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAA"}
package/lib/types.d.ts DELETED
@@ -1,67 +0,0 @@
1
- import { StyleProp, ViewStyle } from 'react-native';
2
- import { LightboxProps } from 'react-native-lightbox-v2';
3
- export { ActionsProps } from './Actions';
4
- export { AvatarProps } from './Avatar';
5
- export { BubbleProps, RenderMessageImageProps, RenderMessageVideoProps, RenderMessageAudioProps, RenderMessageTextProps } from './Bubble';
6
- export { ComposerProps } from './Composer';
7
- export { DayProps } from './Day';
8
- export { GiftedAvatarProps } from './GiftedAvatar';
9
- export { InputToolbarProps } from './InputToolbar';
10
- export { LoadEarlierProps } from './LoadEarlier';
11
- export { MessageProps } from './Message';
12
- export { MessageContainerProps } from './MessageContainer';
13
- export { MessageImageProps } from './MessageImage';
14
- export { MessageTextProps } from './MessageText';
15
- export { QuickRepliesProps } from './QuickReplies';
16
- export { SendProps } from './Send';
17
- export { SystemMessageProps } from './SystemMessage';
18
- export { TimeProps } from './Time';
19
- export type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
20
- export interface LeftRightStyle<T> {
21
- left?: StyleProp<T>;
22
- right?: StyleProp<T>;
23
- }
24
- type renderFunction = (x: unknown) => React.ReactNode;
25
- export interface User {
26
- _id: string | number;
27
- name?: string;
28
- avatar?: string | number | renderFunction;
29
- }
30
- export interface Reply {
31
- title: string;
32
- value: string;
33
- messageId?: number | string;
34
- }
35
- export interface QuickReplies {
36
- type: 'radio' | 'checkbox';
37
- values: Reply[];
38
- keepIt?: boolean;
39
- }
40
- export interface IMessage {
41
- _id: string | number;
42
- text: string;
43
- createdAt: Date | number;
44
- user: User;
45
- image?: string;
46
- video?: string;
47
- audio?: string;
48
- system?: boolean;
49
- sent?: boolean;
50
- received?: boolean;
51
- pending?: boolean;
52
- quickReplies?: QuickReplies;
53
- }
54
- export type IChatMessage = IMessage;
55
- export interface MessageVideoProps<TMessage extends IMessage> {
56
- currentMessage: TMessage;
57
- containerStyle?: StyleProp<ViewStyle>;
58
- videoStyle?: StyleProp<ViewStyle>;
59
- videoProps?: object;
60
- lightboxProps?: LightboxProps;
61
- }
62
- export interface MessageAudioProps<TMessage extends IMessage> {
63
- currentMessage: TMessage;
64
- containerStyle?: StyleProp<ViewStyle>;
65
- audioStyle?: StyleProp<ViewStyle>;
66
- audioProps?: object;
67
- }
package/lib/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/lib/utils.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { IMessage } from './types';
2
- export declare function isSameDay(currentMessage: IMessage, diffMessage: IMessage | null | undefined): boolean;
3
- export declare function isSameUser(currentMessage: IMessage, diffMessage: IMessage | null | undefined): boolean;