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