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

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