@sendbird/uikit-react 3.7.0-rc.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/App.js +52 -52
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +46 -46
  4. package/Channel/components/FileViewer.js +19 -19
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +33 -33
  8. package/Channel/components/MessageList.js +42 -42
  9. package/Channel/components/RemoveMessageModal.js +23 -23
  10. package/Channel/components/SuggestedMentionList.js +19 -19
  11. package/Channel/components/TypingIndicator.js +18 -18
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +15 -15
  14. package/Channel/utils/compareMessagesForGrouping.js +6 -6
  15. package/Channel/utils/getMessagePartsInfo.js +7 -7
  16. package/Channel.js +46 -46
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +32 -32
  20. package/ChannelList/components/ChannelPreview.js +30 -30
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +8 -8
  23. package/ChannelList.js +32 -32
  24. package/{ChannelListProvider-f520f5b3.js → ChannelListProvider-eccd99c6.js} +8 -8
  25. package/{ChannelListProvider-f520f5b3.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
  26. package/{ChannelProvider-7f6fd1f8.js → ChannelProvider-9ba5893a.js} +42 -43
  27. package/ChannelProvider-9ba5893a.js.map +1 -0
  28. package/ChannelSettings/components/ChannelProfile.js +14 -14
  29. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  30. package/ChannelSettings/components/EditDetailsModal.js +14 -14
  31. package/ChannelSettings/components/LeaveChannel.js +13 -13
  32. package/ChannelSettings/components/ModerationPanel.js +15 -15
  33. package/ChannelSettings/components/UserListItem.js +11 -11
  34. package/ChannelSettings/components/UserPanel.js +14 -14
  35. package/ChannelSettings/context.js +3 -3
  36. package/ChannelSettings.js +17 -17
  37. package/CreateChannel/components/CreateChannelUI.js +14 -14
  38. package/CreateChannel/components/InviteUsers.js +14 -14
  39. package/CreateChannel/components/SelectChannelType.js +11 -11
  40. package/CreateChannel/context.js +3 -3
  41. package/CreateChannel.js +14 -14
  42. package/{CreateChannelProvider-c25dd81b.js → CreateChannelProvider-a2885972.js} +1 -1
  43. package/{CreateChannelProvider-c25dd81b.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
  44. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  45. package/CreateOpenChannel/context.js +1 -1
  46. package/CreateOpenChannel.js +12 -12
  47. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  48. package/EditUserProfile.js +13 -13
  49. package/{LocalizationContext-d18a86d8.js → LocalizationContext-287ee149.js} +3 -3
  50. package/{LocalizationContext-d18a86d8.js.map → LocalizationContext-287ee149.js.map} +1 -1
  51. package/{MediaQueryContext-3eeeec4f.js → MediaQueryContext-114ca049.js} +1 -1
  52. package/{MediaQueryContext-3eeeec4f.js.map → MediaQueryContext-114ca049.js.map} +1 -1
  53. package/{MemberList-469dae9b.js → MemberList-4e71a841.js} +7 -7
  54. package/{MemberList-469dae9b.js.map → MemberList-4e71a841.js.map} +1 -1
  55. package/MessageSearch/components/MessageSearchUI.js +12 -12
  56. package/MessageSearch/context.js +1 -1
  57. package/MessageSearch.js +12 -12
  58. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  59. package/OpenChannel/components/OpenChannelHeader.js +11 -11
  60. package/OpenChannel/components/OpenChannelInput.js +21 -21
  61. package/OpenChannel/components/OpenChannelMessage.js +32 -32
  62. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  63. package/OpenChannel/components/OpenChannelUI.js +34 -34
  64. package/OpenChannel/context.js +7 -7
  65. package/OpenChannel.js +34 -34
  66. package/OpenChannelList/components/OpenChannelListUI.js +14 -14
  67. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  68. package/OpenChannelList/context.js +2 -2
  69. package/OpenChannelList.js +14 -14
  70. package/{OpenChannelListProvider-24e735a1.js → OpenChannelListProvider-45d4ab54.js} +2 -2
  71. package/{OpenChannelListProvider-24e735a1.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
  72. package/{OpenChannelProvider-e9cb0f98.js → OpenChannelProvider-9818f9ed.js} +6 -6
  73. package/{OpenChannelProvider-e9cb0f98.js.map → OpenChannelProvider-9818f9ed.js.map} +1 -1
  74. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  75. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  76. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  77. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  78. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  79. package/OpenChannelSettings/context.js +3 -3
  80. package/OpenChannelSettings.js +17 -17
  81. package/{RemoveMessageModal-f0cd37a5.js → RemoveMessageModal-007c2f04.js} +6 -6
  82. package/{RemoveMessageModal-f0cd37a5.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
  83. package/SendbirdProvider.js +18 -18
  84. package/SendbirdProvider.js.map +1 -1
  85. package/Thread/components/ParentMessageInfo.js +38 -38
  86. package/Thread/components/ParentMessageInfoItem.js +25 -25
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +42 -42
  89. package/Thread/components/ThreadListItem.js +42 -42
  90. package/Thread/components/ThreadMessageInput.js +33 -33
  91. package/Thread/components/ThreadUI.js +45 -45
  92. package/Thread/context.js +12 -10
  93. package/Thread/context.js.map +1 -1
  94. package/Thread.js +45 -45
  95. package/{UserProfileContext-26e71f9a.js → UserProfileContext-2001a468.js} +1 -1
  96. package/{UserProfileContext-26e71f9a.js.map → UserProfileContext-2001a468.js.map} +1 -1
  97. package/VoicePlayer/context.js +3 -3
  98. package/VoicePlayer/useVoicePlayer.js +12 -12
  99. package/VoiceRecorder/context.js +12 -12
  100. package/VoiceRecorder/useVoiceRecorder.js +11 -11
  101. package/{WebAudioUtils-dbb010a5.js → WebAudioUtils-31f7c8eb.js} +2 -2
  102. package/{WebAudioUtils-dbb010a5.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
  103. package/{_rollupPluginBabelHelpers-07dcbc2b.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
  104. package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
  105. package/{actionTypes-3cd49b5c.js → actionTypes-324495ed.js} +1 -1
  106. package/{actionTypes-3cd49b5c.js.map → actionTypes-324495ed.js.map} +1 -1
  107. package/cjs/App.js +52 -52
  108. package/cjs/Channel/components/ChannelHeader.js +22 -22
  109. package/cjs/Channel/components/ChannelUI.js +46 -46
  110. package/cjs/Channel/components/FileViewer.js +19 -19
  111. package/cjs/Channel/components/FrozenNotification.js +4 -4
  112. package/cjs/Channel/components/Message.js +42 -42
  113. package/cjs/Channel/components/MessageInput.js +33 -33
  114. package/cjs/Channel/components/MessageList.js +42 -42
  115. package/cjs/Channel/components/RemoveMessageModal.js +23 -23
  116. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  117. package/cjs/Channel/components/TypingIndicator.js +18 -18
  118. package/cjs/Channel/components/UnreadCount.js +4 -4
  119. package/cjs/Channel/context.js +15 -15
  120. package/cjs/Channel/utils/compareMessagesForGrouping.js +6 -6
  121. package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
  122. package/cjs/Channel.js +46 -46
  123. package/cjs/ChannelList/components/AddChannel.js +16 -16
  124. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  125. package/cjs/ChannelList/components/ChannelListUI.js +32 -32
  126. package/cjs/ChannelList/components/ChannelPreview.js +30 -30
  127. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  128. package/cjs/ChannelList/context.js +8 -8
  129. package/cjs/ChannelList.js +32 -32
  130. package/cjs/{ChannelListProvider-a418de2e.js → ChannelListProvider-d0ad5a84.js} +8 -8
  131. package/cjs/{ChannelListProvider-a418de2e.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
  132. package/cjs/{ChannelProvider-7fa98120.js → ChannelProvider-fc111e5f.js} +42 -43
  133. package/cjs/ChannelProvider-fc111e5f.js.map +1 -0
  134. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  136. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
  137. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  138. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  140. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  141. package/cjs/ChannelSettings/context.js +3 -3
  142. package/cjs/ChannelSettings.js +17 -17
  143. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  144. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  145. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  146. package/cjs/CreateChannel/context.js +3 -3
  147. package/cjs/CreateChannel.js +14 -14
  148. package/cjs/{CreateChannelProvider-70c9cb7c.js → CreateChannelProvider-c3c843e4.js} +1 -1
  149. package/cjs/{CreateChannelProvider-70c9cb7c.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
  150. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  151. package/cjs/CreateOpenChannel/context.js +1 -1
  152. package/cjs/CreateOpenChannel.js +12 -12
  153. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  154. package/cjs/EditUserProfile.js +13 -13
  155. package/cjs/{LocalizationContext-5009012e.js → LocalizationContext-58b6ed7c.js} +3 -3
  156. package/cjs/{LocalizationContext-5009012e.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
  157. package/cjs/{MediaQueryContext-d6fdbe43.js → MediaQueryContext-6141d955.js} +1 -1
  158. package/cjs/{MediaQueryContext-d6fdbe43.js.map → MediaQueryContext-6141d955.js.map} +1 -1
  159. package/cjs/{MemberList-529a0086.js → MemberList-2bd3db33.js} +7 -7
  160. package/cjs/{MemberList-529a0086.js.map → MemberList-2bd3db33.js.map} +1 -1
  161. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  162. package/cjs/MessageSearch/context.js +1 -1
  163. package/cjs/MessageSearch.js +12 -12
  164. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  165. package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
  166. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  170. package/cjs/OpenChannel/context.js +7 -7
  171. package/cjs/OpenChannel.js +34 -34
  172. package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
  173. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  174. package/cjs/OpenChannelList/context.js +2 -2
  175. package/cjs/OpenChannelList.js +14 -14
  176. package/cjs/{OpenChannelListProvider-0b8cd3bf.js → OpenChannelListProvider-a8560978.js} +2 -2
  177. package/cjs/{OpenChannelListProvider-0b8cd3bf.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
  178. package/cjs/{OpenChannelProvider-d8cc11fe.js → OpenChannelProvider-39f13647.js} +6 -6
  179. package/cjs/{OpenChannelProvider-d8cc11fe.js.map → OpenChannelProvider-39f13647.js.map} +1 -1
  180. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  181. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  182. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  183. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  184. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  185. package/cjs/OpenChannelSettings/context.js +3 -3
  186. package/cjs/OpenChannelSettings.js +17 -17
  187. package/cjs/{RemoveMessageModal-f029d40e.js → RemoveMessageModal-afc3e268.js} +6 -6
  188. package/cjs/{RemoveMessageModal-f029d40e.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
  189. package/cjs/SendbirdProvider.js +18 -18
  190. package/cjs/SendbirdProvider.js.map +1 -1
  191. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  192. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  193. package/cjs/Thread/components/ThreadHeader.js +6 -6
  194. package/cjs/Thread/components/ThreadList.js +42 -42
  195. package/cjs/Thread/components/ThreadListItem.js +42 -42
  196. package/cjs/Thread/components/ThreadMessageInput.js +33 -33
  197. package/cjs/Thread/components/ThreadUI.js +45 -45
  198. package/cjs/Thread/context.js +12 -10
  199. package/cjs/Thread/context.js.map +1 -1
  200. package/cjs/Thread.js +45 -45
  201. package/cjs/{UserProfileContext-922a43ec.js → UserProfileContext-c6d7abb7.js} +1 -1
  202. package/cjs/{UserProfileContext-922a43ec.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
  205. package/cjs/VoiceRecorder/context.js +12 -12
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
  207. package/cjs/{WebAudioUtils-29717597.js → WebAudioUtils-36803ab2.js} +2 -2
  208. package/cjs/{WebAudioUtils-29717597.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
  209. package/cjs/{_rollupPluginBabelHelpers-94c18dc1.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
  210. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
  211. package/cjs/{actionTypes-7fa02f94.js → actionTypes-327123b5.js} +1 -1
  212. package/cjs/{actionTypes-7fa02f94.js.map → actionTypes-327123b5.js.map} +1 -1
  213. package/cjs/{color-477ddbd4.js → color-5bf5a8f5.js} +1 -1
  214. package/cjs/{color-477ddbd4.js.map → color-5bf5a8f5.js.map} +1 -1
  215. package/cjs/{compareIds-de541666.js → compareIds-28c6af62.js} +1 -1
  216. package/cjs/{compareIds-de541666.js.map → compareIds-28c6af62.js.map} +1 -1
  217. package/cjs/{const-640252c1.js → const-876980e8.js} +1 -1
  218. package/cjs/{const-640252c1.js.map → const-876980e8.js.map} +1 -1
  219. package/cjs/{const-9def5c09.js → const-c9e7a340.js} +1 -1
  220. package/cjs/{const-9def5c09.js.map → const-c9e7a340.js.map} +1 -1
  221. package/cjs/{consts-a3b7ae99.js → consts-61d83828.js} +1 -1
  222. package/cjs/{consts-a3b7ae99.js.map → consts-61d83828.js.map} +1 -1
  223. package/cjs/{consts-54f5c12d.js → consts-b3c4f548.js} +1 -1
  224. package/cjs/{consts-54f5c12d.js.map → consts-b3c4f548.js.map} +1 -1
  225. package/cjs/{consts-85cd42fa.js → consts-b711321c.js} +1 -1
  226. package/cjs/{consts-85cd42fa.js.map → consts-b711321c.js.map} +1 -1
  227. package/cjs/{consts-95462b21.js → consts-f54b15c2.js} +1 -1
  228. package/cjs/{consts-95462b21.js.map → consts-f54b15c2.js.map} +1 -1
  229. package/cjs/{context-9814fafe.js → context-6684538e.js} +2 -2
  230. package/cjs/{context-9814fafe.js.map → context-6684538e.js.map} +1 -1
  231. package/cjs/dist/index.css +55 -55
  232. package/cjs/dist/index.css.map +1 -1
  233. package/cjs/hooks/useModal.js +11 -11
  234. package/cjs/{index-826b76d5.js → index-134e9852.js} +2 -2
  235. package/cjs/{index-826b76d5.js.map → index-134e9852.js.map} +1 -1
  236. package/cjs/{index-b6d51e74.js → index-3448df64.js} +2 -2
  237. package/cjs/{index-b6d51e74.js.map → index-3448df64.js.map} +1 -1
  238. package/cjs/{index-80a11b6a.js → index-45933be9.js} +2 -2
  239. package/cjs/{index-80a11b6a.js.map → index-45933be9.js.map} +1 -1
  240. package/cjs/{index-ee3bf381.js → index-4c378655.js} +4 -4
  241. package/cjs/{index-ee3bf381.js.map → index-4c378655.js.map} +1 -1
  242. package/cjs/{index-6b0644d7.js → index-4e939c26.js} +9 -9
  243. package/cjs/{index-6b0644d7.js.map → index-4e939c26.js.map} +1 -1
  244. package/cjs/{index-aeb36f01.js → index-520e12b8.js} +7 -7
  245. package/cjs/{index-aeb36f01.js.map → index-520e12b8.js.map} +1 -1
  246. package/cjs/{index-609b07a2.js → index-54279ec2.js} +1 -1
  247. package/cjs/{index-609b07a2.js.map → index-54279ec2.js.map} +1 -1
  248. package/cjs/{index-c22e0cbf.js → index-692ea6aa.js} +2 -2
  249. package/cjs/{index-c22e0cbf.js.map → index-692ea6aa.js.map} +1 -1
  250. package/cjs/{index-83d2aed9.js → index-7627b546.js} +3 -3
  251. package/cjs/{index-83d2aed9.js.map → index-7627b546.js.map} +1 -1
  252. package/cjs/{index-0ec5a831.js → index-a95c4ab4.js} +3 -3
  253. package/cjs/{index-0ec5a831.js.map → index-a95c4ab4.js.map} +1 -1
  254. package/cjs/{index-35820a94.js → index-b5a9b4b7.js} +2 -2
  255. package/cjs/{index-35820a94.js.map → index-b5a9b4b7.js.map} +1 -1
  256. package/cjs/{index-daf80c58.js → index-b8ba4548.js} +1 -1
  257. package/cjs/{index-daf80c58.js.map → index-b8ba4548.js.map} +1 -1
  258. package/cjs/{index-7b0c6630.js → index-bc6623d7.js} +11 -11
  259. package/cjs/{index-7b0c6630.js.map → index-bc6623d7.js.map} +1 -1
  260. package/cjs/{index-bdf7089c.js → index-cc2e05a4.js} +5 -5
  261. package/cjs/{index-bdf7089c.js.map → index-cc2e05a4.js.map} +1 -1
  262. package/cjs/{index-e81e2882.js → index-ce07a2a3.js} +4 -4
  263. package/cjs/{index-e81e2882.js.map → index-ce07a2a3.js.map} +1 -1
  264. package/cjs/{index-b995f638.js → index-dbe8dd84.js} +3 -3
  265. package/cjs/{index-b995f638.js.map → index-dbe8dd84.js.map} +1 -1
  266. package/cjs/{index-0a25b9b2.js → index-e5e6d9b0.js} +4 -4
  267. package/cjs/{index-0a25b9b2.js.map → index-e5e6d9b0.js.map} +1 -1
  268. package/cjs/{index-fd8a0abb.js → index-e8928da6.js} +1 -1
  269. package/cjs/{index-fd8a0abb.js.map → index-e8928da6.js.map} +1 -1
  270. package/cjs/index.js +56 -56
  271. package/cjs/{resolvedReplyType-c20ef661.js → resolvedReplyType-c4564ebe.js} +1 -1
  272. package/cjs/{resolvedReplyType-c20ef661.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
  273. package/cjs/sendbirdSelectors.js +1 -1
  274. package/cjs/{stringFormatterUtils-e324636c.js → stringFormatterUtils-92dbef3c.js} +3 -3
  275. package/cjs/{stringFormatterUtils-e324636c.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
  276. package/cjs/{stringSet-98b52c49.js → stringSet-1539ac47.js} +1 -1
  277. package/cjs/{stringSet-98b52c49.js.map → stringSet-1539ac47.js.map} +1 -1
  278. package/cjs/{tokenize-91bdbeb0.js → tokenize-d5286fa8.js} +3 -3
  279. package/cjs/{tokenize-91bdbeb0.js.map → tokenize-d5286fa8.js.map} +1 -1
  280. package/cjs/{tslib.es6-2f2b0bca.js → tslib.es6-c74b513f.js} +1 -1
  281. package/cjs/{tslib.es6-2f2b0bca.js.map → tslib.es6-c74b513f.js.map} +1 -1
  282. package/cjs/{types-66554668.js → types-d0d770c3.js} +1 -1
  283. package/cjs/{types-66554668.js.map → types-d0d770c3.js.map} +1 -1
  284. package/cjs/{types-31ed2276.js → types-feda9656.js} +1 -1
  285. package/cjs/{types-31ed2276.js.map → types-feda9656.js.map} +1 -1
  286. package/cjs/ui/Accordion.js +3 -3
  287. package/cjs/ui/AccordionGroup.js +2 -2
  288. package/cjs/ui/AdminMessage.js +3 -3
  289. package/cjs/ui/Avatar.js +2 -2
  290. package/cjs/ui/Badge.js +5 -5
  291. package/cjs/ui/BottomSheet.js +6 -6
  292. package/cjs/ui/Button.js +4 -4
  293. package/cjs/ui/ChannelAvatar.js +3 -3
  294. package/cjs/ui/ConnectionStatus.js +4 -4
  295. package/cjs/ui/ContextMenu.js +6 -6
  296. package/cjs/ui/DateSeparator.js +4 -4
  297. package/cjs/ui/EmojiReactions.js +15 -15
  298. package/cjs/ui/FileMessageItemBody.js +7 -7
  299. package/cjs/ui/FileViewer.js +14 -14
  300. package/cjs/ui/IconButton.js +1 -1
  301. package/cjs/ui/ImageRenderer.js +1 -1
  302. package/cjs/ui/Input.js +2 -2
  303. package/cjs/ui/Label.js +2 -2
  304. package/cjs/ui/LinkLabel.js +2 -2
  305. package/cjs/ui/Loader.js +1 -1
  306. package/cjs/ui/MentionLabel.js +11 -11
  307. package/cjs/ui/MentionUserLabel.js +1 -1
  308. package/cjs/ui/MessageContent.js +37 -37
  309. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
  310. package/cjs/ui/MessageInput.js +16 -16
  311. package/cjs/ui/MessageItemMenu.js +19 -19
  312. package/cjs/ui/MessageItemReactionMenu.js +10 -10
  313. package/cjs/ui/MessageSearchFileItem.js +12 -12
  314. package/cjs/ui/MessageSearchItem.js +9 -9
  315. package/cjs/ui/MessageStatus.js +11 -11
  316. package/cjs/ui/Modal.js +10 -10
  317. package/cjs/ui/OGMessageItemBody.js +14 -14
  318. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  319. package/cjs/ui/OpenChannelAvatar.js +6 -6
  320. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  321. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  322. package/cjs/ui/OpenchannelOGMessage.js +19 -19
  323. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  324. package/cjs/ui/OpenchannelUserMessage.js +17 -17
  325. package/cjs/ui/PlaceHolder.js +5 -5
  326. package/cjs/ui/PlaybackTime.js +2 -2
  327. package/cjs/ui/QuoteMessage.js +8 -8
  328. package/cjs/ui/QuoteMessageInput.js +8 -8
  329. package/cjs/ui/ReactionBadge.js +3 -3
  330. package/cjs/ui/ReactionButton.js +5 -5
  331. package/cjs/ui/SortByRow.js +2 -2
  332. package/cjs/ui/TextButton.js +2 -2
  333. package/cjs/ui/TextMessageItemBody.js +14 -14
  334. package/cjs/ui/ThreadReplies.js +6 -6
  335. package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
  336. package/cjs/ui/Toggle.js +1 -1
  337. package/cjs/ui/Tooltip.js +3 -3
  338. package/cjs/ui/TooltipWrapper.js +1 -1
  339. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  340. package/cjs/ui/UserListItem.js +11 -11
  341. package/cjs/ui/UserProfile.js +9 -9
  342. package/cjs/ui/VoiceMessageItemBody.js +12 -12
  343. package/cjs/ui/VoiceMessgeInput.js +8 -8
  344. package/cjs/ui/Word.js +11 -11
  345. package/cjs/{useHandleUploadFiles-fbe6ad64.js → useHandleUploadFiles-39e8d107.js} +11 -11
  346. package/cjs/{useHandleUploadFiles-fbe6ad64.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
  347. package/cjs/{useLongPress-c1da8ba7.js → useLongPress-18b7af79.js} +3 -3
  348. package/cjs/{useLongPress-c1da8ba7.js.map → useLongPress-18b7af79.js.map} +1 -1
  349. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
  350. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
  351. package/cjs/useSendbirdStateContext.js +1 -1
  352. package/cjs/{useStatefulFileInfoList-aa70b6b9.js → useStatefulFileInfoList-c510792f.js} +4 -4
  353. package/cjs/{useStatefulFileInfoList-aa70b6b9.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
  354. package/cjs/utils/message/isVoiceMessage.js +3 -3
  355. package/cjs/{utils-46483130.js → utils-1d0f1e0c.js} +1 -1
  356. package/cjs/{utils-46483130.js.map → utils-1d0f1e0c.js.map} +1 -1
  357. package/cjs/{utils-55fc6797.js → utils-9193a195.js} +4 -4
  358. package/cjs/{utils-55fc6797.js.map → utils-9193a195.js.map} +1 -1
  359. package/cjs/{utils-851724e0.js → utils-93ca9d57.js} +3 -3
  360. package/cjs/{utils-851724e0.js.map → utils-93ca9d57.js.map} +1 -1
  361. package/cjs/{utils-e313131f.js → utils-98441ba6.js} +1 -1
  362. package/cjs/{utils-e313131f.js.map → utils-98441ba6.js.map} +1 -1
  363. package/cjs/{utils-0fac6ad1.js → utils-e6c4b2b0.js} +2 -2
  364. package/cjs/{utils-0fac6ad1.js.map → utils-e6c4b2b0.js.map} +1 -1
  365. package/cjs/{utils-180c6bc8.js → utils-eb6d90e0.js} +1 -1
  366. package/cjs/{utils-180c6bc8.js.map → utils-eb6d90e0.js.map} +1 -1
  367. package/cjs/{uuid-c74bbbb6.js → uuid-9a117e16.js} +1 -1
  368. package/cjs/{uuid-c74bbbb6.js.map → uuid-9a117e16.js.map} +1 -1
  369. package/cjs/withSendbird.js +1 -1
  370. package/{color-1383d4ab.js → color-57373b4c.js} +1 -1
  371. package/{color-1383d4ab.js.map → color-57373b4c.js.map} +1 -1
  372. package/{compareIds-b56b02f1.js → compareIds-7e517404.js} +1 -1
  373. package/{compareIds-b56b02f1.js.map → compareIds-7e517404.js.map} +1 -1
  374. package/{const-e3326913.js → const-73db0277.js} +1 -1
  375. package/{const-e3326913.js.map → const-73db0277.js.map} +1 -1
  376. package/{const-4bc3721f.js → const-93731a4c.js} +1 -1
  377. package/{const-4bc3721f.js.map → const-93731a4c.js.map} +1 -1
  378. package/{consts-f0ba9b80.js → consts-4ec7d640.js} +1 -1
  379. package/{consts-f0ba9b80.js.map → consts-4ec7d640.js.map} +1 -1
  380. package/{consts-7f4d53a3.js → consts-57c888b9.js} +1 -1
  381. package/{consts-7f4d53a3.js.map → consts-57c888b9.js.map} +1 -1
  382. package/{consts-833420ed.js → consts-be37687e.js} +1 -1
  383. package/{consts-833420ed.js.map → consts-be37687e.js.map} +1 -1
  384. package/{consts-aa64aca8.js → consts-d9c5f25a.js} +1 -1
  385. package/{consts-aa64aca8.js.map → consts-d9c5f25a.js.map} +1 -1
  386. package/{context-ae47ac54.js → context-729493c4.js} +2 -2
  387. package/{context-ae47ac54.js.map → context-729493c4.js.map} +1 -1
  388. package/dist/index.css +55 -55
  389. package/dist/index.css.map +1 -1
  390. package/hooks/useModal.js +11 -11
  391. package/{index-c7ed4aef.js → index-04bd1a59.js} +1 -1
  392. package/{index-c7ed4aef.js.map → index-04bd1a59.js.map} +1 -1
  393. package/{index-c6095960.js → index-09847c0f.js} +1 -1
  394. package/{index-c6095960.js.map → index-09847c0f.js.map} +1 -1
  395. package/{index-7a1085b6.js → index-0f017704.js} +11 -11
  396. package/{index-7a1085b6.js.map → index-0f017704.js.map} +1 -1
  397. package/{index-c81fd6ec.js → index-2d27aeef.js} +2 -2
  398. package/{index-c81fd6ec.js.map → index-2d27aeef.js.map} +1 -1
  399. package/{index-ec0c048b.js → index-493689bd.js} +4 -4
  400. package/{index-ec0c048b.js.map → index-493689bd.js.map} +1 -1
  401. package/{index-1969ccd8.js → index-494f9e79.js} +2 -2
  402. package/{index-1969ccd8.js.map → index-494f9e79.js.map} +1 -1
  403. package/{index-942c5fa2.js → index-4b4e9682.js} +7 -7
  404. package/{index-942c5fa2.js.map → index-4b4e9682.js.map} +1 -1
  405. package/{index-89b3b8ba.js → index-62d5f020.js} +9 -9
  406. package/{index-89b3b8ba.js.map → index-62d5f020.js.map} +1 -1
  407. package/{index-1432c287.js → index-682a192c.js} +2 -2
  408. package/{index-1432c287.js.map → index-682a192c.js.map} +1 -1
  409. package/{index-8c72f0bd.js → index-686a551d.js} +2 -2
  410. package/{index-8c72f0bd.js.map → index-686a551d.js.map} +1 -1
  411. package/{index-40447645.js → index-6b3b1eca.js} +5 -5
  412. package/{index-40447645.js.map → index-6b3b1eca.js.map} +1 -1
  413. package/{index-fc1642cb.js → index-776554c0.js} +3 -3
  414. package/{index-fc1642cb.js.map → index-776554c0.js.map} +1 -1
  415. package/{index-12103973.js → index-92741c7e.js} +2 -2
  416. package/{index-12103973.js.map → index-92741c7e.js.map} +1 -1
  417. package/{index-3d508585.js → index-a0638563.js} +4 -4
  418. package/{index-3d508585.js.map → index-a0638563.js.map} +1 -1
  419. package/{index-eec0ce47.js → index-c22e4772.js} +4 -4
  420. package/{index-eec0ce47.js.map → index-c22e4772.js.map} +1 -1
  421. package/{index-124a5766.js → index-e04159fe.js} +3 -3
  422. package/{index-124a5766.js.map → index-e04159fe.js.map} +1 -1
  423. package/{index-d3f61405.js → index-e4277f9c.js} +1 -1
  424. package/{index-d3f61405.js.map → index-e4277f9c.js.map} +1 -1
  425. package/{index-dc1827ea.js → index-f8a9cb51.js} +3 -3
  426. package/{index-dc1827ea.js.map → index-f8a9cb51.js.map} +1 -1
  427. package/index.d.ts +1 -1
  428. package/index.js +56 -56
  429. package/package.json +1 -1
  430. package/{resolvedReplyType-0532593c.js → resolvedReplyType-fb987595.js} +1 -1
  431. package/{resolvedReplyType-0532593c.js.map → resolvedReplyType-fb987595.js.map} +1 -1
  432. package/sendbirdSelectors.js +1 -1
  433. package/{stringFormatterUtils-444f6f4c.js → stringFormatterUtils-abbe70ba.js} +3 -3
  434. package/{stringFormatterUtils-444f6f4c.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
  435. package/{stringSet-1106c8ec.js → stringSet-6422c6b9.js} +1 -1
  436. package/{stringSet-1106c8ec.js.map → stringSet-6422c6b9.js.map} +1 -1
  437. package/{tokenize-d17bf862.js → tokenize-eae44765.js} +3 -3
  438. package/{tokenize-d17bf862.js.map → tokenize-eae44765.js.map} +1 -1
  439. package/{tslib.es6-0c779aab.js → tslib.es6-c2fb729e.js} +1 -1
  440. package/{tslib.es6-0c779aab.js.map → tslib.es6-c2fb729e.js.map} +1 -1
  441. package/{types-50e412d8.js → types-781e0bab.js} +1 -1
  442. package/{types-50e412d8.js.map → types-781e0bab.js.map} +1 -1
  443. package/{types-4ffc52f6.js → types-9d43ac6e.js} +1 -1
  444. package/{types-4ffc52f6.js.map → types-9d43ac6e.js.map} +1 -1
  445. package/ui/Accordion.js +3 -3
  446. package/ui/AccordionGroup.js +2 -2
  447. package/ui/AdminMessage.js +3 -3
  448. package/ui/Avatar.js +2 -2
  449. package/ui/Badge.js +5 -5
  450. package/ui/BottomSheet.js +6 -6
  451. package/ui/Button.js +5 -5
  452. package/ui/ChannelAvatar.js +3 -3
  453. package/ui/ConnectionStatus.js +4 -4
  454. package/ui/ContextMenu.js +6 -6
  455. package/ui/DateSeparator.js +4 -4
  456. package/ui/EmojiReactions.js +15 -15
  457. package/ui/FileMessageItemBody.js +7 -7
  458. package/ui/FileViewer.js +14 -14
  459. package/ui/IconButton.js +1 -1
  460. package/ui/ImageRenderer.js +1 -1
  461. package/ui/Input.js +2 -2
  462. package/ui/Label.js +2 -2
  463. package/ui/LinkLabel.js +2 -2
  464. package/ui/Loader.js +1 -1
  465. package/ui/MentionLabel.js +11 -11
  466. package/ui/MentionUserLabel.js +1 -1
  467. package/ui/MessageContent.js +37 -37
  468. package/ui/MessageInput/hooks/usePaste.js +5 -5
  469. package/ui/MessageInput.js +16 -16
  470. package/ui/MessageItemMenu.js +19 -19
  471. package/ui/MessageItemReactionMenu.js +10 -10
  472. package/ui/MessageSearchFileItem.js +12 -12
  473. package/ui/MessageSearchItem.js +9 -9
  474. package/ui/MessageStatus.js +11 -11
  475. package/ui/Modal.js +10 -10
  476. package/ui/OGMessageItemBody.js +14 -14
  477. package/ui/OpenChannelAdminMessage.js +3 -3
  478. package/ui/OpenChannelAvatar.js +6 -6
  479. package/ui/OpenchannelConversationHeader.js +6 -6
  480. package/ui/OpenchannelFileMessage.js +17 -17
  481. package/ui/OpenchannelOGMessage.js +19 -19
  482. package/ui/OpenchannelThumbnailMessage.js +16 -16
  483. package/ui/OpenchannelUserMessage.js +17 -17
  484. package/ui/PlaceHolder.js +5 -5
  485. package/ui/PlaybackTime.js +2 -2
  486. package/ui/QuoteMessage.js +8 -8
  487. package/ui/QuoteMessageInput.js +8 -8
  488. package/ui/ReactionBadge.js +3 -3
  489. package/ui/ReactionButton.js +5 -5
  490. package/ui/SortByRow.js +2 -2
  491. package/ui/TextButton.js +2 -2
  492. package/ui/TextMessageItemBody.js +14 -14
  493. package/ui/ThreadReplies.js +6 -6
  494. package/ui/ThumbnailMessageItemBody.js +8 -8
  495. package/ui/Toggle.js +1 -1
  496. package/ui/Tooltip.js +3 -3
  497. package/ui/TooltipWrapper.js +1 -1
  498. package/ui/UnknownMessageItemBody.js +7 -7
  499. package/ui/UserListItem.js +11 -11
  500. package/ui/UserProfile.js +9 -9
  501. package/ui/VoiceMessageItemBody.js +12 -12
  502. package/ui/VoiceMessgeInput.js +8 -8
  503. package/ui/Word.js +11 -11
  504. package/{useHandleUploadFiles-33aff88e.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
  505. package/{useHandleUploadFiles-33aff88e.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
  506. package/{useLongPress-322bb6a3.js → useLongPress-f8655a14.js} +3 -3
  507. package/{useLongPress-322bb6a3.js.map → useLongPress-f8655a14.js.map} +1 -1
  508. package/{useSendMultipleFilesMessage-4489a0f6.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
  509. package/{useSendMultipleFilesMessage-4489a0f6.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
  510. package/useSendbirdStateContext.js +1 -1
  511. package/{useStatefulFileInfoList-dd95f949.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
  512. package/{useStatefulFileInfoList-dd95f949.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
  513. package/utils/message/isVoiceMessage.js +3 -3
  514. package/{utils-48a3ef27.js → utils-2c1f072b.js} +1 -1
  515. package/{utils-48a3ef27.js.map → utils-2c1f072b.js.map} +1 -1
  516. package/{utils-74c161a0.js → utils-6c50a6d1.js} +1 -1
  517. package/{utils-74c161a0.js.map → utils-6c50a6d1.js.map} +1 -1
  518. package/{utils-40040f8e.js → utils-aa4086dc.js} +4 -4
  519. package/{utils-40040f8e.js.map → utils-aa4086dc.js.map} +1 -1
  520. package/{utils-e98a7f8c.js → utils-bfc0ab3b.js} +3 -3
  521. package/{utils-e98a7f8c.js.map → utils-bfc0ab3b.js.map} +1 -1
  522. package/{utils-158c1683.js → utils-fa321757.js} +1 -1
  523. package/{utils-158c1683.js.map → utils-fa321757.js.map} +1 -1
  524. package/{utils-3660243c.js → utils-fc1f5aa0.js} +2 -2
  525. package/{utils-3660243c.js.map → utils-fc1f5aa0.js.map} +1 -1
  526. package/{uuid-3c77ef7b.js → uuid-c15b8b3b.js} +1 -1
  527. package/{uuid-3c77ef7b.js.map → uuid-c15b8b3b.js.map} +1 -1
  528. package/withSendbird.js +1 -1
  529. package/ChannelProvider-7f6fd1f8.js.map +0 -1
  530. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +0 -1
  531. package/cjs/ChannelProvider-7fa98120.js.map +0 -1
  532. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelProvider-fc111e5f.js","sources":["../../src/utils/getIsReactionEnabled.ts","../../src/modules/Channel/context/dux/initialState.ts","../../src/modules/Channel/context/dux/reducers.ts","../../src/modules/Channel/context/hooks/useHandleChannelEvents.ts","../../src/modules/Channel/context/hooks/useGetChannel.js","../../src/modules/Channel/context/hooks/useInitialMessagesFetch.ts","../../src/modules/Channel/context/hooks/useReconnectOnIdle.ts","../../src/modules/Channel/context/hooks/useHandleReconnect.ts","../../src/modules/Channel/context/hooks/useScrollCallback.ts","../../src/modules/Channel/context/hooks/useScrollDownCallback.js","../../src/modules/Channel/context/hooks/useDeleteMessageCallback.js","../../src/modules/Channel/context/hooks/useUpdateMessageCallback.js","../../src/modules/Channel/context/hooks/useResendMessageCallback.js","../../src/modules/Channel/context/hooks/useSendMessageCallback.js","../../src/modules/Channel/context/hooks/useSendFileMessageCallback.js","../../src/modules/Channel/context/hooks/useToggleReactionCallback.js","../../src/modules/Channel/context/hooks/useScrollToMessage.ts","../../src/modules/Channel/context/hooks/useSendVoiceMessageCallback.ts","../../src/modules/Channel/context/hooks/useHandleChannelPubsubEvents.ts","../../src/modules/Channel/context/ChannelProvider.tsx"],"sourcesContent":["/**\n * This function helps consider the every condition\n * related to enabling emoji reaction feature.\n */\n\nexport interface IsReactionEnabledProps {\n isBroadcast?: boolean;\n isSuper?: boolean;\n globalLevel?: boolean;\n moduleLevel?: boolean;\n}\n\nexport function getIsReactionEnabled({\n isBroadcast = false,\n isSuper = false,\n globalLevel = true,\n moduleLevel,\n}: IsReactionEnabledProps): boolean {\n return !(isBroadcast || isSuper) && (moduleLevel ?? globalLevel);\n}\n","import { CoreMessageType, SendableMessageType } from '../../../../utils';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport type { MessageListParams as MessageListParamsInternal } from '../ChannelProvider';\n\nexport interface ChannelInitialStateType {\n allMessages: (SendableMessageType | CoreMessageType)[];\n localMessages: (SendableMessageType | CoreMessageType)[];\n loading: boolean;\n initialized: boolean;\n unreadSince: string;\n isInvalid: boolean;\n currentGroupChannel: GroupChannel | null;\n hasMorePrev: boolean;\n oldestMessageTimeStamp: number;\n hasMoreNext: boolean;\n latestMessageTimeStamp: number;\n emojiContainer: EmojiContainer;\n readStatus: any;\n messageListParams: null | MessageListParamsInternal;\n}\n\nconst initialState: ChannelInitialStateType = {\n initialized: false,\n loading: true,\n allMessages: [],\n /**\n * localMessages: pending & failed messages\n */\n localMessages: [],\n currentGroupChannel: null,\n // for scrollup\n hasMorePrev: false,\n oldestMessageTimeStamp: 0,\n // for scroll down\n // onScrollDownCallback is added for navigation to different timestamps on messageSearch\n // hasMorePrev, onScrollCallback -> scroll up(default behavior)\n // hasMoreNext, onScrollDownCallback -> scroll down\n hasMoreNext: false,\n latestMessageTimeStamp: 0,\n emojiContainer: { emojiCategories: [], emojiHash: '' },\n unreadSince: null,\n /**\n * unreadSince is a formatted date information string\n * It's used only for the {unreadSince && <UnreadCount time={unreadSince} />}\n */\n isInvalid: false,\n readStatus: null,\n messageListParams: null,\n};\n\nexport default initialState;\n","import format from 'date-fns/format';\nimport {\n MessageListParams,\n MultipleFilesMessage,\n SendingStatus,\n} from '@sendbird/chat/message';\nimport { match, P } from 'ts-pattern';\n\nimport * as channelActions from './actionTypes';\nimport type { ChannelActionTypes } from './actionTypes';\nimport compareIds from '../../../../utils/compareIds';\nimport { PREV_RESULT_SIZE, NEXT_RESULT_SIZE } from '../const';\nimport { passUnsuccessfullMessages, mergeAndSortMessages } from '../utils';\nimport {\n CoreMessageType,\n filterMessageListParams,\n isSendableMessage,\n} from '../../../../utils';\nimport { ChannelInitialStateType } from './initialState';\n\nconst getOldestMessageTimeStamp = (messages: CoreMessageType[] = []) => {\n const oldestMessage = messages[0];\n return (oldestMessage && oldestMessage.createdAt) || null;\n};\nconst getLatestMessageTimeStamp = (messages: CoreMessageType[] = []) => {\n const latestMessage = messages[messages.length - 1];\n return (latestMessage && latestMessage.createdAt) || null;\n};\n\nfunction hasReqId<T extends object>(\n message: T,\n): message is T & { reqId: string } {\n return 'reqId' in message;\n}\n\nexport default function channelReducer(\n state: ChannelInitialStateType,\n action: ChannelActionTypes,\n): ChannelInitialStateType {\n return match(action)\n .with({ type: channelActions.RESET_MESSAGES }, () => {\n return {\n ...state,\n // when user switches channel, if the previous channel `hasMorePrev`\n // the onScroll gets called twice, setting hasMorePrev false prevents this\n hasMorePrev: false,\n hasMoreNext: false,\n allMessages: [],\n };\n })\n .with({ type: channelActions.FETCH_INITIAL_MESSAGES_START }, () => {\n return {\n ...state,\n loading: true,\n allMessages: state.allMessages.filter((m) => isSendableMessage(m)\n ? m.sendingStatus !== SendingStatus.SUCCEEDED\n : true,\n ),\n };\n })\n .with({ type: channelActions.FETCH_INITIAL_MESSAGES_SUCCESS }, (action) => {\n const { currentGroupChannel, messages } = action.payload;\n if (!(currentGroupChannel?.url === state.currentGroupChannel?.url)) {\n return state;\n }\n const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);\n const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMorePrev: true,\n hasMoreNext: true,\n oldestMessageTimeStamp,\n latestMessageTimeStamp,\n allMessages: [...messages],\n };\n })\n .with({ type: channelActions.FETCH_PREV_MESSAGES_SUCCESS }, (action) => {\n const { currentGroupChannel, messages } = action.payload;\n if (!(currentGroupChannel?.url === state.currentGroupChannel?.url)) {\n return state;\n }\n const hasMorePrev = (messages?.length ?? 0)\n >= (state?.messageListParams?.prevResultSize ?? PREV_RESULT_SIZE) + 1;\n const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);\n\n // Remove duplicated messages\n const duplicatedMessageIds = [];\n const updatedOldMessages = state.allMessages.map((msg) => {\n const duplicatedMessage = messages.find(({ messageId }) => compareIds(messageId, msg.messageId),\n );\n if (!duplicatedMessage) {\n return msg;\n }\n duplicatedMessageIds.push(duplicatedMessage.messageId);\n return duplicatedMessage.updatedAt > msg.updatedAt\n ? duplicatedMessage\n : msg;\n });\n const filteredNewMessages = duplicatedMessageIds.length > 0\n ? messages.filter(\n (msg) => !duplicatedMessageIds.find((messageId) => compareIds(messageId, msg.messageId),\n ),\n )\n : messages;\n\n return {\n ...state,\n hasMorePrev,\n oldestMessageTimeStamp,\n allMessages: [...filteredNewMessages, ...updatedOldMessages],\n };\n })\n .with({ type: channelActions.FETCH_NEXT_MESSAGES_SUCCESS }, (action) => {\n const { currentGroupChannel, messages } = action.payload;\n if (!(currentGroupChannel?.url === state.currentGroupChannel?.url)) {\n return state;\n }\n const hasMoreNext = (messages?.length ?? 0)\n === (state?.messageListParams?.nextResultSize ?? NEXT_RESULT_SIZE) + 1;\n const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);\n\n // sort ~\n const sortedMessages = mergeAndSortMessages(state.allMessages, messages);\n\n return {\n ...state,\n hasMoreNext,\n latestMessageTimeStamp,\n allMessages: sortedMessages,\n };\n })\n .with(\n {\n type: P.union(\n channelActions.FETCH_INITIAL_MESSAGES_FAILURE,\n channelActions.FETCH_PREV_MESSAGES_FAILURE,\n channelActions.FETCH_NEXT_MESSAGES_FAILURE,\n ),\n },\n (action) => {\n const { currentGroupChannel } = action.payload;\n if (currentGroupChannel?.url !== state?.currentGroupChannel?.url) {\n return state;\n }\n return {\n ...state,\n loading: false,\n initialized: false,\n allMessages: [],\n hasMorePrev: false,\n hasMoreNext: false,\n oldestMessageTimeStamp: null,\n latestMessageTimeStamp: null,\n };\n },\n )\n .with({ type: channelActions.SEND_MESSAGE_START }, (action) => {\n // Message should not be spread here\n // it will loose some methods like `isUserMessage`\n return {\n ...state,\n localMessages: [...state.localMessages, action.payload],\n };\n })\n .with({ type: channelActions.SEND_MESSAGE_SUCCESS }, (action) => {\n const message = action.payload;\n const filteredMessages = state.allMessages.filter(\n (m) => hasReqId(m) && m?.reqId !== message?.reqId,\n );\n // [Policy] Pending messages and failed messages\n // must always be at the end of the message list\n return {\n ...state,\n allMessages: [...filteredMessages, message],\n localMessages: state.localMessages.filter(\n (m) => hasReqId(m) && m?.reqId !== message?.reqId,\n ),\n };\n })\n .with({ type: channelActions.SEND_MESSAGE_FAILURE }, (action) => {\n // @ts-ignore\n action.payload.failed = true;\n return {\n ...state,\n localMessages: state.localMessages.map((m) => compareIds(hasReqId(m) && m.reqId, action.payload.reqId)\n ? action.payload\n : m,\n ),\n };\n })\n .with({ type: channelActions.SET_CURRENT_CHANNEL }, (action) => {\n return {\n ...state,\n currentGroupChannel: action.payload,\n isInvalid: false,\n };\n })\n .with({ type: channelActions.SET_CHANNEL_INVALID }, () => {\n return {\n ...state,\n currentGroupChannel: null,\n isInvalid: true,\n };\n })\n .with({ type: channelActions.ON_MESSAGE_RECEIVED }, (action) => {\n const { channel, message } = action.payload;\n const { members } = channel;\n const { sender } = message;\n const { currentGroupChannel, unreadSince } = state;\n\n const currentGroupChannelUrl = currentGroupChannel?.url;\n\n if (!compareIds(channel?.url, currentGroupChannelUrl)) {\n return state;\n }\n // Excluded overlapping messages\n if (\n state.allMessages.some((msg) => msg.messageId === message.messageId)\n ) {\n return state;\n }\n // Filter by userFilledQuery\n if (\n state.messageListParams\n && !filterMessageListParams(\n state.messageListParams as MessageListParams,\n message,\n )\n ) {\n return state;\n }\n\n if (message.isAdminMessage && message.isAdminMessage()) {\n return {\n ...state,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n\n // Update members when sender profileUrl, nickname, friendName has been changed\n const senderMember = members?.find((m) => m?.userId === sender?.userId);\n if (\n senderMember?.profileUrl !== sender?.profileUrl\n || senderMember?.friendName !== sender?.friendName\n || senderMember?.nickname !== sender?.nickname\n ) {\n // @ts-ignore\n channel.members = members.map((member) => {\n if (member.userId === sender.userId) {\n return sender;\n }\n return member;\n });\n }\n return {\n ...state,\n currentGroupChannel: channel,\n unreadSince: state?.unreadSince\n ? unreadSince\n : format(new Date(), 'p MMM dd'),\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n })\n .with({ type: channelActions.ON_MESSAGE_UPDATED }, (action) => {\n const { channel, message } = action.payload;\n const currentGroupChannelUrl = state?.currentGroupChannel?.url || '';\n if (!compareIds(channel?.url, currentGroupChannelUrl)) {\n return state; // Ignore event when it is not for the current channel\n }\n if (\n state.messageListParams\n && !filterMessageListParams(\n state.messageListParams as MessageListParams,\n message,\n )\n ) {\n // Delete the message if it doesn't match to the params anymore\n return {\n ...state,\n allMessages: state.allMessages.filter(\n (m) => !compareIds(m.messageId, message?.messageId),\n ),\n };\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, message.messageId)) {\n return message;\n }\n if (compareIds(m.parentMessageId, message.messageId)) {\n m.parentMessage = message; // eslint-disable-line no-param-reassign\n }\n return m;\n }),\n };\n })\n .with({ type: channelActions.ON_MESSAGE_THREAD_INFO_UPDATED }, (action) => {\n const { channel, event } = action.payload;\n const { channelUrl, threadInfo, targetMessageId } = event;\n const currentGroupChannelUrl = state?.currentGroupChannel?.url || '';\n if (\n !compareIds(channel?.url, currentGroupChannelUrl)\n || !compareIds(channel?.url, channelUrl)\n ) {\n return state; // Ignore event when it is not for the current channel\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, targetMessageId)) {\n // eslint-disable-next-line no-param-reassign\n m.threadInfo = threadInfo; // Upsert threadInfo to the target message\n }\n return m;\n }),\n };\n })\n .with({ type: channelActions.RESEND_MESSAGE_START }, (action) => {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => compareIds(hasReqId(m) && m.reqId, action.payload.reqId)\n ? action.payload\n : m,\n ),\n };\n })\n .with({ type: channelActions.MARK_AS_READ }, (action) => {\n if (state.currentGroupChannel?.url !== action.payload?.channel?.url) {\n return state;\n }\n return {\n ...state,\n unreadSince: null,\n };\n })\n .with({ type: channelActions.ON_MESSAGE_DELETED }, (action) => {\n return {\n ...state,\n allMessages: state.allMessages.filter(\n (m) => !compareIds(m.messageId, action.payload),\n ),\n };\n })\n .with({ type: channelActions.ON_MESSAGE_DELETED_BY_REQ_ID }, (action) => {\n return {\n ...state,\n localMessages: state.localMessages.filter(\n (m) => !compareIds(hasReqId(m) && m.reqId, action.payload),\n ),\n };\n })\n .with({ type: channelActions.SET_EMOJI_CONTAINER }, (action) => {\n return {\n ...state,\n emojiContainer: action.payload,\n };\n })\n .with({ type: channelActions.ON_REACTION_UPDATED }, (action) => {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, action.payload.messageId)) {\n if (\n m.applyReactionEvent\n && typeof m.applyReactionEvent === 'function'\n ) {\n m.applyReactionEvent(action.payload);\n }\n return m;\n }\n return m;\n }),\n };\n })\n .with({ type: channelActions.MESSAGE_LIST_PARAMS_CHANGED }, (action) => {\n return {\n ...state,\n messageListParams: action.payload,\n };\n })\n .with({ type: channelActions.ON_FILE_INFO_UPLOADED }, (action) => {\n const { channelUrl, requestId, index, uploadableFileInfo, error } = action.payload;\n if (!compareIds(channelUrl, state?.currentGroupChannel?.url)) {\n return state;\n }\n /**\n * We don't have to do anything here because\n * onFailed() will be called so handle error there instead.\n */\n if (error) return state;\n const { localMessages } = state;\n const messageToUpdate = localMessages.find((message) => compareIds(hasReqId(message) && message.reqId, requestId),\n );\n const fileInfoList = (messageToUpdate as MultipleFilesMessage)\n .messageParams?.fileInfoList;\n if (Array.isArray(fileInfoList)) {\n fileInfoList[index] = uploadableFileInfo;\n }\n return {\n ...state,\n localMessages,\n };\n })\n .otherwise(() => state);\n}\n","import { useEffect } from 'react';\nimport { GroupChannel, GroupChannelHandler, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\n\nimport { scrollIntoLast } from '../utils';\n\nimport { CustomUseReducerDispatcher, Logger } from '../../../../lib/SendbirdState';\nimport uuidv4 from '../../../../utils/uuid';\nimport compareIds from '../../../../utils/compareIds';\nimport * as messageActions from '../dux/actionTypes';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { SendableMessageType } from '../../../../utils';\n\n/**\n * Handles ChannelEvents and send values to dispatcher using messagesDispatcher\n * messagesDispatcher: Dispatcher\n * sdk: sdkInstance\n * logger: loggerInstance\n * channelUrl: string\n * sdkInit: bool\n */\ninterface DynamicParams {\n sdkInit: boolean;\n currentUserId: string;\n currentGroupChannel: GroupChannel;\n disableMarkAsRead: boolean;\n}\ninterface StaticParams {\n sdk: SendbirdGroupChat;\n logger: Logger;\n scrollRef: React.RefObject<HTMLDivElement>;\n setQuoteMessage: React.Dispatch<React.SetStateAction<SendableMessageType>>;\n messagesDispatcher: CustomUseReducerDispatcher;\n}\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nfunction useHandleChannelEvents({\n sdkInit,\n currentUserId,\n currentGroupChannel,\n disableMarkAsRead,\n}: DynamicParams, {\n sdk,\n logger,\n scrollRef,\n setQuoteMessage,\n messagesDispatcher,\n}: StaticParams): void {\n const store = useSendbirdStateContext();\n const {\n markAsReadScheduler,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n } = store.config;\n const canSetMarkAsDelivered = store.stores.sdkStore.sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n useEffect(() => {\n const channelUrl = currentGroupChannel?.url;\n const channelHandlerId = uuidv4();\n if (channelUrl && sdkInit) {\n const channelHandler: GroupChannelHandler = {\n onMessageReceived: (channel, message) => {\n if (compareIds(channel?.url, channelUrl)) {\n let scrollToEnd = false;\n try {\n const { current } = scrollRef;\n scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;\n // 10 is a buffer\n } catch (error) {\n //\n }\n\n logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_RECEIVED,\n payload: { channel, message },\n });\n if (scrollToEnd\n && document.getElementById('sendbird-dropdown-portal')?.childElementCount === 0\n && document.getElementById('sendbird-emoji-list-portal')?.childElementCount === 0\n ) {\n // and !openContextMenu\n try {\n setTimeout(() => {\n scrollIntoLast(0, scrollRef);\n });\n if (!disableMarkAsRead) {\n markAsReadScheduler.push(currentGroupChannel);\n }\n if (canSetMarkAsDelivered && !disableMarkAsDelivered) {\n markAsDeliveredScheduler.push(currentGroupChannel);\n }\n } catch (error) {\n logger.warning('Channel | onMessageReceived | scroll to end failed');\n }\n }\n }\n },\n onUnreadMemberStatusUpdated: (channel) => {\n logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);\n if (compareIds(channel?.url, channelUrl)) {\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n // before(onDeliveryReceiptUpdated)\n onUndeliveredMemberStatusUpdated: (channel) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onMessageUpdated: (channel, message) => {\n logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n },\n onThreadInfoUpdated: (channel, threadInfoUpdateEvent) => {\n logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', { channel, threadInfoUpdateEvent });\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_THREAD_INFO_UPDATED,\n payload: { channel, event: threadInfoUpdateEvent },\n });\n },\n onMessageDeleted: (channel, messageId) => {\n logger.info('Channel | useHandleChannelEvents: onMessageDeleted', { channel, messageId });\n setQuoteMessage(null);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n },\n onReactionUpdated: (channel, reactionEvent) => {\n logger.info('Channel | useHandleChannelEvents: onReactionUpdated', { channel, reactionEvent });\n messagesDispatcher({\n type: messageActions.ON_REACTION_UPDATED,\n payload: reactionEvent,\n });\n },\n onChannelChanged: (channel) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onChannelFrozen: (channel) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onChannelUnfrozen: (channel) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onUserMuted: (channel, user) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onUserMuted', { channel, user });\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onUserUnmuted: (channel, user) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onUserUnmuted', { channel, user });\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onUserBanned: (channel, user) => {\n if (compareIds(channel?.url, channelUrl) && user?.userId === sdk?.currentUser?.userId) {\n logger.info('Channel | useHandleChannelEvents: onUserBanned', { channel, user });\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: null,\n });\n }\n },\n onOperatorUpdated: (channel, users) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', { channel, users });\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n }\n },\n onUserLeft: (channel, user) => {\n if (compareIds(channel?.url, channelUrl)) {\n logger.info('Channel | useHandleChannelEvents: onUserLeft', { channel, user });\n if (user?.userId === currentUserId) {\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: null,\n });\n }\n }\n },\n };\n logger.info('Channel | useHandleChannelEvents: Setup event handler', { channelHandlerId, channelHandler });\n // Add this group channel handler to the Sendbird chat instance\n sdk.groupChannel?.addGroupChannelHandler(channelHandlerId, new GroupChannelHandler(channelHandler));\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);\n sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);\n } else if (sdk?.groupChannel) {\n logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');\n }\n };\n }, [currentGroupChannel?.url, sdkInit]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useSetChannel({ channelUrl, sdkInit, disableMarkAsRead }, {\n messagesDispatcher,\n sdk,\n logger,\n markAsReadScheduler,\n}) {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.groupChannel) {\n logger.info('Channel | useSetChannel fetching channel', channelUrl);\n sdk.groupChannel.getChannel(channelUrl)\n .then((groupChannel) => {\n logger.info('Channel | useSetChannel fetched channel', groupChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n\n logger.info('Channel: Mark as read', groupChannel);\n if (!disableMarkAsRead) {\n markAsReadScheduler.push(groupChannel);\n }\n })\n .catch((e) => {\n logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl, e });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n });\n });\n sdk.getAllEmoji().then((emojiContainer_) => {\n logger.info('Channel: Getting emojis success', emojiContainer_);\n messagesDispatcher({\n type: messageActionTypes.SET_EMOJI_CONTAINER,\n payload: emojiContainer_,\n });\n }).catch((err) => {\n logger.error('Channel: Getting emojis failed', err);\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import React, { useEffect } from 'react';\nimport { MessageListParams, ReplyType } from '@sendbird/chat/message';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { PREV_RESULT_SIZE, NEXT_RESULT_SIZE } from '../const';\nimport { CoreMessageType, isMultipleFilesMessage } from '../../../../utils';\nimport { MessageListParams as MessageListParamsInternal } from '../ChannelProvider';\nimport { ReplyType as ReplyTypeInternal } from '../../../../types';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { CustomUseReducerDispatcher } from '../../../../lib/SendbirdState';\nimport { LoggerInterface } from '../../../../lib/Logger';\n\ntype UseInitialMessagesFetchOptions = {\n currentGroupChannel: GroupChannel;\n initialTimeStamp: number;\n userFilledMessageListQuery: MessageListParamsInternal;\n replyType: ReplyTypeInternal;\n setIsScrolled: (val: boolean) => void;\n};\n\ntype UseInitialMessagesFetchParams = {\n logger: LoggerInterface\n messagesDispatcher: CustomUseReducerDispatcher;\n scrollRef: React.RefObject<HTMLElement>;\n};\n\nfunction useInitialMessagesFetch(\n {\n currentGroupChannel,\n initialTimeStamp,\n userFilledMessageListQuery,\n replyType,\n setIsScrolled,\n }: UseInitialMessagesFetchOptions,\n { logger, scrollRef, messagesDispatcher }: UseInitialMessagesFetchParams,\n) {\n const channelUrl = currentGroupChannel?.url;\n\n useEffect(() => {\n logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);\n setIsScrolled(false);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n payload: null,\n });\n\n if (currentGroupChannel && currentGroupChannel?.getMessagesByTimestamp) {\n const messageListParams: MessageListParamsInternal = {\n prevResultSize: PREV_RESULT_SIZE,\n isInclusive: true,\n includeReactions: true,\n includeMetaArray: true,\n };\n if (initialTimeStamp) {\n messageListParams.nextResultSize = NEXT_RESULT_SIZE;\n }\n if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {\n messageListParams.includeThreadInfo = true;\n messageListParams.includeParentMessageInfo = true;\n messageListParams.replyType = ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n if (\n (replyType\n && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD'))\n || userFilledMessageListQuery\n ) {\n logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);\n messagesDispatcher({\n type: messageActionTypes.MESSAGE_LIST_PARAMS_CHANGED,\n payload: messageListParams,\n });\n }\n\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_START,\n payload: null,\n });\n\n let multipleFilesMessageCount = 0;\n currentGroupChannel\n .getMessagesByTimestamp(\n initialTimeStamp || new Date().getTime(),\n messageListParams as MessageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,\n payload: {\n currentGroupChannel,\n messages,\n },\n });\n multipleFilesMessageCount = messages.filter((message) => isMultipleFilesMessage(message as CoreMessageType),\n ).length;\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_FAILURE,\n payload: { currentGroupChannel },\n });\n })\n .finally(() => {\n if (!initialTimeStamp) {\n setTimeout(\n () => utils.scrollIntoLast(0, scrollRef, setIsScrolled),\n /**\n * Rendering MFM takes long time so we need this.\n * But later we should find better solution.\n */\n Math.min(multipleFilesMessageCount * 100, 1000),\n );\n } else {\n setTimeout(() => {\n utils.scrollToRenderedMessage(\n scrollRef,\n initialTimeStamp,\n setIsScrolled,\n );\n }, 500);\n }\n });\n }\n }, [channelUrl, userFilledMessageListQuery, initialTimeStamp]);\n /**\n * Note - useEffect(() => {}, [currentGroupChannel])\n * was buggy, that is why we did\n * const channelUrl = currentGroupChannel && currentGroupChannel.url;\n * useEffect(() => {}, [channelUrl])\n * Again, this hook is supposed to execute when currentGroupChannel changes\n * The 'channelUrl' here is not the same memory reference from Conversation.props\n */\n}\n\nexport default useInitialMessagesFetch;\n","import { useEffect, useState } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nfunction useReconnectOnIdle(isOnline: boolean, currentGroupChannel: GroupChannel, reconnectOnIdle = true)\n :{ shouldReconnect: boolean }\n{\n const [isTabHidden, setIsTabHidden] = useState<boolean>(false);\n const wasOffline = !isOnline;\n\n useEffect(() => {\n const handleVisibilityChange = () => {\n if (reconnectOnIdle) {\n setIsTabHidden(document.hidden);\n }\n };\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, [reconnectOnIdle, document.hidden]);\n\n const shouldReconnect = wasOffline && currentGroupChannel?.url != null && !isTabHidden;\n return { shouldReconnect };\n}\n\nexport default useReconnectOnIdle;\n","import { useEffect } from 'react';\n\nimport type { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { MessageListParams, ReplyType } from '@sendbird/chat/message';\nimport * as utils from '../utils';\nimport { PREV_RESULT_SIZE, NEXT_RESULT_SIZE } from '../const';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { MarkAsReadSchedulerType } from '../../../../lib/hooks/useMarkAsReadScheduler';\nimport useReconnectOnIdle from './useReconnectOnIdle';\n\ninterface DynamicParams {\n isOnline: boolean;\n replyType?: string;\n disableMarkAsRead: boolean;\n reconnectOnIdle: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n sdk: SendbirdGroupChat;\n currentGroupChannel: GroupChannel;\n scrollRef: React.RefObject<HTMLDivElement>;\n markAsReadScheduler: MarkAsReadSchedulerType;\n messagesDispatcher: (props: { type: string, payload: any }) => void;\n userFilledMessageListQuery?: Record<string, any>;\n}\n\nfunction useHandleReconnect(\n { isOnline, replyType, disableMarkAsRead, reconnectOnIdle }: DynamicParams,\n {\n logger,\n sdk,\n scrollRef,\n currentGroupChannel,\n messagesDispatcher,\n markAsReadScheduler,\n userFilledMessageListQuery,\n }: StaticParams,\n): void {\n const { shouldReconnect } = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle);\n\n useEffect(() => {\n return () => {\n // state changed from offline to online AND tab is visible\n if (shouldReconnect) {\n logger.info('Refreshing conversation state');\n const isReactionEnabled = sdk?.appInfo?.useReaction || false;\n\n const messageListParams: MessageListParams = {\n prevResultSize: PREV_RESULT_SIZE,\n isInclusive: true,\n includeReactions: isReactionEnabled,\n nextResultSize: NEXT_RESULT_SIZE,\n };\n if (replyType && replyType === 'QUOTE_REPLY') {\n messageListParams.includeThreadInfo = true;\n messageListParams.includeParentMessageInfo = true;\n messageListParams.replyType = ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_START,\n payload: null,\n });\n\n sdk?.groupChannel?.getChannel(currentGroupChannel?.url)\n .then((groupChannel) => {\n const lastMessageTime = new Date().getTime();\n\n groupChannel.getMessagesByTimestamp(\n lastMessageTime,\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,\n payload: {\n currentGroupChannel,\n messages,\n },\n });\n setTimeout(() => utils.scrollIntoLast(0, scrollRef));\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.FETCH_INITIAL_MESSAGES_FAILURE,\n payload: { currentGroupChannel },\n });\n });\n if (!disableMarkAsRead) {\n markAsReadScheduler.push(currentGroupChannel);\n }\n });\n }\n };\n }, [shouldReconnect, replyType]);\n}\n\nexport default useHandleReconnect;\n","import { useCallback } from 'react';\nimport { ReplyType, MessageListParams } from '@sendbird/chat/message';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { ReplyType as ReplyTypeInternal } from '../../../../types';\nimport { PREV_RESULT_SIZE } from '../const';\nimport { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { CustomUseReducerDispatcher } from '../../../../lib/SendbirdState';\nimport { MessageListParams as MessageListParamsInternal } from '../ChannelProvider';\nimport { LoggerInterface } from '../../../../lib/Logger';\n\ntype UseScrollCallbackOptions = {\n currentGroupChannel: GroupChannel;\n oldestMessageTimeStamp: number;\n userFilledMessageListQuery: MessageListParamsInternal;\n replyType: ReplyTypeInternal;\n};\n\ntype UseScrollCallbackParams = {\n hasMorePrev: boolean;\n logger: LoggerInterface;\n messagesDispatcher: CustomUseReducerDispatcher;\n sdk: SendbirdGroupChat;\n};\n\nfunction useScrollCallback(\n { currentGroupChannel, oldestMessageTimeStamp, userFilledMessageListQuery, replyType }: UseScrollCallbackOptions,\n { hasMorePrev, logger, messagesDispatcher, sdk }: UseScrollCallbackParams,\n) {\n return useCallback(() => {\n if (!hasMorePrev) {\n return;\n }\n\n const messageListParams: MessageListParamsInternal = {\n prevResultSize: PREV_RESULT_SIZE,\n isInclusive: true,\n includeMetaArray: true,\n includeReactions: sdk?.appInfo?.useReaction ?? false,\n };\n\n if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {\n messageListParams.includeThreadInfo = true;\n messageListParams.includeParentMessageInfo = true;\n messageListParams.replyType = ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n\n logger.info('Channel: Fetching messages', {\n currentGroupChannel,\n userFilledMessageListQuery,\n });\n\n currentGroupChannel\n .getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams as MessageListParams)\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PREV_MESSAGES_SUCCESS,\n payload: { currentGroupChannel, messages },\n });\n })\n .catch(() => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PREV_MESSAGES_FAILURE,\n payload: { currentGroupChannel },\n });\n });\n }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\nimport { ReplyType } from '@sendbird/chat/message';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { NEXT_RESULT_SIZE } from '../const';\n\nfunction useScrollDownCallback({\n currentGroupChannel,\n latestMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreNext,\n replyType,\n}, {\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMoreNext) { return; }\n const { appInfo = {} } = sdk;\n const isReactionEnabled = appInfo.useReaction || false;\n const messageListParams = {\n nextResultSize: NEXT_RESULT_SIZE,\n isInclusive: true,\n includeReactions: isReactionEnabled,\n };\n messageListParams.includeMetaArray = true;\n if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {\n messageListParams.includeThreadInfo = true;\n messageListParams.includeParentMessageInfo = true;\n messageListParams.replyType = ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching later messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n latestMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_NEXT_MESSAGES_SUCCESS,\n payload: { currentGroupChannel, messages },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching later messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.FETCH_NEXT_MESSAGES_FAILURE,\n payload: { currentGroupChannel },\n });\n cb([null, error]);\n });\n }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);\n}\n\nexport default useScrollDownCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher }, { logger }) {\n return useCallback((message) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message', message);\n const { sendingStatus } = message;\n return new Promise((resolve, reject) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);\n // Message is only on local\n if (sendingStatus === 'failed' || sendingStatus === 'pending') {\n logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n resolve(message);\n } else {\n logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);\n currentGroupChannel.deleteMessage(message)\n .then(() => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: message.messageId,\n });\n resolve(message);\n })\n .catch((err) => {\n logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);\n reject(err);\n });\n }\n });\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport topics from '../../../../lib/pubSub/topics';\nimport { PublishingModuleType } from '../../../internalInterfaces';\n\nfunction useUpdateMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n onBeforeUpdateUserMessage,\n isMentionEnabled,\n}, {\n logger,\n pubSub,\n}) {\n return useCallback((props, callback) => {\n const {\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n } = props;\n const createParamsDefault = () => {\n const params = {};\n params.message = message;\n if (isMentionEnabled && mentionedUsers?.length > 0) {\n params.mentionedUsers = mentionedUsers;\n }\n if (isMentionEnabled && mentionTemplate) {\n params.mentionedMessageTemplate = mentionTemplate;\n } else {\n params.mentionedMessageTemplate = message;\n }\n return params;\n };\n\n const createCustomPrams = onBeforeUpdateUserMessage\n && typeof onBeforeUpdateUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);\n }\n\n const params = onBeforeUpdateUserMessage\n ? onBeforeUpdateUserMessage(message)\n : createParamsDefault(message);\n\n logger.info('Channel: Updating message!', params);\n currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {\n if (callback) {\n callback(err, msg);\n }\n\n logger.info('Channel: Updating message success!', msg);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentGroupChannel,\n message: msg,\n },\n });\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message: msg,\n channel: currentGroupChannel,\n publishingModules: [PublishingModuleType.CHANNEL],\n },\n );\n });\n }, [currentGroupChannel?.url, messagesDispatcher, onBeforeUpdateUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { isMultipleFilesMessage } from '../../../../utils';\n\nfunction useResendMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n}, {\n logger,\n}) {\n return useCallback((failedMessage) => {\n logger.info('Channel: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage?.isResendable) {\n // Move the logic setting sendingStatus to pending into the reducer\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n // eslint-disable-next-line no-param-reassign\n failedMessage.sendingStatus = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGE_START,\n payload: failedMessage,\n });\n\n // userMessage\n if (messageType === 'user') {\n currentGroupChannel.resendUserMessage(failedMessage)\n .then((message) => {\n logger.info('Channel: Resending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending message failed!', e);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n // eslint-disable-next-line no-param-reassign\n failedMessage.sendingStatus = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n // eslint-disable-next-line no-param-reassign\n failedMessage.sendingStatus = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGE_START,\n payload: failedMessage,\n });\n return;\n }\n\n if (messageType === 'file') {\n currentGroupChannel\n .resendFileMessage(failedMessage, file)\n .then((message) => {\n logger.info('Channel: Resending file message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending file message failed!', e);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n // eslint-disable-next-line no-param-reassign\n failedMessage.sendingStatus = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n // eslint-disable-next-line no-param-reassign\n failedMessage.sendingStatus = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGE_START,\n payload: failedMessage,\n });\n }\n\n if (isMultipleFilesMessage(failedMessage)) {\n currentGroupChannel.resendMessage(failedMessage)\n .onPending((message) => {\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGE_START,\n payload: message,\n });\n })\n // TODO: Handle on file info upload event.\n .onSucceeded((message) => {\n logger.info('Channel: Resending multiple files message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n })\n .onFailed((e, message) => {\n logger.warning('Channel: Resending multiple files message failed!', e);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('Message is not resendable');\n logger.warning('Message is not resendable', failedMessage);\n }\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useResendMessageCallback;\n","import { useRef, useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport topics from '../../../../lib/pubSub/topics';\nimport { PublishingModuleType } from '../../../internalInterfaces';\n\nexport default function useSendMessageCallback({\n isMentionEnabled,\n currentGroupChannel,\n onBeforeSendUserMessage,\n}, {\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n}) {\n const messageInputRef = useRef(null);\n\n const sendMessage = useCallback(\n (props) => {\n const {\n quoteMessage = null,\n message,\n mentionTemplate,\n // mentionedUserIds,\n mentionedUsers,\n } = props;\n const createParamsDefault = () => {\n const params = {};\n params.message = message;\n // if (isMentionEnabled && mentionedUserIds?.length > 0) {\n if (isMentionEnabled && mentionedUsers?.length > 0) {\n // params.mentionedUserIds = mentionedUserIds;\n params.mentionedUsers = mentionedUsers;\n }\n // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {\n if (isMentionEnabled && mentionTemplate && mentionedUsers?.length > 0) {\n params.mentionedMessageTemplate = mentionTemplate;\n }\n if (quoteMessage) {\n params.isReplyToChannel = true;\n params.parentMessageId = quoteMessage.messageId;\n }\n return params;\n };\n\n const createCustomPrams = onBeforeSendUserMessage\n && typeof onBeforeSendUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n\n const params = onBeforeSendUserMessage\n ? onBeforeSendUserMessage(message, quoteMessage)\n : createParamsDefault();\n\n logger.info('Channel: Sending message has started', params);\n currentGroupChannel.sendUserMessage(params)\n .onPending((pendingMsg) => {\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */\n message: pendingMsg,\n channel: currentGroupChannel,\n publishingModules: [PublishingModuleType.CHANNEL],\n });\n setTimeout(() => utils.scrollIntoLast(0, scrollRef));\n })\n .onFailed((err, msg) => {\n logger.warning('Channel: Sending message failed!', { message: msg, error: err });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: msg,\n });\n })\n .onSucceeded((msg) => {\n logger.info('Channel: Sending message success!', msg);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: msg,\n });\n });\n },\n [currentGroupChannel, onBeforeSendUserMessage],\n );\n\n return [messageInputRef, sendMessage];\n}\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport topics from '../../../../lib/pubSub/topics';\nimport { PublishingModuleType } from '../../../internalInterfaces';\n\nexport default function useSendFileMessageCallback({\n currentGroupChannel,\n onBeforeSendFileMessage,\n imageCompression = {},\n}, {\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n}) {\n const sendMessage = useCallback((\n file,\n quoteMessage = null,\n ) => new Promise((resolve, reject) => {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_) => {\n const params = {};\n params.file = file_;\n if (quoteMessage) {\n params.isReplyToChannel = true;\n params.parentMessageId = quoteMessage.messageId;\n }\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWdith = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = createCustomParams\n ? onBeforeSendFileMessage(compressedFile, quoteMessage)\n : createParamsDefault(compressedFile);\n logger.info('Channel: Uploading file message start!', params);\n currentGroupChannel.sendFileMessage(params)\n .onPending((pendingMessage) => {\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(compressedFile),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n publishingModules: [PublishingModuleType.CHANNEL],\n });\n setTimeout(() => utils.scrollIntoLast(0, scrollRef), 1000);\n })\n .onFailed((err, failedMessage) => {\n logger.error('Channel: Sending file message failed!', { failedMessage, err });\n // eslint-disable-next-line no-param-reassign\n failedMessage.localUrl = URL.createObjectURL(compressedFile);\n // eslint-disable-next-line no-param-reassign\n failedMessage.file = compressedFile;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: failedMessage,\n });\n reject(err);\n })\n .onSucceeded((succeededMessage) => {\n logger.info('Channel: Sending file message success!', succeededMessage);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: succeededMessage,\n });\n resolve(succeededMessage);\n });\n },\n file.type,\n compressionRate,\n );\n };\n } catch (error) {\n logger.error('Channel: Sending file message failed!', error);\n reject(error);\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage\n ? onBeforeSendFileMessage(file, quoteMessage)\n : createParamsDefault(file);\n logger.info('Channel: Uploading file message start!', params);\n\n currentGroupChannel.sendFileMessage(params)\n .onPending((pendingMsg) => {\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */\n message: {\n ...pendingMsg,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n publishingModules: [PublishingModuleType.CHANNEL],\n });\n setTimeout(() => utils.scrollIntoLast(0, scrollRef), 1000);\n })\n .onFailed((error, message) => {\n logger.error('Channel: Sending file message failed!', { message, error });\n // eslint-disable-next-line no-param-reassign\n message.localUrl = URL.createObjectURL(file);\n // eslint-disable-next-line no-param-reassign\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n reject(error);\n })\n .onSucceeded((message) => {\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n resolve(message);\n });\n }\n }), [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);\n return [sendMessage];\n}\n","import { useCallback } from 'react';\n\nexport default function useToggleReactionCallback({ currentGroupChannel }, { logger }) {\n return useCallback((message, key, isReacted) => {\n if (isReacted) {\n currentGroupChannel.deleteReaction(message, key)\n .then((res) => {\n logger.info('Delete reaction success', res);\n })\n .catch((err) => {\n logger.warning('Delete reaction failed', err);\n });\n return;\n }\n currentGroupChannel.addReaction(message, key)\n .then((res) => {\n logger.info('Add reaction success', res);\n })\n .catch((err) => {\n logger.warning('Add reaction failed', err);\n });\n }, [currentGroupChannel]);\n}\n","import type { BaseMessage } from '@sendbird/chat/message';\nimport { useCallback } from 'react';\n\nimport { scrollToRenderedMessage } from '../utils';\nimport { LoggerInterface } from '../../../../lib/Logger';\n\ninterface DynamicParams {\n setInitialTimeStamp: React.Dispatch<React.SetStateAction<number>>;\n setAnimatedMessageId: React.Dispatch<React.SetStateAction<number>>;\n allMessages: BaseMessage[];\n scrollRef: React.RefObject<HTMLDivElement>;\n}\n\ninterface StaticParams {\n logger: LoggerInterface;\n}\n\n// To prevent multiple clicks on the message in the channel while scrolling\nfunction deactivateClick(scrollRef: React.RefObject<HTMLDivElement>) {\n const element = scrollRef.current;\n const parentNode = element?.parentNode as HTMLDivElement;\n if (element && parentNode) {\n element.style.pointerEvents = 'none';\n parentNode.style.cursor = 'wait';\n }\n}\n\nfunction activateClick(scrollRef: React.RefObject<HTMLDivElement>) {\n const element = scrollRef.current;\n const parentNode = element?.parentNode as HTMLDivElement;\n if (element && parentNode) {\n element.style.pointerEvents = 'auto';\n parentNode.style.cursor = 'auto';\n }\n}\n\nfunction useScrollToMessage({\n setInitialTimeStamp,\n setAnimatedMessageId,\n allMessages,\n scrollRef,\n}: DynamicParams,\n{ logger }: StaticParams,\n): (createdAt: number, messageId: number) => void {\n return useCallback(\n (createdAt: number, messageId: number) => {\n const isPresent = allMessages.find((m) => (\n m.messageId === messageId\n ));\n setAnimatedMessageId(null);\n setTimeout(() => {\n try {\n logger.info('Channel: scroll to message - disabling mouse events');\n deactivateClick(scrollRef);\n if (isPresent) {\n logger.info('Channel: scroll to message - message is present');\n setAnimatedMessageId(messageId);\n scrollToRenderedMessage(scrollRef, createdAt);\n } else {\n logger.info('Channel: scroll to message - fetching older messages');\n setInitialTimeStamp(null);\n setInitialTimeStamp(createdAt);\n setAnimatedMessageId(messageId);\n }\n } finally {\n logger.info('Channel: scroll to message - enabled mouse events');\n activateClick(scrollRef);\n }\n });\n }, [\n setInitialTimeStamp,\n setAnimatedMessageId,\n allMessages,\n ],\n );\n}\n\nexport default useScrollToMessage;\n","import { useCallback } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessageCreateParams, MessageMetaArray } from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport topics from '../../../../lib/pubSub/topics';\nimport {\n META_ARRAY_MESSAGE_TYPE_KEY,\n META_ARRAY_MESSAGE_TYPE_VALUE__VOICE,\n META_ARRAY_VOICE_DURATION_KEY,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n} from '../../../../utils/consts';\nimport type { SendableMessageType } from '../../../../utils';\nimport type { Nullable } from '../../../../types';\nimport { PublishingModuleType } from '../../../internalInterfaces';\n\ninterface DynamicParams {\n currentGroupChannel: Nullable<GroupChannel>;\n onBeforeSendVoiceMessage?: (file: File, quoteMessage?: SendableMessageType) => FileMessageCreateParams;\n}\ninterface StaticParams {\n logger: Logger;\n pubSub: any;\n scrollRef: React.RefObject<HTMLDivElement>;\n messagesDispatcher: (props: { type: string, payload: any }) => void;\n}\ntype FuncType = (file: File, duration: number, quoteMessage: SendableMessageType) => void;\n\nexport const useSendVoiceMessageCallback = ({\n currentGroupChannel,\n onBeforeSendVoiceMessage,\n}: DynamicParams,\n{\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n}: StaticParams): Array<FuncType> => {\n const sendMessage = useCallback((file: File, duration: number, quoteMessage: SendableMessageType) => {\n if (!currentGroupChannel) {\n return;\n }\n const messageParams: FileMessageCreateParams = (\n onBeforeSendVoiceMessage\n && typeof onBeforeSendVoiceMessage === 'function'\n )\n ? onBeforeSendVoiceMessage(file, quoteMessage)\n : {\n file,\n fileName: VOICE_MESSAGE_FILE_NAME,\n mimeType: VOICE_MESSAGE_MIME_TYPE,\n metaArrays: [\n new MessageMetaArray({\n key: META_ARRAY_VOICE_DURATION_KEY,\n value: [`${duration}`],\n }),\n new MessageMetaArray({\n key: META_ARRAY_MESSAGE_TYPE_KEY,\n value: [META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],\n }),\n ],\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n logger.info('Channel: Start sending voice message', messageParams);\n currentGroupChannel.sendFileMessage(messageParams)\n .onPending((pendingMessage) => {\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */\n message: pendingMessage,\n channel: currentGroupChannel,\n publishingModules: [PublishingModuleType.CHANNEL],\n });\n setTimeout(() => utils.scrollIntoLast(0, scrollRef), 1000);\n })\n .onFailed((err, failedMessage) => {\n logger.error('Channel: Sending voice message failed!', { failedMessage, err });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_FAILURE,\n payload: failedMessage,\n });\n })\n .onSucceeded((succeededMessage) => {\n logger.info('Channel: Sending voice message success!', succeededMessage);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGE_SUCCESS,\n payload: succeededMessage,\n });\n });\n }, [\n currentGroupChannel,\n onBeforeSendVoiceMessage,\n ]);\n return [sendMessage];\n};\n\nexport default useSendVoiceMessageCallback;\n","import { RefObject, useEffect } from 'react';\n\nimport { scrollIntoLast } from '../utils';\nimport * as channelActions from '../dux/actionTypes';\nimport { CustomUseReducerDispatcher } from '../../../../lib/SendbirdState';\nimport { PUBSUB_TOPICS } from '../../../../lib/pubSub/topics';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { SendableMessageType } from '../../../../utils';\nimport { FileUploadedPayload } from './useSendMultipleFilesMessage';\nimport { PublishingModuleType } from '../../../internalInterfaces';\n\nexport interface UseHandlePubsubEventsParams {\n channelUrl: string;\n sdkInit: boolean;\n pubSub: any;\n dispatcher: CustomUseReducerDispatcher;\n scrollRef: RefObject<HTMLElement>;\n}\n\nexport const useHandleChannelPubsubEvents = ({\n channelUrl,\n sdkInit,\n pubSub,\n dispatcher,\n scrollRef,\n}: UseHandlePubsubEventsParams): void => {\n useEffect(() => {\n const subscriber = new Map();\n if (pubSub?.subscribe) {\n subscriber.set(PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(PUBSUB_TOPICS.SEND_USER_MESSAGE, (props) => {\n const { channel, message } = props;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(PUBSUB_TOPICS.SEND_MESSAGE_START, (props) => {\n const {\n channel,\n message,\n publishingModules,\n } = props as { channel: GroupChannel, message: SendableMessageType, publishingModules: PublishingModuleType[] };\n if (channelUrl === channel?.url\n && publishingModules.includes(PublishingModuleType.CHANNEL)\n ) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, (props) => {\n const {\n response,\n publishingModules,\n } = props as { response: FileUploadedPayload, publishingModules: PublishingModuleType[] };\n if (channelUrl === response.channelUrl && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n dispatcher({\n type: channelActions.ON_FILE_INFO_UPLOADED,\n payload: response,\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, pubSub.subscribe(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, (props) => {\n const {\n channel,\n message,\n publishingModules,\n } = props as { channel: GroupChannel, message: SendableMessageType, publishingModules: PublishingModuleType[] };\n if (channelUrl === channel?.url\n && publishingModules.includes(PublishingModuleType.CHANNEL)\n ) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(PUBSUB_TOPICS.SEND_FILE_MESSAGE, (props) => {\n const { channel, message } = props;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(PUBSUB_TOPICS.UPDATE_USER_MESSAGE, (props) => {\n const { channel, message, fromSelector } = props;\n if (fromSelector && (channelUrl === channel?.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(PUBSUB_TOPICS.DELETE_MESSAGE, (props) => {\n const { channel, messageId } = props;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n }\n return () => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n };\n }, [\n channelUrl,\n sdkInit,\n ]);\n};\n","import React, {\n useEffect,\n useState,\n useReducer,\n useRef,\n useMemo,\n} from 'react';\n\nimport type { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport type {\n BaseMessage,\n FileMessageCreateParams,\n MultipleFilesMessageCreateParams,\n UserMessage,\n UserMessageCreateParams,\n UserMessageUpdateParams,\n} from '@sendbird/chat/message';\nimport type { EmojiContainer, SendbirdError, User } from '@sendbird/chat';\n\nimport { ReplyType, RenderUserProfileProps, Nullable } from '../../../types';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CoreMessageType, SendableMessageType } from '../../../utils';\nimport { ThreadReplySelectType } from './const';\n\nimport * as utils from './utils';\nimport { getIsReactionEnabled } from '../../../utils/getIsReactionEnabled';\n\nimport messagesInitialState from './dux/initialState';\nimport messagesReducer from './dux/reducers';\nimport * as channelActions from './dux/actionTypes';\n\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useGetChannel from './hooks/useGetChannel';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useHandleReconnect from './hooks/useHandleReconnect';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useScrollDownCallback from './hooks/useScrollDownCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useSendFileMessageCallback from './hooks/useSendFileMessageCallback';\nimport useToggleReactionCallback from './hooks/useToggleReactionCallback';\nimport useScrollToMessage from './hooks/useScrollToMessage';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport useSendVoiceMessageCallback from './hooks/useSendVoiceMessageCallback';\nimport { getCaseResolvedThreadReplySelectType } from '../../../lib/utils/resolvedReplyType';\nimport { useSendMultipleFilesMessage } from './hooks/useSendMultipleFilesMessage';\nimport { useHandleChannelPubsubEvents } from './hooks/useHandleChannelPubsubEvents';\nimport { PublishingModuleType } from '../../internalInterfaces';\n\nexport type MessageListParams = {\n // https://sendbird.github.io/core-sdk-javascript/module-model_params_messageListParams-MessageListParams.html\n replyType?: string,\n messageType?: string,\n prevResultSize?: number,\n nextResultSize?: number,\n reverse?: boolean,\n isInclusive?: boolean,\n includeMetaArray?: boolean,\n includeReactions?: boolean,\n includeThreadInfo?: boolean,\n includeParentMessageInfo?: boolean,\n showSubchannelMessagesOnly?: boolean,\n customTypes?: Array<string>,\n senderUserIds?: Array<string>,\n};\n\nexport type ChannelQueries = {\n messageListParams?: MessageListParams;\n};\n\nexport type ChannelContextProps = {\n children?: React.ReactElement;\n channelUrl: string;\n isReactionEnabled?: boolean;\n isMessageGroupingEnabled?: boolean;\n isMultipleFilesMessageEnabled?: boolean;\n showSearchIcon?: boolean;\n animatedMessage?: number | null;\n highlightedMessage?: number | null;\n startingPoint?: number | null;\n onBeforeSendUserMessage?(text: string, quotedMessage?: SendableMessageType): UserMessageCreateParams;\n onBeforeSendFileMessage?(file: File, quotedMessage?: SendableMessageType): FileMessageCreateParams;\n onBeforeUpdateUserMessage?(text: string): UserMessageUpdateParams;\n onBeforeSendVoiceMessage?: (file: File, quotedMessage?: SendableMessageType) => FileMessageCreateParams;\n onBeforeSendMultipleFilesMessage?: (files: Array<File>, quotedMessage?: SendableMessageType) => MultipleFilesMessageCreateParams;\n onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement>): void;\n onSearchClick?(): void;\n onBackClick?(): void;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n queries?: ChannelQueries;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n filterMessageList?(messages: BaseMessage): boolean;\n disableUserProfile?: boolean;\n disableMarkAsRead?: boolean;\n onReplyInThread?: (props: { message: SendableMessageType }) => void;\n onQuoteMessageClick?: (props: { message: SendableMessageType }) => void;\n onMessageAnimated?: () => void;\n onMessageHighlighted?: () => void;\n scrollBehavior?: 'smooth' | 'auto';\n reconnectOnIdle?: boolean;\n};\n\ninterface MessageStoreInterface {\n allMessages: CoreMessageType[];\n localMessages: CoreMessageType[];\n loading: boolean;\n initialized: boolean;\n unreadSince: string;\n isInvalid: boolean;\n currentGroupChannel: Nullable<GroupChannel>;\n hasMorePrev: boolean;\n oldestMessageTimeStamp: number;\n hasMoreNext: boolean;\n latestMessageTimeStamp: number;\n emojiContainer: EmojiContainer;\n readStatus: any;\n}\n\ninterface SendMessageParams {\n message: string;\n quoteMessage?: SendableMessageType;\n // mentionedUserIds?: Array<string>;\n mentionedUsers?: Array<User>;\n mentionTemplate?: string;\n}\n\ninterface UpdateMessageProps {\n messageId: string | number;\n message: string;\n mentionedUsers?: Array<User>;\n mentionTemplate?: string;\n}\n\ninterface ChannelProviderInterface extends ChannelContextProps, MessageStoreInterface {\n scrollToMessage?(createdAt: number, messageId: number): void;\n isScrolled?: boolean;\n setIsScrolled?: React.Dispatch<React.SetStateAction<boolean>>;\n messageActionTypes: typeof channelActions;\n messagesDispatcher: CustomUseReducerDispatcher;\n quoteMessage: SendableMessageType | null;\n setQuoteMessage: React.Dispatch<React.SetStateAction<SendableMessageType | null>>;\n initialTimeStamp: number;\n setInitialTimeStamp: React.Dispatch<React.SetStateAction<number>>;\n animatedMessageId: number;\n highLightedMessageId: number;\n nicknamesMap: Map<string, string>;\n emojiAllMap: any;\n onScrollCallback: () => void;\n onScrollDownCallback: any;\n scrollRef: React.MutableRefObject<HTMLDivElement>;\n setAnimatedMessageId: React.Dispatch<React.SetStateAction<number>>;\n setHighLightedMessageId: React.Dispatch<React.SetStateAction<number>>;\n messageInputRef: React.MutableRefObject<HTMLInputElement>,\n deleteMessage(message: CoreMessageType): Promise<CoreMessageType>,\n updateMessage(props: UpdateMessageProps, callback?: (err: SendbirdError, message: UserMessage) => void): Promise<CoreMessageType>,\n resendMessage(failedMessage: SendableMessageType): Promise<SendableMessageType>,\n // TODO: Good to change interface to using params / This part need refactoring\n sendMessage: (props: SendMessageParams) => void,\n sendFileMessage: (file: File, quoteMessage?: SendableMessageType) => void,\n sendVoiceMessage: (file: File, duration: number, quoteMessage?: SendableMessageType) => void,\n sendMultipleFilesMessage: (files: Array<File>, quoteMessage?: SendableMessageType) => void,\n // sendMessage(messageParams: SendBird.UserMessageParams): Promise<SendBird.UserMessage>,\n // sendFileMessage(messageParams: SendBird.FileMessageParams): Promise<SendBird.FileMessage>,\n toggleReaction(message: SendableMessageType, emojiKey: string, isReacted: boolean): void,\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n}\n\nconst ChannelContext = React.createContext<ChannelProviderInterface | null>(undefined);\n\nconst ChannelProvider: React.FC<ChannelContextProps> = (props: ChannelContextProps) => {\n const {\n channelUrl,\n children,\n isReactionEnabled,\n isMessageGroupingEnabled = true,\n isMultipleFilesMessageEnabled,\n showSearchIcon,\n animatedMessage,\n highlightedMessage,\n startingPoint,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n onBeforeSendVoiceMessage,\n onBeforeSendMultipleFilesMessage,\n onChatHeaderActionClick,\n onSearchClick,\n onBackClick,\n replyType: channelReplyType,\n threadReplySelectType,\n queries,\n filterMessageList,\n disableMarkAsRead = false,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n scrollBehavior = 'auto',\n reconnectOnIdle = true,\n } = props;\n\n const globalStore = useSendbirdStateContext();\n const { config } = globalStore;\n const replyType = channelReplyType ?? config.replyType;\n const {\n pubSub,\n logger,\n userId,\n isOnline,\n imageCompression,\n isMentionEnabled,\n isVoiceMessageEnabled,\n onUserProfileMessage,\n markAsReadScheduler,\n groupChannel,\n } = config;\n const sdk = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const sdkInit = globalStore?.stores?.sdkStore?.initialized;\n const globalConfigs = globalStore?.config;\n\n const [initialTimeStamp, setInitialTimeStamp] = useState(startingPoint);\n useEffect(() => {\n setInitialTimeStamp(startingPoint);\n }, [startingPoint, channelUrl]);\n const [animatedMessageId, setAnimatedMessageId] = useState(0);\n const [highLightedMessageId, setHighLightedMessageId] = useState(highlightedMessage);\n useEffect(() => {\n setHighLightedMessageId(highlightedMessage);\n }, [highlightedMessage]);\n const userFilledMessageListQuery = queries?.messageListParams;\n const [quoteMessage, setQuoteMessage] = useState<SendableMessageType>(null);\n const [isScrolled, setIsScrolled] = useState(false);\n\n const [messagesStore, messagesDispatcher] = useReducer(\n messagesReducer,\n messagesInitialState,\n ) as [MessageStoreInterface, CustomUseReducerDispatcher];\n const scrollRef = useRef(null);\n\n const {\n allMessages,\n localMessages,\n loading,\n initialized,\n unreadSince,\n isInvalid,\n currentGroupChannel,\n hasMorePrev,\n oldestMessageTimeStamp,\n hasMoreNext,\n latestMessageTimeStamp,\n emojiContainer,\n readStatus,\n } = messagesStore;\n\n const isSuper = currentGroupChannel?.isSuper || false;\n const isBroadcast = currentGroupChannel?.isBroadcast || false;\n const usingReaction = getIsReactionEnabled({\n isBroadcast,\n isSuper,\n globalLevel: config?.isReactionEnabled,\n moduleLevel: isReactionEnabled,\n });\n\n const emojiAllMap = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)\n : new Map()\n ), [emojiContainer]);\n const nicknamesMap: Map<string, string> = useMemo(() => (\n (usingReaction && currentGroupChannel)\n ? utils.getNicknamesMapFromMembers(currentGroupChannel?.members)\n : new Map()\n ), [currentGroupChannel?.members]);\n\n // Animate message\n useEffect(() => {\n if (animatedMessage) {\n setAnimatedMessageId(animatedMessage);\n }\n }, [animatedMessage]);\n\n // Scrollup is default scroll for channel\n const onScrollCallback = useScrollCallback({\n currentGroupChannel,\n oldestMessageTimeStamp,\n userFilledMessageListQuery,\n replyType,\n }, {\n hasMorePrev,\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const scrollToMessage = useScrollToMessage({\n setInitialTimeStamp,\n setAnimatedMessageId,\n allMessages,\n scrollRef,\n }, { logger });\n\n // onScrollDownCallback is added for navigation to different timestamps on messageSearch\n // hasMorePrev, onScrollCallback -> scroll up(default behavior)\n // hasMoreNext, onScrollDownCallback -> scroll down\n const onScrollDownCallback = useScrollDownCallback({\n currentGroupChannel,\n latestMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreNext,\n replyType,\n isVoiceMessageEnabled,\n }, {\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const toggleReaction = useToggleReactionCallback({ currentGroupChannel }, { logger });\n\n // to create message-datasource\n // this hook sets currentGroupChannel asynchronously\n useGetChannel(\n { channelUrl, sdkInit, disableMarkAsRead },\n { messagesDispatcher, sdk, logger, markAsReadScheduler },\n );\n\n // to set quote message as null\n useEffect(() => {\n setQuoteMessage(null);\n }, [channelUrl]);\n\n // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher\n useHandleChannelEvents(\n {\n currentGroupChannel,\n sdkInit,\n currentUserId: userId,\n disableMarkAsRead,\n },\n {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n setQuoteMessage,\n },\n );\n\n // hook that fetches messages when channel changes\n // to be clear here useGetChannel sets currentGroupChannel\n // and useInitialMessagesFetch executes when currentGroupChannel changes\n // p.s This one executes on initialTimeStamp change too\n useInitialMessagesFetch({\n currentGroupChannel,\n userFilledMessageListQuery,\n initialTimeStamp,\n replyType,\n setIsScrolled,\n }, {\n logger,\n scrollRef,\n messagesDispatcher,\n });\n\n // handles API calls from withSendbird\n useHandleChannelPubsubEvents({\n channelUrl,\n sdkInit,\n pubSub,\n dispatcher: messagesDispatcher,\n scrollRef,\n });\n\n // handling connection breaks\n useHandleReconnect({ isOnline, replyType, disableMarkAsRead, reconnectOnIdle }, {\n logger,\n sdk,\n scrollRef,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n markAsReadScheduler,\n });\n\n // callbacks for Message CURD actions\n const deleteMessage = useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher },\n { logger });\n const updateMessage = useUpdateMessageCallback(\n { currentGroupChannel, messagesDispatcher, onBeforeUpdateUserMessage, isMentionEnabled },\n { logger, pubSub },\n );\n const resendMessage = useResendMessageCallback(\n { currentGroupChannel, messagesDispatcher },\n { logger },\n );\n const [messageInputRef, sendMessage] = useSendMessageCallback(\n {\n currentGroupChannel,\n isMentionEnabled,\n onBeforeSendUserMessage,\n },\n {\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n },\n );\n const [sendFileMessage] = useSendFileMessageCallback(\n {\n currentGroupChannel,\n imageCompression,\n onBeforeSendFileMessage,\n },\n {\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n },\n );\n const [sendVoiceMessage] = useSendVoiceMessageCallback(\n {\n currentGroupChannel,\n onBeforeSendVoiceMessage,\n },\n {\n logger,\n pubSub,\n scrollRef,\n messagesDispatcher,\n },\n );\n const [sendMultipleFilesMessage] = useSendMultipleFilesMessage({\n currentChannel: currentGroupChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules: [PublishingModuleType.CHANNEL],\n }, {\n logger,\n pubSub,\n scrollRef,\n });\n\n return (\n <ChannelContext.Provider value={{\n // props\n channelUrl,\n isReactionEnabled: usingReaction,\n isMessageGroupingEnabled,\n isMultipleFilesMessageEnabled,\n showSearchIcon: showSearchIcon ?? globalConfigs.showSearchIcon,\n highlightedMessage,\n startingPoint,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n onChatHeaderActionClick,\n onSearchClick,\n onBackClick,\n replyType,\n threadReplySelectType: threadReplySelectType\n ?? getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase\n ?? ThreadReplySelectType.THREAD,\n queries,\n filterMessageList,\n disableMarkAsRead,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n\n // messagesStore\n allMessages,\n localMessages,\n loading,\n initialized,\n unreadSince,\n isInvalid,\n currentGroupChannel,\n hasMorePrev,\n hasMoreNext,\n oldestMessageTimeStamp,\n latestMessageTimeStamp,\n emojiContainer,\n readStatus,\n\n // utils\n scrollToMessage,\n quoteMessage,\n setQuoteMessage,\n deleteMessage,\n updateMessage,\n resendMessage,\n messageInputRef,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n initialTimeStamp,\n messageActionTypes: channelActions,\n messagesDispatcher,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n highLightedMessageId,\n nicknamesMap,\n emojiAllMap,\n onScrollCallback,\n onScrollDownCallback,\n scrollRef,\n scrollBehavior,\n toggleReaction,\n isScrolled,\n setIsScrolled,\n }}>\n <UserProfileProvider\n disableUserProfile={props?.disableUserProfile ?? config?.disableUserProfile}\n renderUserProfile={props?.renderUserProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n {children}\n </UserProfileProvider>\n </ChannelContext.Provider>\n );\n};\n\nexport type UseChannelType = () => ChannelProviderInterface;\nconst useChannelContext: UseChannelType = () => React.useContext(ChannelContext);\n\nexport {\n ChannelProvider,\n useChannelContext,\n};\n"],"names":["getIsReactionEnabled","_a","_b","isBroadcast","_c","isSuper","_d","globalLevel","moduleLevel","initialState","initialized","loading","allMessages","localMessages","currentGroupChannel","hasMorePrev","oldestMessageTimeStamp","hasMoreNext","latestMessageTimeStamp","emojiContainer","emojiCategories","emojiHash","unreadSince","isInvalid","readStatus","messageListParams","getOldestMessageTimeStamp","messages","oldestMessage","createdAt","getLatestMessageTimeStamp","latestMessage","length","hasReqId","message","channelReducer","state","action","match","with","type","channelActions","RESET_MESSAGES","__assign","FETCH_INITIAL_MESSAGES_START","filter","m","isSendableMessage","sendingStatus","SendingStatus","SUCCEEDED","FETCH_INITIAL_MESSAGES_SUCCESS","payload","url","__spreadArray","FETCH_PREV_MESSAGES_SUCCESS","_e","prevResultSize","PREV_RESULT_SIZE","duplicatedMessageIds","updatedOldMessages","map","msg","duplicatedMessage","find","messageId","compareIds","push","updatedAt","filteredNewMessages","FETCH_NEXT_MESSAGES_SUCCESS","nextResultSize","NEXT_RESULT_SIZE","sortedMessages","mergeAndSortMessages","P","union","SEND_MESSAGE_START","SEND_MESSAGE_SUCCESS","filteredMessages","reqId","SEND_MESSAGE_FAILURE","failed","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","ON_MESSAGE_RECEIVED","channel","members","sender","currentGroupChannelUrl","some","filterMessageListParams","isAdminMessage","passUnsuccessfullMessages","senderMember","userId","profileUrl","friendName","nickname","member","format","Date","ON_MESSAGE_UPDATED","parentMessageId","parentMessage","ON_MESSAGE_THREAD_INFO_UPDATED","event","channelUrl","threadInfo","targetMessageId","RESEND_MESSAGE_START","MARK_AS_READ","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_EMOJI_CONTAINER","ON_REACTION_UPDATED","applyReactionEvent","MESSAGE_LIST_PARAMS_CHANGED","ON_FILE_INFO_UPLOADED","requestId","index","uploadableFileInfo","error","messageToUpdate","fileInfoList","messageParams","Array","isArray","otherwise","DELIVERY_RECIPT","useHandleChannelEvents","sdkInit","currentUserId","disableMarkAsRead","sdk","logger","scrollRef","setQuoteMessage","messagesDispatcher","store","useSendbirdStateContext","_f","config","markAsReadScheduler","markAsDeliveredScheduler","disableMarkAsDelivered","canSetMarkAsDelivered","stores","sdkStore","appInfo","premiumFeatureList","feature","useEffect","channelHandlerId","uuidv4","channelHandler","onMessageReceived","scrollToEnd","current","offsetHeight","scrollTop","scrollHeight","info","messageActions","document","getElementById","childElementCount","setTimeout","scrollIntoLast","warning","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","onMessageUpdated","onThreadInfoUpdated","threadInfoUpdateEvent","onMessageDeleted","onReactionUpdated","reactionEvent","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onUserMuted","user","onUserUnmuted","onUserBanned","currentUser","onOperatorUpdated","users","onUserLeft","groupChannel","addGroupChannelHandler","GroupChannelHandler","removeGroupChannelHandler","useSetChannel","_ref","_ref2","getChannel","then","messageActionTypes","catch","e","getAllEmoji","emojiContainer_","err","useInitialMessagesFetch","initialTimeStamp","userFilledMessageListQuery","replyType","setIsScrolled","getMessagesByTimestamp","messageListParams_1","isInclusive","includeReactions","includeMetaArray","includeThreadInfo","includeParentMessageInfo","ReplyType","ONLY_REPLY_TO_CHANNEL","Object","keys","forEach","key","multipleFilesMessageCount_1","getTime","isMultipleFilesMessage","finally","utils","Math","min","useReconnectOnIdle","isOnline","reconnectOnIdle","useState","isTabHidden","setIsTabHidden","wasOffline","handleVisibilityChange","hidden","addEventListener","removeEventListener","shouldReconnect","useHandleReconnect","isReactionEnabled","useReaction","lastMessageTime","useScrollCallback","useCallback","useScrollDownCallback","cb","useDeleteMessageCallback","Promise","resolve","reject","deleteMessage","useUpdateMessageCallback","onBeforeUpdateUserMessage","isMentionEnabled","pubSub","props","callback","mentionedUsers","mentionTemplate","createParamsDefault","params","mentionedMessageTemplate","createCustomPrams","updateUserMessage","publish","topics","UPDATE_USER_MESSAGE","publishingModules","PublishingModuleType","CHANNEL","useResendMessageCallback","failedMessage","messageType","file","isResendable","requestState","resendUserMessage","resendFileMessage","resendMessage","onPending","onSucceeded","onFailed","console","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","useRef","sendMessage","quoteMessage","isReplyToChannel","sendUserMessage","pendingMsg","useSendFileMessageCallback","onBeforeSendFileMessage","imageCompression","arguments","undefined","compressionRate","resizingWidth","resizingHeight","createCustomParams","compressibleFileType","compressibleRatio","compressibleDiamensions","canCompressImage","file_","image","createElement","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWdith","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","name","sendFileMessage","pendingMessage","_objectSpread","localUrl","succeededMessage","useToggleReactionCallback","isReacted","deleteReaction","res","addReaction","deactivateClick","element","parentNode","style","pointerEvents","cursor","activateClick","useScrollToMessage","setInitialTimeStamp","setAnimatedMessageId","isPresent","scrollToRenderedMessage","useSendVoiceMessageCallback","onBeforeSendVoiceMessage","duration","fileName","VOICE_MESSAGE_FILE_NAME","mimeType","VOICE_MESSAGE_MIME_TYPE","metaArrays","MessageMetaArray","META_ARRAY_VOICE_DURATION_KEY","value","concat","META_ARRAY_MESSAGE_TYPE_KEY","META_ARRAY_MESSAGE_TYPE_VALUE__VOICE","useHandleChannelPubsubEvents","dispatcher","subscriber","Map","subscribe","set","PUBSUB_TOPICS","SEND_USER_MESSAGE","includes","response","SEND_MESSAGE_FAILED","SEND_FILE_MESSAGE","fromSelector","DELETE_MESSAGE","s","remove","ChannelContext","React","createContext","ChannelProvider","children","_g","isMessageGroupingEnabled","isMultipleFilesMessageEnabled","showSearchIcon","animatedMessage","highlightedMessage","startingPoint","onBeforeSendMultipleFilesMessage","onChatHeaderActionClick","onSearchClick","onBackClick","channelReplyType","threadReplySelectType","queries","filterMessageList","_h","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","_j","scrollBehavior","_k","globalStore","isVoiceMessageEnabled","onUserProfileMessage","globalConfigs","_l","_m","animatedMessageId","_o","highLightedMessageId","setHighLightedMessageId","_p","_q","isScrolled","_r","useReducer","messagesReducer","messagesInitialState","messagesStore","usingReaction","emojiAllMap","useMemo","nicknamesMap","onScrollCallback","scrollToMessage","onScrollDownCallback","toggleReaction","useGetChannel","updateMessage","_s","sendVoiceMessage","sendMultipleFilesMessage","useSendMultipleFilesMessage","currentChannel","Provider","getCaseResolvedThreadReplySelectType","upperCase","ThreadReplySelectType","THREAD","UserProfileProvider","disableUserProfile","renderUserProfile","useChannelContext","useContext"],"mappings":"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"}
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-5009012e.js');
4
+ var LocalizationContext = require('../../LocalizationContext-58b6ed7c.js');
5
5
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
6
6
  var ChannelSettings_context = require('../context.js');
7
7
  var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
8
8
  var ui_TextButton = require('../../ui/TextButton.js');
9
- var ui_Label = require('../../index-35820a94.js');
9
+ var ui_Label = require('../../index-b5a9b4b7.js');
10
10
  var ChannelSettings_components_EditDetailsModal = require('./EditDetailsModal.js');
11
- require('../../stringSet-98b52c49.js');
12
- require('../../index-fd8a0abb.js');
11
+ require('../../stringSet-1539ac47.js');
12
+ require('../../index-e8928da6.js');
13
13
  require('../../withSendbird.js');
14
- require('../../tslib.es6-2f2b0bca.js');
15
- require('../../UserProfileContext-922a43ec.js');
16
- require('../../uuid-c74bbbb6.js');
14
+ require('../../tslib.es6-c74b513f.js');
15
+ require('../../UserProfileContext-c6d7abb7.js');
16
+ require('../../uuid-9a117e16.js');
17
17
  require('../../ui/Avatar.js');
18
18
  require('../../ui/ImageRenderer.js');
19
19
  require('../../ui/Icon.js');
20
20
  require('prop-types');
21
- require('../../utils-e313131f.js');
22
- require('../../color-477ddbd4.js');
21
+ require('../../utils-98441ba6.js');
22
+ require('../../color-5bf5a8f5.js');
23
23
  require('../../ui/Modal.js');
24
24
  require('react-dom');
25
- require('../../utils-180c6bc8.js');
26
- require('../../index-609b07a2.js');
27
- require('../../index-daf80c58.js');
28
- require('../../MediaQueryContext-d6fdbe43.js');
25
+ require('../../utils-eb6d90e0.js');
26
+ require('../../index-54279ec2.js');
27
+ require('../../index-b8ba4548.js');
28
+ require('../../MediaQueryContext-6141d955.js');
29
29
  require('../../ui/IconButton.js');
30
30
  require('../../ui/Button.js');
31
- require('../../types-66554668.js');
31
+ require('../../types-d0d770c3.js');
32
32
  require('../../ui/Input.js');
33
33
 
34
34
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -4,8 +4,8 @@ var React = require('react');
4
4
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
5
5
  var ChannelSettings_context = require('../context.js');
6
6
  var ui_PlaceHolder = require('../../ui/PlaceHolder.js');
7
- var ui_Label = require('../../index-35820a94.js');
8
- var LocalizationContext = require('../../LocalizationContext-5009012e.js');
7
+ var ui_Label = require('../../index-b5a9b4b7.js');
8
+ var LocalizationContext = require('../../LocalizationContext-58b6ed7c.js');
9
9
  var ui_Icon = require('../../ui/Icon.js');
10
10
  var ui_IconButton = require('../../ui/IconButton.js');
11
11
  var ChannelSettings_components_ChannelProfile = require('./ChannelProfile.js');
@@ -13,37 +13,37 @@ var ChannelSettings_components_ModerationPanel = require('./ModerationPanel.js')
13
13
  var ChannelSettings_components_LeaveChannel = require('./LeaveChannel.js');
14
14
  var ChannelSettings_components_UserPanel = require('./UserPanel.js');
15
15
  require('../../withSendbird.js');
16
- require('../../tslib.es6-2f2b0bca.js');
17
- require('../../UserProfileContext-922a43ec.js');
18
- require('../../uuid-c74bbbb6.js');
16
+ require('../../tslib.es6-c74b513f.js');
17
+ require('../../UserProfileContext-c6d7abb7.js');
18
+ require('../../uuid-9a117e16.js');
19
19
  require('../../ui/Loader.js');
20
20
  require('prop-types');
21
- require('../../stringSet-98b52c49.js');
22
- require('../../index-fd8a0abb.js');
21
+ require('../../stringSet-1539ac47.js');
22
+ require('../../index-e8928da6.js');
23
23
  require('../../ui/ChannelAvatar.js');
24
24
  require('../../ui/Avatar.js');
25
25
  require('../../ui/ImageRenderer.js');
26
- require('../../utils-e313131f.js');
26
+ require('../../utils-98441ba6.js');
27
27
  require('../../ui/TextButton.js');
28
- require('../../color-477ddbd4.js');
28
+ require('../../color-5bf5a8f5.js');
29
29
  require('./EditDetailsModal.js');
30
30
  require('../../ui/Modal.js');
31
31
  require('react-dom');
32
- require('../../utils-180c6bc8.js');
33
- require('../../index-609b07a2.js');
34
- require('../../index-daf80c58.js');
35
- require('../../MediaQueryContext-d6fdbe43.js');
32
+ require('../../utils-eb6d90e0.js');
33
+ require('../../index-54279ec2.js');
34
+ require('../../index-b8ba4548.js');
35
+ require('../../MediaQueryContext-6141d955.js');
36
36
  require('../../ui/Button.js');
37
- require('../../types-66554668.js');
37
+ require('../../types-d0d770c3.js');
38
38
  require('../../ui/Input.js');
39
39
  require('../../ui/Accordion.js');
40
40
  require('../../ui/AccordionGroup.js');
41
- require('../../context-9814fafe.js');
41
+ require('../../context-6684538e.js');
42
42
  require('../../ui/Badge.js');
43
43
  require('../../ui/Toggle.js');
44
44
  require('../../ui/ContextMenu.js');
45
45
  require('../../ui/SortByRow.js');
46
- require('../../index-b995f638.js');
46
+ require('../../index-dbe8dd84.js');
47
47
  require('../../utils/message/getOutgoingMessageState.js');
48
48
  require('./UserListItem.js');
49
49
  require('../../ui/MutedAvatarOverlay.js');
@@ -53,7 +53,7 @@ require('../../pubSub/topics.js');
53
53
  require('../../ui/UserListItem.js');
54
54
  require('../../ui/Checkbox.js');
55
55
  require('@sendbird/chat/groupChannel');
56
- require('../../MemberList-529a0086.js');
56
+ require('../../MemberList-2bd3db33.js');
57
57
 
58
58
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
59
59
 
@@ -2,33 +2,33 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ChannelSettings_context = require('../context.js');
5
- var LocalizationContext = require('../../LocalizationContext-5009012e.js');
5
+ var LocalizationContext = require('../../LocalizationContext-58b6ed7c.js');
6
6
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
7
7
  var ui_Modal = require('../../ui/Modal.js');
8
8
  var ui_Input = require('../../ui/Input.js');
9
9
  var ui_Avatar = require('../../ui/Avatar.js');
10
- require('../../tslib.es6-2f2b0bca.js');
11
- var ui_Label = require('../../index-35820a94.js');
12
- var types = require('../../types-66554668.js');
10
+ require('../../tslib.es6-c74b513f.js');
11
+ var ui_Label = require('../../index-b5a9b4b7.js');
12
+ var types = require('../../types-d0d770c3.js');
13
13
  var ui_TextButton = require('../../ui/TextButton.js');
14
14
  var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
15
- var uuid = require('../../uuid-c74bbbb6.js');
16
- require('../../UserProfileContext-922a43ec.js');
15
+ var uuid = require('../../uuid-9a117e16.js');
16
+ require('../../UserProfileContext-c6d7abb7.js');
17
17
  require('../../withSendbird.js');
18
- require('../../stringSet-98b52c49.js');
19
- require('../../index-fd8a0abb.js');
18
+ require('../../stringSet-1539ac47.js');
19
+ require('../../index-e8928da6.js');
20
20
  require('react-dom');
21
- require('../../utils-180c6bc8.js');
22
- require('../../index-609b07a2.js');
23
- require('../../index-daf80c58.js');
24
- require('../../MediaQueryContext-d6fdbe43.js');
21
+ require('../../utils-eb6d90e0.js');
22
+ require('../../index-54279ec2.js');
23
+ require('../../index-b8ba4548.js');
24
+ require('../../MediaQueryContext-6141d955.js');
25
25
  require('../../ui/IconButton.js');
26
26
  require('../../ui/Button.js');
27
27
  require('prop-types');
28
28
  require('../../ui/Icon.js');
29
29
  require('../../ui/ImageRenderer.js');
30
- require('../../color-477ddbd4.js');
31
- require('../../utils-e313131f.js');
30
+ require('../../color-5bf5a8f5.js');
31
+ require('../../utils-98441ba6.js');
32
32
 
33
33
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
34
34