react-native-gifted-chat 3.3.0 → 3.3.3

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 (326) hide show
  1. package/CHANGELOG.md +435 -0
  2. package/README.md +68 -12
  3. package/lib/Actions.d.ts +16 -0
  4. package/lib/Actions.d.ts.map +1 -0
  5. package/lib/Actions.js +65 -0
  6. package/lib/Actions.js.map +1 -0
  7. package/lib/Avatar.d.ts +19 -0
  8. package/lib/Avatar.d.ts.map +1 -0
  9. package/lib/Avatar.js +93 -0
  10. package/lib/Avatar.js.map +1 -0
  11. package/lib/Bubble/index.d.ts +6 -0
  12. package/lib/Bubble/index.d.ts.map +1 -0
  13. package/lib/Bubble/index.js +269 -0
  14. package/lib/Bubble/index.js.map +1 -0
  15. package/lib/Bubble/styles.d.ts +57 -0
  16. package/lib/Bubble/styles.d.ts.map +1 -0
  17. package/lib/Bubble/styles.js +59 -0
  18. package/lib/Bubble/styles.js.map +1 -0
  19. package/lib/Bubble/types.d.ts +59 -0
  20. package/lib/Bubble/types.d.ts.map +1 -0
  21. package/lib/Bubble/types.js +2 -0
  22. package/lib/Bubble/types.js.map +1 -0
  23. package/lib/Color.d.ts +18 -0
  24. package/lib/Color.d.ts.map +1 -0
  25. package/lib/Color.js +18 -0
  26. package/lib/Color.js.map +1 -0
  27. package/lib/Composer.d.ts +9 -0
  28. package/lib/Composer.d.ts.map +1 -0
  29. package/lib/Composer.js +56 -0
  30. package/lib/Composer.js.map +1 -0
  31. package/lib/Constant.d.ts +8 -0
  32. package/lib/Constant.d.ts.map +1 -0
  33. package/lib/Constant.js +8 -0
  34. package/lib/Constant.js.map +1 -0
  35. package/lib/Day/index.d.ts +5 -0
  36. package/lib/Day/index.d.ts.map +1 -0
  37. package/lib/Day/index.js +40 -0
  38. package/lib/Day/index.js.map +1 -0
  39. package/lib/Day/styles.d.ts +21 -0
  40. package/lib/Day/styles.d.ts.map +1 -0
  41. package/lib/Day/styles.js +22 -0
  42. package/lib/Day/styles.js.map +1 -0
  43. package/lib/Day/types.d.ts +11 -0
  44. package/lib/Day/types.d.ts.map +1 -0
  45. package/lib/Day/types.js +2 -0
  46. package/lib/Day/types.js.map +1 -0
  47. package/lib/GiftedAvatar.d.ts +12 -0
  48. package/lib/GiftedAvatar.d.ts.map +1 -0
  49. package/lib/GiftedAvatar.js +101 -0
  50. package/lib/GiftedAvatar.js.map +1 -0
  51. package/lib/GiftedChat/index.d.ts +10 -0
  52. package/lib/GiftedChat/index.d.ts.map +1 -0
  53. package/lib/GiftedChat/index.js +241 -0
  54. package/lib/GiftedChat/index.js.map +1 -0
  55. package/lib/GiftedChat/styles.d.ts +13 -0
  56. package/lib/GiftedChat/styles.d.ts.map +1 -0
  57. package/lib/GiftedChat/styles.js +13 -0
  58. package/lib/GiftedChat/styles.js.map +1 -0
  59. package/lib/GiftedChat/types.d.ts +90 -0
  60. package/lib/GiftedChat/types.d.ts.map +1 -0
  61. package/lib/GiftedChat/types.js +2 -0
  62. package/lib/GiftedChat/types.js.map +1 -0
  63. package/lib/GiftedChatContext.d.ts +11 -0
  64. package/lib/GiftedChatContext.d.ts.map +1 -0
  65. package/lib/GiftedChatContext.js +10 -0
  66. package/lib/GiftedChatContext.js.map +1 -0
  67. package/lib/InputToolbar.d.ts +36 -0
  68. package/lib/InputToolbar.d.ts.map +1 -0
  69. package/lib/InputToolbar.js +108 -0
  70. package/lib/InputToolbar.js.map +1 -0
  71. package/lib/LoadEarlierMessages.d.ts +17 -0
  72. package/lib/LoadEarlierMessages.d.ts.map +1 -0
  73. package/lib/LoadEarlierMessages.js +45 -0
  74. package/lib/LoadEarlierMessages.js.map +1 -0
  75. package/lib/Message/index.d.ts +6 -0
  76. package/lib/Message/index.d.ts.map +1 -0
  77. package/lib/Message/index.js +180 -0
  78. package/lib/Message/index.js.map +1 -0
  79. package/lib/Message/styles.d.ts +18 -0
  80. package/lib/Message/styles.d.ts.map +1 -0
  81. package/lib/Message/styles.js +18 -0
  82. package/lib/Message/styles.js.map +1 -0
  83. package/lib/Message/types.d.ts +25 -0
  84. package/lib/Message/types.d.ts.map +1 -0
  85. package/lib/Message/types.js +2 -0
  86. package/lib/Message/types.js.map +1 -0
  87. package/lib/MessageAudio.d.ts +3 -0
  88. package/lib/MessageAudio.d.ts.map +1 -0
  89. package/lib/MessageAudio.js +25 -0
  90. package/lib/MessageAudio.js.map +1 -0
  91. package/lib/MessageImage.d.ts +12 -0
  92. package/lib/MessageImage.d.ts.map +1 -0
  93. package/lib/MessageImage.js +164 -0
  94. package/lib/MessageImage.js.map +1 -0
  95. package/lib/MessageReply.d.ts +15 -0
  96. package/lib/MessageReply.d.ts.map +1 -0
  97. package/lib/MessageReply.js +103 -0
  98. package/lib/MessageReply.js.map +1 -0
  99. package/lib/MessageText.d.ts +24 -0
  100. package/lib/MessageText.d.ts.map +1 -0
  101. package/lib/MessageText.js +41 -0
  102. package/lib/MessageText.js.map +1 -0
  103. package/lib/MessageVideo.d.ts +3 -0
  104. package/lib/MessageVideo.d.ts.map +1 -0
  105. package/lib/MessageVideo.js +25 -0
  106. package/lib/MessageVideo.js.map +1 -0
  107. package/lib/MessagesContainer/components/DayAnimated/index.d.ts +5 -0
  108. package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -0
  109. package/lib/MessagesContainer/components/DayAnimated/index.js +92 -0
  110. package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -0
  111. package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +12 -0
  112. package/lib/MessagesContainer/components/DayAnimated/styles.d.ts.map +1 -0
  113. package/lib/MessagesContainer/components/DayAnimated/styles.js +12 -0
  114. package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -0
  115. package/lib/MessagesContainer/components/DayAnimated/types.d.ts +18 -0
  116. package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -0
  117. package/lib/MessagesContainer/components/DayAnimated/types.js +2 -0
  118. package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -0
  119. package/lib/MessagesContainer/components/Item/index.d.ts +23 -0
  120. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -0
  121. package/lib/MessagesContainer/components/Item/index.js +120 -0
  122. package/lib/MessagesContainer/components/Item/index.js.map +1 -0
  123. package/lib/MessagesContainer/components/Item/types.d.ts +19 -0
  124. package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -0
  125. package/lib/MessagesContainer/components/Item/types.js +2 -0
  126. package/lib/MessagesContainer/components/Item/types.js.map +1 -0
  127. package/lib/MessagesContainer/index.d.ts +6 -0
  128. package/lib/MessagesContainer/index.d.ts.map +1 -0
  129. package/lib/MessagesContainer/index.js +258 -0
  130. package/lib/MessagesContainer/index.js.map +1 -0
  131. package/lib/MessagesContainer/styles.d.ts +55 -0
  132. package/lib/MessagesContainer/styles.d.ts.map +1 -0
  133. package/lib/MessagesContainer/styles.js +42 -0
  134. package/lib/MessagesContainer/styles.js.map +1 -0
  135. package/lib/MessagesContainer/types.d.ts +88 -0
  136. package/lib/MessagesContainer/types.d.ts.map +1 -0
  137. package/lib/MessagesContainer/types.js +10 -0
  138. package/lib/MessagesContainer/types.js.map +1 -0
  139. package/lib/Models.d.ts +58 -0
  140. package/lib/Models.d.ts.map +1 -0
  141. package/lib/Models.js +2 -0
  142. package/lib/Models.js.map +1 -0
  143. package/lib/QuickReplies.d.ts +16 -0
  144. package/lib/QuickReplies.d.ts.map +1 -0
  145. package/lib/QuickReplies.js +108 -0
  146. package/lib/QuickReplies.js.map +1 -0
  147. package/lib/Reply/index.d.ts +2 -0
  148. package/lib/Reply/index.d.ts.map +1 -0
  149. package/lib/Reply/index.js +2 -0
  150. package/lib/Reply/index.js.map +1 -0
  151. package/lib/Reply/types.d.ts +72 -0
  152. package/lib/Reply/types.d.ts.map +1 -0
  153. package/lib/Reply/types.js +2 -0
  154. package/lib/Reply/types.js.map +1 -0
  155. package/lib/ReplyPreview.d.ts +14 -0
  156. package/lib/ReplyPreview.d.ts.map +1 -0
  157. package/lib/ReplyPreview.js +95 -0
  158. package/lib/ReplyPreview.js.map +1 -0
  159. package/lib/Send.d.ts +19 -0
  160. package/lib/Send.d.ts.map +1 -0
  161. package/lib/Send.js +57 -0
  162. package/lib/Send.js.map +1 -0
  163. package/lib/SystemMessage.d.ts +14 -0
  164. package/lib/SystemMessage.d.ts.map +1 -0
  165. package/lib/SystemMessage.js +42 -0
  166. package/lib/SystemMessage.js.map +1 -0
  167. package/lib/Time.d.ts +12 -0
  168. package/lib/Time.d.ts.map +1 -0
  169. package/lib/Time.js +39 -0
  170. package/lib/Time.js.map +1 -0
  171. package/lib/TypingIndicator/index.d.ts +5 -0
  172. package/lib/TypingIndicator/index.d.ts.map +1 -0
  173. package/lib/TypingIndicator/index.js +94 -0
  174. package/lib/TypingIndicator/index.js.map +1 -0
  175. package/lib/TypingIndicator/styles.d.ts +21 -0
  176. package/lib/TypingIndicator/styles.d.ts.map +1 -0
  177. package/lib/TypingIndicator/styles.js +22 -0
  178. package/lib/TypingIndicator/styles.js.map +1 -0
  179. package/lib/TypingIndicator/types.d.ts +6 -0
  180. package/lib/TypingIndicator/types.d.ts.map +1 -0
  181. package/lib/TypingIndicator/types.js +2 -0
  182. package/lib/TypingIndicator/types.js.map +1 -0
  183. package/lib/components/MessageReply.d.ts +29 -0
  184. package/lib/components/MessageReply.d.ts.map +1 -0
  185. package/lib/components/MessageReply.js +87 -0
  186. package/lib/components/MessageReply.js.map +1 -0
  187. package/lib/components/ReplyPreview.d.ts +17 -0
  188. package/lib/components/ReplyPreview.d.ts.map +1 -0
  189. package/lib/components/ReplyPreview.js +148 -0
  190. package/lib/components/ReplyPreview.js.map +1 -0
  191. package/lib/components/TouchableOpacity.d.ts +9 -0
  192. package/lib/components/TouchableOpacity.d.ts.map +1 -0
  193. package/lib/components/TouchableOpacity.js +37 -0
  194. package/lib/components/TouchableOpacity.js.map +1 -0
  195. package/lib/hooks/useColorScheme.d.ts +8 -0
  196. package/lib/hooks/useColorScheme.d.ts.map +1 -0
  197. package/lib/hooks/useColorScheme.js +17 -0
  198. package/lib/hooks/useColorScheme.js.map +1 -0
  199. package/lib/hooks/useUpdateLayoutEffect.d.ts +9 -0
  200. package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -0
  201. package/lib/hooks/useUpdateLayoutEffect.js +17 -0
  202. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -0
  203. package/lib/index.d.ts +31 -0
  204. package/lib/index.d.ts.map +1 -0
  205. package/lib/index.js +31 -0
  206. package/lib/index.js.map +1 -0
  207. package/lib/linkParser.d.ts +39 -0
  208. package/lib/linkParser.d.ts.map +1 -0
  209. package/lib/linkParser.js +154 -0
  210. package/lib/linkParser.js.map +1 -0
  211. package/lib/logging.d.ts +3 -0
  212. package/lib/logging.d.ts.map +1 -0
  213. package/lib/logging.js +5 -0
  214. package/lib/logging.js.map +1 -0
  215. package/lib/styles.d.ts +14 -0
  216. package/lib/styles.d.ts.map +1 -0
  217. package/lib/styles.js +23 -0
  218. package/lib/styles.js.map +1 -0
  219. package/lib/types.d.ts +19 -0
  220. package/lib/types.d.ts.map +1 -0
  221. package/lib/types.js +2 -0
  222. package/lib/types.js.map +1 -0
  223. package/lib/utils.d.ts +8 -0
  224. package/lib/utils.d.ts.map +1 -0
  225. package/lib/utils.js +105 -0
  226. package/lib/utils.js.map +1 -0
  227. package/package.json +12 -11
  228. package/src/Actions.tsx +0 -110
  229. package/src/Avatar.tsx +0 -169
  230. package/src/Bubble/index.tsx +0 -407
  231. package/src/Bubble/styles.ts +0 -66
  232. package/src/Bubble/types.ts +0 -104
  233. package/src/Color.ts +0 -17
  234. package/src/Composer.tsx +0 -100
  235. package/src/Constant.ts +0 -8
  236. package/src/Day/index.tsx +0 -63
  237. package/src/Day/styles.ts +0 -22
  238. package/src/Day/types.ts +0 -15
  239. package/src/GiftedAvatar.tsx +0 -187
  240. package/src/GiftedChat/index.tsx +0 -420
  241. package/src/GiftedChat/styles.ts +0 -10
  242. package/src/GiftedChat/types.ts +0 -156
  243. package/src/GiftedChatContext.ts +0 -25
  244. package/src/InputToolbar.tsx +0 -177
  245. package/src/LoadEarlierMessages.tsx +0 -94
  246. package/src/Message/index.tsx +0 -273
  247. package/src/Message/styles.ts +0 -18
  248. package/src/Message/types.ts +0 -26
  249. package/src/MessageAudio.tsx +0 -29
  250. package/src/MessageImage.tsx +0 -251
  251. package/src/MessageReply.tsx +0 -160
  252. package/src/MessageText.tsx +0 -111
  253. package/src/MessageVideo.tsx +0 -29
  254. package/src/MessagesContainer/components/DayAnimated/index.tsx +0 -151
  255. package/src/MessagesContainer/components/DayAnimated/styles.ts +0 -12
  256. package/src/MessagesContainer/components/DayAnimated/types.ts +0 -12
  257. package/src/MessagesContainer/components/Item/index.tsx +0 -197
  258. package/src/MessagesContainer/components/Item/types.ts +0 -13
  259. package/src/MessagesContainer/index.tsx +0 -434
  260. package/src/MessagesContainer/styles.ts +0 -42
  261. package/src/MessagesContainer/types.ts +0 -102
  262. package/src/Models.ts +0 -66
  263. package/src/QuickReplies.tsx +0 -181
  264. package/src/Reply/index.ts +0 -1
  265. package/src/Reply/types.ts +0 -80
  266. package/src/ReplyPreview.tsx +0 -132
  267. package/src/Send.tsx +0 -115
  268. package/src/SystemMessage.tsx +0 -79
  269. package/src/Time.tsx +0 -64
  270. package/src/TypingIndicator/index.tsx +0 -155
  271. package/src/TypingIndicator/styles.ts +0 -22
  272. package/src/TypingIndicator/types.ts +0 -6
  273. package/src/__tests__/Actions.test.tsx +0 -9
  274. package/src/__tests__/Avatar.test.tsx +0 -17
  275. package/src/__tests__/Bubble.test.tsx +0 -17
  276. package/src/__tests__/Color.test.tsx +0 -5
  277. package/src/__tests__/Composer.test.tsx +0 -10
  278. package/src/__tests__/Constant.test.tsx +0 -5
  279. package/src/__tests__/Day.test.tsx +0 -20
  280. package/src/__tests__/DayAnimated.test.tsx +0 -46
  281. package/src/__tests__/GiftedAvatar.test.tsx +0 -10
  282. package/src/__tests__/GiftedChat.test.tsx +0 -60
  283. package/src/__tests__/InputToolbar.test.tsx +0 -10
  284. package/src/__tests__/LoadEarlier.test.tsx +0 -10
  285. package/src/__tests__/Message.test.tsx +0 -67
  286. package/src/__tests__/MessageImage.test.tsx +0 -24
  287. package/src/__tests__/MessageReply.test.tsx +0 -54
  288. package/src/__tests__/MessageText.test.tsx +0 -15
  289. package/src/__tests__/MessagesContainer.test.tsx +0 -38
  290. package/src/__tests__/ReplyPreview.test.tsx +0 -41
  291. package/src/__tests__/Send.test.tsx +0 -21
  292. package/src/__tests__/SystemMessage.test.tsx +0 -24
  293. package/src/__tests__/Time.test.tsx +0 -26
  294. package/src/__tests__/__snapshots__/Actions.test.tsx.snap +0 -40
  295. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -17
  296. package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +0 -121
  297. package/src/__tests__/__snapshots__/Color.test.tsx.snap +0 -21
  298. package/src/__tests__/__snapshots__/Composer.test.tsx.snap +0 -51
  299. package/src/__tests__/__snapshots__/Constant.test.tsx.snap +0 -13
  300. package/src/__tests__/__snapshots__/Day.test.tsx.snap +0 -99
  301. package/src/__tests__/__snapshots__/DayAnimated.test.tsx.snap +0 -5
  302. package/src/__tests__/__snapshots__/GiftedAvatar.test.tsx.snap +0 -24
  303. package/src/__tests__/__snapshots__/GiftedChat.test.tsx.snap +0 -169
  304. package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +0 -145
  305. package/src/__tests__/__snapshots__/LoadEarlier.test.tsx.snap +0 -33
  306. package/src/__tests__/__snapshots__/Message.test.tsx.snap +0 -510
  307. package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +0 -293
  308. package/src/__tests__/__snapshots__/MessageReply.test.tsx.snap +0 -181
  309. package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +0 -29
  310. package/src/__tests__/__snapshots__/ReplyPreview.test.tsx.snap +0 -403
  311. package/src/__tests__/__snapshots__/Send.test.tsx.snap +0 -214
  312. package/src/__tests__/__snapshots__/SystemMessage.test.tsx.snap +0 -77
  313. package/src/__tests__/__snapshots__/Time.test.tsx.snap +0 -22
  314. package/src/__tests__/data.ts +0 -8
  315. package/src/__tests__/utils.test.ts +0 -31
  316. package/src/components/MessageReply.tsx +0 -156
  317. package/src/components/ReplyPreview.tsx +0 -230
  318. package/src/components/TouchableOpacity.tsx +0 -67
  319. package/src/hooks/useColorScheme.ts +0 -18
  320. package/src/hooks/useUpdateLayoutEffect.ts +0 -21
  321. package/src/index.ts +0 -29
  322. package/src/linkParser.tsx +0 -255
  323. package/src/logging.ts +0 -8
  324. package/src/styles.ts +0 -25
  325. package/src/types.ts +0 -25
  326. package/src/utils.ts +0 -134
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/DayAnimated/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ dayAnimated: {
3
+ position: "absolute";
4
+ width: "100%";
5
+ };
6
+ dayAnimatedDayContainerStyle: {
7
+ marginTop: number;
8
+ marginBottom: number;
9
+ };
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/DayAnimated/styles.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,wBASE"}
@@ -0,0 +1,12 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export default StyleSheet.create({
3
+ dayAnimated: {
4
+ position: 'absolute',
5
+ width: '100%',
6
+ },
7
+ dayAnimatedDayContainerStyle: {
8
+ marginTop: 0,
9
+ marginBottom: 0,
10
+ },
11
+ });
12
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/DayAnimated/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,eAAe,UAAU,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;KACd;IACD,4BAA4B,EAAE;QAC5B,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KAChB;CACF,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { DayProps } from '../../../Day';
2
+ import { IMessage } from '../../../Models';
3
+ import { DaysPositions } from '../../types';
4
+ export interface DayAnimatedProps extends Omit<DayProps, 'createdAt'> {
5
+ scrolledY: {
6
+ value: number;
7
+ };
8
+ daysPositions: {
9
+ value: DaysPositions;
10
+ };
11
+ listHeight: {
12
+ value: number;
13
+ };
14
+ renderDay?: (props: DayProps) => React.ReactNode;
15
+ messages: IMessage[];
16
+ isLoading: boolean;
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/DayAnimated/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;IACnE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,aAAa,EAAE;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,CAAA;IACvC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAA;IAChD,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/DayAnimated/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { IMessage } from '../../../Models';
3
+ import { DaysPositions } from '../../types';
4
+ import { ItemProps } from './types';
5
+ export * from './types';
6
+ export declare const useAbsoluteScrolledPositionToBottomOfDay: (listHeight: {
7
+ value: number;
8
+ }, scrolledY: {
9
+ value: number;
10
+ }, containerHeight: {
11
+ value: number;
12
+ }, dayBottomMargin: number, dayTopOffset: number) => import("react-native-reanimated").DerivedValue<number>;
13
+ export declare const useRelativeScrolledPositionToBottomOfDay: (listHeight: {
14
+ value: number;
15
+ }, scrolledY: {
16
+ value: number;
17
+ }, daysPositions: {
18
+ value: DaysPositions;
19
+ }, containerHeight: {
20
+ value: number;
21
+ }, dayBottomMargin: number, dayTopOffset: number, createdAt?: number) => import("react-native-reanimated").DerivedValue<number>;
22
+ export declare const Item: <TMessage extends IMessage>(props: ItemProps<TMessage>) => React.JSX.Element;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/Item/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAKnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,cAAc,SAAS,CAAA;AAGvB,eAAO,MAAM,wCAAwC,GAAI,YAAY;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,iBAAiB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,iBAAiB,MAAM,EAAE,cAAc,MAAM,2DAMtM,CAAA;AAED,eAAO,MAAM,wCAAwC,GACnD,YAAY;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC7B,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,eAAe;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,EACvC,iBAAiB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAClC,iBAAiB,MAAM,EACvB,cAAc,MAAM,EACpB,YAAY,MAAM,2DA+CnB,CAAA;AAkFD,eAAO,MAAM,IAAI,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,sBAuCzE,CAAA"}
@@ -0,0 +1,120 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import { View } from 'react-native';
3
+ import Animated, { interpolate, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
4
+ import { Day } from '../../../Day';
5
+ import { Message } from '../../../Message';
6
+ import { isSameDay } from '../../../utils';
7
+ export * from './types';
8
+ // y-position of current scroll position relative to the bottom of the day container. (since we have inverted list it is bottom)
9
+ export const useAbsoluteScrolledPositionToBottomOfDay = (listHeight, scrolledY, containerHeight, dayBottomMargin, dayTopOffset) => {
10
+ const absoluteScrolledPositionToBottomOfDay = useDerivedValue(() => listHeight.value + scrolledY.value - containerHeight.value - dayBottomMargin - dayTopOffset, [listHeight, scrolledY, containerHeight, dayBottomMargin, dayTopOffset]);
11
+ return absoluteScrolledPositionToBottomOfDay;
12
+ };
13
+ export const useRelativeScrolledPositionToBottomOfDay = (listHeight, scrolledY, daysPositions, containerHeight, dayBottomMargin, dayTopOffset, createdAt) => {
14
+ const dayMarginTop = useMemo(() => 5, []);
15
+ const absoluteScrolledPositionToBottomOfDay = useAbsoluteScrolledPositionToBottomOfDay(listHeight, scrolledY, containerHeight, dayBottomMargin, dayTopOffset);
16
+ // find current day position by scrolled position
17
+ const currentDayPosition = useDerivedValue(() => {
18
+ 'worklet';
19
+ // When createdAt is provided (called from AnimatedDayWrapper for a specific message),
20
+ // directly find the day position by createdAt without sorting the entire array.
21
+ // This avoids O(n log n) sorting and O(n) search for each message item.
22
+ if (createdAt != null) {
23
+ const values = Object.values(daysPositions.value);
24
+ for (let i = 0; i < values.length; i++)
25
+ if (values[i].createdAt === createdAt)
26
+ return values[i];
27
+ }
28
+ // Fallback: sort and search when createdAt is not provided (e.g., from DayAnimated)
29
+ const sortedArray = Object.values(daysPositions.value).sort((a, b) => {
30
+ 'worklet';
31
+ return a.y - b.y;
32
+ });
33
+ for (let i = 0; i < sortedArray.length; i++) {
34
+ const day = sortedArray[i];
35
+ const dayPosition = day.y + day.height;
36
+ if (absoluteScrolledPositionToBottomOfDay.value < dayPosition || i === sortedArray.length - 1)
37
+ return day;
38
+ }
39
+ return undefined;
40
+ }, [daysPositions, absoluteScrolledPositionToBottomOfDay, createdAt]);
41
+ const relativeScrolledPositionToBottomOfDay = useDerivedValue(() => {
42
+ const scrolledBottomY = listHeight.value + scrolledY.value - ((currentDayPosition.value?.y ?? 0) +
43
+ (currentDayPosition.value?.height ?? 0) +
44
+ dayMarginTop);
45
+ return scrolledBottomY;
46
+ }, [listHeight, scrolledY, currentDayPosition, dayMarginTop]);
47
+ return relativeScrolledPositionToBottomOfDay;
48
+ };
49
+ const DayWrapper = (props) => {
50
+ const { renderDay: renderDayProp, currentMessage, previousMessage, } = props;
51
+ if (!currentMessage?.createdAt || isSameDay(currentMessage, previousMessage))
52
+ return null;
53
+ const {
54
+ /* eslint-disable @typescript-eslint/no-unused-vars */
55
+ containerStyle, onMessageLayout,
56
+ /* eslint-enable @typescript-eslint/no-unused-vars */
57
+ ...rest } = props;
58
+ return (<View>
59
+ {renderDayProp
60
+ ? renderDayProp({ ...rest, createdAt: currentMessage.createdAt })
61
+ : <Day {...rest} createdAt={currentMessage.createdAt}/>}
62
+ </View>);
63
+ };
64
+ const AnimatedDayWrapper = (props) => {
65
+ const { scrolledY, daysPositions, listHeight, ...rest } = props;
66
+ const dayContainerHeight = useSharedValue(0);
67
+ const dayTopOffset = useMemo(() => 10, []);
68
+ const dayBottomMargin = useMemo(() => 10, []);
69
+ const createdAt = useMemo(() => new Date(props.currentMessage.createdAt).getTime(), [props.currentMessage.createdAt]);
70
+ const relativeScrolledPositionToBottomOfDay = useRelativeScrolledPositionToBottomOfDay(listHeight, scrolledY, daysPositions, dayContainerHeight, dayBottomMargin, dayTopOffset, createdAt);
71
+ const handleLayoutDayContainer = useCallback(({ nativeEvent }) => {
72
+ dayContainerHeight.value = nativeEvent.layout.height;
73
+ }, [dayContainerHeight]);
74
+ const style = useAnimatedStyle(() => ({
75
+ opacity: interpolate(relativeScrolledPositionToBottomOfDay.value, [
76
+ -dayTopOffset,
77
+ -0.0001,
78
+ 0,
79
+ dayContainerHeight.value + dayTopOffset,
80
+ ], [
81
+ 0,
82
+ 0,
83
+ 1,
84
+ 1,
85
+ ], 'clamp'),
86
+ }), [relativeScrolledPositionToBottomOfDay, dayContainerHeight, dayTopOffset]);
87
+ return (<Animated.View style={style} onLayout={handleLayoutDayContainer}>
88
+ <DayWrapper {...rest}/>
89
+ </Animated.View>);
90
+ };
91
+ export const Item = (props) => {
92
+ const { renderMessage: renderMessageProp, isDayAnimationEnabled, reply,
93
+ /* eslint-disable @typescript-eslint/no-unused-vars */
94
+ scrolledY: _scrolledY, daysPositions: _daysPositions, listHeight: _listHeight,
95
+ /* eslint-enable @typescript-eslint/no-unused-vars */
96
+ ...rest } = props;
97
+ // Transform reply props for Message and Bubble
98
+ const messageProps = useMemo(() => ({
99
+ ...rest,
100
+ // Swipe to reply for Message component
101
+ swipeToReply: reply?.swipe,
102
+ // Message reply styling for Bubble component
103
+ messageReply: reply ? {
104
+ renderMessageReply: reply.renderMessageReply,
105
+ onPress: reply.onPress,
106
+ ...reply.messageStyle,
107
+ } : undefined,
108
+ }), [rest, reply]);
109
+ return (
110
+ // do not remove key. it helps to get correct position of the day container
111
+ <View key={props.currentMessage._id.toString()}>
112
+ {isDayAnimationEnabled
113
+ ? <AnimatedDayWrapper {...props}/>
114
+ : <DayWrapper {...messageProps}/>}
115
+ {renderMessageProp
116
+ ? renderMessageProp(messageProps)
117
+ : <Message {...messageProps}/>}
118
+ </View>);
119
+ };
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/Item/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { IMessage } from '../../../Models';
2
+ import { MessagesContainerProps, DaysPositions } from '../../types';
3
+ export interface ItemProps<TMessage extends IMessage> extends MessagesContainerProps<TMessage> {
4
+ currentMessage: TMessage;
5
+ previousMessage?: TMessage;
6
+ nextMessage?: TMessage;
7
+ position: 'left' | 'right';
8
+ scrolledY: {
9
+ value: number;
10
+ };
11
+ daysPositions: {
12
+ value: DaysPositions;
13
+ };
14
+ listHeight: {
15
+ value: number;
16
+ };
17
+ isDayAnimationEnabled?: boolean;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/Item/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,SAAS,CAAC,QAAQ,SAAS,QAAQ,CAAE,SAAQ,sBAAsB,CAAC,QAAQ,CAAC;IAC5F,cAAc,EAAE,QAAQ,CAAA;IACxB,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,aAAa,EAAE;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,CAAA;IACvC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/MessagesContainer/components/Item/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { IMessage } from '../Models';
3
+ import { MessagesContainerProps } from './types';
4
+ export * from './types';
5
+ export declare const MessagesContainer: <TMessage extends IMessage>(props: MessagesContainerProps<TMessage>) => React.JSX.Element;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MessagesContainer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAWxE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASpC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,SAAS,CAAA;AAEjF,cAAc,SAAS,CAAA;AAEvB,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,sBAyZnG,CAAA"}
@@ -0,0 +1,258 @@
1
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { View, } from 'react-native';
3
+ import { Pressable, Text } from 'react-native-gesture-handler';
4
+ import Animated, { runOnJS, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
5
+ import { LoadEarlierMessages } from '../LoadEarlierMessages';
6
+ import { warning } from '../logging';
7
+ import stylesCommon from '../styles';
8
+ import { TypingIndicator } from '../TypingIndicator';
9
+ import { isSameDay, useCallbackThrottled } from '../utils';
10
+ import { DayAnimated } from './components/DayAnimated';
11
+ import { Item } from './components/Item';
12
+ import styles from './styles';
13
+ import { AnimatedFlatList } from './types';
14
+ export * from './types';
15
+ export const MessagesContainer = (props) => {
16
+ const { messages = [], user, isTyping = false, renderChatEmpty: renderChatEmptyProp, isInverted = true, listProps, isScrollToBottomEnabled = false, scrollToBottomOffset = 200, isAlignedTop = false, scrollToBottomStyle, scrollToBottomContentStyle, loadEarlierMessagesProps, renderTypingIndicator: renderTypingIndicatorProp, renderFooter: renderFooterProp, renderLoadEarlier: renderLoadEarlierProp, forwardRef, scrollToBottomComponent: scrollToBottomComponentProp, renderDay: renderDayProp, isDayAnimationEnabled = true, } = props;
17
+ const listPropsOnScrollProp = listProps?.onScroll;
18
+ const scrollToBottomOpacity = useSharedValue(0);
19
+ const isScrollingDown = useSharedValue(false);
20
+ const lastScrolledY = useSharedValue(0);
21
+ const [isScrollToBottomVisible, setIsScrollToBottomVisible] = useState(false);
22
+ const scrollToBottomStyleAnim = useAnimatedStyle(() => ({
23
+ opacity: scrollToBottomOpacity.value,
24
+ }), [scrollToBottomOpacity]);
25
+ const daysPositions = useSharedValue({});
26
+ const listHeight = useSharedValue(0);
27
+ const scrolledY = useSharedValue(0);
28
+ const renderTypingIndicator = useCallback(() => {
29
+ if (renderTypingIndicatorProp)
30
+ return renderTypingIndicatorProp();
31
+ return <TypingIndicator isTyping={isTyping} style={props.typingIndicatorStyle}/>;
32
+ }, [isTyping, renderTypingIndicatorProp, props.typingIndicatorStyle]);
33
+ const ListFooterComponent = useMemo(() => {
34
+ if (renderFooterProp)
35
+ return renderFooterProp(props);
36
+ return renderTypingIndicator();
37
+ }, [renderFooterProp, renderTypingIndicator, props]);
38
+ const renderLoadEarlier = useCallback(() => {
39
+ if (loadEarlierMessagesProps?.isAvailable) {
40
+ if (renderLoadEarlierProp)
41
+ return renderLoadEarlierProp(loadEarlierMessagesProps);
42
+ return <LoadEarlierMessages {...loadEarlierMessagesProps}/>;
43
+ }
44
+ return null;
45
+ }, [loadEarlierMessagesProps, renderLoadEarlierProp]);
46
+ const changeScrollToBottomVisibility = useCallbackThrottled((isVisible) => {
47
+ if (isScrollingDown.value && isVisible)
48
+ return;
49
+ if (isVisible)
50
+ setIsScrollToBottomVisible(true);
51
+ scrollToBottomOpacity.value = withTiming(isVisible ? 1 : 0, { duration: 250 }, isFinished => {
52
+ if (isFinished && !isVisible)
53
+ runOnJS(setIsScrollToBottomVisible)(false);
54
+ });
55
+ }, [scrollToBottomOpacity, isScrollingDown], 50);
56
+ const scrollTo = useCallback((options) => {
57
+ if (options)
58
+ forwardRef?.current?.scrollToOffset(options);
59
+ }, [forwardRef]);
60
+ const doScrollToBottom = useCallback((animated = true) => {
61
+ isScrollingDown.value = true;
62
+ changeScrollToBottomVisibility(false);
63
+ if (isInverted)
64
+ scrollTo({ offset: 0, animated });
65
+ else if (forwardRef?.current)
66
+ forwardRef.current.scrollToEnd({ animated });
67
+ }, [forwardRef, isInverted, scrollTo, isScrollingDown, changeScrollToBottomVisibility]);
68
+ const handleOnScroll = useCallback((event) => {
69
+ listPropsOnScrollProp?.(event);
70
+ const { contentOffset: { y: contentOffsetY }, contentSize: { height: contentSizeHeight }, layoutMeasurement: { height: layoutMeasurementHeight }, } = event;
71
+ isScrollingDown.value =
72
+ (isInverted && lastScrolledY.value > contentOffsetY) ||
73
+ (!isInverted && lastScrolledY.value < contentOffsetY);
74
+ lastScrolledY.value = contentOffsetY;
75
+ if (isInverted)
76
+ if (contentOffsetY > scrollToBottomOffset)
77
+ changeScrollToBottomVisibility(true);
78
+ else
79
+ changeScrollToBottomVisibility(false);
80
+ else if (contentOffsetY < scrollToBottomOffset &&
81
+ contentSizeHeight - layoutMeasurementHeight > scrollToBottomOffset)
82
+ changeScrollToBottomVisibility(false);
83
+ else
84
+ changeScrollToBottomVisibility(false);
85
+ }, [isInverted, scrollToBottomOffset, changeScrollToBottomVisibility, isScrollingDown, lastScrolledY, listPropsOnScrollProp]);
86
+ const restProps = useMemo(() => {
87
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
88
+ const { messages: _, ...rest } = props;
89
+ return rest;
90
+ }, [props]);
91
+ const renderItem = useCallback(({ item, index }) => {
92
+ const messageItem = item;
93
+ if (!messageItem._id && messageItem._id !== 0)
94
+ warning('GiftedChat: `_id` is missing for message', JSON.stringify(item));
95
+ if (!messageItem.user) {
96
+ if (!messageItem.system)
97
+ warning('GiftedChat: `user` is missing for message', JSON.stringify(messageItem));
98
+ messageItem.user = { _id: 0 };
99
+ }
100
+ if (messages) {
101
+ const previousMessage = (isInverted ? messages[index + 1] : messages[index - 1]) || {};
102
+ const nextMessage = (isInverted ? messages[index - 1] : messages[index + 1]) || {};
103
+ const messageProps = {
104
+ position: user?._id != null && messageItem.user?._id === user._id ? 'right' : 'left',
105
+ ...restProps,
106
+ currentMessage: messageItem,
107
+ previousMessage,
108
+ nextMessage,
109
+ scrolledY,
110
+ daysPositions,
111
+ listHeight,
112
+ isDayAnimationEnabled,
113
+ };
114
+ return (<Item {...messageProps}/>);
115
+ }
116
+ return null;
117
+ }, [messages, restProps, isInverted, scrolledY, daysPositions, listHeight, isDayAnimationEnabled, user]);
118
+ const emptyContent = useMemo(() => {
119
+ if (!renderChatEmptyProp)
120
+ return null;
121
+ return renderChatEmptyProp();
122
+ }, [renderChatEmptyProp]);
123
+ const renderChatEmpty = useCallback(() => {
124
+ if (renderChatEmptyProp)
125
+ return isInverted
126
+ ? (emptyContent)
127
+ : (<View style={[stylesCommon.fill, styles.emptyChatContainer]}>
128
+ {emptyContent}
129
+ </View>);
130
+ return <View style={stylesCommon.fill}/>;
131
+ }, [isInverted, renderChatEmptyProp, emptyContent]);
132
+ const ListHeaderComponent = useMemo(() => {
133
+ const content = renderLoadEarlier();
134
+ if (!content)
135
+ return null;
136
+ return (<View style={stylesCommon.fill}>{content}</View>);
137
+ }, [renderLoadEarlier]);
138
+ const renderScrollBottomComponent = useCallback(() => {
139
+ if (scrollToBottomComponentProp)
140
+ return scrollToBottomComponentProp();
141
+ return <Text>{'V'}</Text>;
142
+ }, [scrollToBottomComponentProp]);
143
+ const handleScrollToBottomPress = useCallback(() => {
144
+ doScrollToBottom();
145
+ }, [doScrollToBottom]);
146
+ const scrollToBottomContent = useMemo(() => {
147
+ return (<Animated.View style={[
148
+ stylesCommon.centerItems,
149
+ styles.scrollToBottomContent,
150
+ scrollToBottomContentStyle,
151
+ scrollToBottomStyleAnim,
152
+ ]}>
153
+ {renderScrollBottomComponent()}
154
+ </Animated.View>);
155
+ }, [scrollToBottomStyleAnim, scrollToBottomContentStyle, renderScrollBottomComponent]);
156
+ const ScrollToBottomWrapper = useCallback(() => {
157
+ if (!isScrollToBottomEnabled)
158
+ return null;
159
+ if (!isScrollToBottomVisible)
160
+ return null;
161
+ return (<Pressable style={[styles.scrollToBottom, scrollToBottomStyle]} onPress={handleScrollToBottomPress}>
162
+ {scrollToBottomContent}
163
+ </Pressable>);
164
+ }, [isScrollToBottomEnabled, isScrollToBottomVisible, handleScrollToBottomPress, scrollToBottomContent, scrollToBottomStyle]);
165
+ const onLayoutList = useCallback((event) => {
166
+ listHeight.value = event.nativeEvent.layout.height;
167
+ if (!isInverted &&
168
+ messages?.length &&
169
+ isScrollToBottomEnabled)
170
+ setTimeout(() => {
171
+ doScrollToBottom(false);
172
+ }, 500);
173
+ // listProps.onLayout may be a SharedValue in Reanimated types, but we only accept functions
174
+ const onLayoutProp = listProps?.onLayout;
175
+ onLayoutProp?.(event);
176
+ }, [isInverted, messages, doScrollToBottom, listHeight, listProps, isScrollToBottomEnabled]);
177
+ const onEndReached = useCallback(() => {
178
+ if (loadEarlierMessagesProps &&
179
+ loadEarlierMessagesProps.isAvailable &&
180
+ loadEarlierMessagesProps.isInfiniteScrollEnabled &&
181
+ !loadEarlierMessagesProps.isLoading)
182
+ loadEarlierMessagesProps.onPress();
183
+ }, [loadEarlierMessagesProps]);
184
+ const keyExtractor = useCallback((item) => item._id.toString(), []);
185
+ const renderCell = useCallback((props) => {
186
+ const { item, onLayout: onLayoutProp, children } = props;
187
+ const id = item._id.toString();
188
+ const handleOnLayout = (event) => {
189
+ onLayoutProp?.(event);
190
+ // Only track positions when day animation is enabled
191
+ if (!isDayAnimationEnabled)
192
+ return;
193
+ const { y, height } = event.nativeEvent.layout;
194
+ const newValue = {
195
+ y,
196
+ height,
197
+ createdAt: new Date(item.createdAt).getTime(),
198
+ };
199
+ daysPositions.modify(value => {
200
+ 'worklet';
201
+ const isSameDay = (date1, date2) => {
202
+ const d1 = new Date(date1);
203
+ const d2 = new Date(date2);
204
+ return (d1.getDate() === d2.getDate() &&
205
+ d1.getMonth() === d2.getMonth() &&
206
+ d1.getFullYear() === d2.getFullYear());
207
+ };
208
+ for (const [key, item] of Object.entries(value))
209
+ if (isSameDay(newValue.createdAt, item.createdAt) && (isInverted ? item.y <= newValue.y : item.y >= newValue.y)) {
210
+ delete value[key];
211
+ break;
212
+ }
213
+ // @ts-expect-error: https://docs.swmansion.com/react-native-reanimated/docs/core/useSharedValue#remarks
214
+ value[id] = newValue;
215
+ return value;
216
+ });
217
+ };
218
+ return (<View {...props} onLayout={handleOnLayout}>
219
+ {children}
220
+ </View>);
221
+ }, [daysPositions, isInverted, isDayAnimationEnabled]);
222
+ const scrollHandler = useAnimatedScrollHandler({
223
+ onScroll: event => {
224
+ scrolledY.value = event.contentOffset.y;
225
+ runOnJS(handleOnScroll)(event);
226
+ },
227
+ }, [handleOnScroll]);
228
+ // removes unrendered days positions when messages are added/removed
229
+ useEffect(() => {
230
+ // Skip cleanup when day animation is disabled
231
+ if (!isDayAnimationEnabled)
232
+ return;
233
+ Object.keys(daysPositions.value).forEach(key => {
234
+ const messageIndex = messages.findIndex(m => m._id.toString() === key);
235
+ let shouldRemove = messageIndex === -1;
236
+ if (!shouldRemove) {
237
+ const prevMessage = messages[messageIndex + (isInverted ? 1 : -1)];
238
+ const message = messages[messageIndex];
239
+ shouldRemove = !!prevMessage && isSameDay(message, prevMessage);
240
+ }
241
+ if (shouldRemove)
242
+ daysPositions.modify(value => {
243
+ 'worklet';
244
+ delete value[key];
245
+ return value;
246
+ });
247
+ });
248
+ }, [messages, daysPositions, isInverted, isDayAnimationEnabled]);
249
+ return (<View style={[
250
+ styles.contentContainerStyle,
251
+ isAlignedTop ? styles.containerAlignTop : stylesCommon.fill,
252
+ ]}>
253
+ <AnimatedFlatList ref={forwardRef} keyExtractor={keyExtractor} data={messages} renderItem={renderItem} inverted={isInverted} automaticallyAdjustContentInsets={false} style={stylesCommon.fill} contentContainerStyle={styles.messagesContainer} ListEmptyComponent={renderChatEmpty} ListFooterComponent={isInverted ? ListHeaderComponent : <>{ListFooterComponent}</>} ListHeaderComponent={isInverted ? <>{ListFooterComponent}</> : ListHeaderComponent} scrollEventThrottle={1} onEndReached={onEndReached} onEndReachedThreshold={0.1} keyboardDismissMode='interactive' keyboardShouldPersistTaps='handled' {...listProps} onScroll={scrollHandler} onLayout={onLayoutList} CellRendererComponent={renderCell}/>
254
+ <ScrollToBottomWrapper />
255
+ {isDayAnimationEnabled && (<DayAnimated scrolledY={scrolledY} daysPositions={daysPositions} listHeight={listHeight} renderDay={renderDayProp} messages={messages} isLoading={loadEarlierMessagesProps?.isLoading ?? false} dateFormat={props.dateFormat} dateFormatCalendar={props.dateFormatCalendar}/>)}
256
+ </View>);
257
+ };
258
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MessagesContainer/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ declare const _default: {
2
+ containerAlignTop: {
3
+ flexDirection: "row";
4
+ alignItems: "flex-start";
5
+ };
6
+ contentContainerStyle: {
7
+ flexGrow: number;
8
+ justifyContent: "flex-start";
9
+ };
10
+ messagesContainer: {
11
+ paddingBottom: number;
12
+ };
13
+ emptyChatContainer: {
14
+ transform: {
15
+ scaleY: number;
16
+ }[];
17
+ };
18
+ scrollToBottom: {
19
+ position: "absolute";
20
+ right: number;
21
+ bottom: number;
22
+ zIndex: number;
23
+ };
24
+ scrollToBottomContent: {
25
+ height: number;
26
+ width: number;
27
+ borderRadius: number;
28
+ backgroundColor: string;
29
+ } | {
30
+ shadowColor: string;
31
+ shadowOpacity: number;
32
+ shadowOffset: {
33
+ width: number;
34
+ height: number;
35
+ };
36
+ shadowRadius: number;
37
+ elevation?: undefined;
38
+ height: number;
39
+ width: number;
40
+ borderRadius: number;
41
+ backgroundColor: string;
42
+ } | {
43
+ elevation: number;
44
+ shadowColor?: undefined;
45
+ shadowOpacity?: undefined;
46
+ shadowOffset?: undefined;
47
+ shadowRadius?: undefined;
48
+ height: number;
49
+ width: number;
50
+ borderRadius: number;
51
+ backgroundColor: string;
52
+ };
53
+ };
54
+ export default _default;
55
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/MessagesContainer/styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAsCE"}