@sendbird/uikit-react 3.4.6 → 3.4.7-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/App.js +177 -172
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +44 -39
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +63 -61
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +52 -46
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +12 -9
  10. package/Channel/components/FrozenNotification.js.map +1 -1
  11. package/Channel/components/Message.js +165 -183
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +106 -113
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +128 -130
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +32 -28
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +134 -153
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +43 -42
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +18 -16
  24. package/Channel/components/UnreadCount.js.map +1 -1
  25. package/Channel/context.js +13 -14
  26. package/Channel/context.js.map +1 -1
  27. package/Channel.js +39 -40
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +27 -29
  30. package/ChannelList/components/AddChannel.js.map +1 -1
  31. package/ChannelList/components/ChannelListHeader.js +30 -21
  32. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  33. package/ChannelList/components/ChannelListUI.js +91 -98
  34. package/ChannelList/components/ChannelListUI.js.map +1 -1
  35. package/ChannelList/components/ChannelPreview.js +70 -73
  36. package/ChannelList/components/ChannelPreview.js.map +1 -1
  37. package/ChannelList/components/ChannelPreviewAction.js +30 -30
  38. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  39. package/ChannelList/context.js +7 -8
  40. package/ChannelList/context.js.map +1 -1
  41. package/ChannelList.js +30 -31
  42. package/ChannelList.js.map +1 -1
  43. package/{ChannelListProvider-a2f2ee4a.js → ChannelListProvider-c1d2f942.js} +160 -156
  44. package/ChannelListProvider-c1d2f942.js.map +1 -0
  45. package/{ChannelProvider-bb459e82.js → ChannelProvider-4ab3a851.js} +429 -412
  46. package/ChannelProvider-4ab3a851.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +33 -37
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsUI.js +45 -40
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  51. package/ChannelSettings/components/EditDetailsModal.js +47 -48
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  53. package/ChannelSettings/components/LeaveChannel.js +38 -35
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  55. package/ChannelSettings/components/ModerationPanel.js +511 -556
  56. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  57. package/ChannelSettings/components/UserListItem.js +69 -69
  58. package/ChannelSettings/components/UserListItem.js.map +1 -1
  59. package/ChannelSettings/components/UserPanel.js +25 -27
  60. package/ChannelSettings/components/UserPanel.js.map +1 -1
  61. package/ChannelSettings/context.js +53 -49
  62. package/ChannelSettings/context.js.map +1 -1
  63. package/ChannelSettings.js +19 -18
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +24 -21
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +92 -93
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +41 -35
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +22 -20
  73. package/CreateChannel.js.map +1 -1
  74. package/CreateChannelProvider-d2188082.js +44 -0
  75. package/CreateChannelProvider-d2188082.js.map +1 -0
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +33 -28
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +18 -16
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  83. package/EditUserProfile/context.js.map +1 -1
  84. package/EditUserProfile.js +18 -16
  85. package/EditUserProfile.js.map +1 -1
  86. package/LocalizationContext-9c54e783.js +20 -0
  87. package/{LocalizationContext-3d8c0b24.js.map → LocalizationContext-9c54e783.js.map} +1 -1
  88. package/MediaQueryContext-1988a4bc.js +82 -0
  89. package/MediaQueryContext-1988a4bc.js.map +1 -0
  90. package/MemberList-80ea8604.js +395 -0
  91. package/MemberList-80ea8604.js.map +1 -0
  92. package/Message/context.js +11 -10
  93. package/Message/context.js.map +1 -1
  94. package/MessageSearch/components/MessageSearchUI.js +59 -54
  95. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  96. package/MessageSearch/context.js +176 -165
  97. package/MessageSearch/context.js.map +1 -1
  98. package/MessageSearch.js +45 -47
  99. package/MessageSearch.js.map +1 -1
  100. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  101. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  102. package/OpenChannel/components/OpenChannelHeader.js +27 -22
  103. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelInput.js +32 -28
  105. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessage.js +171 -172
  107. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  108. package/OpenChannel/components/OpenChannelMessageList.js +60 -65
  109. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelUI.js +50 -48
  111. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  112. package/OpenChannel/context.js +8 -8
  113. package/OpenChannel.js +32 -33
  114. package/OpenChannel.js.map +1 -1
  115. package/OpenChannelList/components/OpenChannelListUI.js +58 -59
  116. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  117. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  118. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  119. package/OpenChannelList/context.js +3 -3
  120. package/OpenChannelList.js +24 -23
  121. package/OpenChannelList.js.map +1 -1
  122. package/{OpenChannelListProvider-f9ec8658.js → OpenChannelListProvider-c76663eb.js} +177 -155
  123. package/OpenChannelListProvider-c76663eb.js.map +1 -0
  124. package/OpenChannelProvider-fe3326aa.js +1883 -0
  125. package/{cjs/OpenChannelProvider-850b9cd0.js.map → OpenChannelProvider-fe3326aa.js.map} +1 -1
  126. package/OpenChannelSettings/components/EditDetailsModal.js +46 -46
  127. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  128. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
  129. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  130. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
  131. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  132. package/OpenChannelSettings/components/OperatorUI.js +508 -533
  133. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  134. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  135. package/OpenChannelSettings/context.js +54 -56
  136. package/OpenChannelSettings/context.js.map +1 -1
  137. package/OpenChannelSettings.js +19 -19
  138. package/OpenChannelSettings.js.map +1 -1
  139. package/RemoveMessageModal-99b5bab4.js +36 -0
  140. package/RemoveMessageModal-99b5bab4.js.map +1 -0
  141. package/SendbirdProvider.js +546 -405
  142. package/SendbirdProvider.js.map +1 -1
  143. package/Thread/components/ParentMessageInfo.js +157 -170
  144. package/Thread/components/ParentMessageInfo.js.map +1 -1
  145. package/Thread/components/ParentMessageInfoItem.js +68 -62
  146. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  147. package/Thread/components/ThreadHeader.js +22 -22
  148. package/Thread/components/ThreadHeader.js.map +1 -1
  149. package/Thread/components/ThreadList.js +82 -77
  150. package/Thread/components/ThreadList.js.map +1 -1
  151. package/Thread/components/ThreadListItem.js +208 -219
  152. package/Thread/components/ThreadListItem.js.map +1 -1
  153. package/Thread/components/ThreadMessageInput.js +103 -105
  154. package/Thread/components/ThreadMessageInput.js.map +1 -1
  155. package/Thread/components/ThreadUI.js +130 -116
  156. package/Thread/components/ThreadUI.js.map +1 -1
  157. package/Thread/context/types.js +9 -9
  158. package/Thread/context/types.js.map +1 -1
  159. package/Thread/context.js +8 -8
  160. package/Thread.js +55 -55
  161. package/Thread.js.map +1 -1
  162. package/ThreadProvider-0a3c5f37.js +1692 -0
  163. package/ThreadProvider-0a3c5f37.js.map +1 -0
  164. package/{UserProfileContext-41938ddc.js → UserProfileContext-a8aa4c0f.js} +1 -1
  165. package/{UserProfileContext-41938ddc.js.map → UserProfileContext-a8aa4c0f.js.map} +1 -1
  166. package/{VoiceMessageInputWrapper-0cd90994.js → VoiceMessageInputWrapper-ff160b51.js} +60 -59
  167. package/VoiceMessageInputWrapper-ff160b51.js.map +1 -0
  168. package/VoicePlayer/context.js +3 -3
  169. package/VoicePlayer/useVoicePlayer.js +38 -43
  170. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  171. package/VoiceRecorder/context.js +46 -45
  172. package/VoiceRecorder/context.js.map +1 -1
  173. package/VoiceRecorder/useVoiceRecorder.js +43 -40
  174. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  175. package/{WebAudioUtils-682aa6c0.js → WebAudioUtils-5f08f354.js} +37 -37
  176. package/{WebAudioUtils-682aa6c0.js.map → WebAudioUtils-5f08f354.js.map} +1 -1
  177. package/{_rollupPluginBabelHelpers-79f64283.js → _rollupPluginBabelHelpers-b2d9bfc5.js} +2 -2
  178. package/_rollupPluginBabelHelpers-b2d9bfc5.js.map +1 -0
  179. package/{actionTypes-52102db0.js → actionTypes-e436fe6c.js} +2 -2
  180. package/{actionTypes-52102db0.js.map → actionTypes-e436fe6c.js.map} +1 -1
  181. package/cjs/App.js +177 -172
  182. package/cjs/App.js.map +1 -1
  183. package/cjs/Channel/components/ChannelHeader.js +44 -39
  184. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  185. package/cjs/Channel/components/ChannelUI.js +63 -61
  186. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  187. package/cjs/Channel/components/FileViewer.js +52 -46
  188. package/cjs/Channel/components/FileViewer.js.map +1 -1
  189. package/cjs/Channel/components/FrozenNotification.js +12 -9
  190. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  191. package/cjs/Channel/components/Message.js +165 -183
  192. package/cjs/Channel/components/Message.js.map +1 -1
  193. package/cjs/Channel/components/MessageInput.js +106 -113
  194. package/cjs/Channel/components/MessageInput.js.map +1 -1
  195. package/cjs/Channel/components/MessageList.js +128 -130
  196. package/cjs/Channel/components/MessageList.js.map +1 -1
  197. package/cjs/Channel/components/RemoveMessageModal.js +32 -28
  198. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  199. package/cjs/Channel/components/SuggestedMentionList.js +134 -153
  200. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  201. package/cjs/Channel/components/TypingIndicator.js +43 -42
  202. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  203. package/cjs/Channel/components/UnreadCount.js +18 -16
  204. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  205. package/cjs/Channel/context.js +14 -18
  206. package/cjs/Channel/context.js.map +1 -1
  207. package/cjs/Channel.js +39 -40
  208. package/cjs/Channel.js.map +1 -1
  209. package/cjs/ChannelList/components/AddChannel.js +27 -29
  210. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  211. package/cjs/ChannelList/components/ChannelListHeader.js +30 -21
  212. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  213. package/cjs/ChannelList/components/ChannelListUI.js +91 -98
  214. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  215. package/cjs/ChannelList/components/ChannelPreview.js +70 -73
  216. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  217. package/cjs/ChannelList/components/ChannelPreviewAction.js +30 -30
  218. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  219. package/cjs/ChannelList/context.js +7 -8
  220. package/cjs/ChannelList/context.js.map +1 -1
  221. package/cjs/ChannelList.js +30 -31
  222. package/cjs/ChannelList.js.map +1 -1
  223. package/cjs/{ChannelListProvider-b0a363e0.js → ChannelListProvider-61d644da.js} +160 -156
  224. package/cjs/ChannelListProvider-61d644da.js.map +1 -0
  225. package/cjs/{ChannelProvider-cf5867c2.js → ChannelProvider-620bb354.js} +430 -412
  226. package/cjs/ChannelProvider-620bb354.js.map +1 -0
  227. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -37
  228. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  229. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -40
  230. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  231. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -48
  232. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  233. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -35
  234. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  235. package/cjs/ChannelSettings/components/ModerationPanel.js +511 -556
  236. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  237. package/cjs/ChannelSettings/components/UserListItem.js +69 -69
  238. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  239. package/cjs/ChannelSettings/components/UserPanel.js +25 -27
  240. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  241. package/cjs/ChannelSettings/context.js +53 -49
  242. package/cjs/ChannelSettings/context.js.map +1 -1
  243. package/cjs/ChannelSettings.js +19 -18
  244. package/cjs/ChannelSettings.js.map +1 -1
  245. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -21
  246. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  247. package/cjs/CreateChannel/components/InviteUsers.js +92 -93
  248. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  249. package/cjs/CreateChannel/components/SelectChannelType.js +41 -35
  250. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  251. package/cjs/CreateChannel/context.js +4 -4
  252. package/cjs/CreateChannel.js +22 -20
  253. package/cjs/CreateChannel.js.map +1 -1
  254. package/cjs/CreateChannelProvider-88b316a6.js +52 -0
  255. package/cjs/CreateChannelProvider-88b316a6.js.map +1 -0
  256. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
  257. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  258. package/cjs/CreateOpenChannel/context.js +33 -28
  259. package/cjs/CreateOpenChannel/context.js.map +1 -1
  260. package/cjs/CreateOpenChannel.js +18 -16
  261. package/cjs/CreateOpenChannel.js.map +1 -1
  262. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  263. package/cjs/EditUserProfile/context.js.map +1 -1
  264. package/cjs/EditUserProfile.js +18 -16
  265. package/cjs/EditUserProfile.js.map +1 -1
  266. package/cjs/{LocalizationContext-498cb747.js → LocalizationContext-af96cf5f.js} +9 -9
  267. package/cjs/{LocalizationContext-498cb747.js.map → LocalizationContext-af96cf5f.js.map} +1 -1
  268. package/cjs/MediaQueryContext-8ec3f647.js +89 -0
  269. package/cjs/MediaQueryContext-8ec3f647.js.map +1 -0
  270. package/cjs/MemberList-7513f386.js +401 -0
  271. package/cjs/MemberList-7513f386.js.map +1 -0
  272. package/cjs/Message/context.js +11 -10
  273. package/cjs/Message/context.js.map +1 -1
  274. package/cjs/MessageSearch/components/MessageSearchUI.js +59 -54
  275. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  276. package/cjs/MessageSearch/context.js +176 -165
  277. package/cjs/MessageSearch/context.js.map +1 -1
  278. package/cjs/MessageSearch.js +45 -47
  279. package/cjs/MessageSearch.js.map +1 -1
  280. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  281. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  282. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -22
  283. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  284. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -28
  285. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  286. package/cjs/OpenChannel/components/OpenChannelMessage.js +171 -172
  287. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  288. package/cjs/OpenChannel/components/OpenChannelMessageList.js +60 -65
  289. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  290. package/cjs/OpenChannel/components/OpenChannelUI.js +50 -48
  291. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  292. package/cjs/OpenChannel/context.js +8 -8
  293. package/cjs/OpenChannel.js +32 -33
  294. package/cjs/OpenChannel.js.map +1 -1
  295. package/cjs/OpenChannelList/components/OpenChannelListUI.js +58 -59
  296. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  297. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  298. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  299. package/cjs/OpenChannelList/context.js +3 -3
  300. package/cjs/OpenChannelList.js +24 -23
  301. package/cjs/OpenChannelList.js.map +1 -1
  302. package/cjs/OpenChannelListProvider-e78bf867.js +439 -0
  303. package/cjs/OpenChannelListProvider-e78bf867.js.map +1 -0
  304. package/cjs/OpenChannelProvider-ea1d7b37.js +1892 -0
  305. package/cjs/OpenChannelProvider-ea1d7b37.js.map +1 -0
  306. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +46 -46
  307. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  308. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
  309. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  310. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
  311. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  312. package/cjs/OpenChannelSettings/components/OperatorUI.js +508 -533
  313. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  314. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  315. package/cjs/OpenChannelSettings/context.js +54 -56
  316. package/cjs/OpenChannelSettings/context.js.map +1 -1
  317. package/cjs/OpenChannelSettings.js +19 -19
  318. package/cjs/OpenChannelSettings.js.map +1 -1
  319. package/cjs/{RemoveMessageModal-457b1535.js → RemoveMessageModal-15d1dcbd.js} +19 -13
  320. package/cjs/RemoveMessageModal-15d1dcbd.js.map +1 -0
  321. package/cjs/SendbirdProvider.js +546 -405
  322. package/cjs/SendbirdProvider.js.map +1 -1
  323. package/cjs/Thread/components/ParentMessageInfo.js +157 -170
  324. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  325. package/cjs/Thread/components/ParentMessageInfoItem.js +68 -62
  326. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  327. package/cjs/Thread/components/ThreadHeader.js +22 -22
  328. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  329. package/cjs/Thread/components/ThreadList.js +82 -77
  330. package/cjs/Thread/components/ThreadList.js.map +1 -1
  331. package/cjs/Thread/components/ThreadListItem.js +208 -219
  332. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  333. package/cjs/Thread/components/ThreadMessageInput.js +103 -105
  334. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  335. package/cjs/Thread/components/ThreadUI.js +130 -116
  336. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  337. package/cjs/Thread/context/types.js +13 -9
  338. package/cjs/Thread/context/types.js.map +1 -1
  339. package/cjs/Thread/context.js +8 -8
  340. package/cjs/Thread.js +55 -55
  341. package/cjs/Thread.js.map +1 -1
  342. package/cjs/ThreadProvider-572574d7.js +1701 -0
  343. package/cjs/ThreadProvider-572574d7.js.map +1 -0
  344. package/cjs/{UserProfileContext-617420c9.js → UserProfileContext-f068b0ba.js} +1 -1
  345. package/cjs/{UserProfileContext-617420c9.js.map → UserProfileContext-f068b0ba.js.map} +1 -1
  346. package/cjs/{VoiceMessageInputWrapper-43c29f38.js → VoiceMessageInputWrapper-db7f2b72.js} +60 -59
  347. package/cjs/VoiceMessageInputWrapper-db7f2b72.js.map +1 -0
  348. package/cjs/VoicePlayer/context.js +3 -3
  349. package/cjs/VoicePlayer/useVoicePlayer.js +38 -43
  350. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  351. package/cjs/VoiceRecorder/context.js +46 -45
  352. package/cjs/VoiceRecorder/context.js.map +1 -1
  353. package/cjs/VoiceRecorder/useVoiceRecorder.js +43 -40
  354. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  355. package/cjs/{WebAudioUtils-2b845cd2.js → WebAudioUtils-043bdeca.js} +37 -37
  356. package/cjs/{WebAudioUtils-2b845cd2.js.map → WebAudioUtils-043bdeca.js.map} +1 -1
  357. package/cjs/{_rollupPluginBabelHelpers-c2313dcd.js → _rollupPluginBabelHelpers-c5955c81.js} +2 -1
  358. package/cjs/_rollupPluginBabelHelpers-c5955c81.js.map +1 -0
  359. package/cjs/{actionTypes-0e0d2d59.js → actionTypes-f2efbb7c.js} +2 -2
  360. package/cjs/{actionTypes-0e0d2d59.js.map → actionTypes-f2efbb7c.js.map} +1 -1
  361. package/cjs/{color-7f7508e6.js → color-afeb8dc2.js} +13 -12
  362. package/cjs/color-afeb8dc2.js.map +1 -0
  363. package/cjs/{compareIds-27f7912f.js → compareIds-18b3b1d6.js} +1 -1
  364. package/cjs/{compareIds-27f7912f.js.map → compareIds-18b3b1d6.js.map} +1 -1
  365. package/cjs/const-6691e574.js +20 -0
  366. package/cjs/const-6691e574.js.map +1 -0
  367. package/cjs/{const-61fc7be6.js → const-ab0f6056.js} +4 -4
  368. package/cjs/{const-61fc7be6.js.map → const-ab0f6056.js.map} +1 -1
  369. package/cjs/consts-6ec77e9a.js +6 -0
  370. package/cjs/consts-6ec77e9a.js.map +1 -0
  371. package/cjs/consts-a422c2f9.js +6 -0
  372. package/cjs/{consts-46fa3a3a.js.map → consts-a422c2f9.js.map} +1 -1
  373. package/cjs/{consts-8605e767.js → consts-a5382bc1.js} +18 -14
  374. package/cjs/{consts-8605e767.js.map → consts-a5382bc1.js.map} +1 -1
  375. package/cjs/consts-bc27beff.js +6 -0
  376. package/cjs/{consts-ad849467.js.map → consts-bc27beff.js.map} +1 -1
  377. package/cjs/{context-a4af6955.js → context-60c4d3b7.js} +6 -5
  378. package/cjs/{context-a4af6955.js.map → context-60c4d3b7.js.map} +1 -1
  379. package/cjs/dist/index.css +197 -93
  380. package/cjs/dist/index.css.map +1 -1
  381. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  382. package/cjs/handlers/SessionHandler.js.map +1 -1
  383. package/cjs/index-0b344bd7.js +57 -0
  384. package/cjs/index-0b344bd7.js.map +1 -0
  385. package/cjs/{index-ac1b0ab9.js → index-4ee95667.js} +2 -4
  386. package/cjs/index-4ee95667.js.map +1 -0
  387. package/cjs/{index-67f813a3.js → index-68c57136.js} +1 -1
  388. package/cjs/{index-67f813a3.js.map → index-68c57136.js.map} +1 -1
  389. package/cjs/{index-a4887600.js → index-6cb4a530.js} +3 -12
  390. package/cjs/index-6cb4a530.js.map +1 -0
  391. package/cjs/{index-b8a20afd.js → index-73643285.js} +2 -2
  392. package/cjs/{index-b8a20afd.js.map → index-73643285.js.map} +1 -1
  393. package/cjs/index-76afc309.js +197 -0
  394. package/cjs/index-76afc309.js.map +1 -0
  395. package/cjs/{index-3626dfeb.js → index-8049c2a3.js} +22 -15
  396. package/cjs/index-8049c2a3.js.map +1 -0
  397. package/cjs/{index-8b6bb1ee.js → index-83d1d15e.js} +10 -30
  398. package/cjs/index-83d1d15e.js.map +1 -0
  399. package/cjs/{index-0dff9958.js → index-900dd19f.js} +37 -27
  400. package/cjs/index-900dd19f.js.map +1 -0
  401. package/cjs/index-9d518988.js +292 -0
  402. package/cjs/{index-cd680348.js.map → index-9d518988.js.map} +1 -1
  403. package/cjs/{index-8b5a13fe.js → index-a50b2339.js} +50 -50
  404. package/cjs/index-a50b2339.js.map +1 -0
  405. package/cjs/{index-ead97d9a.js → index-c1de8d8f.js} +37 -39
  406. package/cjs/{index-ead97d9a.js.map → index-c1de8d8f.js.map} +1 -1
  407. package/cjs/index-ec8b6978.js +361 -0
  408. package/cjs/index-ec8b6978.js.map +1 -0
  409. package/cjs/index-f2146bae.js +563 -0
  410. package/cjs/index-f2146bae.js.map +1 -0
  411. package/cjs/{index-71173fef.js → index-f65677b1.js} +56 -193
  412. package/cjs/index-f65677b1.js.map +1 -0
  413. package/cjs/{index-983f9d7a.js → index-ff8ea47f.js} +17 -17
  414. package/cjs/{index-983f9d7a.js.map → index-ff8ea47f.js.map} +1 -1
  415. package/cjs/index.js +51 -51
  416. package/cjs/{index.module-cf39e3b9.js → index.module-9f5edc7b.js} +1 -1
  417. package/cjs/{index.module-cf39e3b9.js.map → index.module-9f5edc7b.js.map} +1 -1
  418. package/cjs/lame.all.js.map +1 -1
  419. package/cjs/sendbirdSelectors.js +319 -371
  420. package/cjs/sendbirdSelectors.js.map +1 -1
  421. package/cjs/{stringSet-061fe0c1.js → stringSet-68748705.js} +2 -2
  422. package/cjs/stringSet-68748705.js.map +1 -0
  423. package/cjs/tokenize-d86ab0c7.js +140 -0
  424. package/cjs/tokenize-d86ab0c7.js.map +1 -0
  425. package/cjs/{topics-c8adbede.js → topics-825e5d42.js} +2 -2
  426. package/cjs/{topics-c8adbede.js.map → topics-825e5d42.js.map} +1 -1
  427. package/cjs/types-24accb8d.js +17 -0
  428. package/cjs/{types-beecfca4.js.map → types-24accb8d.js.map} +1 -1
  429. package/cjs/ui/Accordion.js +19 -18
  430. package/cjs/ui/Accordion.js.map +1 -1
  431. package/cjs/ui/AccordionGroup.js +10 -11
  432. package/cjs/ui/AccordionGroup.js.map +1 -1
  433. package/cjs/ui/AdminMessage.js +10 -10
  434. package/cjs/ui/AdminMessage.js.map +1 -1
  435. package/cjs/ui/Avatar.js +55 -59
  436. package/cjs/ui/Avatar.js.map +1 -1
  437. package/cjs/ui/Badge.js +16 -15
  438. package/cjs/ui/Badge.js.map +1 -1
  439. package/cjs/ui/BottomSheet.js +14 -10
  440. package/cjs/ui/BottomSheet.js.map +1 -1
  441. package/cjs/ui/Button.js +20 -24
  442. package/cjs/ui/Button.js.map +1 -1
  443. package/cjs/ui/ChannelAvatar.js +38 -41
  444. package/cjs/ui/ChannelAvatar.js.map +1 -1
  445. package/cjs/ui/Checkbox.js +9 -10
  446. package/cjs/ui/Checkbox.js.map +1 -1
  447. package/cjs/ui/ConnectionStatus.js +7 -5
  448. package/cjs/ui/ConnectionStatus.js.map +1 -1
  449. package/cjs/ui/ContextMenu.js +139 -135
  450. package/cjs/ui/ContextMenu.js.map +1 -1
  451. package/cjs/ui/DateSeparator.js +12 -14
  452. package/cjs/ui/DateSeparator.js.map +1 -1
  453. package/cjs/ui/EmojiReactions.js +78 -86
  454. package/cjs/ui/EmojiReactions.js.map +1 -1
  455. package/cjs/ui/FileMessageItemBody.js +22 -22
  456. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  457. package/cjs/ui/FileViewer.js +36 -35
  458. package/cjs/ui/FileViewer.js.map +1 -1
  459. package/cjs/ui/Icon.js +16 -16
  460. package/cjs/ui/Icon.js.map +1 -1
  461. package/cjs/ui/IconButton.js +20 -28
  462. package/cjs/ui/IconButton.js.map +1 -1
  463. package/cjs/ui/ImageRenderer.js +33 -39
  464. package/cjs/ui/ImageRenderer.js.map +1 -1
  465. package/cjs/ui/Input.js +16 -14
  466. package/cjs/ui/Input.js.map +1 -1
  467. package/cjs/ui/Label.js +2 -2
  468. package/cjs/ui/LinkLabel.js +2 -2
  469. package/cjs/ui/LinkLabel.js.map +1 -1
  470. package/cjs/ui/Loader.js +10 -12
  471. package/cjs/ui/Loader.js.map +1 -1
  472. package/cjs/ui/MentionLabel.js +58 -61
  473. package/cjs/ui/MentionLabel.js.map +1 -1
  474. package/cjs/ui/MentionUserLabel.js +10 -10
  475. package/cjs/ui/MentionUserLabel.js.map +1 -1
  476. package/cjs/ui/MessageContent.js +273 -270
  477. package/cjs/ui/MessageContent.js.map +1 -1
  478. package/cjs/ui/MessageInput.js +87 -79
  479. package/cjs/ui/MessageInput.js.map +1 -1
  480. package/cjs/ui/MessageItemMenu.js +70 -72
  481. package/cjs/ui/MessageItemMenu.js.map +1 -1
  482. package/cjs/ui/MessageItemReactionMenu.js +50 -57
  483. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  484. package/cjs/ui/MessageSearchFileItem.js +49 -38
  485. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  486. package/cjs/ui/MessageSearchItem.js +40 -32
  487. package/cjs/ui/MessageSearchItem.js.map +1 -1
  488. package/cjs/ui/MessageStatus.js +10 -10
  489. package/cjs/ui/Modal.js +52 -45
  490. package/cjs/ui/Modal.js.map +1 -1
  491. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  492. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  493. package/cjs/ui/OGMessageItemBody.js +48 -44
  494. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  495. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  496. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  497. package/cjs/ui/OpenChannelAvatar.js +18 -17
  498. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  499. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  500. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  501. package/cjs/ui/OpenchannelFileMessage.js +134 -140
  502. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  503. package/cjs/ui/OpenchannelOGMessage.js +177 -176
  504. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  505. package/cjs/ui/OpenchannelThumbnailMessage.js +209 -214
  506. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  507. package/cjs/ui/OpenchannelUserMessage.js +159 -164
  508. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  509. package/cjs/ui/PlaceHolder.js +5 -6
  510. package/cjs/ui/PlaceHolder.js.map +1 -1
  511. package/cjs/ui/PlaybackTime.js +15 -16
  512. package/cjs/ui/PlaybackTime.js.map +1 -1
  513. package/cjs/ui/ProgressBar.js +13 -15
  514. package/cjs/ui/ProgressBar.js.map +1 -1
  515. package/cjs/ui/QuoteMessage.js +42 -38
  516. package/cjs/ui/QuoteMessage.js.map +1 -1
  517. package/cjs/ui/QuoteMessageInput.js +27 -23
  518. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  519. package/cjs/ui/ReactionBadge.js +13 -17
  520. package/cjs/ui/ReactionBadge.js.map +1 -1
  521. package/cjs/ui/ReactionButton.js +15 -18
  522. package/cjs/ui/ReactionButton.js.map +1 -1
  523. package/cjs/ui/SortByRow.js +14 -14
  524. package/cjs/ui/SortByRow.js.map +1 -1
  525. package/cjs/ui/TextButton.js +13 -21
  526. package/cjs/ui/TextButton.js.map +1 -1
  527. package/cjs/ui/TextMessageItemBody.js +31 -31
  528. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  529. package/cjs/ui/ThreadReplies.js +25 -21
  530. package/cjs/ui/ThreadReplies.js.map +1 -1
  531. package/cjs/ui/ThumbnailMessageItemBody.js +32 -37
  532. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  533. package/cjs/ui/Toggle.js +202 -0
  534. package/cjs/ui/Toggle.js.map +1 -0
  535. package/cjs/ui/Tooltip.js +8 -9
  536. package/cjs/ui/Tooltip.js.map +1 -1
  537. package/cjs/ui/TooltipWrapper.js +17 -18
  538. package/cjs/ui/TooltipWrapper.js.map +1 -1
  539. package/cjs/ui/UnknownMessageItemBody.js +19 -18
  540. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  541. package/cjs/ui/UserListItem.js +72 -73
  542. package/cjs/ui/UserListItem.js.map +1 -1
  543. package/cjs/ui/UserProfile.js +30 -25
  544. package/cjs/ui/UserProfile.js.map +1 -1
  545. package/cjs/ui/VoiceMessageItemBody.js +37 -42
  546. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  547. package/cjs/ui/VoiceMessgeInput.js +7 -8
  548. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  549. package/cjs/ui/Word.js +26 -27
  550. package/cjs/ui/Word.js.map +1 -1
  551. package/cjs/useLongPress-d9deb354.js +83 -0
  552. package/cjs/{useLongPress-f3ee01a0.js.map → useLongPress-d9deb354.js.map} +1 -1
  553. package/cjs/useSendbirdStateContext.js +2 -2
  554. package/cjs/useSendbirdStateContext.js.map +1 -1
  555. package/cjs/utils/message/getOutgoingMessageState.js +16 -14
  556. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  557. package/cjs/utils/message/isVoiceMessage.js +3 -3
  558. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  559. package/cjs/{utils-98ac09d1.js → utils-21326993.js} +3 -3
  560. package/cjs/{utils-98ac09d1.js.map → utils-21326993.js.map} +1 -1
  561. package/cjs/utils-4b74ea64.js +31 -0
  562. package/cjs/utils-4b74ea64.js.map +1 -0
  563. package/cjs/utils-7f75ad97.js +35 -0
  564. package/cjs/utils-7f75ad97.js.map +1 -0
  565. package/cjs/{utils-1038446c.js → utils-d5176360.js} +1 -1
  566. package/cjs/{utils-1038446c.js.map → utils-d5176360.js.map} +1 -1
  567. package/cjs/uuid-0b4ed44c.js +15 -0
  568. package/cjs/{uuid-1ffa3b79.js.map → uuid-0b4ed44c.js.map} +1 -1
  569. package/cjs/withSendbird.js +15 -16
  570. package/cjs/withSendbird.js.map +1 -1
  571. package/{color-73049158.js → color-3bac434a.js} +5 -5
  572. package/{color-73049158.js.map → color-3bac434a.js.map} +1 -1
  573. package/{compareIds-88bffa50.js → compareIds-1e0e668f.js} +1 -1
  574. package/{compareIds-88bffa50.js.map → compareIds-1e0e668f.js.map} +1 -1
  575. package/const-5f722b91.js +13 -0
  576. package/const-5f722b91.js.map +1 -0
  577. package/{const-2919bc87.js → const-6a07b718.js} +4 -4
  578. package/{const-2919bc87.js.map → const-6a07b718.js.map} +1 -1
  579. package/consts-790ae3a9.js +4 -0
  580. package/{consts-0ea80430.js.map → consts-790ae3a9.js.map} +1 -1
  581. package/consts-aadaccca.js +4 -0
  582. package/consts-aadaccca.js.map +1 -0
  583. package/consts-c9746f2b.js +27 -0
  584. package/{consts-966c9540.js.map → consts-c9746f2b.js.map} +1 -1
  585. package/consts-d4c78cc0.js +4 -0
  586. package/consts-d4c78cc0.js.map +1 -0
  587. package/context-fcbabe23.js +13 -0
  588. package/{context-9baa8d25.js.map → context-fcbabe23.js.map} +1 -1
  589. package/dist/index.css +197 -93
  590. package/dist/index.css.map +1 -1
  591. package/handlers/OpenChannelHandler.js.map +1 -1
  592. package/handlers/SessionHandler.js.map +1 -1
  593. package/{index-d37f34a3.js → index-1a3c0d72.js} +2 -4
  594. package/index-1a3c0d72.js.map +1 -0
  595. package/{index-ad125f51.js → index-2a938266.js} +1 -1
  596. package/{index-ad125f51.js.map → index-2a938266.js.map} +1 -1
  597. package/{index-ac5ad4f9.js → index-3062a861.js} +3 -12
  598. package/index-3062a861.js.map +1 -0
  599. package/index-38a78d99.js +283 -0
  600. package/{index-fd4fc9f0.js.map → index-38a78d99.js.map} +1 -1
  601. package/{index-cce0e324.js → index-4111594a.js} +2 -2
  602. package/{index-cce0e324.js.map → index-4111594a.js.map} +1 -1
  603. package/{index-61a102d7.js → index-51bd074f.js} +37 -27
  604. package/index-51bd074f.js.map +1 -0
  605. package/{index-fa96d1c0.js → index-59bd3da1.js} +50 -50
  606. package/index-59bd3da1.js.map +1 -0
  607. package/{index-91355132.js → index-77f3d9b0.js} +17 -17
  608. package/{index-91355132.js.map → index-77f3d9b0.js.map} +1 -1
  609. package/{index-a9183365.js → index-83600696.js} +37 -39
  610. package/{index-a9183365.js.map → index-83600696.js.map} +1 -1
  611. package/index-8df6bff0.js +51 -0
  612. package/index-8df6bff0.js.map +1 -0
  613. package/{index-aaa9b9f8.js → index-a9ddd0f5.js} +10 -30
  614. package/index-a9ddd0f5.js.map +1 -0
  615. package/index-c7cc73db.js +182 -0
  616. package/index-c7cc73db.js.map +1 -0
  617. package/{index-9cead71b.js → index-cfd0e4c4.js} +22 -15
  618. package/index-cfd0e4c4.js.map +1 -0
  619. package/index-dbe0e004.js +520 -0
  620. package/index-dbe0e004.js.map +1 -0
  621. package/index-ef0bd198.js +354 -0
  622. package/index-ef0bd198.js.map +1 -0
  623. package/{index-95b46112.js → index-f48cfdf7.js} +56 -193
  624. package/index-f48cfdf7.js.map +1 -0
  625. package/index.d.ts +38 -8
  626. package/index.js +51 -51
  627. package/{index.module-e6530c0d.js → index.module-ab8289c1.js} +1 -1
  628. package/{index.module-e6530c0d.js.map → index.module-ab8289c1.js.map} +1 -1
  629. package/lame.all.js.map +1 -1
  630. package/package.json +21 -3
  631. package/sendbirdSelectors.js +319 -371
  632. package/sendbirdSelectors.js.map +1 -1
  633. package/{stringSet-9d579825.js → stringSet-1f18348a.js} +2 -2
  634. package/stringSet-1f18348a.js.map +1 -0
  635. package/tokenize-63d895d3.js +135 -0
  636. package/tokenize-63d895d3.js.map +1 -0
  637. package/{topics-f9301447.js → topics-d8d10f83.js} +2 -2
  638. package/{topics-f9301447.js.map → topics-d8d10f83.js.map} +1 -1
  639. package/types-a85de720.js +15 -0
  640. package/{types-d0a9adf8.js.map → types-a85de720.js.map} +1 -1
  641. package/ui/Accordion.js +19 -18
  642. package/ui/Accordion.js.map +1 -1
  643. package/ui/AccordionGroup.js +10 -11
  644. package/ui/AccordionGroup.js.map +1 -1
  645. package/ui/AdminMessage.js +10 -10
  646. package/ui/AdminMessage.js.map +1 -1
  647. package/ui/Avatar.js +55 -59
  648. package/ui/Avatar.js.map +1 -1
  649. package/ui/Badge.js +16 -15
  650. package/ui/Badge.js.map +1 -1
  651. package/ui/BottomSheet.js +14 -10
  652. package/ui/BottomSheet.js.map +1 -1
  653. package/ui/Button.js +20 -24
  654. package/ui/Button.js.map +1 -1
  655. package/ui/ChannelAvatar.js +38 -41
  656. package/ui/ChannelAvatar.js.map +1 -1
  657. package/ui/Checkbox.js +9 -10
  658. package/ui/Checkbox.js.map +1 -1
  659. package/ui/ConnectionStatus.js +7 -5
  660. package/ui/ConnectionStatus.js.map +1 -1
  661. package/ui/ContextMenu.js +139 -135
  662. package/ui/ContextMenu.js.map +1 -1
  663. package/ui/DateSeparator.js +12 -14
  664. package/ui/DateSeparator.js.map +1 -1
  665. package/ui/EmojiReactions.js +78 -86
  666. package/ui/EmojiReactions.js.map +1 -1
  667. package/ui/FileMessageItemBody.js +22 -22
  668. package/ui/FileMessageItemBody.js.map +1 -1
  669. package/ui/FileViewer.js +36 -35
  670. package/ui/FileViewer.js.map +1 -1
  671. package/ui/Icon.js +2 -2
  672. package/ui/Icon.js.map +1 -1
  673. package/ui/IconButton.js +20 -28
  674. package/ui/IconButton.js.map +1 -1
  675. package/ui/ImageRenderer.js +33 -39
  676. package/ui/ImageRenderer.js.map +1 -1
  677. package/ui/Input.js +16 -14
  678. package/ui/Input.js.map +1 -1
  679. package/ui/Label.js +2 -2
  680. package/ui/LinkLabel.js +2 -2
  681. package/ui/LinkLabel.js.map +1 -1
  682. package/ui/Loader.js +10 -12
  683. package/ui/Loader.js.map +1 -1
  684. package/ui/MentionLabel.js +58 -61
  685. package/ui/MentionLabel.js.map +1 -1
  686. package/ui/MentionUserLabel.js +10 -10
  687. package/ui/MentionUserLabel.js.map +1 -1
  688. package/ui/MessageContent.js +273 -270
  689. package/ui/MessageContent.js.map +1 -1
  690. package/ui/MessageInput.js +87 -79
  691. package/ui/MessageInput.js.map +1 -1
  692. package/ui/MessageItemMenu.js +70 -72
  693. package/ui/MessageItemMenu.js.map +1 -1
  694. package/ui/MessageItemReactionMenu.js +50 -57
  695. package/ui/MessageItemReactionMenu.js.map +1 -1
  696. package/ui/MessageSearchFileItem.js +49 -38
  697. package/ui/MessageSearchFileItem.js.map +1 -1
  698. package/ui/MessageSearchItem.js +40 -32
  699. package/ui/MessageSearchItem.js.map +1 -1
  700. package/ui/MessageStatus.js +10 -10
  701. package/ui/Modal.js +52 -45
  702. package/ui/Modal.js.map +1 -1
  703. package/ui/MutedAvatarOverlay.js +10 -10
  704. package/ui/MutedAvatarOverlay.js.map +1 -1
  705. package/ui/OGMessageItemBody.js +48 -44
  706. package/ui/OGMessageItemBody.js.map +1 -1
  707. package/ui/OpenChannelAdminMessage.js +8 -7
  708. package/ui/OpenChannelAdminMessage.js.map +1 -1
  709. package/ui/OpenChannelAvatar.js +18 -17
  710. package/ui/OpenChannelAvatar.js.map +1 -1
  711. package/ui/OpenchannelConversationHeader.js +17 -13
  712. package/ui/OpenchannelConversationHeader.js.map +1 -1
  713. package/ui/OpenchannelFileMessage.js +134 -140
  714. package/ui/OpenchannelFileMessage.js.map +1 -1
  715. package/ui/OpenchannelOGMessage.js +177 -176
  716. package/ui/OpenchannelOGMessage.js.map +1 -1
  717. package/ui/OpenchannelThumbnailMessage.js +209 -214
  718. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  719. package/ui/OpenchannelUserMessage.js +159 -164
  720. package/ui/OpenchannelUserMessage.js.map +1 -1
  721. package/ui/PlaceHolder.js +5 -6
  722. package/ui/PlaceHolder.js.map +1 -1
  723. package/ui/PlaybackTime.js +15 -16
  724. package/ui/PlaybackTime.js.map +1 -1
  725. package/ui/ProgressBar.js +13 -15
  726. package/ui/ProgressBar.js.map +1 -1
  727. package/ui/QuoteMessage.js +42 -38
  728. package/ui/QuoteMessage.js.map +1 -1
  729. package/ui/QuoteMessageInput.js +27 -23
  730. package/ui/QuoteMessageInput.js.map +1 -1
  731. package/ui/ReactionBadge.js +13 -17
  732. package/ui/ReactionBadge.js.map +1 -1
  733. package/ui/ReactionButton.js +15 -18
  734. package/ui/ReactionButton.js.map +1 -1
  735. package/ui/SortByRow.js +14 -14
  736. package/ui/SortByRow.js.map +1 -1
  737. package/ui/TextButton.js +13 -21
  738. package/ui/TextButton.js.map +1 -1
  739. package/ui/TextMessageItemBody.js +31 -31
  740. package/ui/TextMessageItemBody.js.map +1 -1
  741. package/ui/ThreadReplies.js +25 -21
  742. package/ui/ThreadReplies.js.map +1 -1
  743. package/ui/ThumbnailMessageItemBody.js +32 -37
  744. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  745. package/ui/Toggle.js +191 -0
  746. package/ui/Toggle.js.map +1 -0
  747. package/ui/Tooltip.js +8 -9
  748. package/ui/Tooltip.js.map +1 -1
  749. package/ui/TooltipWrapper.js +17 -18
  750. package/ui/TooltipWrapper.js.map +1 -1
  751. package/ui/UnknownMessageItemBody.js +19 -18
  752. package/ui/UnknownMessageItemBody.js.map +1 -1
  753. package/ui/UserListItem.js +72 -73
  754. package/ui/UserListItem.js.map +1 -1
  755. package/ui/UserProfile.js +30 -25
  756. package/ui/UserProfile.js.map +1 -1
  757. package/ui/VoiceMessageItemBody.js +37 -42
  758. package/ui/VoiceMessageItemBody.js.map +1 -1
  759. package/ui/VoiceMessgeInput.js +7 -8
  760. package/ui/VoiceMessgeInput.js.map +1 -1
  761. package/ui/Word.js +26 -27
  762. package/ui/Word.js.map +1 -1
  763. package/useLongPress-8acf717c.js +81 -0
  764. package/{useLongPress-f119ff35.js.map → useLongPress-8acf717c.js.map} +1 -1
  765. package/useSendbirdStateContext.js +2 -2
  766. package/useSendbirdStateContext.js.map +1 -1
  767. package/utils/message/getOutgoingMessageState.js +9 -8
  768. package/utils/message/getOutgoingMessageState.js.map +1 -1
  769. package/utils/message/isVoiceMessage.js +3 -3
  770. package/utils/message/isVoiceMessage.js.map +1 -1
  771. package/{utils-86d65b96.js → utils-0c09801e.js} +1 -1
  772. package/{utils-86d65b96.js.map → utils-0c09801e.js.map} +1 -1
  773. package/utils-447a922e.js +31 -0
  774. package/utils-447a922e.js.map +1 -0
  775. package/{utils-e53018f1.js → utils-83bbfb63.js} +3 -3
  776. package/{utils-e53018f1.js.map → utils-83bbfb63.js.map} +1 -1
  777. package/utils-b57bff14.js +29 -0
  778. package/utils-b57bff14.js.map +1 -0
  779. package/uuid-48baadaf.js +13 -0
  780. package/{uuid-86cb48e0.js.map → uuid-48baadaf.js.map} +1 -1
  781. package/withSendbird.js +15 -16
  782. package/withSendbird.js.map +1 -1
  783. package/ChannelListProvider-a2f2ee4a.js.map +0 -1
  784. package/ChannelProvider-bb459e82.js.map +0 -1
  785. package/CreateChannelProvider-a935d833.js +0 -48
  786. package/CreateChannelProvider-a935d833.js.map +0 -1
  787. package/LocalizationContext-3d8c0b24.js +0 -20
  788. package/MediaQueryContext-1348e37b.js +0 -80
  789. package/MediaQueryContext-1348e37b.js.map +0 -1
  790. package/MemberList-d8124d7e.js +0 -412
  791. package/MemberList-d8124d7e.js.map +0 -1
  792. package/OpenChannelListProvider-f9ec8658.js.map +0 -1
  793. package/OpenChannelProvider-36d0dd05.js +0 -1844
  794. package/OpenChannelProvider-36d0dd05.js.map +0 -1
  795. package/RemoveMessageModal-7852c71d.js +0 -30
  796. package/RemoveMessageModal-7852c71d.js.map +0 -1
  797. package/ThreadProvider-43c384e9.js +0 -1623
  798. package/ThreadProvider-43c384e9.js.map +0 -1
  799. package/VoiceMessageInputWrapper-0cd90994.js.map +0 -1
  800. package/_rollupPluginBabelHelpers-79f64283.js.map +0 -1
  801. package/cjs/ChannelListProvider-b0a363e0.js.map +0 -1
  802. package/cjs/ChannelProvider-cf5867c2.js.map +0 -1
  803. package/cjs/CreateChannelProvider-f82d812f.js +0 -55
  804. package/cjs/CreateChannelProvider-f82d812f.js.map +0 -1
  805. package/cjs/MediaQueryContext-b9c2ec1f.js +0 -87
  806. package/cjs/MediaQueryContext-b9c2ec1f.js.map +0 -1
  807. package/cjs/MemberList-13ba769f.js +0 -418
  808. package/cjs/MemberList-13ba769f.js.map +0 -1
  809. package/cjs/OpenChannelListProvider-02d6d44b.js +0 -416
  810. package/cjs/OpenChannelListProvider-02d6d44b.js.map +0 -1
  811. package/cjs/OpenChannelProvider-850b9cd0.js +0 -1853
  812. package/cjs/RemoveMessageModal-457b1535.js.map +0 -1
  813. package/cjs/ThreadProvider-37f2f0a3.js +0 -1632
  814. package/cjs/ThreadProvider-37f2f0a3.js.map +0 -1
  815. package/cjs/VoiceMessageInputWrapper-43c29f38.js.map +0 -1
  816. package/cjs/_rollupPluginBabelHelpers-c2313dcd.js.map +0 -1
  817. package/cjs/color-7f7508e6.js.map +0 -1
  818. package/cjs/const-e22c9d25.js +0 -19
  819. package/cjs/const-e22c9d25.js.map +0 -1
  820. package/cjs/consts-3764bd68.js +0 -6
  821. package/cjs/consts-3764bd68.js.map +0 -1
  822. package/cjs/consts-46fa3a3a.js +0 -6
  823. package/cjs/consts-ad849467.js +0 -6
  824. package/cjs/index-0b9ad941.js +0 -346
  825. package/cjs/index-0b9ad941.js.map +0 -1
  826. package/cjs/index-0dff9958.js.map +0 -1
  827. package/cjs/index-2ac1f908.js +0 -649
  828. package/cjs/index-2ac1f908.js.map +0 -1
  829. package/cjs/index-3626dfeb.js.map +0 -1
  830. package/cjs/index-71173fef.js.map +0 -1
  831. package/cjs/index-8b5a13fe.js.map +0 -1
  832. package/cjs/index-8b6bb1ee.js.map +0 -1
  833. package/cjs/index-a415176f.js +0 -192
  834. package/cjs/index-a415176f.js.map +0 -1
  835. package/cjs/index-a4887600.js.map +0 -1
  836. package/cjs/index-ac1b0ab9.js.map +0 -1
  837. package/cjs/index-cd680348.js +0 -271
  838. package/cjs/index-ddcf90b1.js +0 -59
  839. package/cjs/index-ddcf90b1.js.map +0 -1
  840. package/cjs/stringSet-061fe0c1.js.map +0 -1
  841. package/cjs/tokenize-7e34a56e.js +0 -141
  842. package/cjs/tokenize-7e34a56e.js.map +0 -1
  843. package/cjs/tslib.es6-8f4b0cfe.js +0 -97
  844. package/cjs/tslib.es6-8f4b0cfe.js.map +0 -1
  845. package/cjs/types-beecfca4.js +0 -11
  846. package/cjs/useLongPress-f3ee01a0.js +0 -100
  847. package/cjs/utils-3f3c2287.js +0 -27
  848. package/cjs/utils-3f3c2287.js.map +0 -1
  849. package/cjs/utils-6a97ff3a.js +0 -35
  850. package/cjs/utils-6a97ff3a.js.map +0 -1
  851. package/cjs/uuid-1ffa3b79.js +0 -17
  852. package/const-df1daff9.js +0 -13
  853. package/const-df1daff9.js.map +0 -1
  854. package/consts-0ea80430.js +0 -4
  855. package/consts-1861f891.js +0 -4
  856. package/consts-1861f891.js.map +0 -1
  857. package/consts-966c9540.js +0 -23
  858. package/consts-f4362414.js +0 -4
  859. package/consts-f4362414.js.map +0 -1
  860. package/context-9baa8d25.js +0 -12
  861. package/index-179bed8d.js +0 -177
  862. package/index-179bed8d.js.map +0 -1
  863. package/index-61a102d7.js.map +0 -1
  864. package/index-95b46112.js.map +0 -1
  865. package/index-9cead71b.js.map +0 -1
  866. package/index-aaa9b9f8.js.map +0 -1
  867. package/index-ac5ad4f9.js.map +0 -1
  868. package/index-c70af435.js +0 -53
  869. package/index-c70af435.js.map +0 -1
  870. package/index-d37f34a3.js.map +0 -1
  871. package/index-e378ca4e.js +0 -607
  872. package/index-e378ca4e.js.map +0 -1
  873. package/index-f0f9692b.js +0 -339
  874. package/index-f0f9692b.js.map +0 -1
  875. package/index-fa96d1c0.js.map +0 -1
  876. package/index-fd4fc9f0.js +0 -262
  877. package/stringSet-9d579825.js.map +0 -1
  878. package/tokenize-bd8e35b2.js +0 -136
  879. package/tokenize-bd8e35b2.js.map +0 -1
  880. package/tslib.es6-d6e50ec3.js +0 -92
  881. package/tslib.es6-d6e50ec3.js.map +0 -1
  882. package/types-d0a9adf8.js +0 -9
  883. package/useLongPress-f119ff35.js +0 -98
  884. package/utils-0c8334fa.js +0 -25
  885. package/utils-0c8334fa.js.map +0 -1
  886. package/utils-e659e765.js +0 -31
  887. package/utils-e659e765.js.map +0 -1
  888. package/uuid-86cb48e0.js +0 -15
@@ -1,1632 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var index = require('./index-71173fef.js');
5
- var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
6
- var UserProfileContext = require('./UserProfileContext-617420c9.js');
7
- var useSendbirdStateContext = require('./useSendbirdStateContext.js');
8
- var tslib_es6 = require('./tslib.es6-8f4b0cfe.js');
9
- var Thread_context_types = require('./Thread/context/types.js');
10
- var SendbirdChat = require('@sendbird/chat');
11
- var topics = require('./topics-c8adbede.js');
12
- var groupChannel = require('@sendbird/chat/groupChannel');
13
- var uuid = require('./uuid-1ffa3b79.js');
14
- var message = require('@sendbird/chat/message');
15
- var consts = require('./consts-8605e767.js');
16
-
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
-
21
- var getNicknamesMapFromMembers = function (members) {
22
- if (members === void 0) {
23
- members = [];
24
- }
25
- var nicknamesMap = new Map();
26
- for (var memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
27
- var _a = members[memberIndex],
28
- userId = _a.userId,
29
- nickname = _a.nickname;
30
- nicknamesMap.set(userId, nickname);
31
- }
32
- return nicknamesMap;
33
- };
34
- var getParentMessageFrom = function (message) {
35
- if (isParentMessage(message)) {
36
- return message;
37
- }
38
- if (isThreadMessage(message)) {
39
- return message === null || message === void 0 ? void 0 : message.parentMessage;
40
- }
41
- return null;
42
- };
43
- var isParentMessage = function (message) {
44
- return (message === null || message === void 0 ? void 0 : message.parentMessage) === null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && !(message === null || message === void 0 ? void 0 : message.parentMessageId);
45
- };
46
- var isThreadMessage = function (message) {
47
- return (message === null || message === void 0 ? void 0 : message.parentMessage) !== null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0 && (message === null || message === void 0 ? void 0 : message.threadInfo) === null;
48
- };
49
- var isAboutSame = function (a, b, px) {
50
- return Math.abs(a - b) <= px;
51
- };
52
- var isEmpty = function (val) {
53
- return val === null || val === undefined;
54
- };
55
- // Some Ids return string and number inconsistently
56
- // only use to comapre IDs
57
- function compareIds(a, b) {
58
- if (isEmpty(a) || isEmpty(b)) {
59
- return false;
60
- }
61
- var aString = a.toString();
62
- var bString = b.toString();
63
- return aString === bString;
64
- }
65
- var getMessageCreatedAt = function (message) {
66
- return index.format(message.createdAt, 'p');
67
- };
68
- var isReadMessage = function (channel, message) {
69
- return utils_message_getOutgoingMessageState.getOutgoingMessageState(channel, message) === utils_message_getOutgoingMessageState.OutgoingMessageStates.READ;
70
- };
71
- var isSameGroup = function (message, comparingMessage, currentChannel) {
72
- var _a, _b, _c, _d;
73
- if (!(message && comparingMessage && message.messageType && message.messageType !== 'admin' && comparingMessage.messageType && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) !== 'admin' && (message === null || message === void 0 ? void 0 : message.sender) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) && (message === null || message === void 0 ? void 0 : message.createdAt) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.createdAt) && ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId) && ((_b = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _b === void 0 ? void 0 : _b.userId))) {
74
- return false;
75
- }
76
- return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && ((_c = message === null || message === void 0 ? void 0 : message.sender) === null || _c === void 0 ? void 0 : _c.userId) === ((_d = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _d === void 0 ? void 0 : _d.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage) && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage);
77
- };
78
- var compareMessagesForGrouping = function (prevMessage, currMessage, nextMessage, currentChannel, replyType) {
79
- if (replyType === 'THREAD' && (currMessage === null || currMessage === void 0 ? void 0 : currMessage.threadInfo)) {
80
- return [false, false];
81
- }
82
- var sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
83
- var isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
84
- return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
85
- };
86
- var scrollIntoLast = function (intialTry) {
87
- if (intialTry === void 0) {
88
- intialTry = 0;
89
- }
90
- var MAX_TRIES = 10;
91
- var currentTry = intialTry;
92
- if (currentTry > MAX_TRIES) {
93
- return;
94
- }
95
- try {
96
- var scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');
97
- // eslint-disable-next-line no-multi-assign
98
- scrollDOM.scrollTop = scrollDOM.scrollHeight;
99
- } catch (error) {
100
- setTimeout(function () {
101
- scrollIntoLast(currentTry + 1);
102
- }, 500 * currentTry);
103
- }
104
- };
105
-
106
- var PREV_THREADS_FETCH_SIZE = 30;
107
- var NEXT_THREADS_FETCH_SIZE = 30;
108
-
109
- var ThreadContextActionTypes;
110
- (function (ThreadContextActionTypes) {
111
- // initialize
112
- ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
113
- // channel
114
- ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
115
- ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
116
- ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
117
- // emojis
118
- ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
119
- // parent message
120
- ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
121
- ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
122
- ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
123
- // fetch threads
124
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
125
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
126
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
127
- ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
128
- ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
129
- ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
130
- ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
131
- ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
132
- ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
133
- // handle messages
134
- ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
135
- ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
136
- ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
137
- ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
138
- ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
139
- // event handlers - message status change
140
- ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
141
- ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
142
- ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
143
- ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
144
- // event handlers - user status change
145
- ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
146
- ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
147
- ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
148
- ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
149
- ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
150
- // event handler - channel status change
151
- ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
152
- ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
153
- ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
154
- })(ThreadContextActionTypes || (ThreadContextActionTypes = {}));
155
-
156
- function reducer(state, action) {
157
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
158
- switch (action.type) {
159
- // initialize
160
- case ThreadContextActionTypes.INIT_USER_ID:
161
- {
162
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
163
- currentUserId: action.payload
164
- });
165
- }
166
- case ThreadContextActionTypes.GET_CHANNEL_START:
167
- {
168
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
169
- channelState: Thread_context_types.ChannelStateTypes.LOADING,
170
- currentChannel: null
171
- });
172
- }
173
- case ThreadContextActionTypes.GET_CHANNEL_SUCCESS:
174
- {
175
- var groupChannel = action.payload.groupChannel;
176
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
177
- channelState: Thread_context_types.ChannelStateTypes.INITIALIZED,
178
- currentChannel: groupChannel,
179
- // only support in normal group channel
180
- isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) {
181
- return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId;
182
- })) === null || _b === void 0 ? void 0 : _b.isMuted) || false,
183
- isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false
184
- });
185
- }
186
- case ThreadContextActionTypes.GET_CHANNEL_FAILURE:
187
- {
188
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
189
- channelState: Thread_context_types.ChannelStateTypes.INVALID,
190
- currentChannel: null
191
- });
192
- }
193
- case ThreadContextActionTypes.SET_EMOJI_CONTAINER:
194
- {
195
- var emojiContainer = action.payload.emojiContainer;
196
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
197
- emojiContainer: emojiContainer
198
- });
199
- }
200
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_START:
201
- {
202
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
203
- parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING,
204
- parentMessage: null
205
- });
206
- }
207
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS:
208
- {
209
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
210
- parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED,
211
- parentMessage: action.payload.parentMessage
212
- });
213
- }
214
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE:
215
- {
216
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
217
- parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID,
218
- parentMessage: null
219
- });
220
- }
221
- // fetch threads
222
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START:
223
- {
224
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
225
- threadListState: Thread_context_types.ThreadListStateTypes.LOADING,
226
- allThreadMessages: []
227
- });
228
- }
229
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS:
230
- {
231
- var _v = action.payload,
232
- parentMessage = _v.parentMessage,
233
- anchorMessage = _v.anchorMessage,
234
- threadedMessages = _v.threadedMessages;
235
- 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;
236
- var anchorIndex = threadedMessages.findIndex(function (message) {
237
- return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1;
238
- });
239
- var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
240
- var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
241
- var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
242
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
243
- threadListState: Thread_context_types.ThreadListStateTypes.INITIALIZED,
244
- hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE,
245
- hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE,
246
- allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat()
247
- });
248
- }
249
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE:
250
- {
251
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
252
- threadListState: Thread_context_types.ThreadListStateTypes.INVALID,
253
- allThreadMessages: []
254
- });
255
- }
256
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_START:
257
- {
258
- return tslib_es6.__assign({}, state);
259
- }
260
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS:
261
- {
262
- var threadedMessages = action.payload.threadedMessages;
263
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
264
- hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE,
265
- allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages, true), threadedMessages, true)
266
- });
267
- }
268
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE:
269
- {
270
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
271
- hasMoreNext: false
272
- });
273
- }
274
- case ThreadContextActionTypes.GET_PREV_MESSAGES_START:
275
- {
276
- return tslib_es6.__assign({}, state);
277
- }
278
- case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS:
279
- {
280
- var threadedMessages = action.payload.threadedMessages;
281
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
282
- hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE,
283
- allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], threadedMessages, true), state.allThreadMessages, true)
284
- });
285
- }
286
- case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE:
287
- {
288
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
289
- hasMorePrev: false
290
- });
291
- }
292
- // event handlers - message status change
293
- case ThreadContextActionTypes.ON_MESSAGE_RECEIVED:
294
- {
295
- var _w = action.payload,
296
- channel = _w.channel,
297
- message_1 = _w.message;
298
- 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)) {
299
- return state;
300
- }
301
- var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) {
302
- return m.messageId === message_1.messageId;
303
- }) > -1;
304
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
305
- 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,
306
- allThreadMessages: isAlreadyReceived ? state.allThreadMessages.map(function (m) {
307
- return m.messageId === message_1.messageId ? message_1 : m;
308
- }) : tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages.filter(function (m) {
309
- return (m === null || m === void 0 ? void 0 : m.reqId) !== (message_1 === null || message_1 === void 0 ? void 0 : message_1.reqId);
310
- }), true), [message_1], false)
311
- });
312
- }
313
- case ThreadContextActionTypes.ON_MESSAGE_UPDATED:
314
- {
315
- var _x = action.payload,
316
- channel = _x.channel,
317
- message_2 = _x.message;
318
- if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
319
- return state;
320
- }
321
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
322
- 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,
323
- allThreadMessages: (_j = state.allThreadMessages) === null || _j === void 0 ? void 0 : _j.map(function (msg) {
324
- 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;
325
- })
326
- });
327
- }
328
- case ThreadContextActionTypes.ON_MESSAGE_DELETED:
329
- {
330
- var _y = action.payload,
331
- channel = _y.channel,
332
- messageId_1 = _y.messageId;
333
- if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
334
- return state;
335
- }
336
- if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
337
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
338
- parentMessage: null,
339
- parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
340
- allThreadMessages: []
341
- });
342
- }
343
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
344
- allThreadMessages: (_m = state.allThreadMessages) === null || _m === void 0 ? void 0 : _m.filter(function (msg) {
345
- return (msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1;
346
- })
347
- });
348
- }
349
- case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:
350
- {
351
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
352
- allThreadMessages: state.allThreadMessages.filter(function (m) {
353
- return !compareIds(m.reqId, action.payload);
354
- })
355
- });
356
- }
357
- case ThreadContextActionTypes.ON_REACTION_UPDATED:
358
- {
359
- var reactionEvent_1 = (_o = action.payload) === null || _o === void 0 ? void 0 : _o.reactionEvent;
360
- if (((_p = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _p === void 0 ? void 0 : _p.messageId) === (reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId)) {
361
- (_r = (_q = state.parentMessage) === null || _q === void 0 ? void 0 : _q.applyReactionEvent) === null || _r === void 0 ? void 0 : _r.call(_q, reactionEvent_1);
362
- }
363
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
364
- allThreadMessages: state.allThreadMessages.map(function (m) {
365
- var _a;
366
- if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
367
- (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
368
- return m;
369
- }
370
- return m;
371
- })
372
- });
373
- }
374
- // event handlers - user status change
375
- case ThreadContextActionTypes.ON_USER_MUTED:
376
- {
377
- var _z = action.payload,
378
- channel = _z.channel,
379
- user = _z.user;
380
- if (((_s = state.currentChannel) === null || _s === void 0 ? void 0 : _s.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
381
- return state;
382
- }
383
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
384
- isMuted: true
385
- });
386
- }
387
- case ThreadContextActionTypes.ON_USER_UNMUTED:
388
- {
389
- var _0 = action.payload,
390
- channel = _0.channel,
391
- user = _0.user;
392
- 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)) {
393
- return state;
394
- }
395
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
396
- isMuted: false
397
- });
398
- }
399
- case ThreadContextActionTypes.ON_USER_BANNED:
400
- {
401
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
402
- channelState: Thread_context_types.ChannelStateTypes.NIL,
403
- threadListState: Thread_context_types.ThreadListStateTypes.NIL,
404
- parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
405
- currentChannel: null,
406
- parentMessage: null,
407
- allThreadMessages: [],
408
- hasMorePrev: false,
409
- hasMoreNext: false
410
- });
411
- }
412
- case ThreadContextActionTypes.ON_USER_UNBANNED:
413
- {
414
- return tslib_es6.__assign({}, state);
415
- }
416
- case ThreadContextActionTypes.ON_USER_LEFT:
417
- {
418
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
419
- channelState: Thread_context_types.ChannelStateTypes.NIL,
420
- threadListState: Thread_context_types.ThreadListStateTypes.NIL,
421
- parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
422
- currentChannel: null,
423
- parentMessage: null,
424
- allThreadMessages: [],
425
- hasMorePrev: false,
426
- hasMoreNext: false
427
- });
428
- }
429
- // event handler - channel status change
430
- case ThreadContextActionTypes.ON_CHANNEL_FROZEN:
431
- {
432
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
433
- isChannelFrozen: true
434
- });
435
- }
436
- case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN:
437
- {
438
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
439
- isChannelFrozen: false
440
- });
441
- }
442
- case ThreadContextActionTypes.ON_OPERATOR_UPDATED:
443
- {
444
- var channel = action.payload.channel;
445
- if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_u = state.currentChannel) === null || _u === void 0 ? void 0 : _u.url)) {
446
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
447
- currentChannel: channel
448
- });
449
- }
450
- return state;
451
- }
452
- // message
453
- case ThreadContextActionTypes.SEND_MESSAGE_START:
454
- {
455
- var message = action.payload.message;
456
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
457
- allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allThreadMessages, true), [message], false)
458
- });
459
- }
460
- case ThreadContextActionTypes.SEND_MESSAGE_SUCESS:
461
- {
462
- var message_3 = action.payload.message;
463
- var filteredThreadMessages = state.allThreadMessages.filter(function (m) {
464
- return !compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId);
465
- });
466
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
467
- allThreadMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], filteredThreadMessages, true), [message_3], false)
468
- });
469
- }
470
- case ThreadContextActionTypes.SEND_MESSAGE_FAILURE:
471
- {
472
- var message_4 = action.payload.message;
473
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
474
- allThreadMessages: state.allThreadMessages.map(function (m) {
475
- return 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;
476
- })
477
- });
478
- }
479
- case ThreadContextActionTypes.RESEND_MESSAGE_START:
480
- {
481
- return tslib_es6.__assign({}, state);
482
- }
483
- default:
484
- {
485
- return state;
486
- }
487
- }
488
- }
489
-
490
- var initialState = {
491
- currentChannel: null,
492
- allThreadMessages: [],
493
- parentMessage: null,
494
- channelState: Thread_context_types.ChannelStateTypes.NIL,
495
- parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
496
- threadListState: Thread_context_types.ThreadListStateTypes.NIL,
497
- hasMorePrev: false,
498
- hasMoreNext: false,
499
- emojiContainer: {},
500
- isMuted: false,
501
- isChannelFrozen: false,
502
- currentUserId: ''
503
- };
504
-
505
- function useGetChannel(_a, _b) {
506
- var channelUrl = _a.channelUrl,
507
- sdkInit = _a.sdkInit,
508
- message = _a.message;
509
- var sdk = _b.sdk,
510
- logger = _b.logger,
511
- threadDispatcher = _b.threadDispatcher;
512
- React.useEffect(function () {
513
- var _a, _b;
514
- // validation check
515
- if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
516
- threadDispatcher({
517
- type: ThreadContextActionTypes.GET_CHANNEL_START,
518
- payload: null
519
- });
520
- (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
521
- logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
522
- threadDispatcher({
523
- type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
524
- payload: {
525
- groupChannel: groupChannel
526
- }
527
- });
528
- }).catch(function (error) {
529
- logger.info('Thread | useInitialize: Get channel failed', error);
530
- threadDispatcher({
531
- type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
532
- payload: error
533
- });
534
- });
535
- }
536
- }, [message, sdkInit]);
537
- /**
538
- * We don't use channelUrl here,
539
- * because Thread must operate independently of the channel.
540
- */
541
- }
542
-
543
- function useGetAllEmoji(_a, _b) {
544
- var sdk = _a.sdk;
545
- var logger = _b.logger,
546
- threadDispatcher = _b.threadDispatcher;
547
- React.useEffect(function () {
548
- if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) {
549
- // validation check
550
- sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
551
- logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
552
- threadDispatcher({
553
- type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
554
- payload: {
555
- emojiContainer: emojiContainer
556
- }
557
- });
558
- }).catch(function (error) {
559
- logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
560
- });
561
- }
562
- }, [sdk]);
563
- }
564
-
565
- function useGetThreadList(_a, _b) {
566
- var sdkInit = _a.sdkInit,
567
- parentMessage = _a.parentMessage,
568
- anchorMessage = _a.anchorMessage,
569
- isReactionEnabled = _a.isReactionEnabled;
570
- var logger = _b.logger,
571
- threadDispatcher = _b.threadDispatcher;
572
- React.useEffect(function () {
573
- var _a;
574
- // validation check
575
- if (sdkInit && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp)) {
576
- threadDispatcher({
577
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
578
- payload: null
579
- });
580
- var timeStamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
581
- var params = {
582
- prevResultSize: PREV_THREADS_FETCH_SIZE,
583
- nextResultSize: NEXT_THREADS_FETCH_SIZE,
584
- includeReactions: isReactionEnabled,
585
- includeMetaArray: true
586
- };
587
- logger.info('Thread | useGetThreadList: Initialize thread list start.', {
588
- timeStamp: timeStamp,
589
- params: params
590
- });
591
- (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, timeStamp, params).then(function (_a) {
592
- var parentMessage = _a.parentMessage,
593
- threadedMessages = _a.threadedMessages;
594
- logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', {
595
- parentMessage: parentMessage,
596
- threadedMessages: threadedMessages
597
- });
598
- threadDispatcher({
599
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
600
- payload: {
601
- parentMessage: parentMessage,
602
- anchorMessage: anchorMessage,
603
- threadedMessages: threadedMessages
604
- }
605
- });
606
- }).catch(function (error) {
607
- logger.info('Therad | useGetThreadList: Initialize thread list failed.', error);
608
- threadDispatcher({
609
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
610
- payload: error
611
- });
612
- });
613
- }
614
- }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, anchorMessage]);
615
- }
616
-
617
- function useGetParentMessage(_a, _b) {
618
- var _this = this;
619
- var channelUrl = _a.channelUrl,
620
- sdkInit = _a.sdkInit,
621
- parentMessage = _a.parentMessage;
622
- var sdk = _b.sdk,
623
- logger = _b.logger,
624
- threadDispatcher = _b.threadDispatcher;
625
- React.useEffect(function () {
626
- var _a;
627
- // validation check
628
- if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
629
- threadDispatcher({
630
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
631
- payload: null
632
- });
633
- var params_1 = {
634
- channelUrl: channelUrl,
635
- channelType: SendbirdChat.ChannelType.GROUP,
636
- messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
637
- includeMetaArray: true,
638
- includeReactions: true,
639
- includeThreadInfo: true,
640
- includeParentMessageInfo: true
641
- };
642
- logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
643
- var fetchParentMessage = function () {
644
- return tslib_es6.__awaiter(_this, void 0, void 0, function () {
645
- var data;
646
- var _a, _b;
647
- return tslib_es6.__generator(this, function (_c) {
648
- switch (_c.label) {
649
- case 0:
650
- return [4 /*yield*/, (_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1)];
651
- case 1:
652
- data = _c.sent();
653
- return [2 /*return*/, data];
654
- }
655
- });
656
- });
657
- };
658
- fetchParentMessage().then(function (parentMsg) {
659
- logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
660
- parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
661
- threadDispatcher({
662
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
663
- payload: {
664
- parentMessage: parentMsg
665
- }
666
- });
667
- }).catch(function (error) {
668
- logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
669
- threadDispatcher({
670
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
671
- payload: error
672
- });
673
- });
674
- }
675
- }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
676
- /**
677
- * We don't use channelUrl here,
678
- * because Thread must operate independently of the channel.
679
- */
680
- }
681
-
682
- function useHandlePubsubEvents(_a, _b) {
683
- var sdkInit = _a.sdkInit,
684
- currentChannel = _a.currentChannel,
685
- parentMessage = _a.parentMessage;
686
- var pubSub = _b.pubSub,
687
- threadDispatcher = _b.threadDispatcher;
688
- React.useEffect(function () {
689
- var pubSubHandler = function () {
690
- var subscriber = new Map();
691
- if (!pubSub || !pubSub.subscribe) {
692
- return subscriber;
693
- }
694
- subscriber.set(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (props) {
695
- var channel = props.channel,
696
- message = props.message;
697
- 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)) {
698
- threadDispatcher({
699
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
700
- payload: {
701
- message: message
702
- }
703
- });
704
- }
705
- scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
706
- }));
707
- subscriber.set(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (props) {
708
- var channel = props.channel,
709
- message = props.message;
710
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
711
- threadDispatcher({
712
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
713
- payload: {
714
- message: message
715
- }
716
- });
717
- }
718
- scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
719
- }));
720
- subscriber.set(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (msg) {
721
- var channel = msg.channel,
722
- message = msg.message;
723
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
724
- threadDispatcher({
725
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
726
- payload: {
727
- channel: channel,
728
- message: message
729
- }
730
- });
731
- }
732
- }));
733
- subscriber.set(topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (msg) {
734
- var channel = msg.channel,
735
- messageId = msg.messageId;
736
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
737
- threadDispatcher({
738
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
739
- payload: {
740
- messageId: messageId
741
- }
742
- });
743
- }
744
- }));
745
- };
746
- var subscriber = pubSubHandler();
747
- return function () {
748
- subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
749
- try {
750
- s === null || s === void 0 ? void 0 : s.remove();
751
- } catch (_a) {
752
- //
753
- }
754
- });
755
- };
756
- }, [sdkInit, currentChannel]);
757
- }
758
-
759
- function useHandleChannelEvents(_a, _b) {
760
- var sdk = _a.sdk,
761
- currentChannel = _a.currentChannel;
762
- var logger = _b.logger,
763
- threadDispatcher = _b.threadDispatcher;
764
- React.useEffect(function () {
765
- var _a, _b, _c;
766
- var handlerId = uuid.uuidv4();
767
- // validation check
768
- if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) && currentChannel) {
769
- var channelHandlerParams = {
770
- // message status change
771
- onMessageReceived: function (channel, message) {
772
- logger.info('Thread | useHandleChannelEvents: onMessageReceived', {
773
- channel: channel,
774
- message: message
775
- });
776
- threadDispatcher({
777
- type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
778
- payload: {
779
- channel: channel,
780
- message: message
781
- }
782
- });
783
- },
784
- onMessageUpdated: function (channel, message) {
785
- logger.info('Thread | useHandleChannelEvents: onMessageUpdated', {
786
- channel: channel,
787
- message: message
788
- });
789
- threadDispatcher({
790
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
791
- payload: {
792
- channel: channel,
793
- message: message
794
- }
795
- });
796
- },
797
- onMessageDeleted: function (channel, messageId) {
798
- logger.info('Thread | useHandleChannelEvents: onMessageDeleted', {
799
- channel: channel,
800
- messageId: messageId
801
- });
802
- threadDispatcher({
803
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
804
- payload: {
805
- channel: channel,
806
- messageId: messageId
807
- }
808
- });
809
- },
810
- onReactionUpdated: function (channel, reactionEvent) {
811
- logger.info('Thread | useHandleChannelEvents: onReactionUpdated', {
812
- channel: channel,
813
- reactionEvent: reactionEvent
814
- });
815
- threadDispatcher({
816
- type: ThreadContextActionTypes.ON_REACTION_UPDATED,
817
- payload: {
818
- channel: channel,
819
- reactionEvent: reactionEvent
820
- }
821
- });
822
- },
823
- // user status change
824
- onUserMuted: function (channel, user) {
825
- logger.info('Thread | useHandleChannelEvents: onUserMuted', {
826
- channel: channel,
827
- user: user
828
- });
829
- threadDispatcher({
830
- type: ThreadContextActionTypes.ON_USER_MUTED,
831
- payload: {
832
- channel: channel,
833
- user: user
834
- }
835
- });
836
- },
837
- onUserUnmuted: function (channel, user) {
838
- logger.info('Thread | useHandleChannelEvents: onUserUnmuted', {
839
- channel: channel,
840
- user: user
841
- });
842
- threadDispatcher({
843
- type: ThreadContextActionTypes.ON_USER_UNMUTED,
844
- payload: {
845
- channel: channel,
846
- user: user
847
- }
848
- });
849
- },
850
- onUserBanned: function (channel, user) {
851
- logger.info('Thread | useHandleChannelEvents: onUserBanned', {
852
- channel: channel,
853
- user: user
854
- });
855
- threadDispatcher({
856
- type: ThreadContextActionTypes.ON_USER_BANNED,
857
- payload: {
858
- channel: channel,
859
- user: user
860
- }
861
- });
862
- },
863
- onUserUnbanned: function (channel, user) {
864
- logger.info('Thread | useHandleChannelEvents: onUserUnbanned', {
865
- channel: channel,
866
- user: user
867
- });
868
- threadDispatcher({
869
- type: ThreadContextActionTypes.ON_USER_UNBANNED,
870
- payload: {
871
- channel: channel,
872
- user: user
873
- }
874
- });
875
- },
876
- onUserLeft: function (channel, user) {
877
- logger.info('Thread | useHandleChannelEvents: onUserLeft', {
878
- channel: channel,
879
- user: user
880
- });
881
- threadDispatcher({
882
- type: ThreadContextActionTypes.ON_USER_LEFT,
883
- payload: {
884
- channel: channel,
885
- user: user
886
- }
887
- });
888
- },
889
- // channel status change
890
- onChannelFrozen: function (channel) {
891
- logger.info('Thread | useHandleChannelEvents: onChannelFrozen', {
892
- channel: channel
893
- });
894
- threadDispatcher({
895
- type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
896
- payload: {
897
- channel: channel
898
- }
899
- });
900
- },
901
- onChannelUnfrozen: function (channel) {
902
- logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', {
903
- channel: channel
904
- });
905
- threadDispatcher({
906
- type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
907
- payload: {
908
- channel: channel
909
- }
910
- });
911
- },
912
- onOperatorUpdated: function (channel, users) {
913
- logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', {
914
- channel: channel,
915
- users: users
916
- });
917
- threadDispatcher({
918
- type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
919
- payload: {
920
- channel: channel,
921
- users: users
922
- }
923
- });
924
- }
925
- };
926
- var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
927
- (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
928
- logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', {
929
- handlerId: handlerId,
930
- channelHandler: channelHandler
931
- });
932
- }
933
- return function () {
934
- var _a, _b, _c;
935
- // validation check
936
- if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
937
- (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
938
- logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
939
- }
940
- };
941
- }, [sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel, currentChannel]);
942
- }
943
-
944
- function useSendFileMessageCallback(_a, _b) {
945
- var currentChannel = _a.currentChannel;
946
- var logger = _b.logger,
947
- pubSub = _b.pubSub,
948
- threadDispatcher = _b.threadDispatcher;
949
- var sendMessage = React.useCallback(function (file, quoteMessage) {
950
- var createParamsDefault = function () {
951
- var params = {};
952
- params.file = file;
953
- if (quoteMessage) {
954
- params.isReplyToChannel = true;
955
- params.parentMessageId = quoteMessage.messageId;
956
- }
957
- return params;
958
- };
959
- var params = createParamsDefault();
960
- logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
961
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
962
- threadDispatcher({
963
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
964
- payload: {
965
- /* pubSub is used instead of messagesDispatcher
966
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
967
- message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
968
- url: URL.createObjectURL(file),
969
- // pending thumbnail message seems to be failed
970
- requestState: 'pending'
971
- })
972
- }
973
- });
974
- setTimeout(function () {
975
- return scrollIntoLast();
976
- }, 1000);
977
- }).onFailed(function (error, message) {
978
- message.localUrl = URL.createObjectURL(file);
979
- message.file = file;
980
- logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', {
981
- message: message,
982
- error: error
983
- });
984
- threadDispatcher({
985
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
986
- payload: {
987
- message: message,
988
- error: error
989
- }
990
- });
991
- }).onSucceeded(function (message) {
992
- logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
993
- pubSub.publish(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
994
- channel: currentChannel,
995
- message: message
996
- });
997
- });
998
- }, [currentChannel]);
999
- return sendMessage;
1000
- }
1001
-
1002
- function useUpdateMessageCallback(_a, _b) {
1003
- var currentChannel = _a.currentChannel,
1004
- isMentionEnabled = _a.isMentionEnabled;
1005
- var logger = _b.logger,
1006
- pubSub = _b.pubSub,
1007
- threadDispatcher = _b.threadDispatcher;
1008
- return React.useCallback(function (props) {
1009
- var _a;
1010
- var messageId = props.messageId,
1011
- message = props.message,
1012
- mentionedUsers = props.mentionedUsers,
1013
- mentionTemplate = props.mentionTemplate;
1014
- var createParamsDefault = function () {
1015
- var params = {};
1016
- params.message = message;
1017
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1018
- params.mentionedUsers = mentionedUsers;
1019
- }
1020
- if (isMentionEnabled && mentionTemplate) {
1021
- params.mentionedMessageTemplate = mentionTemplate;
1022
- } else {
1023
- params.mentionedMessageTemplate = message;
1024
- }
1025
- return params;
1026
- };
1027
- var params = createParamsDefault();
1028
- logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
1029
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
1030
- logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
1031
- threadDispatcher({
1032
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
1033
- payload: {
1034
- channel: currentChannel,
1035
- message: message
1036
- }
1037
- });
1038
- pubSub.publish(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
1039
- fromSelector: true,
1040
- channel: currentChannel,
1041
- message: message
1042
- });
1043
- });
1044
- }, [currentChannel, isMentionEnabled]);
1045
- }
1046
-
1047
- function useDeleteMessageCallback(_a, _b) {
1048
- var currentChannel = _a.currentChannel,
1049
- threadDispatcher = _a.threadDispatcher;
1050
- var logger = _b.logger;
1051
- return React.useCallback(function (message) {
1052
- logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
1053
- var sendingStatus = message.sendingStatus;
1054
- return new Promise(function (resolve, reject) {
1055
- var _a;
1056
- logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
1057
- // Message is only on local
1058
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1059
- logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
1060
- threadDispatcher({
1061
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
1062
- payload: message.reqId
1063
- });
1064
- resolve(message);
1065
- }
1066
- logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
1067
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
1068
- logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
1069
- threadDispatcher({
1070
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
1071
- payload: {
1072
- message: message,
1073
- channel: currentChannel
1074
- }
1075
- });
1076
- resolve(message);
1077
- }).catch(function (err) {
1078
- logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
1079
- reject(err);
1080
- });
1081
- });
1082
- }, [currentChannel]);
1083
- }
1084
-
1085
- function useGetPrevThreadsCallback(_a, _b) {
1086
- var hasMorePrev = _a.hasMorePrev,
1087
- parentMessage = _a.parentMessage,
1088
- threadListState = _a.threadListState,
1089
- oldestMessageTimeStamp = _a.oldestMessageTimeStamp,
1090
- isReactionEnabled = _a.isReactionEnabled;
1091
- var logger = _b.logger,
1092
- threadDispatcher = _b.threadDispatcher;
1093
- return React.useCallback(function (callback) {
1094
- var _a;
1095
- // validation check
1096
- if (threadListState === Thread_context_types.ThreadListStateTypes.INITIALIZED && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp) && oldestMessageTimeStamp !== 0) {
1097
- threadDispatcher({
1098
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1099
- payload: null
1100
- });
1101
- (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, oldestMessageTimeStamp, {
1102
- prevResultSize: PREV_THREADS_FETCH_SIZE,
1103
- nextResultSize: 0,
1104
- includeReactions: isReactionEnabled,
1105
- includeMetaArray: true
1106
- }).then(function (_a) {
1107
- var parentMessage = _a.parentMessage,
1108
- threadedMessages = _a.threadedMessages;
1109
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', {
1110
- parentMessage: parentMessage,
1111
- threadedMessages: threadedMessages
1112
- });
1113
- threadDispatcher({
1114
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1115
- payload: {
1116
- parentMessage: parentMessage,
1117
- threadedMessages: threadedMessages
1118
- }
1119
- });
1120
- callback(threadedMessages);
1121
- }).catch(function (error) {
1122
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error);
1123
- threadDispatcher({
1124
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1125
- payload: error
1126
- });
1127
- });
1128
- }
1129
- }, [hasMorePrev, parentMessage, threadListState, oldestMessageTimeStamp]);
1130
- }
1131
-
1132
- function useGetNextThreadsCallback(_a, _b) {
1133
- var hasMoreNext = _a.hasMoreNext,
1134
- parentMessage = _a.parentMessage,
1135
- threadListState = _a.threadListState,
1136
- latestMessageTimeStamp = _a.latestMessageTimeStamp,
1137
- isReactionEnabled = _a.isReactionEnabled;
1138
- var logger = _b.logger,
1139
- threadDispatcher = _b.threadDispatcher;
1140
- return React.useCallback(function (callback) {
1141
- var _a;
1142
- // validation check
1143
- if (threadListState === Thread_context_types.ThreadListStateTypes.INITIALIZED && (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.getThreadedMessagesByTimestamp) && latestMessageTimeStamp !== 0) {
1144
- threadDispatcher({
1145
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1146
- payload: null
1147
- });
1148
- (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, latestMessageTimeStamp, {
1149
- prevResultSize: 0,
1150
- nextResultSize: NEXT_THREADS_FETCH_SIZE,
1151
- includeReactions: isReactionEnabled,
1152
- includeMetaArray: true
1153
- }).then(function (_a) {
1154
- var parentMessage = _a.parentMessage,
1155
- threadedMessages = _a.threadedMessages;
1156
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', {
1157
- parentMessage: parentMessage,
1158
- threadedMessages: threadedMessages
1159
- });
1160
- threadDispatcher({
1161
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1162
- payload: {
1163
- parentMessage: parentMessage,
1164
- threadedMessages: threadedMessages
1165
- }
1166
- });
1167
- callback(threadedMessages);
1168
- }).catch(function (error) {
1169
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error);
1170
- threadDispatcher({
1171
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1172
- payload: error
1173
- });
1174
- });
1175
- }
1176
- }, [hasMoreNext, parentMessage, threadListState, latestMessageTimeStamp]);
1177
- }
1178
-
1179
- function useToggleReactionCallback(_a, _b) {
1180
- var currentChannel = _a.currentChannel;
1181
- var logger = _b.logger;
1182
- return React.useCallback(function (message, key, isReacted) {
1183
- var _a, _b;
1184
- if (isReacted) {
1185
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
1186
- logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
1187
- }).catch(function (err) {
1188
- logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
1189
- });
1190
- return;
1191
- }
1192
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
1193
- logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
1194
- }).catch(function (err) {
1195
- logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
1196
- });
1197
- }, [currentChannel]);
1198
- }
1199
-
1200
- function useSendUserMessageCallback(_a, _b) {
1201
- var isMentionEnabled = _a.isMentionEnabled,
1202
- currentChannel = _a.currentChannel;
1203
- var logger = _b.logger,
1204
- pubSub = _b.pubSub,
1205
- threadDispatcher = _b.threadDispatcher;
1206
- var sendMessage = React.useCallback(function (props) {
1207
- var message = props.message,
1208
- _a = props.quoteMessage,
1209
- quoteMessage = _a === void 0 ? null : _a,
1210
- mentionTemplate = props.mentionTemplate,
1211
- mentionedUsers = props.mentionedUsers;
1212
- var createDefaultParams = function () {
1213
- var params = {};
1214
- params.message = message;
1215
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1216
- params.mentionedUsers = mentionedUsers;
1217
- }
1218
- if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1219
- params.mentionedMessageTemplate = mentionTemplate;
1220
- }
1221
- if (quoteMessage) {
1222
- params.isReplyToChannel = true;
1223
- params.parentMessageId = quoteMessage.messageId;
1224
- }
1225
- return params;
1226
- };
1227
- var params = createDefaultParams();
1228
- logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
1229
- if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
1230
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
1231
- threadDispatcher({
1232
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
1233
- payload: {
1234
- message: pendingMessage
1235
- }
1236
- });
1237
- }).onFailed(function (error, message) {
1238
- logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', {
1239
- message: message,
1240
- error: error
1241
- });
1242
- threadDispatcher({
1243
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1244
- payload: {
1245
- error: error,
1246
- message: message
1247
- }
1248
- });
1249
- }).onSucceeded(function (message) {
1250
- logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
1251
- threadDispatcher({
1252
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1253
- payload: {
1254
- message: message
1255
- }
1256
- });
1257
- // because Thread doesn't subscribe SEND_USER_MESSAGE
1258
- pubSub.publish(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, {
1259
- channel: currentChannel,
1260
- message: message
1261
- });
1262
- });
1263
- }
1264
- }, [isMentionEnabled, currentChannel]);
1265
- return sendMessage;
1266
- }
1267
-
1268
- function useResendMessageCallback(_a, _b) {
1269
- var currentChannel = _a.currentChannel;
1270
- var logger = _b.logger,
1271
- pubSub = _b.pubSub,
1272
- threadDispatcher = _b.threadDispatcher;
1273
- return React.useCallback(function (failedMessage) {
1274
- var _a, _b, _c;
1275
- if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
1276
- failedMessage.sendingStatus = message.SendingStatus.PENDING;
1277
- logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
1278
- threadDispatcher({
1279
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
1280
- payload: failedMessage
1281
- });
1282
- 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) {
1283
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendUserMessage(failedMessage).then(function (message) {
1284
- logger.info('Thread | useResendMessageCallback: Resending failedMessage succeeded.', message);
1285
- threadDispatcher({
1286
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1287
- payload: {
1288
- message: message
1289
- }
1290
- });
1291
- pubSub.publish(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, {
1292
- channel: currentChannel,
1293
- message: message
1294
- });
1295
- }).catch(function (error) {
1296
- logger.warning('Thread | useResendMessageCallback: Resending failedMessage failed.', error);
1297
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
1298
- threadDispatcher({
1299
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1300
- payload: {
1301
- message: failedMessage
1302
- }
1303
- });
1304
- });
1305
- } 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) {
1306
- (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendFileMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).then(function (message) {
1307
- logger.info('Thread | useResendMessageCallback: Resending failedMessage succeeded.', message);
1308
- threadDispatcher({
1309
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
1310
- payload: {
1311
- message: message
1312
- }
1313
- });
1314
- }).catch(function (error) {
1315
- logger.warning('Thread | useResendMessageCallback: Resending failedMessage failed.', error);
1316
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
1317
- threadDispatcher({
1318
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1319
- payload: {
1320
- message: failedMessage
1321
- }
1322
- });
1323
- pubSub.publish(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1324
- channel: currentChannel,
1325
- message: failedMessage
1326
- });
1327
- });
1328
- } else {
1329
- logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
1330
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
1331
- threadDispatcher({
1332
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1333
- payload: {
1334
- message: failedMessage
1335
- }
1336
- });
1337
- }
1338
- }
1339
- }, [currentChannel]);
1340
- }
1341
-
1342
- var useSendVoiceMessageCallback = function (_a, _b) {
1343
- var currentChannel = _a.currentChannel,
1344
- onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1345
- var logger = _b.logger,
1346
- pubSub = _b.pubSub,
1347
- threadDispatcher = _b.threadDispatcher;
1348
- var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
1349
- var messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1350
- file: file,
1351
- fileName: consts.VOICE_MESSAGE_FILE_NAME,
1352
- mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1353
- metaArrays: [new message.MessageMetaArray({
1354
- key: consts.META_ARRAY_VOICE_DURATION_KEY,
1355
- value: ["".concat(duration)]
1356
- }), new message.MessageMetaArray({
1357
- key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1358
- value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
1359
- })]
1360
- };
1361
- if (quoteMessage) {
1362
- messageParams.isReplyToChannel = true;
1363
- messageParams.parentMessageId = quoteMessage.messageId;
1364
- }
1365
- logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1366
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1367
- threadDispatcher({
1368
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
1369
- payload: {
1370
- /* pubSub is used instead of messagesDispatcher
1371
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1372
- message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
1373
- url: URL.createObjectURL(file),
1374
- // pending thumbnail message seems to be failed
1375
- requestState: 'pending'
1376
- })
1377
- }
1378
- });
1379
- setTimeout(function () {
1380
- return scrollIntoLast();
1381
- }, 1000);
1382
- }).onFailed(function (error, message) {
1383
- message.localUrl = URL.createObjectURL(file);
1384
- message.file = file;
1385
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', {
1386
- message: message,
1387
- error: error
1388
- });
1389
- threadDispatcher({
1390
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1391
- payload: {
1392
- message: message,
1393
- error: error
1394
- }
1395
- });
1396
- }).onSucceeded(function (message) {
1397
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1398
- pubSub.publish(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
1399
- channel: currentChannel,
1400
- message: message
1401
- });
1402
- });
1403
- }, [currentChannel, onBeforeSendVoiceMessage]);
1404
- return sendMessage;
1405
- };
1406
-
1407
- var ThreadContext = /*#__PURE__*/React__default["default"].createContext(null);
1408
- var ThreadProvider = function (props) {
1409
- var _a, _b;
1410
- var children = props.children,
1411
- channelUrl = props.channelUrl,
1412
- onHeaderActionClick = props.onHeaderActionClick,
1413
- onMoveToParentMessage = props.onMoveToParentMessage,
1414
- onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage,
1415
- // User Profile
1416
- disableUserProfile = props.disableUserProfile,
1417
- renderUserProfile = props.renderUserProfile,
1418
- onUserProfileMessage = props.onUserProfileMessage;
1419
- var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1420
- var propsParentMessage = getParentMessageFrom(propsMessage);
1421
- // Context from SendbirdProvider
1422
- var globalStore = useSendbirdStateContext();
1423
- var stores = globalStore.stores,
1424
- config = globalStore.config;
1425
- // // stores
1426
- var sdkStore = stores.sdkStore,
1427
- userStore = stores.userStore;
1428
- var sdk = sdkStore.sdk;
1429
- var user = userStore.user;
1430
- var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1431
- // // config
1432
- var logger = config.logger,
1433
- pubSub = config.pubSub,
1434
- replyType = config.replyType,
1435
- isMentionEnabled = config.isMentionEnabled,
1436
- isReactionEnabled = config.isReactionEnabled;
1437
- // dux of Thread
1438
- var _c = React.useReducer(reducer, initialState),
1439
- threadStore = _c[0],
1440
- threadDispatcher = _c[1];
1441
- var currentChannel = threadStore.currentChannel,
1442
- allThreadMessages = threadStore.allThreadMessages,
1443
- parentMessage = threadStore.parentMessage,
1444
- channelState = threadStore.channelState,
1445
- threadListState = threadStore.threadListState,
1446
- parentMessageState = threadStore.parentMessageState,
1447
- hasMorePrev = threadStore.hasMorePrev,
1448
- hasMoreNext = threadStore.hasMoreNext,
1449
- emojiContainer = threadStore.emojiContainer,
1450
- isMuted = threadStore.isMuted,
1451
- isChannelFrozen = threadStore.isChannelFrozen,
1452
- currentUserId = threadStore.currentUserId;
1453
- // Initialization
1454
- React.useEffect(function () {
1455
- threadDispatcher({
1456
- type: ThreadContextActionTypes.INIT_USER_ID,
1457
- payload: user === null || user === void 0 ? void 0 : user.userId
1458
- });
1459
- }, [user]);
1460
- useGetChannel({
1461
- channelUrl: channelUrl,
1462
- sdkInit: sdkInit,
1463
- message: propsMessage
1464
- }, {
1465
- sdk: sdk,
1466
- logger: logger,
1467
- threadDispatcher: threadDispatcher
1468
- });
1469
- useGetParentMessage({
1470
- channelUrl: channelUrl,
1471
- sdkInit: sdkInit,
1472
- parentMessage: propsParentMessage
1473
- }, {
1474
- sdk: sdk,
1475
- logger: logger,
1476
- threadDispatcher: threadDispatcher
1477
- });
1478
- useGetThreadList({
1479
- sdkInit: sdkInit,
1480
- parentMessage: parentMessage,
1481
- isReactionEnabled: isReactionEnabled,
1482
- anchorMessage: (propsMessage === null || propsMessage === void 0 ? void 0 : propsMessage.messageId) !== (propsParentMessage === null || propsParentMessage === void 0 ? void 0 : propsParentMessage.messageId) ? propsMessage : null
1483
- // anchorMessage should be null when parentMessage doesn't exist
1484
- }, {
1485
- logger: logger,
1486
- threadDispatcher: threadDispatcher
1487
- });
1488
- useGetAllEmoji({
1489
- sdk: sdk
1490
- }, {
1491
- logger: logger,
1492
- threadDispatcher: threadDispatcher
1493
- });
1494
- // Handle channel events
1495
- useHandleChannelEvents({
1496
- sdk: sdk,
1497
- currentChannel: currentChannel
1498
- }, {
1499
- logger: logger,
1500
- threadDispatcher: threadDispatcher
1501
- });
1502
- useHandlePubsubEvents({
1503
- sdkInit: sdkInit,
1504
- currentChannel: currentChannel,
1505
- parentMessage: parentMessage
1506
- }, {
1507
- logger: logger,
1508
- pubSub: pubSub,
1509
- threadDispatcher: threadDispatcher
1510
- });
1511
- // callbacks
1512
- var fetchPrevThreads = useGetPrevThreadsCallback({
1513
- hasMorePrev: hasMorePrev,
1514
- parentMessage: parentMessage,
1515
- threadListState: threadListState,
1516
- isReactionEnabled: isReactionEnabled,
1517
- oldestMessageTimeStamp: ((_a = allThreadMessages[0]) === null || _a === void 0 ? void 0 : _a.createdAt) || 0
1518
- }, {
1519
- logger: logger,
1520
- threadDispatcher: threadDispatcher
1521
- });
1522
- var fetchNextThreads = useGetNextThreadsCallback({
1523
- hasMoreNext: hasMoreNext,
1524
- parentMessage: parentMessage,
1525
- threadListState: threadListState,
1526
- isReactionEnabled: isReactionEnabled,
1527
- latestMessageTimeStamp: ((_b = allThreadMessages[allThreadMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.createdAt) || 0
1528
- }, {
1529
- logger: logger,
1530
- threadDispatcher: threadDispatcher
1531
- });
1532
- var toggleReaction = useToggleReactionCallback({
1533
- currentChannel: currentChannel
1534
- }, {
1535
- logger: logger
1536
- });
1537
- var sendMessage = useSendUserMessageCallback({
1538
- isMentionEnabled: isMentionEnabled,
1539
- currentChannel: currentChannel
1540
- }, {
1541
- logger: logger,
1542
- pubSub: pubSub,
1543
- threadDispatcher: threadDispatcher
1544
- });
1545
- var sendFileMessage = useSendFileMessageCallback({
1546
- currentChannel: currentChannel
1547
- }, {
1548
- logger: logger,
1549
- pubSub: pubSub,
1550
- threadDispatcher: threadDispatcher
1551
- });
1552
- var sendVoiceMessage = useSendVoiceMessageCallback({
1553
- currentChannel: currentChannel,
1554
- onBeforeSendVoiceMessage: onBeforeSendVoiceMessage
1555
- }, {
1556
- logger: logger,
1557
- pubSub: pubSub,
1558
- threadDispatcher: threadDispatcher
1559
- });
1560
- var resendMessage = useResendMessageCallback({
1561
- currentChannel: currentChannel
1562
- }, {
1563
- logger: logger,
1564
- pubSub: pubSub,
1565
- threadDispatcher: threadDispatcher
1566
- });
1567
- var updateMessage = useUpdateMessageCallback({
1568
- currentChannel: currentChannel,
1569
- isMentionEnabled: isMentionEnabled
1570
- }, {
1571
- logger: logger,
1572
- pubSub: pubSub,
1573
- threadDispatcher: threadDispatcher
1574
- });
1575
- var deleteMessage = useDeleteMessageCallback({
1576
- currentChannel: currentChannel,
1577
- threadDispatcher: threadDispatcher
1578
- }, {
1579
- logger: logger
1580
- });
1581
- // memo
1582
- var nicknamesMap = React.useMemo(function () {
1583
- return replyType && currentChannel ? getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members) : new Map();
1584
- }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
1585
- return /*#__PURE__*/React__default["default"].createElement(ThreadContext.Provider, {
1586
- value: {
1587
- // ThreadProviderProps
1588
- channelUrl: channelUrl,
1589
- message: propsMessage,
1590
- onHeaderActionClick: onHeaderActionClick,
1591
- onMoveToParentMessage: onMoveToParentMessage,
1592
- // ThreadContextInitialState
1593
- currentChannel: currentChannel,
1594
- allThreadMessages: allThreadMessages,
1595
- parentMessage: parentMessage,
1596
- channelState: channelState,
1597
- threadListState: threadListState,
1598
- parentMessageState: parentMessageState,
1599
- hasMorePrev: hasMorePrev,
1600
- hasMoreNext: hasMoreNext,
1601
- emojiContainer: emojiContainer,
1602
- // hooks
1603
- fetchPrevThreads: fetchPrevThreads,
1604
- fetchNextThreads: fetchNextThreads,
1605
- toggleReaction: toggleReaction,
1606
- sendMessage: sendMessage,
1607
- sendFileMessage: sendFileMessage,
1608
- sendVoiceMessage: sendVoiceMessage,
1609
- resendMessage: resendMessage,
1610
- updateMessage: updateMessage,
1611
- deleteMessage: deleteMessage,
1612
- // context
1613
- nicknamesMap: nicknamesMap,
1614
- isMuted: isMuted,
1615
- isChannelFrozen: isChannelFrozen,
1616
- currentUserId: currentUserId
1617
- }
1618
- }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
1619
- disableUserProfile: disableUserProfile,
1620
- renderUserProfile: renderUserProfile,
1621
- onUserProfileMessage: onUserProfileMessage
1622
- }, children));
1623
- };
1624
- var useThreadContext = function () {
1625
- return React__default["default"].useContext(ThreadContext);
1626
- };
1627
-
1628
- exports.ThreadProvider = ThreadProvider;
1629
- exports.compareMessagesForGrouping = compareMessagesForGrouping;
1630
- exports.isAboutSame = isAboutSame;
1631
- exports.useThreadContext = useThreadContext;
1632
- //# sourceMappingURL=ThreadProvider-37f2f0a3.js.map