react-native-gifted-chat 2.8.2-alpha.0 → 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 (191) hide show
  1. package/README.md +8 -12
  2. package/package.json +20 -21
  3. package/src/Bubble/index.tsx +11 -10
  4. package/src/Bubble/types.ts +2 -2
  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 +11 -62
  9. package/src/GiftedChat/types.ts +5 -52
  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 +47 -28
  16. package/src/MessageContainer/types.ts +31 -6
  17. package/src/MessageImage.tsx +18 -6
  18. package/src/MessageText.tsx +18 -23
  19. package/src/MessageVideo.tsx +19 -7
  20. package/src/QuickReplies.tsx +17 -10
  21. package/src/Send.tsx +7 -1
  22. package/src/SystemMessage.tsx +9 -2
  23. package/src/Time.tsx +9 -2
  24. package/src/TypingIndicator/index.tsx +2 -1
  25. package/src/TypingIndicator/types.ts +3 -0
  26. package/src/__tests__/Actions.test.tsx +3 -4
  27. package/src/__tests__/Avatar.test.tsx +5 -6
  28. package/src/__tests__/Bubble.test.tsx +14 -19
  29. package/src/__tests__/Composer.test.tsx +3 -4
  30. package/src/__tests__/Day.test.tsx +5 -8
  31. package/src/__tests__/DayAnimated.test.tsx +11 -13
  32. package/src/__tests__/GiftedAvatar.test.tsx +3 -8
  33. package/src/__tests__/GiftedChat.test.tsx +32 -41
  34. package/src/__tests__/InputToolbar.test.tsx +3 -4
  35. package/src/__tests__/LoadEarlier.test.tsx +3 -4
  36. package/src/__tests__/Message.test.tsx +51 -58
  37. package/src/__tests__/MessageContainer.test.tsx +39 -5
  38. package/src/__tests__/MessageImage.test.tsx +12 -15
  39. package/src/__tests__/MessageText.test.tsx +7 -4
  40. package/src/__tests__/Send.test.tsx +7 -8
  41. package/src/__tests__/SystemMessage.test.tsx +12 -15
  42. package/src/__tests__/Time.test.tsx +5 -8
  43. package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +48 -50
  44. package/src/__tests__/__snapshots__/Composer.test.tsx.snap +1 -2
  45. package/src/__tests__/__snapshots__/Constant.test.tsx.snap +0 -1
  46. package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +2 -2
  47. package/src/__tests__/__snapshots__/Message.test.tsx.snap +146 -150
  48. package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +12 -10
  49. package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +12 -8
  50. package/src/__tests__/__snapshots__/Send.test.tsx.snap +2 -0
  51. package/src/reanimatedCompat.ts +27 -0
  52. package/src/types.ts +4 -0
  53. package/lib/Actions.d.ts +0 -14
  54. package/lib/Actions.js +0 -57
  55. package/lib/Actions.js.map +0 -1
  56. package/lib/Avatar.d.ts +0 -18
  57. package/lib/Avatar.js +0 -93
  58. package/lib/Avatar.js.map +0 -1
  59. package/lib/Bubble/index.d.ts +0 -6
  60. package/lib/Bubble/index.js +0 -242
  61. package/lib/Bubble/index.js.map +0 -1
  62. package/lib/Bubble/styles.d.ts +0 -69
  63. package/lib/Bubble/styles.js +0 -72
  64. package/lib/Bubble/styles.js.map +0 -1
  65. package/lib/Bubble/types.d.ts +0 -47
  66. package/lib/Bubble/types.js +0 -2
  67. package/lib/Bubble/types.js.map +0 -1
  68. package/lib/Color.d.ts +0 -18
  69. package/lib/Color.js +0 -18
  70. package/lib/Color.js.map +0 -1
  71. package/lib/Composer.d.ts +0 -20
  72. package/lib/Composer.js +0 -60
  73. package/lib/Composer.js.map +0 -1
  74. package/lib/Constant.d.ts +0 -10
  75. package/lib/Constant.js +0 -17
  76. package/lib/Constant.js.map +0 -1
  77. package/lib/Day/index.d.ts +0 -4
  78. package/lib/Day/index.js +0 -39
  79. package/lib/Day/index.js.map +0 -1
  80. package/lib/Day/styles.d.ts +0 -20
  81. package/lib/Day/styles.js +0 -22
  82. package/lib/Day/styles.js.map +0 -1
  83. package/lib/Day/types.d.ts +0 -9
  84. package/lib/Day/types.js +0 -2
  85. package/lib/Day/types.js.map +0 -1
  86. package/lib/GiftedAvatar.d.ts +0 -11
  87. package/lib/GiftedAvatar.js +0 -104
  88. package/lib/GiftedAvatar.js.map +0 -1
  89. package/lib/GiftedChat/index.d.ts +0 -26
  90. package/lib/GiftedChat/index.js +0 -317
  91. package/lib/GiftedChat/index.js.map +0 -1
  92. package/lib/GiftedChat/styles.d.ts +0 -6
  93. package/lib/GiftedChat/styles.js +0 -7
  94. package/lib/GiftedChat/styles.js.map +0 -1
  95. package/lib/GiftedChat/types.d.ts +0 -112
  96. package/lib/GiftedChat/types.js +0 -2
  97. package/lib/GiftedChat/types.js.map +0 -1
  98. package/lib/GiftedChatContext.d.ts +0 -9
  99. package/lib/GiftedChatContext.js +0 -9
  100. package/lib/GiftedChatContext.js.map +0 -1
  101. package/lib/InputToolbar.d.ts +0 -23
  102. package/lib/InputToolbar.js +0 -56
  103. package/lib/InputToolbar.js.map +0 -1
  104. package/lib/LoadEarlier.d.ts +0 -14
  105. package/lib/LoadEarlier.js +0 -45
  106. package/lib/LoadEarlier.js.map +0 -1
  107. package/lib/Message/index.d.ts +0 -6
  108. package/lib/Message/index.js +0 -80
  109. package/lib/Message/index.js.map +0 -1
  110. package/lib/Message/styles.d.ts +0 -21
  111. package/lib/Message/styles.js +0 -22
  112. package/lib/Message/styles.js.map +0 -1
  113. package/lib/Message/types.d.ts +0 -22
  114. package/lib/Message/types.js +0 -2
  115. package/lib/Message/types.js.map +0 -1
  116. package/lib/MessageAudio.d.ts +0 -2
  117. package/lib/MessageAudio.js +0 -14
  118. package/lib/MessageAudio.js.map +0 -1
  119. package/lib/MessageContainer/components/DayAnimated/index.d.ts +0 -5
  120. package/lib/MessageContainer/components/DayAnimated/index.js +0 -85
  121. package/lib/MessageContainer/components/DayAnimated/index.js.map +0 -1
  122. package/lib/MessageContainer/components/DayAnimated/styles.d.ts +0 -11
  123. package/lib/MessageContainer/components/DayAnimated/styles.js +0 -12
  124. package/lib/MessageContainer/components/DayAnimated/styles.js.map +0 -1
  125. package/lib/MessageContainer/components/DayAnimated/types.d.ts +0 -17
  126. package/lib/MessageContainer/components/DayAnimated/types.js +0 -2
  127. package/lib/MessageContainer/components/DayAnimated/types.js.map +0 -1
  128. package/lib/MessageContainer/components/Item/index.d.ts +0 -23
  129. package/lib/MessageContainer/components/Item/index.js +0 -88
  130. package/lib/MessageContainer/components/Item/index.js.map +0 -1
  131. package/lib/MessageContainer/components/Item/types.d.ts +0 -17
  132. package/lib/MessageContainer/components/Item/types.js +0 -2
  133. package/lib/MessageContainer/components/Item/types.js.map +0 -1
  134. package/lib/MessageContainer/index.d.ts +0 -6
  135. package/lib/MessageContainer/index.js +0 -235
  136. package/lib/MessageContainer/index.js.map +0 -1
  137. package/lib/MessageContainer/styles.d.ts +0 -35
  138. package/lib/MessageContainer/styles.js +0 -32
  139. package/lib/MessageContainer/styles.js.map +0 -1
  140. package/lib/MessageContainer/types.d.ts +0 -51
  141. package/lib/MessageContainer/types.js +0 -2
  142. package/lib/MessageContainer/types.js.map +0 -1
  143. package/lib/MessageImage.d.ts +0 -13
  144. package/lib/MessageImage.js +0 -30
  145. package/lib/MessageImage.js.map +0 -1
  146. package/lib/MessageText.d.ts +0 -19
  147. package/lib/MessageText.js +0 -69
  148. package/lib/MessageText.js.map +0 -1
  149. package/lib/MessageVideo.d.ts +0 -2
  150. package/lib/MessageVideo.js +0 -14
  151. package/lib/MessageVideo.js.map +0 -1
  152. package/lib/QuickReplies.d.ts +0 -15
  153. package/lib/QuickReplies.js +0 -101
  154. package/lib/QuickReplies.js.map +0 -1
  155. package/lib/Send.d.ts +0 -15
  156. package/lib/Send.js +0 -34
  157. package/lib/Send.js.map +0 -1
  158. package/lib/SystemMessage.d.ts +0 -11
  159. package/lib/SystemMessage.js +0 -27
  160. package/lib/SystemMessage.js.map +0 -1
  161. package/lib/Time.d.ts +0 -11
  162. package/lib/Time.js +0 -56
  163. package/lib/Time.js.map +0 -1
  164. package/lib/TypingIndicator/index.d.ts +0 -5
  165. package/lib/TypingIndicator/index.js +0 -94
  166. package/lib/TypingIndicator/index.js.map +0 -1
  167. package/lib/TypingIndicator/styles.d.ts +0 -20
  168. package/lib/TypingIndicator/styles.js +0 -22
  169. package/lib/TypingIndicator/styles.js.map +0 -1
  170. package/lib/TypingIndicator/types.d.ts +0 -3
  171. package/lib/TypingIndicator/types.js +0 -2
  172. package/lib/TypingIndicator/types.js.map +0 -1
  173. package/lib/hooks/useUpdateLayoutEffect.d.ts +0 -8
  174. package/lib/hooks/useUpdateLayoutEffect.js +0 -17
  175. package/lib/hooks/useUpdateLayoutEffect.js.map +0 -1
  176. package/lib/index.d.ts +0 -4
  177. package/lib/index.js +0 -5
  178. package/lib/index.js.map +0 -1
  179. package/lib/logging.d.ts +0 -2
  180. package/lib/logging.js +0 -5
  181. package/lib/logging.js.map +0 -1
  182. package/lib/styles.d.ts +0 -10
  183. package/lib/styles.js +0 -11
  184. package/lib/styles.js.map +0 -1
  185. package/lib/types.d.ts +0 -67
  186. package/lib/types.js +0 -2
  187. package/lib/types.js.map +0 -1
  188. package/lib/utils.d.ts +0 -5
  189. package/lib/utils.js +0 -83
  190. package/lib/utils.js.map +0 -1
  191. package/src/__tests__/__snapshots__/MessageContainer.test.tsx.snap +0 -108
package/lib/utils.js DELETED
@@ -1,83 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import dayjs from 'dayjs';
3
- export function isSameDay(currentMessage, diffMessage) {
4
- if (!diffMessage || !diffMessage.createdAt)
5
- return false;
6
- const currentCreatedAt = dayjs(currentMessage.createdAt);
7
- const diffCreatedAt = dayjs(diffMessage.createdAt);
8
- if (!currentCreatedAt.isValid() || !diffCreatedAt.isValid())
9
- return false;
10
- return currentCreatedAt.isSame(diffCreatedAt, 'day');
11
- }
12
- export function isSameUser(currentMessage, diffMessage) {
13
- return !!(diffMessage &&
14
- diffMessage.user &&
15
- currentMessage.user &&
16
- diffMessage.user._id === currentMessage.user._id);
17
- }
18
- function processCallbackArguments(args) {
19
- const [e, ...rest] = args;
20
- const { nativeEvent } = e || {};
21
- let params = [];
22
- if (e) {
23
- if (nativeEvent)
24
- params.push({ nativeEvent });
25
- else
26
- params.push(e);
27
- if (rest)
28
- params = params.concat(rest);
29
- }
30
- return params;
31
- }
32
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
- export function useCallbackDebounced(callbackFunc, deps = [], time) {
34
- const timeoutId = useRef(undefined);
35
- const savedFunc = useCallback((...args) => {
36
- const params = processCallbackArguments(args);
37
- if (timeoutId.current)
38
- clearTimeout(timeoutId.current);
39
- timeoutId.current = setTimeout(() => {
40
- callbackFunc(...params);
41
- }, time);
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- }, [callbackFunc, time, ...deps]);
44
- useEffect(() => {
45
- return () => {
46
- if (timeoutId.current)
47
- clearTimeout(timeoutId.current);
48
- };
49
- }, []);
50
- return savedFunc;
51
- }
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
- export function useCallbackThrottled(callbackFunc, deps = [], time) {
54
- const lastExecution = useRef(0);
55
- const timeoutId = useRef(undefined);
56
- // we use function instead of arrow to access arguments object
57
- const savedFunc = useCallback((...args) => {
58
- const params = processCallbackArguments(args);
59
- const now = Date.now();
60
- const timeSinceLastExecution = now - lastExecution.current;
61
- if (timeSinceLastExecution >= time) {
62
- // Execute immediately if enough time has passed
63
- lastExecution.current = now;
64
- callbackFunc(...params);
65
- }
66
- else {
67
- // Schedule execution for the remaining time
68
- clearTimeout(timeoutId.current);
69
- timeoutId.current = setTimeout(() => {
70
- lastExecution.current = Date.now();
71
- callbackFunc(...params);
72
- }, time - timeSinceLastExecution);
73
- }
74
- // eslint-disable-next-line react-hooks/exhaustive-deps
75
- }, [callbackFunc, time, ...deps]);
76
- useEffect(() => {
77
- return () => {
78
- clearTimeout(timeoutId.current);
79
- };
80
- }, []);
81
- return savedFunc;
82
- }
83
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,108 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`should render <MessageContainer /> and compare with snapshot 1`] = `
4
- <View
5
- style={
6
- [
7
- {
8
- "flexGrow": 1,
9
- "justifyContent": "flex-start",
10
- },
11
- {
12
- "flex": 1,
13
- },
14
- ]
15
- }
16
- >
17
- <RCTScrollView
18
- CellRendererComponent={[Function]}
19
- ListEmptyComponent={[Function]}
20
- ListFooterComponent={null}
21
- ListHeaderComponent={
22
- <React.Fragment>
23
- <TypingIndicator
24
- isTyping={false}
25
- />
26
- </React.Fragment>
27
- }
28
- automaticallyAdjustContentInsets={false}
29
- collapsable={false}
30
- data={[]}
31
- extraData={null}
32
- getItem={[Function]}
33
- getItemCount={[Function]}
34
- invertStickyHeaders={true}
35
- inverted={true}
36
- isInvertedVirtualizedList={true}
37
- jestAnimatedProps={
38
- {
39
- "value": {},
40
- }
41
- }
42
- jestAnimatedStyle={
43
- {
44
- "value": {},
45
- }
46
- }
47
- jestInlineStyle={
48
- {
49
- "flex": 1,
50
- }
51
- }
52
- keyExtractor={[Function]}
53
- onContentSizeChange={[Function]}
54
- onEndReached={[Function]}
55
- onEndReachedThreshold={0.1}
56
- onLayout={[Function]}
57
- onMomentumScrollBegin={[Function]}
58
- onMomentumScrollEnd={[Function]}
59
- onScroll={[Function]}
60
- onScrollBeginDrag={[Function]}
61
- onScrollEndDrag={[Function]}
62
- removeClippedSubviews={false}
63
- renderItem={[Function]}
64
- scrollEventThrottle={1}
65
- stickyHeaderIndices={[]}
66
- style={
67
- [
68
- {
69
- "transform": [
70
- {
71
- "scaleY": -1,
72
- },
73
- ],
74
- },
75
- [
76
- {
77
- "flex": 1,
78
- },
79
- ],
80
- ]
81
- }
82
- viewabilityConfigCallbackPairs={[]}
83
- >
84
- <View>
85
- <View
86
- collapsable={false}
87
- onLayout={[Function]}
88
- style={
89
- {
90
- "transform": [
91
- {
92
- "scaleY": -1,
93
- },
94
- ],
95
- }
96
- }
97
- />
98
- <View
99
- style={
100
- {
101
- "flex": 1,
102
- }
103
- }
104
- />
105
- </View>
106
- </RCTScrollView>
107
- </View>
108
- `;