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