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