@sendbird/uikit-react 3.6.11-beta.3 → 3.7.0-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 (994) hide show
  1. package/App.js +272 -345
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +134 -0
  4. package/Channel/components/ChannelHeader.js +45 -50
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +76 -77
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +53 -58
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +9 -12
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +198 -176
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +137 -130
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +171 -161
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +40 -41
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +156 -136
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +47 -48
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +17 -18
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +17 -17
  27. package/Channel/utils/compareMessagesForGrouping.js +11 -11
  28. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  29. package/Channel/utils/getMessagePartsInfo.js +32 -26
  30. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  31. package/Channel.js +54 -51
  32. package/Channel.js.map +1 -1
  33. package/ChannelList/components/AddChannel.js +32 -30
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +22 -31
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +93 -88
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +79 -75
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +85 -91
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +39 -41
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelListProvider-f520f5b3.js +1051 -0
  48. package/ChannelListProvider-f520f5b3.js.map +1 -0
  49. package/ChannelProvider-7f6fd1f8.js +2080 -0
  50. package/ChannelProvider-7f6fd1f8.js.map +1 -0
  51. package/ChannelSettings/components/ChannelProfile.js +42 -37
  52. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  53. package/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  54. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  55. package/ChannelSettings/components/EditDetailsModal.js +54 -52
  56. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  57. package/ChannelSettings/components/LeaveChannel.js +39 -41
  58. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  59. package/ChannelSettings/components/ModerationPanel.js +552 -509
  60. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  61. package/ChannelSettings/components/UserListItem.js +66 -66
  62. package/ChannelSettings/components/UserListItem.js.map +1 -1
  63. package/ChannelSettings/components/UserPanel.js +29 -26
  64. package/ChannelSettings/components/UserPanel.js.map +1 -1
  65. package/ChannelSettings/context.js +52 -57
  66. package/ChannelSettings/context.js.map +1 -1
  67. package/ChannelSettings.js +20 -19
  68. package/ChannelSettings.js.map +1 -1
  69. package/CreateChannel/components/CreateChannelUI.js +23 -25
  70. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  71. package/CreateChannel/components/InviteUsers.js +106 -102
  72. package/CreateChannel/components/InviteUsers.js.map +1 -1
  73. package/CreateChannel/components/SelectChannelType.js +38 -43
  74. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  75. package/CreateChannel/context.js +4 -4
  76. package/CreateChannel.js +22 -23
  77. package/CreateChannel.js.map +1 -1
  78. package/CreateChannelProvider-c25dd81b.js +48 -0
  79. package/{CreateChannelProvider-0b4bc562.js.map → CreateChannelProvider-c25dd81b.js.map} +1 -1
  80. package/CreateOpenChannel/components/CreateOpenChannelUI.js +38 -36
  81. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  82. package/CreateOpenChannel/context.js +29 -34
  83. package/CreateOpenChannel/context.js.map +1 -1
  84. package/CreateOpenChannel.js +20 -21
  85. package/CreateOpenChannel.js.map +1 -1
  86. package/EditUserProfile/components/EditUserProfileUI.js +152 -21
  87. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  88. package/EditUserProfile/context.js +13 -13
  89. package/EditUserProfile/context.js.map +1 -1
  90. package/EditUserProfile.js +19 -19
  91. package/EditUserProfile.js.map +1 -1
  92. package/LocalizationContext-d18a86d8.js +20 -0
  93. package/{LocalizationContext-5cbe4df3.js.map → LocalizationContext-d18a86d8.js.map} +1 -1
  94. package/MediaQueryContext-3eeeec4f.js +85 -0
  95. package/MediaQueryContext-3eeeec4f.js.map +1 -0
  96. package/MemberList-469dae9b.js +422 -0
  97. package/{MemberList-d407bcd0.js.map → MemberList-469dae9b.js.map} +1 -1
  98. package/Message/context.js +11 -12
  99. package/Message/context.js.map +1 -1
  100. package/Message/hooks/useDirtyGetMentions.js +21 -26
  101. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  102. package/MessageSearch/components/MessageSearchUI.js +56 -61
  103. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  104. package/MessageSearch/context.js +166 -177
  105. package/MessageSearch/context.js.map +1 -1
  106. package/MessageSearch.js +49 -47
  107. package/MessageSearch.js.map +1 -1
  108. package/OpenChannel/components/FrozenChannelNotification.js +6 -8
  109. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelHeader.js +22 -27
  111. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  112. package/OpenChannel/components/OpenChannelInput.js +32 -35
  113. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  114. package/OpenChannel/components/OpenChannelMessage.js +170 -171
  115. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  116. package/OpenChannel/components/OpenChannelMessageList.js +70 -64
  117. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  118. package/OpenChannel/components/OpenChannelUI.js +53 -54
  119. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  120. package/OpenChannel/context.js +8 -9
  121. package/OpenChannel/context.js.map +1 -1
  122. package/OpenChannel.js +37 -35
  123. package/OpenChannel.js.map +1 -1
  124. package/OpenChannelList/components/OpenChannelListUI.js +63 -61
  125. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  126. package/OpenChannelList/components/OpenChannelPreview.js +22 -21
  127. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  128. package/OpenChannelList/context.js +3 -3
  129. package/OpenChannelList.js +27 -27
  130. package/OpenChannelList.js.map +1 -1
  131. package/{OpenChannelListProvider-40f481e4.js → OpenChannelListProvider-24e735a1.js} +156 -178
  132. package/{OpenChannelListProvider-40f481e4.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
  133. package/OpenChannelProvider-e9cb0f98.js +1850 -0
  134. package/{OpenChannelProvider-ca26866f.js.map → OpenChannelProvider-e9cb0f98.js.map} +1 -1
  135. package/OpenChannelSettings/components/EditDetailsModal.js +52 -51
  136. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  137. package/OpenChannelSettings/components/OpenChannelProfile.js +30 -29
  138. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  139. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -47
  140. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  141. package/OpenChannelSettings/components/OperatorUI.js +550 -518
  142. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  143. package/OpenChannelSettings/components/ParticipantUI.js +16 -15
  144. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  145. package/OpenChannelSettings/context.js +58 -57
  146. package/OpenChannelSettings/context.js.map +1 -1
  147. package/OpenChannelSettings.js +20 -19
  148. package/OpenChannelSettings.js.map +1 -1
  149. package/README.md +4 -4
  150. package/RemoveMessageModal-f0cd37a5.js +33 -0
  151. package/RemoveMessageModal-f0cd37a5.js.map +1 -0
  152. package/SendbirdProvider.js +726 -690
  153. package/SendbirdProvider.js.map +1 -1
  154. package/Thread/components/ParentMessageInfo.js +194 -181
  155. package/Thread/components/ParentMessageInfo.js.map +1 -1
  156. package/Thread/components/ParentMessageInfoItem.js +86 -79
  157. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  158. package/Thread/components/ThreadHeader.js +22 -22
  159. package/Thread/components/ThreadHeader.js.map +1 -1
  160. package/Thread/components/ThreadList.js +126 -94
  161. package/Thread/components/ThreadList.js.map +1 -1
  162. package/Thread/components/ThreadListItem.js +260 -241
  163. package/Thread/components/ThreadListItem.js.map +1 -1
  164. package/Thread/components/ThreadMessageInput.js +121 -120
  165. package/Thread/components/ThreadMessageInput.js.map +1 -1
  166. package/Thread/components/ThreadUI.js +128 -144
  167. package/Thread/components/ThreadUI.js.map +1 -1
  168. package/Thread/context/types.js +9 -9
  169. package/Thread/context/types.js.map +1 -1
  170. package/Thread/context.js +1678 -19
  171. package/Thread/context.js.map +1 -1
  172. package/Thread.js +76 -73
  173. package/Thread.js.map +1 -1
  174. package/UserProfileContext-26e71f9a.js +34 -0
  175. package/UserProfileContext-26e71f9a.js.map +1 -0
  176. package/VoicePlayer/context.js +3 -3
  177. package/VoicePlayer/useVoicePlayer.js +52 -46
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  179. package/VoiceRecorder/context.js +68 -64
  180. package/VoiceRecorder/context.js.map +1 -1
  181. package/VoiceRecorder/useVoiceRecorder.js +50 -52
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  183. package/{WebAudioUtils-e85ef476.js → WebAudioUtils-dbb010a5.js} +38 -38
  184. package/{WebAudioUtils-e85ef476.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
  185. package/{_rollupPluginBabelHelpers-ef032169.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
  186. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
  187. package/{actionTypes-d32207ad.js → actionTypes-3cd49b5c.js} +2 -2
  188. package/{actionTypes-d32207ad.js.map → actionTypes-3cd49b5c.js.map} +1 -1
  189. package/cjs/App.js +270 -344
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +44 -49
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +79 -80
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +52 -57
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +9 -12
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +197 -175
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +136 -129
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +173 -163
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +41 -42
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +155 -135
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +46 -47
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +17 -18
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +17 -17
  214. package/cjs/Channel/utils/compareMessagesForGrouping.js +11 -11
  215. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  216. package/cjs/Channel/utils/getMessagePartsInfo.js +32 -26
  217. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  218. package/cjs/Channel.js +54 -51
  219. package/cjs/Channel.js.map +1 -1
  220. package/cjs/ChannelList/components/AddChannel.js +31 -29
  221. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  222. package/cjs/ChannelList/components/ChannelListHeader.js +21 -30
  223. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  224. package/cjs/ChannelList/components/ChannelListUI.js +96 -91
  225. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  226. package/cjs/ChannelList/components/ChannelPreview.js +78 -74
  227. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  228. package/cjs/ChannelList/components/ChannelPreviewAction.js +84 -91
  229. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  230. package/cjs/ChannelList/context.js +9 -10
  231. package/cjs/ChannelList/context.js.map +1 -1
  232. package/cjs/ChannelList.js +39 -41
  233. package/cjs/ChannelList.js.map +1 -1
  234. package/cjs/ChannelListProvider-a418de2e.js +1060 -0
  235. package/cjs/ChannelListProvider-a418de2e.js.map +1 -0
  236. package/cjs/ChannelProvider-7fa98120.js +2088 -0
  237. package/cjs/ChannelProvider-7fa98120.js.map +1 -0
  238. package/cjs/ChannelSettings/components/ChannelProfile.js +41 -36
  239. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  240. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  241. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  242. package/cjs/ChannelSettings/components/EditDetailsModal.js +54 -52
  243. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  244. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -40
  245. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  246. package/cjs/ChannelSettings/components/ModerationPanel.js +559 -516
  247. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  248. package/cjs/ChannelSettings/components/UserListItem.js +66 -66
  249. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  250. package/cjs/ChannelSettings/components/UserPanel.js +29 -26
  251. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  252. package/cjs/ChannelSettings/context.js +51 -56
  253. package/cjs/ChannelSettings/context.js.map +1 -1
  254. package/cjs/ChannelSettings.js +20 -19
  255. package/cjs/ChannelSettings.js.map +1 -1
  256. package/cjs/CreateChannel/components/CreateChannelUI.js +23 -25
  257. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  258. package/cjs/CreateChannel/components/InviteUsers.js +106 -102
  259. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  260. package/cjs/CreateChannel/components/SelectChannelType.js +37 -42
  261. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  262. package/cjs/CreateChannel/context.js +4 -4
  263. package/cjs/CreateChannel.js +22 -23
  264. package/cjs/CreateChannel.js.map +1 -1
  265. package/cjs/CreateChannelProvider-70c9cb7c.js +55 -0
  266. package/cjs/{CreateChannelProvider-7c5b1342.js.map → CreateChannelProvider-70c9cb7c.js.map} +1 -1
  267. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +39 -37
  268. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  269. package/cjs/CreateOpenChannel/context.js +28 -33
  270. package/cjs/CreateOpenChannel/context.js.map +1 -1
  271. package/cjs/CreateOpenChannel.js +20 -21
  272. package/cjs/CreateOpenChannel.js.map +1 -1
  273. package/cjs/EditUserProfile/components/EditUserProfileUI.js +153 -22
  274. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  275. package/cjs/EditUserProfile/context.js +13 -13
  276. package/cjs/EditUserProfile/context.js.map +1 -1
  277. package/cjs/EditUserProfile.js +21 -21
  278. package/cjs/EditUserProfile.js.map +1 -1
  279. package/cjs/{LocalizationContext-c223b781.js → LocalizationContext-5009012e.js} +9 -9
  280. package/cjs/{LocalizationContext-c223b781.js.map → LocalizationContext-5009012e.js.map} +1 -1
  281. package/cjs/MediaQueryContext-d6fdbe43.js +92 -0
  282. package/cjs/MediaQueryContext-d6fdbe43.js.map +1 -0
  283. package/cjs/MemberList-529a0086.js +428 -0
  284. package/cjs/{MemberList-ee792073.js.map → MemberList-529a0086.js.map} +1 -1
  285. package/cjs/Message/context.js +11 -12
  286. package/cjs/Message/context.js.map +1 -1
  287. package/cjs/Message/hooks/useDirtyGetMentions.js +21 -26
  288. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  289. package/cjs/MessageSearch/components/MessageSearchUI.js +60 -65
  290. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  291. package/cjs/MessageSearch/context.js +165 -176
  292. package/cjs/MessageSearch/context.js.map +1 -1
  293. package/cjs/MessageSearch.js +49 -47
  294. package/cjs/MessageSearch.js.map +1 -1
  295. package/cjs/OpenChannel/components/FrozenChannelNotification.js +6 -8
  296. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  297. package/cjs/OpenChannel/components/OpenChannelHeader.js +22 -27
  298. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  299. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -35
  300. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  301. package/cjs/OpenChannel/components/OpenChannelMessage.js +169 -170
  302. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  303. package/cjs/OpenChannel/components/OpenChannelMessageList.js +69 -63
  304. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  305. package/cjs/OpenChannel/components/OpenChannelUI.js +56 -57
  306. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  307. package/cjs/OpenChannel/context.js +8 -9
  308. package/cjs/OpenChannel/context.js.map +1 -1
  309. package/cjs/OpenChannel.js +37 -35
  310. package/cjs/OpenChannel.js.map +1 -1
  311. package/cjs/OpenChannelList/components/OpenChannelListUI.js +66 -64
  312. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  313. package/cjs/OpenChannelList/components/OpenChannelPreview.js +22 -21
  314. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  315. package/cjs/OpenChannelList/context.js +3 -3
  316. package/cjs/OpenChannelList.js +27 -27
  317. package/cjs/OpenChannelList.js.map +1 -1
  318. package/cjs/OpenChannelListProvider-0b8cd3bf.js +416 -0
  319. package/cjs/{OpenChannelListProvider-d9f4a5b4.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
  320. package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
  321. package/cjs/{OpenChannelProvider-30a24b84.js.map → OpenChannelProvider-d8cc11fe.js.map} +1 -1
  322. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +53 -52
  323. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +29 -28
  325. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +40 -48
  327. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/components/OperatorUI.js +557 -525
  329. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  330. package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -15
  331. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  332. package/cjs/OpenChannelSettings/context.js +57 -56
  333. package/cjs/OpenChannelSettings/context.js.map +1 -1
  334. package/cjs/OpenChannelSettings.js +20 -19
  335. package/cjs/OpenChannelSettings.js.map +1 -1
  336. package/cjs/RemoveMessageModal-f029d40e.js +39 -0
  337. package/cjs/RemoveMessageModal-f029d40e.js.map +1 -0
  338. package/cjs/SendbirdProvider.js +733 -693
  339. package/cjs/SendbirdProvider.js.map +1 -1
  340. package/cjs/Thread/components/ParentMessageInfo.js +193 -180
  341. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  342. package/cjs/Thread/components/ParentMessageInfoItem.js +86 -79
  343. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  344. package/cjs/Thread/components/ThreadHeader.js +22 -22
  345. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  346. package/cjs/Thread/components/ThreadList.js +125 -93
  347. package/cjs/Thread/components/ThreadList.js.map +1 -1
  348. package/cjs/Thread/components/ThreadListItem.js +263 -244
  349. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  350. package/cjs/Thread/components/ThreadMessageInput.js +120 -119
  351. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  352. package/cjs/Thread/components/ThreadUI.js +134 -150
  353. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  354. package/cjs/Thread/context/types.js +9 -13
  355. package/cjs/Thread/context/types.js.map +1 -1
  356. package/cjs/Thread/context.js +1680 -21
  357. package/cjs/Thread/context.js.map +1 -1
  358. package/cjs/Thread.js +76 -73
  359. package/cjs/Thread.js.map +1 -1
  360. package/cjs/UserProfileContext-922a43ec.js +41 -0
  361. package/cjs/UserProfileContext-922a43ec.js.map +1 -0
  362. package/cjs/VoicePlayer/context.js +3 -3
  363. package/cjs/VoicePlayer/useVoicePlayer.js +52 -46
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  365. package/cjs/VoiceRecorder/context.js +67 -63
  366. package/cjs/VoiceRecorder/context.js.map +1 -1
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +49 -51
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  369. package/cjs/{WebAudioUtils-dad5a0b9.js → WebAudioUtils-29717597.js} +38 -38
  370. package/cjs/{WebAudioUtils-dad5a0b9.js.map → WebAudioUtils-29717597.js.map} +1 -1
  371. package/cjs/{_rollupPluginBabelHelpers-4693667a.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
  372. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
  373. package/cjs/{actionTypes-5e5d1266.js → actionTypes-7fa02f94.js} +2 -2
  374. package/cjs/{actionTypes-5e5d1266.js.map → actionTypes-7fa02f94.js.map} +1 -1
  375. package/cjs/{color-5fe1a19c.js → color-477ddbd4.js} +12 -13
  376. package/cjs/color-477ddbd4.js.map +1 -0
  377. package/cjs/{compareIds-02121052.js → compareIds-de541666.js} +7 -6
  378. package/cjs/compareIds-de541666.js.map +1 -0
  379. package/cjs/{const-796fc77a.js → const-640252c1.js} +4 -4
  380. package/cjs/{const-796fc77a.js.map → const-640252c1.js.map} +1 -1
  381. package/cjs/const-9def5c09.js +19 -0
  382. package/cjs/{const-2044f15a.js.map → const-9def5c09.js.map} +1 -1
  383. package/cjs/consts-54f5c12d.js +6 -0
  384. package/cjs/consts-54f5c12d.js.map +1 -0
  385. package/cjs/consts-85cd42fa.js +6 -0
  386. package/cjs/{consts-f2c42e3a.js.map → consts-85cd42fa.js.map} +1 -1
  387. package/cjs/{consts-240f7639.js → consts-95462b21.js} +18 -25
  388. package/cjs/{consts-240f7639.js.map → consts-95462b21.js.map} +1 -1
  389. package/cjs/consts-a3b7ae99.js +6 -0
  390. package/cjs/{consts-14256e43.js.map → consts-a3b7ae99.js.map} +1 -1
  391. package/cjs/{context-8af95992.js → context-9814fafe.js} +5 -6
  392. package/cjs/{context-8af95992.js.map → context-9814fafe.js.map} +1 -1
  393. package/cjs/dist/index.css +71 -56
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/hooks/useModal.js +84 -0
  398. package/cjs/hooks/useModal.js.map +1 -0
  399. package/cjs/{index-5c7818e3.js → index-0a25b9b2.js} +166 -154
  400. package/cjs/index-0a25b9b2.js.map +1 -0
  401. package/cjs/index-0ec5a831.js +308 -0
  402. package/cjs/{index-2e84e87d.js.map → index-0ec5a831.js.map} +1 -1
  403. package/cjs/{index-46bcc5b2.js → index-35820a94.js} +2 -2
  404. package/cjs/{index-46bcc5b2.js.map → index-35820a94.js.map} +1 -1
  405. package/cjs/index-609b07a2.js +7 -0
  406. package/cjs/index-609b07a2.js.map +1 -0
  407. package/cjs/index-6b0644d7.js +369 -0
  408. package/cjs/index-6b0644d7.js.map +1 -0
  409. package/cjs/{index-84f919de.js → index-7b0c6630.js} +104 -114
  410. package/cjs/index-7b0c6630.js.map +1 -0
  411. package/cjs/index-80a11b6a.js +197 -0
  412. package/cjs/{index-d58de514.js.map → index-80a11b6a.js.map} +1 -1
  413. package/cjs/{index-c8592ba1.js → index-826b76d5.js} +2 -4
  414. package/cjs/index-826b76d5.js.map +1 -0
  415. package/cjs/{index-7b61bfbc.js → index-83d2aed9.js} +3 -12
  416. package/cjs/index-83d2aed9.js.map +1 -0
  417. package/cjs/index-aeb36f01.js +173 -0
  418. package/cjs/index-aeb36f01.js.map +1 -0
  419. package/cjs/{index-aaa23e06.js → index-b6d51e74.js} +56 -193
  420. package/cjs/index-b6d51e74.js.map +1 -0
  421. package/cjs/index-b995f638.js +741 -0
  422. package/cjs/index-b995f638.js.map +1 -0
  423. package/cjs/{index-d0755040.js → index-bdf7089c.js} +72 -80
  424. package/cjs/{index-d0755040.js.map → index-bdf7089c.js.map} +1 -1
  425. package/cjs/{index-14572b37.js → index-c22e0cbf.js} +25 -28
  426. package/cjs/{index-14572b37.js.map → index-c22e0cbf.js.map} +1 -1
  427. package/cjs/index-daf80c58.js +20 -0
  428. package/cjs/index-daf80c58.js.map +1 -0
  429. package/cjs/index-e81e2882.js +59 -0
  430. package/cjs/{index-1914edda.js.map → index-e81e2882.js.map} +1 -1
  431. package/cjs/{index-933397f2.js → index-ee3bf381.js} +39 -37
  432. package/cjs/{index-933397f2.js.map → index-ee3bf381.js.map} +1 -1
  433. package/cjs/{index-00aa7289.js → index-fd8a0abb.js} +10 -30
  434. package/cjs/index-fd8a0abb.js.map +1 -0
  435. package/cjs/index.js +66 -63
  436. package/cjs/index.js.map +1 -1
  437. package/cjs/lame.all.js.map +1 -1
  438. package/cjs/package.json +2 -49
  439. package/cjs/{topics-df8731af.js → pubSub/topics.js} +6 -2
  440. package/cjs/pubSub/topics.js.map +1 -0
  441. package/cjs/{resolvedReplyType-6d095a63.js → resolvedReplyType-c20ef661.js} +1 -1
  442. package/cjs/{resolvedReplyType-6d095a63.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
  443. package/cjs/sendbirdSelectors.js +381 -333
  444. package/cjs/sendbirdSelectors.js.map +1 -1
  445. package/cjs/stringFormatterUtils-e324636c.js +16 -0
  446. package/cjs/{stringFormatterUtils-f768db2f.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
  447. package/cjs/{stringSet-286c9fb2.js → stringSet-98b52c49.js} +9 -2
  448. package/cjs/stringSet-98b52c49.js.map +1 -0
  449. package/cjs/{tokenize-d4732550.js → tokenize-91bdbeb0.js} +56 -61
  450. package/cjs/{tokenize-d4732550.js.map → tokenize-91bdbeb0.js.map} +1 -1
  451. package/cjs/tslib.es6-2f2b0bca.js +102 -0
  452. package/cjs/tslib.es6-2f2b0bca.js.map +1 -0
  453. package/cjs/types-31ed2276.js +11 -0
  454. package/cjs/types-31ed2276.js.map +1 -0
  455. package/cjs/types-66554668.js +15 -0
  456. package/cjs/types-66554668.js.map +1 -0
  457. package/cjs/ui/Accordion.js +18 -19
  458. package/cjs/ui/Accordion.js.map +1 -1
  459. package/cjs/ui/AccordionGroup.js +11 -10
  460. package/cjs/ui/AccordionGroup.js.map +1 -1
  461. package/cjs/ui/AdminMessage.js +10 -10
  462. package/cjs/ui/AdminMessage.js.map +1 -1
  463. package/cjs/ui/Avatar.js +59 -55
  464. package/cjs/ui/Avatar.js.map +1 -1
  465. package/cjs/ui/Badge.js +15 -16
  466. package/cjs/ui/Badge.js.map +1 -1
  467. package/cjs/ui/BottomSheet.js +15 -17
  468. package/cjs/ui/BottomSheet.js.map +1 -1
  469. package/cjs/ui/Button.js +31 -33
  470. package/cjs/ui/Button.js.map +1 -1
  471. package/cjs/ui/ChannelAvatar.js +41 -38
  472. package/cjs/ui/ChannelAvatar.js.map +1 -1
  473. package/cjs/ui/Checkbox.js +10 -9
  474. package/cjs/ui/Checkbox.js.map +1 -1
  475. package/cjs/ui/ConnectionStatus.js +5 -7
  476. package/cjs/ui/ConnectionStatus.js.map +1 -1
  477. package/cjs/ui/ContextMenu.js +143 -144
  478. package/cjs/ui/ContextMenu.js.map +1 -1
  479. package/cjs/ui/DateSeparator.js +14 -12
  480. package/cjs/ui/DateSeparator.js.map +1 -1
  481. package/cjs/ui/EmojiReactions.js +206 -176
  482. package/cjs/ui/EmojiReactions.js.map +1 -1
  483. package/cjs/ui/FileMessageItemBody.js +23 -23
  484. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  485. package/cjs/ui/FileViewer.js +14 -12
  486. package/cjs/ui/FileViewer.js.map +1 -1
  487. package/cjs/ui/Icon.js +16 -16
  488. package/cjs/ui/Icon.js.map +1 -1
  489. package/cjs/ui/IconButton.js +28 -20
  490. package/cjs/ui/IconButton.js.map +1 -1
  491. package/cjs/ui/ImageRenderer.js +84 -64
  492. package/cjs/ui/ImageRenderer.js.map +1 -1
  493. package/cjs/ui/Input.js +14 -16
  494. package/cjs/ui/Input.js.map +1 -1
  495. package/cjs/ui/Label.js +2 -2
  496. package/cjs/ui/LinkLabel.js +2 -2
  497. package/cjs/ui/LinkLabel.js.map +1 -1
  498. package/cjs/ui/Loader.js +12 -10
  499. package/cjs/ui/Loader.js.map +1 -1
  500. package/cjs/ui/MentionLabel.js +63 -59
  501. package/cjs/ui/MentionLabel.js.map +1 -1
  502. package/cjs/ui/MentionUserLabel.js +10 -10
  503. package/cjs/ui/MentionUserLabel.js.map +1 -1
  504. package/cjs/ui/MessageContent.js +187 -171
  505. package/cjs/ui/MessageContent.js.map +1 -1
  506. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -4
  507. package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -1
  508. package/cjs/ui/MessageInput.js +55 -57
  509. package/cjs/ui/MessageInput.js.map +1 -1
  510. package/cjs/ui/MessageItemMenu.js +93 -72
  511. package/cjs/ui/MessageItemMenu.js.map +1 -1
  512. package/cjs/ui/MessageItemReactionMenu.js +64 -56
  513. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  514. package/cjs/ui/MessageSearchFileItem.js +40 -49
  515. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  516. package/cjs/ui/MessageSearchItem.js +32 -40
  517. package/cjs/ui/MessageSearchItem.js.map +1 -1
  518. package/cjs/ui/MessageStatus.js +11 -11
  519. package/cjs/ui/Modal.js +57 -59
  520. package/cjs/ui/Modal.js.map +1 -1
  521. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  522. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  523. package/cjs/ui/OGMessageItemBody.js +47 -47
  524. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  525. package/cjs/ui/OpenChannelAdminMessage.js +7 -8
  526. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  527. package/cjs/ui/OpenChannelAvatar.js +17 -18
  528. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  529. package/cjs/ui/OpenchannelConversationHeader.js +13 -17
  530. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  531. package/cjs/ui/OpenchannelFileMessage.js +147 -139
  532. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  533. package/cjs/ui/OpenchannelOGMessage.js +185 -178
  534. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  535. package/cjs/ui/OpenchannelThumbnailMessage.js +220 -213
  536. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  537. package/cjs/ui/OpenchannelUserMessage.js +172 -164
  538. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  539. package/cjs/ui/PlaceHolder.js +108 -10
  540. package/cjs/ui/PlaceHolder.js.map +1 -1
  541. package/cjs/ui/PlaybackTime.js +16 -15
  542. package/cjs/ui/PlaybackTime.js.map +1 -1
  543. package/cjs/ui/ProgressBar.js +15 -13
  544. package/cjs/ui/ProgressBar.js.map +1 -1
  545. package/cjs/ui/QuoteMessage.js +41 -44
  546. package/cjs/ui/QuoteMessage.js.map +1 -1
  547. package/cjs/ui/QuoteMessageInput.js +45 -31
  548. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  549. package/cjs/ui/ReactionBadge.js +17 -13
  550. package/cjs/ui/ReactionBadge.js.map +1 -1
  551. package/cjs/ui/ReactionButton.js +19 -19
  552. package/cjs/ui/ReactionButton.js.map +1 -1
  553. package/cjs/ui/SortByRow.js +14 -14
  554. package/cjs/ui/SortByRow.js.map +1 -1
  555. package/cjs/ui/TextButton.js +21 -13
  556. package/cjs/ui/TextButton.js.map +1 -1
  557. package/cjs/ui/TextMessageItemBody.js +33 -31
  558. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  559. package/cjs/ui/ThreadReplies.js +21 -25
  560. package/cjs/ui/ThreadReplies.js.map +1 -1
  561. package/cjs/ui/ThumbnailMessageItemBody.js +37 -28
  562. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  563. package/cjs/ui/Toggle.js +85 -77
  564. package/cjs/ui/Toggle.js.map +1 -1
  565. package/cjs/ui/Tooltip.js +9 -8
  566. package/cjs/ui/Tooltip.js.map +1 -1
  567. package/cjs/ui/TooltipWrapper.js +18 -17
  568. package/cjs/ui/TooltipWrapper.js.map +1 -1
  569. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  570. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  571. package/cjs/ui/UserListItem.js +80 -75
  572. package/cjs/ui/UserListItem.js.map +1 -1
  573. package/cjs/ui/UserProfile.js +28 -33
  574. package/cjs/ui/UserProfile.js.map +1 -1
  575. package/cjs/ui/VoiceMessageItemBody.js +49 -43
  576. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  577. package/cjs/ui/VoiceMessgeInput.js +8 -7
  578. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  579. package/cjs/ui/Word.js +29 -27
  580. package/cjs/ui/Word.js.map +1 -1
  581. package/cjs/{useHandleUploadFiles-08fadd6f.js → useHandleUploadFiles-fbe6ad64.js} +114 -127
  582. package/cjs/useHandleUploadFiles-fbe6ad64.js.map +1 -0
  583. package/cjs/useLongPress-c1da8ba7.js +105 -0
  584. package/cjs/useLongPress-c1da8ba7.js.map +1 -0
  585. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js +316 -0
  586. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js.map +1 -0
  587. package/cjs/useSendbirdStateContext.js +8 -3
  588. package/cjs/useSendbirdStateContext.js.map +1 -1
  589. package/cjs/useStatefulFileInfoList-aa70b6b9.js +228 -0
  590. package/cjs/useStatefulFileInfoList-aa70b6b9.js.map +1 -0
  591. package/cjs/utils/message/getOutgoingMessageState.js +14 -16
  592. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  593. package/cjs/utils/message/isVoiceMessage.js +4 -4
  594. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  595. package/cjs/utils-0fac6ad1.js +27 -0
  596. package/cjs/utils-0fac6ad1.js.map +1 -0
  597. package/cjs/utils-180c6bc8.js +10 -0
  598. package/cjs/utils-180c6bc8.js.map +1 -0
  599. package/cjs/{utils-6dd678d6.js → utils-46483130.js} +3 -3
  600. package/cjs/{utils-6dd678d6.js.map → utils-46483130.js.map} +1 -1
  601. package/cjs/utils-55fc6797.js +170 -0
  602. package/cjs/utils-55fc6797.js.map +1 -0
  603. package/cjs/utils-851724e0.js +62 -0
  604. package/cjs/utils-851724e0.js.map +1 -0
  605. package/cjs/utils-e313131f.js +35 -0
  606. package/cjs/utils-e313131f.js.map +1 -0
  607. package/cjs/uuid-c74bbbb6.js +17 -0
  608. package/cjs/{uuid-dee72498.js.map → uuid-c74bbbb6.js.map} +1 -1
  609. package/cjs/withSendbird.js +16 -22
  610. package/cjs/withSendbird.js.map +1 -1
  611. package/{color-e8886e80.js → color-1383d4ab.js} +5 -5
  612. package/{color-e8886e80.js.map → color-1383d4ab.js.map} +1 -1
  613. package/compareIds-b56b02f1.js +16 -0
  614. package/compareIds-b56b02f1.js.map +1 -0
  615. package/{const-264270af.js → const-4bc3721f.js} +4 -4
  616. package/{const-264270af.js.map → const-4bc3721f.js.map} +1 -1
  617. package/const-e3326913.js +13 -0
  618. package/{const-997b7e92.js.map → const-e3326913.js.map} +1 -1
  619. package/consts-7f4d53a3.js +4 -0
  620. package/consts-7f4d53a3.js.map +1 -0
  621. package/consts-833420ed.js +4 -0
  622. package/{consts-3e2a0b41.js.map → consts-833420ed.js.map} +1 -1
  623. package/consts-aa64aca8.js +30 -0
  624. package/{consts-2144a35b.js.map → consts-aa64aca8.js.map} +1 -1
  625. package/consts-f0ba9b80.js +4 -0
  626. package/consts-f0ba9b80.js.map +1 -0
  627. package/context-ae47ac54.js +12 -0
  628. package/{context-a2108ea4.js.map → context-ae47ac54.js.map} +1 -1
  629. package/dist/index.css +71 -56
  630. package/dist/index.css.map +1 -1
  631. package/handlers/OpenChannelHandler.js.map +1 -1
  632. package/handlers/SessionHandler.js.map +1 -1
  633. package/hooks/useModal.js +73 -0
  634. package/hooks/useModal.js.map +1 -0
  635. package/{index-cd36caca.js → index-12103973.js} +2 -2
  636. package/{index-cd36caca.js.map → index-12103973.js.map} +1 -1
  637. package/index-124a5766.js +298 -0
  638. package/{index-4214d5e5.js.map → index-124a5766.js.map} +1 -1
  639. package/{index-f8b1f2fd.js → index-1432c287.js} +2 -4
  640. package/index-1432c287.js.map +1 -0
  641. package/{index-137fbab9.js → index-1969ccd8.js} +25 -28
  642. package/{index-137fbab9.js.map → index-1969ccd8.js.map} +1 -1
  643. package/index-3d508585.js +53 -0
  644. package/{index-ac325b55.js.map → index-3d508585.js.map} +1 -1
  645. package/{index-f27e3f26.js → index-40447645.js} +73 -81
  646. package/{index-f27e3f26.js.map → index-40447645.js.map} +1 -1
  647. package/{index-35c34277.js → index-7a1085b6.js} +99 -109
  648. package/index-7a1085b6.js.map +1 -0
  649. package/index-89b3b8ba.js +362 -0
  650. package/index-89b3b8ba.js.map +1 -0
  651. package/index-8c72f0bd.js +182 -0
  652. package/{index-df44531d.js.map → index-8c72f0bd.js.map} +1 -1
  653. package/index-942c5fa2.js +161 -0
  654. package/index-942c5fa2.js.map +1 -0
  655. package/index-c6095960.js +4 -0
  656. package/index-c6095960.js.map +1 -0
  657. package/index-c7ed4aef.js +13 -0
  658. package/index-c7ed4aef.js.map +1 -0
  659. package/{index-0bbeff0d.js → index-c81fd6ec.js} +56 -193
  660. package/index-c81fd6ec.js.map +1 -0
  661. package/{index-c9a60ebd.js → index-d3f61405.js} +10 -30
  662. package/index-d3f61405.js.map +1 -0
  663. package/{index-3c2e063e.js → index-dc1827ea.js} +3 -12
  664. package/index-dc1827ea.js.map +1 -0
  665. package/{index-2ac3fe5b.js → index-ec0c048b.js} +39 -37
  666. package/{index-2ac3fe5b.js.map → index-ec0c048b.js.map} +1 -1
  667. package/{index-f14314d9.js → index-eec0ce47.js} +166 -154
  668. package/index-eec0ce47.js.map +1 -0
  669. package/index-fc1642cb.js +692 -0
  670. package/index-fc1642cb.js.map +1 -0
  671. package/index.d.ts +143 -79
  672. package/index.js +66 -63
  673. package/index.js.map +1 -1
  674. package/lame.all.js.map +1 -1
  675. package/package.json +3 -3
  676. package/{topics-baecd5b0.js → pubSub/topics.js} +4 -3
  677. package/pubSub/topics.js.map +1 -0
  678. package/{resolvedReplyType-9e0d7d55.js → resolvedReplyType-0532593c.js} +1 -1
  679. package/{resolvedReplyType-9e0d7d55.js.map → resolvedReplyType-0532593c.js.map} +1 -1
  680. package/sendbirdSelectors.js +381 -333
  681. package/sendbirdSelectors.js.map +1 -1
  682. package/stringFormatterUtils-444f6f4c.js +14 -0
  683. package/{stringFormatterUtils-1656fed9.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
  684. package/{stringSet-2ab6570e.js → stringSet-1106c8ec.js} +9 -2
  685. package/stringSet-1106c8ec.js.map +1 -0
  686. package/{tokenize-25f71231.js → tokenize-d17bf862.js} +56 -61
  687. package/{tokenize-25f71231.js.map → tokenize-d17bf862.js.map} +1 -1
  688. package/tslib.es6-0c779aab.js +97 -0
  689. package/tslib.es6-0c779aab.js.map +1 -0
  690. package/types-4ffc52f6.js +15 -0
  691. package/types-4ffc52f6.js.map +1 -0
  692. package/types-50e412d8.js +9 -0
  693. package/types-50e412d8.js.map +1 -0
  694. package/ui/Accordion.js +18 -19
  695. package/ui/Accordion.js.map +1 -1
  696. package/ui/AccordionGroup.js +11 -10
  697. package/ui/AccordionGroup.js.map +1 -1
  698. package/ui/AdminMessage.js +10 -10
  699. package/ui/AdminMessage.js.map +1 -1
  700. package/ui/Avatar.js +59 -55
  701. package/ui/Avatar.js.map +1 -1
  702. package/ui/Badge.js +15 -16
  703. package/ui/Badge.js.map +1 -1
  704. package/ui/BottomSheet.js +15 -17
  705. package/ui/BottomSheet.js.map +1 -1
  706. package/ui/Button.js +19 -26
  707. package/ui/Button.js.map +1 -1
  708. package/ui/ChannelAvatar.js +41 -38
  709. package/ui/ChannelAvatar.js.map +1 -1
  710. package/ui/Checkbox.js +10 -9
  711. package/ui/Checkbox.js.map +1 -1
  712. package/ui/ConnectionStatus.js +5 -7
  713. package/ui/ConnectionStatus.js.map +1 -1
  714. package/ui/ContextMenu.js +143 -144
  715. package/ui/ContextMenu.js.map +1 -1
  716. package/ui/DateSeparator.js +14 -12
  717. package/ui/DateSeparator.js.map +1 -1
  718. package/ui/EmojiReactions.js +207 -177
  719. package/ui/EmojiReactions.js.map +1 -1
  720. package/ui/FileMessageItemBody.js +23 -23
  721. package/ui/FileMessageItemBody.js.map +1 -1
  722. package/ui/FileViewer.js +14 -12
  723. package/ui/FileViewer.js.map +1 -1
  724. package/ui/Icon.js +2 -2
  725. package/ui/Icon.js.map +1 -1
  726. package/ui/IconButton.js +28 -20
  727. package/ui/IconButton.js.map +1 -1
  728. package/ui/ImageRenderer.js +84 -65
  729. package/ui/ImageRenderer.js.map +1 -1
  730. package/ui/Input.js +14 -16
  731. package/ui/Input.js.map +1 -1
  732. package/ui/Label.js +2 -2
  733. package/ui/LinkLabel.js +2 -2
  734. package/ui/LinkLabel.js.map +1 -1
  735. package/ui/Loader.js +12 -10
  736. package/ui/Loader.js.map +1 -1
  737. package/ui/MentionLabel.js +64 -60
  738. package/ui/MentionLabel.js.map +1 -1
  739. package/ui/MentionUserLabel.js +10 -10
  740. package/ui/MentionUserLabel.js.map +1 -1
  741. package/ui/MessageContent.js +186 -170
  742. package/ui/MessageContent.js.map +1 -1
  743. package/ui/MessageInput/hooks/usePaste.js +5 -4
  744. package/ui/MessageInput/hooks/usePaste.js.map +1 -1
  745. package/ui/MessageInput.js +48 -50
  746. package/ui/MessageInput.js.map +1 -1
  747. package/ui/MessageItemMenu.js +93 -72
  748. package/ui/MessageItemMenu.js.map +1 -1
  749. package/ui/MessageItemReactionMenu.js +64 -56
  750. package/ui/MessageItemReactionMenu.js.map +1 -1
  751. package/ui/MessageSearchFileItem.js +40 -49
  752. package/ui/MessageSearchFileItem.js.map +1 -1
  753. package/ui/MessageSearchItem.js +32 -40
  754. package/ui/MessageSearchItem.js.map +1 -1
  755. package/ui/MessageStatus.js +11 -11
  756. package/ui/Modal.js +57 -59
  757. package/ui/Modal.js.map +1 -1
  758. package/ui/MutedAvatarOverlay.js +10 -10
  759. package/ui/MutedAvatarOverlay.js.map +1 -1
  760. package/ui/OGMessageItemBody.js +47 -47
  761. package/ui/OGMessageItemBody.js.map +1 -1
  762. package/ui/OpenChannelAdminMessage.js +7 -8
  763. package/ui/OpenChannelAdminMessage.js.map +1 -1
  764. package/ui/OpenChannelAvatar.js +17 -18
  765. package/ui/OpenChannelAvatar.js.map +1 -1
  766. package/ui/OpenchannelConversationHeader.js +13 -17
  767. package/ui/OpenchannelConversationHeader.js.map +1 -1
  768. package/ui/OpenchannelFileMessage.js +147 -139
  769. package/ui/OpenchannelFileMessage.js.map +1 -1
  770. package/ui/OpenchannelOGMessage.js +185 -178
  771. package/ui/OpenchannelOGMessage.js.map +1 -1
  772. package/ui/OpenchannelThumbnailMessage.js +220 -213
  773. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  774. package/ui/OpenchannelUserMessage.js +172 -164
  775. package/ui/OpenchannelUserMessage.js.map +1 -1
  776. package/ui/PlaceHolder.js +106 -8
  777. package/ui/PlaceHolder.js.map +1 -1
  778. package/ui/PlaybackTime.js +16 -15
  779. package/ui/PlaybackTime.js.map +1 -1
  780. package/ui/ProgressBar.js +15 -13
  781. package/ui/ProgressBar.js.map +1 -1
  782. package/ui/QuoteMessage.js +41 -44
  783. package/ui/QuoteMessage.js.map +1 -1
  784. package/ui/QuoteMessageInput.js +45 -31
  785. package/ui/QuoteMessageInput.js.map +1 -1
  786. package/ui/ReactionBadge.js +17 -13
  787. package/ui/ReactionBadge.js.map +1 -1
  788. package/ui/ReactionButton.js +19 -19
  789. package/ui/ReactionButton.js.map +1 -1
  790. package/ui/SortByRow.js +14 -14
  791. package/ui/SortByRow.js.map +1 -1
  792. package/ui/TextButton.js +21 -13
  793. package/ui/TextButton.js.map +1 -1
  794. package/ui/TextMessageItemBody.js +33 -31
  795. package/ui/TextMessageItemBody.js.map +1 -1
  796. package/ui/ThreadReplies.js +21 -25
  797. package/ui/ThreadReplies.js.map +1 -1
  798. package/ui/ThumbnailMessageItemBody.js +37 -28
  799. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  800. package/ui/Toggle.js +86 -78
  801. package/ui/Toggle.js.map +1 -1
  802. package/ui/Tooltip.js +9 -8
  803. package/ui/Tooltip.js.map +1 -1
  804. package/ui/TooltipWrapper.js +18 -17
  805. package/ui/TooltipWrapper.js.map +1 -1
  806. package/ui/UnknownMessageItemBody.js +19 -20
  807. package/ui/UnknownMessageItemBody.js.map +1 -1
  808. package/ui/UserListItem.js +80 -75
  809. package/ui/UserListItem.js.map +1 -1
  810. package/ui/UserProfile.js +29 -34
  811. package/ui/UserProfile.js.map +1 -1
  812. package/ui/VoiceMessageItemBody.js +49 -43
  813. package/ui/VoiceMessageItemBody.js.map +1 -1
  814. package/ui/VoiceMessgeInput.js +8 -7
  815. package/ui/VoiceMessgeInput.js.map +1 -1
  816. package/ui/Word.js +29 -27
  817. package/ui/Word.js.map +1 -1
  818. package/{useHandleUploadFiles-8134431f.js → useHandleUploadFiles-33aff88e.js} +111 -124
  819. package/useHandleUploadFiles-33aff88e.js.map +1 -0
  820. package/useLongPress-322bb6a3.js +103 -0
  821. package/useLongPress-322bb6a3.js.map +1 -0
  822. package/useSendMultipleFilesMessage-4489a0f6.js +283 -0
  823. package/useSendMultipleFilesMessage-4489a0f6.js.map +1 -0
  824. package/useSendbirdStateContext.js +5 -3
  825. package/useSendbirdStateContext.js.map +1 -1
  826. package/useStatefulFileInfoList-dd95f949.js +219 -0
  827. package/useStatefulFileInfoList-dd95f949.js.map +1 -0
  828. package/utils/message/getOutgoingMessageState.js +8 -9
  829. package/utils/message/getOutgoingMessageState.js.map +1 -1
  830. package/utils/message/isVoiceMessage.js +4 -4
  831. package/utils/message/isVoiceMessage.js.map +1 -1
  832. package/{utils-d558dc74.js → utils-158c1683.js} +3 -3
  833. package/{utils-d558dc74.js.map → utils-158c1683.js.map} +1 -1
  834. package/utils-3660243c.js +25 -0
  835. package/utils-3660243c.js.map +1 -0
  836. package/utils-40040f8e.js +157 -0
  837. package/utils-40040f8e.js.map +1 -0
  838. package/utils-48a3ef27.js +31 -0
  839. package/utils-48a3ef27.js.map +1 -0
  840. package/utils-74c161a0.js +7 -0
  841. package/utils-74c161a0.js.map +1 -0
  842. package/utils-e98a7f8c.js +57 -0
  843. package/utils-e98a7f8c.js.map +1 -0
  844. package/uuid-3c77ef7b.js +15 -0
  845. package/{uuid-94f10232.js.map → uuid-3c77ef7b.js.map} +1 -1
  846. package/withSendbird.js +16 -22
  847. package/withSendbird.js.map +1 -1
  848. package/ChannelListProvider-f365e22f.js +0 -1041
  849. package/ChannelListProvider-f365e22f.js.map +0 -1
  850. package/ChannelProvider-6aedab94.js +0 -1933
  851. package/ChannelProvider-6aedab94.js.map +0 -1
  852. package/CreateChannelProvider-0b4bc562.js +0 -44
  853. package/LocalizationContext-5cbe4df3.js +0 -20
  854. package/MediaQueryContext-8fcfd909.js +0 -87
  855. package/MediaQueryContext-8fcfd909.js.map +0 -1
  856. package/MemberList-d407bcd0.js +0 -404
  857. package/OpenChannelProvider-ca26866f.js +0 -1890
  858. package/RemoveMessageModal-db97f3f9.js +0 -38
  859. package/RemoveMessageModal-db97f3f9.js.map +0 -1
  860. package/ThreadProvider-b5a2ad03.js +0 -1778
  861. package/ThreadProvider-b5a2ad03.js.map +0 -1
  862. package/UserProfileContext-5b8c391a.js +0 -41
  863. package/UserProfileContext-5b8c391a.js.map +0 -1
  864. package/_rollupPluginBabelHelpers-ef032169.js.map +0 -1
  865. package/cjs/ChannelListProvider-bb62fccb.js +0 -1050
  866. package/cjs/ChannelListProvider-bb62fccb.js.map +0 -1
  867. package/cjs/ChannelProvider-b225ab76.js +0 -1941
  868. package/cjs/ChannelProvider-b225ab76.js.map +0 -1
  869. package/cjs/CreateChannelProvider-7c5b1342.js +0 -52
  870. package/cjs/MediaQueryContext-ccb12e3d.js +0 -94
  871. package/cjs/MediaQueryContext-ccb12e3d.js.map +0 -1
  872. package/cjs/MemberList-ee792073.js +0 -410
  873. package/cjs/OpenChannelListProvider-d9f4a5b4.js +0 -439
  874. package/cjs/OpenChannelProvider-30a24b84.js +0 -1899
  875. package/cjs/RemoveMessageModal-4dd9431b.js +0 -44
  876. package/cjs/RemoveMessageModal-4dd9431b.js.map +0 -1
  877. package/cjs/ThreadProvider-43c54d9b.js +0 -1787
  878. package/cjs/ThreadProvider-43c54d9b.js.map +0 -1
  879. package/cjs/UserProfileContext-d59fe64f.js +0 -49
  880. package/cjs/UserProfileContext-d59fe64f.js.map +0 -1
  881. package/cjs/_rollupPluginBabelHelpers-4693667a.js.map +0 -1
  882. package/cjs/color-5fe1a19c.js.map +0 -1
  883. package/cjs/compareIds-02121052.js.map +0 -1
  884. package/cjs/const-2044f15a.js +0 -20
  885. package/cjs/consts-14256e43.js +0 -6
  886. package/cjs/consts-f2c42e3a.js +0 -6
  887. package/cjs/consts-faf545e7.js +0 -6
  888. package/cjs/consts-faf545e7.js.map +0 -1
  889. package/cjs/index-00aa7289.js.map +0 -1
  890. package/cjs/index-154b368d.js +0 -368
  891. package/cjs/index-154b368d.js.map +0 -1
  892. package/cjs/index-1914edda.js +0 -57
  893. package/cjs/index-2e84e87d.js +0 -330
  894. package/cjs/index-5c7818e3.js.map +0 -1
  895. package/cjs/index-73a1cca8.js +0 -647
  896. package/cjs/index-73a1cca8.js.map +0 -1
  897. package/cjs/index-7b61bfbc.js.map +0 -1
  898. package/cjs/index-7c4a1c63.js +0 -9
  899. package/cjs/index-7c4a1c63.js.map +0 -1
  900. package/cjs/index-84f919de.js.map +0 -1
  901. package/cjs/index-8cc5f0ba.js +0 -164
  902. package/cjs/index-8cc5f0ba.js.map +0 -1
  903. package/cjs/index-a085d7e2.js +0 -171
  904. package/cjs/index-a085d7e2.js.map +0 -1
  905. package/cjs/index-aaa23e06.js.map +0 -1
  906. package/cjs/index-c8592ba1.js.map +0 -1
  907. package/cjs/index-d2b3d08f.js +0 -139
  908. package/cjs/index-d2b3d08f.js.map +0 -1
  909. package/cjs/index-d58de514.js +0 -202
  910. package/cjs/index-e722362c.js +0 -58
  911. package/cjs/index-e722362c.js.map +0 -1
  912. package/cjs/index-ffcf63bb.js +0 -118
  913. package/cjs/index-ffcf63bb.js.map +0 -1
  914. package/cjs/index.module-223a3af8.js +0 -6
  915. package/cjs/index.module-223a3af8.js.map +0 -1
  916. package/cjs/stringFormatterUtils-f768db2f.js +0 -16
  917. package/cjs/stringSet-286c9fb2.js.map +0 -1
  918. package/cjs/topics-df8731af.js.map +0 -1
  919. package/cjs/types-7b6072a7.js +0 -17
  920. package/cjs/types-7b6072a7.js.map +0 -1
  921. package/cjs/useHandleUploadFiles-08fadd6f.js.map +0 -1
  922. package/cjs/useLongPress-233f8ca8.js +0 -87
  923. package/cjs/useLongPress-233f8ca8.js.map +0 -1
  924. package/cjs/useSendMultipleFilesMessage-5c5cab5f.js +0 -109
  925. package/cjs/useSendMultipleFilesMessage-5c5cab5f.js.map +0 -1
  926. package/cjs/utils-013de0ea.js +0 -35
  927. package/cjs/utils-013de0ea.js.map +0 -1
  928. package/cjs/utils-1cab5821.js +0 -345
  929. package/cjs/utils-1cab5821.js.map +0 -1
  930. package/cjs/utils-576a3067.js +0 -31
  931. package/cjs/utils-576a3067.js.map +0 -1
  932. package/cjs/utils-89a0ca39.js +0 -6
  933. package/cjs/utils-89a0ca39.js.map +0 -1
  934. package/cjs/utils-c2d36ac9.js +0 -62
  935. package/cjs/utils-c2d36ac9.js.map +0 -1
  936. package/cjs/uuid-dee72498.js +0 -15
  937. package/compareIds-e6958df7.js +0 -15
  938. package/compareIds-e6958df7.js.map +0 -1
  939. package/const-997b7e92.js +0 -13
  940. package/consts-0808a594.js +0 -4
  941. package/consts-0808a594.js.map +0 -1
  942. package/consts-2144a35b.js +0 -37
  943. package/consts-3e2a0b41.js +0 -4
  944. package/consts-6a76be86.js +0 -4
  945. package/consts-6a76be86.js.map +0 -1
  946. package/context-a2108ea4.js +0 -13
  947. package/index-0bbeff0d.js.map +0 -1
  948. package/index-35c34277.js.map +0 -1
  949. package/index-3c2e063e.js.map +0 -1
  950. package/index-4214d5e5.js +0 -320
  951. package/index-4f2e8b24.js +0 -7
  952. package/index-4f2e8b24.js.map +0 -1
  953. package/index-4f3b01f7.js +0 -132
  954. package/index-4f3b01f7.js.map +0 -1
  955. package/index-58e190df.js +0 -51
  956. package/index-58e190df.js.map +0 -1
  957. package/index-91b8ea75.js +0 -152
  958. package/index-91b8ea75.js.map +0 -1
  959. package/index-ac325b55.js +0 -51
  960. package/index-c9a60ebd.js.map +0 -1
  961. package/index-cd3a8abb.js +0 -164
  962. package/index-cd3a8abb.js.map +0 -1
  963. package/index-dc0853cb.js +0 -110
  964. package/index-dc0853cb.js.map +0 -1
  965. package/index-df44531d.js +0 -187
  966. package/index-e2382507.js +0 -361
  967. package/index-e2382507.js.map +0 -1
  968. package/index-e7cbecf4.js +0 -598
  969. package/index-e7cbecf4.js.map +0 -1
  970. package/index-f14314d9.js.map +0 -1
  971. package/index-f8b1f2fd.js.map +0 -1
  972. package/index.module-74c51bef.js +0 -4
  973. package/index.module-74c51bef.js.map +0 -1
  974. package/stringFormatterUtils-1656fed9.js +0 -14
  975. package/stringSet-2ab6570e.js.map +0 -1
  976. package/topics-baecd5b0.js.map +0 -1
  977. package/types-76bdfba5.js +0 -15
  978. package/types-76bdfba5.js.map +0 -1
  979. package/useHandleUploadFiles-8134431f.js.map +0 -1
  980. package/useLongPress-eb0dfa7a.js +0 -85
  981. package/useLongPress-eb0dfa7a.js.map +0 -1
  982. package/useSendMultipleFilesMessage-c351cca7.js +0 -107
  983. package/useSendMultipleFilesMessage-c351cca7.js.map +0 -1
  984. package/utils-1babe991.js +0 -4
  985. package/utils-1babe991.js.map +0 -1
  986. package/utils-9f1492f3.js +0 -31
  987. package/utils-9f1492f3.js.map +0 -1
  988. package/utils-c6ec2848.js +0 -306
  989. package/utils-c6ec2848.js.map +0 -1
  990. package/utils-d6b42051.js +0 -57
  991. package/utils-d6b42051.js.map +0 -1
  992. package/utils-e6c58e2d.js +0 -29
  993. package/utils-e6c58e2d.js.map +0 -1
  994. package/uuid-94f10232.js +0 -13
@@ -1,1050 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4693667a.js');
4
- var React = require('react');
5
- var groupChannel = require('@sendbird/chat/groupChannel');
6
- var topics = require('./topics-df8731af.js');
7
- var uuid = require('./uuid-dee72498.js');
8
- var utils = require('./utils-89a0ca39.js');
9
- var consts = require('./consts-240f7639.js');
10
- var UserProfileContext = require('./UserProfileContext-d59fe64f.js');
11
- var useSendbirdStateContext = require('./useSendbirdStateContext.js');
12
- var index = require('./index-73a1cca8.js');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
-
18
- const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
19
- const CREATE_CHANNEL = 'CREATE_CHANNEL';
20
- const USER_INVITED = 'USER_INVITED';
21
- const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';
22
- const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
23
- const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';
24
- const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';
25
- const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';
26
- const INIT_CHANNELS_START = 'INIT_CHANNELS_START';
27
- const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';
28
- const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';
29
- const ON_USER_JOINED = 'ON_USER_JOINED';
30
- const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
31
- const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';
32
- const ON_USER_LEFT = 'ON_USER_LEFT';
33
- const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
34
- const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';
35
- const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
36
- const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
37
- const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';
38
- const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
39
- const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';
40
- const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';
41
-
42
- const DELIVERY_RECIPT = 'delivery_receipt';
43
- const createEventHandler = _ref => {
44
- let {
45
- sdk,
46
- sdkChannelHandlerId,
47
- channelListDispatcher,
48
- logger
49
- } = _ref;
50
- const ChannelHandler = new groupChannel.GroupChannelHandler({
51
- onChannelChanged: channel => {
52
- logger.info('ChannelList: onChannelChanged', channel);
53
- channelListDispatcher({
54
- type: ON_CHANNEL_CHANGED,
55
- payload: channel
56
- });
57
- },
58
- onChannelDeleted: channelUrl => {
59
- logger.info('ChannelList: onChannelDeleted', channelUrl);
60
- channelListDispatcher({
61
- type: ON_CHANNEL_DELETED,
62
- payload: channelUrl
63
- });
64
- },
65
- onUserJoined: channel => {
66
- logger.info('ChannelList: onUserJoined', channel);
67
- if (channel !== null && channel !== void 0 && channel.lastMessage) {
68
- channelListDispatcher({
69
- type: ON_USER_JOINED,
70
- payload: channel
71
- });
72
- }
73
- },
74
- onUserReceivedInvitation: (channel, inviter, invitees) => {
75
- logger.info('ChannelList: onUserReceivedInvitation', {
76
- channel,
77
- inviter,
78
- invitees
79
- });
80
- const {
81
- currentUser
82
- } = sdk;
83
- const isInvited = invitees.find(user => (user === null || user === void 0 ? void 0 : user.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId));
84
- // The newly created channel should be displayed only when there's a message
85
- if (isInvited && channel !== null && channel !== void 0 && channel.lastMessage) {
86
- channelListDispatcher({
87
- type: USER_INVITED,
88
- payload: channel
89
- });
90
- }
91
- },
92
- onUserBanned: (channel, user) => {
93
- const {
94
- currentUser
95
- } = sdk;
96
- logger.info('Channel: onUserBanned', channel);
97
- if (user.userId === currentUser.userId) {
98
- channelListDispatcher({
99
- type: ON_USER_LEFT,
100
- payload: {
101
- channel,
102
- isMe: true
103
- }
104
- });
105
- } else {
106
- channelListDispatcher({
107
- type: ON_USER_LEFT,
108
- payload: {
109
- channel,
110
- isMe: false
111
- }
112
- });
113
- }
114
- },
115
- onUserLeft: (channel, leftUser) => {
116
- const {
117
- currentUser
118
- } = sdk;
119
- const isMe = currentUser.userId === leftUser.userId;
120
- logger.info('ChannelList: onUserLeft', channel);
121
- channelListDispatcher({
122
- type: ON_USER_LEFT,
123
- payload: {
124
- channel,
125
- isMe
126
- }
127
- });
128
- },
129
- onUnreadMemberStatusUpdated: channel => {
130
- logger.info('ChannelList: onUnreadMemberStatusUpdated', channel);
131
- channelListDispatcher({
132
- type: ON_READ_RECEIPT_UPDATED,
133
- payload: channel
134
- });
135
- },
136
- onUndeliveredMemberStatusUpdated: channel => {
137
- logger.info('ChannelList: onUndeliveredMemberStatusUpdated', channel);
138
- if (channel !== null && channel !== void 0 && channel.lastMessage) {
139
- channelListDispatcher({
140
- type: ON_DELIVERY_RECEIPT_UPDATED,
141
- payload: channel
142
- });
143
- }
144
- },
145
- onMessageUpdated: (channel, message) => {
146
- if (channel !== null && channel !== void 0 && channel.lastMessage.isEqual(message)) {
147
- logger.info('ChannelList: onMessageUpdated', channel);
148
- channelListDispatcher({
149
- type: ON_LAST_MESSAGE_UPDATED,
150
- payload: channel
151
- });
152
- }
153
- },
154
- onChannelHidden: channel => {
155
- logger.info('ChannelList: onChannelHidden', channel);
156
- channelListDispatcher({
157
- type: ON_CHANNEL_ARCHIVED,
158
- payload: channel
159
- });
160
- },
161
- onChannelFrozen: channel => {
162
- logger.info('ChannelList: onChannelFrozen', channel);
163
- channelListDispatcher({
164
- type: ON_CHANNEL_FROZEN,
165
- payload: channel
166
- });
167
- },
168
- onChannelUnfrozen: channel => {
169
- logger.info('ChannelList: onChannelUnfrozen', channel);
170
- channelListDispatcher({
171
- type: ON_CHANNEL_UNFROZEN,
172
- payload: channel
173
- });
174
- }
175
- });
176
- logger.info('ChannelList: Added channelHandler');
177
- sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);
178
- };
179
- const createChannelListQuery = _ref2 => {
180
- let {
181
- sdk,
182
- userFilledChannelListQuery = {}
183
- } = _ref2;
184
- const param = {};
185
- param.includeEmpty = false;
186
- param.limit = 20; // The value of pagination limit could be set up to 100.
187
- param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'
188
-
189
- if (userFilledChannelListQuery) {
190
- Object.keys(userFilledChannelListQuery).forEach(key => {
191
- param[key] = userFilledChannelListQuery[key];
192
- });
193
- }
194
- const channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);
195
- return channelListQuery;
196
- };
197
-
198
- /**
199
- * Setup event listener
200
- * create channel source query
201
- * addloading screen
202
- */
203
- function setupChannelList(_ref3) {
204
- let {
205
- sdk,
206
- sdkChannelHandlerId,
207
- channelListDispatcher,
208
- setChannelSource,
209
- onChannelSelect,
210
- userFilledChannelListQuery,
211
- logger,
212
- sortChannelList,
213
- disableAutoSelect,
214
- markAsDeliveredScheduler,
215
- disableMarkAsDelivered
216
- } = _ref3;
217
- if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
218
- createEventHandler({
219
- sdk,
220
- channelListDispatcher,
221
- sdkChannelHandlerId,
222
- logger
223
- });
224
- } else {
225
- logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);
226
- }
227
- logger.info('ChannelList - creating query', {
228
- userFilledChannelListQuery
229
- });
230
- const channelListQuery = createChannelListQuery({
231
- sdk,
232
- userFilledChannelListQuery
233
- });
234
- logger.info('ChannelList - created query', channelListQuery);
235
- setChannelSource(channelListQuery);
236
- channelListDispatcher({
237
- type: INIT_CHANNELS_START
238
- });
239
- if (userFilledChannelListQuery) {
240
- logger.info('ChannelList - setting up channelListQuery', channelListQuery);
241
- channelListDispatcher({
242
- type: CHANNEL_LIST_PARAMS_UPDATED,
243
- payload: {
244
- channelListQuery,
245
- currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId
246
- }
247
- });
248
- }
249
- logger.info('ChannelList - fetching channels');
250
- if (channelListQuery.hasNext) {
251
- channelListQuery.next().then(channelList => {
252
- var _sdk$appInfo, _sdk$appInfo$premiumF;
253
- logger.info('ChannelList - fetched channels', channelList);
254
- // select first channel
255
- logger.info('ChannelList - highlight channel', channelList[0]);
256
- let sortedChannelList = channelList;
257
- if (sortChannelList && typeof sortChannelList === 'function') {
258
- sortedChannelList = sortChannelList(channelList);
259
- logger.info('ChannelList - channel list sorted', sortedChannelList);
260
- }
261
- if (!disableAutoSelect) {
262
- onChannelSelect(sortedChannelList[0]);
263
- }
264
- channelListDispatcher({
265
- type: INIT_CHANNELS_SUCCESS,
266
- payload: {
267
- channelList: sortedChannelList,
268
- disableAutoSelect
269
- }
270
- });
271
- const canSetMarkAsDelivered = sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : (_sdk$appInfo$premiumF = _sdk$appInfo.premiumFeatureList) === null || _sdk$appInfo$premiumF === void 0 ? void 0 : _sdk$appInfo$premiumF.find(feature => feature === DELIVERY_RECIPT);
272
- if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
273
- sortedChannelList.forEach(channel => {
274
- markAsDeliveredScheduler.push(channel);
275
- });
276
- }
277
- }).catch(err => {
278
- if (err) {
279
- logger.error('ChannelList - couldnt fetch channels', err);
280
- channelListDispatcher({
281
- type: INIT_CHANNELS_FAILURE
282
- });
283
- }
284
- });
285
- } else {
286
- logger.info('ChannelList - there are no more channels');
287
- }
288
- }
289
- const pubSubHandleRemover = subscriber => {
290
- subscriber.forEach(s => {
291
- try {
292
- s.remove();
293
- } catch (_unused) {
294
- //
295
- }
296
- });
297
- };
298
- const pubSubHandler = (pubSub, channelListDispatcher) => {
299
- const subscriber = new Map();
300
- if (!pubSub) return subscriber;
301
- subscriber.set(topics.PUBSUB_TOPICS.CREATE_CHANNEL, pubSub.subscribe(topics.PUBSUB_TOPICS.CREATE_CHANNEL, msg => {
302
- const {
303
- channel
304
- } = msg;
305
- channelListDispatcher({
306
- type: 'CREATE_CHANNEL',
307
- payload: channel
308
- });
309
- }));
310
- subscriber.set(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, msg => {
311
- var _updatedChannel$lastM;
312
- const {
313
- channel,
314
- message
315
- } = msg;
316
- const updatedChannel = channel;
317
- if ((updatedChannel === null || updatedChannel === void 0 ? void 0 : (_updatedChannel$lastM = updatedChannel.lastMessage) === null || _updatedChannel$lastM === void 0 ? void 0 : _updatedChannel$lastM.messageId) === message.messageId) {
318
- updatedChannel.lastMessage = message;
319
- }
320
- if (channel) {
321
- channelListDispatcher({
322
- type: ON_LAST_MESSAGE_UPDATED,
323
- payload: updatedChannel
324
- });
325
- }
326
- }));
327
- subscriber.set(topics.PUBSUB_TOPICS.LEAVE_CHANNEL, pubSub.subscribe(topics.PUBSUB_TOPICS.LEAVE_CHANNEL, msg => {
328
- const {
329
- channel
330
- } = msg;
331
- channelListDispatcher({
332
- type: LEAVE_CHANNEL_SUCCESS,
333
- payload: channel === null || channel === void 0 ? void 0 : channel.url
334
- });
335
- }));
336
- subscriber.set(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, msg => {
337
- const {
338
- channel
339
- } = msg;
340
- channelListDispatcher({
341
- type: CHANNEL_REPLACED_TO_TOP,
342
- payload: channel
343
- });
344
- }));
345
- return subscriber;
346
- };
347
-
348
- var channelListInitialState = {
349
- // we might not need this initialized state -> should remove
350
- initialized: false,
351
- loading: true,
352
- allChannels: [],
353
- currentChannel: null,
354
- channelListQuery: null,
355
- currentUserId: '',
356
- disableAutoSelect: false
357
- };
358
-
359
- function reducer(state, action) {
360
- switch (action.type) {
361
- case INIT_CHANNELS_START:
362
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
363
- loading: true
364
- });
365
- case RESET_CHANNEL_LIST:
366
- return channelListInitialState;
367
- case INIT_CHANNELS_SUCCESS:
368
- {
369
- const {
370
- channelList,
371
- disableAutoSelect
372
- } = action.payload;
373
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
374
- initialized: true,
375
- loading: false,
376
- allChannels: channelList,
377
- disableAutoSelect,
378
- currentChannel: !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : null
379
- });
380
- }
381
- case FETCH_CHANNELS_SUCCESS:
382
- {
383
- const currentChannels = state.allChannels.map(c => c.url);
384
- const filteredChannels = action.payload.filter(_ref => {
385
- let {
386
- url
387
- } = _ref;
388
- return !currentChannels.find(c => c === url);
389
- });
390
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
391
- allChannels: [...state.allChannels, ...filteredChannels]
392
- });
393
- }
394
- case USER_INVITED:
395
- {
396
- const channel = action.payload;
397
- if (state.channelListQuery) {
398
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
399
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
400
- allChannels: index.getChannelsWithUpsertedChannel(state.allChannels, channel)
401
- });
402
- }
403
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
404
- currentChannel: channel
405
- });
406
- }
407
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
408
- allChannels: [channel, ...state.allChannels.filter(ch => ch.url !== (channel === null || channel === void 0 ? void 0 : channel.url))]
409
- });
410
- }
411
- case CREATE_CHANNEL:
412
- {
413
- const channel = action.payload;
414
- if (state.channelListQuery) {
415
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
416
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
417
- currentChannel: channel,
418
- allChannels: index.getChannelsWithUpsertedChannel(state.allChannels, channel)
419
- });
420
- }
421
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
422
- currentChannel: channel
423
- });
424
- }
425
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
426
- allChannels: [channel, ...state.allChannels.filter(ch => ch.url !== (channel === null || channel === void 0 ? void 0 : channel.url))],
427
- currentChannel: channel
428
- });
429
- }
430
- case ON_CHANNEL_ARCHIVED:
431
- {
432
- var _state$currentChannel;
433
- const channel = action.payload;
434
- if (state.channelListQuery) {
435
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
436
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
437
- allChannels: index.getChannelsWithUpsertedChannel(state.allChannels, channel)
438
- });
439
- // TODO: Check if we have to set current channel
440
- }
441
- }
442
-
443
- const nextChannel = (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel = state.currentChannel) === null || _state$currentChannel === void 0 ? void 0 : _state$currentChannel.url) ? state.allChannels[state.allChannels[0].url === (channel === null || channel === void 0 ? void 0 : channel.url) ? 1 : 0] : state.currentChannel;
444
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
445
- allChannels: state.allChannels.filter(_ref2 => {
446
- let {
447
- url
448
- } = _ref2;
449
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
450
- }),
451
- currentChannel: state.disableAutoSelect ? null : nextChannel
452
- });
453
- }
454
- case LEAVE_CHANNEL_SUCCESS:
455
- case ON_CHANNEL_DELETED:
456
- {
457
- var _state$currentChannel2;
458
- const channelUrl = action.payload;
459
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
460
- currentChannel: channelUrl === ((_state$currentChannel2 = state.currentChannel) === null || _state$currentChannel2 === void 0 ? void 0 : _state$currentChannel2.url) ? state.allChannels[0] : state.currentChannel,
461
- allChannels: state.allChannels.filter(_ref3 => {
462
- let {
463
- url
464
- } = _ref3;
465
- return url !== channelUrl;
466
- })
467
- });
468
- }
469
- case ON_USER_LEFT:
470
- {
471
- var _state$currentChannel5;
472
- const {
473
- channel,
474
- isMe
475
- } = action.payload;
476
- if (state.channelListQuery) {
477
- var _state$currentChannel4;
478
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
479
- var _state$currentChannel3;
480
- const filteredChannels = index.getChannelsWithUpsertedChannel(state.allChannels, channel);
481
- const nextChannel = isMe && (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel3 = state.currentChannel) === null || _state$currentChannel3 === void 0 ? void 0 : _state$currentChannel3.url) ? filteredChannels[0] : state.currentChannel;
482
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
483
- currentChannel: state.disableAutoSelect ? null : nextChannel,
484
- allChannels: filteredChannels
485
- });
486
- }
487
- const nextChannel = (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel4 = state.currentChannel) === null || _state$currentChannel4 === void 0 ? void 0 : _state$currentChannel4.url) ? state.allChannels[0] : state.currentChannel;
488
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
489
- currentChannel: state.disableAutoSelect ? null : nextChannel,
490
- allChannels: state.allChannels.filter(_ref4 => {
491
- let {
492
- url
493
- } = _ref4;
494
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
495
- })
496
- });
497
- }
498
- const filteredChannels = state.allChannels.filter(c => !(c.url === (channel === null || channel === void 0 ? void 0 : channel.url) && isMe));
499
- const nextChannel = isMe && (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel5 = state.currentChannel) === null || _state$currentChannel5 === void 0 ? void 0 : _state$currentChannel5.url) ? filteredChannels[0] : state.currentChannel;
500
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
501
- currentChannel: state.disableAutoSelect ? null : nextChannel,
502
- allChannels: filteredChannels
503
- });
504
- }
505
- case ON_USER_JOINED:
506
- {
507
- var _channel;
508
- // Do not display channel when it's created (and not sent a message yet)
509
- if (!((_channel = channel) !== null && _channel !== void 0 && _channel.lastMessage)) return state;
510
- }
511
- case ON_CHANNEL_CHANGED:
512
- case ON_READ_RECEIPT_UPDATED:
513
- case ON_DELIVERY_RECEIPT_UPDATED:
514
- {
515
- var _channel$lastMessage, _channel$lastMessage$;
516
- const channel = action.payload;
517
- const {
518
- currentChannel,
519
- allChannels = []
520
- } = state;
521
- const {
522
- unreadMessageCount
523
- } = channel;
524
- if (state.channelListQuery) {
525
- var _filteredChannel$url, _currentChannel$url;
526
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
527
- // Good to [add to/keep in] the ChannelList
528
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
529
- allChannels: index.getChannelsWithUpsertedChannel(allChannels, channel)
530
- });
531
- }
532
- // Remove from the ChannelList
533
-
534
- // Change the currentChannel when it's removed from the ChannelList
535
- const filteredChannel = channel;
536
- let nextChannel = currentChannel;
537
- if (allChannels.length > 0 && ((_filteredChannel$url = filteredChannel.url) !== null && _filteredChannel$url !== void 0 ? _filteredChannel$url : '') === ((_currentChannel$url = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) !== null && _currentChannel$url !== void 0 ? _currentChannel$url : '')) {
538
- const [firstChannel, secondChannel = currentChannel] = allChannels;
539
- nextChannel = firstChannel.url !== filteredChannel.url ? firstChannel : secondChannel;
540
- }
541
- if (state.disableAutoSelect) {
542
- nextChannel = null;
543
- }
544
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
545
- currentChannel: nextChannel,
546
- allChannels: state.allChannels.filter(_ref5 => {
547
- let {
548
- url
549
- } = _ref5;
550
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
551
- })
552
- });
553
- }
554
- if (unreadMessageCount === 0
555
- // Do not move to the top when marking as read the channel
556
- && (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : (_channel$lastMessage$ = _channel$lastMessage.sender) === null || _channel$lastMessage$ === void 0 ? void 0 : _channel$lastMessage$.userId) !== state.currentUserId
557
- // Move to the top when the current user but different peer sends the message
558
- ) {
559
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
560
- allChannels: state.allChannels.map(ch => ch.url === (channel === null || channel === void 0 ? void 0 : channel.url) ? channel : ch)
561
- });
562
- }
563
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
564
- allChannels: [channel, ...state.allChannels.filter(_ref6 => {
565
- let {
566
- url
567
- } = _ref6;
568
- return url !== action.payload.url;
569
- })]
570
- });
571
- }
572
- case SET_CURRENT_CHANNEL:
573
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
574
- currentChannel: action.payload
575
- });
576
- case ON_LAST_MESSAGE_UPDATED:
577
- {
578
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
579
- allChannels: state.allChannels.map(channel => (channel === null || channel === void 0 ? void 0 : channel.url) === action.payload.url ? action.payload : channel)
580
- });
581
- }
582
- case ON_CHANNEL_FROZEN:
583
- {
584
- const channel = action.payload;
585
- if (state.channelListQuery) {
586
- var _state$currentChannel6;
587
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
588
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
589
- allChannels: index.getChannelsWithUpsertedChannel(state.allChannels, channel)
590
- });
591
- }
592
- const nextChannel = (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel6 = state.currentChannel) === null || _state$currentChannel6 === void 0 ? void 0 : _state$currentChannel6.url) ? state.allChannels[state.allChannels[0].url === (channel === null || channel === void 0 ? void 0 : channel.url) ? 1 : 0]
593
- // if coming channel is first of channel list, current channel will be the next one
594
- : state.currentChannel;
595
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
596
- allChannels: state.allChannels.filter(_ref7 => {
597
- let {
598
- url
599
- } = _ref7;
600
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
601
- }),
602
- currentChannel: state.disableAutoSelect ? null : nextChannel
603
- });
604
- }
605
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
606
- allChannels: state.allChannels.map(ch => {
607
- if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
608
- // eslint-disable-next-line no-param-reassign
609
- ch.isFrozen = true;
610
- return ch;
611
- }
612
- return ch;
613
- })
614
- });
615
- }
616
- case ON_CHANNEL_UNFROZEN:
617
- {
618
- const channel = action.payload;
619
- if (state.channelListQuery) {
620
- var _state$currentChannel7;
621
- if (index.filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
622
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
623
- allChannels: index.getChannelsWithUpsertedChannel(state.allChannels, channel)
624
- });
625
- }
626
- const nextChannel = (channel === null || channel === void 0 ? void 0 : channel.url) === ((_state$currentChannel7 = state.currentChannel) === null || _state$currentChannel7 === void 0 ? void 0 : _state$currentChannel7.url) ? state.allChannels[state.allChannels[0].url === (channel === null || channel === void 0 ? void 0 : channel.url) ? 1 : 0]
627
- // if coming channel is first of channel list, current channel will be the next one
628
- : state.currentChannel;
629
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
630
- allChannels: state.allChannels.filter(_ref8 => {
631
- let {
632
- url
633
- } = _ref8;
634
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
635
- }),
636
- currentChannel: state.disableAutoSelect ? null : nextChannel
637
- });
638
- }
639
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
640
- allChannels: state.allChannels.map(ch => {
641
- if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
642
- // eslint-disable-next-line no-param-reassign
643
- ch.isFrozen = false;
644
- return ch;
645
- }
646
- return ch;
647
- })
648
- });
649
- }
650
- case CHANNEL_REPLACED_TO_TOP:
651
- {
652
- if (state.channelListQuery) {
653
- if (index.filterChannelListParams(state.channelListQuery, action.payload, state.currentUserId)) {
654
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
655
- allChannels: [action.payload, ...state.allChannels.filter(channel => (channel === null || channel === void 0 ? void 0 : channel.url) !== action.payload.url)]
656
- });
657
- }
658
- return state;
659
- }
660
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
661
- allChannels: [action.payload, ...state.allChannels.filter(channel => (channel === null || channel === void 0 ? void 0 : channel.url) !== action.payload.url)]
662
- });
663
- }
664
- case CHANNEL_LIST_PARAMS_UPDATED:
665
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
666
- currentUserId: action.payload.currentUserId,
667
- channelListQuery: action.payload.channelListQuery
668
- });
669
- default:
670
- return state;
671
- }
672
- }
673
-
674
- function useActiveChannelUrl(_ref, _ref2) {
675
- let {
676
- activeChannelUrl,
677
- channels,
678
- sdk
679
- } = _ref;
680
- let {
681
- logger,
682
- channelListDispatcher
683
- } = _ref2;
684
- return React.useEffect(() => {
685
- if (activeChannelUrl) {
686
- logger.info('ChannelListProvider: looking for active channel', {
687
- activeChannelUrl
688
- });
689
- const activeChannel = channels === null || channels === void 0 ? void 0 : channels.find(channel => channel.url === activeChannelUrl);
690
- if (activeChannel) {
691
- channelListDispatcher({
692
- type: SET_CURRENT_CHANNEL,
693
- payload: activeChannel
694
- });
695
- } else {
696
- var _sdk$groupChannel;
697
- logger.info('ChannelListProvider: searching backend for active channel', {
698
- activeChannelUrl
699
- });
700
- sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.getChannel(activeChannelUrl).then(channel => {
701
- channelListDispatcher({
702
- type: FETCH_CHANNELS_SUCCESS,
703
- payload: [channel]
704
- });
705
- channelListDispatcher({
706
- type: SET_CURRENT_CHANNEL,
707
- payload: channel
708
- });
709
- }).catch(() => {
710
- logger.warning('ChannelListProvider: Active channel not found');
711
- });
712
- }
713
- }
714
- }, [activeChannelUrl]);
715
- }
716
-
717
- const useFetchChannelList = (_ref, _ref2) => {
718
- let {
719
- channelSource,
720
- disableMarkAsDelivered
721
- } = _ref;
722
- let {
723
- channelListDispatcher,
724
- logger,
725
- markAsDeliveredScheduler
726
- } = _ref2;
727
- return React.useCallback(async () => {
728
- if (!(channelSource !== null && channelSource !== void 0 && channelSource.hasNext)) {
729
- logger.info('ChannelList: not able to fetch');
730
- return;
731
- }
732
- logger.info('ChannelList: starting fetch');
733
- channelListDispatcher({
734
- type: FETCH_CHANNELS_START,
735
- payload: null
736
- });
737
- try {
738
- const channelList = await channelSource.next();
739
- logger.info('ChannelList: succeeded fetch', {
740
- channelList
741
- });
742
- channelListDispatcher({
743
- type: FETCH_CHANNELS_SUCCESS,
744
- payload: channelList
745
- });
746
- if (!disableMarkAsDelivered) {
747
- logger.info('ChannelList: mark as delivered to fetched channels');
748
- // eslint-disable-next-line no-unused-expressions
749
- channelList === null || channelList === void 0 ? void 0 : channelList.forEach(channel => {
750
- if ((channel === null || channel === void 0 ? void 0 : channel.unreadMessageCount) > 0) {
751
- markAsDeliveredScheduler.push(channel);
752
- }
753
- });
754
- }
755
- } catch (error) {
756
- logger.error('ChannelList: failed fetch', {
757
- error
758
- });
759
- channelListDispatcher({
760
- type: FETCH_CHANNELS_FAILURE,
761
- payload: error
762
- });
763
- }
764
- }, [channelSource, disableMarkAsDelivered]);
765
- };
766
-
767
- const ChannelListContext = /*#__PURE__*/React__default["default"].createContext({
768
- disableUserProfile: true,
769
- allowProfileEdit: true,
770
- onBeforeCreateChannel: null,
771
- onThemeChange: null,
772
- onProfileEditSuccess: null,
773
- onChannelSelect: null,
774
- queries: {},
775
- className: null,
776
- initialized: false,
777
- loading: false,
778
- allChannels: [],
779
- currentChannel: null,
780
- channelListQuery: {},
781
- currentUserId: null,
782
- channelListDispatcher: null,
783
- channelSource: null,
784
- typingChannels: []
785
- });
786
- const ChannelListProvider = props => {
787
- var _sdk$appInfo, _sdk$currentUser;
788
- // destruct props
789
- const {
790
- children,
791
- className,
792
- disableUserProfile,
793
- allowProfileEdit,
794
- queries,
795
- onProfileEditSuccess,
796
- onThemeChange,
797
- onBeforeCreateChannel,
798
- sortChannelList,
799
- overrideInviteUser,
800
- activeChannelUrl,
801
- isTypingIndicatorEnabled = null,
802
- isMessageReceiptStatusEnabled = null
803
- } = props;
804
- // disable autoselect, if activeChannelUrl is provided
805
- // useActiveChannelUrl should be executed when activeChannelUrl is present
806
- const disableAutoSelect = (props === null || props === void 0 ? void 0 : props.disableAutoSelect) || !!activeChannelUrl;
807
- const onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || utils.noop;
808
- // fetch store from <SendbirdProvider />
809
- const globalStore = useSendbirdStateContext();
810
- const {
811
- config,
812
- stores
813
- } = globalStore;
814
- const {
815
- sdkStore
816
- } = stores;
817
- const {
818
- pubSub,
819
- logger,
820
- onUserProfileMessage
821
- } = config;
822
- const {
823
- markAsDeliveredScheduler,
824
- disableMarkAsDelivered = false,
825
- isTypingIndicatorEnabledOnChannelList = false,
826
- isMessageReceiptStatusEnabledOnChannelList = false
827
- } = config;
828
- const sdk = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk;
829
- const {
830
- premiumFeatureList = []
831
- } = (_sdk$appInfo = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) !== null && _sdk$appInfo !== void 0 ? _sdk$appInfo : {};
832
-
833
- // derive some variables
834
- // enable if it is true atleast once(both are flase by default)
835
- const userDefinedDisableUserProfile = disableUserProfile || (config === null || config === void 0 ? void 0 : config.disableUserProfile);
836
- const userDefinedRenderProfile = config === null || config === void 0 ? void 0 : config.renderUserProfile;
837
- const enableEditProfile = allowProfileEdit || (config === null || config === void 0 ? void 0 : config.allowProfileEdit);
838
- const userFilledChannelListQuery = queries === null || queries === void 0 ? void 0 : queries.channelListQuery;
839
- const userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
840
- const sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
841
- const [channelListStore, channelListDispatcher] = React.useReducer(reducer, channelListInitialState);
842
- const {
843
- currentChannel
844
- } = channelListStore;
845
- const [channelSource, setChannelSource] = React.useState(null);
846
- const [typingChannels, setTypingChannels] = React.useState([]);
847
- React.useEffect(() => {
848
- const subscriber = pubSubHandler(pubSub, channelListDispatcher);
849
- return () => {
850
- pubSubHandleRemover(subscriber);
851
- };
852
- }, [sdkIntialized]);
853
- React.useEffect(() => {
854
- const sdkChannelHandlerId = uuid.uuidv4();
855
- if (sdkIntialized) {
856
- logger.info('ChannelList: Setup channelHandlers');
857
- setupChannelList({
858
- sdk,
859
- sdkChannelHandlerId,
860
- channelListDispatcher,
861
- setChannelSource,
862
- onChannelSelect,
863
- userFilledChannelListQuery,
864
- logger,
865
- sortChannelList,
866
- disableAutoSelect,
867
- markAsDeliveredScheduler,
868
- disableMarkAsDelivered
869
- });
870
- } else {
871
- var _sdk$groupChannel;
872
- logger.info('ChannelList: Removing channelHandlers');
873
- // remove previous channelHandlers
874
- if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel = sdk.groupChannel) !== null && _sdk$groupChannel !== void 0 && _sdk$groupChannel.removeGroupChannelHandler) {
875
- sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);
876
- }
877
- // remove channelSource
878
- setChannelSource(null);
879
- // cleanup
880
- channelListDispatcher({
881
- type: RESET_CHANNEL_LIST,
882
- payload: null
883
- });
884
- }
885
- return () => {
886
- var _sdk$groupChannel2;
887
- logger.info('ChannelList: Removing channelHandlers');
888
- if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel2 = sdk.groupChannel) !== null && _sdk$groupChannel2 !== void 0 && _sdk$groupChannel2.removeGroupChannelHandler) {
889
- var _sdk$groupChannel3;
890
- sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel3 = sdk.groupChannel) === null || _sdk$groupChannel3 === void 0 ? void 0 : _sdk$groupChannel3.removeGroupChannelHandler(sdkChannelHandlerId);
891
- }
892
- };
893
- }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);
894
- React.useEffect(() => {
895
- var _sdk$groupChannel4;
896
- let typingHandlerId = '';
897
- if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel4 = sdk.groupChannel) !== null && _sdk$groupChannel4 !== void 0 && _sdk$groupChannel4.addGroupChannelHandler) {
898
- var _sdk$groupChannel5;
899
- typingHandlerId = uuid.uuidv4();
900
- const handler = new groupChannel.GroupChannelHandler({
901
- onTypingStatusUpdated: channel => {
902
- var _channel$getTypingUse;
903
- const typingMemberCount = channel === null || channel === void 0 ? void 0 : (_channel$getTypingUse = channel.getTypingUsers()) === null || _channel$getTypingUse === void 0 ? void 0 : _channel$getTypingUse.length;
904
- const channelList = typingChannels.filter(ch => ch.url !== channel.url);
905
- if (typingMemberCount > 0) {
906
- setTypingChannels([...channelList, channel]);
907
- } else {
908
- setTypingChannels(channelList);
909
- }
910
- },
911
- onUnreadMemberStatusUpdated(channel) {
912
- channelListDispatcher({
913
- type: ON_LAST_MESSAGE_UPDATED,
914
- payload: channel
915
- });
916
- },
917
- onUndeliveredMemberStatusUpdated(channel) {
918
- channelListDispatcher({
919
- type: ON_LAST_MESSAGE_UPDATED,
920
- payload: channel
921
- });
922
- },
923
- onMessageUpdated(channel) {
924
- channelListDispatcher({
925
- type: ON_LAST_MESSAGE_UPDATED,
926
- payload: channel
927
- });
928
- sdk.groupChannel.getChannelWithoutCache(channel.url).then(ch => {
929
- channelListDispatcher({
930
- type: ON_LAST_MESSAGE_UPDATED,
931
- payload: ch
932
- });
933
- });
934
- },
935
- onMentionReceived(channel) {
936
- channelListDispatcher({
937
- type: ON_LAST_MESSAGE_UPDATED,
938
- payload: channel
939
- });
940
- sdk.groupChannel.getChannelWithoutCache(channel.url).then(ch => {
941
- channelListDispatcher({
942
- type: ON_LAST_MESSAGE_UPDATED,
943
- payload: ch
944
- });
945
- });
946
- }
947
- });
948
- sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel5 = sdk.groupChannel) === null || _sdk$groupChannel5 === void 0 ? void 0 : _sdk$groupChannel5.addGroupChannelHandler(typingHandlerId, handler);
949
- }
950
- return () => {
951
- var _sdk$groupChannel6;
952
- if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel6 = sdk.groupChannel) !== null && _sdk$groupChannel6 !== void 0 && _sdk$groupChannel6.removeGroupChannelHandler && typingHandlerId !== '') {
953
- sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);
954
- }
955
- };
956
- }, [sdk === null || sdk === void 0 ? void 0 : (_sdk$currentUser = sdk.currentUser) === null || _sdk$currentUser === void 0 ? void 0 : _sdk$currentUser.userId]);
957
- const queries_ = React.useMemo(() => {
958
- return {
959
- applicationUserListQuery: userFilledApplicationUserListQuery,
960
- channelListQuery: userFilledChannelListQuery
961
- };
962
- }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);
963
- const {
964
- allChannels
965
- } = channelListStore;
966
- const sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;
967
- if (sortedChannels.length !== allChannels.length) {
968
- const warning = `ChannelList: You have removed/added extra channels on sortChannelList
969
- this could cause unexpected problems`;
970
- // eslint-disable-next-line no-console
971
- console.warn(warning, {
972
- before: allChannels,
973
- after: sortedChannels
974
- });
975
- logger.warning(warning, {
976
- before: allChannels,
977
- after: sortedChannels
978
- });
979
- }
980
-
981
- // Set current channel (by on_channel_selected event)
982
- React.useEffect(() => {
983
- if (!sdk || !sdk.groupChannel || !currentChannel || !(currentChannel !== null && currentChannel !== void 0 && currentChannel.url)) {
984
- return;
985
- }
986
- sdk.groupChannel.getChannel(currentChannel.url).then(groupChannel => {
987
- if (groupChannel) {
988
- onChannelSelect(groupChannel);
989
- } else {
990
- onChannelSelect(null);
991
- }
992
- });
993
- }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
994
-
995
- // Set active channel (by url)
996
- useActiveChannelUrl({
997
- activeChannelUrl,
998
- channels: sortedChannels,
999
- sdk
1000
- }, {
1001
- logger,
1002
- channelListDispatcher
1003
- });
1004
- const fetchChannelList = useFetchChannelList({
1005
- channelSource,
1006
- disableMarkAsDelivered: disableMarkAsDelivered || !premiumFeatureList.some(feature => feature === consts.DELIVERY_RECEIPT)
1007
- }, {
1008
- channelListDispatcher,
1009
- logger,
1010
- markAsDeliveredScheduler
1011
- });
1012
- return /*#__PURE__*/React__default["default"].createElement(ChannelListContext.Provider, {
1013
- value: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
1014
- className,
1015
- disableUserProfile,
1016
- queries: queries_,
1017
- onProfileEditSuccess,
1018
- onThemeChange,
1019
- onBeforeCreateChannel,
1020
- overrideInviteUser,
1021
- onChannelSelect,
1022
- sortChannelList,
1023
- allowProfileEdit: enableEditProfile,
1024
- channelListDispatcher,
1025
- channelSource
1026
- }, channelListStore), {}, {
1027
- allChannels: sortedChannels,
1028
- typingChannels,
1029
- isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,
1030
- isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,
1031
- fetchChannelList
1032
- })
1033
- }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
1034
- disableUserProfile: userDefinedDisableUserProfile !== null && userDefinedDisableUserProfile !== void 0 ? userDefinedDisableUserProfile : config === null || config === void 0 ? void 0 : config.disableUserProfile,
1035
- renderUserProfile: userDefinedRenderProfile,
1036
- onUserProfileMessage: onUserProfileMessage
1037
- }, /*#__PURE__*/React__default["default"].createElement("div", {
1038
- className: `sendbird-channel-list ${className}`
1039
- }, children)));
1040
- };
1041
- function useChannelListContext() {
1042
- const context = React.useContext(ChannelListContext);
1043
- return context;
1044
- }
1045
-
1046
- exports.ChannelListProvider = ChannelListProvider;
1047
- exports.LEAVE_CHANNEL_SUCCESS = LEAVE_CHANNEL_SUCCESS;
1048
- exports.SET_CURRENT_CHANNEL = SET_CURRENT_CHANNEL;
1049
- exports.useChannelListContext = useChannelListContext;
1050
- //# sourceMappingURL=ChannelListProvider-bb62fccb.js.map