@sendbird/uikit-react 3.6.8 → 3.6.9-rc.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 (745) hide show
  1. package/App.js +66 -57
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +167 -0
  4. package/Channel/components/ChannelHeader.js +22 -20
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +48 -42
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +18 -16
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/Message.js +42 -37
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +48 -35
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +44 -38
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +25 -21
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +20 -18
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +18 -16
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +4 -4
  24. package/Channel/context.js +15 -13
  25. package/Channel/context.js.map +1 -1
  26. package/Channel/utils/compareMessagesForGrouping.js +7 -6
  27. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  28. package/Channel/utils/getMessagePartsInfo.js +8 -7
  29. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  30. package/Channel.js +50 -42
  31. package/Channel.js.map +1 -1
  32. package/ChannelList/components/AddChannel.js +16 -15
  33. package/ChannelList/components/AddChannel.js.map +1 -1
  34. package/ChannelList/components/ChannelListHeader.js +6 -6
  35. package/ChannelList/components/ChannelListUI.js +33 -31
  36. package/ChannelList/components/ChannelListUI.js.map +1 -1
  37. package/ChannelList/components/ChannelPreview.js +31 -29
  38. package/ChannelList/components/ChannelPreview.js.map +1 -1
  39. package/ChannelList/components/ChannelPreviewAction.js +16 -15
  40. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  41. package/ChannelList/context.js +9 -8
  42. package/ChannelList/context.js.map +1 -1
  43. package/ChannelList.js +33 -31
  44. package/ChannelList.js.map +1 -1
  45. package/{ChannelListProvider-63f3007c.js → ChannelListProvider-779a4c3d.js} +8 -8
  46. package/{ChannelListProvider-63f3007c.js.map → ChannelListProvider-779a4c3d.js.map} +1 -1
  47. package/{ChannelProvider-d6dedff9.js → ChannelProvider-f6fbfb1a.js} +67 -24
  48. package/ChannelProvider-f6fbfb1a.js.map +1 -0
  49. package/ChannelSettings/components/ChannelProfile.js +14 -12
  50. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +15 -13
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +14 -13
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +16 -15
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +11 -10
  60. package/ChannelSettings/components/UserListItem.js.map +1 -1
  61. package/ChannelSettings/components/UserPanel.js +14 -13
  62. package/ChannelSettings/components/UserPanel.js.map +1 -1
  63. package/ChannelSettings/context.js +3 -3
  64. package/ChannelSettings.js +18 -17
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +15 -14
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +16 -15
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +13 -12
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +15 -14
  74. package/CreateChannel.js.map +1 -1
  75. package/{CreateChannelProvider-32ceb13a.js → CreateChannelProvider-e6c8290a.js} +1 -1
  76. package/{CreateChannelProvider-32ceb13a.js.map → CreateChannelProvider-e6c8290a.js.map} +1 -1
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -10
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +1 -1
  80. package/CreateOpenChannel.js +11 -9
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +13 -12
  83. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  84. package/EditUserProfile.js +14 -13
  85. package/EditUserProfile.js.map +1 -1
  86. package/{LocalizationContext-9a9a0064.js → LocalizationContext-2a6ef338.js} +3 -3
  87. package/{LocalizationContext-9a9a0064.js.map → LocalizationContext-2a6ef338.js.map} +1 -1
  88. package/{MediaQueryContext-aebb709a.js → MediaQueryContext-5a34332e.js} +1 -1
  89. package/{MediaQueryContext-aebb709a.js.map → MediaQueryContext-5a34332e.js.map} +1 -1
  90. package/{MemberList-54496842.js → MemberList-5c9b9650.js} +7 -6
  91. package/{MemberList-54496842.js.map → MemberList-5c9b9650.js.map} +1 -1
  92. package/Message/hooks/useDirtyGetMentions.js +1 -1
  93. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  94. package/MessageSearch/components/MessageSearchUI.js +13 -11
  95. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  96. package/MessageSearch/context.js +1 -1
  97. package/MessageSearch.js +13 -11
  98. package/MessageSearch.js.map +1 -1
  99. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  100. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  101. package/OpenChannel/components/OpenChannelInput.js +20 -20
  102. package/OpenChannel/components/OpenChannelMessage.js +35 -32
  103. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessageList.js +34 -33
  105. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelUI.js +34 -33
  107. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  108. package/OpenChannel/context.js +8 -8
  109. package/OpenChannel.js +34 -33
  110. package/OpenChannel.js.map +1 -1
  111. package/OpenChannelList/components/OpenChannelListUI.js +15 -13
  112. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  114. package/OpenChannelList/context.js +3 -3
  115. package/OpenChannelList.js +15 -13
  116. package/OpenChannelList.js.map +1 -1
  117. package/{OpenChannelListProvider-6f1599b7.js → OpenChannelListProvider-1ced6f18.js} +3 -3
  118. package/{OpenChannelListProvider-6f1599b7.js.map → OpenChannelListProvider-1ced6f18.js.map} +1 -1
  119. package/{OpenChannelProvider-8fdab056.js → OpenChannelProvider-4c64bb03.js} +13 -8
  120. package/OpenChannelProvider-4c64bb03.js.map +1 -0
  121. package/OpenChannelSettings/components/EditDetailsModal.js +16 -14
  122. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  123. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  124. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  125. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -18
  126. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  127. package/OpenChannelSettings/components/OperatorUI.js +18 -17
  128. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  129. package/OpenChannelSettings/components/ParticipantUI.js +15 -14
  130. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  131. package/OpenChannelSettings/context.js +3 -3
  132. package/OpenChannelSettings.js +19 -18
  133. package/OpenChannelSettings.js.map +1 -1
  134. package/README.md +7 -0
  135. package/{RemoveMessageModal-715f4bd6.js → RemoveMessageModal-1f71ab21.js} +7 -5
  136. package/RemoveMessageModal-1f71ab21.js.map +1 -0
  137. package/SendbirdProvider.js +43 -24
  138. package/SendbirdProvider.js.map +1 -1
  139. package/Thread/components/ParentMessageInfo.js +39 -36
  140. package/Thread/components/ParentMessageInfo.js.map +1 -1
  141. package/Thread/components/ParentMessageInfoItem.js +33 -23
  142. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  143. package/Thread/components/ThreadHeader.js +6 -6
  144. package/Thread/components/ThreadList.js +43 -39
  145. package/Thread/components/ThreadList.js.map +1 -1
  146. package/Thread/components/ThreadListItem.js +50 -40
  147. package/Thread/components/ThreadListItem.js.map +1 -1
  148. package/Thread/components/ThreadMessageInput.js +48 -35
  149. package/Thread/components/ThreadMessageInput.js.map +1 -1
  150. package/Thread/components/ThreadUI.js +48 -43
  151. package/Thread/components/ThreadUI.js.map +1 -1
  152. package/Thread/context.js +12 -8
  153. package/Thread/context.js.map +1 -1
  154. package/Thread.js +58 -44
  155. package/Thread.js.map +1 -1
  156. package/{ThreadProvider-696e3a32.js → ThreadProvider-505e55a5.js} +61 -15
  157. package/ThreadProvider-505e55a5.js.map +1 -0
  158. package/{UserProfileContext-9fba7a03.js → UserProfileContext-ca5fc057.js} +1 -1
  159. package/{UserProfileContext-9fba7a03.js.map → UserProfileContext-ca5fc057.js.map} +1 -1
  160. package/VoicePlayer/context.js +3 -3
  161. package/VoicePlayer/useVoicePlayer.js +12 -10
  162. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  163. package/VoiceRecorder/context.js +13 -11
  164. package/VoiceRecorder/context.js.map +1 -1
  165. package/VoiceRecorder/useVoiceRecorder.js +11 -9
  166. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  167. package/{WebAudioUtils-ba28e2b0.js → WebAudioUtils-070519e4.js} +2 -2
  168. package/{WebAudioUtils-ba28e2b0.js.map → WebAudioUtils-070519e4.js.map} +1 -1
  169. package/{_rollupPluginBabelHelpers-0f2ee8c1.js → _rollupPluginBabelHelpers-50696833.js} +1 -1
  170. package/_rollupPluginBabelHelpers-50696833.js.map +1 -0
  171. package/{actionTypes-670a9a48.js → actionTypes-a7ddf06a.js} +1 -1
  172. package/{actionTypes-670a9a48.js.map → actionTypes-a7ddf06a.js.map} +1 -1
  173. package/cjs/App.js +66 -57
  174. package/cjs/App.js.map +1 -1
  175. package/cjs/Channel/components/ChannelHeader.js +22 -20
  176. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  177. package/cjs/Channel/components/ChannelUI.js +48 -42
  178. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  179. package/cjs/Channel/components/FileViewer.js +18 -16
  180. package/cjs/Channel/components/FileViewer.js.map +1 -1
  181. package/cjs/Channel/components/FrozenNotification.js +4 -4
  182. package/cjs/Channel/components/Message.js +42 -37
  183. package/cjs/Channel/components/Message.js.map +1 -1
  184. package/cjs/Channel/components/MessageInput.js +49 -36
  185. package/cjs/Channel/components/MessageInput.js.map +1 -1
  186. package/cjs/Channel/components/MessageList.js +44 -38
  187. package/cjs/Channel/components/MessageList.js.map +1 -1
  188. package/cjs/Channel/components/RemoveMessageModal.js +25 -21
  189. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  190. package/cjs/Channel/components/SuggestedMentionList.js +20 -18
  191. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  192. package/cjs/Channel/components/TypingIndicator.js +18 -16
  193. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  194. package/cjs/Channel/components/UnreadCount.js +4 -4
  195. package/cjs/Channel/context.js +15 -13
  196. package/cjs/Channel/context.js.map +1 -1
  197. package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -6
  198. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  199. package/cjs/Channel/utils/getMessagePartsInfo.js +8 -7
  200. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  201. package/cjs/Channel.js +50 -42
  202. package/cjs/Channel.js.map +1 -1
  203. package/cjs/ChannelList/components/AddChannel.js +16 -15
  204. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  205. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  206. package/cjs/ChannelList/components/ChannelListUI.js +33 -31
  207. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  208. package/cjs/ChannelList/components/ChannelPreview.js +31 -29
  209. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  210. package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -15
  211. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  212. package/cjs/ChannelList/context.js +9 -8
  213. package/cjs/ChannelList/context.js.map +1 -1
  214. package/cjs/ChannelList.js +33 -31
  215. package/cjs/ChannelList.js.map +1 -1
  216. package/cjs/{ChannelListProvider-1506b1fa.js → ChannelListProvider-6ab7d534.js} +8 -8
  217. package/cjs/{ChannelListProvider-1506b1fa.js.map → ChannelListProvider-6ab7d534.js.map} +1 -1
  218. package/cjs/{ChannelProvider-c8bc29d3.js → ChannelProvider-5dab910c.js} +67 -24
  219. package/cjs/ChannelProvider-5dab910c.js.map +1 -0
  220. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -12
  221. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  222. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  223. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  224. package/cjs/ChannelSettings/components/EditDetailsModal.js +15 -13
  225. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  226. package/cjs/ChannelSettings/components/LeaveChannel.js +15 -14
  227. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  228. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -18
  229. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  230. package/cjs/ChannelSettings/components/UserListItem.js +11 -10
  231. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  232. package/cjs/ChannelSettings/components/UserPanel.js +14 -13
  233. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  234. package/cjs/ChannelSettings/context.js +3 -3
  235. package/cjs/ChannelSettings.js +18 -17
  236. package/cjs/ChannelSettings.js.map +1 -1
  237. package/cjs/CreateChannel/components/CreateChannelUI.js +15 -14
  238. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  239. package/cjs/CreateChannel/components/InviteUsers.js +16 -15
  240. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  241. package/cjs/CreateChannel/components/SelectChannelType.js +13 -12
  242. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  243. package/cjs/CreateChannel/context.js +4 -4
  244. package/cjs/CreateChannel.js +15 -14
  245. package/cjs/CreateChannel.js.map +1 -1
  246. package/cjs/{CreateChannelProvider-f30302a5.js → CreateChannelProvider-87b5a870.js} +1 -1
  247. package/cjs/{CreateChannelProvider-f30302a5.js.map → CreateChannelProvider-87b5a870.js.map} +1 -1
  248. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -10
  249. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  250. package/cjs/CreateOpenChannel/context.js +1 -1
  251. package/cjs/CreateOpenChannel.js +11 -9
  252. package/cjs/CreateOpenChannel.js.map +1 -1
  253. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -12
  254. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  255. package/cjs/EditUserProfile.js +14 -13
  256. package/cjs/EditUserProfile.js.map +1 -1
  257. package/cjs/{LocalizationContext-9c99457f.js → LocalizationContext-01462759.js} +3 -3
  258. package/cjs/{LocalizationContext-9c99457f.js.map → LocalizationContext-01462759.js.map} +1 -1
  259. package/cjs/{MediaQueryContext-a5c77095.js → MediaQueryContext-550a1a76.js} +1 -1
  260. package/cjs/{MediaQueryContext-a5c77095.js.map → MediaQueryContext-550a1a76.js.map} +1 -1
  261. package/cjs/{MemberList-166dd7de.js → MemberList-446c4808.js} +8 -7
  262. package/cjs/{MemberList-166dd7de.js.map → MemberList-446c4808.js.map} +1 -1
  263. package/cjs/Message/hooks/useDirtyGetMentions.js +1 -1
  264. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  265. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -11
  266. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  267. package/cjs/MessageSearch/context.js +1 -1
  268. package/cjs/MessageSearch.js +13 -11
  269. package/cjs/MessageSearch.js.map +1 -1
  270. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  271. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  272. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
  273. package/cjs/OpenChannel/components/OpenChannelMessage.js +35 -32
  274. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  275. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -33
  276. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  277. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -33
  278. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  279. package/cjs/OpenChannel/context.js +8 -8
  280. package/cjs/OpenChannel.js +34 -33
  281. package/cjs/OpenChannel.js.map +1 -1
  282. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -13
  283. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  284. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  285. package/cjs/OpenChannelList/context.js +3 -3
  286. package/cjs/OpenChannelList.js +15 -13
  287. package/cjs/OpenChannelList.js.map +1 -1
  288. package/cjs/{OpenChannelListProvider-74ae7138.js → OpenChannelListProvider-ca0abdf0.js} +3 -3
  289. package/cjs/{OpenChannelListProvider-74ae7138.js.map → OpenChannelListProvider-ca0abdf0.js.map} +1 -1
  290. package/cjs/{OpenChannelProvider-57c10c09.js → OpenChannelProvider-77ce94f4.js} +13 -8
  291. package/cjs/OpenChannelProvider-77ce94f4.js.map +1 -0
  292. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +16 -14
  293. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  294. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  295. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  296. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -18
  297. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  298. package/cjs/OpenChannelSettings/components/OperatorUI.js +22 -21
  299. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  300. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
  301. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  302. package/cjs/OpenChannelSettings/context.js +3 -3
  303. package/cjs/OpenChannelSettings.js +19 -18
  304. package/cjs/OpenChannelSettings.js.map +1 -1
  305. package/cjs/{RemoveMessageModal-029b1c86.js → RemoveMessageModal-c97607e4.js} +7 -5
  306. package/cjs/RemoveMessageModal-c97607e4.js.map +1 -0
  307. package/cjs/SendbirdProvider.js +43 -24
  308. package/cjs/SendbirdProvider.js.map +1 -1
  309. package/cjs/Thread/components/ParentMessageInfo.js +39 -36
  310. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  311. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -23
  312. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  313. package/cjs/Thread/components/ThreadHeader.js +6 -6
  314. package/cjs/Thread/components/ThreadList.js +43 -39
  315. package/cjs/Thread/components/ThreadList.js.map +1 -1
  316. package/cjs/Thread/components/ThreadListItem.js +53 -43
  317. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  318. package/cjs/Thread/components/ThreadMessageInput.js +49 -36
  319. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  320. package/cjs/Thread/components/ThreadUI.js +48 -43
  321. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  322. package/cjs/Thread/context.js +12 -8
  323. package/cjs/Thread/context.js.map +1 -1
  324. package/cjs/Thread.js +58 -44
  325. package/cjs/Thread.js.map +1 -1
  326. package/cjs/{ThreadProvider-9dfc3ad5.js → ThreadProvider-e33ab585.js} +61 -15
  327. package/cjs/ThreadProvider-e33ab585.js.map +1 -0
  328. package/cjs/{UserProfileContext-1f226141.js → UserProfileContext-a871377d.js} +1 -1
  329. package/cjs/{UserProfileContext-1f226141.js.map → UserProfileContext-a871377d.js.map} +1 -1
  330. package/cjs/VoicePlayer/context.js +3 -3
  331. package/cjs/VoicePlayer/useVoicePlayer.js +12 -10
  332. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  333. package/cjs/VoiceRecorder/context.js +13 -11
  334. package/cjs/VoiceRecorder/context.js.map +1 -1
  335. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -9
  336. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  337. package/cjs/{WebAudioUtils-250f7398.js → WebAudioUtils-9110f2c8.js} +2 -2
  338. package/cjs/{WebAudioUtils-250f7398.js.map → WebAudioUtils-9110f2c8.js.map} +1 -1
  339. package/cjs/{_rollupPluginBabelHelpers-117c3ffb.js → _rollupPluginBabelHelpers-c6220b54.js} +1 -1
  340. package/cjs/_rollupPluginBabelHelpers-c6220b54.js.map +1 -0
  341. package/cjs/{actionTypes-01de4d11.js → actionTypes-e50d3f49.js} +1 -1
  342. package/cjs/{actionTypes-01de4d11.js.map → actionTypes-e50d3f49.js.map} +1 -1
  343. package/cjs/{color-a057a4c2.js → color-437027bf.js} +1 -1
  344. package/cjs/{color-a057a4c2.js.map → color-437027bf.js.map} +1 -1
  345. package/cjs/{compareIds-49d9aea6.js → compareIds-6d5c4c39.js} +1 -1
  346. package/cjs/{compareIds-49d9aea6.js.map → compareIds-6d5c4c39.js.map} +1 -1
  347. package/cjs/{const-cd9b71c8.js → const-2c58fa8c.js} +1 -1
  348. package/cjs/{const-cd9b71c8.js.map → const-2c58fa8c.js.map} +1 -1
  349. package/cjs/{const-8e4d382d.js → const-7cb82662.js} +1 -1
  350. package/cjs/{const-8e4d382d.js.map → const-7cb82662.js.map} +1 -1
  351. package/cjs/{consts-fb9dd3a0.js → consts-50006df9.js} +5 -1
  352. package/cjs/{consts-fb9dd3a0.js.map → consts-50006df9.js.map} +1 -1
  353. package/cjs/{consts-4a51c64b.js → consts-58a1099d.js} +1 -1
  354. package/cjs/{consts-4a51c64b.js.map → consts-58a1099d.js.map} +1 -1
  355. package/cjs/{consts-d866b64a.js → consts-85acfb7f.js} +1 -1
  356. package/cjs/{consts-d866b64a.js.map → consts-85acfb7f.js.map} +1 -1
  357. package/cjs/{consts-3afe4fa8.js → consts-de5a3115.js} +1 -1
  358. package/cjs/{consts-3afe4fa8.js.map → consts-de5a3115.js.map} +1 -1
  359. package/cjs/{context-d7bb15b5.js → context-57928814.js} +2 -2
  360. package/cjs/{context-d7bb15b5.js.map → context-57928814.js.map} +1 -1
  361. package/cjs/dist/index.css +371 -280
  362. package/cjs/dist/index.css.map +1 -1
  363. package/cjs/{index-2413bae4.js → index-0e23b304.js} +1 -1
  364. package/cjs/index-0e23b304.js.map +1 -0
  365. package/cjs/index-13b55ebd.js +139 -0
  366. package/cjs/index-13b55ebd.js.map +1 -0
  367. package/cjs/{index-0599b6f2.js → index-3888ca97.js} +36 -4
  368. package/cjs/index-3888ca97.js.map +1 -0
  369. package/cjs/{index-df172622.js → index-43271226.js} +2 -2
  370. package/cjs/{index-df172622.js.map → index-43271226.js.map} +1 -1
  371. package/cjs/{index-15e4fb71.js → index-4f568909.js} +4 -4
  372. package/cjs/{index-15e4fb71.js.map → index-4f568909.js.map} +1 -1
  373. package/cjs/{index-ba4dea0c.js → index-63eb5ff7.js} +1 -1
  374. package/cjs/{index-ba4dea0c.js.map → index-63eb5ff7.js.map} +1 -1
  375. package/cjs/{index-fe1b738f.js → index-64dc3492.js} +3 -3
  376. package/cjs/{index-fe1b738f.js.map → index-64dc3492.js.map} +1 -1
  377. package/cjs/{index-a5aa0a9b.js → index-6bfc2f69.js} +8 -7
  378. package/cjs/{index-a5aa0a9b.js.map → index-6bfc2f69.js.map} +1 -1
  379. package/cjs/{index-913491a1.js → index-71366fc1.js} +2 -2
  380. package/cjs/{index-913491a1.js.map → index-71366fc1.js.map} +1 -1
  381. package/cjs/{index-d5522aef.js → index-85aa0eb6.js} +2 -2
  382. package/cjs/{index-d5522aef.js.map → index-85aa0eb6.js.map} +1 -1
  383. package/cjs/{index-0d4c4adf.js → index-8633e84b.js} +3 -3
  384. package/cjs/{index-0d4c4adf.js.map → index-8633e84b.js.map} +1 -1
  385. package/cjs/index-8d04d6f8.js +58 -0
  386. package/cjs/index-8d04d6f8.js.map +1 -0
  387. package/cjs/{index-c59af641.js → index-8fca1595.js} +2 -2
  388. package/cjs/{index-c59af641.js.map → index-8fca1595.js.map} +1 -1
  389. package/cjs/{index-464461c9.js → index-957f62e0.js} +20 -12
  390. package/cjs/index-957f62e0.js.map +1 -0
  391. package/cjs/{index-9cffff55.js → index-9c68a768.js} +3 -3
  392. package/cjs/{index-9cffff55.js.map → index-9c68a768.js.map} +1 -1
  393. package/cjs/{index-dc15cf44.js → index-9ff45780.js} +4 -4
  394. package/cjs/{index-dc15cf44.js.map → index-9ff45780.js.map} +1 -1
  395. package/cjs/{index-5b3bc2e9.js → index-a734f18b.js} +4 -4
  396. package/cjs/{index-5b3bc2e9.js.map → index-a734f18b.js.map} +1 -1
  397. package/cjs/{index-5359bc78.js → index-aabf3cd7.js} +6 -6
  398. package/cjs/{index-5359bc78.js.map → index-aabf3cd7.js.map} +1 -1
  399. package/cjs/{index-4eb2a000.js → index-b5b8572e.js} +2 -2
  400. package/cjs/{index-4eb2a000.js.map → index-b5b8572e.js.map} +1 -1
  401. package/cjs/{index-2d4ea9ad.js → index-c36eec86.js} +4 -4
  402. package/cjs/index-c36eec86.js.map +1 -0
  403. package/cjs/{index-b64ce51a.js → index-cd217acb.js} +10 -9
  404. package/cjs/index-cd217acb.js.map +1 -0
  405. package/cjs/index.js +60 -55
  406. package/cjs/index.js.map +1 -1
  407. package/cjs/{index.module-2c2cf337.js → index.module-cd5fee9a.js} +1 -1
  408. package/cjs/{index.module-2c2cf337.js.map → index.module-cd5fee9a.js.map} +1 -1
  409. package/cjs/package.json +1 -1
  410. package/cjs/{resolvedReplyType-053d2dbc.js → resolvedReplyType-e6b60483.js} +1 -1
  411. package/cjs/{resolvedReplyType-053d2dbc.js.map → resolvedReplyType-e6b60483.js.map} +1 -1
  412. package/cjs/sendbirdSelectors.js +3 -3
  413. package/cjs/stringFormatterUtils-222bd4a1.js +16 -0
  414. package/cjs/stringFormatterUtils-222bd4a1.js.map +1 -0
  415. package/cjs/{stringSet-dbdeec9c.js → stringSet-569a20f9.js} +1 -1
  416. package/cjs/{stringSet-dbdeec9c.js.map → stringSet-569a20f9.js.map} +1 -1
  417. package/cjs/{tokenize-7204c391.js → tokenize-d84a3b40.js} +2 -2
  418. package/cjs/{tokenize-7204c391.js.map → tokenize-d84a3b40.js.map} +1 -1
  419. package/cjs/{topics-c495cb3a.js → topics-44c343a5.js} +1 -1
  420. package/cjs/{topics-c495cb3a.js.map → topics-44c343a5.js.map} +1 -1
  421. package/cjs/{types-79ca7893.js → types-065ea007.js} +1 -1
  422. package/cjs/types-065ea007.js.map +1 -0
  423. package/cjs/ui/Accordion.js +2 -2
  424. package/cjs/ui/AccordionGroup.js +2 -2
  425. package/cjs/ui/AdminMessage.js +2 -2
  426. package/cjs/ui/Avatar.js +1 -1
  427. package/cjs/ui/Badge.js +4 -4
  428. package/cjs/ui/BottomSheet.js +6 -1
  429. package/cjs/ui/BottomSheet.js.map +1 -1
  430. package/cjs/ui/Button.js +10 -12
  431. package/cjs/ui/Button.js.map +1 -1
  432. package/cjs/ui/ChannelAvatar.js +2 -2
  433. package/cjs/ui/ConnectionStatus.js +4 -4
  434. package/cjs/ui/ContextMenu.js +6 -5
  435. package/cjs/ui/ContextMenu.js.map +1 -1
  436. package/cjs/ui/DateSeparator.js +3 -3
  437. package/cjs/ui/EmojiReactions.js +14 -13
  438. package/cjs/ui/EmojiReactions.js.map +1 -1
  439. package/cjs/ui/FileMessageItemBody.js +7 -6
  440. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  441. package/cjs/ui/FileViewer.js +14 -13
  442. package/cjs/ui/FileViewer.js.map +1 -1
  443. package/cjs/ui/Icon.js +3 -0
  444. package/cjs/ui/Icon.js.map +1 -1
  445. package/cjs/ui/IconButton.js +1 -1
  446. package/cjs/ui/ImageRenderer.js +58 -14
  447. package/cjs/ui/ImageRenderer.js.map +1 -1
  448. package/cjs/ui/Input.js +2 -2
  449. package/cjs/ui/Label.js +2 -2
  450. package/cjs/ui/LinkLabel.js +2 -2
  451. package/cjs/ui/MentionLabel.js +11 -10
  452. package/cjs/ui/MentionLabel.js.map +1 -1
  453. package/cjs/ui/MentionUserLabel.js +1 -1
  454. package/cjs/ui/MessageContent.js +43 -34
  455. package/cjs/ui/MessageContent.js.map +1 -1
  456. package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
  457. package/cjs/ui/MessageInput.js +54 -40
  458. package/cjs/ui/MessageInput.js.map +1 -1
  459. package/cjs/ui/MessageItemMenu.js +9 -8
  460. package/cjs/ui/MessageItemMenu.js.map +1 -1
  461. package/cjs/ui/MessageItemReactionMenu.js +9 -8
  462. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  463. package/cjs/ui/MessageSearchFileItem.js +18 -18
  464. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  465. package/cjs/ui/MessageSearchItem.js +8 -8
  466. package/cjs/ui/MessageStatus.js +11 -10
  467. package/cjs/ui/MessageStatus.js.map +1 -1
  468. package/cjs/ui/Modal.js +26 -17
  469. package/cjs/ui/Modal.js.map +1 -1
  470. package/cjs/ui/OGMessageItemBody.js +14 -14
  471. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  472. package/cjs/ui/OpenChannelAvatar.js +5 -5
  473. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  474. package/cjs/ui/OpenchannelFileMessage.js +16 -15
  475. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  476. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  477. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -14
  478. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  479. package/cjs/ui/OpenchannelUserMessage.js +16 -15
  480. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  481. package/cjs/ui/PlaceHolder.js +5 -5
  482. package/cjs/ui/PlaybackTime.js +2 -2
  483. package/cjs/ui/QuoteMessage.js +15 -13
  484. package/cjs/ui/QuoteMessage.js.map +1 -1
  485. package/cjs/ui/QuoteMessageInput.js +14 -12
  486. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  487. package/cjs/ui/ReactionBadge.js +2 -2
  488. package/cjs/ui/ReactionButton.js +4 -4
  489. package/cjs/ui/SortByRow.js +1 -1
  490. package/cjs/ui/TextButton.js +1 -1
  491. package/cjs/ui/TextMessageItemBody.js +14 -14
  492. package/cjs/ui/ThreadReplies.js +5 -5
  493. package/cjs/ui/ThumbnailMessageItemBody.js +16 -17
  494. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  495. package/cjs/ui/Toggle.js +1 -1
  496. package/cjs/ui/Tooltip.js +2 -2
  497. package/cjs/ui/UnknownMessageItemBody.js +7 -6
  498. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  499. package/cjs/ui/UserListItem.js +11 -10
  500. package/cjs/ui/UserListItem.js.map +1 -1
  501. package/cjs/ui/UserProfile.js +9 -9
  502. package/cjs/ui/VoiceMessageItemBody.js +12 -10
  503. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  504. package/cjs/ui/VoiceMessgeInput.js +7 -7
  505. package/cjs/ui/Word.js +11 -10
  506. package/cjs/ui/Word.js.map +1 -1
  507. package/cjs/{VoiceMessageInputWrapper-953affee.js → useHandleUploadFiles-cd2fcecd.js} +129 -8
  508. package/cjs/useHandleUploadFiles-cd2fcecd.js.map +1 -0
  509. package/cjs/{useLongPress-e7c92bb0.js → useLongPress-b3303d9c.js} +3 -3
  510. package/cjs/{useLongPress-e7c92bb0.js.map → useLongPress-b3303d9c.js.map} +1 -1
  511. package/cjs/useSendMultipleFilesMessage-1093a2d5.js +109 -0
  512. package/cjs/useSendMultipleFilesMessage-1093a2d5.js.map +1 -0
  513. package/cjs/useSendbirdStateContext.js +1 -1
  514. package/cjs/utils/message/isVoiceMessage.js +3 -2
  515. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  516. package/cjs/{utils-c2f38151.js → utils-025bf87c.js} +1 -1
  517. package/cjs/{utils-c2f38151.js.map → utils-025bf87c.js.map} +1 -1
  518. package/cjs/utils-3b3b18a3.js +62 -0
  519. package/cjs/utils-3b3b18a3.js.map +1 -0
  520. package/cjs/{utils-657ea6e9.js → utils-4040fa0e.js} +1 -1
  521. package/cjs/{utils-657ea6e9.js.map → utils-4040fa0e.js.map} +1 -1
  522. package/cjs/{utils-b6cca626.js → utils-91440270.js} +4 -4
  523. package/cjs/{utils-b6cca626.js.map → utils-91440270.js.map} +1 -1
  524. package/cjs/{utils-cc9de39b.js → utils-9ce6a1d4.js} +1 -1
  525. package/cjs/{utils-cc9de39b.js.map → utils-9ce6a1d4.js.map} +1 -1
  526. package/cjs/{utils-90a7cd20.js → utils-a1c39113.js} +2 -2
  527. package/cjs/{utils-90a7cd20.js.map → utils-a1c39113.js.map} +1 -1
  528. package/cjs/{uuid-b2882230.js → uuid-10da34d7.js} +1 -1
  529. package/cjs/{uuid-b2882230.js.map → uuid-10da34d7.js.map} +1 -1
  530. package/cjs/withSendbird.js +8 -1
  531. package/cjs/withSendbird.js.map +1 -1
  532. package/{color-65ef45d7.js → color-6b4d0a7b.js} +1 -1
  533. package/{color-65ef45d7.js.map → color-6b4d0a7b.js.map} +1 -1
  534. package/{compareIds-c0aa8024.js → compareIds-8bbfc531.js} +1 -1
  535. package/{compareIds-c0aa8024.js.map → compareIds-8bbfc531.js.map} +1 -1
  536. package/{const-537b3aa9.js → const-7a48f2f0.js} +1 -1
  537. package/{const-537b3aa9.js.map → const-7a48f2f0.js.map} +1 -1
  538. package/{const-2c36fe72.js → const-bd67ba4a.js} +1 -1
  539. package/{const-2c36fe72.js.map → const-bd67ba4a.js.map} +1 -1
  540. package/{consts-ee08d763.js → consts-087a1fb9.js} +1 -1
  541. package/{consts-ee08d763.js.map → consts-087a1fb9.js.map} +1 -1
  542. package/{consts-397a92f1.js → consts-2ddaffce.js} +5 -2
  543. package/{consts-397a92f1.js.map → consts-2ddaffce.js.map} +1 -1
  544. package/{consts-066d732d.js → consts-8b2a8d9c.js} +1 -1
  545. package/{consts-066d732d.js.map → consts-8b2a8d9c.js.map} +1 -1
  546. package/{consts-c105f2e8.js → consts-a27675df.js} +1 -1
  547. package/{consts-c105f2e8.js.map → consts-a27675df.js.map} +1 -1
  548. package/{context-524b02ab.js → context-731512f4.js} +2 -2
  549. package/{context-524b02ab.js.map → context-731512f4.js.map} +1 -1
  550. package/dist/index.css +371 -280
  551. package/dist/index.css.map +1 -1
  552. package/{index-f1d37762.js → index-0791839a.js} +4 -4
  553. package/{index-f1d37762.js.map → index-0791839a.js.map} +1 -1
  554. package/{index-d16a8084.js → index-134f97cd.js} +1 -1
  555. package/index-134f97cd.js.map +1 -0
  556. package/{index-d972c8e3.js → index-1e76921e.js} +4 -4
  557. package/{index-d972c8e3.js.map → index-1e76921e.js.map} +1 -1
  558. package/{index-40e8e312.js → index-2588389f.js} +2 -2
  559. package/{index-40e8e312.js.map → index-2588389f.js.map} +1 -1
  560. package/{index-91634369.js → index-31fae6a0.js} +1 -1
  561. package/{index-91634369.js.map → index-31fae6a0.js.map} +1 -1
  562. package/{index-4236c5c8.js → index-3bead442.js} +2 -2
  563. package/{index-4236c5c8.js.map → index-3bead442.js.map} +1 -1
  564. package/{index-3f6516a2.js → index-6233952f.js} +4 -4
  565. package/index-6233952f.js.map +1 -0
  566. package/{index-8017e2b5.js → index-62371bdd.js} +10 -9
  567. package/index-62371bdd.js.map +1 -0
  568. package/{index-2969a2df.js → index-62abd822.js} +20 -12
  569. package/index-62abd822.js.map +1 -0
  570. package/{index-aa87ac03.js → index-66948f26.js} +3 -3
  571. package/{index-aa87ac03.js.map → index-66948f26.js.map} +1 -1
  572. package/index-7ff60f7d.js +51 -0
  573. package/index-7ff60f7d.js.map +1 -0
  574. package/{index-da7bc750.js → index-9fca62f4.js} +3 -3
  575. package/{index-da7bc750.js.map → index-9fca62f4.js.map} +1 -1
  576. package/{index-4c4b34c9.js → index-a3ca9833.js} +3 -3
  577. package/{index-4c4b34c9.js.map → index-a3ca9833.js.map} +1 -1
  578. package/index-b038bbfd.js +132 -0
  579. package/index-b038bbfd.js.map +1 -0
  580. package/{index-72d247f7.js → index-c46d2bb8.js} +2 -2
  581. package/{index-72d247f7.js.map → index-c46d2bb8.js.map} +1 -1
  582. package/{index-d6ceb67a.js → index-c5f3ebb5.js} +2 -2
  583. package/{index-d6ceb67a.js.map → index-c5f3ebb5.js.map} +1 -1
  584. package/{index-39eeabbb.js → index-cd866969.js} +33 -5
  585. package/index-cd866969.js.map +1 -0
  586. package/{index-5ebb83a2.js → index-d004f5a9.js} +4 -4
  587. package/{index-5ebb83a2.js.map → index-d004f5a9.js.map} +1 -1
  588. package/{index-3e2f101e.js → index-d4d4f948.js} +6 -6
  589. package/{index-3e2f101e.js.map → index-d4d4f948.js.map} +1 -1
  590. package/{index-4c58b734.js → index-d6757790.js} +8 -7
  591. package/{index-4c58b734.js.map → index-d6757790.js.map} +1 -1
  592. package/{index-7c1266b5.js → index-ec9b8bb2.js} +2 -2
  593. package/{index-7c1266b5.js.map → index-ec9b8bb2.js.map} +1 -1
  594. package/index.d.ts +155 -31
  595. package/index.js +60 -55
  596. package/index.js.map +1 -1
  597. package/{index.module-b694546f.js → index.module-05a84007.js} +1 -1
  598. package/{index.module-b694546f.js.map → index.module-05a84007.js.map} +1 -1
  599. package/package.json +1 -1
  600. package/{resolvedReplyType-97610f1a.js → resolvedReplyType-7fa7b725.js} +1 -1
  601. package/{resolvedReplyType-97610f1a.js.map → resolvedReplyType-7fa7b725.js.map} +1 -1
  602. package/sendbirdSelectors.js +3 -3
  603. package/stringFormatterUtils-bae59a9b.js +14 -0
  604. package/stringFormatterUtils-bae59a9b.js.map +1 -0
  605. package/{stringSet-ed242956.js → stringSet-a3384f83.js} +1 -1
  606. package/{stringSet-ed242956.js.map → stringSet-a3384f83.js.map} +1 -1
  607. package/{tokenize-3c45100f.js → tokenize-7edff95a.js} +2 -2
  608. package/{tokenize-3c45100f.js.map → tokenize-7edff95a.js.map} +1 -1
  609. package/{topics-da8f3f42.js → topics-85213ccb.js} +1 -1
  610. package/{topics-da8f3f42.js.map → topics-85213ccb.js.map} +1 -1
  611. package/{types-3826bbff.js → types-6bc0cc06.js} +1 -1
  612. package/types-6bc0cc06.js.map +1 -0
  613. package/ui/Accordion.js +2 -2
  614. package/ui/AccordionGroup.js +2 -2
  615. package/ui/AdminMessage.js +2 -2
  616. package/ui/Avatar.js +1 -1
  617. package/ui/Badge.js +4 -4
  618. package/ui/BottomSheet.js +6 -1
  619. package/ui/BottomSheet.js.map +1 -1
  620. package/ui/Button.js +10 -12
  621. package/ui/Button.js.map +1 -1
  622. package/ui/ChannelAvatar.js +2 -2
  623. package/ui/ConnectionStatus.js +4 -4
  624. package/ui/ContextMenu.js +6 -5
  625. package/ui/ContextMenu.js.map +1 -1
  626. package/ui/DateSeparator.js +3 -3
  627. package/ui/EmojiReactions.js +14 -13
  628. package/ui/EmojiReactions.js.map +1 -1
  629. package/ui/FileMessageItemBody.js +7 -6
  630. package/ui/FileMessageItemBody.js.map +1 -1
  631. package/ui/FileViewer.js +14 -13
  632. package/ui/FileViewer.js.map +1 -1
  633. package/ui/Icon.js +3 -0
  634. package/ui/Icon.js.map +1 -1
  635. package/ui/IconButton.js +1 -1
  636. package/ui/ImageRenderer.js +59 -15
  637. package/ui/ImageRenderer.js.map +1 -1
  638. package/ui/Input.js +2 -2
  639. package/ui/Label.js +2 -2
  640. package/ui/LinkLabel.js +2 -2
  641. package/ui/MentionLabel.js +11 -10
  642. package/ui/MentionLabel.js.map +1 -1
  643. package/ui/MentionUserLabel.js +1 -1
  644. package/ui/MessageContent.js +42 -33
  645. package/ui/MessageContent.js.map +1 -1
  646. package/ui/MessageInput/hooks/usePaste.js +4 -4
  647. package/ui/MessageInput.js +54 -40
  648. package/ui/MessageInput.js.map +1 -1
  649. package/ui/MessageItemMenu.js +9 -8
  650. package/ui/MessageItemMenu.js.map +1 -1
  651. package/ui/MessageItemReactionMenu.js +9 -8
  652. package/ui/MessageItemReactionMenu.js.map +1 -1
  653. package/ui/MessageSearchFileItem.js +18 -18
  654. package/ui/MessageSearchFileItem.js.map +1 -1
  655. package/ui/MessageSearchItem.js +8 -8
  656. package/ui/MessageStatus.js +11 -10
  657. package/ui/MessageStatus.js.map +1 -1
  658. package/ui/Modal.js +26 -18
  659. package/ui/Modal.js.map +1 -1
  660. package/ui/OGMessageItemBody.js +14 -14
  661. package/ui/OpenChannelAdminMessage.js +2 -2
  662. package/ui/OpenChannelAvatar.js +5 -5
  663. package/ui/OpenchannelConversationHeader.js +6 -6
  664. package/ui/OpenchannelFileMessage.js +16 -15
  665. package/ui/OpenchannelFileMessage.js.map +1 -1
  666. package/ui/OpenchannelOGMessage.js +18 -18
  667. package/ui/OpenchannelThumbnailMessage.js +15 -14
  668. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  669. package/ui/OpenchannelUserMessage.js +16 -15
  670. package/ui/OpenchannelUserMessage.js.map +1 -1
  671. package/ui/PlaceHolder.js +5 -5
  672. package/ui/PlaybackTime.js +2 -2
  673. package/ui/QuoteMessage.js +15 -13
  674. package/ui/QuoteMessage.js.map +1 -1
  675. package/ui/QuoteMessageInput.js +14 -12
  676. package/ui/QuoteMessageInput.js.map +1 -1
  677. package/ui/ReactionBadge.js +2 -2
  678. package/ui/ReactionButton.js +4 -4
  679. package/ui/SortByRow.js +1 -1
  680. package/ui/TextButton.js +1 -1
  681. package/ui/TextMessageItemBody.js +14 -14
  682. package/ui/ThreadReplies.js +5 -5
  683. package/ui/ThumbnailMessageItemBody.js +14 -15
  684. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  685. package/ui/Toggle.js +1 -1
  686. package/ui/Tooltip.js +2 -2
  687. package/ui/UnknownMessageItemBody.js +7 -6
  688. package/ui/UnknownMessageItemBody.js.map +1 -1
  689. package/ui/UserListItem.js +11 -10
  690. package/ui/UserListItem.js.map +1 -1
  691. package/ui/UserProfile.js +9 -9
  692. package/ui/VoiceMessageItemBody.js +12 -10
  693. package/ui/VoiceMessageItemBody.js.map +1 -1
  694. package/ui/VoiceMessgeInput.js +7 -7
  695. package/ui/Word.js +11 -10
  696. package/ui/Word.js.map +1 -1
  697. package/{VoiceMessageInputWrapper-b074aec5.js → useHandleUploadFiles-15dc0c2d.js} +130 -10
  698. package/useHandleUploadFiles-15dc0c2d.js.map +1 -0
  699. package/{useLongPress-0189f9c3.js → useLongPress-11759804.js} +3 -3
  700. package/{useLongPress-0189f9c3.js.map → useLongPress-11759804.js.map} +1 -1
  701. package/useSendMultipleFilesMessage-3b16fa85.js +107 -0
  702. package/useSendMultipleFilesMessage-3b16fa85.js.map +1 -0
  703. package/useSendbirdStateContext.js +1 -1
  704. package/utils/message/isVoiceMessage.js +3 -2
  705. package/utils/message/isVoiceMessage.js.map +1 -1
  706. package/utils-11da9785.js +57 -0
  707. package/utils-11da9785.js.map +1 -0
  708. package/{utils-40781609.js → utils-1a4154f1.js} +1 -1
  709. package/{utils-40781609.js.map → utils-1a4154f1.js.map} +1 -1
  710. package/{utils-3bd17cc2.js → utils-4078c160.js} +1 -1
  711. package/{utils-3bd17cc2.js.map → utils-4078c160.js.map} +1 -1
  712. package/{utils-373b8143.js → utils-749b8812.js} +1 -1
  713. package/{utils-373b8143.js.map → utils-749b8812.js.map} +1 -1
  714. package/{utils-cae5adba.js → utils-e72dd1e0.js} +2 -2
  715. package/{utils-cae5adba.js.map → utils-e72dd1e0.js.map} +1 -1
  716. package/{utils-b7161189.js → utils-fc37f1e5.js} +4 -4
  717. package/{utils-b7161189.js.map → utils-fc37f1e5.js.map} +1 -1
  718. package/{uuid-6d982751.js → uuid-87e2df67.js} +1 -1
  719. package/{uuid-6d982751.js.map → uuid-87e2df67.js.map} +1 -1
  720. package/withSendbird.js +8 -1
  721. package/withSendbird.js.map +1 -1
  722. package/ChannelProvider-d6dedff9.js.map +0 -1
  723. package/OpenChannelProvider-8fdab056.js.map +0 -1
  724. package/RemoveMessageModal-715f4bd6.js.map +0 -1
  725. package/ThreadProvider-696e3a32.js.map +0 -1
  726. package/VoiceMessageInputWrapper-b074aec5.js.map +0 -1
  727. package/_rollupPluginBabelHelpers-0f2ee8c1.js.map +0 -1
  728. package/cjs/ChannelProvider-c8bc29d3.js.map +0 -1
  729. package/cjs/OpenChannelProvider-57c10c09.js.map +0 -1
  730. package/cjs/RemoveMessageModal-029b1c86.js.map +0 -1
  731. package/cjs/ThreadProvider-9dfc3ad5.js.map +0 -1
  732. package/cjs/VoiceMessageInputWrapper-953affee.js.map +0 -1
  733. package/cjs/_rollupPluginBabelHelpers-117c3ffb.js.map +0 -1
  734. package/cjs/index-0599b6f2.js.map +0 -1
  735. package/cjs/index-2413bae4.js.map +0 -1
  736. package/cjs/index-2d4ea9ad.js.map +0 -1
  737. package/cjs/index-464461c9.js.map +0 -1
  738. package/cjs/index-b64ce51a.js.map +0 -1
  739. package/cjs/types-79ca7893.js.map +0 -1
  740. package/index-2969a2df.js.map +0 -1
  741. package/index-39eeabbb.js.map +0 -1
  742. package/index-3f6516a2.js.map +0 -1
  743. package/index-8017e2b5.js.map +0 -1
  744. package/index-d16a8084.js.map +0 -1
  745. package/types-3826bbff.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelListProvider-63f3007c.js","sources":["../src/modules/ChannelList/dux/actionTypes.js","../src/modules/ChannelList/utils.js","../src/modules/ChannelList/dux/initialState.js","../src/modules/ChannelList/dux/reducers.js","../src/modules/ChannelList/context/hooks/useActiveChannelUrl.ts","../src/modules/ChannelList/context/hooks/useFetchChannelList.ts","../src/modules/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const USER_INVITED = 'USER_INVITED';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n","import { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n },\n onChannelDeleted: (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n },\n onUserJoined: (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n },\n onUserReceivedInvitation: (channel, inviter, invitees) => {\n logger.info('ChannelList: onUserReceivedInvitation', { channel, inviter, invitees });\n const { currentUser } = sdk;\n const isInvited = invitees.find((user) => user?.userId === currentUser?.userId);\n // The newly created channel should be displayed only when there's a message\n if (isInvited && channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.USER_INVITED,\n payload: channel,\n });\n }\n },\n onUserBanned: (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n },\n onUserLeft: (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n },\n\n onReadStatus: (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n\n onDeliveryReceiptUpdated: (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n\n onMessageUpdated: (channel, message) => {\n if (channel?.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n },\n\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n\n onChannelFrozen: (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n },\n\n onChannelUnfrozen: (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const param = {};\n param.includeEmpty = false;\n param.limit = 20; // The value of pagination limit could be set up to 100.\n param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n param[key] = userFilledChannelListQuery[key];\n });\n }\n\n const channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n}) {\n if (sdk?.groupChannel) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next().then((channelList) => {\n logger.info('ChannelList - fetched channels', channelList);\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: { channelList: sortedChannelList, disableAutoSelect },\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered && !disableMarkAsDelivered) {\n sortedChannelList.forEach((channel) => {\n markAsDeliveredScheduler.push(channel);\n });\n }\n }).catch((err) => {\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n }\n });\n } else {\n logger.info('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subscriber = new Map();\n if (!pubSub) return subscriber;\n subscriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subscriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }));\n\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: true,\n allChannels: [],\n currentChannel: null,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS: {\n const { channelList, disableAutoSelect } = action.payload;\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: channelList,\n disableAutoSelect,\n currentChannel: (\n !disableAutoSelect\n && channelList\n && channelList.length\n && channelList.length > 0\n )\n ? channelList[0]\n : null,\n };\n }\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.USER_INVITED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel?.url && isMe));\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel?.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel?.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.ON_LAST_MESSAGE_UPDATED: {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel?.url === action.payload.url ? action.payload : channel)),\n };\n }\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.CHANNEL_REPLACED_TO_TOP: {\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, action.payload, state.currentUserId)) {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n return state;\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../../dux/actionTypes';\nimport { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../../../../lib/SendbirdState';\n\nexport type DynamicProps = {\n activeChannelUrl?: string;\n channels?: GroupChannel[];\n sdk?: SendbirdGroupChat;\n};\n\nexport type StaticProps = {\n logger: Logger;\n channelListDispatcher: React.Dispatch<any>;\n};\n\nfunction useActiveChannelUrl({\n activeChannelUrl,\n channels,\n sdk,\n}: DynamicProps, {\n logger,\n channelListDispatcher,\n}: StaticProps): void {\n return useEffect(() => {\n if (activeChannelUrl) {\n logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl });\n const activeChannel = channels?.find(channel => channel.url === activeChannelUrl);\n if (activeChannel) {\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: activeChannel,\n });\n } else {\n logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl });\n sdk?.groupChannel?.getChannel(activeChannelUrl)\n .then((channel) => {\n channelListDispatcher({\n type: messageActionTypes.FETCH_CHANNELS_SUCCESS,\n payload: [channel],\n });\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n })\n .catch(() => {\n logger.warning('ChannelListProvider: Active channel not found');\n });\n }\n }\n }, [activeChannelUrl]);\n}\n\nexport default useActiveChannelUrl;\n","import { useCallback } from 'react';\nimport { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nimport { Nullable } from '../../../../types';\nimport { CustomUseReducerDispatcher, Logger } from '../../../../lib/SendbirdState';\nimport { MarkAsDeliveredSchedulerType } from '../../../../lib/hooks/useMarkAsDeliveredScheduler';\nimport * as channelListActions from '../../dux/actionTypes';\n\ninterface DynamicProps {\n channelSource: Nullable<GroupChannelListQuery>;\n disableMarkAsDelivered: boolean;\n}\ninterface StaticProps {\n channelListDispatcher: CustomUseReducerDispatcher;\n logger: Logger;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n}\n\nexport const useFetchChannelList = ({\n channelSource,\n disableMarkAsDelivered,\n}: DynamicProps, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n}: StaticProps) => {\n return useCallback(async () => {\n if (!channelSource?.hasNext) {\n logger.info('ChannelList: not able to fetch');\n return;\n }\n logger.info('ChannelList: starting fetch');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n try {\n const channelList: GroupChannel[] = await channelSource.next();\n logger.info('ChannelList: succeeded fetch', { channelList });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (!disableMarkAsDelivered) {\n logger.info('ChannelList: mark as delivered to fetched channels');\n // eslint-disable-next-line no-unused-expressions\n channelList?.forEach((channel) => {\n if (channel?.unreadMessageCount > 0) {\n markAsDeliveredScheduler.push(channel);\n }\n });\n }\n } catch (error) {\n logger.error('ChannelList: failed fetch', { error });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: error,\n });\n }\n }, [\n channelSource,\n disableMarkAsDelivered,\n ]);\n};\n","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n SendbirdGroupChat,\n GroupChannelListQuery as GroupChannelListQuerySb,\n GroupChannelUserIdsFilter,\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\nimport { DELIVERY_RECEIPT } from '../../../utils/consts';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\nimport { CHANNEL_TYPE } from '../../CreateChannel/types';\nimport useActiveChannelUrl from './hooks/useActiveChannelUrl';\nimport { useFetchChannelList } from './hooks/useFetchChannelList';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n userIdsFilter?: GroupChannelUserIdsFilter;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\n}\n\ntype OverrideInviteUserType = {\n users: Array<string>;\n onClose: () => void;\n channelType: CHANNEL_TYPE;\n};\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;\n overrideInviteUser?(params: OverrideInviteUserType): void;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: User): void;\n onChannelSelect?(channel: GroupChannel | null): void;\n sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactElement;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n activeChannelUrl?: string;\n typingChannels?: Array<GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: GroupChannelListQuerySb | null;\n fetchChannelList: () => void;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n overrideInviteUser,\n activeChannelUrl,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n // disable autoselect, if activeChannelUrl is provided\n // useActiveChannelUrl should be executed when activeChannelUrl is present\n const disableAutoSelect = props?.disableAutoSelect || !!activeChannelUrl;\n const onChannelSelect = props?.onChannelSelect || noop;\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger, onUserProfileMessage } = config;\n const {\n markAsDeliveredScheduler,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n const { premiumFeatureList = [] } = sdk?.appInfo ?? {};\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n const sdkChannelHandlerId = uuidv4();\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk?.groupChannel?.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n let typingHandlerId = '';\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n typingHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (channel) => {\n const typingMemberCount = channel?.getTypingUsers()?.length;\n const channelList = typingChannels.filter(ch => ch.url !== channel.url);\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel]);\n } else {\n setTypingChannels(channelList);\n }\n },\n onUnreadMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onMessageUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n onMentionReceived(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(typingHandlerId, handler);\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler && typingHandlerId !== '') {\n sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);\n }\n };\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n // Set current channel (by on_channel_selected event)\n useEffect(() => {\n if (!sdk || !sdk.groupChannel || !currentChannel || !currentChannel?.url) {\n return;\n }\n sdk.groupChannel.getChannel(currentChannel.url).then((groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n // Set active channel (by url)\n useActiveChannelUrl({\n activeChannelUrl,\n channels: sortedChannels,\n sdk,\n }, {\n logger,\n channelListDispatcher,\n });\n\n const fetchChannelList = useFetchChannelList({\n channelSource,\n disableMarkAsDelivered: disableMarkAsDelivered || !premiumFeatureList.some((feature) => feature === DELIVERY_RECEIPT),\n }, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n });\n\n return (\n <ChannelListContext.Provider value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n overrideInviteUser,\n onChannelSelect,\n sortChannelList,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n fetchChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile ?? config?.disableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","USER_INVITED","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECIPT","createEventHandler","_ref","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserReceivedInvitation","inviter","invitees","currentUser","isInvited","find","user","userId","onUserBanned","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","_ref2","userFilledChannelListQuery","param","includeEmpty","limit","order","Object","keys","forEach","key","channelListQuery","createMyGroupChannelListQuery","setupChannelList","_ref3","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","markAsDeliveredScheduler","disableMarkAsDelivered","warning","currentUserId","hasNext","next","then","channelList","_sdk$appInfo","_sdk$appInfo$premiumF","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","feature","push","catch","err","error","pubSubHandleRemover","subscriber","s","remove","_unused","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","UPDATE_USER_MESSAGE","_updatedChannel$lastM","updatedChannel","messageId","LEAVE_CHANNEL","url","SEND_MESSAGE_START","initialized","loading","allChannels","currentChannel","reducer","state","action","actions","_objectSpread","initialState","length","currentChannels","map","c","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","_state$currentChannel","nextChannel","_state$currentChannel2","_state$currentChannel5","_state$currentChannel4","_state$currentChannel3","_ref4","unreadMessageCount","_state$currentChannel6","_ref5","_ref6","currentUnreadCount","_ref7","_state$currentChannel7","_ref8","isFrozen","_state$currentChannel8","_ref9","useActiveChannelUrl","activeChannelUrl","channels","useEffect","activeChannel","messageActionTypes","_sdk$groupChannel","getChannel","useFetchChannelList","channelSource","useCallback","channelListActions","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","typingChannels","ChannelListProvider","props","_sdk$currentUser","children","overrideInviteUser","isTypingIndicatorEnabled","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","onUserProfileMessage","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","channelListStore","useReducer","channelListReducers","channelListInitialState","useState","setTypingChannels","uuidv4","removeGroupChannelHandler","_sdk$groupChannel2","_sdk$groupChannel3","_sdk$groupChannel4","typingHandlerId","_sdk$groupChannel5","handler","onTypingStatusUpdated","_channel$getTypingUse","typingMemberCount","getTypingUsers","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","getChannelWithoutCache","onMentionReceived","_sdk$groupChannel6","queries_","useMemo","sortedChannels","console","warn","before","after","fetchChannelList","some","DELIVERY_RECEIPT","createElement","Provider","value","UserProfileProvider","useChannelListContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelListProvider-779a4c3d.js","sources":["../src/modules/ChannelList/dux/actionTypes.js","../src/modules/ChannelList/utils.js","../src/modules/ChannelList/dux/initialState.js","../src/modules/ChannelList/dux/reducers.js","../src/modules/ChannelList/context/hooks/useActiveChannelUrl.ts","../src/modules/ChannelList/context/hooks/useFetchChannelList.ts","../src/modules/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const USER_INVITED = 'USER_INVITED';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n","import { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n },\n onChannelDeleted: (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n },\n onUserJoined: (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n },\n onUserReceivedInvitation: (channel, inviter, invitees) => {\n logger.info('ChannelList: onUserReceivedInvitation', { channel, inviter, invitees });\n const { currentUser } = sdk;\n const isInvited = invitees.find((user) => user?.userId === currentUser?.userId);\n // The newly created channel should be displayed only when there's a message\n if (isInvited && channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.USER_INVITED,\n payload: channel,\n });\n }\n },\n onUserBanned: (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n },\n onUserLeft: (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n },\n\n onReadStatus: (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n\n onDeliveryReceiptUpdated: (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n\n onMessageUpdated: (channel, message) => {\n if (channel?.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n },\n\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n\n onChannelFrozen: (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n },\n\n onChannelUnfrozen: (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const param = {};\n param.includeEmpty = false;\n param.limit = 20; // The value of pagination limit could be set up to 100.\n param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n param[key] = userFilledChannelListQuery[key];\n });\n }\n\n const channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n}) {\n if (sdk?.groupChannel) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next().then((channelList) => {\n logger.info('ChannelList - fetched channels', channelList);\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: { channelList: sortedChannelList, disableAutoSelect },\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered && !disableMarkAsDelivered) {\n sortedChannelList.forEach((channel) => {\n markAsDeliveredScheduler.push(channel);\n });\n }\n }).catch((err) => {\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n }\n });\n } else {\n logger.info('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subscriber = new Map();\n if (!pubSub) return subscriber;\n subscriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subscriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }));\n\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: true,\n allChannels: [],\n currentChannel: null,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS: {\n const { channelList, disableAutoSelect } = action.payload;\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: channelList,\n disableAutoSelect,\n currentChannel: (\n !disableAutoSelect\n && channelList\n && channelList.length\n && channelList.length > 0\n )\n ? channelList[0]\n : null,\n };\n }\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.USER_INVITED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel?.url && isMe));\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel?.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel?.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.ON_LAST_MESSAGE_UPDATED: {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel?.url === action.payload.url ? action.payload : channel)),\n };\n }\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.CHANNEL_REPLACED_TO_TOP: {\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, action.payload, state.currentUserId)) {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n return state;\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../../dux/actionTypes';\nimport { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../../../../lib/SendbirdState';\n\nexport type DynamicProps = {\n activeChannelUrl?: string;\n channels?: GroupChannel[];\n sdk?: SendbirdGroupChat;\n};\n\nexport type StaticProps = {\n logger: Logger;\n channelListDispatcher: React.Dispatch<any>;\n};\n\nfunction useActiveChannelUrl({\n activeChannelUrl,\n channels,\n sdk,\n}: DynamicProps, {\n logger,\n channelListDispatcher,\n}: StaticProps): void {\n return useEffect(() => {\n if (activeChannelUrl) {\n logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl });\n const activeChannel = channels?.find(channel => channel.url === activeChannelUrl);\n if (activeChannel) {\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: activeChannel,\n });\n } else {\n logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl });\n sdk?.groupChannel?.getChannel(activeChannelUrl)\n .then((channel) => {\n channelListDispatcher({\n type: messageActionTypes.FETCH_CHANNELS_SUCCESS,\n payload: [channel],\n });\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n })\n .catch(() => {\n logger.warning('ChannelListProvider: Active channel not found');\n });\n }\n }\n }, [activeChannelUrl]);\n}\n\nexport default useActiveChannelUrl;\n","import { useCallback } from 'react';\nimport { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nimport { Nullable } from '../../../../types';\nimport { CustomUseReducerDispatcher, Logger } from '../../../../lib/SendbirdState';\nimport { MarkAsDeliveredSchedulerType } from '../../../../lib/hooks/useMarkAsDeliveredScheduler';\nimport * as channelListActions from '../../dux/actionTypes';\n\ninterface DynamicProps {\n channelSource: Nullable<GroupChannelListQuery>;\n disableMarkAsDelivered: boolean;\n}\ninterface StaticProps {\n channelListDispatcher: CustomUseReducerDispatcher;\n logger: Logger;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n}\n\nexport const useFetchChannelList = ({\n channelSource,\n disableMarkAsDelivered,\n}: DynamicProps, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n}: StaticProps) => {\n return useCallback(async () => {\n if (!channelSource?.hasNext) {\n logger.info('ChannelList: not able to fetch');\n return;\n }\n logger.info('ChannelList: starting fetch');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n try {\n const channelList: GroupChannel[] = await channelSource.next();\n logger.info('ChannelList: succeeded fetch', { channelList });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (!disableMarkAsDelivered) {\n logger.info('ChannelList: mark as delivered to fetched channels');\n // eslint-disable-next-line no-unused-expressions\n channelList?.forEach((channel) => {\n if (channel?.unreadMessageCount > 0) {\n markAsDeliveredScheduler.push(channel);\n }\n });\n }\n } catch (error) {\n logger.error('ChannelList: failed fetch', { error });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: error,\n });\n }\n }, [\n channelSource,\n disableMarkAsDelivered,\n ]);\n};\n","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n SendbirdGroupChat,\n GroupChannelListQuery as GroupChannelListQuerySb,\n GroupChannelUserIdsFilter,\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\nimport { DELIVERY_RECEIPT } from '../../../utils/consts';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\nimport { CHANNEL_TYPE } from '../../CreateChannel/types';\nimport useActiveChannelUrl from './hooks/useActiveChannelUrl';\nimport { useFetchChannelList } from './hooks/useFetchChannelList';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n userIdsFilter?: GroupChannelUserIdsFilter;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\n}\n\ntype OverrideInviteUserType = {\n users: Array<string>;\n onClose: () => void;\n channelType: CHANNEL_TYPE;\n};\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;\n overrideInviteUser?(params: OverrideInviteUserType): void;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: User): void;\n onChannelSelect?(channel: GroupChannel | null): void;\n sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactElement;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n activeChannelUrl?: string;\n typingChannels?: Array<GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: GroupChannelListQuerySb | null;\n fetchChannelList: () => void;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n overrideInviteUser,\n activeChannelUrl,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n // disable autoselect, if activeChannelUrl is provided\n // useActiveChannelUrl should be executed when activeChannelUrl is present\n const disableAutoSelect = props?.disableAutoSelect || !!activeChannelUrl;\n const onChannelSelect = props?.onChannelSelect || noop;\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger, onUserProfileMessage } = config;\n const {\n markAsDeliveredScheduler,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n const { premiumFeatureList = [] } = sdk?.appInfo ?? {};\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n const sdkChannelHandlerId = uuidv4();\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk?.groupChannel?.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n let typingHandlerId = '';\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n typingHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (channel) => {\n const typingMemberCount = channel?.getTypingUsers()?.length;\n const channelList = typingChannels.filter(ch => ch.url !== channel.url);\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel]);\n } else {\n setTypingChannels(channelList);\n }\n },\n onUnreadMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onMessageUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n onMentionReceived(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(typingHandlerId, handler);\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler && typingHandlerId !== '') {\n sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);\n }\n };\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n // Set current channel (by on_channel_selected event)\n useEffect(() => {\n if (!sdk || !sdk.groupChannel || !currentChannel || !currentChannel?.url) {\n return;\n }\n sdk.groupChannel.getChannel(currentChannel.url).then((groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n // Set active channel (by url)\n useActiveChannelUrl({\n activeChannelUrl,\n channels: sortedChannels,\n sdk,\n }, {\n logger,\n channelListDispatcher,\n });\n\n const fetchChannelList = useFetchChannelList({\n channelSource,\n disableMarkAsDelivered: disableMarkAsDelivered || !premiumFeatureList.some((feature) => feature === DELIVERY_RECEIPT),\n }, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n });\n\n return (\n <ChannelListContext.Provider value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n overrideInviteUser,\n onChannelSelect,\n sortChannelList,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n fetchChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile ?? config?.disableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","USER_INVITED","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECIPT","createEventHandler","_ref","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserReceivedInvitation","inviter","invitees","currentUser","isInvited","find","user","userId","onUserBanned","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","_ref2","userFilledChannelListQuery","param","includeEmpty","limit","order","Object","keys","forEach","key","channelListQuery","createMyGroupChannelListQuery","setupChannelList","_ref3","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","markAsDeliveredScheduler","disableMarkAsDelivered","warning","currentUserId","hasNext","next","then","channelList","_sdk$appInfo","_sdk$appInfo$premiumF","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","feature","push","catch","err","error","pubSubHandleRemover","subscriber","s","remove","_unused","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","UPDATE_USER_MESSAGE","_updatedChannel$lastM","updatedChannel","messageId","LEAVE_CHANNEL","url","SEND_MESSAGE_START","initialized","loading","allChannels","currentChannel","reducer","state","action","actions","_objectSpread","initialState","length","currentChannels","map","c","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","_state$currentChannel","nextChannel","_state$currentChannel2","_state$currentChannel5","_state$currentChannel4","_state$currentChannel3","_ref4","unreadMessageCount","_state$currentChannel6","_ref5","_ref6","currentUnreadCount","_ref7","_state$currentChannel7","_ref8","isFrozen","_state$currentChannel8","_ref9","useActiveChannelUrl","activeChannelUrl","channels","useEffect","activeChannel","messageActionTypes","_sdk$groupChannel","getChannel","useFetchChannelList","channelSource","useCallback","channelListActions","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","typingChannels","ChannelListProvider","props","_sdk$currentUser","children","overrideInviteUser","isTypingIndicatorEnabled","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","onUserProfileMessage","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","channelListStore","useReducer","channelListReducers","channelListInitialState","useState","setTypingChannels","uuidv4","removeGroupChannelHandler","_sdk$groupChannel2","_sdk$groupChannel3","_sdk$groupChannel4","typingHandlerId","_sdk$groupChannel5","handler","onTypingStatusUpdated","_channel$getTypingUse","typingMemberCount","getTypingUsers","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","getChannelWithoutCache","onMentionReceived","_sdk$groupChannel6","queries_","useMemo","sortedChannels","console","warn","before","after","fetchChannelList","some","DELIVERY_RECEIPT","createElement","Provider","value","UserProfileProvider","useChannelListContext","context","useContext"],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import React__default, { useEffect, useState, useCallback, useRef, useReducer, useMemo } from 'react';
2
- import { U as UserProfileProvider } from './UserProfileContext-9fba7a03.js';
2
+ import { U as UserProfileProvider } from './UserProfileContext-ca5fc057.js';
3
3
  import useSendbirdStateContext from './useSendbirdStateContext.js';
4
- import { N as NEXT_RESULT_SIZE, P as PREV_RESULT_SIZE, T as ThreadReplySelectType } from './const-2c36fe72.js';
5
- import { M as MESSAGE_LIST_PARAMS_CHANGED, O as ON_REACTION_UPDATED, S as SET_EMOJI_CONTAINER, a as ON_MESSAGE_DELETED_BY_REQ_ID, b as ON_MESSAGE_DELETED, c as MARK_AS_READ, R as RESEND_MESSAGE_START, d as ON_MESSAGE_THREAD_INFO_UPDATED, e as ON_MESSAGE_UPDATED, f as ON_MESSAGE_RECEIVED, p as passUnsuccessfullMessages, g as SET_CHANNEL_INVALID, h as SET_CURRENT_CHANNEL, i as SEND_MESSAGE_FAILURE, j as SEND_MESSAGE_SUCESS, k as SEND_MESSAGE_START, F as FETCH_NEXT_MESSAGES_FAILURE, l as FETCH_PREV_MESSAGES_FAILURE, m as FETCH_INITIAL_MESSAGES_FAILURE, n as FETCH_NEXT_MESSAGES_SUCCESS, o as mergeAndSortMessages, q as FETCH_PREV_MESSAGES_SUCCESS, r as FETCH_INITIAL_MESSAGES_SUCCESS, s as FETCH_INITIAL_MESSAGES_START, t as RESET_MESSAGES, u as scrollIntoLast, v as scrollToRenderedMessage, w as pxToNumber, x as getAllEmojisMapFromEmojiContainer, y as getNicknamesMapFromMembers, z as pubSubHandler, A as pubSubHandleRemover, B as messageActionTypes } from './utils-b7161189.js';
6
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-0f2ee8c1.js';
7
- import { f as format } from './index-72d247f7.js';
8
- import { c as compareIds } from './compareIds-c0aa8024.js';
9
- import { a as getSendingMessageStatus, b as filterMessageListParams } from './index-39eeabbb.js';
4
+ import { N as NEXT_RESULT_SIZE, P as PREV_RESULT_SIZE, T as ThreadReplySelectType } from './const-bd67ba4a.js';
5
+ import { M as MESSAGE_LIST_PARAMS_CHANGED, O as ON_REACTION_UPDATED, S as SET_EMOJI_CONTAINER, a as ON_MESSAGE_DELETED_BY_REQ_ID, b as ON_MESSAGE_DELETED, c as MARK_AS_READ, R as RESEND_MESSAGE_START, d as ON_MESSAGE_THREAD_INFO_UPDATED, e as ON_MESSAGE_UPDATED, f as ON_MESSAGE_RECEIVED, p as passUnsuccessfullMessages, g as SET_CHANNEL_INVALID, h as SET_CURRENT_CHANNEL, i as SEND_MESSAGE_FAILURE, j as SEND_MESSAGE_SUCESS, k as SEND_MESSAGE_START, F as FETCH_NEXT_MESSAGES_FAILURE, l as FETCH_PREV_MESSAGES_FAILURE, m as FETCH_INITIAL_MESSAGES_FAILURE, n as FETCH_NEXT_MESSAGES_SUCCESS, o as mergeAndSortMessages, q as FETCH_PREV_MESSAGES_SUCCESS, r as FETCH_INITIAL_MESSAGES_SUCCESS, s as FETCH_INITIAL_MESSAGES_START, t as RESET_MESSAGES, u as scrollIntoLast, v as scrollToRenderedMessage, w as pxToNumber, x as getAllEmojisMapFromEmojiContainer, y as getNicknamesMapFromMembers, z as pubSubHandler, A as pubSubHandleRemover, B as messageActionTypes } from './utils-fc37f1e5.js';
6
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-50696833.js';
7
+ import { f as format } from './index-c46d2bb8.js';
8
+ import { c as compareIds } from './compareIds-8bbfc531.js';
9
+ import { a as getSendingMessageStatus, b as filterMessageListParams, c as isMultipleFilesMessage } from './index-cd866969.js';
10
10
  import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
11
- import { u as uuidv4 } from './uuid-6d982751.js';
11
+ import { u as uuidv4 } from './uuid-87e2df67.js';
12
12
  import { ReplyType, MessageMetaArray } from '@sendbird/chat/message';
13
- import { P as PUBSUB_TOPICS } from './topics-da8f3f42.js';
14
- import { b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE, M as META_ARRAY_VOICE_DURATION_KEY, d as META_ARRAY_MESSAGE_TYPE_KEY, e as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE } from './consts-397a92f1.js';
15
- import { a as getCaseResolvedThreadReplySelectType } from './resolvedReplyType-97610f1a.js';
13
+ import { P as PUBSUB_TOPICS } from './topics-85213ccb.js';
14
+ import { c as VOICE_MESSAGE_FILE_NAME, d as VOICE_MESSAGE_MIME_TYPE, M as META_ARRAY_VOICE_DURATION_KEY, e as META_ARRAY_MESSAGE_TYPE_KEY, f as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE } from './consts-2ddaffce.js';
15
+ import { a as getCaseResolvedThreadReplySelectType } from './resolvedReplyType-7fa7b725.js';
16
+ import { u as useSendMultipleFilesMessage } from './useSendMultipleFilesMessage-3b16fa85.js';
16
17
 
17
18
  /**
18
19
  * This function helps consider the every condition
@@ -33,6 +34,10 @@ var messagesInitialState = {
33
34
  initialized: false,
34
35
  loading: true,
35
36
  allMessages: [],
37
+ /**
38
+ * localMessages: pending & failed messages
39
+ */
40
+ localMessages: [],
36
41
  currentGroupChannel: {
37
42
  members: []
38
43
  },
@@ -186,11 +191,10 @@ function reducer(state, action) {
186
191
  });
187
192
  }
188
193
  case SEND_MESSAGE_START:
194
+ // Message should not be spread here
195
+ // it will loose some methods like `isUserMessage`
189
196
  return _objectSpread2(_objectSpread2({}, state), {}, {
190
- allMessages: [...state.allMessages,
191
- // Message should not be spread here
192
- // it will loose some methods like `isUserMessage`
193
- action.payload]
197
+ localMessages: [...state.localMessages, action.payload]
194
198
  });
195
199
  case SEND_MESSAGE_SUCESS:
196
200
  {
@@ -198,9 +202,9 @@ function reducer(state, action) {
198
202
  const filteredMessages = state.allMessages.filter(m => (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId));
199
203
  // [Policy] Pending messages and failed messages
200
204
  // must always be at the end of the message list
201
- const pendingIndex = filteredMessages.findIndex(msg => (msg === null || msg === void 0 ? void 0 : msg.sendingStatus) === 'pending' || (msg === null || msg === void 0 ? void 0 : msg.sendingStatus) === 'failed');
202
205
  return _objectSpread2(_objectSpread2({}, state), {}, {
203
- allMessages: pendingIndex > -1 ? [...filteredMessages.slice(0, pendingIndex), message, ...filteredMessages.slice(pendingIndex)] : [...filteredMessages, message]
206
+ allMessages: [...filteredMessages, message],
207
+ localMessages: state.localMessages.filter(m => (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId))
204
208
  });
205
209
  }
206
210
  case SEND_MESSAGE_FAILURE:
@@ -208,7 +212,7 @@ function reducer(state, action) {
208
212
  // eslint-disable-next-line no-param-reassign
209
213
  action.payload.failed = true;
210
214
  return _objectSpread2(_objectSpread2({}, state), {}, {
211
- allMessages: state.allMessages.map(m => compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
215
+ localMessages: state.localMessages.map(m => compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
212
216
  });
213
217
  }
214
218
  case SET_CURRENT_CHANNEL:
@@ -1177,6 +1181,28 @@ function useResendMessageCallback(_ref, _ref2) {
1177
1181
  payload: failedMessage
1178
1182
  });
1179
1183
  }
1184
+ if (isMultipleFilesMessage(failedMessage)) {
1185
+ currentGroupChannel.resendMessage(failedMessage).onPending(message => {
1186
+ messagesDispatcher({
1187
+ type: RESEND_MESSAGE_START,
1188
+ payload: message
1189
+ });
1190
+ })
1191
+ // TODO: Handle on file info upload event.
1192
+ .onSucceeded(message => {
1193
+ logger.info('Channel: Resending multiple files message success!', message);
1194
+ messagesDispatcher({
1195
+ type: SEND_MESSAGE_SUCESS,
1196
+ payload: message
1197
+ });
1198
+ }).onFailed((e, message) => {
1199
+ logger.warning('Channel: Resending multiple files message failed!', e);
1200
+ messagesDispatcher({
1201
+ type: SEND_MESSAGE_FAILURE,
1202
+ payload: message
1203
+ });
1204
+ });
1205
+ }
1180
1206
  } else {
1181
1207
  // to alert user on console
1182
1208
  // eslint-disable-next-line no-console
@@ -1495,6 +1521,9 @@ const useSendVoiceMessageCallback = (_ref, _ref2) => {
1495
1521
  messagesDispatcher
1496
1522
  } = _ref2;
1497
1523
  const sendMessage = useCallback((file, duration, quoteMessage) => {
1524
+ if (!currentGroupChannel) {
1525
+ return;
1526
+ }
1498
1527
  const messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1499
1528
  file,
1500
1529
  fileName: VOICE_MESSAGE_FILE_NAME,
@@ -1548,6 +1577,7 @@ const ChannelProvider = props => {
1548
1577
  children,
1549
1578
  isReactionEnabled,
1550
1579
  isMessageGroupingEnabled = true,
1580
+ isMultipleFilesMessageEnabled = false,
1551
1581
  showSearchIcon,
1552
1582
  animatedMessage,
1553
1583
  highlightedMessage,
@@ -1556,6 +1586,7 @@ const ChannelProvider = props => {
1556
1586
  onBeforeSendFileMessage,
1557
1587
  onBeforeUpdateUserMessage,
1558
1588
  onBeforeSendVoiceMessage,
1589
+ onBeforeSendMultipleFilesMessage,
1559
1590
  onChatHeaderActionClick,
1560
1591
  onSearchClick,
1561
1592
  onBackClick,
@@ -1606,6 +1637,7 @@ const ChannelProvider = props => {
1606
1637
  const scrollRef = useRef(null);
1607
1638
  const {
1608
1639
  allMessages,
1640
+ localMessages,
1609
1641
  loading,
1610
1642
  initialized,
1611
1643
  unreadSince,
@@ -1781,8 +1813,8 @@ const ChannelProvider = props => {
1781
1813
  });
1782
1814
  const [messageInputRef, sendMessage] = useSendMessageCallback({
1783
1815
  currentGroupChannel,
1784
- onBeforeSendUserMessage,
1785
- isMentionEnabled
1816
+ isMentionEnabled,
1817
+ onBeforeSendUserMessage
1786
1818
  }, {
1787
1819
  logger,
1788
1820
  pubSub,
@@ -1791,8 +1823,8 @@ const ChannelProvider = props => {
1791
1823
  });
1792
1824
  const [sendFileMessage] = useSendFileMessageCallback({
1793
1825
  currentGroupChannel,
1794
- onBeforeSendFileMessage,
1795
- imageCompression
1826
+ imageCompression,
1827
+ onBeforeSendFileMessage
1796
1828
  }, {
1797
1829
  logger,
1798
1830
  pubSub,
@@ -1808,12 +1840,21 @@ const ChannelProvider = props => {
1808
1840
  scrollRef,
1809
1841
  messagesDispatcher
1810
1842
  });
1843
+ const [sendMultipleFilesMessage] = useSendMultipleFilesMessage({
1844
+ currentChannel: currentGroupChannel,
1845
+ onBeforeSendMultipleFilesMessage
1846
+ }, {
1847
+ logger,
1848
+ pubSub,
1849
+ scrollRef
1850
+ });
1811
1851
  return /*#__PURE__*/React__default.createElement(ChannelContext.Provider, {
1812
1852
  value: {
1813
1853
  // props
1814
1854
  channelUrl,
1815
1855
  isReactionEnabled: usingReaction,
1816
1856
  isMessageGroupingEnabled,
1857
+ isMultipleFilesMessageEnabled,
1817
1858
  showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
1818
1859
  highlightedMessage,
1819
1860
  startingPoint,
@@ -1833,7 +1874,8 @@ const ChannelProvider = props => {
1833
1874
  onMessageAnimated,
1834
1875
  onMessageHighlighted,
1835
1876
  // messagesStore
1836
- allMessages,
1877
+ allMessages: [...allMessages, ...localMessages],
1878
+ // localMessages,
1837
1879
  loading,
1838
1880
  initialized,
1839
1881
  unreadSince,
@@ -1856,6 +1898,7 @@ const ChannelProvider = props => {
1856
1898
  sendMessage,
1857
1899
  sendFileMessage,
1858
1900
  sendVoiceMessage,
1901
+ sendMultipleFilesMessage,
1859
1902
  initialTimeStamp,
1860
1903
  messageActionTypes,
1861
1904
  messagesDispatcher,
@@ -1881,4 +1924,4 @@ const ChannelProvider = props => {
1881
1924
  const useChannelContext = () => React__default.useContext(ChannelContext);
1882
1925
 
1883
1926
  export { ChannelProvider as C, getIsReactionEnabled as g, useChannelContext as u };
1884
- //# sourceMappingURL=ChannelProvider-d6dedff9.js.map
1927
+ //# sourceMappingURL=ChannelProvider-f6fbfb1a.js.map