@sendbird/uikit-react 3.4.6 → 3.4.7-rc.0

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