@sendbird/uikit-react 3.6.11-beta.2 → 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 +38 -35
  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-a2fad282.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-2463058b.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-593867cb.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-a0a09f0b.js → OpenChannelListProvider-24e735a1.js} +156 -178
  132. package/{OpenChannelListProvider-a0a09f0b.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
  133. package/OpenChannelProvider-e9cb0f98.js +1850 -0
  134. package/{OpenChannelProvider-3e4b8c8e.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-f9386235.js → WebAudioUtils-dbb010a5.js} +38 -38
  184. package/{WebAudioUtils-f9386235.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
  185. package/{_rollupPluginBabelHelpers-50c9576f.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
  186. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
  187. package/{actionTypes-501b8c11.js → actionTypes-3cd49b5c.js} +2 -2
  188. package/{actionTypes-501b8c11.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 +38 -35
  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-8b8a557c.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-482c1343.js → LocalizationContext-5009012e.js} +9 -9
  280. package/cjs/{LocalizationContext-482c1343.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-26b8de48.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-2e3ee48d.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
  320. package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
  321. package/cjs/{OpenChannelProvider-8577ea58.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-142344fd.js → WebAudioUtils-29717597.js} +38 -38
  370. package/cjs/{WebAudioUtils-142344fd.js.map → WebAudioUtils-29717597.js.map} +1 -1
  371. package/cjs/{_rollupPluginBabelHelpers-83d7e84b.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
  372. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
  373. package/cjs/{actionTypes-1d118952.js → actionTypes-7fa02f94.js} +2 -2
  374. package/cjs/{actionTypes-1d118952.js.map → actionTypes-7fa02f94.js.map} +1 -1
  375. package/cjs/{color-d83b77ac.js → color-477ddbd4.js} +12 -13
  376. package/cjs/color-477ddbd4.js.map +1 -0
  377. package/cjs/{compareIds-bef997cb.js → compareIds-de541666.js} +7 -6
  378. package/cjs/compareIds-de541666.js.map +1 -0
  379. package/cjs/{const-1726bde0.js → const-640252c1.js} +4 -4
  380. package/cjs/{const-1726bde0.js.map → const-640252c1.js.map} +1 -1
  381. package/cjs/const-9def5c09.js +19 -0
  382. package/cjs/{const-67ff9e34.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-bf228385.js.map → consts-85cd42fa.js.map} +1 -1
  387. package/cjs/{consts-fb07c671.js → consts-95462b21.js} +18 -25
  388. package/cjs/{consts-fb07c671.js.map → consts-95462b21.js.map} +1 -1
  389. package/cjs/consts-a3b7ae99.js +6 -0
  390. package/cjs/{consts-d3b53f23.js.map → consts-a3b7ae99.js.map} +1 -1
  391. package/cjs/{context-bd2878ff.js → context-9814fafe.js} +5 -6
  392. package/cjs/{context-bd2878ff.js.map → context-9814fafe.js.map} +1 -1
  393. package/cjs/dist/index.css +110 -95
  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-81baccd0.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-1f6b30ea.js.map → index-0ec5a831.js.map} +1 -1
  403. package/cjs/{index-18720f0d.js → index-35820a94.js} +2 -2
  404. package/cjs/{index-18720f0d.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-857630c5.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-6ab9a40d.js.map → index-80a11b6a.js.map} +1 -1
  413. package/cjs/{index-4eb7e2b5.js → index-826b76d5.js} +2 -4
  414. package/cjs/index-826b76d5.js.map +1 -0
  415. package/cjs/{index-11f9cc0f.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-c9b003b3.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-759f2a26.js → index-bdf7089c.js} +72 -80
  424. package/cjs/{index-759f2a26.js.map → index-bdf7089c.js.map} +1 -1
  425. package/cjs/{index-7c374c20.js → index-c22e0cbf.js} +25 -28
  426. package/cjs/{index-7c374c20.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-2ab19f9b.js.map → index-e81e2882.js.map} +1 -1
  431. package/cjs/{index-91b4af96.js → index-ee3bf381.js} +39 -37
  432. package/cjs/{index-91b4af96.js.map → index-ee3bf381.js.map} +1 -1
  433. package/cjs/{index-d04f312e.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-adde627b.js → pubSub/topics.js} +6 -2
  440. package/cjs/pubSub/topics.js.map +1 -0
  441. package/cjs/{resolvedReplyType-85b4bd7c.js → resolvedReplyType-c20ef661.js} +1 -1
  442. package/cjs/{resolvedReplyType-85b4bd7c.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
  443. package/cjs/sendbirdSelectors.js +381 -332
  444. package/cjs/sendbirdSelectors.js.map +1 -1
  445. package/cjs/stringFormatterUtils-e324636c.js +16 -0
  446. package/cjs/{stringFormatterUtils-8d6592ca.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
  447. package/cjs/{stringSet-d00535a5.js → stringSet-98b52c49.js} +9 -2
  448. package/cjs/stringSet-98b52c49.js.map +1 -0
  449. package/cjs/{tokenize-9296fc47.js → tokenize-91bdbeb0.js} +56 -61
  450. package/cjs/{tokenize-9296fc47.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-b2fc56e5.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-991911af.js → utils-46483130.js} +3 -3
  600. package/cjs/{utils-991911af.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-b2806cf5.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-b7f211a8.js → color-1383d4ab.js} +5 -5
  612. package/{color-b7f211a8.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-74ec9eb4.js → const-4bc3721f.js} +4 -4
  616. package/{const-74ec9eb4.js.map → const-4bc3721f.js.map} +1 -1
  617. package/const-e3326913.js +13 -0
  618. package/{const-711048c3.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-6ee24012.js.map → consts-833420ed.js.map} +1 -1
  623. package/consts-aa64aca8.js +30 -0
  624. package/{consts-691a3935.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-b4c70964.js.map → context-ae47ac54.js.map} +1 -1
  629. package/dist/index.css +110 -95
  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-aa520474.js → index-12103973.js} +2 -2
  636. package/{index-aa520474.js.map → index-12103973.js.map} +1 -1
  637. package/index-124a5766.js +298 -0
  638. package/{index-e15f6b6a.js.map → index-124a5766.js.map} +1 -1
  639. package/{index-13401b87.js → index-1432c287.js} +2 -4
  640. package/index-1432c287.js.map +1 -0
  641. package/{index-b22c4150.js → index-1969ccd8.js} +25 -28
  642. package/{index-b22c4150.js.map → index-1969ccd8.js.map} +1 -1
  643. package/index-3d508585.js +53 -0
  644. package/{index-ae7ef8cf.js.map → index-3d508585.js.map} +1 -1
  645. package/{index-8a01c364.js → index-40447645.js} +73 -81
  646. package/{index-8a01c364.js.map → index-40447645.js.map} +1 -1
  647. package/{index-c421b228.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-98138798.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-daa3ae67.js → index-c81fd6ec.js} +56 -193
  660. package/index-c81fd6ec.js.map +1 -0
  661. package/{index-7700a436.js → index-d3f61405.js} +10 -30
  662. package/index-d3f61405.js.map +1 -0
  663. package/{index-5cb32ab5.js → index-dc1827ea.js} +3 -12
  664. package/index-dc1827ea.js.map +1 -0
  665. package/{index-3530f4f6.js → index-ec0c048b.js} +39 -37
  666. package/{index-3530f4f6.js.map → index-ec0c048b.js.map} +1 -1
  667. package/{index-b25ffa7e.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-5659403d.js → pubSub/topics.js} +4 -3
  677. package/pubSub/topics.js.map +1 -0
  678. package/{resolvedReplyType-1a128514.js → resolvedReplyType-0532593c.js} +1 -1
  679. package/{resolvedReplyType-1a128514.js.map → resolvedReplyType-0532593c.js.map} +1 -1
  680. package/sendbirdSelectors.js +381 -332
  681. package/sendbirdSelectors.js.map +1 -1
  682. package/stringFormatterUtils-444f6f4c.js +14 -0
  683. package/{stringFormatterUtils-dbad592d.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
  684. package/{stringSet-2814bf17.js → stringSet-1106c8ec.js} +9 -2
  685. package/stringSet-1106c8ec.js.map +1 -0
  686. package/{tokenize-4b153552.js → tokenize-d17bf862.js} +56 -61
  687. package/{tokenize-4b153552.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-406a6c9c.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-7cc92ac2.js → utils-158c1683.js} +3 -3
  833. package/{utils-7cc92ac2.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-16373bba.js.map → uuid-3c77ef7b.js.map} +1 -1
  846. package/withSendbird.js +16 -22
  847. package/withSendbird.js.map +1 -1
  848. package/ChannelListProvider-1188e373.js +0 -1028
  849. package/ChannelListProvider-1188e373.js.map +0 -1
  850. package/ChannelProvider-9de00431.js +0 -1933
  851. package/ChannelProvider-9de00431.js.map +0 -1
  852. package/CreateChannelProvider-a2fad282.js +0 -44
  853. package/LocalizationContext-2463058b.js +0 -20
  854. package/MediaQueryContext-e3429d12.js +0 -87
  855. package/MediaQueryContext-e3429d12.js.map +0 -1
  856. package/MemberList-593867cb.js +0 -404
  857. package/OpenChannelProvider-3e4b8c8e.js +0 -1890
  858. package/RemoveMessageModal-9162aebe.js +0 -38
  859. package/RemoveMessageModal-9162aebe.js.map +0 -1
  860. package/ThreadProvider-9a3b145f.js +0 -1778
  861. package/ThreadProvider-9a3b145f.js.map +0 -1
  862. package/UserProfileContext-4ae968eb.js +0 -41
  863. package/UserProfileContext-4ae968eb.js.map +0 -1
  864. package/_rollupPluginBabelHelpers-50c9576f.js.map +0 -1
  865. package/cjs/ChannelListProvider-e55e6242.js +0 -1037
  866. package/cjs/ChannelListProvider-e55e6242.js.map +0 -1
  867. package/cjs/ChannelProvider-6fa73019.js +0 -1941
  868. package/cjs/ChannelProvider-6fa73019.js.map +0 -1
  869. package/cjs/CreateChannelProvider-8b8a557c.js +0 -52
  870. package/cjs/MediaQueryContext-73aac8cf.js +0 -94
  871. package/cjs/MediaQueryContext-73aac8cf.js.map +0 -1
  872. package/cjs/MemberList-26b8de48.js +0 -410
  873. package/cjs/OpenChannelListProvider-2e3ee48d.js +0 -439
  874. package/cjs/OpenChannelProvider-8577ea58.js +0 -1899
  875. package/cjs/RemoveMessageModal-dfeeb36a.js +0 -44
  876. package/cjs/RemoveMessageModal-dfeeb36a.js.map +0 -1
  877. package/cjs/ThreadProvider-8b0cf491.js +0 -1787
  878. package/cjs/ThreadProvider-8b0cf491.js.map +0 -1
  879. package/cjs/UserProfileContext-fa8d0383.js +0 -49
  880. package/cjs/UserProfileContext-fa8d0383.js.map +0 -1
  881. package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +0 -1
  882. package/cjs/color-d83b77ac.js.map +0 -1
  883. package/cjs/compareIds-bef997cb.js.map +0 -1
  884. package/cjs/const-67ff9e34.js +0 -20
  885. package/cjs/consts-b018b1ed.js +0 -6
  886. package/cjs/consts-b018b1ed.js.map +0 -1
  887. package/cjs/consts-bf228385.js +0 -6
  888. package/cjs/consts-d3b53f23.js +0 -6
  889. package/cjs/index-11f9cc0f.js.map +0 -1
  890. package/cjs/index-1a9fdbb4.js +0 -368
  891. package/cjs/index-1a9fdbb4.js.map +0 -1
  892. package/cjs/index-1f6b30ea.js +0 -330
  893. package/cjs/index-2ab19f9b.js +0 -57
  894. package/cjs/index-4b5a006d.js +0 -139
  895. package/cjs/index-4b5a006d.js.map +0 -1
  896. package/cjs/index-4eb7e2b5.js.map +0 -1
  897. package/cjs/index-56a25735.js +0 -171
  898. package/cjs/index-56a25735.js.map +0 -1
  899. package/cjs/index-6ab9a40d.js +0 -202
  900. package/cjs/index-7f41c4b6.js +0 -118
  901. package/cjs/index-7f41c4b6.js.map +0 -1
  902. package/cjs/index-81baccd0.js.map +0 -1
  903. package/cjs/index-857630c5.js.map +0 -1
  904. package/cjs/index-8ec12d1d.js +0 -164
  905. package/cjs/index-8ec12d1d.js.map +0 -1
  906. package/cjs/index-c9b003b3.js.map +0 -1
  907. package/cjs/index-cbcacbee.js +0 -9
  908. package/cjs/index-cbcacbee.js.map +0 -1
  909. package/cjs/index-d04f312e.js.map +0 -1
  910. package/cjs/index-e9ac5ae1.js +0 -58
  911. package/cjs/index-e9ac5ae1.js.map +0 -1
  912. package/cjs/index-fbe9cc73.js +0 -647
  913. package/cjs/index-fbe9cc73.js.map +0 -1
  914. package/cjs/index.module-a24e9cd7.js +0 -6
  915. package/cjs/index.module-a24e9cd7.js.map +0 -1
  916. package/cjs/stringFormatterUtils-8d6592ca.js +0 -16
  917. package/cjs/stringSet-d00535a5.js.map +0 -1
  918. package/cjs/topics-adde627b.js.map +0 -1
  919. package/cjs/types-0b5148cb.js +0 -17
  920. package/cjs/types-0b5148cb.js.map +0 -1
  921. package/cjs/useHandleUploadFiles-b2fc56e5.js.map +0 -1
  922. package/cjs/useLongPress-1c0f4696.js +0 -87
  923. package/cjs/useLongPress-1c0f4696.js.map +0 -1
  924. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js +0 -109
  925. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js.map +0 -1
  926. package/cjs/utils-418b4438.js +0 -62
  927. package/cjs/utils-418b4438.js.map +0 -1
  928. package/cjs/utils-5bfb4516.js +0 -35
  929. package/cjs/utils-5bfb4516.js.map +0 -1
  930. package/cjs/utils-68aa6bf6.js +0 -345
  931. package/cjs/utils-68aa6bf6.js.map +0 -1
  932. package/cjs/utils-b34d4e2c.js +0 -31
  933. package/cjs/utils-b34d4e2c.js.map +0 -1
  934. package/cjs/utils-c47c68b1.js +0 -6
  935. package/cjs/utils-c47c68b1.js.map +0 -1
  936. package/cjs/uuid-b2806cf5.js +0 -15
  937. package/compareIds-8ed6e36a.js +0 -15
  938. package/compareIds-8ed6e36a.js.map +0 -1
  939. package/const-711048c3.js +0 -13
  940. package/consts-675764c9.js +0 -4
  941. package/consts-675764c9.js.map +0 -1
  942. package/consts-691a3935.js +0 -37
  943. package/consts-6ee24012.js +0 -4
  944. package/consts-eb77e905.js +0 -4
  945. package/consts-eb77e905.js.map +0 -1
  946. package/context-b4c70964.js +0 -13
  947. package/index-128523eb.js +0 -110
  948. package/index-128523eb.js.map +0 -1
  949. package/index-13401b87.js.map +0 -1
  950. package/index-5cb32ab5.js.map +0 -1
  951. package/index-5d6a0f12.js +0 -598
  952. package/index-5d6a0f12.js.map +0 -1
  953. package/index-60a7bf91.js +0 -164
  954. package/index-60a7bf91.js.map +0 -1
  955. package/index-7700a436.js.map +0 -1
  956. package/index-7946293f.js +0 -152
  957. package/index-7946293f.js.map +0 -1
  958. package/index-7b7478f5.js +0 -132
  959. package/index-7b7478f5.js.map +0 -1
  960. package/index-82178c6a.js +0 -361
  961. package/index-82178c6a.js.map +0 -1
  962. package/index-98138798.js +0 -187
  963. package/index-98887e8d.js +0 -7
  964. package/index-98887e8d.js.map +0 -1
  965. package/index-ae7ef8cf.js +0 -51
  966. package/index-b25ffa7e.js.map +0 -1
  967. package/index-c421b228.js.map +0 -1
  968. package/index-d99155f7.js +0 -51
  969. package/index-d99155f7.js.map +0 -1
  970. package/index-daa3ae67.js.map +0 -1
  971. package/index-e15f6b6a.js +0 -320
  972. package/index.module-60af77d3.js +0 -4
  973. package/index.module-60af77d3.js.map +0 -1
  974. package/stringFormatterUtils-dbad592d.js +0 -14
  975. package/stringSet-2814bf17.js.map +0 -1
  976. package/topics-5659403d.js.map +0 -1
  977. package/types-89092633.js +0 -15
  978. package/types-89092633.js.map +0 -1
  979. package/useHandleUploadFiles-406a6c9c.js.map +0 -1
  980. package/useLongPress-5e1ad951.js +0 -85
  981. package/useLongPress-5e1ad951.js.map +0 -1
  982. package/useSendMultipleFilesMessage-a3a2c84b.js +0 -107
  983. package/useSendMultipleFilesMessage-a3a2c84b.js.map +0 -1
  984. package/utils-0c22998a.js +0 -306
  985. package/utils-0c22998a.js.map +0 -1
  986. package/utils-407da489.js +0 -4
  987. package/utils-407da489.js.map +0 -1
  988. package/utils-b97d5113.js +0 -57
  989. package/utils-b97d5113.js.map +0 -1
  990. package/utils-cae84d8a.js +0 -29
  991. package/utils-cae84d8a.js.map +0 -1
  992. package/utils-ebf008e2.js +0 -31
  993. package/utils-ebf008e2.js.map +0 -1
  994. package/uuid-16373bba.js +0 -13
@@ -2,30 +2,1689 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('react');
6
- var Thread_context = require('../ThreadProvider-8b0cf491.js');
7
- require('../UserProfileContext-fa8d0383.js');
8
- require('../useSendbirdStateContext.js');
9
- require('../useSendMultipleFilesMessage-81cdc9d0.js');
10
- require('../index-c9b003b3.js');
11
- require('../index-d04f312e.js');
5
+ var React = require('react');
6
+ var useSendMultipleFilesMessage = require('../useSendMultipleFilesMessage-87e0ffa3.js');
7
+ var UserProfileContext = require('../UserProfileContext-922a43ec.js');
8
+ var useSendbirdStateContext = require('../useSendbirdStateContext.js');
9
+ var tslib_es6 = require('../tslib.es6-2f2b0bca.js');
10
+ var Thread_context_types = require('./context/types.js');
11
+ var SendbirdChat = require('@sendbird/chat');
12
+ var pubSub_topics = require('../pubSub/topics.js');
13
+ require('../index-b995f638.js');
14
+ var message = require('@sendbird/chat/message');
15
+ var groupChannel = require('@sendbird/chat/groupChannel');
16
+ var uuid = require('../uuid-c74bbbb6.js');
17
+ var consts = require('../consts-95462b21.js');
18
+ require('../utils-55fc6797.js');
19
+ require('../index-b6d51e74.js');
20
+ require('../index-fd8a0abb.js');
12
21
  require('../utils/message/getOutgoingMessageState.js');
13
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
14
- require('./context/types.js');
15
- require('@sendbird/chat');
16
- require('../topics-adde627b.js');
17
- require('../index-fbe9cc73.js');
18
- require('../index.module-a24e9cd7.js');
19
- require('@sendbird/chat/groupChannel');
20
- require('../uuid-b2806cf5.js');
21
- require('@sendbird/chat/message');
22
- require('../consts-fb07c671.js');
23
- require('prop-types');
24
22
  require('../withSendbird.js');
25
- require('../utils-68aa6bf6.js');
23
+ require('../index-609b07a2.js');
26
24
 
25
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
26
 
27
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
 
29
- exports.ThreadProvider = Thread_context.ThreadProvider;
30
- exports.useThreadContext = Thread_context.useThreadContext;
29
+ var PREV_THREADS_FETCH_SIZE = 30;
30
+ var NEXT_THREADS_FETCH_SIZE = 30;
31
+
32
+ var ThreadContextActionTypes;
33
+ (function (ThreadContextActionTypes) {
34
+ // initialize
35
+ ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
36
+ // channel
37
+ ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
38
+ ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
39
+ ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
40
+ // emojis
41
+ ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
42
+ // parent message
43
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
44
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
45
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
46
+ // fetch threads
47
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
48
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
49
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
50
+ ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
51
+ ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
52
+ ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
53
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
54
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
55
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
56
+ // handle messages
57
+ ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
58
+ ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
59
+ ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
60
+ ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
61
+ ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
62
+ // event handlers - message status change
63
+ ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
64
+ ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
65
+ ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
66
+ ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
67
+ ThreadContextActionTypes["ON_FILE_INFO_UPLOADED"] = "ON_FILE_INFO_UPLOADED";
68
+ // event handlers - user status change
69
+ ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
70
+ ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
71
+ ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
72
+ ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
73
+ ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
74
+ // event handler - channel status change
75
+ ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
76
+ ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
77
+ ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
78
+ })(ThreadContextActionTypes || (ThreadContextActionTypes = {}));
79
+
80
+ function reducer(state, action) {
81
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
82
+ switch (action.type) {
83
+ // initialize
84
+ case ThreadContextActionTypes.INIT_USER_ID:
85
+ {
86
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
87
+ currentUserId: action.payload
88
+ });
89
+ }
90
+ case ThreadContextActionTypes.GET_CHANNEL_START:
91
+ {
92
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
93
+ channelState: Thread_context_types.ChannelStateTypes.LOADING,
94
+ currentChannel: null
95
+ });
96
+ }
97
+ case ThreadContextActionTypes.GET_CHANNEL_SUCCESS:
98
+ {
99
+ var groupChannel = action.payload.groupChannel;
100
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
101
+ channelState: Thread_context_types.ChannelStateTypes.INITIALIZED,
102
+ currentChannel: groupChannel,
103
+ // only support in normal group channel
104
+ isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) {
105
+ return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId;
106
+ })) === null || _b === void 0 ? void 0 : _b.isMuted) || false,
107
+ isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false
108
+ });
109
+ }
110
+ case ThreadContextActionTypes.GET_CHANNEL_FAILURE:
111
+ {
112
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
113
+ channelState: Thread_context_types.ChannelStateTypes.INVALID,
114
+ currentChannel: null
115
+ });
116
+ }
117
+ case ThreadContextActionTypes.SET_EMOJI_CONTAINER:
118
+ {
119
+ var emojiContainer = action.payload.emojiContainer;
120
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
121
+ emojiContainer: emojiContainer
122
+ });
123
+ }
124
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_START:
125
+ {
126
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
127
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING,
128
+ parentMessage: null
129
+ });
130
+ }
131
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS:
132
+ {
133
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
134
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED,
135
+ parentMessage: action.payload.parentMessage
136
+ });
137
+ }
138
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE:
139
+ {
140
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
141
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID,
142
+ parentMessage: null
143
+ });
144
+ }
145
+ // fetch threads
146
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START:
147
+ {
148
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
149
+ threadListState: Thread_context_types.ThreadListStateTypes.LOADING,
150
+ allThreadMessages: []
151
+ });
152
+ }
153
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS:
154
+ {
155
+ var _y = action.payload,
156
+ parentMessage = _y.parentMessage,
157
+ anchorMessage = _y.anchorMessage,
158
+ threadedMessages = _y.threadedMessages;
159
+ var anchorMessageCreatedAt_1 = !(anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.createdAt : anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt;
160
+ var anchorIndex = threadedMessages.findIndex(function (message) {
161
+ return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1;
162
+ });
163
+ var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
164
+ var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
165
+ var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
166
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
167
+ threadListState: Thread_context_types.ThreadListStateTypes.INITIALIZED,
168
+ hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE,
169
+ hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE,
170
+ allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat()
171
+ });
172
+ }
173
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE:
174
+ {
175
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
176
+ threadListState: Thread_context_types.ThreadListStateTypes.INVALID,
177
+ allThreadMessages: []
178
+ });
179
+ }
180
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_START:
181
+ {
182
+ return tslib_es6.__assign({}, state);
183
+ }
184
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS:
185
+ {
186
+ var threadedMessages = action.payload.threadedMessages;
187
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
188
+ hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE,
189
+ allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages, true), threadedMessages, true)
190
+ });
191
+ }
192
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE:
193
+ {
194
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
195
+ hasMoreNext: false
196
+ });
197
+ }
198
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_START:
199
+ {
200
+ return tslib_es6.__assign({}, state);
201
+ }
202
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS:
203
+ {
204
+ var threadedMessages = action.payload.threadedMessages;
205
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
206
+ hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE,
207
+ allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], threadedMessages, true), state.allThreadMessages, true)
208
+ });
209
+ }
210
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE:
211
+ {
212
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
213
+ hasMorePrev: false
214
+ });
215
+ }
216
+ // event handlers - message status change
217
+ case ThreadContextActionTypes.ON_MESSAGE_RECEIVED:
218
+ {
219
+ var _z = action.payload,
220
+ channel = _z.channel,
221
+ message_1 = _z.message;
222
+ if (((_c = state.currentChannel) === null || _c === void 0 ? void 0 : _c.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.hasMoreNext || ((_d = message_1 === null || message_1 === void 0 ? void 0 : message_1.parentMessage) === null || _d === void 0 ? void 0 : _d.messageId) !== ((_e = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _e === void 0 ? void 0 : _e.messageId)) {
223
+ return state;
224
+ }
225
+ var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) {
226
+ return m.messageId === message_1.messageId;
227
+ }) > -1;
228
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
229
+ parentMessage: ((_f = state.parentMessage) === null || _f === void 0 ? void 0 : _f.messageId) === (message_1 === null || message_1 === void 0 ? void 0 : message_1.messageId) ? message_1 : state.parentMessage,
230
+ allThreadMessages: isAlreadyReceived ? state.allThreadMessages.map(function (m) {
231
+ return m.messageId === message_1.messageId ? message_1 : m;
232
+ }) : tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages.filter(function (m) {
233
+ return (m === null || m === void 0 ? void 0 : m.reqId) !== (message_1 === null || message_1 === void 0 ? void 0 : message_1.reqId);
234
+ }), true), [message_1], false)
235
+ });
236
+ }
237
+ case ThreadContextActionTypes.ON_MESSAGE_UPDATED:
238
+ {
239
+ var _0 = action.payload,
240
+ channel = _0.channel,
241
+ message_2 = _0.message;
242
+ if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
243
+ return state;
244
+ }
245
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
246
+ parentMessage: ((_h = state.parentMessage) === null || _h === void 0 ? void 0 : _h.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId) ? message_2 : state.parentMessage,
247
+ allThreadMessages: (_j = state.allThreadMessages) === null || _j === void 0 ? void 0 : _j.map(function (msg) {
248
+ return (msg === null || msg === void 0 ? void 0 : msg.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId) ? message_2 : msg;
249
+ })
250
+ });
251
+ }
252
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED:
253
+ {
254
+ var _1 = action.payload,
255
+ channel = _1.channel,
256
+ messageId_1 = _1.messageId;
257
+ if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
258
+ return state;
259
+ }
260
+ if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
261
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
262
+ parentMessage: null,
263
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
264
+ allThreadMessages: []
265
+ });
266
+ }
267
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
268
+ allThreadMessages: (_m = state.allThreadMessages) === null || _m === void 0 ? void 0 : _m.filter(function (msg) {
269
+ return (msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1;
270
+ }),
271
+ localThreadMessages: (_o = state.localThreadMessages) === null || _o === void 0 ? void 0 : _o.filter(function (msg) {
272
+ return (msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1;
273
+ })
274
+ });
275
+ }
276
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:
277
+ {
278
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
279
+ localThreadMessages: state.localThreadMessages.filter(function (m) {
280
+ return !useSendMultipleFilesMessage.compareIds(m.reqId, action.payload);
281
+ })
282
+ });
283
+ }
284
+ case ThreadContextActionTypes.ON_REACTION_UPDATED:
285
+ {
286
+ var reactionEvent_1 = (_p = action.payload) === null || _p === void 0 ? void 0 : _p.reactionEvent;
287
+ if (((_q = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _q === void 0 ? void 0 : _q.messageId) === (reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId)) {
288
+ (_s = (_r = state.parentMessage) === null || _r === void 0 ? void 0 : _r.applyReactionEvent) === null || _s === void 0 ? void 0 : _s.call(_r, reactionEvent_1);
289
+ }
290
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
291
+ allThreadMessages: state.allThreadMessages.map(function (m) {
292
+ var _a;
293
+ if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
294
+ (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
295
+ return m;
296
+ }
297
+ return m;
298
+ })
299
+ });
300
+ }
301
+ // event handlers - user status change
302
+ case ThreadContextActionTypes.ON_USER_MUTED:
303
+ {
304
+ var _2 = action.payload,
305
+ channel = _2.channel,
306
+ user = _2.user;
307
+ if (((_t = state.currentChannel) === null || _t === void 0 ? void 0 : _t.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
308
+ return state;
309
+ }
310
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
311
+ isMuted: true
312
+ });
313
+ }
314
+ case ThreadContextActionTypes.ON_USER_UNMUTED:
315
+ {
316
+ var _3 = action.payload,
317
+ channel = _3.channel,
318
+ user = _3.user;
319
+ if (((_u = state.currentChannel) === null || _u === void 0 ? void 0 : _u.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
320
+ return state;
321
+ }
322
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
323
+ isMuted: false
324
+ });
325
+ }
326
+ case ThreadContextActionTypes.ON_USER_BANNED:
327
+ {
328
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
329
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
330
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
331
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
332
+ currentChannel: null,
333
+ parentMessage: null,
334
+ allThreadMessages: [],
335
+ hasMorePrev: false,
336
+ hasMoreNext: false
337
+ });
338
+ }
339
+ case ThreadContextActionTypes.ON_USER_UNBANNED:
340
+ {
341
+ return tslib_es6.__assign({}, state);
342
+ }
343
+ case ThreadContextActionTypes.ON_USER_LEFT:
344
+ {
345
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
346
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
347
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
348
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
349
+ currentChannel: null,
350
+ parentMessage: null,
351
+ allThreadMessages: [],
352
+ hasMorePrev: false,
353
+ hasMoreNext: false
354
+ });
355
+ }
356
+ // event handler - channel status change
357
+ case ThreadContextActionTypes.ON_CHANNEL_FROZEN:
358
+ {
359
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
360
+ isChannelFrozen: true
361
+ });
362
+ }
363
+ case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN:
364
+ {
365
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
366
+ isChannelFrozen: false
367
+ });
368
+ }
369
+ case ThreadContextActionTypes.ON_OPERATOR_UPDATED:
370
+ {
371
+ var channel = action.payload.channel;
372
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_v = state.currentChannel) === null || _v === void 0 ? void 0 : _v.url)) {
373
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
374
+ currentChannel: channel
375
+ });
376
+ }
377
+ return state;
378
+ }
379
+ // message
380
+ case ThreadContextActionTypes.SEND_MESSAGE_START:
381
+ {
382
+ var message = action.payload.message;
383
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
384
+ localThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.localThreadMessages, true), [message], false)
385
+ });
386
+ }
387
+ case ThreadContextActionTypes.SEND_MESSAGE_SUCESS:
388
+ {
389
+ var message_3 = action.payload.message;
390
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
391
+ allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages.filter(function (m) {
392
+ return !useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId);
393
+ }), true), [message_3], false),
394
+ localThreadMessages: state.localThreadMessages.filter(function (m) {
395
+ return !useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId);
396
+ })
397
+ });
398
+ }
399
+ case ThreadContextActionTypes.SEND_MESSAGE_FAILURE:
400
+ {
401
+ var message_4 = action.payload.message;
402
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
403
+ localThreadMessages: state.localThreadMessages.map(function (m) {
404
+ return useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_4 === null || message_4 === void 0 ? void 0 : message_4.reqId) ? message_4 : m;
405
+ })
406
+ });
407
+ }
408
+ case ThreadContextActionTypes.RESEND_MESSAGE_START:
409
+ {
410
+ return tslib_es6.__assign({}, state);
411
+ }
412
+ case ThreadContextActionTypes.ON_FILE_INFO_UPLOADED:
413
+ {
414
+ var _4 = action.payload,
415
+ channelUrl = _4.channelUrl,
416
+ requestId_1 = _4.requestId,
417
+ index = _4.index,
418
+ uploadableFileInfo = _4.uploadableFileInfo,
419
+ error = _4.error;
420
+ if (!useSendMultipleFilesMessage.compareIds(channelUrl, (_w = state.currentChannel) === null || _w === void 0 ? void 0 : _w.url)) {
421
+ return state;
422
+ }
423
+ /**
424
+ * We don't have to do anything here because
425
+ * onFailed() will be called so handle error there instead.
426
+ */
427
+ if (error) return state;
428
+ var localThreadMessages = state.localThreadMessages;
429
+ var messageToUpdate = localThreadMessages.find(function (message) {
430
+ return useSendMultipleFilesMessage.compareIds(hasReqId(message) && message.reqId, requestId_1);
431
+ });
432
+ var fileInfoList = (_x = messageToUpdate.messageParams) === null || _x === void 0 ? void 0 : _x.fileInfoList;
433
+ if (Array.isArray(fileInfoList)) {
434
+ fileInfoList[index] = uploadableFileInfo;
435
+ }
436
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
437
+ localThreadMessages: localThreadMessages
438
+ });
439
+ }
440
+ default:
441
+ {
442
+ return state;
443
+ }
444
+ }
445
+ }
446
+ function hasReqId(message) {
447
+ return 'reqId' in message;
448
+ }
449
+
450
+ var initialState = {
451
+ currentChannel: null,
452
+ allThreadMessages: [],
453
+ localThreadMessages: [],
454
+ parentMessage: null,
455
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
456
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
457
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
458
+ hasMorePrev: false,
459
+ hasMoreNext: false,
460
+ emojiContainer: {},
461
+ isMuted: false,
462
+ isChannelFrozen: false,
463
+ currentUserId: ''
464
+ };
465
+
466
+ function useGetChannel(_a, _b) {
467
+ var channelUrl = _a.channelUrl,
468
+ sdkInit = _a.sdkInit,
469
+ message = _a.message;
470
+ var sdk = _b.sdk,
471
+ logger = _b.logger,
472
+ threadDispatcher = _b.threadDispatcher;
473
+ React.useEffect(function () {
474
+ var _a, _b;
475
+ // validation check
476
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
477
+ threadDispatcher({
478
+ type: ThreadContextActionTypes.GET_CHANNEL_START,
479
+ payload: null
480
+ });
481
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
482
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
483
+ threadDispatcher({
484
+ type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
485
+ payload: {
486
+ groupChannel: groupChannel
487
+ }
488
+ });
489
+ }).catch(function (error) {
490
+ logger.info('Thread | useInitialize: Get channel failed', error);
491
+ threadDispatcher({
492
+ type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
493
+ payload: error
494
+ });
495
+ });
496
+ }
497
+ }, [message, sdkInit]);
498
+ /**
499
+ * We don't use channelUrl here,
500
+ * because Thread must operate independently of the channel.
501
+ */
502
+ }
503
+
504
+ function useGetAllEmoji(_a, _b) {
505
+ var sdk = _a.sdk;
506
+ var logger = _b.logger,
507
+ threadDispatcher = _b.threadDispatcher;
508
+ React.useEffect(function () {
509
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) {
510
+ // validation check
511
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
512
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
513
+ threadDispatcher({
514
+ type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
515
+ payload: {
516
+ emojiContainer: emojiContainer
517
+ }
518
+ });
519
+ }).catch(function (error) {
520
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
521
+ });
522
+ }
523
+ }, [sdk]);
524
+ }
525
+
526
+ function useGetThreadList(_a, _b) {
527
+ var sdkInit = _a.sdkInit,
528
+ parentMessage = _a.parentMessage,
529
+ anchorMessage = _a.anchorMessage,
530
+ isReactionEnabled = _a.isReactionEnabled;
531
+ var logger = _b.logger,
532
+ threadDispatcher = _b.threadDispatcher;
533
+ React.useEffect(function () {
534
+ var _a;
535
+ // validation check
536
+ if (sdkInit && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp)) {
537
+ threadDispatcher({
538
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
539
+ payload: null
540
+ });
541
+ var timeStamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
542
+ var params = {
543
+ prevResultSize: PREV_THREADS_FETCH_SIZE,
544
+ nextResultSize: NEXT_THREADS_FETCH_SIZE,
545
+ includeReactions: isReactionEnabled,
546
+ includeMetaArray: true
547
+ };
548
+ logger.info('Thread | useGetThreadList: Initialize thread list start.', {
549
+ timeStamp: timeStamp,
550
+ params: params
551
+ });
552
+ (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, timeStamp, params).then(function (_a) {
553
+ var parentMessage = _a.parentMessage,
554
+ threadedMessages = _a.threadedMessages;
555
+ logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', {
556
+ parentMessage: parentMessage,
557
+ threadedMessages: threadedMessages
558
+ });
559
+ threadDispatcher({
560
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
561
+ payload: {
562
+ parentMessage: parentMessage,
563
+ anchorMessage: anchorMessage,
564
+ threadedMessages: threadedMessages
565
+ }
566
+ });
567
+ }).catch(function (error) {
568
+ logger.info('Therad | useGetThreadList: Initialize thread list failed.', error);
569
+ threadDispatcher({
570
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
571
+ payload: error
572
+ });
573
+ });
574
+ }
575
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, anchorMessage]);
576
+ }
577
+
578
+ function useGetParentMessage(_a, _b) {
579
+ var _this = this;
580
+ var channelUrl = _a.channelUrl,
581
+ sdkInit = _a.sdkInit,
582
+ parentMessage = _a.parentMessage;
583
+ var sdk = _b.sdk,
584
+ logger = _b.logger,
585
+ threadDispatcher = _b.threadDispatcher;
586
+ React.useEffect(function () {
587
+ var _a;
588
+ // validation check
589
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
590
+ threadDispatcher({
591
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
592
+ payload: null
593
+ });
594
+ var params_1 = {
595
+ channelUrl: channelUrl,
596
+ channelType: SendbirdChat.ChannelType.GROUP,
597
+ messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
598
+ includeMetaArray: true,
599
+ includeReactions: true,
600
+ includeThreadInfo: true,
601
+ includeParentMessageInfo: true
602
+ };
603
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
604
+ var fetchParentMessage = function () {
605
+ return tslib_es6.__awaiter(_this, void 0, void 0, function () {
606
+ var data;
607
+ var _a, _b;
608
+ return tslib_es6.__generator(this, function (_c) {
609
+ switch (_c.label) {
610
+ case 0:
611
+ return [4 /*yield*/, (_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1)];
612
+ case 1:
613
+ data = _c.sent();
614
+ return [2 /*return*/, data];
615
+ }
616
+ });
617
+ });
618
+ };
619
+ fetchParentMessage().then(function (parentMsg) {
620
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
621
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
622
+ threadDispatcher({
623
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
624
+ payload: {
625
+ parentMessage: parentMsg
626
+ }
627
+ });
628
+ }).catch(function (error) {
629
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
630
+ threadDispatcher({
631
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
632
+ payload: error
633
+ });
634
+ });
635
+ }
636
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
637
+ /**
638
+ * We don't use channelUrl here,
639
+ * because Thread must operate independently of the channel.
640
+ */
641
+ }
642
+
643
+ function useHandleThreadPubsubEvents(_a, _b) {
644
+ var sdkInit = _a.sdkInit,
645
+ currentChannel = _a.currentChannel,
646
+ parentMessage = _a.parentMessage;
647
+ var pubSub = _b.pubSub,
648
+ threadDispatcher = _b.threadDispatcher;
649
+ React.useEffect(function () {
650
+ var subscriber = new Map();
651
+ if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
652
+ // TODO: subscribe ON_FILE_INFO_UPLOADED
653
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, function (props) {
654
+ var _a = props,
655
+ channel = _a.channel,
656
+ message = _a.message,
657
+ publishingModules = _a.publishingModules;
658
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.THREAD)) {
659
+ // TODO: const clonedMessage = cloneMessage(message);
660
+ var pendingMessage = tslib_es6.__assign({}, message);
661
+ if (message.isMultipleFilesMessage()) {
662
+ pendingMessage.fileInfoList = message.messageParams.fileInfoList.map(function (fileInfo) {
663
+ return tslib_es6.__assign(tslib_es6.__assign({}, fileInfo), {
664
+ url: URL.createObjectURL(fileInfo.file)
665
+ });
666
+ });
667
+ }
668
+ threadDispatcher({
669
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
670
+ payload: {
671
+ message: pendingMessage
672
+ }
673
+ });
674
+ }
675
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
676
+ }));
677
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
678
+ var _a = props,
679
+ response = _a.response,
680
+ publishingModules = _a.publishingModules;
681
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === response.channelUrl && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.THREAD)) {
682
+ threadDispatcher({
683
+ type: useSendMultipleFilesMessage.ON_FILE_INFO_UPLOADED,
684
+ payload: response
685
+ });
686
+ }
687
+ }));
688
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (props) {
689
+ var _a = props,
690
+ channel = _a.channel,
691
+ message = _a.message;
692
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId)) {
693
+ threadDispatcher({
694
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
695
+ payload: {
696
+ message: message
697
+ }
698
+ });
699
+ }
700
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
701
+ }));
702
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, function (props) {
703
+ var _a = props,
704
+ channel = _a.channel,
705
+ message = _a.message,
706
+ publishingModules = _a.publishingModules;
707
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.THREAD)) {
708
+ threadDispatcher({
709
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
710
+ payload: {
711
+ message: message
712
+ }
713
+ });
714
+ }
715
+ }));
716
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (props) {
717
+ var _a = props,
718
+ channel = _a.channel,
719
+ message = _a.message,
720
+ publishingModules = _a.publishingModules;
721
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.THREAD)) {
722
+ threadDispatcher({
723
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
724
+ payload: {
725
+ message: message
726
+ }
727
+ });
728
+ }
729
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
730
+ }));
731
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (props) {
732
+ var _a = props,
733
+ channel = _a.channel,
734
+ message = _a.message;
735
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
736
+ threadDispatcher({
737
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
738
+ payload: {
739
+ channel: channel,
740
+ message: message
741
+ }
742
+ });
743
+ }
744
+ }));
745
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (props) {
746
+ var _a = props,
747
+ channel = _a.channel,
748
+ messageId = _a.messageId;
749
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
750
+ threadDispatcher({
751
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
752
+ payload: {
753
+ messageId: messageId
754
+ }
755
+ });
756
+ }
757
+ }));
758
+ }
759
+ return function () {
760
+ subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
761
+ try {
762
+ s === null || s === void 0 ? void 0 : s.remove();
763
+ } catch (_a) {
764
+ //
765
+ }
766
+ });
767
+ };
768
+ }, [sdkInit, currentChannel, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
769
+ }
770
+
771
+ function useHandleChannelEvents(_a, _b) {
772
+ var sdk = _a.sdk,
773
+ currentChannel = _a.currentChannel;
774
+ var logger = _b.logger,
775
+ threadDispatcher = _b.threadDispatcher;
776
+ React.useEffect(function () {
777
+ var _a, _b, _c;
778
+ var handlerId = uuid.uuidv4();
779
+ // validation check
780
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) && currentChannel) {
781
+ var channelHandlerParams = {
782
+ // message status change
783
+ onMessageReceived: function (channel, message) {
784
+ logger.info('Thread | useHandleChannelEvents: onMessageReceived', {
785
+ channel: channel,
786
+ message: message
787
+ });
788
+ threadDispatcher({
789
+ type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
790
+ payload: {
791
+ channel: channel,
792
+ message: message
793
+ }
794
+ });
795
+ },
796
+ onMessageUpdated: function (channel, message) {
797
+ logger.info('Thread | useHandleChannelEvents: onMessageUpdated', {
798
+ channel: channel,
799
+ message: message
800
+ });
801
+ threadDispatcher({
802
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
803
+ payload: {
804
+ channel: channel,
805
+ message: message
806
+ }
807
+ });
808
+ },
809
+ onMessageDeleted: function (channel, messageId) {
810
+ logger.info('Thread | useHandleChannelEvents: onMessageDeleted', {
811
+ channel: channel,
812
+ messageId: messageId
813
+ });
814
+ threadDispatcher({
815
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
816
+ payload: {
817
+ channel: channel,
818
+ messageId: messageId
819
+ }
820
+ });
821
+ },
822
+ onReactionUpdated: function (channel, reactionEvent) {
823
+ logger.info('Thread | useHandleChannelEvents: onReactionUpdated', {
824
+ channel: channel,
825
+ reactionEvent: reactionEvent
826
+ });
827
+ threadDispatcher({
828
+ type: ThreadContextActionTypes.ON_REACTION_UPDATED,
829
+ payload: {
830
+ channel: channel,
831
+ reactionEvent: reactionEvent
832
+ }
833
+ });
834
+ },
835
+ // user status change
836
+ onUserMuted: function (channel, user) {
837
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', {
838
+ channel: channel,
839
+ user: user
840
+ });
841
+ threadDispatcher({
842
+ type: ThreadContextActionTypes.ON_USER_MUTED,
843
+ payload: {
844
+ channel: channel,
845
+ user: user
846
+ }
847
+ });
848
+ },
849
+ onUserUnmuted: function (channel, user) {
850
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', {
851
+ channel: channel,
852
+ user: user
853
+ });
854
+ threadDispatcher({
855
+ type: ThreadContextActionTypes.ON_USER_UNMUTED,
856
+ payload: {
857
+ channel: channel,
858
+ user: user
859
+ }
860
+ });
861
+ },
862
+ onUserBanned: function (channel, user) {
863
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', {
864
+ channel: channel,
865
+ user: user
866
+ });
867
+ threadDispatcher({
868
+ type: ThreadContextActionTypes.ON_USER_BANNED,
869
+ payload: {
870
+ channel: channel,
871
+ user: user
872
+ }
873
+ });
874
+ },
875
+ onUserUnbanned: function (channel, user) {
876
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', {
877
+ channel: channel,
878
+ user: user
879
+ });
880
+ threadDispatcher({
881
+ type: ThreadContextActionTypes.ON_USER_UNBANNED,
882
+ payload: {
883
+ channel: channel,
884
+ user: user
885
+ }
886
+ });
887
+ },
888
+ onUserLeft: function (channel, user) {
889
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', {
890
+ channel: channel,
891
+ user: user
892
+ });
893
+ threadDispatcher({
894
+ type: ThreadContextActionTypes.ON_USER_LEFT,
895
+ payload: {
896
+ channel: channel,
897
+ user: user
898
+ }
899
+ });
900
+ },
901
+ // channel status change
902
+ onChannelFrozen: function (channel) {
903
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', {
904
+ channel: channel
905
+ });
906
+ threadDispatcher({
907
+ type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
908
+ payload: {
909
+ channel: channel
910
+ }
911
+ });
912
+ },
913
+ onChannelUnfrozen: function (channel) {
914
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', {
915
+ channel: channel
916
+ });
917
+ threadDispatcher({
918
+ type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
919
+ payload: {
920
+ channel: channel
921
+ }
922
+ });
923
+ },
924
+ onOperatorUpdated: function (channel, users) {
925
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', {
926
+ channel: channel,
927
+ users: users
928
+ });
929
+ threadDispatcher({
930
+ type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
931
+ payload: {
932
+ channel: channel,
933
+ users: users
934
+ }
935
+ });
936
+ }
937
+ };
938
+ var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
939
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
940
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', {
941
+ handlerId: handlerId,
942
+ channelHandler: channelHandler
943
+ });
944
+ }
945
+ return function () {
946
+ var _a, _b, _c;
947
+ // validation check
948
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
949
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
950
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
951
+ }
952
+ };
953
+ }, [sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel, currentChannel]);
954
+ }
955
+
956
+ function useSendFileMessageCallback(_a, _b) {
957
+ var currentChannel = _a.currentChannel,
958
+ onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
959
+ var logger = _b.logger,
960
+ pubSub = _b.pubSub,
961
+ threadDispatcher = _b.threadDispatcher;
962
+ var sendMessage = React.useCallback(function (file, quoteMessage) {
963
+ return new Promise(function (resolve, reject) {
964
+ var _a;
965
+ var createParamsDefault = function () {
966
+ var params = {};
967
+ params.file = file;
968
+ if (quoteMessage) {
969
+ params.isReplyToChannel = true;
970
+ params.parentMessageId = quoteMessage.messageId;
971
+ }
972
+ return params;
973
+ };
974
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
975
+ logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
976
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
977
+ threadDispatcher({
978
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
979
+ payload: {
980
+ /* pubSub is used instead of messagesDispatcher
981
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
982
+ message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
983
+ url: URL.createObjectURL(file),
984
+ // pending thumbnail message seems to be failed
985
+ requestState: 'pending'
986
+ })
987
+ }
988
+ });
989
+ setTimeout(function () {
990
+ return useSendMultipleFilesMessage.scrollIntoLast();
991
+ }, 1000);
992
+ }).onFailed(function (error, message) {
993
+ message.localUrl = URL.createObjectURL(file);
994
+ message.file = file;
995
+ logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', {
996
+ message: message,
997
+ error: error
998
+ });
999
+ threadDispatcher({
1000
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1001
+ payload: {
1002
+ message: message,
1003
+ error: error
1004
+ }
1005
+ });
1006
+ reject(error);
1007
+ }).onSucceeded(function (message) {
1008
+ logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
1009
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1010
+ channel: currentChannel,
1011
+ message: message,
1012
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1013
+ });
1014
+ resolve(message);
1015
+ });
1016
+ });
1017
+ }, [currentChannel]);
1018
+ return sendMessage;
1019
+ }
1020
+
1021
+ function useUpdateMessageCallback(_a, _b) {
1022
+ var currentChannel = _a.currentChannel,
1023
+ isMentionEnabled = _a.isMentionEnabled;
1024
+ var logger = _b.logger,
1025
+ pubSub = _b.pubSub,
1026
+ threadDispatcher = _b.threadDispatcher;
1027
+ return React.useCallback(function (props) {
1028
+ var _a;
1029
+ var messageId = props.messageId,
1030
+ message = props.message,
1031
+ mentionedUsers = props.mentionedUsers,
1032
+ mentionTemplate = props.mentionTemplate;
1033
+ var createParamsDefault = function () {
1034
+ var params = {};
1035
+ params.message = message;
1036
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1037
+ params.mentionedUsers = mentionedUsers;
1038
+ }
1039
+ if (isMentionEnabled && mentionTemplate) {
1040
+ params.mentionedMessageTemplate = mentionTemplate;
1041
+ } else {
1042
+ params.mentionedMessageTemplate = message;
1043
+ }
1044
+ return params;
1045
+ };
1046
+ var params = createParamsDefault();
1047
+ logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
1048
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
1049
+ logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
1050
+ threadDispatcher({
1051
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
1052
+ payload: {
1053
+ channel: currentChannel,
1054
+ message: message
1055
+ }
1056
+ });
1057
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
1058
+ fromSelector: true,
1059
+ channel: currentChannel,
1060
+ message: message,
1061
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1062
+ });
1063
+ });
1064
+ }, [currentChannel, isMentionEnabled]);
1065
+ }
1066
+
1067
+ function useDeleteMessageCallback(_a, _b) {
1068
+ var currentChannel = _a.currentChannel,
1069
+ threadDispatcher = _a.threadDispatcher;
1070
+ var logger = _b.logger;
1071
+ return React.useCallback(function (message) {
1072
+ logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
1073
+ var sendingStatus = message.sendingStatus;
1074
+ return new Promise(function (resolve, reject) {
1075
+ var _a;
1076
+ logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
1077
+ // Message is only on local
1078
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1079
+ logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
1080
+ threadDispatcher({
1081
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
1082
+ payload: message.reqId
1083
+ });
1084
+ resolve(message);
1085
+ }
1086
+ logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
1087
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
1088
+ logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
1089
+ threadDispatcher({
1090
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
1091
+ payload: {
1092
+ message: message,
1093
+ channel: currentChannel
1094
+ }
1095
+ });
1096
+ resolve(message);
1097
+ }).catch(function (err) {
1098
+ logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
1099
+ reject(err);
1100
+ });
1101
+ });
1102
+ }, [currentChannel]);
1103
+ }
1104
+
1105
+ function useGetPrevThreadsCallback(_a, _b) {
1106
+ var hasMorePrev = _a.hasMorePrev,
1107
+ parentMessage = _a.parentMessage,
1108
+ threadListState = _a.threadListState,
1109
+ oldestMessageTimeStamp = _a.oldestMessageTimeStamp,
1110
+ isReactionEnabled = _a.isReactionEnabled;
1111
+ var logger = _b.logger,
1112
+ threadDispatcher = _b.threadDispatcher;
1113
+ return React.useCallback(function (callback) {
1114
+ var _a;
1115
+ // validation check
1116
+ if (threadListState === Thread_context_types.ThreadListStateTypes.INITIALIZED && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp) && oldestMessageTimeStamp !== 0) {
1117
+ threadDispatcher({
1118
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1119
+ payload: null
1120
+ });
1121
+ (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, oldestMessageTimeStamp, {
1122
+ prevResultSize: PREV_THREADS_FETCH_SIZE,
1123
+ nextResultSize: 0,
1124
+ includeReactions: isReactionEnabled,
1125
+ includeMetaArray: true
1126
+ }).then(function (_a) {
1127
+ var parentMessage = _a.parentMessage,
1128
+ threadedMessages = _a.threadedMessages;
1129
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', {
1130
+ parentMessage: parentMessage,
1131
+ threadedMessages: threadedMessages
1132
+ });
1133
+ threadDispatcher({
1134
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1135
+ payload: {
1136
+ parentMessage: parentMessage,
1137
+ threadedMessages: threadedMessages
1138
+ }
1139
+ });
1140
+ callback(threadedMessages);
1141
+ }).catch(function (error) {
1142
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error);
1143
+ threadDispatcher({
1144
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1145
+ payload: error
1146
+ });
1147
+ });
1148
+ }
1149
+ }, [hasMorePrev, parentMessage, threadListState, oldestMessageTimeStamp]);
1150
+ }
1151
+
1152
+ function useGetNextThreadsCallback(_a, _b) {
1153
+ var hasMoreNext = _a.hasMoreNext,
1154
+ parentMessage = _a.parentMessage,
1155
+ threadListState = _a.threadListState,
1156
+ latestMessageTimeStamp = _a.latestMessageTimeStamp,
1157
+ isReactionEnabled = _a.isReactionEnabled;
1158
+ var logger = _b.logger,
1159
+ threadDispatcher = _b.threadDispatcher;
1160
+ return React.useCallback(function (callback) {
1161
+ var _a;
1162
+ // validation check
1163
+ if (threadListState === Thread_context_types.ThreadListStateTypes.INITIALIZED && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp) && latestMessageTimeStamp !== 0) {
1164
+ threadDispatcher({
1165
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1166
+ payload: null
1167
+ });
1168
+ (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, latestMessageTimeStamp, {
1169
+ prevResultSize: 0,
1170
+ nextResultSize: NEXT_THREADS_FETCH_SIZE,
1171
+ includeReactions: isReactionEnabled,
1172
+ includeMetaArray: true
1173
+ }).then(function (_a) {
1174
+ var parentMessage = _a.parentMessage,
1175
+ threadedMessages = _a.threadedMessages;
1176
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', {
1177
+ parentMessage: parentMessage,
1178
+ threadedMessages: threadedMessages
1179
+ });
1180
+ threadDispatcher({
1181
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1182
+ payload: {
1183
+ parentMessage: parentMessage,
1184
+ threadedMessages: threadedMessages
1185
+ }
1186
+ });
1187
+ callback(threadedMessages);
1188
+ }).catch(function (error) {
1189
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error);
1190
+ threadDispatcher({
1191
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1192
+ payload: error
1193
+ });
1194
+ });
1195
+ }
1196
+ }, [hasMoreNext, parentMessage, threadListState, latestMessageTimeStamp]);
1197
+ }
1198
+
1199
+ function useToggleReactionCallback(_a, _b) {
1200
+ var currentChannel = _a.currentChannel;
1201
+ var logger = _b.logger;
1202
+ return React.useCallback(function (message, key, isReacted) {
1203
+ var _a, _b;
1204
+ if (isReacted) {
1205
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
1206
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
1207
+ }).catch(function (err) {
1208
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
1209
+ });
1210
+ return;
1211
+ }
1212
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
1213
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
1214
+ }).catch(function (err) {
1215
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
1216
+ });
1217
+ }, [currentChannel]);
1218
+ }
1219
+
1220
+ function useSendUserMessageCallback(_a, _b) {
1221
+ var isMentionEnabled = _a.isMentionEnabled,
1222
+ currentChannel = _a.currentChannel,
1223
+ onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1224
+ var logger = _b.logger,
1225
+ pubSub = _b.pubSub,
1226
+ threadDispatcher = _b.threadDispatcher;
1227
+ var sendMessage = React.useCallback(function (props) {
1228
+ var _a;
1229
+ var message = props.message,
1230
+ quoteMessage = props.quoteMessage,
1231
+ mentionTemplate = props.mentionTemplate,
1232
+ mentionedUsers = props.mentionedUsers;
1233
+ var createDefaultParams = function () {
1234
+ var params = {};
1235
+ params.message = message;
1236
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
1237
+ if (isMentionEnabled && mentionedUsersLength) {
1238
+ params.mentionedUsers = mentionedUsers;
1239
+ }
1240
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
1241
+ params.mentionedMessageTemplate = mentionTemplate;
1242
+ }
1243
+ if (quoteMessage) {
1244
+ params.isReplyToChannel = true;
1245
+ params.parentMessageId = quoteMessage.messageId;
1246
+ }
1247
+ return params;
1248
+ };
1249
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
1250
+ logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
1251
+ if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
1252
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
1253
+ threadDispatcher({
1254
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
1255
+ payload: {
1256
+ message: pendingMessage
1257
+ }
1258
+ });
1259
+ }).onFailed(function (error, message) {
1260
+ logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', {
1261
+ message: message,
1262
+ error: error
1263
+ });
1264
+ threadDispatcher({
1265
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1266
+ payload: {
1267
+ error: error,
1268
+ message: message
1269
+ }
1270
+ });
1271
+ }).onSucceeded(function (message) {
1272
+ logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
1273
+ // because Thread doesn't subscribe SEND_USER_MESSAGE
1274
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, {
1275
+ channel: currentChannel,
1276
+ message: message,
1277
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1278
+ });
1279
+ });
1280
+ }
1281
+ }, [isMentionEnabled, currentChannel]);
1282
+ return sendMessage;
1283
+ }
1284
+
1285
+ function useResendMessageCallback(_a, _b) {
1286
+ var currentChannel = _a.currentChannel;
1287
+ var logger = _b.logger,
1288
+ pubSub = _b.pubSub,
1289
+ threadDispatcher = _b.threadDispatcher;
1290
+ return React.useCallback(function (failedMessage) {
1291
+ var _a, _b, _c, _d, _e;
1292
+ if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
1293
+ failedMessage.sendingStatus = message.SendingStatus.PENDING;
1294
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
1295
+ threadDispatcher({
1296
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
1297
+ payload: failedMessage
1298
+ });
1299
+ if (((_a = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(failedMessage)) || (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.messageType) === message.MessageType.USER) {
1300
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendUserMessage(failedMessage).then(function (message) {
1301
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage succeeded.', message);
1302
+ threadDispatcher({
1303
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1304
+ payload: {
1305
+ message: message
1306
+ }
1307
+ });
1308
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, {
1309
+ channel: currentChannel,
1310
+ message: message,
1311
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1312
+ });
1313
+ }).catch(function (error) {
1314
+ logger.warning('Thread | useResendMessageCallback: Resending failedMessage failed.', error);
1315
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
1316
+ threadDispatcher({
1317
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1318
+ payload: {
1319
+ message: failedMessage
1320
+ }
1321
+ });
1322
+ });
1323
+ } else if (((_b = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(failedMessage)) || (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.messageType) === message.MessageType.FILE) {
1324
+ (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendFileMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).then(function (message) {
1325
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage succeeded.', message);
1326
+ threadDispatcher({
1327
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1328
+ payload: {
1329
+ message: message
1330
+ }
1331
+ });
1332
+ }).catch(function (error) {
1333
+ logger.warning('Thread | useResendMessageCallback: Resending failedMessage failed.', error);
1334
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
1335
+ threadDispatcher({
1336
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1337
+ payload: {
1338
+ message: failedMessage
1339
+ }
1340
+ });
1341
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1342
+ channel: currentChannel,
1343
+ message: failedMessage,
1344
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1345
+ });
1346
+ });
1347
+ } else if ((_d = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isMultipleFilesMessage) === null || _d === void 0 ? void 0 : _d.call(failedMessage)) {
1348
+ (_e = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _e === void 0 ? void 0 : _e.call(currentChannel, failedMessage).onSucceeded(function (message) {
1349
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage succeeded.', message);
1350
+ threadDispatcher({
1351
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1352
+ payload: {
1353
+ message: message
1354
+ }
1355
+ });
1356
+ }).onFailed(function (error, message) {
1357
+ logger.warning('Thread | useResendMessageCallback: Resending failedMessage failed.', error);
1358
+ threadDispatcher({
1359
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1360
+ payload: {
1361
+ message: message
1362
+ }
1363
+ });
1364
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1365
+ channel: currentChannel,
1366
+ message: message,
1367
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1368
+ });
1369
+ });
1370
+ } else {
1371
+ logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
1372
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
1373
+ threadDispatcher({
1374
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1375
+ payload: {
1376
+ message: failedMessage
1377
+ }
1378
+ });
1379
+ }
1380
+ }
1381
+ }, [currentChannel]);
1382
+ }
1383
+
1384
+ var useSendVoiceMessageCallback = function (_a, _b) {
1385
+ var currentChannel = _a.currentChannel,
1386
+ onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1387
+ var logger = _b.logger,
1388
+ pubSub = _b.pubSub,
1389
+ threadDispatcher = _b.threadDispatcher;
1390
+ var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
1391
+ var messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1392
+ file: file,
1393
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
1394
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1395
+ metaArrays: [new message.MessageMetaArray({
1396
+ key: consts.META_ARRAY_VOICE_DURATION_KEY,
1397
+ value: ["".concat(duration)]
1398
+ }), new message.MessageMetaArray({
1399
+ key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1400
+ value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
1401
+ })]
1402
+ };
1403
+ if (quoteMessage) {
1404
+ messageParams.isReplyToChannel = true;
1405
+ messageParams.parentMessageId = quoteMessage.messageId;
1406
+ }
1407
+ logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1408
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1409
+ threadDispatcher({
1410
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
1411
+ payload: {
1412
+ /* pubSub is used instead of messagesDispatcher
1413
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1414
+ message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
1415
+ url: URL.createObjectURL(file),
1416
+ // pending thumbnail message seems to be failed
1417
+ requestState: 'pending'
1418
+ })
1419
+ }
1420
+ });
1421
+ setTimeout(function () {
1422
+ return useSendMultipleFilesMessage.scrollIntoLast();
1423
+ }, 1000);
1424
+ }).onFailed(function (error, message) {
1425
+ message.localUrl = URL.createObjectURL(file);
1426
+ message.file = file;
1427
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', {
1428
+ message: message,
1429
+ error: error
1430
+ });
1431
+ threadDispatcher({
1432
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1433
+ payload: {
1434
+ message: message,
1435
+ error: error
1436
+ }
1437
+ });
1438
+ }).onSucceeded(function (message) {
1439
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1440
+ pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1441
+ channel: currentChannel,
1442
+ message: message,
1443
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1444
+ });
1445
+ });
1446
+ }, [currentChannel, onBeforeSendVoiceMessage]);
1447
+ return sendMessage;
1448
+ };
1449
+
1450
+ var ThreadContext = /*#__PURE__*/React__default["default"].createContext(null);
1451
+ var ThreadProvider = function (props) {
1452
+ var _a, _b;
1453
+ var children = props.children,
1454
+ channelUrl = props.channelUrl,
1455
+ onHeaderActionClick = props.onHeaderActionClick,
1456
+ onMoveToParentMessage = props.onMoveToParentMessage,
1457
+ onBeforeSendUserMessage = props.onBeforeSendUserMessage,
1458
+ onBeforeSendFileMessage = props.onBeforeSendFileMessage,
1459
+ onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage,
1460
+ onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage,
1461
+ // User Profile
1462
+ disableUserProfile = props.disableUserProfile,
1463
+ renderUserProfile = props.renderUserProfile;
1464
+ var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1465
+ var propsParentMessage = useSendMultipleFilesMessage.getParentMessageFrom(propsMessage);
1466
+ // Context from SendbirdProvider
1467
+ var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1468
+ var stores = globalStore.stores,
1469
+ config = globalStore.config;
1470
+ // // stores
1471
+ var sdkStore = stores.sdkStore,
1472
+ userStore = stores.userStore;
1473
+ var sdk = sdkStore.sdk;
1474
+ var user = userStore.user;
1475
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1476
+ // // config
1477
+ var logger = config.logger,
1478
+ pubSub = config.pubSub,
1479
+ replyType = config.replyType,
1480
+ isMentionEnabled = config.isMentionEnabled,
1481
+ isReactionEnabled = config.isReactionEnabled,
1482
+ onUserProfileMessage = config.onUserProfileMessage;
1483
+ // dux of Thread
1484
+ var _c = React.useReducer(reducer, initialState),
1485
+ threadStore = _c[0],
1486
+ threadDispatcher = _c[1];
1487
+ var currentChannel = threadStore.currentChannel,
1488
+ allThreadMessages = threadStore.allThreadMessages,
1489
+ localThreadMessages = threadStore.localThreadMessages,
1490
+ parentMessage = threadStore.parentMessage,
1491
+ channelState = threadStore.channelState,
1492
+ threadListState = threadStore.threadListState,
1493
+ parentMessageState = threadStore.parentMessageState,
1494
+ hasMorePrev = threadStore.hasMorePrev,
1495
+ hasMoreNext = threadStore.hasMoreNext,
1496
+ emojiContainer = threadStore.emojiContainer,
1497
+ isMuted = threadStore.isMuted,
1498
+ isChannelFrozen = threadStore.isChannelFrozen,
1499
+ currentUserId = threadStore.currentUserId;
1500
+ // Initialization
1501
+ React.useEffect(function () {
1502
+ threadDispatcher({
1503
+ type: ThreadContextActionTypes.INIT_USER_ID,
1504
+ payload: user === null || user === void 0 ? void 0 : user.userId
1505
+ });
1506
+ }, [user]);
1507
+ useGetChannel({
1508
+ channelUrl: channelUrl,
1509
+ sdkInit: sdkInit,
1510
+ message: propsMessage
1511
+ }, {
1512
+ sdk: sdk,
1513
+ logger: logger,
1514
+ threadDispatcher: threadDispatcher
1515
+ });
1516
+ useGetParentMessage({
1517
+ channelUrl: channelUrl,
1518
+ sdkInit: sdkInit,
1519
+ parentMessage: propsParentMessage
1520
+ }, {
1521
+ sdk: sdk,
1522
+ logger: logger,
1523
+ threadDispatcher: threadDispatcher
1524
+ });
1525
+ useGetThreadList({
1526
+ sdkInit: sdkInit,
1527
+ parentMessage: parentMessage,
1528
+ isReactionEnabled: isReactionEnabled,
1529
+ anchorMessage: (propsMessage === null || propsMessage === void 0 ? void 0 : propsMessage.messageId) !== (propsParentMessage === null || propsParentMessage === void 0 ? void 0 : propsParentMessage.messageId) ? propsMessage : null
1530
+ // anchorMessage should be null when parentMessage doesn't exist
1531
+ }, {
1532
+ logger: logger,
1533
+ threadDispatcher: threadDispatcher
1534
+ });
1535
+ useGetAllEmoji({
1536
+ sdk: sdk
1537
+ }, {
1538
+ logger: logger,
1539
+ threadDispatcher: threadDispatcher
1540
+ });
1541
+ // Handle channel events
1542
+ useHandleChannelEvents({
1543
+ sdk: sdk,
1544
+ currentChannel: currentChannel
1545
+ }, {
1546
+ logger: logger,
1547
+ threadDispatcher: threadDispatcher
1548
+ });
1549
+ useHandleThreadPubsubEvents({
1550
+ sdkInit: sdkInit,
1551
+ currentChannel: currentChannel,
1552
+ parentMessage: parentMessage
1553
+ }, {
1554
+ logger: logger,
1555
+ pubSub: pubSub,
1556
+ threadDispatcher: threadDispatcher
1557
+ });
1558
+ // callbacks
1559
+ var fetchPrevThreads = useGetPrevThreadsCallback({
1560
+ hasMorePrev: hasMorePrev,
1561
+ parentMessage: parentMessage,
1562
+ threadListState: threadListState,
1563
+ isReactionEnabled: isReactionEnabled,
1564
+ oldestMessageTimeStamp: ((_a = allThreadMessages[0]) === null || _a === void 0 ? void 0 : _a.createdAt) || 0
1565
+ }, {
1566
+ logger: logger,
1567
+ threadDispatcher: threadDispatcher
1568
+ });
1569
+ var fetchNextThreads = useGetNextThreadsCallback({
1570
+ hasMoreNext: hasMoreNext,
1571
+ parentMessage: parentMessage,
1572
+ threadListState: threadListState,
1573
+ isReactionEnabled: isReactionEnabled,
1574
+ latestMessageTimeStamp: ((_b = allThreadMessages[allThreadMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.createdAt) || 0
1575
+ }, {
1576
+ logger: logger,
1577
+ threadDispatcher: threadDispatcher
1578
+ });
1579
+ var toggleReaction = useToggleReactionCallback({
1580
+ currentChannel: currentChannel
1581
+ }, {
1582
+ logger: logger
1583
+ });
1584
+ // Send Message Hooks
1585
+ var sendMessage = useSendUserMessageCallback({
1586
+ isMentionEnabled: isMentionEnabled,
1587
+ currentChannel: currentChannel,
1588
+ onBeforeSendUserMessage: onBeforeSendUserMessage
1589
+ }, {
1590
+ logger: logger,
1591
+ pubSub: pubSub,
1592
+ threadDispatcher: threadDispatcher
1593
+ });
1594
+ var sendFileMessage = useSendFileMessageCallback({
1595
+ currentChannel: currentChannel,
1596
+ onBeforeSendFileMessage: onBeforeSendFileMessage
1597
+ }, {
1598
+ logger: logger,
1599
+ pubSub: pubSub,
1600
+ threadDispatcher: threadDispatcher
1601
+ });
1602
+ var sendVoiceMessage = useSendVoiceMessageCallback({
1603
+ currentChannel: currentChannel,
1604
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage
1605
+ }, {
1606
+ logger: logger,
1607
+ pubSub: pubSub,
1608
+ threadDispatcher: threadDispatcher
1609
+ });
1610
+ var sendMultipleFilesMessage = useSendMultipleFilesMessage.useSendMultipleFilesMessage({
1611
+ currentChannel: currentChannel,
1612
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1613
+ publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.THREAD]
1614
+ }, {
1615
+ logger: logger,
1616
+ pubSub: pubSub
1617
+ })[0];
1618
+ var resendMessage = useResendMessageCallback({
1619
+ currentChannel: currentChannel
1620
+ }, {
1621
+ logger: logger,
1622
+ pubSub: pubSub,
1623
+ threadDispatcher: threadDispatcher
1624
+ });
1625
+ var updateMessage = useUpdateMessageCallback({
1626
+ currentChannel: currentChannel,
1627
+ isMentionEnabled: isMentionEnabled
1628
+ }, {
1629
+ logger: logger,
1630
+ pubSub: pubSub,
1631
+ threadDispatcher: threadDispatcher
1632
+ });
1633
+ var deleteMessage = useDeleteMessageCallback({
1634
+ currentChannel: currentChannel,
1635
+ threadDispatcher: threadDispatcher
1636
+ }, {
1637
+ logger: logger
1638
+ });
1639
+ // memo
1640
+ var nicknamesMap = React.useMemo(function () {
1641
+ return replyType && currentChannel ? useSendMultipleFilesMessage.getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members) : new Map();
1642
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
1643
+ return /*#__PURE__*/React__default["default"].createElement(ThreadContext.Provider, {
1644
+ value: {
1645
+ // ThreadProviderProps
1646
+ channelUrl: channelUrl,
1647
+ message: propsMessage,
1648
+ onHeaderActionClick: onHeaderActionClick,
1649
+ onMoveToParentMessage: onMoveToParentMessage,
1650
+ // ThreadContextInitialState
1651
+ currentChannel: currentChannel,
1652
+ allThreadMessages: allThreadMessages,
1653
+ localThreadMessages: localThreadMessages,
1654
+ parentMessage: parentMessage,
1655
+ channelState: channelState,
1656
+ threadListState: threadListState,
1657
+ parentMessageState: parentMessageState,
1658
+ hasMorePrev: hasMorePrev,
1659
+ hasMoreNext: hasMoreNext,
1660
+ emojiContainer: emojiContainer,
1661
+ // hooks
1662
+ fetchPrevThreads: fetchPrevThreads,
1663
+ fetchNextThreads: fetchNextThreads,
1664
+ toggleReaction: toggleReaction,
1665
+ sendMessage: sendMessage,
1666
+ sendFileMessage: sendFileMessage,
1667
+ sendVoiceMessage: sendVoiceMessage,
1668
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
1669
+ resendMessage: resendMessage,
1670
+ updateMessage: updateMessage,
1671
+ deleteMessage: deleteMessage,
1672
+ // context
1673
+ nicknamesMap: nicknamesMap,
1674
+ isMuted: isMuted,
1675
+ isChannelFrozen: isChannelFrozen,
1676
+ currentUserId: currentUserId
1677
+ }
1678
+ }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
1679
+ disableUserProfile: disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : config.disableUserProfile,
1680
+ renderUserProfile: renderUserProfile,
1681
+ onUserProfileMessage: onUserProfileMessage
1682
+ }, children));
1683
+ };
1684
+ var useThreadContext = function () {
1685
+ return React__default["default"].useContext(ThreadContext);
1686
+ };
1687
+
1688
+ exports.ThreadProvider = ThreadProvider;
1689
+ exports.useThreadContext = useThreadContext;
31
1690
  //# sourceMappingURL=context.js.map