@sendbird/uikit-react 3.6.3 → 3.6.4-rc-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/App.js +734 -0
  3. package/dist/App.js.map +1 -0
  4. package/dist/CHANGELOG.md +1287 -0
  5. package/dist/Channel/components/ChannelHeader.js +114 -0
  6. package/dist/Channel/components/ChannelUI.js +189 -0
  7. package/dist/Channel/components/FileViewer.js +158 -0
  8. package/dist/Channel/components/FrozenNotification.js +24 -0
  9. package/dist/Channel/components/Message.js +410 -0
  10. package/dist/Channel/components/MessageInput.js +246 -0
  11. package/dist/Channel/components/MessageList.js +356 -0
  12. package/dist/Channel/components/RemoveMessageModal.js +60 -0
  13. package/dist/Channel/components/SuggestedMentionList.js +259 -0
  14. package/dist/Channel/components/TypingIndicator.js +88 -0
  15. package/dist/Channel/components/UnreadCount.js +38 -0
  16. package/dist/Channel/context.js +20 -0
  17. package/dist/Channel.js +155 -0
  18. package/dist/ChannelList/components/AddChannel.js +75 -0
  19. package/dist/ChannelList/components/ChannelListHeader.js +76 -0
  20. package/dist/ChannelList/components/ChannelListUI.js +227 -0
  21. package/dist/ChannelList/components/ChannelPreview.js +183 -0
  22. package/dist/ChannelList/components/ChannelPreviewAction.js +133 -0
  23. package/dist/ChannelList/context.js +14 -0
  24. package/dist/ChannelList.js +97 -0
  25. package/dist/ChannelListProvider-6c1df64a.js +967 -0
  26. package/dist/ChannelListProvider-6c1df64a.js.map +1 -0
  27. package/dist/ChannelProvider-1dc36682.js +2144 -0
  28. package/dist/ChannelProvider-1dc36682.js.map +1 -0
  29. package/dist/ChannelSettings/components/ChannelProfile.js +89 -0
  30. package/dist/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  31. package/dist/ChannelSettings/components/EditDetailsModal.js +146 -0
  32. package/dist/ChannelSettings/components/LeaveChannel.js +95 -0
  33. package/dist/ChannelSettings/components/ModerationPanel.js +788 -0
  34. package/dist/ChannelSettings/components/UserListItem.js +107 -0
  35. package/dist/ChannelSettings/components/UserPanel.js +78 -0
  36. package/dist/ChannelSettings/context.js +96 -0
  37. package/dist/ChannelSettings.js +76 -0
  38. package/dist/CreateChannel/components/CreateChannelUI.js +58 -0
  39. package/dist/CreateChannel/components/InviteUsers.js +198 -0
  40. package/dist/CreateChannel/components/SelectChannelType.js +133 -0
  41. package/dist/CreateChannel/context.js +9 -0
  42. package/dist/CreateChannel.js +58 -0
  43. package/dist/CreateChannelProvider-ec477081.js +44 -0
  44. package/dist/CreateChannelProvider-ec477081.js.map +1 -0
  45. package/dist/CreateOpenChannel/components/CreateOpenChannelUI.js +120 -0
  46. package/dist/CreateOpenChannel/context.js +63 -0
  47. package/dist/CreateOpenChannel.js +47 -0
  48. package/dist/EditUserProfile/components/EditUserProfileUI.js +26 -0
  49. package/dist/EditUserProfile.js +41 -0
  50. package/dist/LICENSE +21 -0
  51. package/dist/LocalizationContext-1701e5c8.js +20 -0
  52. package/dist/LocalizationContext-1701e5c8.js.map +1 -0
  53. package/dist/MediaQueryContext-e5b401d0.js +87 -0
  54. package/dist/MediaQueryContext-e5b401d0.js.map +1 -0
  55. package/dist/MemberList-415d00a9.js +403 -0
  56. package/dist/MemberList-415d00a9.js.map +1 -0
  57. package/dist/MessageSearch/components/MessageSearchUI.js +143 -0
  58. package/dist/MessageSearch/context.js +371 -0
  59. package/dist/MessageSearch.js +135 -0
  60. package/dist/OpenChannel/components/FrozenChannelNotification.js +21 -0
  61. package/dist/OpenChannel/components/OpenChannelHeader.js +92 -0
  62. package/dist/OpenChannel/components/OpenChannelInput.js +76 -0
  63. package/dist/OpenChannel/components/OpenChannelMessage.js +289 -0
  64. package/dist/OpenChannel/components/OpenChannelMessageList.js +147 -0
  65. package/dist/OpenChannel/components/OpenChannelUI.js +121 -0
  66. package/dist/OpenChannel/context.js +15 -0
  67. package/dist/OpenChannel.js +94 -0
  68. package/dist/OpenChannelList/components/OpenChannelListUI.js +182 -0
  69. package/dist/OpenChannelList/components/OpenChannelPreview.js +66 -0
  70. package/dist/OpenChannelList/context.js +7 -0
  71. package/dist/OpenChannelList.js +61 -0
  72. package/dist/OpenChannelListProvider-acb00ca3.js +429 -0
  73. package/dist/OpenChannelListProvider-acb00ca3.js.map +1 -0
  74. package/dist/OpenChannelProvider-995a7397.js +1885 -0
  75. package/dist/OpenChannelProvider-995a7397.js.map +1 -0
  76. package/dist/OpenChannelSettings/components/EditDetailsModal.js +139 -0
  77. package/dist/OpenChannelSettings/components/OpenChannelProfile.js +78 -0
  78. package/dist/OpenChannelSettings/components/OpenChannelSettingsUI.js +128 -0
  79. package/dist/OpenChannelSettings/components/OperatorUI.js +842 -0
  80. package/dist/OpenChannelSettings/components/ParticipantUI.js +36 -0
  81. package/dist/OpenChannelSettings/context.js +132 -0
  82. package/dist/OpenChannelSettings.js +66 -0
  83. package/dist/README.md +172 -0
  84. package/dist/RemoveMessageModal-bf0ab3b2.js +36 -0
  85. package/dist/RemoveMessageModal-bf0ab3b2.js.map +1 -0
  86. package/dist/SendbirdProvider.js +1198 -0
  87. package/dist/SendbirdProvider.js.map +1 -0
  88. package/dist/Thread/components/ParentMessageInfo.js +381 -0
  89. package/dist/Thread/components/ParentMessageInfoItem.js +220 -0
  90. package/dist/Thread/components/ThreadHeader.js +60 -0
  91. package/dist/Thread/components/ThreadList.js +167 -0
  92. package/dist/Thread/components/ThreadListItem.js +555 -0
  93. package/dist/Thread/components/ThreadMessageInput.js +226 -0
  94. package/dist/Thread/components/ThreadUI.js +348 -0
  95. package/dist/Thread/context.js +18 -0
  96. package/dist/Thread.js +145 -0
  97. package/dist/ThreadProvider-dea308a0.js +1695 -0
  98. package/dist/ThreadProvider-dea308a0.js.map +1 -0
  99. package/dist/UserProfileContext-74e9a128.js +41 -0
  100. package/dist/UserProfileContext-74e9a128.js.map +1 -0
  101. package/dist/VoiceMessageInputWrapper-4625a847.js +170 -0
  102. package/dist/VoiceMessageInputWrapper-4625a847.js.map +1 -0
  103. package/dist/VoicePlayer/context.js +7 -0
  104. package/dist/VoicePlayer/useVoicePlayer.js +84 -0
  105. package/dist/VoiceRecorder/context.js +156 -0
  106. package/dist/VoiceRecorder/useVoiceRecorder.js +121 -0
  107. package/dist/WebAudioUtils-9bed7a8e.js +126 -0
  108. package/dist/WebAudioUtils-9bed7a8e.js.map +1 -0
  109. package/dist/_rollupPluginBabelHelpers-cc035350.js +66 -0
  110. package/dist/_rollupPluginBabelHelpers-cc035350.js.map +1 -0
  111. package/dist/actionTypes-cccf62ac.js +8 -0
  112. package/dist/actionTypes-cccf62ac.js.map +1 -0
  113. package/dist/cjs/App.js +741 -0
  114. package/dist/cjs/App.js.map +1 -0
  115. package/dist/cjs/Channel/components/ChannelHeader.js +120 -0
  116. package/dist/cjs/Channel/components/ChannelUI.js +195 -0
  117. package/dist/cjs/Channel/components/FileViewer.js +167 -0
  118. package/dist/cjs/Channel/components/FrozenNotification.js +30 -0
  119. package/dist/cjs/Channel/components/Message.js +416 -0
  120. package/dist/cjs/Channel/components/MessageInput.js +252 -0
  121. package/dist/cjs/Channel/components/MessageList.js +362 -0
  122. package/dist/cjs/Channel/components/RemoveMessageModal.js +66 -0
  123. package/dist/cjs/Channel/components/SuggestedMentionList.js +265 -0
  124. package/dist/cjs/Channel/components/TypingIndicator.js +97 -0
  125. package/dist/cjs/Channel/components/UnreadCount.js +44 -0
  126. package/dist/cjs/Channel/context.js +29 -0
  127. package/dist/cjs/Channel.js +161 -0
  128. package/dist/cjs/ChannelList/components/AddChannel.js +84 -0
  129. package/dist/cjs/ChannelList/components/ChannelListHeader.js +82 -0
  130. package/dist/cjs/ChannelList/components/ChannelListUI.js +233 -0
  131. package/dist/cjs/ChannelList/components/ChannelPreview.js +189 -0
  132. package/dist/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  133. package/dist/cjs/ChannelList/context.js +23 -0
  134. package/dist/cjs/ChannelList.js +103 -0
  135. package/dist/cjs/ChannelListProvider-6278e465.js +979 -0
  136. package/dist/cjs/ChannelListProvider-6278e465.js.map +1 -0
  137. package/dist/cjs/ChannelProvider-a05d259f.js +2157 -0
  138. package/dist/cjs/ChannelProvider-a05d259f.js.map +1 -0
  139. package/dist/cjs/ChannelSettings/components/ChannelProfile.js +95 -0
  140. package/dist/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  141. package/dist/cjs/ChannelSettings/components/EditDetailsModal.js +152 -0
  142. package/dist/cjs/ChannelSettings/components/LeaveChannel.js +101 -0
  143. package/dist/cjs/ChannelSettings/components/ModerationPanel.js +794 -0
  144. package/dist/cjs/ChannelSettings/components/UserListItem.js +113 -0
  145. package/dist/cjs/ChannelSettings/components/UserPanel.js +84 -0
  146. package/dist/cjs/ChannelSettings/context.js +105 -0
  147. package/dist/cjs/ChannelSettings.js +82 -0
  148. package/dist/cjs/CreateChannel/components/CreateChannelUI.js +64 -0
  149. package/dist/cjs/CreateChannel/components/InviteUsers.js +204 -0
  150. package/dist/cjs/CreateChannel/components/SelectChannelType.js +139 -0
  151. package/dist/cjs/CreateChannel/context.js +18 -0
  152. package/dist/cjs/CreateChannel.js +64 -0
  153. package/dist/cjs/CreateChannelProvider-2e0d0496.js +52 -0
  154. package/dist/cjs/CreateChannelProvider-2e0d0496.js.map +1 -0
  155. package/dist/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +126 -0
  156. package/dist/cjs/CreateOpenChannel/context.js +72 -0
  157. package/dist/cjs/CreateOpenChannel.js +53 -0
  158. package/dist/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  159. package/dist/cjs/EditUserProfile.js +47 -0
  160. package/dist/cjs/LocalizationContext-44d2f61b.js +28 -0
  161. package/dist/cjs/LocalizationContext-44d2f61b.js.map +1 -0
  162. package/dist/cjs/MediaQueryContext-5d311a86.js +94 -0
  163. package/dist/cjs/MediaQueryContext-5d311a86.js.map +1 -0
  164. package/dist/cjs/MemberList-324a4047.js +409 -0
  165. package/dist/cjs/MemberList-324a4047.js.map +1 -0
  166. package/dist/cjs/MessageSearch/components/MessageSearchUI.js +152 -0
  167. package/dist/cjs/MessageSearch/context.js +380 -0
  168. package/dist/cjs/MessageSearch.js +141 -0
  169. package/dist/cjs/OpenChannel/components/FrozenChannelNotification.js +27 -0
  170. package/dist/cjs/OpenChannel/components/OpenChannelHeader.js +98 -0
  171. package/dist/cjs/OpenChannel/components/OpenChannelInput.js +82 -0
  172. package/dist/cjs/OpenChannel/components/OpenChannelMessage.js +295 -0
  173. package/dist/cjs/OpenChannel/components/OpenChannelMessageList.js +153 -0
  174. package/dist/cjs/OpenChannel/components/OpenChannelUI.js +127 -0
  175. package/dist/cjs/OpenChannel/context.js +24 -0
  176. package/dist/cjs/OpenChannel.js +100 -0
  177. package/dist/cjs/OpenChannelList/components/OpenChannelListUI.js +188 -0
  178. package/dist/cjs/OpenChannelList/components/OpenChannelPreview.js +72 -0
  179. package/dist/cjs/OpenChannelList/context.js +17 -0
  180. package/dist/cjs/OpenChannelList.js +67 -0
  181. package/dist/cjs/OpenChannelListProvider-42bc1841.js +439 -0
  182. package/dist/cjs/OpenChannelListProvider-42bc1841.js.map +1 -0
  183. package/dist/cjs/OpenChannelProvider-ecae68c8.js +1894 -0
  184. package/dist/cjs/OpenChannelProvider-ecae68c8.js.map +1 -0
  185. package/dist/cjs/OpenChannelSettings/components/EditDetailsModal.js +145 -0
  186. package/dist/cjs/OpenChannelSettings/components/OpenChannelProfile.js +84 -0
  187. package/dist/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +134 -0
  188. package/dist/cjs/OpenChannelSettings/components/OperatorUI.js +852 -0
  189. package/dist/cjs/OpenChannelSettings/components/ParticipantUI.js +42 -0
  190. package/dist/cjs/OpenChannelSettings/context.js +141 -0
  191. package/dist/cjs/OpenChannelSettings.js +72 -0
  192. package/dist/cjs/RemoveMessageModal-81daa8a0.js +42 -0
  193. package/dist/cjs/RemoveMessageModal-81daa8a0.js.map +1 -0
  194. package/dist/cjs/SendbirdProvider.js +1206 -0
  195. package/dist/cjs/SendbirdProvider.js.map +1 -0
  196. package/dist/cjs/Thread/components/ParentMessageInfo.js +387 -0
  197. package/dist/cjs/Thread/components/ParentMessageInfoItem.js +226 -0
  198. package/dist/cjs/Thread/components/ThreadHeader.js +66 -0
  199. package/dist/cjs/Thread/components/ThreadList.js +173 -0
  200. package/dist/cjs/Thread/components/ThreadListItem.js +561 -0
  201. package/dist/cjs/Thread/components/ThreadMessageInput.js +232 -0
  202. package/dist/cjs/Thread/components/ThreadUI.js +354 -0
  203. package/dist/cjs/Thread/context.js +27 -0
  204. package/dist/cjs/Thread.js +151 -0
  205. package/dist/cjs/ThreadProvider-bac1bea8.js +1704 -0
  206. package/dist/cjs/ThreadProvider-bac1bea8.js.map +1 -0
  207. package/dist/cjs/UserProfileContext-9d843d68.js +49 -0
  208. package/dist/cjs/UserProfileContext-9d843d68.js.map +1 -0
  209. package/dist/cjs/VoiceMessageInputWrapper-6625f53a.js +176 -0
  210. package/dist/cjs/VoiceMessageInputWrapper-6625f53a.js.map +1 -0
  211. package/dist/cjs/VoicePlayer/context.js +17 -0
  212. package/dist/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  213. package/dist/cjs/VoiceRecorder/context.js +166 -0
  214. package/dist/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  215. package/dist/cjs/WebAudioUtils-23153df4.js +129 -0
  216. package/dist/cjs/WebAudioUtils-23153df4.js.map +1 -0
  217. package/dist/cjs/_rollupPluginBabelHelpers-21ae158b.js +70 -0
  218. package/dist/cjs/_rollupPluginBabelHelpers-21ae158b.js.map +1 -0
  219. package/dist/cjs/actionTypes-944c8755.js +10 -0
  220. package/dist/cjs/actionTypes-944c8755.js.map +1 -0
  221. package/dist/cjs/color-0c04efbd.js +37 -0
  222. package/dist/cjs/color-0c04efbd.js.map +1 -0
  223. package/dist/cjs/compareIds-a846891d.js +17 -0
  224. package/dist/cjs/compareIds-a846891d.js.map +1 -0
  225. package/dist/cjs/const-1ea78727.js +20 -0
  226. package/dist/cjs/const-1ea78727.js.map +1 -0
  227. package/dist/cjs/const-bd02657f.js +22 -0
  228. package/dist/cjs/const-bd02657f.js.map +1 -0
  229. package/dist/cjs/consts-867f1ae6.js +6 -0
  230. package/dist/cjs/consts-867f1ae6.js.map +1 -0
  231. package/dist/cjs/consts-900e72b9.js +43 -0
  232. package/dist/cjs/consts-900e72b9.js.map +1 -0
  233. package/dist/cjs/consts-b93ef9ea.js +6 -0
  234. package/dist/cjs/consts-b93ef9ea.js.map +1 -0
  235. package/dist/cjs/consts-bce71b24.js +6 -0
  236. package/dist/cjs/consts-bce71b24.js.map +1 -0
  237. package/dist/cjs/context-2bf3186e.js +20 -0
  238. package/dist/cjs/context-2bf3186e.js.map +1 -0
  239. package/dist/cjs/dist/index.css +7570 -0
  240. package/dist/cjs/dist/index.css.map +1 -0
  241. package/dist/cjs/index-0a446cca.js +9 -0
  242. package/dist/cjs/index-0a446cca.js.map +1 -0
  243. package/dist/cjs/index-1b3c69da.js +585 -0
  244. package/dist/cjs/index-1b3c69da.js.map +1 -0
  245. package/dist/cjs/index-24f791d1.js +178 -0
  246. package/dist/cjs/index-24f791d1.js.map +1 -0
  247. package/dist/cjs/index-2bfd366f.js +129 -0
  248. package/dist/cjs/index-2bfd366f.js.map +1 -0
  249. package/dist/cjs/index-4d2879d6.js +161 -0
  250. package/dist/cjs/index-4d2879d6.js.map +1 -0
  251. package/dist/cjs/index-50c4a83b.js +330 -0
  252. package/dist/cjs/index-50c4a83b.js.map +1 -0
  253. package/dist/cjs/index-77d10148.js +171 -0
  254. package/dist/cjs/index-77d10148.js.map +1 -0
  255. package/dist/cjs/index-78a1037e.js +456 -0
  256. package/dist/cjs/index-78a1037e.js.map +1 -0
  257. package/dist/cjs/index-88e8fdfa.js +503 -0
  258. package/dist/cjs/index-88e8fdfa.js.map +1 -0
  259. package/dist/cjs/index-892b4b7f.js +1857 -0
  260. package/dist/cjs/index-892b4b7f.js.map +1 -0
  261. package/dist/cjs/index-8cd9b25d.js +57 -0
  262. package/dist/cjs/index-8cd9b25d.js.map +1 -0
  263. package/dist/cjs/index-9a5e4383.js +118 -0
  264. package/dist/cjs/index-9a5e4383.js.map +1 -0
  265. package/dist/cjs/index-a3268370.js +68 -0
  266. package/dist/cjs/index-a3268370.js.map +1 -0
  267. package/dist/cjs/index-b339cfde.js +202 -0
  268. package/dist/cjs/index-b339cfde.js.map +1 -0
  269. package/dist/cjs/index-b6657c80.js +149 -0
  270. package/dist/cjs/index-b6657c80.js.map +1 -0
  271. package/dist/cjs/index-beae7f2c.js +367 -0
  272. package/dist/cjs/index-beae7f2c.js.map +1 -0
  273. package/dist/cjs/index-c08f5bf5.js +79 -0
  274. package/dist/cjs/index-c08f5bf5.js.map +1 -0
  275. package/dist/cjs/index.js +207 -0
  276. package/dist/cjs/index.module-5a6a79b6.js +6 -0
  277. package/dist/cjs/index.module-5a6a79b6.js.map +1 -0
  278. package/dist/cjs/package.json +52 -0
  279. package/dist/cjs/resolvedReplyType-14fa0f85.js +32 -0
  280. package/dist/cjs/resolvedReplyType-14fa0f85.js.map +1 -0
  281. package/dist/cjs/sendbirdSelectors.js +586 -0
  282. package/dist/cjs/stringSet-7aebf034.js +205 -0
  283. package/dist/cjs/stringSet-7aebf034.js.map +1 -0
  284. package/dist/cjs/tokenize-44139f1e.js +164 -0
  285. package/dist/cjs/tokenize-44139f1e.js.map +1 -0
  286. package/dist/cjs/topics-373d2156.js +18 -0
  287. package/dist/cjs/topics-373d2156.js.map +1 -0
  288. package/dist/cjs/types-df5bd4e5.js +17 -0
  289. package/dist/cjs/types-df5bd4e5.js.map +1 -0
  290. package/dist/cjs/ui/Accordion.js +70 -0
  291. package/dist/cjs/ui/AccordionGroup.js +29 -0
  292. package/dist/cjs/ui/AdminMessage.js +31 -0
  293. package/dist/cjs/ui/Avatar.js +203 -0
  294. package/dist/cjs/ui/Badge.js +35 -0
  295. package/dist/cjs/ui/BottomSheet.js +45 -0
  296. package/dist/cjs/ui/Button.js +79 -0
  297. package/dist/cjs/ui/ChannelAvatar.js +55 -0
  298. package/dist/cjs/ui/ConnectionStatus.js +33 -0
  299. package/dist/cjs/ui/ContextMenu.js +305 -0
  300. package/dist/cjs/ui/DateSeparator.js +34 -0
  301. package/dist/cjs/ui/EmojiReactions.js +335 -0
  302. package/dist/cjs/ui/FileMessageItemBody.js +63 -0
  303. package/dist/cjs/ui/FileViewer.js +137 -0
  304. package/dist/cjs/ui/IconButton.js +49 -0
  305. package/dist/cjs/ui/Input.js +54 -0
  306. package/dist/cjs/ui/Label.js +16 -0
  307. package/dist/cjs/ui/LinkLabel.js +61 -0
  308. package/dist/cjs/ui/MentionLabel.js +97 -0
  309. package/dist/cjs/ui/MentionUserLabel.js +27 -0
  310. package/dist/cjs/ui/MessageContent.js +430 -0
  311. package/dist/cjs/ui/MessageInput.js +846 -0
  312. package/dist/cjs/ui/MessageItemMenu.js +162 -0
  313. package/dist/cjs/ui/MessageItemReactionMenu.js +109 -0
  314. package/dist/cjs/ui/MessageSearchFileItem.js +137 -0
  315. package/dist/cjs/ui/MessageSearchItem.js +104 -0
  316. package/dist/cjs/ui/MessageStatus.js +25 -0
  317. package/dist/cjs/ui/Modal.js +132 -0
  318. package/dist/cjs/ui/OGMessageItemBody.js +133 -0
  319. package/dist/cjs/ui/OpenChannelAdminMessage.js +27 -0
  320. package/dist/cjs/ui/OpenChannelAvatar.js +41 -0
  321. package/dist/cjs/ui/OpenchannelConversationHeader.js +76 -0
  322. package/dist/cjs/ui/OpenchannelFileMessage.js +253 -0
  323. package/dist/cjs/ui/OpenchannelOGMessage.js +351 -0
  324. package/dist/cjs/ui/OpenchannelThumbnailMessage.js +332 -0
  325. package/dist/cjs/ui/OpenchannelUserMessage.js +279 -0
  326. package/dist/cjs/ui/PlaceHolder.js +19 -0
  327. package/dist/cjs/ui/PlaybackTime.js +35 -0
  328. package/dist/cjs/ui/QuoteMessage.js +158 -0
  329. package/dist/cjs/ui/QuoteMessageInput.js +99 -0
  330. package/dist/cjs/ui/ReactionBadge.js +50 -0
  331. package/dist/cjs/ui/ReactionButton.js +47 -0
  332. package/dist/cjs/ui/SortByRow.js +43 -0
  333. package/dist/cjs/ui/TextButton.js +29 -0
  334. package/dist/cjs/ui/TextMessageItemBody.js +79 -0
  335. package/dist/cjs/ui/ThreadReplies.js +85 -0
  336. package/dist/cjs/ui/ThumbnailMessageItemBody.js +77 -0
  337. package/dist/cjs/ui/Toggle.js +202 -0
  338. package/dist/cjs/ui/Tooltip.js +27 -0
  339. package/dist/cjs/ui/UnknownMessageItemBody.js +43 -0
  340. package/dist/cjs/ui/UserListItem.js +133 -0
  341. package/dist/cjs/ui/UserProfile.js +93 -0
  342. package/dist/cjs/ui/VoiceMessageItemBody.js +119 -0
  343. package/dist/cjs/ui/VoiceMessgeInput.js +22 -0
  344. package/dist/cjs/ui/Word.js +107 -0
  345. package/dist/cjs/useDirtyGetMentions-1500af53.js +77 -0
  346. package/dist/cjs/useDirtyGetMentions-1500af53.js.map +1 -0
  347. package/dist/cjs/useLongPress-83b6a2f1.js +87 -0
  348. package/dist/cjs/useLongPress-83b6a2f1.js.map +1 -0
  349. package/dist/cjs/useSendbirdStateContext.js +21 -0
  350. package/dist/cjs/utils/message/isVoiceMessage.js +12 -0
  351. package/dist/cjs/utils-6a43371d.js +31 -0
  352. package/dist/cjs/utils-6a43371d.js.map +1 -0
  353. package/dist/cjs/utils-6a748c02.js +6 -0
  354. package/dist/cjs/utils-6a748c02.js.map +1 -0
  355. package/dist/cjs/utils-c71f0bea.js +35 -0
  356. package/dist/cjs/utils-c71f0bea.js.map +1 -0
  357. package/dist/cjs/utils-d7f7f189.js +28 -0
  358. package/dist/cjs/utils-d7f7f189.js.map +1 -0
  359. package/dist/cjs/uuid-dee74248.js +15 -0
  360. package/dist/cjs/uuid-dee74248.js.map +1 -0
  361. package/dist/cjs/withSendbird.js +32 -0
  362. package/dist/color-ea3bf5b8.js +34 -0
  363. package/dist/color-ea3bf5b8.js.map +1 -0
  364. package/dist/compareIds-367bb030.js +15 -0
  365. package/dist/compareIds-367bb030.js.map +1 -0
  366. package/dist/const-2e67461b.js +18 -0
  367. package/dist/const-2e67461b.js.map +1 -0
  368. package/dist/const-7c266a95.js +13 -0
  369. package/dist/const-7c266a95.js.map +1 -0
  370. package/dist/consts-3a33a0a8.js +4 -0
  371. package/dist/consts-3a33a0a8.js.map +1 -0
  372. package/dist/consts-44eaef6b.js +28 -0
  373. package/dist/consts-44eaef6b.js.map +1 -0
  374. package/dist/consts-a0834b70.js +4 -0
  375. package/dist/consts-a0834b70.js.map +1 -0
  376. package/dist/consts-b3274b3d.js +4 -0
  377. package/dist/consts-b3274b3d.js.map +1 -0
  378. package/dist/context-b513d868.js +13 -0
  379. package/dist/context-b513d868.js.map +1 -0
  380. package/dist/dist/index.css +7570 -0
  381. package/dist/dist/index.css.map +1 -0
  382. package/dist/index-02ceed0a.js +320 -0
  383. package/dist/index-02ceed0a.js.map +1 -0
  384. package/dist/index-0aa8cbad.js +137 -0
  385. package/dist/index-0aa8cbad.js.map +1 -0
  386. package/dist/index-11fe17e1.js +110 -0
  387. package/dist/index-11fe17e1.js.map +1 -0
  388. package/dist/index-3461216d.js +76 -0
  389. package/dist/index-3461216d.js.map +1 -0
  390. package/dist/index-35696958.js +450 -0
  391. package/dist/index-35696958.js.map +1 -0
  392. package/dist/index-3f8e1a51.js +66 -0
  393. package/dist/index-3f8e1a51.js.map +1 -0
  394. package/dist/index-44c86e58.js +7 -0
  395. package/dist/index-44c86e58.js.map +1 -0
  396. package/dist/index-581e7610.js +360 -0
  397. package/dist/index-581e7610.js.map +1 -0
  398. package/dist/index-5a62f6b7.js +1852 -0
  399. package/dist/index-5a62f6b7.js.map +1 -0
  400. package/dist/index-7e5538e6.js +174 -0
  401. package/dist/index-7e5538e6.js.map +1 -0
  402. package/dist/index-99ab01f6.js +540 -0
  403. package/dist/index-99ab01f6.js.map +1 -0
  404. package/dist/index-9c80246a.js +164 -0
  405. package/dist/index-9c80246a.js.map +1 -0
  406. package/dist/index-a31ee68d.js +51 -0
  407. package/dist/index-a31ee68d.js.map +1 -0
  408. package/dist/index-cac27d56.js +154 -0
  409. package/dist/index-cac27d56.js.map +1 -0
  410. package/dist/index-e30c58e0.js +187 -0
  411. package/dist/index-e30c58e0.js.map +1 -0
  412. package/dist/index-f50d7ab0.js +118 -0
  413. package/dist/index-f50d7ab0.js.map +1 -0
  414. package/dist/index-ff8f2f61.js +501 -0
  415. package/dist/index-ff8f2f61.js.map +1 -0
  416. package/dist/index.d.ts +2627 -0
  417. package/dist/index.js +187 -0
  418. package/dist/index.module-d24badee.js +4 -0
  419. package/dist/index.module-d24badee.js.map +1 -0
  420. package/dist/package.json +127 -0
  421. package/dist/resolvedReplyType-6bb8f548.js +29 -0
  422. package/dist/resolvedReplyType-6bb8f548.js.map +1 -0
  423. package/dist/sendbirdSelectors.js +561 -0
  424. package/dist/stringSet-e9bb0333.js +203 -0
  425. package/dist/stringSet-e9bb0333.js.map +1 -0
  426. package/dist/tokenize-d12690c3.js +159 -0
  427. package/dist/tokenize-d12690c3.js.map +1 -0
  428. package/dist/topics-0b30f52b.js +16 -0
  429. package/dist/topics-0b30f52b.js.map +1 -0
  430. package/dist/types-28e84810.js +15 -0
  431. package/dist/types-28e84810.js.map +1 -0
  432. package/dist/ui/Accordion.js +61 -0
  433. package/dist/ui/AccordionGroup.js +23 -0
  434. package/dist/ui/AdminMessage.js +25 -0
  435. package/dist/ui/Avatar.js +194 -0
  436. package/dist/ui/Badge.js +29 -0
  437. package/dist/ui/BottomSheet.js +39 -0
  438. package/dist/ui/Button.js +69 -0
  439. package/dist/ui/ChannelAvatar.js +49 -0
  440. package/dist/ui/ConnectionStatus.js +27 -0
  441. package/dist/ui/ContextMenu.js +292 -0
  442. package/dist/ui/DateSeparator.js +28 -0
  443. package/dist/ui/EmojiReactions.js +329 -0
  444. package/dist/ui/FileMessageItemBody.js +57 -0
  445. package/dist/ui/FileViewer.js +128 -0
  446. package/dist/ui/IconButton.js +43 -0
  447. package/dist/ui/Input.js +45 -0
  448. package/dist/ui/Label.js +5 -0
  449. package/dist/ui/LinkLabel.js +50 -0
  450. package/dist/ui/MentionLabel.js +91 -0
  451. package/dist/ui/MentionUserLabel.js +21 -0
  452. package/dist/ui/MessageContent.js +424 -0
  453. package/dist/ui/MessageInput.js +838 -0
  454. package/dist/ui/MessageItemMenu.js +156 -0
  455. package/dist/ui/MessageItemReactionMenu.js +103 -0
  456. package/dist/ui/MessageSearchFileItem.js +131 -0
  457. package/dist/ui/MessageSearchItem.js +98 -0
  458. package/dist/ui/MessageStatus.js +16 -0
  459. package/dist/ui/Modal.js +121 -0
  460. package/dist/ui/OGMessageItemBody.js +127 -0
  461. package/dist/ui/OpenChannelAdminMessage.js +21 -0
  462. package/dist/ui/OpenChannelAvatar.js +35 -0
  463. package/dist/ui/OpenchannelConversationHeader.js +70 -0
  464. package/dist/ui/OpenchannelFileMessage.js +247 -0
  465. package/dist/ui/OpenchannelOGMessage.js +345 -0
  466. package/dist/ui/OpenchannelThumbnailMessage.js +326 -0
  467. package/dist/ui/OpenchannelUserMessage.js +273 -0
  468. package/dist/ui/PlaceHolder.js +10 -0
  469. package/dist/ui/PlaybackTime.js +26 -0
  470. package/dist/ui/QuoteMessage.js +152 -0
  471. package/dist/ui/QuoteMessageInput.js +93 -0
  472. package/dist/ui/ReactionBadge.js +44 -0
  473. package/dist/ui/ReactionButton.js +41 -0
  474. package/dist/ui/SortByRow.js +37 -0
  475. package/dist/ui/TextButton.js +23 -0
  476. package/dist/ui/TextMessageItemBody.js +73 -0
  477. package/dist/ui/ThreadReplies.js +79 -0
  478. package/dist/ui/ThumbnailMessageItemBody.js +71 -0
  479. package/dist/ui/Toggle.js +191 -0
  480. package/dist/ui/Tooltip.js +21 -0
  481. package/dist/ui/UnknownMessageItemBody.js +37 -0
  482. package/dist/ui/UserListItem.js +127 -0
  483. package/dist/ui/UserProfile.js +87 -0
  484. package/dist/ui/VoiceMessageItemBody.js +110 -0
  485. package/dist/ui/VoiceMessgeInput.js +14 -0
  486. package/dist/ui/Word.js +101 -0
  487. package/dist/useDirtyGetMentions-2df51ec3.js +75 -0
  488. package/dist/useDirtyGetMentions-2df51ec3.js.map +1 -0
  489. package/dist/useLongPress-6d0b6619.js +85 -0
  490. package/dist/useLongPress-6d0b6619.js.map +1 -0
  491. package/dist/useSendbirdStateContext.js +19 -0
  492. package/dist/utils/message/isVoiceMessage.js +8 -0
  493. package/dist/utils-05aa9060.js +4 -0
  494. package/dist/utils-05aa9060.js.map +1 -0
  495. package/dist/utils-a59107a2.js +26 -0
  496. package/dist/utils-a59107a2.js.map +1 -0
  497. package/dist/utils-cd7ab927.js +31 -0
  498. package/dist/utils-cd7ab927.js.map +1 -0
  499. package/dist/utils-f1b4b34b.js +29 -0
  500. package/dist/utils-f1b4b34b.js.map +1 -0
  501. package/dist/uuid-8b344dd2.js +13 -0
  502. package/dist/uuid-8b344dd2.js.map +1 -0
  503. package/dist/withSendbird.js +23 -0
  504. package/package.json +43 -13
  505. package/App.js +0 -730
  506. package/App.js.map +0 -1
  507. package/Channel/components/ChannelHeader.js +0 -114
  508. package/Channel/components/ChannelUI.js +0 -189
  509. package/Channel/components/FileViewer.js +0 -158
  510. package/Channel/components/FrozenNotification.js +0 -24
  511. package/Channel/components/Message.js +0 -410
  512. package/Channel/components/MessageInput.js +0 -246
  513. package/Channel/components/MessageList.js +0 -356
  514. package/Channel/components/RemoveMessageModal.js +0 -60
  515. package/Channel/components/SuggestedMentionList.js +0 -259
  516. package/Channel/components/TypingIndicator.js +0 -88
  517. package/Channel/components/UnreadCount.js +0 -38
  518. package/Channel/context.js +0 -20
  519. package/Channel.js +0 -155
  520. package/ChannelList/components/AddChannel.js +0 -75
  521. package/ChannelList/components/ChannelListHeader.js +0 -76
  522. package/ChannelList/components/ChannelListUI.js +0 -227
  523. package/ChannelList/components/ChannelPreview.js +0 -183
  524. package/ChannelList/components/ChannelPreviewAction.js +0 -133
  525. package/ChannelList/context.js +0 -14
  526. package/ChannelList.js +0 -97
  527. package/ChannelListProvider-1f3a3b98.js +0 -967
  528. package/ChannelListProvider-1f3a3b98.js.map +0 -1
  529. package/ChannelProvider-5c274c35.js +0 -2144
  530. package/ChannelProvider-5c274c35.js.map +0 -1
  531. package/ChannelSettings/components/ChannelProfile.js +0 -89
  532. package/ChannelSettings/components/ChannelSettingsUI.js +0 -152
  533. package/ChannelSettings/components/EditDetailsModal.js +0 -146
  534. package/ChannelSettings/components/LeaveChannel.js +0 -95
  535. package/ChannelSettings/components/ModerationPanel.js +0 -788
  536. package/ChannelSettings/components/UserListItem.js +0 -107
  537. package/ChannelSettings/components/UserPanel.js +0 -78
  538. package/ChannelSettings/context.js +0 -96
  539. package/ChannelSettings.js +0 -76
  540. package/CreateChannel/components/CreateChannelUI.js +0 -58
  541. package/CreateChannel/components/InviteUsers.js +0 -198
  542. package/CreateChannel/components/SelectChannelType.js +0 -133
  543. package/CreateChannel/context.js +0 -9
  544. package/CreateChannel.js +0 -58
  545. package/CreateChannelProvider-7c210c5c.js +0 -44
  546. package/CreateChannelProvider-7c210c5c.js.map +0 -1
  547. package/CreateOpenChannel/components/CreateOpenChannelUI.js +0 -120
  548. package/CreateOpenChannel/context.js +0 -63
  549. package/CreateOpenChannel.js +0 -47
  550. package/EditUserProfile/components/EditUserProfileUI.js +0 -26
  551. package/EditUserProfile.js +0 -41
  552. package/LocalizationContext-946f1522.js +0 -20
  553. package/LocalizationContext-946f1522.js.map +0 -1
  554. package/MediaQueryContext-3082308b.js +0 -87
  555. package/MediaQueryContext-3082308b.js.map +0 -1
  556. package/MemberList-56b35618.js +0 -403
  557. package/MemberList-56b35618.js.map +0 -1
  558. package/MessageSearch/components/MessageSearchUI.js +0 -143
  559. package/MessageSearch/context.js +0 -371
  560. package/MessageSearch.js +0 -135
  561. package/OpenChannel/components/FrozenChannelNotification.js +0 -21
  562. package/OpenChannel/components/OpenChannelHeader.js +0 -92
  563. package/OpenChannel/components/OpenChannelInput.js +0 -76
  564. package/OpenChannel/components/OpenChannelMessage.js +0 -289
  565. package/OpenChannel/components/OpenChannelMessageList.js +0 -147
  566. package/OpenChannel/components/OpenChannelUI.js +0 -121
  567. package/OpenChannel/context.js +0 -15
  568. package/OpenChannel.js +0 -94
  569. package/OpenChannelList/components/OpenChannelListUI.js +0 -182
  570. package/OpenChannelList/components/OpenChannelPreview.js +0 -66
  571. package/OpenChannelList/context.js +0 -7
  572. package/OpenChannelList.js +0 -61
  573. package/OpenChannelListProvider-3e2d0231.js +0 -429
  574. package/OpenChannelListProvider-3e2d0231.js.map +0 -1
  575. package/OpenChannelProvider-1015964c.js +0 -1885
  576. package/OpenChannelProvider-1015964c.js.map +0 -1
  577. package/OpenChannelSettings/components/EditDetailsModal.js +0 -139
  578. package/OpenChannelSettings/components/OpenChannelProfile.js +0 -78
  579. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -128
  580. package/OpenChannelSettings/components/OperatorUI.js +0 -842
  581. package/OpenChannelSettings/components/ParticipantUI.js +0 -36
  582. package/OpenChannelSettings/context.js +0 -132
  583. package/OpenChannelSettings.js +0 -66
  584. package/RemoveMessageModal-0c26de36.js +0 -36
  585. package/RemoveMessageModal-0c26de36.js.map +0 -1
  586. package/SendbirdProvider.js +0 -1192
  587. package/SendbirdProvider.js.map +0 -1
  588. package/Thread/components/ParentMessageInfo.js +0 -381
  589. package/Thread/components/ParentMessageInfoItem.js +0 -220
  590. package/Thread/components/ThreadHeader.js +0 -60
  591. package/Thread/components/ThreadList.js +0 -167
  592. package/Thread/components/ThreadListItem.js +0 -555
  593. package/Thread/components/ThreadMessageInput.js +0 -226
  594. package/Thread/components/ThreadUI.js +0 -348
  595. package/Thread/context.js +0 -18
  596. package/Thread.js +0 -145
  597. package/ThreadProvider-d0b84f35.js +0 -1695
  598. package/ThreadProvider-d0b84f35.js.map +0 -1
  599. package/UserProfileContext-00a2876c.js +0 -41
  600. package/UserProfileContext-00a2876c.js.map +0 -1
  601. package/VoiceMessageInputWrapper-a5804e24.js +0 -170
  602. package/VoiceMessageInputWrapper-a5804e24.js.map +0 -1
  603. package/VoicePlayer/context.js +0 -7
  604. package/VoicePlayer/useVoicePlayer.js +0 -84
  605. package/VoiceRecorder/context.js +0 -156
  606. package/VoiceRecorder/useVoiceRecorder.js +0 -121
  607. package/WebAudioUtils-eae97f80.js +0 -126
  608. package/WebAudioUtils-eae97f80.js.map +0 -1
  609. package/_rollupPluginBabelHelpers-b483a7d2.js +0 -66
  610. package/_rollupPluginBabelHelpers-b483a7d2.js.map +0 -1
  611. package/actionTypes-cb0b031b.js +0 -8
  612. package/actionTypes-cb0b031b.js.map +0 -1
  613. package/cjs/App.js +0 -737
  614. package/cjs/App.js.map +0 -1
  615. package/cjs/Channel/components/ChannelHeader.js +0 -120
  616. package/cjs/Channel/components/ChannelUI.js +0 -195
  617. package/cjs/Channel/components/FileViewer.js +0 -167
  618. package/cjs/Channel/components/FrozenNotification.js +0 -30
  619. package/cjs/Channel/components/Message.js +0 -416
  620. package/cjs/Channel/components/MessageInput.js +0 -252
  621. package/cjs/Channel/components/MessageList.js +0 -362
  622. package/cjs/Channel/components/RemoveMessageModal.js +0 -66
  623. package/cjs/Channel/components/SuggestedMentionList.js +0 -265
  624. package/cjs/Channel/components/TypingIndicator.js +0 -97
  625. package/cjs/Channel/components/UnreadCount.js +0 -44
  626. package/cjs/Channel/context.js +0 -29
  627. package/cjs/Channel.js +0 -161
  628. package/cjs/ChannelList/components/AddChannel.js +0 -84
  629. package/cjs/ChannelList/components/ChannelListHeader.js +0 -82
  630. package/cjs/ChannelList/components/ChannelListUI.js +0 -233
  631. package/cjs/ChannelList/components/ChannelPreview.js +0 -189
  632. package/cjs/ChannelList/components/ChannelPreviewAction.js +0 -140
  633. package/cjs/ChannelList/context.js +0 -23
  634. package/cjs/ChannelList.js +0 -103
  635. package/cjs/ChannelListProvider-b45b79f5.js +0 -979
  636. package/cjs/ChannelListProvider-b45b79f5.js.map +0 -1
  637. package/cjs/ChannelProvider-7abd9fa3.js +0 -2157
  638. package/cjs/ChannelProvider-7abd9fa3.js.map +0 -1
  639. package/cjs/ChannelSettings/components/ChannelProfile.js +0 -95
  640. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -158
  641. package/cjs/ChannelSettings/components/EditDetailsModal.js +0 -152
  642. package/cjs/ChannelSettings/components/LeaveChannel.js +0 -101
  643. package/cjs/ChannelSettings/components/ModerationPanel.js +0 -794
  644. package/cjs/ChannelSettings/components/UserListItem.js +0 -113
  645. package/cjs/ChannelSettings/components/UserPanel.js +0 -84
  646. package/cjs/ChannelSettings/context.js +0 -105
  647. package/cjs/ChannelSettings.js +0 -82
  648. package/cjs/CreateChannel/components/CreateChannelUI.js +0 -64
  649. package/cjs/CreateChannel/components/InviteUsers.js +0 -204
  650. package/cjs/CreateChannel/components/SelectChannelType.js +0 -139
  651. package/cjs/CreateChannel/context.js +0 -18
  652. package/cjs/CreateChannel.js +0 -64
  653. package/cjs/CreateChannelProvider-1cf31fc6.js +0 -52
  654. package/cjs/CreateChannelProvider-1cf31fc6.js.map +0 -1
  655. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +0 -126
  656. package/cjs/CreateOpenChannel/context.js +0 -72
  657. package/cjs/CreateOpenChannel.js +0 -53
  658. package/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -32
  659. package/cjs/EditUserProfile.js +0 -47
  660. package/cjs/LocalizationContext-c014018b.js +0 -28
  661. package/cjs/LocalizationContext-c014018b.js.map +0 -1
  662. package/cjs/MediaQueryContext-aea0ce1a.js +0 -94
  663. package/cjs/MediaQueryContext-aea0ce1a.js.map +0 -1
  664. package/cjs/MemberList-c86e360b.js +0 -409
  665. package/cjs/MemberList-c86e360b.js.map +0 -1
  666. package/cjs/MessageSearch/components/MessageSearchUI.js +0 -152
  667. package/cjs/MessageSearch/context.js +0 -380
  668. package/cjs/MessageSearch.js +0 -141
  669. package/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -27
  670. package/cjs/OpenChannel/components/OpenChannelHeader.js +0 -98
  671. package/cjs/OpenChannel/components/OpenChannelInput.js +0 -82
  672. package/cjs/OpenChannel/components/OpenChannelMessage.js +0 -295
  673. package/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -153
  674. package/cjs/OpenChannel/components/OpenChannelUI.js +0 -127
  675. package/cjs/OpenChannel/context.js +0 -24
  676. package/cjs/OpenChannel.js +0 -100
  677. package/cjs/OpenChannelList/components/OpenChannelListUI.js +0 -188
  678. package/cjs/OpenChannelList/components/OpenChannelPreview.js +0 -72
  679. package/cjs/OpenChannelList/context.js +0 -17
  680. package/cjs/OpenChannelList.js +0 -67
  681. package/cjs/OpenChannelListProvider-6804c86a.js +0 -439
  682. package/cjs/OpenChannelListProvider-6804c86a.js.map +0 -1
  683. package/cjs/OpenChannelProvider-6ca34d20.js +0 -1894
  684. package/cjs/OpenChannelProvider-6ca34d20.js.map +0 -1
  685. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -145
  686. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -84
  687. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -134
  688. package/cjs/OpenChannelSettings/components/OperatorUI.js +0 -852
  689. package/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -42
  690. package/cjs/OpenChannelSettings/context.js +0 -141
  691. package/cjs/OpenChannelSettings.js +0 -72
  692. package/cjs/RemoveMessageModal-443d81bf.js +0 -42
  693. package/cjs/RemoveMessageModal-443d81bf.js.map +0 -1
  694. package/cjs/SendbirdProvider.js +0 -1200
  695. package/cjs/SendbirdProvider.js.map +0 -1
  696. package/cjs/Thread/components/ParentMessageInfo.js +0 -387
  697. package/cjs/Thread/components/ParentMessageInfoItem.js +0 -226
  698. package/cjs/Thread/components/ThreadHeader.js +0 -66
  699. package/cjs/Thread/components/ThreadList.js +0 -173
  700. package/cjs/Thread/components/ThreadListItem.js +0 -561
  701. package/cjs/Thread/components/ThreadMessageInput.js +0 -232
  702. package/cjs/Thread/components/ThreadUI.js +0 -354
  703. package/cjs/Thread/context.js +0 -27
  704. package/cjs/Thread.js +0 -151
  705. package/cjs/ThreadProvider-48a2b384.js +0 -1704
  706. package/cjs/ThreadProvider-48a2b384.js.map +0 -1
  707. package/cjs/UserProfileContext-218e40b8.js +0 -49
  708. package/cjs/UserProfileContext-218e40b8.js.map +0 -1
  709. package/cjs/VoiceMessageInputWrapper-90c4bdb2.js +0 -176
  710. package/cjs/VoiceMessageInputWrapper-90c4bdb2.js.map +0 -1
  711. package/cjs/VoicePlayer/context.js +0 -17
  712. package/cjs/VoicePlayer/useVoicePlayer.js +0 -88
  713. package/cjs/VoiceRecorder/context.js +0 -166
  714. package/cjs/VoiceRecorder/useVoiceRecorder.js +0 -126
  715. package/cjs/WebAudioUtils-752880d0.js +0 -129
  716. package/cjs/WebAudioUtils-752880d0.js.map +0 -1
  717. package/cjs/_rollupPluginBabelHelpers-a2f03c55.js +0 -70
  718. package/cjs/_rollupPluginBabelHelpers-a2f03c55.js.map +0 -1
  719. package/cjs/actionTypes-12a94d6c.js +0 -10
  720. package/cjs/actionTypes-12a94d6c.js.map +0 -1
  721. package/cjs/color-e2978317.js +0 -37
  722. package/cjs/color-e2978317.js.map +0 -1
  723. package/cjs/compareIds-0f9de3a1.js +0 -17
  724. package/cjs/compareIds-0f9de3a1.js.map +0 -1
  725. package/cjs/const-2371a4db.js +0 -20
  726. package/cjs/const-2371a4db.js.map +0 -1
  727. package/cjs/const-fc4d15a8.js +0 -22
  728. package/cjs/const-fc4d15a8.js.map +0 -1
  729. package/cjs/consts-0374d4b1.js +0 -6
  730. package/cjs/consts-0374d4b1.js.map +0 -1
  731. package/cjs/consts-65d5b30a.js +0 -6
  732. package/cjs/consts-65d5b30a.js.map +0 -1
  733. package/cjs/consts-e09f89f0.js +0 -43
  734. package/cjs/consts-e09f89f0.js.map +0 -1
  735. package/cjs/consts-fb57db79.js +0 -6
  736. package/cjs/consts-fb57db79.js.map +0 -1
  737. package/cjs/context-5404064d.js +0 -20
  738. package/cjs/context-5404064d.js.map +0 -1
  739. package/cjs/dist/index.css +0 -7570
  740. package/cjs/dist/index.css.map +0 -1
  741. package/cjs/index-016f7465.js +0 -456
  742. package/cjs/index-016f7465.js.map +0 -1
  743. package/cjs/index-035bdafb.js +0 -503
  744. package/cjs/index-035bdafb.js.map +0 -1
  745. package/cjs/index-10a942ae.js +0 -57
  746. package/cjs/index-10a942ae.js.map +0 -1
  747. package/cjs/index-347004c1.js +0 -129
  748. package/cjs/index-347004c1.js.map +0 -1
  749. package/cjs/index-3a1678b7.js +0 -118
  750. package/cjs/index-3a1678b7.js.map +0 -1
  751. package/cjs/index-4321dbbb.js +0 -79
  752. package/cjs/index-4321dbbb.js.map +0 -1
  753. package/cjs/index-449ba503.js +0 -178
  754. package/cjs/index-449ba503.js.map +0 -1
  755. package/cjs/index-451eee29.js +0 -202
  756. package/cjs/index-451eee29.js.map +0 -1
  757. package/cjs/index-45f1fd2f.js +0 -68
  758. package/cjs/index-45f1fd2f.js.map +0 -1
  759. package/cjs/index-513a30b7.js +0 -330
  760. package/cjs/index-513a30b7.js.map +0 -1
  761. package/cjs/index-b03881eb.js +0 -149
  762. package/cjs/index-b03881eb.js.map +0 -1
  763. package/cjs/index-b6aac2a6.js +0 -367
  764. package/cjs/index-b6aac2a6.js.map +0 -1
  765. package/cjs/index-b713c814.js +0 -161
  766. package/cjs/index-b713c814.js.map +0 -1
  767. package/cjs/index-dcbd98e1.js +0 -171
  768. package/cjs/index-dcbd98e1.js.map +0 -1
  769. package/cjs/index-ee440b53.js +0 -1857
  770. package/cjs/index-ee440b53.js.map +0 -1
  771. package/cjs/index-f4d89559.js +0 -585
  772. package/cjs/index-f4d89559.js.map +0 -1
  773. package/cjs/index-fea92ea0.js +0 -9
  774. package/cjs/index-fea92ea0.js.map +0 -1
  775. package/cjs/index.js +0 -207
  776. package/cjs/index.module-81f6dfc4.js +0 -6
  777. package/cjs/index.module-81f6dfc4.js.map +0 -1
  778. package/cjs/resolvedReplyType-478d89dd.js +0 -32
  779. package/cjs/resolvedReplyType-478d89dd.js.map +0 -1
  780. package/cjs/sendbirdSelectors.js +0 -586
  781. package/cjs/stringSet-b0d09ab2.js +0 -205
  782. package/cjs/stringSet-b0d09ab2.js.map +0 -1
  783. package/cjs/tokenize-dd712668.js +0 -164
  784. package/cjs/tokenize-dd712668.js.map +0 -1
  785. package/cjs/topics-d64c7836.js +0 -18
  786. package/cjs/topics-d64c7836.js.map +0 -1
  787. package/cjs/types-81253512.js +0 -17
  788. package/cjs/types-81253512.js.map +0 -1
  789. package/cjs/ui/Accordion.js +0 -70
  790. package/cjs/ui/AccordionGroup.js +0 -29
  791. package/cjs/ui/AdminMessage.js +0 -31
  792. package/cjs/ui/Avatar.js +0 -203
  793. package/cjs/ui/Badge.js +0 -35
  794. package/cjs/ui/BottomSheet.js +0 -45
  795. package/cjs/ui/Button.js +0 -79
  796. package/cjs/ui/ChannelAvatar.js +0 -55
  797. package/cjs/ui/ConnectionStatus.js +0 -33
  798. package/cjs/ui/ContextMenu.js +0 -305
  799. package/cjs/ui/DateSeparator.js +0 -34
  800. package/cjs/ui/EmojiReactions.js +0 -335
  801. package/cjs/ui/FileMessageItemBody.js +0 -63
  802. package/cjs/ui/FileViewer.js +0 -137
  803. package/cjs/ui/IconButton.js +0 -49
  804. package/cjs/ui/Input.js +0 -54
  805. package/cjs/ui/Label.js +0 -16
  806. package/cjs/ui/LinkLabel.js +0 -61
  807. package/cjs/ui/MentionLabel.js +0 -97
  808. package/cjs/ui/MentionUserLabel.js +0 -27
  809. package/cjs/ui/MessageContent.js +0 -430
  810. package/cjs/ui/MessageInput.js +0 -846
  811. package/cjs/ui/MessageItemMenu.js +0 -162
  812. package/cjs/ui/MessageItemReactionMenu.js +0 -109
  813. package/cjs/ui/MessageSearchFileItem.js +0 -137
  814. package/cjs/ui/MessageSearchItem.js +0 -104
  815. package/cjs/ui/MessageStatus.js +0 -25
  816. package/cjs/ui/Modal.js +0 -132
  817. package/cjs/ui/OGMessageItemBody.js +0 -133
  818. package/cjs/ui/OpenChannelAdminMessage.js +0 -27
  819. package/cjs/ui/OpenChannelAvatar.js +0 -41
  820. package/cjs/ui/OpenchannelConversationHeader.js +0 -76
  821. package/cjs/ui/OpenchannelFileMessage.js +0 -253
  822. package/cjs/ui/OpenchannelOGMessage.js +0 -351
  823. package/cjs/ui/OpenchannelThumbnailMessage.js +0 -332
  824. package/cjs/ui/OpenchannelUserMessage.js +0 -279
  825. package/cjs/ui/PlaceHolder.js +0 -19
  826. package/cjs/ui/PlaybackTime.js +0 -35
  827. package/cjs/ui/QuoteMessage.js +0 -158
  828. package/cjs/ui/QuoteMessageInput.js +0 -99
  829. package/cjs/ui/ReactionBadge.js +0 -50
  830. package/cjs/ui/ReactionButton.js +0 -47
  831. package/cjs/ui/SortByRow.js +0 -43
  832. package/cjs/ui/TextButton.js +0 -29
  833. package/cjs/ui/TextMessageItemBody.js +0 -79
  834. package/cjs/ui/ThreadReplies.js +0 -85
  835. package/cjs/ui/ThumbnailMessageItemBody.js +0 -77
  836. package/cjs/ui/Toggle.js +0 -202
  837. package/cjs/ui/Tooltip.js +0 -27
  838. package/cjs/ui/UnknownMessageItemBody.js +0 -43
  839. package/cjs/ui/UserListItem.js +0 -133
  840. package/cjs/ui/UserProfile.js +0 -93
  841. package/cjs/ui/VoiceMessageItemBody.js +0 -119
  842. package/cjs/ui/VoiceMessgeInput.js +0 -22
  843. package/cjs/ui/Word.js +0 -107
  844. package/cjs/useDirtyGetMentions-2f9462f1.js +0 -77
  845. package/cjs/useDirtyGetMentions-2f9462f1.js.map +0 -1
  846. package/cjs/useLongPress-d2e3654f.js +0 -87
  847. package/cjs/useLongPress-d2e3654f.js.map +0 -1
  848. package/cjs/useSendbirdStateContext.js +0 -21
  849. package/cjs/utils/message/isVoiceMessage.js +0 -12
  850. package/cjs/utils-29b5d4dd.js +0 -6
  851. package/cjs/utils-29b5d4dd.js.map +0 -1
  852. package/cjs/utils-799ac906.js +0 -28
  853. package/cjs/utils-799ac906.js.map +0 -1
  854. package/cjs/utils-d19c24e7.js +0 -35
  855. package/cjs/utils-d19c24e7.js.map +0 -1
  856. package/cjs/utils-f4dc128f.js +0 -31
  857. package/cjs/utils-f4dc128f.js.map +0 -1
  858. package/cjs/uuid-3462be83.js +0 -15
  859. package/cjs/uuid-3462be83.js.map +0 -1
  860. package/cjs/withSendbird.js +0 -32
  861. package/color-10f2cc07.js +0 -34
  862. package/color-10f2cc07.js.map +0 -1
  863. package/compareIds-ccc43f55.js +0 -15
  864. package/compareIds-ccc43f55.js.map +0 -1
  865. package/const-767f4b57.js +0 -18
  866. package/const-767f4b57.js.map +0 -1
  867. package/const-890116eb.js +0 -13
  868. package/const-890116eb.js.map +0 -1
  869. package/consts-0aca4c3a.js +0 -4
  870. package/consts-0aca4c3a.js.map +0 -1
  871. package/consts-1f057d2b.js +0 -4
  872. package/consts-1f057d2b.js.map +0 -1
  873. package/consts-7e4768e1.js +0 -28
  874. package/consts-7e4768e1.js.map +0 -1
  875. package/consts-da1e0e7e.js +0 -4
  876. package/consts-da1e0e7e.js.map +0 -1
  877. package/context-d11ebc96.js +0 -13
  878. package/context-d11ebc96.js.map +0 -1
  879. package/dist/index.css +0 -7570
  880. package/dist/index.css.map +0 -1
  881. package/index-1d39c765.js +0 -1852
  882. package/index-1d39c765.js.map +0 -1
  883. package/index-1f96f97d.js +0 -76
  884. package/index-1f96f97d.js.map +0 -1
  885. package/index-2862f2a8.js +0 -320
  886. package/index-2862f2a8.js.map +0 -1
  887. package/index-343ce5b1.js +0 -154
  888. package/index-343ce5b1.js.map +0 -1
  889. package/index-5ad0eb61.js +0 -164
  890. package/index-5ad0eb61.js.map +0 -1
  891. package/index-5e5ae563.js +0 -540
  892. package/index-5e5ae563.js.map +0 -1
  893. package/index-63ad98b8.js +0 -7
  894. package/index-63ad98b8.js.map +0 -1
  895. package/index-73542816.js +0 -360
  896. package/index-73542816.js.map +0 -1
  897. package/index-bccf4a37.js +0 -51
  898. package/index-bccf4a37.js.map +0 -1
  899. package/index-c764dea7.js +0 -501
  900. package/index-c764dea7.js.map +0 -1
  901. package/index-cd1c87b8.js +0 -174
  902. package/index-cd1c87b8.js.map +0 -1
  903. package/index-e090ec3e.js +0 -187
  904. package/index-e090ec3e.js.map +0 -1
  905. package/index-e10c31c8.js +0 -110
  906. package/index-e10c31c8.js.map +0 -1
  907. package/index-ea2470a3.js +0 -118
  908. package/index-ea2470a3.js.map +0 -1
  909. package/index-eb11c99c.js +0 -450
  910. package/index-eb11c99c.js.map +0 -1
  911. package/index-f7ed4f21.js +0 -66
  912. package/index-f7ed4f21.js.map +0 -1
  913. package/index-ffea1bf6.js +0 -137
  914. package/index-ffea1bf6.js.map +0 -1
  915. package/index.d.ts +0 -2627
  916. package/index.js +0 -187
  917. package/index.module-44f80561.js +0 -4
  918. package/index.module-44f80561.js.map +0 -1
  919. package/resolvedReplyType-335fb072.js +0 -29
  920. package/resolvedReplyType-335fb072.js.map +0 -1
  921. package/sendbirdSelectors.js +0 -561
  922. package/stringSet-4a6632f7.js +0 -203
  923. package/stringSet-4a6632f7.js.map +0 -1
  924. package/tokenize-ad9d76bd.js +0 -159
  925. package/tokenize-ad9d76bd.js.map +0 -1
  926. package/topics-6de6eb25.js +0 -16
  927. package/topics-6de6eb25.js.map +0 -1
  928. package/types-9f55bf02.js +0 -15
  929. package/types-9f55bf02.js.map +0 -1
  930. package/ui/Accordion.js +0 -61
  931. package/ui/AccordionGroup.js +0 -23
  932. package/ui/AdminMessage.js +0 -25
  933. package/ui/Avatar.js +0 -194
  934. package/ui/Badge.js +0 -29
  935. package/ui/BottomSheet.js +0 -39
  936. package/ui/Button.js +0 -69
  937. package/ui/ChannelAvatar.js +0 -49
  938. package/ui/ConnectionStatus.js +0 -27
  939. package/ui/ContextMenu.js +0 -292
  940. package/ui/DateSeparator.js +0 -28
  941. package/ui/EmojiReactions.js +0 -329
  942. package/ui/FileMessageItemBody.js +0 -57
  943. package/ui/FileViewer.js +0 -128
  944. package/ui/IconButton.js +0 -43
  945. package/ui/Input.js +0 -45
  946. package/ui/Label.js +0 -5
  947. package/ui/LinkLabel.js +0 -50
  948. package/ui/MentionLabel.js +0 -91
  949. package/ui/MentionUserLabel.js +0 -21
  950. package/ui/MessageContent.js +0 -424
  951. package/ui/MessageInput.js +0 -838
  952. package/ui/MessageItemMenu.js +0 -156
  953. package/ui/MessageItemReactionMenu.js +0 -103
  954. package/ui/MessageSearchFileItem.js +0 -131
  955. package/ui/MessageSearchItem.js +0 -98
  956. package/ui/MessageStatus.js +0 -16
  957. package/ui/Modal.js +0 -121
  958. package/ui/OGMessageItemBody.js +0 -127
  959. package/ui/OpenChannelAdminMessage.js +0 -21
  960. package/ui/OpenChannelAvatar.js +0 -35
  961. package/ui/OpenchannelConversationHeader.js +0 -70
  962. package/ui/OpenchannelFileMessage.js +0 -247
  963. package/ui/OpenchannelOGMessage.js +0 -345
  964. package/ui/OpenchannelThumbnailMessage.js +0 -326
  965. package/ui/OpenchannelUserMessage.js +0 -273
  966. package/ui/PlaceHolder.js +0 -10
  967. package/ui/PlaybackTime.js +0 -26
  968. package/ui/QuoteMessage.js +0 -152
  969. package/ui/QuoteMessageInput.js +0 -93
  970. package/ui/ReactionBadge.js +0 -44
  971. package/ui/ReactionButton.js +0 -41
  972. package/ui/SortByRow.js +0 -37
  973. package/ui/TextButton.js +0 -23
  974. package/ui/TextMessageItemBody.js +0 -73
  975. package/ui/ThreadReplies.js +0 -79
  976. package/ui/ThumbnailMessageItemBody.js +0 -71
  977. package/ui/Toggle.js +0 -191
  978. package/ui/Tooltip.js +0 -21
  979. package/ui/UnknownMessageItemBody.js +0 -37
  980. package/ui/UserListItem.js +0 -127
  981. package/ui/UserProfile.js +0 -87
  982. package/ui/VoiceMessageItemBody.js +0 -110
  983. package/ui/VoiceMessgeInput.js +0 -14
  984. package/ui/Word.js +0 -101
  985. package/useDirtyGetMentions-b20104b0.js +0 -75
  986. package/useDirtyGetMentions-b20104b0.js.map +0 -1
  987. package/useLongPress-81ea622f.js +0 -85
  988. package/useLongPress-81ea622f.js.map +0 -1
  989. package/useSendbirdStateContext.js +0 -19
  990. package/utils/message/isVoiceMessage.js +0 -8
  991. package/utils-43a3a6c6.js +0 -29
  992. package/utils-43a3a6c6.js.map +0 -1
  993. package/utils-834dac5f.js +0 -4
  994. package/utils-834dac5f.js.map +0 -1
  995. package/utils-d062897c.js +0 -31
  996. package/utils-d062897c.js.map +0 -1
  997. package/utils-df79f9e8.js +0 -26
  998. package/utils-df79f9e8.js.map +0 -1
  999. package/uuid-79fbb889.js +0 -13
  1000. package/uuid-79fbb889.js.map +0 -1
  1001. package/withSendbird.js +0 -23
  1002. /package/{Channel → dist/Channel}/components/ChannelHeader.js.map +0 -0
  1003. /package/{Channel → dist/Channel}/components/ChannelUI.js.map +0 -0
  1004. /package/{Channel → dist/Channel}/components/FileViewer.js.map +0 -0
  1005. /package/{Channel → dist/Channel}/components/FrozenNotification.js.map +0 -0
  1006. /package/{Channel → dist/Channel}/components/Message.js.map +0 -0
  1007. /package/{Channel → dist/Channel}/components/MessageInput.js.map +0 -0
  1008. /package/{Channel → dist/Channel}/components/MessageList.js.map +0 -0
  1009. /package/{Channel → dist/Channel}/components/RemoveMessageModal.js.map +0 -0
  1010. /package/{Channel → dist/Channel}/components/SuggestedMentionList.js.map +0 -0
  1011. /package/{Channel → dist/Channel}/components/TypingIndicator.js.map +0 -0
  1012. /package/{Channel → dist/Channel}/components/UnreadCount.js.map +0 -0
  1013. /package/{Channel → dist/Channel}/context.js.map +0 -0
  1014. /package/{Channel.js.map → dist/Channel.js.map} +0 -0
  1015. /package/{ChannelList → dist/ChannelList}/components/AddChannel.js.map +0 -0
  1016. /package/{ChannelList → dist/ChannelList}/components/ChannelListHeader.js.map +0 -0
  1017. /package/{ChannelList → dist/ChannelList}/components/ChannelListUI.js.map +0 -0
  1018. /package/{ChannelList → dist/ChannelList}/components/ChannelPreview.js.map +0 -0
  1019. /package/{ChannelList → dist/ChannelList}/components/ChannelPreviewAction.js.map +0 -0
  1020. /package/{ChannelList → dist/ChannelList}/context.js.map +0 -0
  1021. /package/{ChannelList.js.map → dist/ChannelList.js.map} +0 -0
  1022. /package/{ChannelSettings → dist/ChannelSettings}/components/ChannelProfile.js.map +0 -0
  1023. /package/{ChannelSettings → dist/ChannelSettings}/components/ChannelSettingsUI.js.map +0 -0
  1024. /package/{ChannelSettings → dist/ChannelSettings}/components/EditDetailsModal.js.map +0 -0
  1025. /package/{ChannelSettings → dist/ChannelSettings}/components/LeaveChannel.js.map +0 -0
  1026. /package/{ChannelSettings → dist/ChannelSettings}/components/ModerationPanel.js.map +0 -0
  1027. /package/{ChannelSettings → dist/ChannelSettings}/components/UserListItem.js.map +0 -0
  1028. /package/{ChannelSettings → dist/ChannelSettings}/components/UserPanel.js.map +0 -0
  1029. /package/{ChannelSettings → dist/ChannelSettings}/context.js.map +0 -0
  1030. /package/{ChannelSettings.js.map → dist/ChannelSettings.js.map} +0 -0
  1031. /package/{CreateChannel → dist/CreateChannel}/components/CreateChannelUI.js.map +0 -0
  1032. /package/{CreateChannel → dist/CreateChannel}/components/InviteUsers.js.map +0 -0
  1033. /package/{CreateChannel → dist/CreateChannel}/components/SelectChannelType.js.map +0 -0
  1034. /package/{CreateChannel → dist/CreateChannel}/context.js.map +0 -0
  1035. /package/{CreateChannel.js.map → dist/CreateChannel.js.map} +0 -0
  1036. /package/{CreateOpenChannel → dist/CreateOpenChannel}/components/CreateOpenChannelUI.js.map +0 -0
  1037. /package/{CreateOpenChannel → dist/CreateOpenChannel}/context.js.map +0 -0
  1038. /package/{CreateOpenChannel.js.map → dist/CreateOpenChannel.js.map} +0 -0
  1039. /package/{EditUserProfile → dist/EditUserProfile}/components/EditUserProfileUI.js.map +0 -0
  1040. /package/{EditUserProfile → dist/EditUserProfile}/context.js +0 -0
  1041. /package/{EditUserProfile → dist/EditUserProfile}/context.js.map +0 -0
  1042. /package/{EditUserProfile.js.map → dist/EditUserProfile.js.map} +0 -0
  1043. /package/{Message → dist/Message}/context.js +0 -0
  1044. /package/{Message → dist/Message}/context.js.map +0 -0
  1045. /package/{MessageSearch → dist/MessageSearch}/components/MessageSearchUI.js.map +0 -0
  1046. /package/{MessageSearch → dist/MessageSearch}/context.js.map +0 -0
  1047. /package/{MessageSearch.js.map → dist/MessageSearch.js.map} +0 -0
  1048. /package/{OpenChannel → dist/OpenChannel}/components/FrozenChannelNotification.js.map +0 -0
  1049. /package/{OpenChannel → dist/OpenChannel}/components/OpenChannelHeader.js.map +0 -0
  1050. /package/{OpenChannel → dist/OpenChannel}/components/OpenChannelInput.js.map +0 -0
  1051. /package/{OpenChannel → dist/OpenChannel}/components/OpenChannelMessage.js.map +0 -0
  1052. /package/{OpenChannel → dist/OpenChannel}/components/OpenChannelMessageList.js.map +0 -0
  1053. /package/{OpenChannel → dist/OpenChannel}/components/OpenChannelUI.js.map +0 -0
  1054. /package/{OpenChannel → dist/OpenChannel}/context.js.map +0 -0
  1055. /package/{OpenChannel.js.map → dist/OpenChannel.js.map} +0 -0
  1056. /package/{OpenChannelList → dist/OpenChannelList}/components/OpenChannelListUI.js.map +0 -0
  1057. /package/{OpenChannelList → dist/OpenChannelList}/components/OpenChannelPreview.js.map +0 -0
  1058. /package/{OpenChannelList → dist/OpenChannelList}/context.js.map +0 -0
  1059. /package/{OpenChannelList.js.map → dist/OpenChannelList.js.map} +0 -0
  1060. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/EditDetailsModal.js.map +0 -0
  1061. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OpenChannelProfile.js.map +0 -0
  1062. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OpenChannelSettingsUI.js.map +0 -0
  1063. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OperatorUI.js.map +0 -0
  1064. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/ParticipantUI.js.map +0 -0
  1065. /package/{OpenChannelSettings → dist/OpenChannelSettings}/context.js.map +0 -0
  1066. /package/{OpenChannelSettings.js.map → dist/OpenChannelSettings.js.map} +0 -0
  1067. /package/{Thread → dist/Thread}/components/ParentMessageInfo.js.map +0 -0
  1068. /package/{Thread → dist/Thread}/components/ParentMessageInfoItem.js.map +0 -0
  1069. /package/{Thread → dist/Thread}/components/ThreadHeader.js.map +0 -0
  1070. /package/{Thread → dist/Thread}/components/ThreadList.js.map +0 -0
  1071. /package/{Thread → dist/Thread}/components/ThreadListItem.js.map +0 -0
  1072. /package/{Thread → dist/Thread}/components/ThreadMessageInput.js.map +0 -0
  1073. /package/{Thread → dist/Thread}/components/ThreadUI.js.map +0 -0
  1074. /package/{Thread → dist/Thread}/context/types.js +0 -0
  1075. /package/{Thread → dist/Thread}/context/types.js.map +0 -0
  1076. /package/{Thread → dist/Thread}/context.js.map +0 -0
  1077. /package/{Thread.js.map → dist/Thread.js.map} +0 -0
  1078. /package/{VoicePlayer → dist/VoicePlayer}/context.js.map +0 -0
  1079. /package/{VoicePlayer → dist/VoicePlayer}/useVoicePlayer.js.map +0 -0
  1080. /package/{VoiceRecorder → dist/VoiceRecorder}/context.js.map +0 -0
  1081. /package/{VoiceRecorder → dist/VoiceRecorder}/useVoiceRecorder.js.map +0 -0
  1082. /package/{cjs → dist/cjs}/Channel/components/ChannelHeader.js.map +0 -0
  1083. /package/{cjs → dist/cjs}/Channel/components/ChannelUI.js.map +0 -0
  1084. /package/{cjs → dist/cjs}/Channel/components/FileViewer.js.map +0 -0
  1085. /package/{cjs → dist/cjs}/Channel/components/FrozenNotification.js.map +0 -0
  1086. /package/{cjs → dist/cjs}/Channel/components/Message.js.map +0 -0
  1087. /package/{cjs → dist/cjs}/Channel/components/MessageInput.js.map +0 -0
  1088. /package/{cjs → dist/cjs}/Channel/components/MessageList.js.map +0 -0
  1089. /package/{cjs → dist/cjs}/Channel/components/RemoveMessageModal.js.map +0 -0
  1090. /package/{cjs → dist/cjs}/Channel/components/SuggestedMentionList.js.map +0 -0
  1091. /package/{cjs → dist/cjs}/Channel/components/TypingIndicator.js.map +0 -0
  1092. /package/{cjs → dist/cjs}/Channel/components/UnreadCount.js.map +0 -0
  1093. /package/{cjs → dist/cjs}/Channel/context.js.map +0 -0
  1094. /package/{cjs → dist/cjs}/Channel.js.map +0 -0
  1095. /package/{cjs → dist/cjs}/ChannelList/components/AddChannel.js.map +0 -0
  1096. /package/{cjs → dist/cjs}/ChannelList/components/ChannelListHeader.js.map +0 -0
  1097. /package/{cjs → dist/cjs}/ChannelList/components/ChannelListUI.js.map +0 -0
  1098. /package/{cjs → dist/cjs}/ChannelList/components/ChannelPreview.js.map +0 -0
  1099. /package/{cjs → dist/cjs}/ChannelList/components/ChannelPreviewAction.js.map +0 -0
  1100. /package/{cjs → dist/cjs}/ChannelList/context.js.map +0 -0
  1101. /package/{cjs → dist/cjs}/ChannelList.js.map +0 -0
  1102. /package/{cjs → dist/cjs}/ChannelSettings/components/ChannelProfile.js.map +0 -0
  1103. /package/{cjs → dist/cjs}/ChannelSettings/components/ChannelSettingsUI.js.map +0 -0
  1104. /package/{cjs → dist/cjs}/ChannelSettings/components/EditDetailsModal.js.map +0 -0
  1105. /package/{cjs → dist/cjs}/ChannelSettings/components/LeaveChannel.js.map +0 -0
  1106. /package/{cjs → dist/cjs}/ChannelSettings/components/ModerationPanel.js.map +0 -0
  1107. /package/{cjs → dist/cjs}/ChannelSettings/components/UserListItem.js.map +0 -0
  1108. /package/{cjs → dist/cjs}/ChannelSettings/components/UserPanel.js.map +0 -0
  1109. /package/{cjs → dist/cjs}/ChannelSettings/context.js.map +0 -0
  1110. /package/{cjs → dist/cjs}/ChannelSettings.js.map +0 -0
  1111. /package/{cjs → dist/cjs}/CreateChannel/components/CreateChannelUI.js.map +0 -0
  1112. /package/{cjs → dist/cjs}/CreateChannel/components/InviteUsers.js.map +0 -0
  1113. /package/{cjs → dist/cjs}/CreateChannel/components/SelectChannelType.js.map +0 -0
  1114. /package/{cjs → dist/cjs}/CreateChannel/context.js.map +0 -0
  1115. /package/{cjs → dist/cjs}/CreateChannel.js.map +0 -0
  1116. /package/{cjs → dist/cjs}/CreateOpenChannel/components/CreateOpenChannelUI.js.map +0 -0
  1117. /package/{cjs → dist/cjs}/CreateOpenChannel/context.js.map +0 -0
  1118. /package/{cjs → dist/cjs}/CreateOpenChannel.js.map +0 -0
  1119. /package/{cjs → dist/cjs}/EditUserProfile/components/EditUserProfileUI.js.map +0 -0
  1120. /package/{cjs → dist/cjs}/EditUserProfile/context.js +0 -0
  1121. /package/{cjs → dist/cjs}/EditUserProfile/context.js.map +0 -0
  1122. /package/{cjs → dist/cjs}/EditUserProfile.js.map +0 -0
  1123. /package/{cjs → dist/cjs}/Message/context.js +0 -0
  1124. /package/{cjs → dist/cjs}/Message/context.js.map +0 -0
  1125. /package/{cjs → dist/cjs}/MessageSearch/components/MessageSearchUI.js.map +0 -0
  1126. /package/{cjs → dist/cjs}/MessageSearch/context.js.map +0 -0
  1127. /package/{cjs → dist/cjs}/MessageSearch.js.map +0 -0
  1128. /package/{cjs → dist/cjs}/OpenChannel/components/FrozenChannelNotification.js.map +0 -0
  1129. /package/{cjs → dist/cjs}/OpenChannel/components/OpenChannelHeader.js.map +0 -0
  1130. /package/{cjs → dist/cjs}/OpenChannel/components/OpenChannelInput.js.map +0 -0
  1131. /package/{cjs → dist/cjs}/OpenChannel/components/OpenChannelMessage.js.map +0 -0
  1132. /package/{cjs → dist/cjs}/OpenChannel/components/OpenChannelMessageList.js.map +0 -0
  1133. /package/{cjs → dist/cjs}/OpenChannel/components/OpenChannelUI.js.map +0 -0
  1134. /package/{cjs → dist/cjs}/OpenChannel/context.js.map +0 -0
  1135. /package/{cjs → dist/cjs}/OpenChannel.js.map +0 -0
  1136. /package/{cjs → dist/cjs}/OpenChannelList/components/OpenChannelListUI.js.map +0 -0
  1137. /package/{cjs → dist/cjs}/OpenChannelList/components/OpenChannelPreview.js.map +0 -0
  1138. /package/{cjs → dist/cjs}/OpenChannelList/context.js.map +0 -0
  1139. /package/{cjs → dist/cjs}/OpenChannelList.js.map +0 -0
  1140. /package/{cjs → dist/cjs}/OpenChannelSettings/components/EditDetailsModal.js.map +0 -0
  1141. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -0
  1142. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -0
  1143. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OperatorUI.js.map +0 -0
  1144. /package/{cjs → dist/cjs}/OpenChannelSettings/components/ParticipantUI.js.map +0 -0
  1145. /package/{cjs → dist/cjs}/OpenChannelSettings/context.js.map +0 -0
  1146. /package/{cjs → dist/cjs}/OpenChannelSettings.js.map +0 -0
  1147. /package/{cjs → dist/cjs}/Thread/components/ParentMessageInfo.js.map +0 -0
  1148. /package/{cjs → dist/cjs}/Thread/components/ParentMessageInfoItem.js.map +0 -0
  1149. /package/{cjs → dist/cjs}/Thread/components/ThreadHeader.js.map +0 -0
  1150. /package/{cjs → dist/cjs}/Thread/components/ThreadList.js.map +0 -0
  1151. /package/{cjs → dist/cjs}/Thread/components/ThreadListItem.js.map +0 -0
  1152. /package/{cjs → dist/cjs}/Thread/components/ThreadMessageInput.js.map +0 -0
  1153. /package/{cjs → dist/cjs}/Thread/components/ThreadUI.js.map +0 -0
  1154. /package/{cjs → dist/cjs}/Thread/context/types.js +0 -0
  1155. /package/{cjs → dist/cjs}/Thread/context/types.js.map +0 -0
  1156. /package/{cjs → dist/cjs}/Thread/context.js.map +0 -0
  1157. /package/{cjs → dist/cjs}/Thread.js.map +0 -0
  1158. /package/{cjs → dist/cjs}/VoicePlayer/context.js.map +0 -0
  1159. /package/{cjs → dist/cjs}/VoicePlayer/useVoicePlayer.js.map +0 -0
  1160. /package/{cjs → dist/cjs}/VoiceRecorder/context.js.map +0 -0
  1161. /package/{cjs → dist/cjs}/VoiceRecorder/useVoiceRecorder.js.map +0 -0
  1162. /package/{cjs → dist/cjs}/handlers/ConnectionHandler.js +0 -0
  1163. /package/{cjs → dist/cjs}/handlers/ConnectionHandler.js.map +0 -0
  1164. /package/{cjs → dist/cjs}/handlers/GroupChannelHandler.js +0 -0
  1165. /package/{cjs → dist/cjs}/handlers/GroupChannelHandler.js.map +0 -0
  1166. /package/{cjs → dist/cjs}/handlers/OpenChannelHandler.js +0 -0
  1167. /package/{cjs → dist/cjs}/handlers/OpenChannelHandler.js.map +0 -0
  1168. /package/{cjs → dist/cjs}/handlers/SessionHandler.js +0 -0
  1169. /package/{cjs → dist/cjs}/handlers/SessionHandler.js.map +0 -0
  1170. /package/{cjs → dist/cjs}/handlers/UserEventHandler.js +0 -0
  1171. /package/{cjs → dist/cjs}/handlers/UserEventHandler.js.map +0 -0
  1172. /package/{cjs → dist/cjs}/index.js.map +0 -0
  1173. /package/{cjs → dist/cjs}/lame.all.js +0 -0
  1174. /package/{cjs → dist/cjs}/lame.all.js.map +0 -0
  1175. /package/{cjs → dist/cjs}/sendbirdSelectors.js.map +0 -0
  1176. /package/{cjs → dist/cjs}/ui/Accordion.js.map +0 -0
  1177. /package/{cjs → dist/cjs}/ui/AccordionGroup.js.map +0 -0
  1178. /package/{cjs → dist/cjs}/ui/AdminMessage.js.map +0 -0
  1179. /package/{cjs → dist/cjs}/ui/Avatar.js.map +0 -0
  1180. /package/{cjs → dist/cjs}/ui/Badge.js.map +0 -0
  1181. /package/{cjs → dist/cjs}/ui/BottomSheet.js.map +0 -0
  1182. /package/{cjs → dist/cjs}/ui/Button.js.map +0 -0
  1183. /package/{cjs → dist/cjs}/ui/ChannelAvatar.js.map +0 -0
  1184. /package/{cjs → dist/cjs}/ui/Checkbox.js +0 -0
  1185. /package/{cjs → dist/cjs}/ui/Checkbox.js.map +0 -0
  1186. /package/{cjs → dist/cjs}/ui/ConnectionStatus.js.map +0 -0
  1187. /package/{cjs → dist/cjs}/ui/ContextMenu.js.map +0 -0
  1188. /package/{cjs → dist/cjs}/ui/DateSeparator.js.map +0 -0
  1189. /package/{cjs → dist/cjs}/ui/EmojiReactions.js.map +0 -0
  1190. /package/{cjs → dist/cjs}/ui/FileMessageItemBody.js.map +0 -0
  1191. /package/{cjs → dist/cjs}/ui/FileViewer.js.map +0 -0
  1192. /package/{cjs → dist/cjs}/ui/Icon.js +0 -0
  1193. /package/{cjs → dist/cjs}/ui/Icon.js.map +0 -0
  1194. /package/{cjs → dist/cjs}/ui/IconButton.js.map +0 -0
  1195. /package/{cjs → dist/cjs}/ui/ImageRenderer.js +0 -0
  1196. /package/{cjs → dist/cjs}/ui/ImageRenderer.js.map +0 -0
  1197. /package/{cjs → dist/cjs}/ui/Input.js.map +0 -0
  1198. /package/{cjs → dist/cjs}/ui/Label.js.map +0 -0
  1199. /package/{cjs → dist/cjs}/ui/LinkLabel.js.map +0 -0
  1200. /package/{cjs → dist/cjs}/ui/Loader.js +0 -0
  1201. /package/{cjs → dist/cjs}/ui/Loader.js.map +0 -0
  1202. /package/{cjs → dist/cjs}/ui/MentionLabel.js.map +0 -0
  1203. /package/{cjs → dist/cjs}/ui/MentionUserLabel.js.map +0 -0
  1204. /package/{cjs → dist/cjs}/ui/MessageContent.js.map +0 -0
  1205. /package/{cjs → dist/cjs}/ui/MessageInput.js.map +0 -0
  1206. /package/{cjs → dist/cjs}/ui/MessageItemMenu.js.map +0 -0
  1207. /package/{cjs → dist/cjs}/ui/MessageItemReactionMenu.js.map +0 -0
  1208. /package/{cjs → dist/cjs}/ui/MessageSearchFileItem.js.map +0 -0
  1209. /package/{cjs → dist/cjs}/ui/MessageSearchItem.js.map +0 -0
  1210. /package/{cjs → dist/cjs}/ui/MessageStatus.js.map +0 -0
  1211. /package/{cjs → dist/cjs}/ui/Modal.js.map +0 -0
  1212. /package/{cjs → dist/cjs}/ui/MutedAvatarOverlay.js +0 -0
  1213. /package/{cjs → dist/cjs}/ui/MutedAvatarOverlay.js.map +0 -0
  1214. /package/{cjs → dist/cjs}/ui/OGMessageItemBody.js.map +0 -0
  1215. /package/{cjs → dist/cjs}/ui/OpenChannelAdminMessage.js.map +0 -0
  1216. /package/{cjs → dist/cjs}/ui/OpenChannelAvatar.js.map +0 -0
  1217. /package/{cjs → dist/cjs}/ui/OpenchannelConversationHeader.js.map +0 -0
  1218. /package/{cjs → dist/cjs}/ui/OpenchannelFileMessage.js.map +0 -0
  1219. /package/{cjs → dist/cjs}/ui/OpenchannelOGMessage.js.map +0 -0
  1220. /package/{cjs → dist/cjs}/ui/OpenchannelThumbnailMessage.js.map +0 -0
  1221. /package/{cjs → dist/cjs}/ui/OpenchannelUserMessage.js.map +0 -0
  1222. /package/{cjs → dist/cjs}/ui/PlaceHolder.js.map +0 -0
  1223. /package/{cjs → dist/cjs}/ui/PlaybackTime.js.map +0 -0
  1224. /package/{cjs → dist/cjs}/ui/ProgressBar.js +0 -0
  1225. /package/{cjs → dist/cjs}/ui/ProgressBar.js.map +0 -0
  1226. /package/{cjs → dist/cjs}/ui/QuoteMessage.js.map +0 -0
  1227. /package/{cjs → dist/cjs}/ui/QuoteMessageInput.js.map +0 -0
  1228. /package/{cjs → dist/cjs}/ui/ReactionBadge.js.map +0 -0
  1229. /package/{cjs → dist/cjs}/ui/ReactionButton.js.map +0 -0
  1230. /package/{cjs → dist/cjs}/ui/SortByRow.js.map +0 -0
  1231. /package/{cjs → dist/cjs}/ui/TextButton.js.map +0 -0
  1232. /package/{cjs → dist/cjs}/ui/TextMessageItemBody.js.map +0 -0
  1233. /package/{cjs → dist/cjs}/ui/ThreadReplies.js.map +0 -0
  1234. /package/{cjs → dist/cjs}/ui/ThumbnailMessageItemBody.js.map +0 -0
  1235. /package/{cjs → dist/cjs}/ui/Toggle.js.map +0 -0
  1236. /package/{cjs → dist/cjs}/ui/Tooltip.js.map +0 -0
  1237. /package/{cjs → dist/cjs}/ui/TooltipWrapper.js +0 -0
  1238. /package/{cjs → dist/cjs}/ui/TooltipWrapper.js.map +0 -0
  1239. /package/{cjs → dist/cjs}/ui/UnknownMessageItemBody.js.map +0 -0
  1240. /package/{cjs → dist/cjs}/ui/UserListItem.js.map +0 -0
  1241. /package/{cjs → dist/cjs}/ui/UserProfile.js.map +0 -0
  1242. /package/{cjs → dist/cjs}/ui/VoiceMessageItemBody.js.map +0 -0
  1243. /package/{cjs → dist/cjs}/ui/VoiceMessgeInput.js.map +0 -0
  1244. /package/{cjs → dist/cjs}/ui/Word.js.map +0 -0
  1245. /package/{cjs → dist/cjs}/useSendbirdStateContext.js.map +0 -0
  1246. /package/{cjs → dist/cjs}/utils/message/getOutgoingMessageState.js +0 -0
  1247. /package/{cjs → dist/cjs}/utils/message/getOutgoingMessageState.js.map +0 -0
  1248. /package/{cjs → dist/cjs}/utils/message/isVoiceMessage.js.map +0 -0
  1249. /package/{cjs → dist/cjs}/withSendbird.js.map +0 -0
  1250. /package/{handlers → dist/handlers}/ConnectionHandler.js +0 -0
  1251. /package/{handlers → dist/handlers}/ConnectionHandler.js.map +0 -0
  1252. /package/{handlers → dist/handlers}/GroupChannelHandler.js +0 -0
  1253. /package/{handlers → dist/handlers}/GroupChannelHandler.js.map +0 -0
  1254. /package/{handlers → dist/handlers}/OpenChannelHandler.js +0 -0
  1255. /package/{handlers → dist/handlers}/OpenChannelHandler.js.map +0 -0
  1256. /package/{handlers → dist/handlers}/SessionHandler.js +0 -0
  1257. /package/{handlers → dist/handlers}/SessionHandler.js.map +0 -0
  1258. /package/{handlers → dist/handlers}/UserEventHandler.js +0 -0
  1259. /package/{handlers → dist/handlers}/UserEventHandler.js.map +0 -0
  1260. /package/{index.js.map → dist/index.js.map} +0 -0
  1261. /package/{lame.all.js → dist/lame.all.js} +0 -0
  1262. /package/{lame.all.js.map → dist/lame.all.js.map} +0 -0
  1263. /package/{sendbirdSelectors.js.map → dist/sendbirdSelectors.js.map} +0 -0
  1264. /package/{ui → dist/ui}/Accordion.js.map +0 -0
  1265. /package/{ui → dist/ui}/AccordionGroup.js.map +0 -0
  1266. /package/{ui → dist/ui}/AdminMessage.js.map +0 -0
  1267. /package/{ui → dist/ui}/Avatar.js.map +0 -0
  1268. /package/{ui → dist/ui}/Badge.js.map +0 -0
  1269. /package/{ui → dist/ui}/BottomSheet.js.map +0 -0
  1270. /package/{ui → dist/ui}/Button.js.map +0 -0
  1271. /package/{ui → dist/ui}/ChannelAvatar.js.map +0 -0
  1272. /package/{ui → dist/ui}/Checkbox.js +0 -0
  1273. /package/{ui → dist/ui}/Checkbox.js.map +0 -0
  1274. /package/{ui → dist/ui}/ConnectionStatus.js.map +0 -0
  1275. /package/{ui → dist/ui}/ContextMenu.js.map +0 -0
  1276. /package/{ui → dist/ui}/DateSeparator.js.map +0 -0
  1277. /package/{ui → dist/ui}/EmojiReactions.js.map +0 -0
  1278. /package/{ui → dist/ui}/FileMessageItemBody.js.map +0 -0
  1279. /package/{ui → dist/ui}/FileViewer.js.map +0 -0
  1280. /package/{ui → dist/ui}/Icon.js +0 -0
  1281. /package/{ui → dist/ui}/Icon.js.map +0 -0
  1282. /package/{ui → dist/ui}/IconButton.js.map +0 -0
  1283. /package/{ui → dist/ui}/ImageRenderer.js +0 -0
  1284. /package/{ui → dist/ui}/ImageRenderer.js.map +0 -0
  1285. /package/{ui → dist/ui}/Input.js.map +0 -0
  1286. /package/{ui → dist/ui}/Label.js.map +0 -0
  1287. /package/{ui → dist/ui}/LinkLabel.js.map +0 -0
  1288. /package/{ui → dist/ui}/Loader.js +0 -0
  1289. /package/{ui → dist/ui}/Loader.js.map +0 -0
  1290. /package/{ui → dist/ui}/MentionLabel.js.map +0 -0
  1291. /package/{ui → dist/ui}/MentionUserLabel.js.map +0 -0
  1292. /package/{ui → dist/ui}/MessageContent.js.map +0 -0
  1293. /package/{ui → dist/ui}/MessageInput.js.map +0 -0
  1294. /package/{ui → dist/ui}/MessageItemMenu.js.map +0 -0
  1295. /package/{ui → dist/ui}/MessageItemReactionMenu.js.map +0 -0
  1296. /package/{ui → dist/ui}/MessageSearchFileItem.js.map +0 -0
  1297. /package/{ui → dist/ui}/MessageSearchItem.js.map +0 -0
  1298. /package/{ui → dist/ui}/MessageStatus.js.map +0 -0
  1299. /package/{ui → dist/ui}/Modal.js.map +0 -0
  1300. /package/{ui → dist/ui}/MutedAvatarOverlay.js +0 -0
  1301. /package/{ui → dist/ui}/MutedAvatarOverlay.js.map +0 -0
  1302. /package/{ui → dist/ui}/OGMessageItemBody.js.map +0 -0
  1303. /package/{ui → dist/ui}/OpenChannelAdminMessage.js.map +0 -0
  1304. /package/{ui → dist/ui}/OpenChannelAvatar.js.map +0 -0
  1305. /package/{ui → dist/ui}/OpenchannelConversationHeader.js.map +0 -0
  1306. /package/{ui → dist/ui}/OpenchannelFileMessage.js.map +0 -0
  1307. /package/{ui → dist/ui}/OpenchannelOGMessage.js.map +0 -0
  1308. /package/{ui → dist/ui}/OpenchannelThumbnailMessage.js.map +0 -0
  1309. /package/{ui → dist/ui}/OpenchannelUserMessage.js.map +0 -0
  1310. /package/{ui → dist/ui}/PlaceHolder.js.map +0 -0
  1311. /package/{ui → dist/ui}/PlaybackTime.js.map +0 -0
  1312. /package/{ui → dist/ui}/ProgressBar.js +0 -0
  1313. /package/{ui → dist/ui}/ProgressBar.js.map +0 -0
  1314. /package/{ui → dist/ui}/QuoteMessage.js.map +0 -0
  1315. /package/{ui → dist/ui}/QuoteMessageInput.js.map +0 -0
  1316. /package/{ui → dist/ui}/ReactionBadge.js.map +0 -0
  1317. /package/{ui → dist/ui}/ReactionButton.js.map +0 -0
  1318. /package/{ui → dist/ui}/SortByRow.js.map +0 -0
  1319. /package/{ui → dist/ui}/TextButton.js.map +0 -0
  1320. /package/{ui → dist/ui}/TextMessageItemBody.js.map +0 -0
  1321. /package/{ui → dist/ui}/ThreadReplies.js.map +0 -0
  1322. /package/{ui → dist/ui}/ThumbnailMessageItemBody.js.map +0 -0
  1323. /package/{ui → dist/ui}/Toggle.js.map +0 -0
  1324. /package/{ui → dist/ui}/Tooltip.js.map +0 -0
  1325. /package/{ui → dist/ui}/TooltipWrapper.js +0 -0
  1326. /package/{ui → dist/ui}/TooltipWrapper.js.map +0 -0
  1327. /package/{ui → dist/ui}/UnknownMessageItemBody.js.map +0 -0
  1328. /package/{ui → dist/ui}/UserListItem.js.map +0 -0
  1329. /package/{ui → dist/ui}/UserProfile.js.map +0 -0
  1330. /package/{ui → dist/ui}/VoiceMessageItemBody.js.map +0 -0
  1331. /package/{ui → dist/ui}/VoiceMessgeInput.js.map +0 -0
  1332. /package/{ui → dist/ui}/Word.js.map +0 -0
  1333. /package/{useSendbirdStateContext.js.map → dist/useSendbirdStateContext.js.map} +0 -0
  1334. /package/{utils → dist/utils}/message/getOutgoingMessageState.js +0 -0
  1335. /package/{utils → dist/utils}/message/getOutgoingMessageState.js.map +0 -0
  1336. /package/{utils → dist/utils}/message/isVoiceMessage.js.map +0 -0
  1337. /package/{withSendbird.js.map → dist/withSendbird.js.map} +0 -0
@@ -0,0 +1,2157 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var UserProfileContext = require('./UserProfileContext-9d843d68.js');
5
+ var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
+ var _const = require('./const-1ea78727.js');
7
+ var index$1 = require('./index-892b4b7f.js');
8
+ var topics = require('./topics-373d2156.js');
9
+ var index = require('./index-1b3c69da.js');
10
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-21ae158b.js');
11
+ var compareIds = require('./compareIds-a846891d.js');
12
+ var groupChannel = require('@sendbird/chat/groupChannel');
13
+ var uuid = require('./uuid-dee74248.js');
14
+ var message = require('@sendbird/chat/message');
15
+ var consts = require('./consts-900e72b9.js');
16
+ var resolvedReplyType = require('./resolvedReplyType-14fa0f85.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ const RESET_MESSAGES = 'RESET_MESSAGES';
23
+ const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
24
+ const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';
25
+ const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';
26
+ const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';
27
+ const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';
28
+ const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';
29
+ const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';
30
+ const SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';
31
+ const SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';
32
+ const SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';
33
+ const RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';
34
+ const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
35
+ const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
36
+ const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';
37
+ const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
38
+ const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
39
+ const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
40
+ const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
41
+ const MARK_AS_READ = 'MARK_AS_READ';
42
+ const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';
43
+ const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';
44
+ const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';
45
+
46
+ var messageActionTypes = /*#__PURE__*/Object.freeze({
47
+ __proto__: null,
48
+ RESET_MESSAGES: RESET_MESSAGES,
49
+ FETCH_INITIAL_MESSAGES_START: FETCH_INITIAL_MESSAGES_START,
50
+ FETCH_INITIAL_MESSAGES_SUCCESS: FETCH_INITIAL_MESSAGES_SUCCESS,
51
+ FETCH_INITIAL_MESSAGES_FAILURE: FETCH_INITIAL_MESSAGES_FAILURE,
52
+ FETCH_PREV_MESSAGES_SUCCESS: FETCH_PREV_MESSAGES_SUCCESS,
53
+ FETCH_PREV_MESSAGES_FAILURE: FETCH_PREV_MESSAGES_FAILURE,
54
+ FETCH_NEXT_MESSAGES_SUCCESS: FETCH_NEXT_MESSAGES_SUCCESS,
55
+ FETCH_NEXT_MESSAGES_FAILURE: FETCH_NEXT_MESSAGES_FAILURE,
56
+ SEND_MESSAGEGE_START: SEND_MESSAGEGE_START,
57
+ SEND_MESSAGEGE_SUCESS: SEND_MESSAGEGE_SUCESS,
58
+ SEND_MESSAGEGE_FAILURE: SEND_MESSAGEGE_FAILURE,
59
+ RESEND_MESSAGEGE_START: RESEND_MESSAGEGE_START,
60
+ ON_MESSAGE_RECEIVED: ON_MESSAGE_RECEIVED,
61
+ ON_MESSAGE_UPDATED: ON_MESSAGE_UPDATED,
62
+ ON_MESSAGE_THREAD_INFO_UPDATED: ON_MESSAGE_THREAD_INFO_UPDATED,
63
+ ON_MESSAGE_DELETED: ON_MESSAGE_DELETED,
64
+ ON_MESSAGE_DELETED_BY_REQ_ID: ON_MESSAGE_DELETED_BY_REQ_ID,
65
+ SET_CURRENT_CHANNEL: SET_CURRENT_CHANNEL,
66
+ SET_CHANNEL_INVALID: SET_CHANNEL_INVALID,
67
+ MARK_AS_READ: MARK_AS_READ,
68
+ ON_REACTION_UPDATED: ON_REACTION_UPDATED,
69
+ SET_EMOJI_CONTAINER: SET_EMOJI_CONTAINER,
70
+ MESSAGE_LIST_PARAMS_CHANGED: MESSAGE_LIST_PARAMS_CHANGED
71
+ });
72
+
73
+ const UNDEFINED = 'undefined';
74
+ const {
75
+ SUCCEEDED: SUCCEEDED$1,
76
+ FAILED,
77
+ PENDING
78
+ } = index.getSendingMessageStatus();
79
+ const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
80
+ try {
81
+ var _container$querySelec;
82
+ const container = scrollRef.current;
83
+ // scroll into the message with initialTimeStamp
84
+ const element = (_container$querySelec = container.querySelectorAll(`[data-sb-created-at="${initialTimeStamp}"]`)) === null || _container$querySelec === void 0 ? void 0 : _container$querySelec[0];
85
+ if (element) {
86
+ // Calculate the offset of the element from the top of the container
87
+ const containerHeight = container.offsetHeight;
88
+ const elementHeight = element.offsetHeight;
89
+ const elementOffset = (containerHeight - elementHeight) / 2;
90
+ // Set the scroll position of the container to bring the element to the middle
91
+ container.scrollTop = element.offsetTop - elementOffset;
92
+ }
93
+ } catch (_unused) {
94
+ // do nothing
95
+ }
96
+ };
97
+
98
+ /* eslint-disable default-param-last */
99
+ const scrollIntoLast = function () {
100
+ let initialTry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
101
+ let scrollRef = arguments.length > 1 ? arguments[1] : undefined;
102
+ const MAX_TRIES = 10;
103
+ const currentTry = initialTry;
104
+ if (currentTry > MAX_TRIES) {
105
+ return;
106
+ }
107
+ try {
108
+ const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
109
+ // eslint-disable-next-line no-multi-assign
110
+ scrollDOM.scrollTop = scrollDOM.scrollHeight;
111
+ } catch (error) {
112
+ setTimeout(() => {
113
+ scrollIntoLast(currentTry + 1, scrollRef);
114
+ }, 500 * currentTry);
115
+ }
116
+ };
117
+ const pubSubHandleRemover = subscriber => {
118
+ subscriber.forEach(s => {
119
+ try {
120
+ s.remove();
121
+ } catch (_unused2) {
122
+ //
123
+ }
124
+ });
125
+ };
126
+ const pubSubHandler = _ref => {
127
+ let {
128
+ channelUrl,
129
+ pubSub,
130
+ dispatcher,
131
+ scrollRef
132
+ } = _ref;
133
+ const subscriber = new Map();
134
+ if (!pubSub || !pubSub.subscribe) return subscriber;
135
+ subscriber.set(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, msg => {
136
+ const {
137
+ channel,
138
+ message
139
+ } = msg;
140
+ scrollIntoLast(0, scrollRef);
141
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
142
+ dispatcher({
143
+ type: SEND_MESSAGEGE_SUCESS,
144
+ payload: message
145
+ });
146
+ }
147
+ }));
148
+ subscriber.set(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, msg => {
149
+ const {
150
+ channel,
151
+ message
152
+ } = msg;
153
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
154
+ dispatcher({
155
+ type: SEND_MESSAGEGE_START,
156
+ payload: message
157
+ });
158
+ }
159
+ }));
160
+ subscriber.set(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, msg => {
161
+ const {
162
+ channel,
163
+ message
164
+ } = msg;
165
+ scrollIntoLast(0, scrollRef);
166
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
167
+ dispatcher({
168
+ type: SEND_MESSAGEGE_SUCESS,
169
+ payload: message
170
+ });
171
+ }
172
+ }));
173
+ subscriber.set(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, msg => {
174
+ const {
175
+ channel,
176
+ message,
177
+ fromSelector
178
+ } = msg;
179
+ if (fromSelector && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
180
+ dispatcher({
181
+ type: ON_MESSAGE_UPDATED,
182
+ payload: {
183
+ channel,
184
+ message
185
+ }
186
+ });
187
+ }
188
+ }));
189
+ subscriber.set(topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.DELETE_MESSAGE, msg => {
190
+ const {
191
+ channel,
192
+ messageId
193
+ } = msg;
194
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
195
+ dispatcher({
196
+ type: ON_MESSAGE_DELETED,
197
+ payload: messageId
198
+ });
199
+ }
200
+ }));
201
+ return subscriber;
202
+ };
203
+ const isOperator = function () {
204
+ let groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
205
+ const myRole = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.myRole;
206
+ return myRole === 'operator';
207
+ };
208
+ const isDisabledBecauseFrozen = function () {
209
+ let groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
210
+ const isFrozen = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen;
211
+ return isFrozen && !isOperator(groupChannel);
212
+ };
213
+ const isDisabledBecauseMuted = function () {
214
+ let groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
215
+ const myMutedState = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.myMutedState;
216
+ return myMutedState === 'muted';
217
+ };
218
+ const getAllEmojisMapFromEmojiContainer = function () {
219
+ let emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
220
+ const {
221
+ emojiCategories = []
222
+ } = emojiContainer;
223
+ const allEmojisMap = new Map();
224
+ for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
225
+ const {
226
+ emojis
227
+ } = emojiCategories[categoryIndex];
228
+ for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
229
+ const {
230
+ key,
231
+ url
232
+ } = emojis[emojiIndex];
233
+ allEmojisMap.set(key, url);
234
+ }
235
+ }
236
+ return allEmojisMap;
237
+ };
238
+ const getNicknamesMapFromMembers = function () {
239
+ let members = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
240
+ const nicknamesMap = new Map();
241
+ for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
242
+ const {
243
+ userId,
244
+ nickname
245
+ } = members[memberIndex];
246
+ nicknamesMap.set(userId, nickname);
247
+ }
248
+ return nicknamesMap;
249
+ };
250
+ const getUniqueListBy = (arr, key) => [...new Map(arr.map(item => [item[key], item])).values()];
251
+ const getUniqueListByMessageId = arr => getUniqueListBy(arr, 'messageId');
252
+ const sortByCreatedAt = messages => messages.sort((a, b) => a.createdAt - b.createdAt);
253
+ const mergeAndSortMessages = (oldMessages, newMessages) => {
254
+ const lastOldMessage = oldMessages[oldMessages.length - 1];
255
+ const firstNewMessage = newMessages[0];
256
+ // If the last message of oldMessages is older than the first message of newMessages,
257
+ // then we can safely append newMessages to oldMessages.
258
+ if ((lastOldMessage === null || lastOldMessage === void 0 ? void 0 : lastOldMessage.createdAt) < (firstNewMessage === null || firstNewMessage === void 0 ? void 0 : firstNewMessage.createdAt)) {
259
+ return [...oldMessages, ...newMessages];
260
+ }
261
+
262
+ // todo: optimize this
263
+ // If the last message of oldMessages is newer than the first message of newMessages,
264
+ // then we need to merge the two arrays and sort them by createdAt.
265
+ const mergedMessages = [...oldMessages, ...newMessages];
266
+ const unique = getUniqueListByMessageId(mergedMessages);
267
+ return sortByCreatedAt(unique);
268
+ };
269
+ const getMessageCreatedAt = message => index$1.format(message.createdAt, 'p');
270
+ const isSameGroup = (message, comparingMessage, currentChannel) => {
271
+ var _message$sender, _comparingMessage$sen, _message$sender2, _comparingMessage$sen2;
272
+ 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 && message.sender && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.sender && message !== null && message !== void 0 && message.createdAt && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.createdAt && message !== null && message !== void 0 && (_message$sender = message.sender) !== null && _message$sender !== void 0 && _message$sender.userId && comparingMessage !== null && comparingMessage !== void 0 && (_comparingMessage$sen = comparingMessage.sender) !== null && _comparingMessage$sen !== void 0 && _comparingMessage$sen.userId)) {
273
+ return false;
274
+ }
275
+ return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && (message === null || message === void 0 ? void 0 : (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.userId) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : (_comparingMessage$sen2 = comparingMessage.sender) === null || _comparingMessage$sen2 === void 0 ? void 0 : _comparingMessage$sen2.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage) && index.isReadMessage(currentChannel, message) === index.isReadMessage(currentChannel, comparingMessage);
276
+ };
277
+ const compareMessagesForGrouping = (prevMessage, currMessage, nextMessage, currentChannel, replyType) => {
278
+ if (replyType === 'THREAD' && currMessage !== null && currMessage !== void 0 && currMessage.threadInfo) {
279
+ return [false, false];
280
+ }
281
+ const sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
282
+ const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
283
+ return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
284
+ };
285
+ const passUnsuccessfullMessages = (allMessages, newMessage) => {
286
+ const {
287
+ sendingStatus = UNDEFINED
288
+ } = newMessage;
289
+ if (sendingStatus === SUCCEEDED$1 || sendingStatus === PENDING) {
290
+ const lastIndexOfSucceededMessage = allMessages.map(message => message.sendingStatus || (message.isAdminMessage && message.isAdminMessage() ? SUCCEEDED$1 : UNDEFINED)).lastIndexOf(SUCCEEDED$1);
291
+ if (lastIndexOfSucceededMessage + 1 < allMessages.length) {
292
+ const messages = [...allMessages];
293
+ messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);
294
+ return messages;
295
+ }
296
+ }
297
+ return [...allMessages, newMessage];
298
+ };
299
+ const pxToNumber = px => {
300
+ if (typeof px === 'number') {
301
+ return px;
302
+ }
303
+ if (typeof px === 'string') {
304
+ const parsed = Number.parseFloat(px);
305
+ if (!Number.isNaN(parsed)) {
306
+ return parsed;
307
+ }
308
+ }
309
+ return null;
310
+ };
311
+ const isAboutSame = (a, b, px) => Math.abs(a - b) <= px;
312
+
313
+ /**
314
+ * This function helps consider the every condition
315
+ * related to enabling emoji reaction feature.
316
+ */
317
+
318
+ function getIsReactionEnabled(_ref) {
319
+ let {
320
+ isBroadcast = false,
321
+ isSuper = false,
322
+ globalLevel = true,
323
+ moduleLevel
324
+ } = _ref;
325
+ return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
326
+ }
327
+
328
+ var messagesInitialState = {
329
+ initialized: false,
330
+ loading: true,
331
+ allMessages: [],
332
+ currentGroupChannel: {
333
+ members: []
334
+ },
335
+ // for scrollup
336
+ hasMorePrev: false,
337
+ oldestMessageTimeStamp: 0,
338
+ // for scroll down
339
+ // onScrollDownCallback is added for navigation to different timestamps on messageSearch
340
+ // hasMorePrev, onScrollCallback -> scroll up(default behavior)
341
+ // hasMoreNext, onScrollDownCallback -> scroll down
342
+ hasMoreNext: false,
343
+ latestMessageTimeStamp: 0,
344
+ emojiContainer: {},
345
+ unreadSince: null,
346
+ /**
347
+ * unreadSince is a formatted date information string
348
+ * It's used only for the {unreadSince && <UnreadCount time={unreadSince} />}
349
+ */
350
+ isInvalid: false,
351
+ messageListParams: null
352
+ };
353
+
354
+ const {
355
+ SUCCEEDED
356
+ } = index.getSendingMessageStatus();
357
+ const getOldestMessageTimeStamp = function () {
358
+ let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
359
+ const oldestMessage = messages[0];
360
+ return oldestMessage && oldestMessage.createdAt || null;
361
+ };
362
+ const getLatestMessageTimeStamp = function () {
363
+ let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
364
+ const latestMessage = messages[messages.length - 1];
365
+ return latestMessage && latestMessage.createdAt || null;
366
+ };
367
+ function reducer(state, action) {
368
+ var _state$currentGroupCh7, _action$payload, _action$payload$chann;
369
+ switch (action.type) {
370
+ case RESET_MESSAGES:
371
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
372
+ // when user switches channel, if the previous channel `hasMorePrev`
373
+ // the onScroll gets called twice, setting hasMorePrev false prevents this
374
+ hasMorePrev: false,
375
+ hasMoreNext: false,
376
+ allMessages: []
377
+ });
378
+ case FETCH_INITIAL_MESSAGES_START:
379
+ {
380
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
381
+ loading: true,
382
+ allMessages: [...state.allMessages.filter(m => m.sendingStatus !== SUCCEEDED)]
383
+ });
384
+ }
385
+ case FETCH_INITIAL_MESSAGES_SUCCESS:
386
+ {
387
+ var _state$currentGroupCh;
388
+ const {
389
+ currentGroupChannel,
390
+ messages
391
+ } = action.payload;
392
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh = state.currentGroupChannel) === null || _state$currentGroupCh === void 0 ? void 0 : _state$currentGroupCh.url))) {
393
+ return state;
394
+ }
395
+ const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
396
+ const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
397
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
398
+ loading: false,
399
+ initialized: true,
400
+ hasMorePrev: true,
401
+ hasMoreNext: true,
402
+ oldestMessageTimeStamp,
403
+ latestMessageTimeStamp,
404
+ allMessages: [...messages]
405
+ });
406
+ }
407
+ case FETCH_PREV_MESSAGES_SUCCESS:
408
+ {
409
+ var _state$currentGroupCh2, _messages$length, _state$messageListPar, _state$messageListPar2;
410
+ const {
411
+ currentGroupChannel,
412
+ messages
413
+ } = action.payload;
414
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh2 = state.currentGroupChannel) === null || _state$currentGroupCh2 === void 0 ? void 0 : _state$currentGroupCh2.url))) {
415
+ return state;
416
+ }
417
+ const hasMorePrev = ((_messages$length = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _messages$length !== void 0 ? _messages$length : 0) >= ((_state$messageListPar = state === null || state === void 0 ? void 0 : (_state$messageListPar2 = state.messageListParams) === null || _state$messageListPar2 === void 0 ? void 0 : _state$messageListPar2.prevResultSize) !== null && _state$messageListPar !== void 0 ? _state$messageListPar : _const.PREV_RESULT_SIZE) + 1;
418
+ const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
419
+
420
+ // Remove duplicated messages
421
+ const duplicatedMessageIds = [];
422
+ const updatedOldMessages = state.allMessages.map(msg => {
423
+ const duplicatedMessage = messages.find(_ref => {
424
+ let {
425
+ messageId
426
+ } = _ref;
427
+ return compareIds.compareIds(messageId, msg.messageId);
428
+ });
429
+ if (!duplicatedMessage) {
430
+ return msg;
431
+ }
432
+ duplicatedMessageIds.push(duplicatedMessage.messageId);
433
+ return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
434
+ });
435
+ const filteredNewMessages = duplicatedMessageIds.length > 0 ? messages.filter(msg => !duplicatedMessageIds.find(messageId => compareIds.compareIds(messageId, msg.messageId))) : messages;
436
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
437
+ hasMorePrev,
438
+ oldestMessageTimeStamp,
439
+ allMessages: [...filteredNewMessages, ...updatedOldMessages]
440
+ });
441
+ }
442
+ case FETCH_NEXT_MESSAGES_SUCCESS:
443
+ {
444
+ var _state$currentGroupCh3, _messages$length2, _state$messageListPar3, _state$messageListPar4;
445
+ const {
446
+ currentGroupChannel,
447
+ messages
448
+ } = action.payload;
449
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh3 = state.currentGroupChannel) === null || _state$currentGroupCh3 === void 0 ? void 0 : _state$currentGroupCh3.url))) {
450
+ return state;
451
+ }
452
+ const hasMoreNext = ((_messages$length2 = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _messages$length2 !== void 0 ? _messages$length2 : 0) === ((_state$messageListPar3 = state === null || state === void 0 ? void 0 : (_state$messageListPar4 = state.messageListParams) === null || _state$messageListPar4 === void 0 ? void 0 : _state$messageListPar4.nextResultSize) !== null && _state$messageListPar3 !== void 0 ? _state$messageListPar3 : _const.NEXT_RESULT_SIZE) + 1;
453
+ const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
454
+
455
+ // sort ~
456
+ const sortedMessages = mergeAndSortMessages(state.allMessages, messages);
457
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
458
+ hasMoreNext,
459
+ latestMessageTimeStamp,
460
+ allMessages: sortedMessages
461
+ });
462
+ }
463
+ case FETCH_INITIAL_MESSAGES_FAILURE:
464
+ case FETCH_PREV_MESSAGES_FAILURE:
465
+ case FETCH_NEXT_MESSAGES_FAILURE:
466
+ {
467
+ var _state$currentGroupCh4;
468
+ const {
469
+ currentGroupChannel
470
+ } = action.payload;
471
+ if ((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) !== (state === null || state === void 0 ? void 0 : (_state$currentGroupCh4 = state.currentGroupChannel) === null || _state$currentGroupCh4 === void 0 ? void 0 : _state$currentGroupCh4.url)) {
472
+ return state;
473
+ }
474
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
475
+ loading: false,
476
+ initialized: false,
477
+ allMessages: [],
478
+ hasMorePrev: false,
479
+ hasMoreNext: false,
480
+ oldestMessageTimeStamp: null,
481
+ latestMessageTimeStamp: null
482
+ });
483
+ }
484
+ case SEND_MESSAGEGE_START:
485
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
486
+ allMessages: [...state.allMessages, _rollupPluginBabelHelpers._objectSpread2({}, action.payload)]
487
+ });
488
+ case SEND_MESSAGEGE_SUCESS:
489
+ {
490
+ const message = action.payload;
491
+ const filteredMessages = state.allMessages.filter(m => (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId));
492
+ const pendingIndex = filteredMessages.findIndex(msg => (msg === null || msg === void 0 ? void 0 : msg.sendingStatus) === 'pending' || (msg === null || msg === void 0 ? void 0 : msg.sendingStatus) === 'failed');
493
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
494
+ allMessages: pendingIndex > -1 ? [...filteredMessages.slice(0, pendingIndex), message, ...filteredMessages.slice(pendingIndex)] : [...filteredMessages, message]
495
+ });
496
+ }
497
+ case SEND_MESSAGEGE_FAILURE:
498
+ {
499
+ // eslint-disable-next-line no-param-reassign
500
+ action.payload.failed = true;
501
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
502
+ allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
503
+ });
504
+ }
505
+ case SET_CURRENT_CHANNEL:
506
+ {
507
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
508
+ currentGroupChannel: action.payload,
509
+ isInvalid: false
510
+ });
511
+ }
512
+ case SET_CHANNEL_INVALID:
513
+ {
514
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
515
+ currentGroupChannel: null,
516
+ isInvalid: true
517
+ });
518
+ }
519
+ case ON_MESSAGE_RECEIVED:
520
+ {
521
+ const {
522
+ channel,
523
+ message
524
+ } = action.payload;
525
+ const {
526
+ members
527
+ } = channel;
528
+ const {
529
+ sender
530
+ } = message;
531
+ const {
532
+ currentGroupChannel = {},
533
+ unreadSince
534
+ } = state;
535
+ const currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
536
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
537
+ return state;
538
+ }
539
+ // Excluded overlapping messages
540
+ if (state.allMessages.some(msg => msg.messageId === message.messageId)) {
541
+ return state;
542
+ }
543
+ // Filter by userFilledQuery
544
+ if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
545
+ return state;
546
+ }
547
+ if (message.isAdminMessage && message.isAdminMessage()) {
548
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
549
+ allMessages: passUnsuccessfullMessages(state.allMessages, message)
550
+ });
551
+ }
552
+
553
+ // Update members when sender profileUrl, nickname, friendName has been changed
554
+ const senderMember = members === null || members === void 0 ? void 0 : members.find(m => (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId));
555
+ if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
556
+ channel.members = members.map(member => {
557
+ if (member.userId === sender.userId) {
558
+ return sender;
559
+ }
560
+ return member;
561
+ });
562
+ }
563
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
564
+ currentGroupChannel: channel,
565
+ unreadSince: state !== null && state !== void 0 && state.unreadSince ? unreadSince : index$1.format(new Date(), 'p MMM dd'),
566
+ allMessages: passUnsuccessfullMessages(state.allMessages, message)
567
+ });
568
+ }
569
+ case ON_MESSAGE_UPDATED:
570
+ {
571
+ var _state$currentGroupCh5;
572
+ const {
573
+ channel,
574
+ message
575
+ } = action.payload;
576
+ const currentGroupChannelUrl = (state === null || state === void 0 ? void 0 : (_state$currentGroupCh5 = state.currentGroupChannel) === null || _state$currentGroupCh5 === void 0 ? void 0 : _state$currentGroupCh5.url) || '';
577
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
578
+ return state; // Ignore event when it is not for the current channel
579
+ }
580
+
581
+ if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
582
+ // Delete the message if it doesn't match to the params anymore
583
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
584
+ allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId))
585
+ });
586
+ }
587
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
588
+ allMessages: state.allMessages.map(m => {
589
+ if (compareIds.compareIds(m.messageId, message.messageId)) {
590
+ return message;
591
+ }
592
+ if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
593
+ m.parentMessage = message; // eslint-disable-line no-param-reassign
594
+ }
595
+
596
+ return m;
597
+ })
598
+ });
599
+ }
600
+ case ON_MESSAGE_THREAD_INFO_UPDATED:
601
+ {
602
+ var _state$currentGroupCh6;
603
+ const {
604
+ channel,
605
+ event
606
+ } = action.payload;
607
+ const {
608
+ channelUrl,
609
+ threadInfo,
610
+ targetMessageId
611
+ } = event;
612
+ const currentGroupChannelUrl = (state === null || state === void 0 ? void 0 : (_state$currentGroupCh6 = state.currentGroupChannel) === null || _state$currentGroupCh6 === void 0 ? void 0 : _state$currentGroupCh6.url) || '';
613
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl) || !compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
614
+ return state; // Ignore event when it is not for the current channel
615
+ }
616
+
617
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
618
+ allMessages: state.allMessages.map(m => {
619
+ if (compareIds.compareIds(m.messageId, targetMessageId)) {
620
+ // eslint-disable-next-line no-param-reassign
621
+ m.threadInfo = threadInfo; // Upsert threadInfo to the target message
622
+ }
623
+
624
+ return m;
625
+ })
626
+ });
627
+ }
628
+ case RESEND_MESSAGEGE_START:
629
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
630
+ allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
631
+ });
632
+ case MARK_AS_READ:
633
+ if (((_state$currentGroupCh7 = state.currentGroupChannel) === null || _state$currentGroupCh7 === void 0 ? void 0 : _state$currentGroupCh7.url) !== ((_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : (_action$payload$chann = _action$payload.channel) === null || _action$payload$chann === void 0 ? void 0 : _action$payload$chann.url)) {
634
+ return state;
635
+ }
636
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
637
+ unreadSince: null
638
+ });
639
+ case ON_MESSAGE_DELETED:
640
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
641
+ allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, action.payload))
642
+ });
643
+ case ON_MESSAGE_DELETED_BY_REQ_ID:
644
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
645
+ allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.reqId, action.payload))
646
+ });
647
+ case SET_EMOJI_CONTAINER:
648
+ {
649
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
650
+ emojiContainer: action.payload
651
+ });
652
+ }
653
+ case ON_REACTION_UPDATED:
654
+ {
655
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
656
+ allMessages: state.allMessages.map(m => {
657
+ if (compareIds.compareIds(m.messageId, action.payload.messageId)) {
658
+ if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
659
+ m.applyReactionEvent(action.payload);
660
+ }
661
+ return m;
662
+ }
663
+ return m;
664
+ })
665
+ });
666
+ }
667
+ case MESSAGE_LIST_PARAMS_CHANGED:
668
+ {
669
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
670
+ messageListParams: action.payload
671
+ });
672
+ }
673
+ default:
674
+ return state;
675
+ }
676
+ }
677
+
678
+ /**
679
+ * Handles ChannelEvents and send values to dispatcher using messagesDispatcher
680
+ * messagesDispatcher: Dispatcher
681
+ * sdk: sdkInstance
682
+ * logger: loggerInstance
683
+ * channelUrl: string
684
+ * sdkInit: bool
685
+ */
686
+
687
+ const DELIVERY_RECIPT = 'delivery_receipt';
688
+ function useHandleChannelEvents(_ref, _ref2) {
689
+ var _store$stores$sdkStor, _store$stores$sdkStor2, _store$stores$sdkStor3;
690
+ let {
691
+ sdkInit,
692
+ currentUserId,
693
+ currentGroupChannel,
694
+ disableMarkAsRead
695
+ } = _ref;
696
+ let {
697
+ sdk,
698
+ logger,
699
+ scrollRef,
700
+ setQuoteMessage,
701
+ messagesDispatcher
702
+ } = _ref2;
703
+ const store = useSendbirdStateContext();
704
+ const {
705
+ markAsReadScheduler,
706
+ markAsDeliveredScheduler,
707
+ disableMarkAsDelivered
708
+ } = store.config;
709
+ const canSetMarkAsDelivered = (_store$stores$sdkStor = store.stores.sdkStore.sdk) === null || _store$stores$sdkStor === void 0 ? void 0 : (_store$stores$sdkStor2 = _store$stores$sdkStor.appInfo) === null || _store$stores$sdkStor2 === void 0 ? void 0 : (_store$stores$sdkStor3 = _store$stores$sdkStor2.premiumFeatureList) === null || _store$stores$sdkStor3 === void 0 ? void 0 : _store$stores$sdkStor3.find(feature => feature === DELIVERY_RECIPT);
710
+ React.useEffect(() => {
711
+ const channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
712
+ const channelHandlerId = uuid.uuidv4();
713
+ if (channelUrl && sdkInit) {
714
+ var _sdk$groupChannel;
715
+ const channelHandler = {
716
+ onMessageReceived: (channel, message) => {
717
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
718
+ var _document$getElementB, _document$getElementB2;
719
+ let scrollToEnd = false;
720
+ try {
721
+ const {
722
+ current
723
+ } = scrollRef;
724
+ scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
725
+ // 10 is a buffer
726
+ } catch (error) {
727
+ //
728
+ }
729
+ logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
730
+ messagesDispatcher({
731
+ type: ON_MESSAGE_RECEIVED,
732
+ payload: {
733
+ channel,
734
+ message
735
+ }
736
+ });
737
+ if (scrollToEnd && ((_document$getElementB = document.getElementById('sendbird-dropdown-portal')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.childElementCount) === 0 && ((_document$getElementB2 = document.getElementById('sendbird-emoji-list-portal')) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.childElementCount) === 0) {
738
+ // and !openContextMenu
739
+ try {
740
+ setTimeout(() => {
741
+ scrollIntoLast(0, scrollRef);
742
+ });
743
+ if (!disableMarkAsRead) {
744
+ markAsReadScheduler.push(currentGroupChannel);
745
+ }
746
+ if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
747
+ markAsDeliveredScheduler.push(currentGroupChannel);
748
+ }
749
+ } catch (error) {
750
+ logger.warning('Channel | onMessageReceived | scroll to end failed');
751
+ }
752
+ }
753
+ }
754
+ },
755
+ onUnreadMemberStatusUpdated: channel => {
756
+ logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
757
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
758
+ messagesDispatcher({
759
+ type: SET_CURRENT_CHANNEL,
760
+ payload: channel
761
+ });
762
+ }
763
+ },
764
+ // before(onDeliveryReceiptUpdated)
765
+ onUndeliveredMemberStatusUpdated: channel => {
766
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
767
+ logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
768
+ messagesDispatcher({
769
+ type: SET_CURRENT_CHANNEL,
770
+ payload: channel
771
+ });
772
+ }
773
+ },
774
+ onMessageUpdated: (channel, message) => {
775
+ logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
776
+ messagesDispatcher({
777
+ type: ON_MESSAGE_UPDATED,
778
+ payload: {
779
+ channel,
780
+ message
781
+ }
782
+ });
783
+ },
784
+ onThreadInfoUpdated: (channel, threadInfoUpdateEvent) => {
785
+ logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', {
786
+ channel,
787
+ threadInfoUpdateEvent
788
+ });
789
+ messagesDispatcher({
790
+ type: ON_MESSAGE_THREAD_INFO_UPDATED,
791
+ payload: {
792
+ channel,
793
+ event: threadInfoUpdateEvent
794
+ }
795
+ });
796
+ },
797
+ onMessageDeleted: (channel, messageId) => {
798
+ logger.info('Channel | useHandleChannelEvents: onMessageDeleted', {
799
+ channel,
800
+ messageId
801
+ });
802
+ setQuoteMessage(null);
803
+ messagesDispatcher({
804
+ type: ON_MESSAGE_DELETED,
805
+ payload: messageId
806
+ });
807
+ },
808
+ onReactionUpdated: (channel, reactionEvent) => {
809
+ logger.info('Channel | useHandleChannelEvents: onReactionUpdated', {
810
+ channel,
811
+ reactionEvent
812
+ });
813
+ messagesDispatcher({
814
+ type: ON_REACTION_UPDATED,
815
+ payload: reactionEvent
816
+ });
817
+ },
818
+ onChannelChanged: channel => {
819
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
820
+ logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
821
+ messagesDispatcher({
822
+ type: SET_CURRENT_CHANNEL,
823
+ payload: channel
824
+ });
825
+ }
826
+ },
827
+ onChannelFrozen: channel => {
828
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
829
+ logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
830
+ messagesDispatcher({
831
+ type: SET_CURRENT_CHANNEL,
832
+ payload: channel
833
+ });
834
+ }
835
+ },
836
+ onChannelUnfrozen: channel => {
837
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
838
+ logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
839
+ messagesDispatcher({
840
+ type: SET_CURRENT_CHANNEL,
841
+ payload: channel
842
+ });
843
+ }
844
+ },
845
+ onUserMuted: (channel, user) => {
846
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
847
+ logger.info('Channel | useHandleChannelEvents: onUserMuted', {
848
+ channel,
849
+ user
850
+ });
851
+ messagesDispatcher({
852
+ type: SET_CURRENT_CHANNEL,
853
+ payload: channel
854
+ });
855
+ }
856
+ },
857
+ onUserUnmuted: (channel, user) => {
858
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
859
+ logger.info('Channel | useHandleChannelEvents: onUserUnmuted', {
860
+ channel,
861
+ user
862
+ });
863
+ messagesDispatcher({
864
+ type: SET_CURRENT_CHANNEL,
865
+ payload: channel
866
+ });
867
+ }
868
+ },
869
+ onUserBanned: (channel, user) => {
870
+ var _sdk$currentUser;
871
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl) && (user === null || user === void 0 ? void 0 : user.userId) === (sdk === null || sdk === void 0 ? void 0 : (_sdk$currentUser = sdk.currentUser) === null || _sdk$currentUser === void 0 ? void 0 : _sdk$currentUser.userId)) {
872
+ logger.info('Channel | useHandleChannelEvents: onUserBanned', {
873
+ channel,
874
+ user
875
+ });
876
+ messagesDispatcher({
877
+ type: SET_CURRENT_CHANNEL,
878
+ payload: null
879
+ });
880
+ }
881
+ },
882
+ onOperatorUpdated: (channel, users) => {
883
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
884
+ logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', {
885
+ channel,
886
+ users
887
+ });
888
+ messagesDispatcher({
889
+ type: SET_CURRENT_CHANNEL,
890
+ payload: channel
891
+ });
892
+ }
893
+ },
894
+ onUserLeft: (channel, user) => {
895
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
896
+ logger.info('Channel | useHandleChannelEvents: onUserLeft', {
897
+ channel,
898
+ user
899
+ });
900
+ if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
901
+ messagesDispatcher({
902
+ type: SET_CURRENT_CHANNEL,
903
+ payload: null
904
+ });
905
+ }
906
+ }
907
+ }
908
+ };
909
+ logger.info('Channel | useHandleChannelEvents: Setup event handler', {
910
+ channelHandlerId,
911
+ channelHandler
912
+ });
913
+ // Add this group channel handler to the Sendbird chat instance
914
+ (_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
915
+ }
916
+ return () => {
917
+ var _sdk$groupChannel2;
918
+ if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel2 = sdk.groupChannel) !== null && _sdk$groupChannel2 !== void 0 && _sdk$groupChannel2.removeGroupChannelHandler) {
919
+ logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
920
+ sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
921
+ } else if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
922
+ logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
923
+ }
924
+ };
925
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, sdkInit]);
926
+ }
927
+
928
+ function useSetChannel(_ref, _ref2) {
929
+ let {
930
+ channelUrl,
931
+ sdkInit,
932
+ disableMarkAsRead
933
+ } = _ref;
934
+ let {
935
+ messagesDispatcher,
936
+ sdk,
937
+ logger,
938
+ markAsReadScheduler
939
+ } = _ref2;
940
+ React.useEffect(() => {
941
+ if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
942
+ logger.info('Channel | useSetChannel fetching channel', channelUrl);
943
+ sdk.groupChannel.getChannel(channelUrl).then(groupChannel => {
944
+ logger.info('Channel | useSetChannel fetched channel', groupChannel);
945
+ messagesDispatcher({
946
+ type: SET_CURRENT_CHANNEL,
947
+ payload: groupChannel
948
+ });
949
+ logger.info('Channel: Mark as read', groupChannel);
950
+ if (!disableMarkAsRead) {
951
+ markAsReadScheduler.push(groupChannel);
952
+ }
953
+ }).catch(e => {
954
+ logger.warning('Channel | useSetChannel fetch channel failed', {
955
+ channelUrl,
956
+ e
957
+ });
958
+ messagesDispatcher({
959
+ type: SET_CHANNEL_INVALID
960
+ });
961
+ });
962
+ sdk.getAllEmoji().then(emojiContainer_ => {
963
+ logger.info('Channel: Getting emojis success', emojiContainer_);
964
+ messagesDispatcher({
965
+ type: SET_EMOJI_CONTAINER,
966
+ payload: emojiContainer_
967
+ });
968
+ }).catch(err => {
969
+ logger.error('Channel: Getting emojis failed', err);
970
+ });
971
+ sdk.getAllEmoji();
972
+ }
973
+ }, [channelUrl, sdkInit]);
974
+ }
975
+
976
+ function useInitialMessagesFetch(_ref, _ref2) {
977
+ let {
978
+ currentGroupChannel,
979
+ userFilledMessageListQuery,
980
+ initialTimeStamp,
981
+ replyType
982
+ } = _ref;
983
+ let {
984
+ logger,
985
+ scrollRef,
986
+ messagesDispatcher
987
+ } = _ref2;
988
+ const channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
989
+ React.useEffect(() => {
990
+ logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);
991
+ messagesDispatcher({
992
+ type: RESET_MESSAGES,
993
+ payload: null
994
+ });
995
+ if (currentGroupChannel && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.getMessagesByTimestamp) {
996
+ const messageListParams = {};
997
+ messageListParams.prevResultSize = _const.PREV_RESULT_SIZE;
998
+ if (initialTimeStamp) {
999
+ messageListParams.nextResultSize = _const.NEXT_RESULT_SIZE;
1000
+ }
1001
+ messageListParams.isInclusive = true;
1002
+ messageListParams.includeReactions = true;
1003
+ messageListParams.includeMetaArray = true;
1004
+ if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
1005
+ messageListParams.includeThreadInfo = true;
1006
+ messageListParams.includeParentMessageInfo = true;
1007
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
1008
+ }
1009
+ if (userFilledMessageListQuery) {
1010
+ Object.keys(userFilledMessageListQuery).forEach(key => {
1011
+ messageListParams[key] = userFilledMessageListQuery[key];
1012
+ });
1013
+ }
1014
+ if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') || userFilledMessageListQuery) {
1015
+ logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);
1016
+ messagesDispatcher({
1017
+ type: MESSAGE_LIST_PARAMS_CHANGED,
1018
+ payload: messageListParams
1019
+ });
1020
+ }
1021
+ logger.info('Channel: Fetching messages', {
1022
+ currentGroupChannel,
1023
+ userFilledMessageListQuery
1024
+ });
1025
+ messagesDispatcher({
1026
+ type: FETCH_INITIAL_MESSAGES_START,
1027
+ payload: null
1028
+ });
1029
+ currentGroupChannel.getMessagesByTimestamp(initialTimeStamp || new Date().getTime(), messageListParams).then(messages => {
1030
+ messagesDispatcher({
1031
+ type: FETCH_INITIAL_MESSAGES_SUCCESS,
1032
+ payload: {
1033
+ currentGroupChannel,
1034
+ messages
1035
+ }
1036
+ });
1037
+ }).catch(error => {
1038
+ logger.error('Channel: Fetching messages failed', error);
1039
+ messagesDispatcher({
1040
+ type: FETCH_INITIAL_MESSAGES_FAILURE,
1041
+ payload: {
1042
+ currentGroupChannel
1043
+ }
1044
+ });
1045
+ }).finally(() => {
1046
+ if (!initialTimeStamp) {
1047
+ setTimeout(() => scrollIntoLast(0, scrollRef));
1048
+ } else {
1049
+ setTimeout(() => {
1050
+ scrollToRenderedMessage(scrollRef, initialTimeStamp);
1051
+ }, 500);
1052
+ }
1053
+ });
1054
+ }
1055
+ }, [channelUrl, userFilledMessageListQuery, initialTimeStamp]);
1056
+ /**
1057
+ * Note - useEffect(() => {}, [currentGroupChannel])
1058
+ * was buggy, that is why we did
1059
+ * const channelUrl = currentGroupChannel && currentGroupChannel.url;
1060
+ * useEffect(() => {}, [channelUrl])
1061
+ * Again, this hook is supposed to execute when currentGroupChannel changes
1062
+ * The 'channelUrl' here is not the same memory reference from Conversation.props
1063
+ */
1064
+ }
1065
+
1066
+ function useHandleReconnect(_ref, _ref2) {
1067
+ let {
1068
+ isOnline,
1069
+ replyType,
1070
+ disableMarkAsRead
1071
+ } = _ref;
1072
+ let {
1073
+ logger,
1074
+ sdk,
1075
+ scrollRef,
1076
+ currentGroupChannel,
1077
+ messagesDispatcher,
1078
+ markAsReadScheduler,
1079
+ userFilledMessageListQuery
1080
+ } = _ref2;
1081
+ React.useEffect(() => {
1082
+ const wasOffline = !isOnline;
1083
+ return () => {
1084
+ // state changed from offline to online
1085
+ if (wasOffline && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.url) {
1086
+ var _sdk$appInfo, _sdk$groupChannel;
1087
+ logger.info('Refreshing conversation state');
1088
+ const isReactionEnabled = (sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : _sdk$appInfo.useReaction) || false;
1089
+ const messageListParams = {
1090
+ prevResultSize: _const.PREV_RESULT_SIZE,
1091
+ isInclusive: true,
1092
+ includeReactions: isReactionEnabled,
1093
+ nextResultSize: _const.NEXT_RESULT_SIZE
1094
+ };
1095
+ if (replyType && replyType === 'QUOTE_REPLY') {
1096
+ messageListParams.includeThreadInfo = true;
1097
+ messageListParams.includeParentMessageInfo = true;
1098
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
1099
+ }
1100
+ if (userFilledMessageListQuery) {
1101
+ Object.keys(userFilledMessageListQuery).forEach(key => {
1102
+ messageListParams[key] = userFilledMessageListQuery[key];
1103
+ });
1104
+ }
1105
+ logger.info('Channel: Fetching messages', {
1106
+ currentGroupChannel,
1107
+ userFilledMessageListQuery
1108
+ });
1109
+ messagesDispatcher({
1110
+ type: FETCH_INITIAL_MESSAGES_START,
1111
+ payload: null
1112
+ });
1113
+ sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.getChannel(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url).then(groupChannel => {
1114
+ const lastMessageTime = new Date().getTime();
1115
+ groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams).then(messages => {
1116
+ messagesDispatcher({
1117
+ type: FETCH_INITIAL_MESSAGES_SUCCESS,
1118
+ payload: {
1119
+ currentGroupChannel,
1120
+ messages
1121
+ }
1122
+ });
1123
+ setTimeout(() => scrollIntoLast(0, scrollRef));
1124
+ }).catch(error => {
1125
+ logger.error('Channel: Fetching messages failed', error);
1126
+ messagesDispatcher({
1127
+ type: FETCH_INITIAL_MESSAGES_FAILURE,
1128
+ payload: {
1129
+ currentGroupChannel
1130
+ }
1131
+ });
1132
+ });
1133
+ if (!disableMarkAsRead) {
1134
+ markAsReadScheduler.push(currentGroupChannel);
1135
+ }
1136
+ });
1137
+ }
1138
+ };
1139
+ }, [isOnline, replyType]);
1140
+ }
1141
+
1142
+ function useScrollCallback(_ref, _ref2) {
1143
+ let {
1144
+ currentGroupChannel,
1145
+ oldestMessageTimeStamp,
1146
+ userFilledMessageListQuery,
1147
+ replyType
1148
+ } = _ref;
1149
+ let {
1150
+ hasMorePrev,
1151
+ logger,
1152
+ messagesDispatcher,
1153
+ sdk
1154
+ } = _ref2;
1155
+ return React.useCallback(cb => {
1156
+ if (!hasMorePrev) {
1157
+ return;
1158
+ }
1159
+ const {
1160
+ appInfo = {}
1161
+ } = sdk;
1162
+ const isReactionEnabled = appInfo.useReaction || false;
1163
+ const messageListParams = {
1164
+ prevResultSize: _const.PREV_RESULT_SIZE,
1165
+ isInclusive: true,
1166
+ includeReactions: isReactionEnabled
1167
+ };
1168
+ messageListParams.includeMetaArray = true;
1169
+ if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
1170
+ messageListParams.includeThreadInfo = true;
1171
+ messageListParams.includeParentMessageInfo = true;
1172
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
1173
+ }
1174
+ if (userFilledMessageListQuery) {
1175
+ Object.keys(userFilledMessageListQuery).forEach(key => {
1176
+ messageListParams[key] = userFilledMessageListQuery[key];
1177
+ });
1178
+ }
1179
+ logger.info('Channel: Fetching messages', {
1180
+ currentGroupChannel,
1181
+ userFilledMessageListQuery
1182
+ });
1183
+ currentGroupChannel.getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams).then(messages => {
1184
+ messagesDispatcher({
1185
+ type: FETCH_PREV_MESSAGES_SUCCESS,
1186
+ payload: {
1187
+ currentGroupChannel,
1188
+ messages
1189
+ }
1190
+ });
1191
+ cb([messages, null]);
1192
+ }).catch(error => {
1193
+ logger.error('Channel: Fetching messages failed', error);
1194
+ messagesDispatcher({
1195
+ type: FETCH_PREV_MESSAGES_FAILURE,
1196
+ payload: {
1197
+ currentGroupChannel
1198
+ }
1199
+ });
1200
+ cb([null, error]);
1201
+ });
1202
+ }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);
1203
+ }
1204
+
1205
+ function useScrollDownCallback(_ref, _ref2) {
1206
+ let {
1207
+ currentGroupChannel,
1208
+ latestMessageTimeStamp,
1209
+ userFilledMessageListQuery,
1210
+ hasMoreNext,
1211
+ replyType
1212
+ } = _ref;
1213
+ let {
1214
+ logger,
1215
+ messagesDispatcher,
1216
+ sdk
1217
+ } = _ref2;
1218
+ return React.useCallback(cb => {
1219
+ if (!hasMoreNext) {
1220
+ return;
1221
+ }
1222
+ const {
1223
+ appInfo = {}
1224
+ } = sdk;
1225
+ const isReactionEnabled = appInfo.useReaction || false;
1226
+ const messageListParams = {
1227
+ nextResultSize: _const.NEXT_RESULT_SIZE,
1228
+ isInclusive: true,
1229
+ includeReactions: isReactionEnabled
1230
+ };
1231
+ messageListParams.includeMetaArray = true;
1232
+ if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
1233
+ messageListParams.includeThreadInfo = true;
1234
+ messageListParams.includeParentMessageInfo = true;
1235
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
1236
+ }
1237
+ if (userFilledMessageListQuery) {
1238
+ Object.keys(userFilledMessageListQuery).forEach(key => {
1239
+ messageListParams[key] = userFilledMessageListQuery[key];
1240
+ });
1241
+ }
1242
+ logger.info('Channel: Fetching later messages', {
1243
+ currentGroupChannel,
1244
+ userFilledMessageListQuery
1245
+ });
1246
+ currentGroupChannel.getMessagesByTimestamp(latestMessageTimeStamp || new Date().getTime(), messageListParams).then(messages => {
1247
+ messagesDispatcher({
1248
+ type: FETCH_NEXT_MESSAGES_SUCCESS,
1249
+ payload: {
1250
+ currentGroupChannel,
1251
+ messages
1252
+ }
1253
+ });
1254
+ cb([messages, null]);
1255
+ }).catch(error => {
1256
+ logger.error('Channel: Fetching later messages failed', error);
1257
+ messagesDispatcher({
1258
+ type: FETCH_NEXT_MESSAGES_FAILURE,
1259
+ payload: {
1260
+ currentGroupChannel
1261
+ }
1262
+ });
1263
+ cb([null, error]);
1264
+ });
1265
+ }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);
1266
+ }
1267
+
1268
+ function useDeleteMessageCallback(_ref, _ref2) {
1269
+ let {
1270
+ currentGroupChannel,
1271
+ messagesDispatcher
1272
+ } = _ref;
1273
+ let {
1274
+ logger
1275
+ } = _ref2;
1276
+ return React.useCallback(message => {
1277
+ logger.info('Channel | useDeleteMessageCallback: Deleting message', message);
1278
+ const {
1279
+ requestState
1280
+ } = message;
1281
+ return new Promise((resolve, reject) => {
1282
+ logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
1283
+ // Message is only on local
1284
+ if (requestState === 'failed' || requestState === 'pending') {
1285
+ logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
1286
+ messagesDispatcher({
1287
+ type: ON_MESSAGE_DELETED_BY_REQ_ID,
1288
+ payload: message.reqId
1289
+ });
1290
+ resolve(message);
1291
+ }
1292
+ logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);
1293
+ currentGroupChannel.deleteMessage(message).then(() => {
1294
+ logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
1295
+ messagesDispatcher({
1296
+ type: ON_MESSAGE_DELETED,
1297
+ payload: message.messageId
1298
+ });
1299
+ resolve(message);
1300
+ }).catch(err => {
1301
+ logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);
1302
+ reject(err);
1303
+ });
1304
+ });
1305
+ }, [currentGroupChannel, messagesDispatcher]);
1306
+ }
1307
+
1308
+ function useUpdateMessageCallback(_ref, _ref2) {
1309
+ let {
1310
+ currentGroupChannel,
1311
+ messagesDispatcher,
1312
+ onBeforeUpdateUserMessage,
1313
+ isMentionEnabled
1314
+ } = _ref;
1315
+ let {
1316
+ logger,
1317
+ pubSub
1318
+ } = _ref2;
1319
+ return React.useCallback((props, callback) => {
1320
+ const {
1321
+ messageId,
1322
+ message,
1323
+ mentionedUsers,
1324
+ mentionTemplate
1325
+ } = props;
1326
+ const createParamsDefault = () => {
1327
+ const params = {};
1328
+ params.message = message;
1329
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1330
+ params.mentionedUsers = mentionedUsers;
1331
+ }
1332
+ if (isMentionEnabled && mentionTemplate) {
1333
+ params.mentionedMessageTemplate = mentionTemplate;
1334
+ } else {
1335
+ params.mentionedMessageTemplate = message;
1336
+ }
1337
+ return params;
1338
+ };
1339
+ const createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
1340
+ if (createCustomPrams) {
1341
+ logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
1342
+ }
1343
+ const params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
1344
+ logger.info('Channel: Updating message!', params);
1345
+ currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {
1346
+ if (callback) {
1347
+ callback(err, msg);
1348
+ }
1349
+ logger.info('Channel: Updating message success!', msg);
1350
+ messagesDispatcher({
1351
+ type: ON_MESSAGE_UPDATED,
1352
+ payload: {
1353
+ channel: currentGroupChannel,
1354
+ message: msg
1355
+ }
1356
+ });
1357
+ pubSub.publish(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
1358
+ message: msg,
1359
+ channel: currentGroupChannel
1360
+ });
1361
+ });
1362
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);
1363
+ }
1364
+
1365
+ function useResendMessageCallback(_ref, _ref2) {
1366
+ let {
1367
+ currentGroupChannel,
1368
+ messagesDispatcher
1369
+ } = _ref;
1370
+ let {
1371
+ logger
1372
+ } = _ref2;
1373
+ return React.useCallback(failedMessage => {
1374
+ logger.info('Channel: Resending message has started', failedMessage);
1375
+ const {
1376
+ messageType,
1377
+ file
1378
+ } = failedMessage;
1379
+ if (failedMessage !== null && failedMessage !== void 0 && failedMessage.isResendable) {
1380
+ // Move the logic setting sendingStatus to pending into the reducer
1381
+ // eslint-disable-next-line no-param-reassign
1382
+ failedMessage.requestState = 'pending';
1383
+ // eslint-disable-next-line no-param-reassign
1384
+ failedMessage.sendingStatus = 'pending';
1385
+ messagesDispatcher({
1386
+ type: RESEND_MESSAGEGE_START,
1387
+ payload: failedMessage
1388
+ });
1389
+
1390
+ // userMessage
1391
+ if (messageType === 'user') {
1392
+ currentGroupChannel.resendUserMessage(failedMessage).then(message => {
1393
+ logger.info('Channel: Resending message success!', message);
1394
+ messagesDispatcher({
1395
+ type: SEND_MESSAGEGE_SUCESS,
1396
+ payload: message
1397
+ });
1398
+ }).catch(e => {
1399
+ logger.warning('Channel: Resending message failed!', e);
1400
+ // eslint-disable-next-line no-param-reassign
1401
+ failedMessage.requestState = 'failed';
1402
+ // eslint-disable-next-line no-param-reassign
1403
+ failedMessage.sendingStatus = 'failed';
1404
+ messagesDispatcher({
1405
+ type: SEND_MESSAGEGE_FAILURE,
1406
+ payload: failedMessage
1407
+ });
1408
+ });
1409
+
1410
+ // eslint-disable-next-line no-param-reassign
1411
+ failedMessage.requestState = 'pending';
1412
+ // eslint-disable-next-line no-param-reassign
1413
+ failedMessage.sendingStatus = 'pending';
1414
+ messagesDispatcher({
1415
+ type: RESEND_MESSAGEGE_START,
1416
+ payload: failedMessage
1417
+ });
1418
+ return;
1419
+ }
1420
+ if (messageType === 'file') {
1421
+ currentGroupChannel.resendFileMessage(failedMessage, file).then(message => {
1422
+ logger.info('Channel: Resending file message success!', message);
1423
+ messagesDispatcher({
1424
+ type: SEND_MESSAGEGE_SUCESS,
1425
+ payload: message
1426
+ });
1427
+ }).catch(e => {
1428
+ logger.warning('Channel: Resending file message failed!', e);
1429
+ // eslint-disable-next-line no-param-reassign
1430
+ failedMessage.requestState = 'failed';
1431
+ // eslint-disable-next-line no-param-reassign
1432
+ failedMessage.sendingStatus = 'failed';
1433
+ messagesDispatcher({
1434
+ type: SEND_MESSAGEGE_FAILURE,
1435
+ payload: failedMessage
1436
+ });
1437
+ });
1438
+
1439
+ // eslint-disable-next-line no-param-reassign
1440
+ failedMessage.requestState = 'pending';
1441
+ // eslint-disable-next-line no-param-reassign
1442
+ failedMessage.sendingStatus = 'pending';
1443
+ messagesDispatcher({
1444
+ type: RESEND_MESSAGEGE_START,
1445
+ payload: failedMessage
1446
+ });
1447
+ }
1448
+ } else {
1449
+ // to alert user on console
1450
+ // eslint-disable-next-line no-console
1451
+ console.error('Message is not resendable');
1452
+ logger.warning('Message is not resendable', failedMessage);
1453
+ }
1454
+ }, [currentGroupChannel, messagesDispatcher]);
1455
+ }
1456
+
1457
+ function useSendMessageCallback(_ref, _ref2) {
1458
+ let {
1459
+ isMentionEnabled,
1460
+ currentGroupChannel,
1461
+ onBeforeSendUserMessage
1462
+ } = _ref;
1463
+ let {
1464
+ logger,
1465
+ pubSub,
1466
+ scrollRef,
1467
+ messagesDispatcher
1468
+ } = _ref2;
1469
+ const messageInputRef = React.useRef(null);
1470
+ const sendMessage = React.useCallback(props => {
1471
+ const {
1472
+ quoteMessage = null,
1473
+ message,
1474
+ mentionTemplate,
1475
+ // mentionedUserIds,
1476
+ mentionedUsers
1477
+ } = props;
1478
+ const createParamsDefault = () => {
1479
+ const params = {};
1480
+ params.message = message;
1481
+ // if (isMentionEnabled && mentionedUserIds?.length > 0) {
1482
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1483
+ // params.mentionedUserIds = mentionedUserIds;
1484
+ params.mentionedUsers = mentionedUsers;
1485
+ }
1486
+ // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
1487
+ if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1488
+ params.mentionedMessageTemplate = mentionTemplate;
1489
+ }
1490
+ if (quoteMessage) {
1491
+ params.isReplyToChannel = true;
1492
+ params.parentMessageId = quoteMessage.messageId;
1493
+ }
1494
+ return params;
1495
+ };
1496
+ const createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
1497
+ if (createCustomPrams) {
1498
+ logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
1499
+ }
1500
+ const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
1501
+ logger.info('Channel: Sending message has started', params);
1502
+ currentGroupChannel.sendUserMessage(params).onPending(pendingMsg => {
1503
+ pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1504
+ /* pubSub is used instead of messagesDispatcher
1505
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1506
+ message: pendingMsg,
1507
+ channel: currentGroupChannel
1508
+ });
1509
+ setTimeout(() => scrollIntoLast(0, scrollRef));
1510
+ }).onFailed((err, msg) => {
1511
+ logger.warning('Channel: Sending message failed!', {
1512
+ message: msg,
1513
+ error: err
1514
+ });
1515
+ messagesDispatcher({
1516
+ type: SEND_MESSAGEGE_FAILURE,
1517
+ payload: msg
1518
+ });
1519
+ }).onSucceeded(msg => {
1520
+ logger.info('Channel: Sending message success!', msg);
1521
+ messagesDispatcher({
1522
+ type: SEND_MESSAGEGE_SUCESS,
1523
+ payload: msg
1524
+ });
1525
+ });
1526
+ }, [currentGroupChannel, onBeforeSendUserMessage]);
1527
+ return [messageInputRef, sendMessage];
1528
+ }
1529
+
1530
+ function useSendFileMessageCallback(_ref, _ref2) {
1531
+ let {
1532
+ currentGroupChannel,
1533
+ onBeforeSendFileMessage,
1534
+ imageCompression = {}
1535
+ } = _ref;
1536
+ let {
1537
+ logger,
1538
+ pubSub,
1539
+ scrollRef,
1540
+ messagesDispatcher
1541
+ } = _ref2;
1542
+ const sendMessage = React.useCallback(function (file) {
1543
+ let quoteMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1544
+ const {
1545
+ compressionRate,
1546
+ resizingWidth,
1547
+ resizingHeight
1548
+ } = imageCompression;
1549
+ const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
1550
+ const compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
1551
+ const compressibleRatio = compressionRate > 0 && compressionRate < 1;
1552
+ // pxToNumber returns null if values are invalid
1553
+ const compressibleDiamensions = pxToNumber(resizingWidth) || pxToNumber(resizingHeight);
1554
+ const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
1555
+ const createParamsDefault = file_ => {
1556
+ const params = {};
1557
+ params.file = file_;
1558
+ if (quoteMessage) {
1559
+ params.isReplyToChannel = true;
1560
+ params.parentMessageId = quoteMessage.messageId;
1561
+ }
1562
+ return params;
1563
+ };
1564
+ if (canCompressImage) {
1565
+ // Using image compression
1566
+ try {
1567
+ const image = document.createElement('img');
1568
+ image.src = URL.createObjectURL(file);
1569
+ image.onload = () => {
1570
+ URL.revokeObjectURL(image.src);
1571
+ const canvas = document.createElement('canvas');
1572
+ const imageWdith = image.naturalWidth || image.width;
1573
+ const imageHeight = image.naturalHeight || image.height;
1574
+ let targetWidth = pxToNumber(resizingWidth) || imageWdith;
1575
+ let targetHeight = pxToNumber(resizingHeight) || imageHeight;
1576
+
1577
+ // In canvas.toBlob(callback, mimeType, qualityArgument)
1578
+ // qualityArgument doesnt work
1579
+ // so in case compressibleDiamensions are not present, we use ratio
1580
+ if (file.type === 'image/png' && !compressibleDiamensions) {
1581
+ targetWidth *= compressionRate;
1582
+ targetHeight *= compressionRate;
1583
+ }
1584
+ canvas.width = targetWidth;
1585
+ canvas.height = targetHeight;
1586
+ const context = canvas.getContext('2d');
1587
+ context.drawImage(image, 0, 0, targetWidth, targetHeight);
1588
+ context.canvas.toBlob(newImageBlob => {
1589
+ const compressedFile = new File([newImageBlob], file.name, {
1590
+ type: file.type
1591
+ });
1592
+ if (createCustomParams) {
1593
+ logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1594
+ }
1595
+ const params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
1596
+ logger.info('Channel: Uploading file message start!', params);
1597
+ currentGroupChannel.sendFileMessage(params).onPending(pendingMessage => {
1598
+ pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1599
+ /* pubSub is used instead of messagesDispatcher
1600
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1601
+ message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
1602
+ url: URL.createObjectURL(compressedFile),
1603
+ // pending thumbnail message seems to be failed
1604
+ requestState: 'pending'
1605
+ }),
1606
+ channel: currentGroupChannel
1607
+ });
1608
+ setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
1609
+ }).onFailed((err, failedMessage) => {
1610
+ logger.error('Channel: Sending file message failed!', {
1611
+ failedMessage,
1612
+ err
1613
+ });
1614
+ // eslint-disable-next-line no-param-reassign
1615
+ failedMessage.localUrl = URL.createObjectURL(compressedFile);
1616
+ // eslint-disable-next-line no-param-reassign
1617
+ failedMessage.file = compressedFile;
1618
+ messagesDispatcher({
1619
+ type: SEND_MESSAGEGE_FAILURE,
1620
+ payload: failedMessage
1621
+ });
1622
+ }).onSucceeded(succeededMessage => {
1623
+ logger.info('Channel: Sending file message success!', succeededMessage);
1624
+ messagesDispatcher({
1625
+ type: SEND_MESSAGEGE_SUCESS,
1626
+ payload: succeededMessage
1627
+ });
1628
+ });
1629
+ }, file.type, compressionRate);
1630
+ };
1631
+ } catch (error) {
1632
+ logger.error('Channel: Sending file message failed!', error);
1633
+ }
1634
+ } else {
1635
+ // Not using image compression
1636
+ if (createCustomParams) {
1637
+ logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1638
+ }
1639
+ const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
1640
+ logger.info('Channel: Uploading file message start!', params);
1641
+ currentGroupChannel.sendFileMessage(params).onPending(pendingMsg => {
1642
+ pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1643
+ /* pubSub is used instead of messagesDispatcher
1644
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1645
+ message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
1646
+ url: URL.createObjectURL(file),
1647
+ // pending thumbnail message seems to be failed
1648
+ requestState: 'pending'
1649
+ }),
1650
+ channel: currentGroupChannel
1651
+ });
1652
+ setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
1653
+ }).onFailed((error, message) => {
1654
+ logger.error('Channel: Sending file message failed!', {
1655
+ message,
1656
+ error
1657
+ });
1658
+ // eslint-disable-next-line no-param-reassign
1659
+ message.localUrl = URL.createObjectURL(file);
1660
+ // eslint-disable-next-line no-param-reassign
1661
+ message.file = file;
1662
+ messagesDispatcher({
1663
+ type: SEND_MESSAGEGE_FAILURE,
1664
+ payload: message
1665
+ });
1666
+ }).onSucceeded(message => {
1667
+ logger.info('Channel: Sending message success!', message);
1668
+ messagesDispatcher({
1669
+ type: SEND_MESSAGEGE_SUCESS,
1670
+ payload: message
1671
+ });
1672
+ });
1673
+ }
1674
+ }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);
1675
+ return [sendMessage];
1676
+ }
1677
+
1678
+ function useToggleReactionCallback(_ref, _ref2) {
1679
+ let {
1680
+ currentGroupChannel
1681
+ } = _ref;
1682
+ let {
1683
+ logger
1684
+ } = _ref2;
1685
+ return React.useCallback((message, key, isReacted) => {
1686
+ if (isReacted) {
1687
+ currentGroupChannel.deleteReaction(message, key).then(res => {
1688
+ logger.info('Delete reaction success', res);
1689
+ }).catch(err => {
1690
+ logger.warning('Delete reaction failed', err);
1691
+ });
1692
+ return;
1693
+ }
1694
+ currentGroupChannel.addReaction(message, key).then(res => {
1695
+ logger.info('Add reaction success', res);
1696
+ }).catch(err => {
1697
+ logger.warning('Add reaction failed', err);
1698
+ });
1699
+ }, [currentGroupChannel]);
1700
+ }
1701
+
1702
+ // To prevent multiple clicks on the message in the channel while scrolling
1703
+ function deactivateClick(scrollRef) {
1704
+ const element = scrollRef.current;
1705
+ const parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1706
+ if (element && parentNode) {
1707
+ element.style.pointerEvents = 'none';
1708
+ parentNode.style.cursor = 'wait';
1709
+ }
1710
+ }
1711
+ function activateClick(scrollRef) {
1712
+ const element = scrollRef.current;
1713
+ const parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1714
+ if (element && parentNode) {
1715
+ element.style.pointerEvents = 'auto';
1716
+ parentNode.style.cursor = 'auto';
1717
+ }
1718
+ }
1719
+ function useScrollToMessage(_ref, _ref2) {
1720
+ let {
1721
+ setInitialTimeStamp,
1722
+ setAnimatedMessageId,
1723
+ allMessages,
1724
+ scrollRef
1725
+ } = _ref;
1726
+ let {
1727
+ logger
1728
+ } = _ref2;
1729
+ return React.useCallback((createdAt, messageId) => {
1730
+ const isPresent = allMessages.find(m => m.messageId === messageId);
1731
+ setAnimatedMessageId(null);
1732
+ setTimeout(() => {
1733
+ try {
1734
+ logger.info('Channel: scroll to message - disabling mouse events');
1735
+ deactivateClick(scrollRef);
1736
+ if (isPresent) {
1737
+ logger.info('Channel: scroll to message - message is present');
1738
+ setAnimatedMessageId(messageId);
1739
+ scrollToRenderedMessage(scrollRef, createdAt);
1740
+ } else {
1741
+ logger.info('Channel: scroll to message - fetching older messages');
1742
+ setInitialTimeStamp(null);
1743
+ setInitialTimeStamp(createdAt);
1744
+ setAnimatedMessageId(messageId);
1745
+ }
1746
+ } finally {
1747
+ logger.info('Channel: scroll to message - enabled mouse events');
1748
+ activateClick(scrollRef);
1749
+ }
1750
+ });
1751
+ }, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
1752
+ }
1753
+
1754
+ const useSendVoiceMessageCallback = (_ref, _ref2) => {
1755
+ let {
1756
+ currentGroupChannel,
1757
+ onBeforeSendVoiceMessage
1758
+ } = _ref;
1759
+ let {
1760
+ logger,
1761
+ pubSub,
1762
+ scrollRef,
1763
+ messagesDispatcher
1764
+ } = _ref2;
1765
+ const sendMessage = React.useCallback((file, duration, quoteMessage) => {
1766
+ const messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1767
+ file,
1768
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
1769
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1770
+ metaArrays: [new message.MessageMetaArray({
1771
+ key: consts.META_ARRAY_VOICE_DURATION_KEY,
1772
+ value: [`${duration}`]
1773
+ }), new message.MessageMetaArray({
1774
+ key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1775
+ value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
1776
+ })]
1777
+ };
1778
+ if (quoteMessage) {
1779
+ messageParams.isReplyToChannel = true;
1780
+ messageParams.parentMessageId = quoteMessage.messageId;
1781
+ }
1782
+ logger.info('Channel: Start sending voice message', messageParams);
1783
+ currentGroupChannel.sendFileMessage(messageParams).onPending(pendingMessage => {
1784
+ pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1785
+ /* pubSub is used instead of messagesDispatcher
1786
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1787
+ message: pendingMessage,
1788
+ channel: currentGroupChannel
1789
+ });
1790
+ setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
1791
+ }).onFailed((err, failedMessage) => {
1792
+ logger.error('Channel: Sending voice message failed!', {
1793
+ failedMessage,
1794
+ err
1795
+ });
1796
+ messagesDispatcher({
1797
+ type: SEND_MESSAGEGE_FAILURE,
1798
+ payload: failedMessage
1799
+ });
1800
+ }).onSucceeded(succeededMessage => {
1801
+ logger.info('Channel: Sending voice message success!', succeededMessage);
1802
+ messagesDispatcher({
1803
+ type: SEND_MESSAGEGE_SUCESS,
1804
+ payload: succeededMessage
1805
+ });
1806
+ });
1807
+ }, [currentGroupChannel, onBeforeSendVoiceMessage]);
1808
+ return [sendMessage];
1809
+ };
1810
+
1811
+ const ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
1812
+ const ChannelProvider = props => {
1813
+ var _globalStore$stores, _globalStore$stores$s, _globalStore$stores2, _globalStore$stores2$, _ref, _props$disableUserPro;
1814
+ const {
1815
+ channelUrl,
1816
+ children,
1817
+ isReactionEnabled,
1818
+ isMessageGroupingEnabled = true,
1819
+ showSearchIcon,
1820
+ animatedMessage,
1821
+ highlightedMessage,
1822
+ startingPoint,
1823
+ onBeforeSendUserMessage,
1824
+ onBeforeSendFileMessage,
1825
+ onBeforeUpdateUserMessage,
1826
+ onBeforeSendVoiceMessage,
1827
+ onChatHeaderActionClick,
1828
+ onSearchClick,
1829
+ onBackClick,
1830
+ replyType: channelReplyType,
1831
+ threadReplySelectType,
1832
+ queries,
1833
+ filterMessageList,
1834
+ disableMarkAsRead = false,
1835
+ onReplyInThread,
1836
+ onQuoteMessageClick,
1837
+ onMessageAnimated,
1838
+ onMessageHighlighted,
1839
+ scrollBehavior = 'auto'
1840
+ } = props;
1841
+ const globalStore = useSendbirdStateContext();
1842
+ const {
1843
+ config
1844
+ } = globalStore;
1845
+ const replyType = channelReplyType !== null && channelReplyType !== void 0 ? channelReplyType : config.replyType;
1846
+ const {
1847
+ pubSub,
1848
+ logger,
1849
+ userId,
1850
+ isOnline,
1851
+ imageCompression,
1852
+ isMentionEnabled,
1853
+ isVoiceMessageEnabled,
1854
+ onUserProfileMessage,
1855
+ markAsReadScheduler,
1856
+ groupChannel
1857
+ } = config;
1858
+ const sdk = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$stores = globalStore.stores) === null || _globalStore$stores === void 0 ? void 0 : (_globalStore$stores$s = _globalStore$stores.sdkStore) === null || _globalStore$stores$s === void 0 ? void 0 : _globalStore$stores$s.sdk;
1859
+ const sdkInit = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$stores2 = globalStore.stores) === null || _globalStore$stores2 === void 0 ? void 0 : (_globalStore$stores2$ = _globalStore$stores2.sdkStore) === null || _globalStore$stores2$ === void 0 ? void 0 : _globalStore$stores2$.initialized;
1860
+ const globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1861
+ const [initialTimeStamp, setInitialTimeStamp] = React.useState(startingPoint);
1862
+ React.useEffect(() => {
1863
+ setInitialTimeStamp(startingPoint);
1864
+ }, [startingPoint, channelUrl]);
1865
+ const [animatedMessageId, setAnimatedMessageId] = React.useState(0);
1866
+ const [highLightedMessageId, setHighLightedMessageId] = React.useState(highlightedMessage);
1867
+ React.useEffect(() => {
1868
+ setHighLightedMessageId(highlightedMessage);
1869
+ }, [highlightedMessage]);
1870
+ const userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1871
+ const [quoteMessage, setQuoteMessage] = React.useState(null);
1872
+ const [messagesStore, messagesDispatcher] = React.useReducer(reducer, messagesInitialState);
1873
+ const scrollRef = React.useRef(null);
1874
+ const {
1875
+ allMessages,
1876
+ loading,
1877
+ initialized,
1878
+ unreadSince,
1879
+ isInvalid,
1880
+ currentGroupChannel,
1881
+ hasMorePrev,
1882
+ oldestMessageTimeStamp,
1883
+ hasMoreNext,
1884
+ latestMessageTimeStamp,
1885
+ emojiContainer,
1886
+ readStatus
1887
+ } = messagesStore;
1888
+ const isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
1889
+ const isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
1890
+ const usingReaction = getIsReactionEnabled({
1891
+ isBroadcast,
1892
+ isSuper,
1893
+ globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
1894
+ moduleLevel: isReactionEnabled
1895
+ });
1896
+ const emojiAllMap = React.useMemo(() => usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map(), [emojiContainer]);
1897
+ const nicknamesMap = React.useMemo(() => usingReaction && currentGroupChannel ? getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) : new Map(), [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]);
1898
+
1899
+ // Animate message
1900
+ React.useEffect(() => {
1901
+ if (animatedMessage) {
1902
+ setAnimatedMessageId(animatedMessage);
1903
+ }
1904
+ }, [animatedMessage]);
1905
+
1906
+ // Scrollup is default scroll for channel
1907
+ const onScrollCallback = useScrollCallback({
1908
+ currentGroupChannel,
1909
+ oldestMessageTimeStamp,
1910
+ userFilledMessageListQuery,
1911
+ replyType,
1912
+ isVoiceMessageEnabled
1913
+ }, {
1914
+ hasMorePrev,
1915
+ logger,
1916
+ messagesDispatcher,
1917
+ sdk
1918
+ });
1919
+ const scrollToMessage = useScrollToMessage({
1920
+ setInitialTimeStamp,
1921
+ setAnimatedMessageId,
1922
+ allMessages,
1923
+ scrollRef
1924
+ }, {
1925
+ logger
1926
+ });
1927
+
1928
+ // onScrollDownCallback is added for navigation to different timestamps on messageSearch
1929
+ // hasMorePrev, onScrollCallback -> scroll up(default behavior)
1930
+ // hasMoreNext, onScrollDownCallback -> scroll down
1931
+ const onScrollDownCallback = useScrollDownCallback({
1932
+ currentGroupChannel,
1933
+ latestMessageTimeStamp,
1934
+ userFilledMessageListQuery,
1935
+ hasMoreNext,
1936
+ replyType,
1937
+ isVoiceMessageEnabled
1938
+ }, {
1939
+ logger,
1940
+ messagesDispatcher,
1941
+ sdk
1942
+ });
1943
+ const toggleReaction = useToggleReactionCallback({
1944
+ currentGroupChannel
1945
+ }, {
1946
+ logger
1947
+ });
1948
+
1949
+ // to create message-datasource
1950
+ // this hook sets currentGroupChannel asynchronously
1951
+ useSetChannel({
1952
+ channelUrl,
1953
+ sdkInit,
1954
+ disableMarkAsRead
1955
+ }, {
1956
+ messagesDispatcher,
1957
+ sdk,
1958
+ logger,
1959
+ markAsReadScheduler
1960
+ });
1961
+
1962
+ // to set quote message as null
1963
+ React.useEffect(() => {
1964
+ setQuoteMessage(null);
1965
+ }, [channelUrl]);
1966
+
1967
+ // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
1968
+ useHandleChannelEvents({
1969
+ currentGroupChannel,
1970
+ sdkInit,
1971
+ currentUserId: userId,
1972
+ disableMarkAsRead
1973
+ }, {
1974
+ messagesDispatcher,
1975
+ sdk,
1976
+ logger,
1977
+ scrollRef,
1978
+ setQuoteMessage
1979
+ });
1980
+
1981
+ // hook that fetches messages when channel changes
1982
+ // to be clear here useGetChannel sets currentGroupChannel
1983
+ // and useInitialMessagesFetch executes when currentGroupChannel changes
1984
+ // p.s This one executes on initialTimeStamp change too
1985
+ useInitialMessagesFetch({
1986
+ currentGroupChannel,
1987
+ userFilledMessageListQuery,
1988
+ initialTimeStamp,
1989
+ latestMessageTimeStamp,
1990
+ replyType,
1991
+ isVoiceMessageEnabled
1992
+ }, {
1993
+ logger,
1994
+ scrollRef,
1995
+ messagesDispatcher
1996
+ });
1997
+
1998
+ // handles API calls from withSendbird
1999
+ React.useEffect(() => {
2000
+ const subscriber = pubSubHandler({
2001
+ channelUrl,
2002
+ pubSub,
2003
+ dispatcher: messagesDispatcher,
2004
+ scrollRef
2005
+ });
2006
+ return () => {
2007
+ pubSubHandleRemover(subscriber);
2008
+ };
2009
+ }, [channelUrl, sdkInit]);
2010
+
2011
+ // handling connection breaks
2012
+ useHandleReconnect({
2013
+ isOnline,
2014
+ replyType,
2015
+ disableMarkAsRead
2016
+ }, {
2017
+ logger,
2018
+ sdk,
2019
+ scrollRef,
2020
+ currentGroupChannel,
2021
+ messagesDispatcher,
2022
+ userFilledMessageListQuery,
2023
+ markAsReadScheduler
2024
+ });
2025
+
2026
+ // callbacks for Message CURD actions
2027
+ const deleteMessage = useDeleteMessageCallback({
2028
+ currentGroupChannel,
2029
+ messagesDispatcher
2030
+ }, {
2031
+ logger
2032
+ });
2033
+ const updateMessage = useUpdateMessageCallback({
2034
+ currentGroupChannel,
2035
+ messagesDispatcher,
2036
+ onBeforeUpdateUserMessage,
2037
+ isMentionEnabled
2038
+ }, {
2039
+ logger,
2040
+ pubSub
2041
+ });
2042
+ const resendMessage = useResendMessageCallback({
2043
+ currentGroupChannel,
2044
+ messagesDispatcher
2045
+ }, {
2046
+ logger
2047
+ });
2048
+ const [messageInputRef, sendMessage] = useSendMessageCallback({
2049
+ currentGroupChannel,
2050
+ onBeforeSendUserMessage,
2051
+ isMentionEnabled
2052
+ }, {
2053
+ logger,
2054
+ pubSub,
2055
+ scrollRef,
2056
+ messagesDispatcher
2057
+ });
2058
+ const [sendFileMessage] = useSendFileMessageCallback({
2059
+ currentGroupChannel,
2060
+ onBeforeSendFileMessage,
2061
+ imageCompression
2062
+ }, {
2063
+ logger,
2064
+ pubSub,
2065
+ scrollRef,
2066
+ messagesDispatcher
2067
+ });
2068
+ const [sendVoiceMessage] = useSendVoiceMessageCallback({
2069
+ currentGroupChannel,
2070
+ onBeforeSendVoiceMessage
2071
+ }, {
2072
+ logger,
2073
+ pubSub,
2074
+ scrollRef,
2075
+ messagesDispatcher
2076
+ });
2077
+ return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
2078
+ value: {
2079
+ // props
2080
+ channelUrl,
2081
+ isReactionEnabled: usingReaction,
2082
+ isMessageGroupingEnabled,
2083
+ showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
2084
+ highlightedMessage,
2085
+ startingPoint,
2086
+ onBeforeSendUserMessage,
2087
+ onBeforeSendFileMessage,
2088
+ onBeforeUpdateUserMessage,
2089
+ onChatHeaderActionClick,
2090
+ onSearchClick,
2091
+ onBackClick,
2092
+ replyType,
2093
+ threadReplySelectType: (_ref = threadReplySelectType !== null && threadReplySelectType !== void 0 ? threadReplySelectType : resolvedReplyType.getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase) !== null && _ref !== void 0 ? _ref : _const.ThreadReplySelectType.THREAD,
2094
+ queries,
2095
+ filterMessageList,
2096
+ disableMarkAsRead,
2097
+ onReplyInThread,
2098
+ onQuoteMessageClick,
2099
+ onMessageAnimated,
2100
+ onMessageHighlighted,
2101
+ // messagesStore
2102
+ allMessages,
2103
+ loading,
2104
+ initialized,
2105
+ unreadSince,
2106
+ isInvalid,
2107
+ currentGroupChannel,
2108
+ hasMorePrev,
2109
+ hasMoreNext,
2110
+ oldestMessageTimeStamp,
2111
+ latestMessageTimeStamp,
2112
+ emojiContainer,
2113
+ readStatus,
2114
+ // utils
2115
+ scrollToMessage,
2116
+ quoteMessage,
2117
+ setQuoteMessage,
2118
+ deleteMessage,
2119
+ updateMessage,
2120
+ resendMessage,
2121
+ messageInputRef,
2122
+ sendMessage,
2123
+ sendFileMessage,
2124
+ sendVoiceMessage,
2125
+ initialTimeStamp,
2126
+ messageActionTypes,
2127
+ messagesDispatcher,
2128
+ setInitialTimeStamp,
2129
+ setAnimatedMessageId,
2130
+ setHighLightedMessageId,
2131
+ animatedMessageId,
2132
+ highLightedMessageId,
2133
+ nicknamesMap,
2134
+ emojiAllMap,
2135
+ onScrollCallback,
2136
+ onScrollDownCallback,
2137
+ scrollRef,
2138
+ scrollBehavior,
2139
+ toggleReaction
2140
+ }
2141
+ }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
2142
+ disableUserProfile: (_props$disableUserPro = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _props$disableUserPro !== void 0 ? _props$disableUserPro : config === null || config === void 0 ? void 0 : config.disableUserProfile,
2143
+ renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
2144
+ onUserProfileMessage: onUserProfileMessage
2145
+ }, children));
2146
+ };
2147
+ const useChannelContext = () => React__default["default"].useContext(ChannelContext);
2148
+
2149
+ exports.ChannelProvider = ChannelProvider;
2150
+ exports.compareMessagesForGrouping = compareMessagesForGrouping;
2151
+ exports.getIsReactionEnabled = getIsReactionEnabled;
2152
+ exports.isAboutSame = isAboutSame;
2153
+ exports.isDisabledBecauseFrozen = isDisabledBecauseFrozen;
2154
+ exports.isDisabledBecauseMuted = isDisabledBecauseMuted;
2155
+ exports.isOperator = isOperator;
2156
+ exports.useChannelContext = useChannelContext;
2157
+ //# sourceMappingURL=ChannelProvider-a05d259f.js.map