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

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