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