@sendbird/uikit-react 3.18.2 → 3.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (987) hide show
  1. package/App.js +94 -93
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +17 -0
  4. package/Channel/components/ChannelHeader.js +33 -33
  5. package/Channel/components/ChannelUI.js +73 -72
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +31 -31
  8. package/Channel/components/FrozenNotification.js +6 -6
  9. package/Channel/components/Message.js +60 -59
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +48 -48
  12. package/Channel/components/MessageInputWrapper.js +48 -48
  13. package/Channel/components/MessageList.js +64 -63
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +30 -30
  16. package/Channel/components/SuggestedMentionList.js +30 -30
  17. package/Channel/components/TypingIndicator.js +9 -9
  18. package/Channel/components/UnreadCount.js +8 -8
  19. package/Channel/context.js +121 -24
  20. package/Channel/context.js.map +1 -1
  21. package/Channel/hooks/useHandleUploadFiles.js +19 -19
  22. package/Channel/hooks/useInitialMessagesFetch.js +8 -8
  23. package/Channel/utils/compareMessagesForGrouping.js +16 -9
  24. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  25. package/Channel/utils/getMessagePartsInfo.js +9 -9
  26. package/Channel.js +73 -72
  27. package/Channel.js.map +1 -1
  28. package/ChannelList/components/AddChannel.js +94 -93
  29. package/ChannelList/components/AddChannel.js.map +1 -1
  30. package/ChannelList/components/ChannelListHeader.js +13 -13
  31. package/ChannelList/components/ChannelListUI.js +94 -93
  32. package/ChannelList/components/ChannelListUI.js.map +1 -1
  33. package/ChannelList/components/ChannelPreview.js +32 -32
  34. package/ChannelList/components/ChannelPreviewAction.js +17 -17
  35. package/ChannelList/context.js +14 -14
  36. package/ChannelList.js +94 -93
  37. package/ChannelList.js.map +1 -1
  38. package/ChannelSettings/components/ChannelProfile.js +23 -23
  39. package/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  40. package/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  41. package/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  42. package/ChannelSettings/components/ChannelSettingsUI.js +31 -31
  43. package/ChannelSettings/components/EditDetailsModal.js +19 -19
  44. package/ChannelSettings/components/LeaveChannel.js +20 -20
  45. package/ChannelSettings/components/ModerationPanel.js +29 -29
  46. package/ChannelSettings/components/UserListItem.js +19 -19
  47. package/ChannelSettings/components/UserPanel.js +28 -28
  48. package/ChannelSettings/context.js +9 -9
  49. package/ChannelSettings/hooks/useMenuList.js +29 -29
  50. package/ChannelSettings.js +31 -31
  51. package/CreateChannel/components/CreateChannelUI.js +94 -93
  52. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  53. package/CreateChannel/components/InviteUsers.js +94 -93
  54. package/CreateChannel/components/InviteUsers.js.map +1 -1
  55. package/CreateChannel/components/SelectChannelType.js +94 -93
  56. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  57. package/CreateChannel/context.js +94 -93
  58. package/CreateChannel/context.js.map +1 -1
  59. package/CreateChannel.js +94 -93
  60. package/CreateChannel.js.map +1 -1
  61. package/CreateOpenChannel/components/CreateOpenChannelUI.js +15 -15
  62. package/CreateOpenChannel/context.js +4 -4
  63. package/CreateOpenChannel.js +15 -15
  64. package/EditUserProfile/components/EditUserProfileUI.js +15 -15
  65. package/EditUserProfile/context.js +1 -1
  66. package/EditUserProfile.js +15 -15
  67. package/GroupChannel/components/FileViewer.js +28 -28
  68. package/GroupChannel/components/FrozenNotification.js +6 -6
  69. package/GroupChannel/components/GroupChannelHeader.js +29 -29
  70. package/GroupChannel/components/GroupChannelUI.js +68 -67
  71. package/GroupChannel/components/GroupChannelUI.js.map +1 -1
  72. package/GroupChannel/components/Message.js +57 -56
  73. package/GroupChannel/components/Message.js.map +1 -1
  74. package/GroupChannel/components/MessageInputWrapper.js +45 -45
  75. package/GroupChannel/components/MessageList.js +59 -58
  76. package/GroupChannel/components/MessageList.js.map +1 -1
  77. package/GroupChannel/components/RemoveMessageModal.js +27 -27
  78. package/GroupChannel/components/SuggestedMentionList.js +15 -15
  79. package/GroupChannel/components/TypingIndicator.js +14 -16
  80. package/GroupChannel/components/TypingIndicator.js.map +1 -1
  81. package/GroupChannel/components/UnreadCount.js +8 -8
  82. package/GroupChannel/context.js +15 -15
  83. package/GroupChannel.js +68 -67
  84. package/GroupChannel.js.map +1 -1
  85. package/GroupChannelList/components/AddGroupChannel.js +94 -93
  86. package/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  87. package/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  88. package/GroupChannelList/components/GroupChannelListItem.js +33 -32
  89. package/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  90. package/GroupChannelList/components/GroupChannelListUI.js +94 -93
  91. package/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  92. package/GroupChannelList/components/GroupChannelPreviewAction.js +17 -17
  93. package/GroupChannelList/context.js +11 -10
  94. package/GroupChannelList/context.js.map +1 -1
  95. package/GroupChannelList.js +94 -93
  96. package/GroupChannelList.js.map +1 -1
  97. package/MessageSearch/components/MessageSearchUI.js +20 -20
  98. package/MessageSearch/context.js +6 -6
  99. package/MessageSearch.js +22 -22
  100. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  101. package/OpenChannel/components/OpenChannelHeader.js +20 -20
  102. package/OpenChannel/components/OpenChannelInput.js +32 -32
  103. package/OpenChannel/components/OpenChannelMessage.js +40 -40
  104. package/OpenChannel/components/OpenChannelMessageList.js +44 -44
  105. package/OpenChannel/components/OpenChannelUI.js +46 -46
  106. package/OpenChannel/context.js +19 -19
  107. package/OpenChannel.js +46 -46
  108. package/OpenChannelList/components/OpenChannelListUI.js +17 -17
  109. package/OpenChannelList/components/OpenChannelPreview.js +6 -6
  110. package/OpenChannelList/context.js +7 -7
  111. package/OpenChannelList.js +17 -17
  112. package/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  113. package/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  114. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  115. package/OpenChannelSettings/components/OperatorUI.js +24 -24
  116. package/OpenChannelSettings/components/ParticipantUI.js +22 -22
  117. package/OpenChannelSettings/context.js +6 -6
  118. package/OpenChannelSettings.js +24 -24
  119. package/README.md +1 -1
  120. package/SendbirdProvider.js +24 -28
  121. package/SendbirdProvider.js.map +1 -1
  122. package/Thread/components/ParentMessageInfo.js +50 -51
  123. package/Thread/components/ParentMessageInfo.js.map +1 -1
  124. package/Thread/components/ParentMessageInfoItem.js +33 -34
  125. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  126. package/Thread/components/ThreadHeader.js +8 -8
  127. package/Thread/components/ThreadList.js +57 -58
  128. package/Thread/components/ThreadList.js.map +1 -1
  129. package/Thread/components/ThreadListItem.js +63 -59
  130. package/Thread/components/ThreadListItem.js.map +1 -1
  131. package/Thread/components/ThreadMessageInput.js +50 -50
  132. package/Thread/components/ThreadUI.js +75 -69
  133. package/Thread/components/ThreadUI.js.map +1 -1
  134. package/Thread/context.js +15 -15
  135. package/Thread.js +67 -67
  136. package/VoicePlayer/context.js +6 -6
  137. package/VoicePlayer/useVoicePlayer.js +14 -14
  138. package/VoiceRecorder/context.js +41 -17
  139. package/VoiceRecorder/context.js.map +1 -1
  140. package/VoiceRecorder/useVoiceRecorder.js +26 -13
  141. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  142. package/chunks/{bundle-CWK573D_.js → bundle--nk36S23.js} +1 -1
  143. package/chunks/{bundle-CWK573D_.js.map → bundle--nk36S23.js.map} +1 -1
  144. package/chunks/{bundle-CKOB3k4C.js → bundle-1Zwd3o84.js} +2 -2
  145. package/chunks/bundle-1Zwd3o84.js.map +1 -0
  146. package/chunks/{bundle-CKnHa5lI.js → bundle-4RpoQfSz.js} +4 -4
  147. package/chunks/{bundle-CKnHa5lI.js.map → bundle-4RpoQfSz.js.map} +1 -1
  148. package/chunks/{bundle-B1MzteF7.js → bundle-4nTo_fA4.js} +7 -7
  149. package/chunks/{bundle-B1MzteF7.js.map → bundle-4nTo_fA4.js.map} +1 -1
  150. package/chunks/{bundle-DjxMF4SO.js → bundle-5TPniY9G.js} +66 -40
  151. package/{cjs/chunks/bundle-D9pdhHtd.js.map → chunks/bundle-5TPniY9G.js.map} +1 -1
  152. package/chunks/{bundle-DuVxviJm.js → bundle-88-qJ8Vl.js} +5 -5
  153. package/chunks/{bundle-DuVxviJm.js.map → bundle-88-qJ8Vl.js.map} +1 -1
  154. package/chunks/{bundle-C7zpVp8B.js → bundle-AgXwAoAz.js} +2 -2
  155. package/chunks/bundle-AgXwAoAz.js.map +1 -0
  156. package/chunks/{bundle-Catt3DOq.js → bundle-B0Cn4uec.js} +2 -2
  157. package/chunks/bundle-B0Cn4uec.js.map +1 -0
  158. package/chunks/{bundle-eJBXS66x.js → bundle-B7DIo5VK.js} +5 -5
  159. package/chunks/{bundle-eJBXS66x.js.map → bundle-B7DIo5VK.js.map} +1 -1
  160. package/chunks/{bundle-Dlrlq2x-.js → bundle-B7IreTEs.js} +19 -15
  161. package/chunks/bundle-B7IreTEs.js.map +1 -0
  162. package/chunks/{bundle-BO0EclF6.js → bundle-B9uYy5ho.js} +5 -5
  163. package/chunks/{bundle-BO0EclF6.js.map → bundle-B9uYy5ho.js.map} +1 -1
  164. package/chunks/{bundle-BzkQl9_c.js → bundle-BEJzu87W.js} +1 -1
  165. package/chunks/bundle-BEJzu87W.js.map +1 -0
  166. package/chunks/{bundle-WoqbxR1C.js → bundle-BJ5VbsR3.js} +1 -1
  167. package/chunks/bundle-BJ5VbsR3.js.map +1 -0
  168. package/chunks/{bundle-CvG5ugqV.js → bundle-BJVFYe-E.js} +5 -5
  169. package/chunks/bundle-BJVFYe-E.js.map +1 -0
  170. package/chunks/{bundle-B7Xoqeu3.js → bundle-BKG92dEV.js} +1 -1
  171. package/chunks/{bundle-B7Xoqeu3.js.map → bundle-BKG92dEV.js.map} +1 -1
  172. package/chunks/{bundle-CSp3MfXH.js → bundle-BKaQP3JD.js} +1 -1
  173. package/chunks/bundle-BKaQP3JD.js.map +1 -0
  174. package/chunks/{bundle-BOyovRdq.js → bundle-BMDCtK3D.js} +6 -6
  175. package/chunks/bundle-BMDCtK3D.js.map +1 -0
  176. package/chunks/{bundle-DU9VwniI.js → bundle-BMndPUL3.js} +13 -13
  177. package/chunks/{bundle-DU9VwniI.js.map → bundle-BMndPUL3.js.map} +1 -1
  178. package/chunks/{bundle-DFOHBqdn.js → bundle-BNP3q1UD.js} +2 -2
  179. package/chunks/bundle-BNP3q1UD.js.map +1 -0
  180. package/chunks/{bundle-BCJmEZad.js → bundle-BOLGCL_I.js} +1 -1
  181. package/chunks/bundle-BOLGCL_I.js.map +1 -0
  182. package/chunks/{bundle-Yc6rqkIa.js → bundle-BRxLhCAL.js} +35 -35
  183. package/chunks/{bundle-Yc6rqkIa.js.map → bundle-BRxLhCAL.js.map} +1 -1
  184. package/chunks/{bundle-CRqQna6R.js → bundle-BZ5TauUt.js} +1 -1
  185. package/chunks/bundle-BZ5TauUt.js.map +1 -0
  186. package/chunks/{bundle-CTCJu7wR.js → bundle-BeMq01Rd.js} +1 -1
  187. package/chunks/bundle-BeMq01Rd.js.map +1 -0
  188. package/chunks/{bundle-DmaQd9Ns.js → bundle-BfSYns3Q.js} +3 -3
  189. package/chunks/bundle-BfSYns3Q.js.map +1 -0
  190. package/chunks/{bundle-DcPG3LB4.js → bundle-BjSUuAgA.js} +1 -1
  191. package/chunks/bundle-BjSUuAgA.js.map +1 -0
  192. package/chunks/{bundle-DBr655-9.js → bundle-BjXb7ZAk.js} +6 -6
  193. package/chunks/{bundle-DBr655-9.js.map → bundle-BjXb7ZAk.js.map} +1 -1
  194. package/chunks/{bundle-Bz7LOu2F.js → bundle-Bjaym1AB.js} +12 -12
  195. package/chunks/{bundle-Bz7LOu2F.js.map → bundle-Bjaym1AB.js.map} +1 -1
  196. package/chunks/{bundle-DzKO2mDE.js → bundle-BlaB8_Vx.js} +8 -8
  197. package/chunks/bundle-BlaB8_Vx.js.map +1 -0
  198. package/chunks/{bundle-DKPH4xnU.js → bundle-BmISyckr.js} +9 -9
  199. package/chunks/{bundle-DKPH4xnU.js.map → bundle-BmISyckr.js.map} +1 -1
  200. package/chunks/{bundle-8BILaIRo.js → bundle-Bn-_6R-R.js} +2 -2
  201. package/chunks/{bundle-8BILaIRo.js.map → bundle-Bn-_6R-R.js.map} +1 -1
  202. package/chunks/{bundle-C0x0DNUg.js → bundle-BnrDTYda.js} +1 -1
  203. package/chunks/bundle-BnrDTYda.js.map +1 -0
  204. package/chunks/{bundle-CLU6VhwF.js → bundle-BoW1x0xK.js} +4 -4
  205. package/chunks/bundle-BoW1x0xK.js.map +1 -0
  206. package/chunks/{bundle-RXhdHhWF.js → bundle-BueevgB9.js} +3 -3
  207. package/chunks/bundle-BueevgB9.js.map +1 -0
  208. package/chunks/{bundle-DNHc7qpw.js → bundle-BvCZ-Lsf.js} +2 -2
  209. package/chunks/bundle-BvCZ-Lsf.js.map +1 -0
  210. package/chunks/{bundle-D0LXB-ff.js → bundle-BxZm94Rg.js} +8 -8
  211. package/chunks/{bundle-D0LXB-ff.js.map → bundle-BxZm94Rg.js.map} +1 -1
  212. package/chunks/{bundle-DSUI53uV.js → bundle-C-R7XPOv.js} +3 -3
  213. package/chunks/bundle-C-R7XPOv.js.map +1 -0
  214. package/chunks/{bundle-Cb1UbfnA.js → bundle-C4-sXsFT.js} +1 -1
  215. package/chunks/bundle-C4-sXsFT.js.map +1 -0
  216. package/chunks/{bundle-DoSb_bnJ.js → bundle-CAFho4u9.js} +1 -1
  217. package/chunks/bundle-CAFho4u9.js.map +1 -0
  218. package/chunks/{bundle-JtczYTYc.js → bundle-CFpCTm-F.js} +3 -3
  219. package/chunks/bundle-CFpCTm-F.js.map +1 -0
  220. package/chunks/{bundle-B2mcCyCZ.js → bundle-CIzqLvcR.js} +5 -5
  221. package/chunks/{bundle-B2mcCyCZ.js.map → bundle-CIzqLvcR.js.map} +1 -1
  222. package/chunks/{bundle-eJ8wgv1e.js → bundle-CMUThJxY.js} +1 -1
  223. package/chunks/bundle-CMUThJxY.js.map +1 -0
  224. package/chunks/{bundle-Dk_0BBqv.js → bundle-CMnb1T14.js} +5 -5
  225. package/chunks/bundle-CMnb1T14.js.map +1 -0
  226. package/chunks/{bundle-bquVqMLQ.js → bundle-CS64fT1b.js} +1 -1
  227. package/chunks/bundle-CS64fT1b.js.map +1 -0
  228. package/chunks/{bundle-9oyH3y1N.js → bundle-CTllB15B.js} +1 -1
  229. package/chunks/bundle-CTllB15B.js.map +1 -0
  230. package/chunks/{bundle-BwXRAKeA.js → bundle-CVABDy_Y.js} +4 -4
  231. package/chunks/{bundle-BwXRAKeA.js.map → bundle-CVABDy_Y.js.map} +1 -1
  232. package/chunks/{bundle-CpaJIN2S.js → bundle-C_b0cyNh.js} +1 -1
  233. package/chunks/{bundle-CpaJIN2S.js.map → bundle-C_b0cyNh.js.map} +1 -1
  234. package/chunks/{bundle-lLdqu94L.js → bundle-CbAyaMyR.js} +2 -2
  235. package/chunks/{bundle-lLdqu94L.js.map → bundle-CbAyaMyR.js.map} +1 -1
  236. package/chunks/{bundle-CeKXU26q.js → bundle-Cc301qJ-.js} +7 -7
  237. package/{cjs/chunks/bundle-s1_WyKtv.js.map → chunks/bundle-Cc301qJ-.js.map} +1 -1
  238. package/chunks/{bundle-By3m4WnO.js → bundle-Cf8FDy8a.js} +1 -1
  239. package/chunks/{bundle-By3m4WnO.js.map → bundle-Cf8FDy8a.js.map} +1 -1
  240. package/chunks/{bundle-B8sYPcEA.js → bundle-CiMSvciF.js} +3 -3
  241. package/chunks/{bundle-B8sYPcEA.js.map → bundle-CiMSvciF.js.map} +1 -1
  242. package/chunks/{bundle-B8x_Pt2S.js → bundle-CidMvoaF.js} +6 -6
  243. package/chunks/{bundle-B8x_Pt2S.js.map → bundle-CidMvoaF.js.map} +1 -1
  244. package/chunks/{bundle-DWIfTK1V.js → bundle-CtfGvA3s.js} +3 -3
  245. package/chunks/bundle-CtfGvA3s.js.map +1 -0
  246. package/chunks/{bundle-BhOWZmO3.js → bundle-Cu9aD4lu.js} +17 -28
  247. package/chunks/bundle-Cu9aD4lu.js.map +1 -0
  248. package/chunks/{bundle-C8bjHryH.js → bundle-CxJZxS1L.js} +12 -12
  249. package/chunks/{bundle-C8bjHryH.js.map → bundle-CxJZxS1L.js.map} +1 -1
  250. package/chunks/{bundle-BsyIjZJ7.js → bundle-CxNbR31R.js} +3 -3
  251. package/chunks/{bundle-BsyIjZJ7.js.map → bundle-CxNbR31R.js.map} +1 -1
  252. package/chunks/{bundle-CsSLwUfQ.js → bundle-CxYa-MOA.js} +1 -1
  253. package/chunks/bundle-CxYa-MOA.js.map +1 -0
  254. package/chunks/{bundle-DqsWKXM_.js → bundle-D825AYTQ.js} +4 -4
  255. package/chunks/bundle-D825AYTQ.js.map +1 -0
  256. package/chunks/{bundle-BR25yyOp.js → bundle-DBi1PUnk.js} +15 -15
  257. package/chunks/{bundle-BR25yyOp.js.map → bundle-DBi1PUnk.js.map} +1 -1
  258. package/chunks/{bundle-B4LEiT5r.js → bundle-DEFJ6BHD.js} +4 -4
  259. package/chunks/bundle-DEFJ6BHD.js.map +1 -0
  260. package/chunks/{bundle-CgNU3A5P.js → bundle-DH913WtI.js} +1 -1
  261. package/chunks/bundle-DH913WtI.js.map +1 -0
  262. package/chunks/bundle-DRCmh1XV.js +16 -0
  263. package/chunks/bundle-DRCmh1XV.js.map +1 -0
  264. package/chunks/{bundle-B9ZKtU6l.js → bundle-DVvpkq2l.js} +14 -14
  265. package/chunks/{bundle-B9ZKtU6l.js.map → bundle-DVvpkq2l.js.map} +1 -1
  266. package/chunks/bundle-DcY3XClN.js +812 -0
  267. package/chunks/bundle-DcY3XClN.js.map +1 -0
  268. package/chunks/{bundle-DSsQvpgi.js → bundle-Df0L3z1k.js} +5 -5
  269. package/chunks/{bundle-DSsQvpgi.js.map → bundle-Df0L3z1k.js.map} +1 -1
  270. package/chunks/{bundle-lBquLDTD.js → bundle-DfatitzT.js} +1 -1
  271. package/chunks/bundle-DfatitzT.js.map +1 -0
  272. package/chunks/{bundle-BRJ4wnDW.js → bundle-Di9NG-AI.js} +1 -1
  273. package/chunks/{bundle-BRJ4wnDW.js.map → bundle-Di9NG-AI.js.map} +1 -1
  274. package/chunks/{bundle-DjyjPP3q.js → bundle-DiQKm3I0.js} +4 -4
  275. package/chunks/{bundle-DjyjPP3q.js.map → bundle-DiQKm3I0.js.map} +1 -1
  276. package/chunks/{bundle-HUSPCchI.js → bundle-DjFz1FiS.js} +16 -16
  277. package/chunks/{bundle-HUSPCchI.js.map → bundle-DjFz1FiS.js.map} +1 -1
  278. package/chunks/{bundle-CikQgp1G.js → bundle-Dltp6Fn0.js} +1 -1
  279. package/chunks/bundle-Dltp6Fn0.js.map +1 -0
  280. package/chunks/{bundle-BlVNyg5q.js → bundle-Dm1aJDNG.js} +1 -1
  281. package/chunks/bundle-Dm1aJDNG.js.map +1 -0
  282. package/chunks/{bundle-BJBdUq3A.js → bundle-DmCR-5mz.js} +4 -4
  283. package/chunks/bundle-DmCR-5mz.js.map +1 -0
  284. package/chunks/{bundle-Dr7-5_x4.js → bundle-Dpe_E8A3.js} +1 -1
  285. package/chunks/bundle-Dpe_E8A3.js.map +1 -0
  286. package/chunks/{bundle-Blhz7NtI.js → bundle-DrDNf2-f.js} +1 -1
  287. package/chunks/bundle-DrDNf2-f.js.map +1 -0
  288. package/chunks/{bundle-qugedn_2.js → bundle-DrjAC6tb.js} +5 -5
  289. package/chunks/{bundle-BhOWZmO3.js.map → bundle-DrjAC6tb.js.map} +1 -1
  290. package/chunks/{bundle-DrqXBLye.js → bundle-DtUSqonX.js} +5 -5
  291. package/chunks/bundle-DtUSqonX.js.map +1 -0
  292. package/chunks/{bundle-ikFSDlZ1.js → bundle-DzKQeERx.js} +12 -12
  293. package/chunks/bundle-DzKQeERx.js.map +1 -0
  294. package/chunks/{bundle-tae6W__W.js → bundle-DzWgT5h8.js} +11 -11
  295. package/chunks/{bundle-tae6W__W.js.map → bundle-DzWgT5h8.js.map} +1 -1
  296. package/chunks/{bundle-B-Xy-jUl.js → bundle-FjVDOMz7.js} +1 -1
  297. package/chunks/bundle-FjVDOMz7.js.map +1 -0
  298. package/chunks/{bundle-54g7ed8m.js → bundle-G1DNgBpx.js} +2 -2
  299. package/chunks/{bundle-54g7ed8m.js.map → bundle-G1DNgBpx.js.map} +1 -1
  300. package/chunks/{bundle-D9nmCEuQ.js → bundle-GddWqeYw.js} +4 -4
  301. package/chunks/bundle-GddWqeYw.js.map +1 -0
  302. package/chunks/{bundle-B020x-Av.js → bundle-HZpegYCr.js} +10 -10
  303. package/chunks/{bundle-B020x-Av.js.map → bundle-HZpegYCr.js.map} +1 -1
  304. package/chunks/{bundle-iDXWlGCW.js → bundle-SNSAkSj9.js} +4 -4
  305. package/chunks/bundle-SNSAkSj9.js.map +1 -0
  306. package/chunks/{bundle-CPEpFIor.js → bundle-VwmT1BS-.js} +6 -6
  307. package/chunks/bundle-VwmT1BS-.js.map +1 -0
  308. package/chunks/{bundle-D-J2UbbG.js → bundle-WviNt7GW.js} +7 -7
  309. package/chunks/{bundle-D-J2UbbG.js.map → bundle-WviNt7GW.js.map} +1 -1
  310. package/chunks/{bundle-Co-GH8-q.js → bundle-XrVJXU3U.js} +13 -9
  311. package/chunks/bundle-XrVJXU3U.js.map +1 -0
  312. package/chunks/{bundle-Bn9NGxwi.js → bundle-hebhB-lR.js} +1 -1
  313. package/chunks/{bundle-Bn9NGxwi.js.map → bundle-hebhB-lR.js.map} +1 -1
  314. package/chunks/{bundle-Ceh6aAZV.js → bundle-iEuN2uYS.js} +1 -1
  315. package/chunks/bundle-iEuN2uYS.js.map +1 -0
  316. package/chunks/{bundle-yWYqpJnO.js → bundle-icCbC4nd.js} +1 -1
  317. package/chunks/bundle-icCbC4nd.js.map +1 -0
  318. package/chunks/{bundle-WvrNSIsa.js → bundle-lPT-nUNk.js} +1 -1
  319. package/chunks/bundle-lPT-nUNk.js.map +1 -0
  320. package/chunks/bundle-ma_Oj1DB.js +70 -0
  321. package/chunks/bundle-ma_Oj1DB.js.map +1 -0
  322. package/chunks/{bundle-Hzy23Ovk.js → bundle-mxPECTKl.js} +19 -18
  323. package/chunks/{bundle-C9GhbmCK.js.map → bundle-mxPECTKl.js.map} +1 -1
  324. package/chunks/{bundle-DNzZGUGx.js → bundle-rx5te-gG.js} +1 -1
  325. package/chunks/{bundle-DNzZGUGx.js.map → bundle-rx5te-gG.js.map} +1 -1
  326. package/chunks/{bundle-B4Oa315f.js → bundle-s0vPsmQz.js} +9 -9
  327. package/chunks/{bundle-B4Oa315f.js.map → bundle-s0vPsmQz.js.map} +1 -1
  328. package/chunks/{bundle-AsDI81XH.js → bundle-umLNb2Pn.js} +7 -7
  329. package/chunks/bundle-umLNb2Pn.js.map +1 -0
  330. package/chunks/{bundle-DtXo-b-H.js → bundle-wPF3Cnz3.js} +1 -1
  331. package/chunks/bundle-wPF3Cnz3.js.map +1 -0
  332. package/chunks/{bundle-5G41i_rt.js → bundle-wsOeCDMA.js} +7 -7
  333. package/chunks/bundle-wsOeCDMA.js.map +1 -0
  334. package/chunks/{bundle-C7pp8H6E.js → bundle-xtsv0dvf.js} +3 -3
  335. package/chunks/{bundle-C7pp8H6E.js.map → bundle-xtsv0dvf.js.map} +1 -1
  336. package/cjs/App.js +94 -93
  337. package/cjs/App.js.map +1 -1
  338. package/cjs/Channel/components/ChannelHeader.js +33 -33
  339. package/cjs/Channel/components/ChannelUI.js +73 -72
  340. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  341. package/cjs/Channel/components/FileViewer.js +31 -31
  342. package/cjs/Channel/components/FrozenNotification.js +6 -6
  343. package/cjs/Channel/components/Message.js +60 -59
  344. package/cjs/Channel/components/Message.js.map +1 -1
  345. package/cjs/Channel/components/MessageInput.js +48 -48
  346. package/cjs/Channel/components/MessageInputWrapper.js +48 -48
  347. package/cjs/Channel/components/MessageList.js +64 -63
  348. package/cjs/Channel/components/MessageList.js.map +1 -1
  349. package/cjs/Channel/components/RemoveMessageModal.js +30 -30
  350. package/cjs/Channel/components/SuggestedMentionList.js +30 -30
  351. package/cjs/Channel/components/TypingIndicator.js +9 -9
  352. package/cjs/Channel/components/UnreadCount.js +8 -8
  353. package/cjs/Channel/context.js +122 -25
  354. package/cjs/Channel/context.js.map +1 -1
  355. package/cjs/Channel/hooks/useHandleUploadFiles.js +19 -19
  356. package/cjs/Channel/hooks/useInitialMessagesFetch.js +8 -8
  357. package/cjs/Channel/utils/compareMessagesForGrouping.js +16 -9
  358. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  359. package/cjs/Channel/utils/getMessagePartsInfo.js +9 -9
  360. package/cjs/Channel.js +73 -72
  361. package/cjs/Channel.js.map +1 -1
  362. package/cjs/ChannelList/components/AddChannel.js +94 -93
  363. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  364. package/cjs/ChannelList/components/ChannelListHeader.js +13 -13
  365. package/cjs/ChannelList/components/ChannelListUI.js +94 -93
  366. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  367. package/cjs/ChannelList/components/ChannelPreview.js +32 -32
  368. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -17
  369. package/cjs/ChannelList/context.js +14 -14
  370. package/cjs/ChannelList.js +94 -93
  371. package/cjs/ChannelList.js.map +1 -1
  372. package/cjs/ChannelSettings/components/ChannelProfile.js +23 -23
  373. package/cjs/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  374. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  375. package/cjs/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  376. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +31 -31
  377. package/cjs/ChannelSettings/components/EditDetailsModal.js +19 -19
  378. package/cjs/ChannelSettings/components/LeaveChannel.js +20 -20
  379. package/cjs/ChannelSettings/components/ModerationPanel.js +29 -29
  380. package/cjs/ChannelSettings/components/UserListItem.js +19 -19
  381. package/cjs/ChannelSettings/components/UserPanel.js +28 -28
  382. package/cjs/ChannelSettings/context.js +9 -9
  383. package/cjs/ChannelSettings/hooks/useMenuList.js +29 -29
  384. package/cjs/ChannelSettings.js +31 -31
  385. package/cjs/CreateChannel/components/CreateChannelUI.js +94 -93
  386. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  387. package/cjs/CreateChannel/components/InviteUsers.js +94 -93
  388. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  389. package/cjs/CreateChannel/components/SelectChannelType.js +94 -93
  390. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  391. package/cjs/CreateChannel/context.js +94 -93
  392. package/cjs/CreateChannel/context.js.map +1 -1
  393. package/cjs/CreateChannel.js +94 -93
  394. package/cjs/CreateChannel.js.map +1 -1
  395. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +15 -15
  396. package/cjs/CreateOpenChannel/context.js +4 -4
  397. package/cjs/CreateOpenChannel.js +15 -15
  398. package/cjs/EditUserProfile/components/EditUserProfileUI.js +15 -15
  399. package/cjs/EditUserProfile/context.js +1 -1
  400. package/cjs/EditUserProfile.js +15 -15
  401. package/cjs/GroupChannel/components/FileViewer.js +28 -28
  402. package/cjs/GroupChannel/components/FrozenNotification.js +6 -6
  403. package/cjs/GroupChannel/components/GroupChannelHeader.js +29 -29
  404. package/cjs/GroupChannel/components/GroupChannelUI.js +68 -67
  405. package/cjs/GroupChannel/components/GroupChannelUI.js.map +1 -1
  406. package/cjs/GroupChannel/components/Message.js +57 -56
  407. package/cjs/GroupChannel/components/Message.js.map +1 -1
  408. package/cjs/GroupChannel/components/MessageInputWrapper.js +44 -44
  409. package/cjs/GroupChannel/components/MessageList.js +59 -58
  410. package/cjs/GroupChannel/components/MessageList.js.map +1 -1
  411. package/cjs/GroupChannel/components/RemoveMessageModal.js +27 -27
  412. package/cjs/GroupChannel/components/SuggestedMentionList.js +15 -15
  413. package/cjs/GroupChannel/components/TypingIndicator.js +14 -16
  414. package/cjs/GroupChannel/components/TypingIndicator.js.map +1 -1
  415. package/cjs/GroupChannel/components/UnreadCount.js +8 -8
  416. package/cjs/GroupChannel/context.js +15 -15
  417. package/cjs/GroupChannel.js +68 -67
  418. package/cjs/GroupChannel.js.map +1 -1
  419. package/cjs/GroupChannelList/components/AddGroupChannel.js +94 -93
  420. package/cjs/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  421. package/cjs/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  422. package/cjs/GroupChannelList/components/GroupChannelListItem.js +33 -32
  423. package/cjs/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  424. package/cjs/GroupChannelList/components/GroupChannelListUI.js +94 -93
  425. package/cjs/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  426. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js +17 -17
  427. package/cjs/GroupChannelList/context.js +11 -10
  428. package/cjs/GroupChannelList/context.js.map +1 -1
  429. package/cjs/GroupChannelList.js +94 -93
  430. package/cjs/GroupChannelList.js.map +1 -1
  431. package/cjs/MessageSearch/components/MessageSearchUI.js +20 -20
  432. package/cjs/MessageSearch/context.js +6 -6
  433. package/cjs/MessageSearch.js +22 -22
  434. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  435. package/cjs/OpenChannel/components/OpenChannelHeader.js +20 -20
  436. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -32
  437. package/cjs/OpenChannel/components/OpenChannelMessage.js +40 -40
  438. package/cjs/OpenChannel/components/OpenChannelMessageList.js +44 -44
  439. package/cjs/OpenChannel/components/OpenChannelUI.js +46 -46
  440. package/cjs/OpenChannel/context.js +19 -19
  441. package/cjs/OpenChannel.js +46 -46
  442. package/cjs/OpenChannelList/components/OpenChannelListUI.js +17 -17
  443. package/cjs/OpenChannelList/components/OpenChannelPreview.js +6 -6
  444. package/cjs/OpenChannelList/context.js +7 -7
  445. package/cjs/OpenChannelList.js +17 -17
  446. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  447. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  448. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  449. package/cjs/OpenChannelSettings/components/OperatorUI.js +24 -24
  450. package/cjs/OpenChannelSettings/components/ParticipantUI.js +22 -22
  451. package/cjs/OpenChannelSettings/context.js +6 -6
  452. package/cjs/OpenChannelSettings.js +24 -24
  453. package/cjs/SendbirdProvider.js +24 -28
  454. package/cjs/SendbirdProvider.js.map +1 -1
  455. package/cjs/Thread/components/ParentMessageInfo.js +50 -51
  456. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  457. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -34
  458. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  459. package/cjs/Thread/components/ThreadHeader.js +8 -8
  460. package/cjs/Thread/components/ThreadList.js +57 -58
  461. package/cjs/Thread/components/ThreadList.js.map +1 -1
  462. package/cjs/Thread/components/ThreadListItem.js +63 -59
  463. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  464. package/cjs/Thread/components/ThreadMessageInput.js +50 -50
  465. package/cjs/Thread/components/ThreadUI.js +77 -71
  466. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  467. package/cjs/Thread/context.js +15 -15
  468. package/cjs/Thread.js +67 -67
  469. package/cjs/VoicePlayer/context.js +6 -6
  470. package/cjs/VoicePlayer/useVoicePlayer.js +14 -14
  471. package/cjs/VoiceRecorder/context.js +40 -16
  472. package/cjs/VoiceRecorder/context.js.map +1 -1
  473. package/cjs/VoiceRecorder/useVoiceRecorder.js +25 -12
  474. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  475. package/cjs/chunks/bundle--7hPuXVE.js +76 -0
  476. package/cjs/chunks/bundle--7hPuXVE.js.map +1 -0
  477. package/cjs/chunks/{bundle-BVjsvnlw.js → bundle-1ETwf70z.js} +2 -2
  478. package/cjs/chunks/bundle-1ETwf70z.js.map +1 -0
  479. package/cjs/chunks/bundle-1QmrEL3W.js +18 -0
  480. package/cjs/chunks/bundle-1QmrEL3W.js.map +1 -0
  481. package/cjs/chunks/{bundle-DeItTTiK.js → bundle-3xaNMXzp.js} +6 -6
  482. package/cjs/chunks/bundle-3xaNMXzp.js.map +1 -0
  483. package/cjs/chunks/{bundle-BvGDsPw_.js → bundle-72E1YOCm.js} +1 -1
  484. package/cjs/chunks/bundle-72E1YOCm.js.map +1 -0
  485. package/cjs/chunks/{bundle-HGu9qVuZ.js → bundle-8cYI_dYy.js} +1 -1
  486. package/cjs/chunks/bundle-8cYI_dYy.js.map +1 -0
  487. package/cjs/chunks/{bundle-D89K4Jwz.js → bundle-B00a2rOB.js} +1 -1
  488. package/cjs/chunks/{bundle-D89K4Jwz.js.map → bundle-B00a2rOB.js.map} +1 -1
  489. package/cjs/chunks/{bundle-S_Yy2eC9.js → bundle-B5VSJxvK.js} +1 -1
  490. package/cjs/chunks/bundle-B5VSJxvK.js.map +1 -0
  491. package/cjs/chunks/{bundle-C7HIC06Z.js → bundle-BED5_NT-.js} +8 -8
  492. package/cjs/chunks/bundle-BED5_NT-.js.map +1 -0
  493. package/cjs/chunks/{bundle-DYH-tc8c.js → bundle-BEY9sZa7.js} +5 -5
  494. package/cjs/chunks/{bundle-DYH-tc8c.js.map → bundle-BEY9sZa7.js.map} +1 -1
  495. package/cjs/chunks/{bundle-B30tHeK7.js → bundle-BIFo0MUp.js} +1 -1
  496. package/cjs/chunks/bundle-BIFo0MUp.js.map +1 -0
  497. package/cjs/chunks/{bundle-BusVwZiM.js → bundle-BNwlB2IO.js} +1 -1
  498. package/cjs/chunks/bundle-BNwlB2IO.js.map +1 -0
  499. package/cjs/chunks/{bundle-DPt2qSS_.js → bundle-BPpslRVL.js} +1 -1
  500. package/cjs/chunks/bundle-BPpslRVL.js.map +1 -0
  501. package/cjs/chunks/{bundle-CI8mP-uR.js → bundle-BTdL3YgH.js} +4 -4
  502. package/cjs/chunks/bundle-BTdL3YgH.js.map +1 -0
  503. package/cjs/chunks/{bundle-CRSVBMww.js → bundle-BVkXODmR.js} +1 -1
  504. package/cjs/chunks/bundle-BVkXODmR.js.map +1 -0
  505. package/cjs/chunks/{bundle-CqHOcLvM.js → bundle-BYFTOr_b.js} +10 -10
  506. package/cjs/chunks/bundle-BYFTOr_b.js.map +1 -0
  507. package/cjs/chunks/{bundle-CFaMviaS.js → bundle-BaFi1oPp.js} +1 -1
  508. package/cjs/chunks/bundle-BaFi1oPp.js.map +1 -0
  509. package/cjs/chunks/{bundle-D8hxYxHi.js → bundle-BbfbQ2uA.js} +1 -1
  510. package/cjs/chunks/{bundle-D8hxYxHi.js.map → bundle-BbfbQ2uA.js.map} +1 -1
  511. package/cjs/chunks/{bundle-DPW4ZLLi.js → bundle-Bd2CeRt-.js} +1 -1
  512. package/cjs/chunks/bundle-Bd2CeRt-.js.map +1 -0
  513. package/cjs/chunks/{bundle-CM22Q9mG.js → bundle-Bdq9hoDy.js} +2 -2
  514. package/cjs/chunks/bundle-Bdq9hoDy.js.map +1 -0
  515. package/cjs/chunks/{bundle-Czht6JT5.js → bundle-BhCNmnks.js} +1 -1
  516. package/cjs/chunks/{bundle-Czht6JT5.js.map → bundle-BhCNmnks.js.map} +1 -1
  517. package/cjs/chunks/{bundle-C6D40xDb.js → bundle-Bk-mQnFt.js} +5 -5
  518. package/cjs/chunks/{bundle-C6D40xDb.js.map → bundle-Bk-mQnFt.js.map} +1 -1
  519. package/cjs/chunks/{bundle-Bm8Pckmi.js → bundle-BmMGEkJA.js} +1 -1
  520. package/cjs/chunks/bundle-BmMGEkJA.js.map +1 -0
  521. package/cjs/chunks/{bundle-cdmwGz4S.js → bundle-BoAtK2VH.js} +7 -7
  522. package/cjs/chunks/{bundle-cdmwGz4S.js.map → bundle-BoAtK2VH.js.map} +1 -1
  523. package/cjs/chunks/{bundle-DlePsymw.js → bundle-C-Y7haxN.js} +4 -4
  524. package/cjs/chunks/bundle-C-Y7haxN.js.map +1 -0
  525. package/cjs/chunks/{bundle-DAexi-gc.js → bundle-C4J1Gp9f.js} +6 -6
  526. package/cjs/chunks/bundle-C4J1Gp9f.js.map +1 -0
  527. package/cjs/chunks/{bundle-DHNFQZdL.js → bundle-CFbqoGUl.js} +13 -13
  528. package/cjs/chunks/{bundle-DHNFQZdL.js.map → bundle-CFbqoGUl.js.map} +1 -1
  529. package/cjs/chunks/{bundle-C3o0jJvK.js → bundle-CGq53ECS.js} +1 -1
  530. package/cjs/chunks/bundle-CGq53ECS.js.map +1 -0
  531. package/cjs/chunks/{bundle-BGfesdq5.js → bundle-CIWucdBB.js} +1 -1
  532. package/cjs/chunks/bundle-CIWucdBB.js.map +1 -0
  533. package/cjs/chunks/{bundle-DArJAqYU.js → bundle-CLxKLN1m.js} +1 -1
  534. package/cjs/chunks/bundle-CLxKLN1m.js.map +1 -0
  535. package/cjs/chunks/{bundle-Cy7ygyOa.js → bundle-CRDzRUxp.js} +16 -16
  536. package/cjs/chunks/{bundle-Cy7ygyOa.js.map → bundle-CRDzRUxp.js.map} +1 -1
  537. package/cjs/chunks/{bundle-Cvo5NkpY.js → bundle-CU513lQw.js} +19 -15
  538. package/{chunks/bundle-CeKXU26q.js.map → cjs/chunks/bundle-CU513lQw.js.map} +1 -1
  539. package/cjs/chunks/{bundle-CJtBEoRr.js → bundle-CUY_Uq-Z.js} +15 -15
  540. package/cjs/chunks/{bundle-CJtBEoRr.js.map → bundle-CUY_Uq-Z.js.map} +1 -1
  541. package/cjs/chunks/{bundle-DHR8BzKO.js → bundle-CVYLz696.js} +7 -7
  542. package/cjs/chunks/bundle-CVYLz696.js.map +1 -0
  543. package/cjs/chunks/{bundle-DKS46p__.js → bundle-CW9L2JCZ.js} +4 -4
  544. package/cjs/chunks/bundle-CW9L2JCZ.js.map +1 -0
  545. package/cjs/chunks/{bundle-BlX7NCOe.js → bundle-CWSh6uE7.js} +5 -5
  546. package/cjs/chunks/bundle-CWSh6uE7.js.map +1 -0
  547. package/cjs/chunks/{bundle-ReQJWi0_.js → bundle-CWd5qTdd.js} +1 -1
  548. package/cjs/chunks/bundle-CWd5qTdd.js.map +1 -0
  549. package/cjs/chunks/{bundle-D0M2nMa7.js → bundle-CXQwXBC7.js} +18 -29
  550. package/cjs/chunks/bundle-CXQwXBC7.js.map +1 -0
  551. package/cjs/chunks/bundle-CYSJJmTZ.js +823 -0
  552. package/cjs/chunks/bundle-CYSJJmTZ.js.map +1 -0
  553. package/cjs/chunks/{bundle-BL-ualTl.js → bundle-CaFOkzS5.js} +5 -5
  554. package/cjs/chunks/{bundle-BL-ualTl.js.map → bundle-CaFOkzS5.js.map} +1 -1
  555. package/cjs/chunks/{bundle-ByKpCubj.js → bundle-Cbul_XPT.js} +4 -4
  556. package/cjs/chunks/bundle-Cbul_XPT.js.map +1 -0
  557. package/cjs/chunks/{bundle-D9-m07Kq.js → bundle-CeCRDmKG.js} +7 -7
  558. package/cjs/chunks/bundle-CeCRDmKG.js.map +1 -0
  559. package/cjs/chunks/{bundle-53wr8I1I.js → bundle-CeCTezLH.js} +1 -1
  560. package/cjs/chunks/bundle-CeCTezLH.js.map +1 -0
  561. package/cjs/chunks/{bundle-CZLLshE4.js → bundle-Cgi7hdtM.js} +6 -6
  562. package/cjs/chunks/bundle-Cgi7hdtM.js.map +1 -0
  563. package/cjs/chunks/{bundle-E9Y4YXKU.js → bundle-ChU3wShD.js} +6 -6
  564. package/cjs/chunks/{bundle-E9Y4YXKU.js.map → bundle-ChU3wShD.js.map} +1 -1
  565. package/cjs/chunks/{bundle-DNjpG6sn.js → bundle-Cj4VDHJV.js} +2 -2
  566. package/cjs/chunks/{bundle-DNjpG6sn.js.map → bundle-Cj4VDHJV.js.map} +1 -1
  567. package/cjs/chunks/{bundle-DcL2Uz0y.js → bundle-Cn4CEsY6.js} +1 -1
  568. package/cjs/chunks/bundle-Cn4CEsY6.js.map +1 -0
  569. package/cjs/chunks/{bundle-CRiDoI9R.js → bundle-CnXN7u83.js} +3 -3
  570. package/cjs/chunks/bundle-CnXN7u83.js.map +1 -0
  571. package/cjs/chunks/{bundle-DxH4srE9.js → bundle-CrpqUlR3.js} +1 -1
  572. package/cjs/chunks/bundle-CrpqUlR3.js.map +1 -0
  573. package/cjs/chunks/{bundle-BaVsCXld.js → bundle-CsAon8YT.js} +2 -2
  574. package/cjs/chunks/bundle-CsAon8YT.js.map +1 -0
  575. package/cjs/chunks/{bundle-Cgbc-fSY.js → bundle-CtzHH3hX.js} +4 -4
  576. package/cjs/chunks/bundle-CtzHH3hX.js.map +1 -0
  577. package/cjs/chunks/{bundle-C4YJq5EJ.js → bundle-CxCWinIs.js} +1 -1
  578. package/cjs/chunks/bundle-CxCWinIs.js.map +1 -0
  579. package/cjs/chunks/{bundle-CXE4wlbp.js → bundle-D0MS2GeH.js} +14 -14
  580. package/cjs/chunks/bundle-D0MS2GeH.js.map +1 -0
  581. package/cjs/chunks/{bundle-Dk3Mv3Pv.js → bundle-D52jViYf.js} +7 -7
  582. package/cjs/chunks/{bundle-Dk3Mv3Pv.js.map → bundle-D52jViYf.js.map} +1 -1
  583. package/cjs/chunks/{bundle-s1_WyKtv.js → bundle-D8XWa4V7.js} +8 -8
  584. package/cjs/chunks/bundle-D8XWa4V7.js.map +1 -0
  585. package/cjs/chunks/{bundle-BxxaEeyv.js → bundle-D8e2K1a6.js} +9 -9
  586. package/cjs/chunks/{bundle-BxxaEeyv.js.map → bundle-D8e2K1a6.js.map} +1 -1
  587. package/cjs/chunks/{bundle-B6QKR8k1.js → bundle-D9nTLAIA.js} +3 -3
  588. package/cjs/chunks/bundle-D9nTLAIA.js.map +1 -0
  589. package/cjs/chunks/{bundle-Din5Q6M0.js → bundle-DATOZUES.js} +1 -1
  590. package/cjs/chunks/bundle-DATOZUES.js.map +1 -0
  591. package/cjs/chunks/{bundle-Bok9Wh-y.js → bundle-DAnnmnNr.js} +3 -3
  592. package/cjs/chunks/bundle-DAnnmnNr.js.map +1 -0
  593. package/cjs/chunks/{bundle-h7Y5ovg7.js → bundle-DC_iv7UY.js} +4 -4
  594. package/cjs/chunks/bundle-DC_iv7UY.js.map +1 -0
  595. package/cjs/chunks/{bundle-DvfUwLVR.js → bundle-DGXoUR22.js} +5 -5
  596. package/cjs/chunks/bundle-DGXoUR22.js.map +1 -0
  597. package/cjs/chunks/{bundle-Dh-uXIYD.js → bundle-DGfEi9-N.js} +5 -5
  598. package/cjs/chunks/{bundle-Dh-uXIYD.js.map → bundle-DGfEi9-N.js.map} +1 -1
  599. package/cjs/chunks/{bundle-DYNBqH3c.js → bundle-DH8iFMUq.js} +2 -2
  600. package/cjs/chunks/bundle-DH8iFMUq.js.map +1 -0
  601. package/cjs/chunks/{bundle-C39DeaYc.js → bundle-DHiRY4iN.js} +1 -1
  602. package/cjs/chunks/{bundle-C39DeaYc.js.map → bundle-DHiRY4iN.js.map} +1 -1
  603. package/cjs/chunks/{bundle-D6quCX0Z.js → bundle-DPUokAnG.js} +5 -5
  604. package/cjs/chunks/bundle-DPUokAnG.js.map +1 -0
  605. package/cjs/chunks/{bundle-NGKjNdtd.js → bundle-DR1-jfWz.js} +1 -1
  606. package/cjs/chunks/bundle-DR1-jfWz.js.map +1 -0
  607. package/cjs/chunks/{bundle-Ba9mO4Fp.js → bundle-DSnPZOtl.js} +12 -12
  608. package/cjs/chunks/{bundle-Ba9mO4Fp.js.map → bundle-DSnPZOtl.js.map} +1 -1
  609. package/cjs/chunks/{bundle-DSdCXPwM.js → bundle-DUMuIMbb.js} +1 -1
  610. package/cjs/chunks/bundle-DUMuIMbb.js.map +1 -0
  611. package/cjs/chunks/{bundle-CDLZAiGS.js → bundle-DWY7_S-1.js} +1 -1
  612. package/cjs/chunks/bundle-DWY7_S-1.js.map +1 -0
  613. package/cjs/chunks/{bundle-6QfVOmtd.js → bundle-DZRjoCbr.js} +2 -2
  614. package/cjs/chunks/bundle-DZRjoCbr.js.map +1 -0
  615. package/cjs/chunks/{bundle-hCACzY6O.js → bundle-D_5YLGdQ.js} +3 -3
  616. package/cjs/chunks/bundle-D_5YLGdQ.js.map +1 -0
  617. package/cjs/chunks/{bundle-Dhl6Wa6g.js → bundle-DaHh2cJb.js} +3 -3
  618. package/cjs/chunks/{bundle-Dhl6Wa6g.js.map → bundle-DaHh2cJb.js.map} +1 -1
  619. package/cjs/chunks/{bundle--gTMzxXc.js → bundle-DamUsc0x.js} +13 -9
  620. package/cjs/chunks/bundle-DamUsc0x.js.map +1 -0
  621. package/cjs/chunks/{bundle-CMsiVFG8.js → bundle-Dbz2Ubg9.js} +4 -4
  622. package/cjs/chunks/{bundle-CMsiVFG8.js.map → bundle-Dbz2Ubg9.js.map} +1 -1
  623. package/cjs/chunks/{bundle-Bqi74xtp.js → bundle-Dh4nzXY4.js} +12 -12
  624. package/cjs/chunks/bundle-Dh4nzXY4.js.map +1 -0
  625. package/cjs/chunks/{bundle-D-z1bm5k.js → bundle-Dh94yBGY.js} +35 -35
  626. package/cjs/chunks/{bundle-D-z1bm5k.js.map → bundle-Dh94yBGY.js.map} +1 -1
  627. package/cjs/chunks/{bundle-BHuUyRYv.js → bundle-DhODbqF3.js} +1 -1
  628. package/cjs/chunks/bundle-DhODbqF3.js.map +1 -0
  629. package/cjs/chunks/{bundle-D0sYiYzM.js → bundle-DiOxeQAO.js} +4 -5
  630. package/cjs/chunks/bundle-DiOxeQAO.js.map +1 -0
  631. package/cjs/chunks/{bundle-fWyxrIg3.js → bundle-Dmwc7dn-.js} +1 -1
  632. package/cjs/chunks/bundle-Dmwc7dn-.js.map +1 -0
  633. package/cjs/chunks/{bundle-DkqT011F.js → bundle-DnxQZTFP.js} +1 -1
  634. package/cjs/chunks/bundle-DnxQZTFP.js.map +1 -0
  635. package/cjs/chunks/{bundle-DtzhZhui.js → bundle-DpJLG0-h.js} +2 -2
  636. package/cjs/chunks/bundle-DpJLG0-h.js.map +1 -0
  637. package/cjs/chunks/{bundle-D9pdhHtd.js → bundle-I0GUkoRI.js} +9 -9
  638. package/cjs/chunks/bundle-I0GUkoRI.js.map +1 -0
  639. package/cjs/chunks/{bundle-B6QE8lQ-.js → bundle-LSzjfLJ2.js} +19 -18
  640. package/cjs/chunks/bundle-LSzjfLJ2.js.map +1 -0
  641. package/cjs/chunks/{bundle-DDxhFRDI.js → bundle-QhRhypRr.js} +66 -40
  642. package/cjs/chunks/bundle-QhRhypRr.js.map +1 -0
  643. package/cjs/chunks/{bundle-a5HyCk71.js → bundle-TPwSKdRq.js} +1 -1
  644. package/cjs/chunks/bundle-TPwSKdRq.js.map +1 -0
  645. package/cjs/chunks/{bundle-w6Rbqbbp.js → bundle-XN6uBYyi.js} +3 -3
  646. package/cjs/chunks/bundle-XN6uBYyi.js.map +1 -0
  647. package/cjs/chunks/{bundle-CVXL-3gP.js → bundle-aa_brO8M.js} +3 -3
  648. package/cjs/chunks/{bundle-CVXL-3gP.js.map → bundle-aa_brO8M.js.map} +1 -1
  649. package/cjs/chunks/{bundle-CLi41WMu.js → bundle-b_2wmb8A.js} +11 -11
  650. package/cjs/chunks/{bundle-CLi41WMu.js.map → bundle-b_2wmb8A.js.map} +1 -1
  651. package/cjs/chunks/{bundle-fEAInSpt.js → bundle-dwC7n34e.js} +3 -3
  652. package/cjs/chunks/bundle-dwC7n34e.js.map +1 -0
  653. package/cjs/chunks/{bundle-Da9fuUen.js → bundle-etHjJxGK.js} +4 -4
  654. package/cjs/chunks/bundle-etHjJxGK.js.map +1 -0
  655. package/cjs/chunks/{bundle-0wBofiUH.js → bundle-g0qCl6Df.js} +2 -2
  656. package/cjs/chunks/{bundle-0wBofiUH.js.map → bundle-g0qCl6Df.js.map} +1 -1
  657. package/cjs/chunks/{bundle-CP07VKur.js → bundle-iZTis17W.js} +7 -7
  658. package/cjs/chunks/bundle-iZTis17W.js.map +1 -0
  659. package/cjs/chunks/{bundle-DTSQwen9.js → bundle-kCEJbgLb.js} +1 -1
  660. package/cjs/chunks/bundle-kCEJbgLb.js.map +1 -0
  661. package/cjs/chunks/{bundle-vQR4K7Kd.js → bundle-nrgz3P_F.js} +1 -1
  662. package/cjs/chunks/bundle-nrgz3P_F.js.map +1 -0
  663. package/cjs/chunks/{bundle-DBUQliWK.js → bundle-qnUVQsMn.js} +12 -12
  664. package/cjs/chunks/{bundle-DBUQliWK.js.map → bundle-qnUVQsMn.js.map} +1 -1
  665. package/cjs/chunks/{bundle-Yd4OOPKM.js → bundle-wMsK8QBF.js} +5 -5
  666. package/cjs/chunks/bundle-wMsK8QBF.js.map +1 -0
  667. package/cjs/chunks/{bundle-CDv4HBfu.js → bundle-xWe8b62h.js} +4 -4
  668. package/cjs/chunks/bundle-xWe8b62h.js.map +1 -0
  669. package/cjs/hooks/useConnectionState.js +5 -5
  670. package/cjs/hooks/useLocalization.js +4 -4
  671. package/cjs/hooks/useModal.js +13 -13
  672. package/cjs/index.js +95 -94
  673. package/cjs/index.js.map +1 -1
  674. package/cjs/pubSub/topics.js +1 -1
  675. package/cjs/sendbirdSelectors.js +2 -2
  676. package/cjs/ui/Accordion.js +2 -2
  677. package/cjs/ui/AccordionGroup.js +1 -1
  678. package/cjs/ui/AdminMessage.js +3 -3
  679. package/cjs/ui/Avatar.js +4 -4
  680. package/cjs/ui/Badge.js +5 -5
  681. package/cjs/ui/BottomSheet.js +13 -13
  682. package/cjs/ui/Button.js +3 -3
  683. package/cjs/ui/ChannelAvatar.js +5 -5
  684. package/cjs/ui/ConnectionStatus.js +6 -6
  685. package/cjs/ui/ContextMenu.js +14 -14
  686. package/cjs/ui/DateSeparator.js +4 -4
  687. package/cjs/ui/EmojiReactions.js +23 -23
  688. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  689. package/cjs/ui/FileMessageItemBody.js +13 -13
  690. package/cjs/ui/FileViewer.js +19 -19
  691. package/cjs/ui/Header.js +6 -6
  692. package/cjs/ui/Icon.js +2 -2
  693. package/cjs/ui/IconButton.js +1 -1
  694. package/cjs/ui/ImageRenderer.js +2 -2
  695. package/cjs/ui/Input.js +3 -3
  696. package/cjs/ui/Label.js +3 -3
  697. package/cjs/ui/LinkLabel.js +4 -4
  698. package/cjs/ui/Loader.js +2 -2
  699. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js +2 -2
  700. package/cjs/ui/MentionLabel.js +19 -19
  701. package/cjs/ui/MentionUserLabel.js +2 -2
  702. package/cjs/ui/MessageContent.js +48 -43
  703. package/cjs/ui/MessageContent.js.map +1 -1
  704. package/cjs/ui/MessageFeedbackFailedModal.js +13 -13
  705. package/cjs/ui/MessageFeedbackModal.js +13 -13
  706. package/cjs/ui/MessageInput/hooks/usePaste.js +7 -7
  707. package/cjs/ui/MessageInput.js +21 -21
  708. package/cjs/ui/MessageItemMenu.js +15 -15
  709. package/cjs/ui/MessageItemReactionMenu.js +16 -16
  710. package/cjs/ui/MessageMenu.js +16 -16
  711. package/cjs/ui/MessageSearchFileItem.js +17 -17
  712. package/cjs/ui/MessageSearchItem.js +12 -12
  713. package/cjs/ui/MessageStatus.js +15 -15
  714. package/cjs/ui/MessageTemplate.js +1 -1
  715. package/cjs/ui/MobileFeedbackMenu.js +13 -13
  716. package/cjs/ui/MobileMenu.js +18 -18
  717. package/cjs/ui/Modal.js +12 -12
  718. package/cjs/ui/MutedAvatarOverlay.js +2 -2
  719. package/cjs/ui/OGMessageItemBody.js +23 -23
  720. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  721. package/cjs/ui/OpenChannelAvatar.js +8 -8
  722. package/cjs/ui/OpenchannelConversationHeader.js +8 -8
  723. package/cjs/ui/OpenchannelFileMessage.js +24 -24
  724. package/cjs/ui/OpenchannelOGMessage.js +26 -26
  725. package/cjs/ui/OpenchannelThumbnailMessage.js +23 -23
  726. package/cjs/ui/OpenchannelUserMessage.js +24 -24
  727. package/cjs/ui/PlaceHolder.js +6 -6
  728. package/cjs/ui/PlaybackTime.js +3 -3
  729. package/cjs/ui/ProgressBar.js +1 -1
  730. package/cjs/ui/QuoteMessage.js +12 -12
  731. package/cjs/ui/QuoteMessageInput.js +12 -12
  732. package/cjs/ui/ReactionBadge.js +3 -3
  733. package/cjs/ui/ReactionButton.js +4 -4
  734. package/cjs/ui/SortByRow.js +2 -2
  735. package/cjs/ui/TemplateMessageItemBody.js +14 -14
  736. package/cjs/ui/TextButton.js +2 -2
  737. package/cjs/ui/TextMessageItemBody.js +22 -22
  738. package/cjs/ui/ThreadReplies.js +8 -8
  739. package/cjs/ui/ThumbnailMessageItemBody.js +10 -10
  740. package/cjs/ui/Toggle.js +4 -4
  741. package/cjs/ui/Tooltip.js +3 -3
  742. package/cjs/ui/TooltipWrapper.js +1 -1
  743. package/cjs/ui/TypingIndicatorBubble.js +4 -4
  744. package/cjs/ui/UnknownMessageItemBody.js +10 -10
  745. package/cjs/ui/UserListItem.js +19 -19
  746. package/cjs/ui/UserListItemMenu.js +16 -16
  747. package/cjs/ui/UserProfile.js +13 -13
  748. package/cjs/ui/VoiceMessageInput.js +9 -9
  749. package/cjs/ui/VoiceMessageItemBody.js +15 -15
  750. package/cjs/ui/Word.js +19 -19
  751. package/cjs/useSendbirdStateContext.js +4 -4
  752. package/cjs/utils/message/getOutgoingMessageState.js +8 -4
  753. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  754. package/cjs/utils/message/isVoiceMessage.js +6 -6
  755. package/cjs/withSendbird.js +24 -24
  756. package/hooks/useConnectionState.js +5 -5
  757. package/hooks/useLocalization.js +4 -4
  758. package/hooks/useModal.js +14 -14
  759. package/index.js +95 -94
  760. package/index.js.map +1 -1
  761. package/package.json +5 -5
  762. package/pubSub/topics.js +1 -1
  763. package/sendbirdSelectors.js +2 -2
  764. package/types/lib/Sendbird/types.d.ts +8 -0
  765. package/types/lib/Sendbird/utils.d.ts +1 -2
  766. package/types/modules/Thread/context/ThreadProvider.d.ts +48 -25
  767. package/types/modules/Thread/context/hooks/useThreadMessageActions.d.ts +35 -0
  768. package/types/modules/Thread/context/useThread.d.ts +18 -24
  769. package/ui/Accordion.js +2 -2
  770. package/ui/AccordionGroup.js +1 -1
  771. package/ui/AdminMessage.js +3 -3
  772. package/ui/Avatar.js +4 -4
  773. package/ui/Badge.js +5 -5
  774. package/ui/BottomSheet.js +13 -13
  775. package/ui/Button.js +3 -3
  776. package/ui/ChannelAvatar.js +5 -5
  777. package/ui/ConnectionStatus.js +6 -6
  778. package/ui/ContextMenu.js +14 -14
  779. package/ui/DateSeparator.js +4 -4
  780. package/ui/EmojiReactions.js +23 -23
  781. package/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  782. package/ui/FileMessageItemBody.js +13 -13
  783. package/ui/FileViewer.js +19 -19
  784. package/ui/Header.js +6 -6
  785. package/ui/Icon.js +2 -2
  786. package/ui/IconButton.js +1 -1
  787. package/ui/ImageRenderer.js +2 -2
  788. package/ui/Input.js +3 -3
  789. package/ui/Label.js +3 -3
  790. package/ui/LinkLabel.js +4 -4
  791. package/ui/Loader.js +2 -2
  792. package/ui/LoadingTemplateMessageItemBody.tsx.js +2 -2
  793. package/ui/MentionLabel.js +19 -19
  794. package/ui/MentionUserLabel.js +2 -2
  795. package/ui/MessageContent.js +48 -43
  796. package/ui/MessageContent.js.map +1 -1
  797. package/ui/MessageFeedbackFailedModal.js +13 -13
  798. package/ui/MessageFeedbackModal.js +13 -13
  799. package/ui/MessageInput/hooks/usePaste.js +7 -7
  800. package/ui/MessageInput.js +21 -21
  801. package/ui/MessageItemMenu.js +15 -15
  802. package/ui/MessageItemReactionMenu.js +16 -16
  803. package/ui/MessageMenu.js +16 -16
  804. package/ui/MessageSearchFileItem.js +17 -17
  805. package/ui/MessageSearchItem.js +12 -12
  806. package/ui/MessageStatus.js +15 -15
  807. package/ui/MessageTemplate.js +1 -1
  808. package/ui/MobileFeedbackMenu.js +13 -13
  809. package/ui/MobileMenu.js +18 -18
  810. package/ui/Modal.js +12 -12
  811. package/ui/MutedAvatarOverlay.js +2 -2
  812. package/ui/OGMessageItemBody.js +23 -23
  813. package/ui/OpenChannelAdminMessage.js +3 -3
  814. package/ui/OpenChannelAvatar.js +8 -8
  815. package/ui/OpenchannelConversationHeader.js +8 -8
  816. package/ui/OpenchannelFileMessage.js +24 -24
  817. package/ui/OpenchannelOGMessage.js +26 -26
  818. package/ui/OpenchannelThumbnailMessage.js +23 -23
  819. package/ui/OpenchannelUserMessage.js +24 -24
  820. package/ui/PlaceHolder.js +6 -6
  821. package/ui/PlaybackTime.js +3 -3
  822. package/ui/ProgressBar.js +1 -1
  823. package/ui/QuoteMessage.js +12 -12
  824. package/ui/QuoteMessageInput.js +12 -12
  825. package/ui/ReactionBadge.js +3 -3
  826. package/ui/ReactionButton.js +4 -4
  827. package/ui/SortByRow.js +2 -2
  828. package/ui/TemplateMessageItemBody.js +14 -14
  829. package/ui/TextButton.js +2 -2
  830. package/ui/TextMessageItemBody.js +22 -22
  831. package/ui/ThreadReplies.js +8 -8
  832. package/ui/ThumbnailMessageItemBody.js +10 -10
  833. package/ui/Toggle.js +4 -4
  834. package/ui/Tooltip.js +3 -3
  835. package/ui/TooltipWrapper.js +1 -1
  836. package/ui/TypingIndicatorBubble.js +4 -4
  837. package/ui/UnknownMessageItemBody.js +10 -10
  838. package/ui/UserListItem.js +19 -19
  839. package/ui/UserListItemMenu.js +17 -17
  840. package/ui/UserProfile.js +13 -13
  841. package/ui/VoiceMessageInput.js +9 -9
  842. package/ui/VoiceMessageItemBody.js +15 -15
  843. package/ui/Word.js +19 -19
  844. package/useSendbirdStateContext.js +4 -4
  845. package/utils/message/getOutgoingMessageState.js +8 -4
  846. package/utils/message/getOutgoingMessageState.js.map +1 -1
  847. package/utils/message/isVoiceMessage.js +6 -6
  848. package/withSendbird.js +24 -24
  849. package/chunks/bundle-5G41i_rt.js.map +0 -1
  850. package/chunks/bundle-9oyH3y1N.js.map +0 -1
  851. package/chunks/bundle-AsDI81XH.js.map +0 -1
  852. package/chunks/bundle-B-Xy-jUl.js.map +0 -1
  853. package/chunks/bundle-B4LEiT5r.js.map +0 -1
  854. package/chunks/bundle-BCJmEZad.js.map +0 -1
  855. package/chunks/bundle-BJBdUq3A.js.map +0 -1
  856. package/chunks/bundle-BOyovRdq.js.map +0 -1
  857. package/chunks/bundle-BlVNyg5q.js.map +0 -1
  858. package/chunks/bundle-Blhz7NtI.js.map +0 -1
  859. package/chunks/bundle-BzkQl9_c.js.map +0 -1
  860. package/chunks/bundle-C0x0DNUg.js.map +0 -1
  861. package/chunks/bundle-C7zpVp8B.js.map +0 -1
  862. package/chunks/bundle-C9GhbmCK.js +0 -171
  863. package/chunks/bundle-CKOB3k4C.js.map +0 -1
  864. package/chunks/bundle-CLU6VhwF.js.map +0 -1
  865. package/chunks/bundle-CPEpFIor.js.map +0 -1
  866. package/chunks/bundle-CRqQna6R.js.map +0 -1
  867. package/chunks/bundle-CSp3MfXH.js.map +0 -1
  868. package/chunks/bundle-CTCJu7wR.js.map +0 -1
  869. package/chunks/bundle-Catt3DOq.js.map +0 -1
  870. package/chunks/bundle-Cb1UbfnA.js.map +0 -1
  871. package/chunks/bundle-Ceh6aAZV.js.map +0 -1
  872. package/chunks/bundle-CgNU3A5P.js.map +0 -1
  873. package/chunks/bundle-CikQgp1G.js.map +0 -1
  874. package/chunks/bundle-Co-GH8-q.js.map +0 -1
  875. package/chunks/bundle-CsSLwUfQ.js.map +0 -1
  876. package/chunks/bundle-CvG5ugqV.js.map +0 -1
  877. package/chunks/bundle-D9nmCEuQ.js.map +0 -1
  878. package/chunks/bundle-DFOHBqdn.js.map +0 -1
  879. package/chunks/bundle-DNHc7qpw.js.map +0 -1
  880. package/chunks/bundle-DSUI53uV.js.map +0 -1
  881. package/chunks/bundle-DWIfTK1V.js.map +0 -1
  882. package/chunks/bundle-DcPG3LB4.js.map +0 -1
  883. package/chunks/bundle-DjxMF4SO.js.map +0 -1
  884. package/chunks/bundle-Dk_0BBqv.js.map +0 -1
  885. package/chunks/bundle-Dlrlq2x-.js.map +0 -1
  886. package/chunks/bundle-DmaQd9Ns.js.map +0 -1
  887. package/chunks/bundle-DoSb_bnJ.js.map +0 -1
  888. package/chunks/bundle-DqsWKXM_.js.map +0 -1
  889. package/chunks/bundle-Dr7-5_x4.js.map +0 -1
  890. package/chunks/bundle-DrqXBLye.js.map +0 -1
  891. package/chunks/bundle-DtXo-b-H.js.map +0 -1
  892. package/chunks/bundle-DzKO2mDE.js.map +0 -1
  893. package/chunks/bundle-Hzy23Ovk.js.map +0 -1
  894. package/chunks/bundle-JtczYTYc.js.map +0 -1
  895. package/chunks/bundle-Os6ZHKaT.js +0 -18449
  896. package/chunks/bundle-Os6ZHKaT.js.map +0 -1
  897. package/chunks/bundle-RXhdHhWF.js.map +0 -1
  898. package/chunks/bundle-WoqbxR1C.js.map +0 -1
  899. package/chunks/bundle-WvrNSIsa.js.map +0 -1
  900. package/chunks/bundle-bquVqMLQ.js.map +0 -1
  901. package/chunks/bundle-eJ8wgv1e.js.map +0 -1
  902. package/chunks/bundle-iDXWlGCW.js.map +0 -1
  903. package/chunks/bundle-ikFSDlZ1.js.map +0 -1
  904. package/chunks/bundle-lBquLDTD.js.map +0 -1
  905. package/chunks/bundle-qugedn_2.js.map +0 -1
  906. package/chunks/bundle-yWYqpJnO.js.map +0 -1
  907. package/cjs/chunks/bundle--gTMzxXc.js.map +0 -1
  908. package/cjs/chunks/bundle-53wr8I1I.js.map +0 -1
  909. package/cjs/chunks/bundle-5A92WpBo.js +0 -178
  910. package/cjs/chunks/bundle-5A92WpBo.js.map +0 -1
  911. package/cjs/chunks/bundle-6QfVOmtd.js.map +0 -1
  912. package/cjs/chunks/bundle-B30tHeK7.js.map +0 -1
  913. package/cjs/chunks/bundle-B6QE8lQ-.js.map +0 -1
  914. package/cjs/chunks/bundle-B6QKR8k1.js.map +0 -1
  915. package/cjs/chunks/bundle-BGfesdq5.js.map +0 -1
  916. package/cjs/chunks/bundle-BHuUyRYv.js.map +0 -1
  917. package/cjs/chunks/bundle-BVjsvnlw.js.map +0 -1
  918. package/cjs/chunks/bundle-BaVsCXld.js.map +0 -1
  919. package/cjs/chunks/bundle-Bi2mgALr.js +0 -18460
  920. package/cjs/chunks/bundle-Bi2mgALr.js.map +0 -1
  921. package/cjs/chunks/bundle-BlX7NCOe.js.map +0 -1
  922. package/cjs/chunks/bundle-Bm8Pckmi.js.map +0 -1
  923. package/cjs/chunks/bundle-Bok9Wh-y.js.map +0 -1
  924. package/cjs/chunks/bundle-Bqi74xtp.js.map +0 -1
  925. package/cjs/chunks/bundle-BusVwZiM.js.map +0 -1
  926. package/cjs/chunks/bundle-BvGDsPw_.js.map +0 -1
  927. package/cjs/chunks/bundle-ByKpCubj.js.map +0 -1
  928. package/cjs/chunks/bundle-C3o0jJvK.js.map +0 -1
  929. package/cjs/chunks/bundle-C4YJq5EJ.js.map +0 -1
  930. package/cjs/chunks/bundle-C7HIC06Z.js.map +0 -1
  931. package/cjs/chunks/bundle-CDLZAiGS.js.map +0 -1
  932. package/cjs/chunks/bundle-CDv4HBfu.js.map +0 -1
  933. package/cjs/chunks/bundle-CFaMviaS.js.map +0 -1
  934. package/cjs/chunks/bundle-CI8mP-uR.js.map +0 -1
  935. package/cjs/chunks/bundle-CM22Q9mG.js.map +0 -1
  936. package/cjs/chunks/bundle-CP07VKur.js.map +0 -1
  937. package/cjs/chunks/bundle-CRSVBMww.js.map +0 -1
  938. package/cjs/chunks/bundle-CRiDoI9R.js.map +0 -1
  939. package/cjs/chunks/bundle-CXE4wlbp.js.map +0 -1
  940. package/cjs/chunks/bundle-CZLLshE4.js.map +0 -1
  941. package/cjs/chunks/bundle-Cgbc-fSY.js.map +0 -1
  942. package/cjs/chunks/bundle-CqHOcLvM.js.map +0 -1
  943. package/cjs/chunks/bundle-Cvo5NkpY.js.map +0 -1
  944. package/cjs/chunks/bundle-D0M2nMa7.js.map +0 -1
  945. package/cjs/chunks/bundle-D0sYiYzM.js.map +0 -1
  946. package/cjs/chunks/bundle-D6quCX0Z.js.map +0 -1
  947. package/cjs/chunks/bundle-D9-m07Kq.js.map +0 -1
  948. package/cjs/chunks/bundle-DAexi-gc.js.map +0 -1
  949. package/cjs/chunks/bundle-DArJAqYU.js.map +0 -1
  950. package/cjs/chunks/bundle-DDxhFRDI.js.map +0 -1
  951. package/cjs/chunks/bundle-DHR8BzKO.js.map +0 -1
  952. package/cjs/chunks/bundle-DKS46p__.js.map +0 -1
  953. package/cjs/chunks/bundle-DPW4ZLLi.js.map +0 -1
  954. package/cjs/chunks/bundle-DPt2qSS_.js.map +0 -1
  955. package/cjs/chunks/bundle-DSdCXPwM.js.map +0 -1
  956. package/cjs/chunks/bundle-DTSQwen9.js.map +0 -1
  957. package/cjs/chunks/bundle-DYNBqH3c.js.map +0 -1
  958. package/cjs/chunks/bundle-Da9fuUen.js.map +0 -1
  959. package/cjs/chunks/bundle-DcL2Uz0y.js.map +0 -1
  960. package/cjs/chunks/bundle-DeItTTiK.js.map +0 -1
  961. package/cjs/chunks/bundle-Din5Q6M0.js.map +0 -1
  962. package/cjs/chunks/bundle-DkqT011F.js.map +0 -1
  963. package/cjs/chunks/bundle-DlePsymw.js.map +0 -1
  964. package/cjs/chunks/bundle-DtzhZhui.js.map +0 -1
  965. package/cjs/chunks/bundle-DvfUwLVR.js.map +0 -1
  966. package/cjs/chunks/bundle-DxH4srE9.js.map +0 -1
  967. package/cjs/chunks/bundle-HGu9qVuZ.js.map +0 -1
  968. package/cjs/chunks/bundle-NGKjNdtd.js.map +0 -1
  969. package/cjs/chunks/bundle-ReQJWi0_.js.map +0 -1
  970. package/cjs/chunks/bundle-S_Yy2eC9.js.map +0 -1
  971. package/cjs/chunks/bundle-Yd4OOPKM.js.map +0 -1
  972. package/cjs/chunks/bundle-a5HyCk71.js.map +0 -1
  973. package/cjs/chunks/bundle-fEAInSpt.js.map +0 -1
  974. package/cjs/chunks/bundle-fWyxrIg3.js.map +0 -1
  975. package/cjs/chunks/bundle-h7Y5ovg7.js.map +0 -1
  976. package/cjs/chunks/bundle-hCACzY6O.js.map +0 -1
  977. package/cjs/chunks/bundle-vQR4K7Kd.js.map +0 -1
  978. package/cjs/chunks/bundle-w6Rbqbbp.js.map +0 -1
  979. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +0 -13
  980. package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +0 -15
  981. package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +0 -16
  982. package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +0 -26
  983. package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +0 -18
  984. package/types/modules/Thread/context/hooks/useThreadFetchers.d.ts +0 -28
  985. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +0 -23
  986. package/types/stories/common/const.d.ts +0 -3
  987. package/types/stories/common/useSampleChannel.d.ts +0 -7
@@ -0,0 +1,823 @@
1
+ 'use strict';
2
+
3
+ var _tslib = require('./bundle-Bd2CeRt-.js');
4
+ var React = require('react');
5
+ var message = require('@sendbird/chat/message');
6
+ var utils = require('./bundle--7hPuXVE.js');
7
+ var UserProfileContext = require('./bundle-Bdq9hoDy.js');
8
+ var SendbirdContext = require('./bundle-DiOxeQAO.js');
9
+ var SendbirdChat = require('@sendbird/chat');
10
+ var groupChannel = require('@sendbird/chat/groupChannel');
11
+ var uuid = require('./bundle-DhODbqF3.js');
12
+ var compareIds = require('./bundle-kCEJbgLb.js');
13
+ var uikitTools = require('@sendbird/uikit-tools');
14
+ var Thread_context_types = require('../Thread/context/types.js');
15
+ var useSendbird = require('./bundle-QhRhypRr.js');
16
+ var useDeepCompareEffect = require('./bundle-CsAon8YT.js');
17
+ var pubSub_topics = require('./bundle-BmMGEkJA.js');
18
+ var consts = require('./bundle-CrpqUlR3.js');
19
+
20
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
23
+
24
+ function useToggleReactionCallback(_a, _b) {
25
+ var currentChannel = _a.currentChannel;
26
+ var logger = _b.logger;
27
+ return React.useCallback(function (message, key, isReacted) {
28
+ var _a, _b;
29
+ if (isReacted) {
30
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
31
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
32
+ }).catch(function (err) {
33
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
34
+ });
35
+ return;
36
+ }
37
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
38
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
39
+ }).catch(function (err) {
40
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
41
+ });
42
+ }, [currentChannel]);
43
+ }
44
+
45
+ var scrollToLastAfterSend = function () {
46
+ setTimeout(function () { return utils.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
47
+ };
48
+ var attachLocalFilePreview = function (pendingMessage, file) {
49
+ var localUrl = URL.createObjectURL(file);
50
+ var localFileMessage = pendingMessage;
51
+ localFileMessage.localUrl = localUrl;
52
+ localFileMessage.file = file;
53
+ return localUrl;
54
+ };
55
+ function useThreadMessageActions(state, _a) {
56
+ var logger = _a.logger, pubSub = _a.pubSub, isMentionEnabled = _a.isMentionEnabled;
57
+ var currentChannel = state.currentChannel, onBeforeSendUserMessage = state.onBeforeSendUserMessage, onBeforeSendFileMessage = state.onBeforeSendFileMessage, onBeforeSendVoiceMessage = state.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = state.onBeforeSendMultipleFilesMessage, dsSendUserMessage = state.dsSendUserMessage, dsSendFileMessage = state.dsSendFileMessage, dsSendMultipleFilesMessage = state.dsSendMultipleFilesMessage, dsUpdateUserMessage = state.dsUpdateUserMessage, dsResendMessage = state.dsResendMessage, dsDeleteMessage = state.dsDeleteMessage;
58
+ var sendMessage = React.useCallback(function (props) {
59
+ var _a;
60
+ var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
61
+ var createDefaultParams = function () {
62
+ var params = {};
63
+ params.message = message;
64
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
65
+ if (isMentionEnabled && mentionedUsersLength) {
66
+ params.mentionedUsers = mentionedUsers;
67
+ }
68
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
69
+ params.mentionedMessageTemplate = mentionTemplate;
70
+ }
71
+ if (quoteMessage) {
72
+ params.isReplyToChannel = true;
73
+ params.parentMessageId = quoteMessage.messageId;
74
+ }
75
+ return params;
76
+ };
77
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
78
+ if (!dsSendUserMessage || !currentChannel)
79
+ return;
80
+ logger.info('Thread | useThreadMessageActions: Sending user message start.', params);
81
+ dsSendUserMessage(params, function () { return scrollToLastAfterSend(); })
82
+ .then(function (sentMessage) {
83
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
84
+ channel: currentChannel,
85
+ message: sentMessage,
86
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
87
+ });
88
+ })
89
+ .catch(function (error) {
90
+ logger.info('Thread | useThreadMessageActions: Sending user message failed.', error);
91
+ });
92
+ }, [dsSendUserMessage, onBeforeSendUserMessage, currentChannel, isMentionEnabled]);
93
+ var sendFileMessage = React.useCallback(function (file, quoteMessage) {
94
+ var _a;
95
+ var createParamsDefault = function () {
96
+ var params = {};
97
+ params.file = file;
98
+ if (quoteMessage) {
99
+ params.isReplyToChannel = true;
100
+ params.parentMessageId = quoteMessage.messageId;
101
+ }
102
+ return params;
103
+ };
104
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
105
+ if (!dsSendFileMessage || !currentChannel)
106
+ return Promise.resolve(null);
107
+ logger.info('Thread | useThreadMessageActions: Sending file message start.', params);
108
+ var localPreviewUrl;
109
+ return dsSendFileMessage(params, function (pendingMessage) {
110
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
111
+ scrollToLastAfterSend();
112
+ })
113
+ .then(function (sentMessage) {
114
+ if (localPreviewUrl)
115
+ URL.revokeObjectURL(localPreviewUrl);
116
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
117
+ channel: currentChannel,
118
+ message: sentMessage,
119
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
120
+ });
121
+ return sentMessage;
122
+ });
123
+ }, [dsSendFileMessage, onBeforeSendFileMessage, currentChannel]);
124
+ var sendVoiceMessage = React.useCallback(function (file, duration, quoteMessage) {
125
+ var params = (onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function')
126
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
127
+ : {
128
+ file: file,
129
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
130
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
131
+ metaArrays: [
132
+ new message.MessageMetaArray({ key: consts.META_ARRAY_VOICE_DURATION_KEY, value: ["".concat(duration)] }),
133
+ new message.MessageMetaArray({ key: consts.META_ARRAY_MESSAGE_TYPE_KEY, value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE] }),
134
+ ],
135
+ };
136
+ if (quoteMessage) {
137
+ params.isReplyToChannel = true;
138
+ params.parentMessageId = quoteMessage.messageId;
139
+ }
140
+ if (!dsSendFileMessage || !currentChannel)
141
+ return;
142
+ logger.info('Thread | useThreadMessageActions: Sending voice message start.', params);
143
+ var localPreviewUrl;
144
+ dsSendFileMessage(params, function (pendingMessage) {
145
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
146
+ scrollToLastAfterSend();
147
+ })
148
+ .then(function (sentMessage) {
149
+ if (localPreviewUrl)
150
+ URL.revokeObjectURL(localPreviewUrl);
151
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
152
+ channel: currentChannel,
153
+ message: sentMessage,
154
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
155
+ });
156
+ })
157
+ .catch(function (error) {
158
+ logger.info('Thread | useThreadMessageActions: Sending voice message failed.', error);
159
+ });
160
+ }, [dsSendFileMessage, onBeforeSendVoiceMessage, currentChannel]);
161
+ var sendMultipleFilesMessage = React.useCallback(function (files, quoteMessage) {
162
+ var _a;
163
+ var createParamsDefault = function () {
164
+ var params = {
165
+ fileInfoList: files.map(function (file) { return ({
166
+ file: file,
167
+ fileName: file.name,
168
+ fileSize: file.size,
169
+ mimeType: file.type,
170
+ }); }),
171
+ };
172
+ if (quoteMessage) {
173
+ params.isReplyToChannel = true;
174
+ params.parentMessageId = quoteMessage.messageId;
175
+ }
176
+ return params;
177
+ };
178
+ var params = (_a = onBeforeSendMultipleFilesMessage === null || onBeforeSendMultipleFilesMessage === void 0 ? void 0 : onBeforeSendMultipleFilesMessage(files, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
179
+ if (!dsSendMultipleFilesMessage || !currentChannel)
180
+ return Promise.resolve(null);
181
+ logger.info('Thread | useThreadMessageActions: Sending multiple files message start.', params);
182
+ return dsSendMultipleFilesMessage(params, function () { return scrollToLastAfterSend(); })
183
+ .then(function (sentMessage) {
184
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
185
+ channel: currentChannel,
186
+ message: sentMessage,
187
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
188
+ });
189
+ return sentMessage;
190
+ });
191
+ }, [dsSendMultipleFilesMessage, onBeforeSendMultipleFilesMessage, currentChannel]);
192
+ var updateMessage = React.useCallback(function (props) {
193
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionedUserIds = props.mentionedUserIds, mentionTemplate = props.mentionTemplate;
194
+ var params = {};
195
+ params.message = message;
196
+ if (isMentionEnabled && mentionedUserIds) {
197
+ params.mentionedUserIds = mentionedUserIds;
198
+ }
199
+ else if (isMentionEnabled && mentionedUsers) {
200
+ params.mentionedUsers = mentionedUsers;
201
+ }
202
+ if (isMentionEnabled && mentionTemplate) {
203
+ params.mentionedMessageTemplate = mentionTemplate;
204
+ }
205
+ else {
206
+ params.mentionedMessageTemplate = message;
207
+ }
208
+ if (!dsUpdateUserMessage || !currentChannel)
209
+ return;
210
+ logger.info('Thread | useThreadMessageActions: Message update start.', params);
211
+ dsUpdateUserMessage(messageId, params)
212
+ .then(function (updatedMessage) {
213
+ pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
214
+ fromSelector: true,
215
+ channel: currentChannel,
216
+ message: updatedMessage,
217
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
218
+ });
219
+ })
220
+ .catch(function (error) {
221
+ logger.warning('Thread | useThreadMessageActions: Message update failed.', error);
222
+ });
223
+ }, [dsUpdateUserMessage, currentChannel, isMentionEnabled]);
224
+ var deleteMessage = React.useCallback(function (message) {
225
+ if (!dsDeleteMessage)
226
+ return Promise.resolve();
227
+ logger.info('Thread | useThreadMessageActions: Deleting message.', message);
228
+ return dsDeleteMessage(message);
229
+ }, [dsDeleteMessage]);
230
+ var resendMessage = React.useCallback(function (failedMessage) {
231
+ if (!(failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) || !dsResendMessage || !currentChannel) {
232
+ logger.warning('Thread | useThreadMessageActions: Message is not resendable.', failedMessage);
233
+ return;
234
+ }
235
+ logger.info('Thread | useThreadMessageActions: Resending message start.', failedMessage);
236
+ dsResendMessage(failedMessage)
237
+ .then(function (sentMessage) {
238
+ var _a;
239
+ var isUserMessage = (_a = sentMessage === null || sentMessage === void 0 ? void 0 : sentMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(sentMessage);
240
+ pubSub.publish(isUserMessage ? pubSub_topics.pubSubTopics.SEND_USER_MESSAGE : pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
241
+ channel: currentChannel,
242
+ message: sentMessage,
243
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
244
+ });
245
+ })
246
+ .catch(function (error) {
247
+ logger.warning('Thread | useThreadMessageActions: Resending message failed.', error);
248
+ });
249
+ }, [dsResendMessage, currentChannel]);
250
+ return React.useMemo(function () { return ({
251
+ sendMessage: sendMessage,
252
+ sendFileMessage: sendFileMessage,
253
+ sendVoiceMessage: sendVoiceMessage,
254
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
255
+ updateMessage: updateMessage,
256
+ deleteMessage: deleteMessage,
257
+ resendMessage: resendMessage,
258
+ }); }, [
259
+ sendMessage,
260
+ sendFileMessage,
261
+ sendVoiceMessage,
262
+ sendMultipleFilesMessage,
263
+ updateMessage,
264
+ deleteMessage,
265
+ resendMessage,
266
+ ]);
267
+ }
268
+
269
+ var useThread = function () {
270
+ var store = React.useContext(ThreadContext);
271
+ if (!store)
272
+ throw new Error('useThread must be used within a ThreadProvider');
273
+ // SendbirdStateContext config
274
+ var config = useSendbird.useSendbird().state.config;
275
+ var logger = config.logger, pubSub = config.pubSub;
276
+ var isMentionEnabled = config.groupChannel.enableMention;
277
+ var state = SendbirdContext.shimExports.useSyncExternalStore(store.subscribe, store.getState);
278
+ var currentChannel = state.currentChannel;
279
+ var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
280
+ var initializeThreadFetcher = React.useCallback(function (callback) {
281
+ var _a = store.getState(), resetWithStartingPoint = _a.resetWithStartingPoint, anchorMessage = _a.message, parentMessage = _a.parentMessage;
282
+ if (!resetWithStartingPoint)
283
+ return;
284
+ // Mirror ThreadProvider's initial startingPoint: anchor at the specific reply when entering from
285
+ // one, otherwise open at the latest edge (MAX). parentMessage.createdAt would anchor at the oldest
286
+ // edge (replies are created after the parent), hiding the latest replies behind hasMoreNext.
287
+ var startingPoint = (anchorMessage && parentMessage && anchorMessage.messageId !== parentMessage.messageId)
288
+ ? anchorMessage.createdAt
289
+ : Number.MAX_SAFE_INTEGER;
290
+ resetWithStartingPoint(startingPoint).then(function () {
291
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
292
+ });
293
+ }, [store]);
294
+ var fetchPrevThreads = React.useCallback(function (callback) {
295
+ var loadPrevious = store.getState().loadPrevious;
296
+ if (!loadPrevious)
297
+ return;
298
+ loadPrevious().then(function () {
299
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
300
+ });
301
+ }, [store]);
302
+ var fetchNextThreads = React.useCallback(function (callback) {
303
+ var loadNext = store.getState().loadNext;
304
+ if (!loadNext)
305
+ return;
306
+ loadNext().then(function () {
307
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
308
+ });
309
+ }, [store]);
310
+ var messageActions = useThreadMessageActions(state, { logger: logger, pubSub: pubSub, isMentionEnabled: isMentionEnabled });
311
+ var simpleActions = {
312
+ setCurrentUserId: React.useCallback(function (currentUserId) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { currentUserId: currentUserId })); }); }, [store]),
313
+ getChannelStart: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.LOADING, currentChannel: null })); }); }, [store]),
314
+ getChannelSuccess: React.useCallback(function (groupChannel) { return store.setState(function (state) {
315
+ var _a, _b;
316
+ return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
317
+ // only support in normal group channel
318
+ isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) { return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId; })) === null || _b === void 0 ? void 0 : _b.isMuted) || false, isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false }));
319
+ }); }, [store]),
320
+ getChannelFailure: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INVALID, currentChannel: null })); }); }, [store]),
321
+ getParentMessageStart: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING, parentMessage: null })); }); }, [store]),
322
+ getParentMessageSuccess: React.useCallback(function (parentMessage) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED, parentMessage: parentMessage })); }); }, [store]),
323
+ getParentMessageFailure: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID, parentMessage: null })); }); }, [store]),
324
+ setEmojiContainer: React.useCallback(function (emojiContainer) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { emojiContainer: emojiContainer })); }); }, [store]),
325
+ onUserMuted: React.useCallback(function (channel, user) { return store.setState(function (state) {
326
+ var _a;
327
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
328
+ return state;
329
+ }
330
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: true });
331
+ }); }, [store]),
332
+ onUserUnmuted: React.useCallback(function (channel, user) { return store.setState(function (state) {
333
+ var _a;
334
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
335
+ return state;
336
+ }
337
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: false });
338
+ }); }, [store]),
339
+ onUserBanned: React.useCallback(function (channel, user) {
340
+ store.setState(function (state) {
341
+ var _a;
342
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
343
+ return state;
344
+ }
345
+ // Only reset state when the current user is banned
346
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
347
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
348
+ }
349
+ // Another user banned: update channel info and nicknames map
350
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel, nicknamesMap: utils.getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
351
+ });
352
+ }, [store]),
353
+ onUserUnbanned: React.useCallback(function () { return store.setState(function (state) {
354
+ return _tslib.__assign({}, state);
355
+ }); }, [store]),
356
+ onUserLeft: React.useCallback(function (channel, user) {
357
+ store.setState(function (state) {
358
+ var _a;
359
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
360
+ return state;
361
+ }
362
+ // Only reset state when the current user has left
363
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
364
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
365
+ }
366
+ // Another user left: update channel info and nicknames map
367
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel, nicknamesMap: utils.getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
368
+ });
369
+ }, [store]),
370
+ onChannelFrozen: React.useCallback(function () { return store.setState(function (state) {
371
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: true });
372
+ }); }, [store]),
373
+ onChannelUnfrozen: React.useCallback(function () { return store.setState(function (state) {
374
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: false });
375
+ }); }, [store]),
376
+ onOperatorUpdated: React.useCallback(function (channel) { return store.setState(function (state) {
377
+ var _a;
378
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
379
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel });
380
+ }
381
+ return state;
382
+ }); }, [store]),
383
+ onTypingStatusUpdated: React.useCallback(function (channel, typingMembers) { return store.setState(function (state) {
384
+ var _a;
385
+ if (!utils.compareIds(channel.url, (_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
386
+ return state;
387
+ }
388
+ return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
389
+ }); }, [store]),
390
+ };
391
+ /**
392
+ * These low-level dispatchers were removed when the @sendbird/uikit-tools collection took over
393
+ * thread state management. They are retained for backward compatibility (existing customer code
394
+ * referencing them still compiles) but no longer mutate state — the collection owns it now. Each
395
+ * logs a deprecation warning when called so a direct caller is not left with a silent no-op.
396
+ * Signatures are supplied by casting, which keeps the parameters off the runtime function.
397
+ */
398
+ var backwardCompatActions = React.useMemo(function () {
399
+ var warn = function (name) { return function () {
400
+ var _a;
401
+ (_a = logger === null || logger === void 0 ? void 0 : logger.warning) === null || _a === void 0 ? void 0 : _a.call(logger, "[Thread] useThread().actions.".concat(name, " is deprecated and no longer has any effect; thread state is now managed by the @sendbird/uikit-tools collection."));
402
+ }; };
403
+ return {
404
+ onMessageReceived: warn('onMessageReceived'),
405
+ onReactionUpdated: warn('onReactionUpdated'),
406
+ onFileInfoUpdated: warn('onFileInfoUpdated'),
407
+ sendMessageStart: warn('sendMessageStart'),
408
+ sendMessageSuccess: warn('sendMessageSuccess'),
409
+ sendMessageFailure: warn('sendMessageFailure'),
410
+ resendMessageStart: warn('resendMessageStart'),
411
+ onMessageUpdated: warn('onMessageUpdated'),
412
+ onMessageDeleted: warn('onMessageDeleted'),
413
+ onMessageDeletedByReqId: warn('onMessageDeletedByReqId'),
414
+ initializeThreadListStart: warn('initializeThreadListStart'),
415
+ initializeThreadListSuccess: warn('initializeThreadListSuccess'),
416
+ initializeThreadListFailure: warn('initializeThreadListFailure'),
417
+ getPrevMessagesStart: warn('getPrevMessagesStart'),
418
+ getPrevMessagesSuccess: warn('getPrevMessagesSuccess'),
419
+ getPrevMessagesFailure: warn('getPrevMessagesFailure'),
420
+ getNextMessagesStart: warn('getNextMessagesStart'),
421
+ getNextMessagesSuccess: warn('getNextMessagesSuccess'),
422
+ getNextMessagesFailure: warn('getNextMessagesFailure'),
423
+ };
424
+ }, [logger]);
425
+ var actions = React.useMemo(function () { return (_tslib.__assign(_tslib.__assign(_tslib.__assign(_tslib.__assign({}, simpleActions), { toggleReaction: toggleReaction, initializeThreadFetcher: initializeThreadFetcher, fetchPrevThreads: fetchPrevThreads, fetchNextThreads: fetchNextThreads }), messageActions), backwardCompatActions)); }, [
426
+ simpleActions,
427
+ toggleReaction,
428
+ initializeThreadFetcher,
429
+ fetchPrevThreads,
430
+ fetchNextThreads,
431
+ messageActions,
432
+ backwardCompatActions,
433
+ ]);
434
+ return { state: state, actions: actions };
435
+ };
436
+
437
+ function useGetChannel(_a, _b) {
438
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
439
+ var sdk = _b.sdk, logger = _b.logger;
440
+ var _c = useThread().actions, getChannelStart = _c.getChannelStart, getChannelSuccess = _c.getChannelSuccess, getChannelFailure = _c.getChannelFailure;
441
+ React.useEffect(function () {
442
+ var _a, _b;
443
+ // validation check
444
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
445
+ logger.info('Thread | useInitialize: Get channel started');
446
+ getChannelStart();
447
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
448
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
449
+ getChannelSuccess(groupChannel);
450
+ }).catch(function (error) {
451
+ logger.info('Thread | useInitialize: Get channel failed', error);
452
+ getChannelFailure();
453
+ });
454
+ }
455
+ }, [message, sdkInit]);
456
+ /**
457
+ * We don't use channelUrl here,
458
+ * because Thread must operate independently of the channel.
459
+ */
460
+ }
461
+
462
+ function useGetAllEmoji(_a, _b) {
463
+ var sdk = _a.sdk;
464
+ var logger = _b.logger;
465
+ var setEmojiContainer = useThread().actions.setEmojiContainer;
466
+ React.useEffect(function () {
467
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
468
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
469
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
470
+ setEmojiContainer(emojiContainer);
471
+ }).catch(function (error) {
472
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
473
+ });
474
+ }
475
+ }, [sdk]);
476
+ }
477
+
478
+ function useGetParentMessage(_a, _b) {
479
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
480
+ var sdk = _b.sdk, logger = _b.logger;
481
+ var _c = useThread().actions, getParentMessageStart = _c.getParentMessageStart, getParentMessageSuccess = _c.getParentMessageSuccess, getParentMessageFailure = _c.getParentMessageFailure;
482
+ React.useEffect(function () {
483
+ var _a, _b, _c;
484
+ // validation check
485
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage) && parentMessage) {
486
+ getParentMessageStart();
487
+ var params = {
488
+ channelUrl: channelUrl,
489
+ channelType: SendbirdChat.ChannelType.GROUP,
490
+ messageId: parentMessage.messageId,
491
+ includeMetaArray: true,
492
+ includeReactions: true,
493
+ includeThreadInfo: true,
494
+ includeParentMessageInfo: true,
495
+ };
496
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params);
497
+ (_c = (_b = sdk.message).getMessage) === null || _c === void 0 ? void 0 : _c.call(_b, params).then(function (parentMsg) {
498
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
499
+ // @ts-ignore
500
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
501
+ // @ts-ignore
502
+ getParentMessageSuccess(parentMsg);
503
+ }).catch(function (error) {
504
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
505
+ getParentMessageFailure();
506
+ });
507
+ }
508
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
509
+ /**
510
+ * We don't use channelUrl here,
511
+ * because Thread must operate independently of the channel.
512
+ */
513
+ }
514
+
515
+ function useHandleChannelEvents(_a, _b) {
516
+ var sdk = _a.sdk, currentChannel = _a.currentChannel;
517
+ var logger = _b.logger;
518
+ var _c = useThread().actions, onUserMuted = _c.onUserMuted, onUserUnmuted = _c.onUserUnmuted, onUserBanned = _c.onUserBanned, onUserUnbanned = _c.onUserUnbanned, onUserLeft = _c.onUserLeft, onChannelFrozen = _c.onChannelFrozen, onChannelUnfrozen = _c.onChannelUnfrozen, onOperatorUpdated = _c.onOperatorUpdated, onTypingStatusUpdated = _c.onTypingStatusUpdated;
519
+ React.useEffect(function () {
520
+ var _a, _b, _c;
521
+ var handlerId = uuid.uuidv4();
522
+ // validation check
523
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
524
+ && currentChannel) {
525
+ var channelHandlerParams = {
526
+ // user status change
527
+ onUserMuted: function (channel, user) {
528
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
529
+ onUserMuted(channel, user);
530
+ },
531
+ onUserUnmuted: function (channel, user) {
532
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
533
+ onUserUnmuted(channel, user);
534
+ },
535
+ onUserBanned: function (channel, user) {
536
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
537
+ onUserBanned(channel, user);
538
+ },
539
+ onUserUnbanned: function (channel, user) {
540
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
541
+ onUserUnbanned();
542
+ },
543
+ onUserLeft: function (channel, user) {
544
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
545
+ onUserLeft(channel, user);
546
+ },
547
+ // channel status change
548
+ onChannelFrozen: function (channel) {
549
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
550
+ onChannelFrozen();
551
+ },
552
+ onChannelUnfrozen: function (channel) {
553
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
554
+ onChannelUnfrozen();
555
+ },
556
+ onOperatorUpdated: function (channel, users) {
557
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
558
+ onOperatorUpdated(channel);
559
+ },
560
+ onTypingStatusUpdated: function (channel) {
561
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
562
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
563
+ var typingMembers = channel.getTypingUsers();
564
+ onTypingStatusUpdated(channel, typingMembers);
565
+ }
566
+ },
567
+ };
568
+ var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
569
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
570
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
571
+ }
572
+ return function () {
573
+ var _a, _b, _c;
574
+ // validation check
575
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
576
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
577
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
578
+ }
579
+ };
580
+ }, [
581
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
582
+ currentChannel,
583
+ ]);
584
+ }
585
+
586
+ function useSetCurrentUserId(_a) {
587
+ var user = _a.user;
588
+ var setCurrentUserId = useThread().actions.setCurrentUserId;
589
+ React.useEffect(function () {
590
+ setCurrentUserId(user === null || user === void 0 ? void 0 : user.userId);
591
+ }, [user === null || user === void 0 ? void 0 : user.userId]);
592
+ }
593
+
594
+ var initialState = function () { return ({
595
+ channelUrl: '',
596
+ message: null,
597
+ onHeaderActionClick: undefined,
598
+ onMoveToParentMessage: undefined,
599
+ onBeforeSendUserMessage: undefined,
600
+ onBeforeSendFileMessage: undefined,
601
+ onBeforeSendVoiceMessage: undefined,
602
+ onBeforeSendMultipleFilesMessage: undefined,
603
+ onBeforeDownloadFileMessage: undefined,
604
+ isMultipleFilesMessageEnabled: undefined,
605
+ filterEmojiCategoryIds: undefined,
606
+ currentChannel: null,
607
+ threadMessages: [],
608
+ allThreadMessages: [],
609
+ localThreadMessages: [],
610
+ parentMessage: null,
611
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
612
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
613
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
614
+ hasMorePrev: false,
615
+ hasMoreNext: false,
616
+ emojiContainer: {},
617
+ isMuted: false,
618
+ isChannelFrozen: false,
619
+ currentUserId: '',
620
+ typingMembers: [],
621
+ nicknamesMap: null,
622
+ }); };
623
+ var ThreadContext = React__default.default.createContext(null);
624
+ var createThreadStore = function (props) { return SendbirdContext.createStore(_tslib.__assign(_tslib.__assign({}, initialState()), props)); };
625
+ var InternalThreadProvider = function (props) {
626
+ var children = props.children;
627
+ var defaultProps = {
628
+ channelUrl: props === null || props === void 0 ? void 0 : props.channelUrl,
629
+ message: props === null || props === void 0 ? void 0 : props.message,
630
+ onHeaderActionClick: props === null || props === void 0 ? void 0 : props.onHeaderActionClick,
631
+ onMoveToParentMessage: props === null || props === void 0 ? void 0 : props.onMoveToParentMessage,
632
+ onBeforeSendUserMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendUserMessage,
633
+ onBeforeSendFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendFileMessage,
634
+ onBeforeSendVoiceMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendVoiceMessage,
635
+ onBeforeSendMultipleFilesMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendMultipleFilesMessage,
636
+ onBeforeDownloadFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeDownloadFileMessage,
637
+ isMultipleFilesMessageEnabled: props === null || props === void 0 ? void 0 : props.isMultipleFilesMessageEnabled,
638
+ filterEmojiCategoryIds: props === null || props === void 0 ? void 0 : props.filterEmojiCategoryIds,
639
+ };
640
+ var storeRef = React.useRef(createThreadStore(defaultProps));
641
+ return (React__default.default.createElement(ThreadContext.Provider, { value: storeRef.current }, children));
642
+ };
643
+ var ThreadManager = function (props) {
644
+ var message$1 = props.message, channelUrl = props.channelUrl, onHeaderActionClick = props.onHeaderActionClick, onMoveToParentMessage = props.onMoveToParentMessage, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onBeforeDownloadFileMessage = props.onBeforeDownloadFileMessage, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled, filterEmojiCategoryIds = props.filterEmojiCategoryIds;
645
+ var _a = useThread().state, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage, parentMessageState = _a.parentMessageState;
646
+ var updateState = useThreadStore().updateState;
647
+ var propsParentMessage = utils.getParentMessageFrom(message$1);
648
+ // Context from SendbirdProvider
649
+ var _b = useSendbird.useSendbird().state, stores = _b.stores, config = _b.config;
650
+ // // stores
651
+ var sdkStore = stores.sdkStore, userStore = stores.userStore;
652
+ var sdk = sdkStore.sdk;
653
+ var user = userStore.user;
654
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
655
+ // // config
656
+ var logger = config.logger;
657
+ var isReactionEnabled = config.groupChannel.enableReactions;
658
+ // Initialization
659
+ useSetCurrentUserId({ user: user });
660
+ useGetChannel({
661
+ channelUrl: channelUrl,
662
+ sdkInit: sdkInit,
663
+ message: message$1,
664
+ }, { sdk: sdk, logger: logger });
665
+ useGetParentMessage({
666
+ channelUrl: channelUrl,
667
+ sdkInit: sdkInit,
668
+ parentMessage: propsParentMessage,
669
+ }, { sdk: sdk, logger: logger });
670
+ useGetAllEmoji({ sdk: sdk }, { logger: logger });
671
+ // Handle channel events
672
+ useHandleChannelEvents({
673
+ sdk: sdk,
674
+ currentChannel: currentChannel,
675
+ }, { logger: logger });
676
+ var startingPoint = (message$1 && propsParentMessage && message$1.messageId !== propsParentMessage.messageId)
677
+ ? message$1.createdAt
678
+ : Number.MAX_SAFE_INTEGER;
679
+ var threadDataSource = uikitTools.useGroupChannelThreadMessages(sdk, currentChannel, (propsParentMessage !== null && propsParentMessage !== void 0 ? propsParentMessage : parentMessage), {
680
+ startingPoint: startingPoint,
681
+ isReactionEnabled: isReactionEnabled,
682
+ logger: logger,
683
+ onParentMessageUpdated: function (updatedParentMessage) {
684
+ updateState({ parentMessage: updatedParentMessage });
685
+ },
686
+ onParentMessageDeleted: function () {
687
+ updateState({
688
+ parentMessage: null,
689
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
690
+ threadMessages: [],
691
+ allThreadMessages: [],
692
+ localThreadMessages: [],
693
+ });
694
+ },
695
+ onChannelDeleted: function () {
696
+ updateState({
697
+ currentChannel: null,
698
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
699
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
700
+ // Clear the parent too: the channel is gone, so a stale parentMessage would keep the
701
+ // composer enabled (ThreadMessageInput only disables on parentMessage === null) while sends
702
+ // silently no-op. Mirrors the current-user-banned reset.
703
+ parentMessage: null,
704
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
705
+ threadMessages: [],
706
+ allThreadMessages: [],
707
+ localThreadMessages: [],
708
+ hasMorePrev: false,
709
+ hasMoreNext: false,
710
+ });
711
+ },
712
+ onCurrentUserBanned: function () {
713
+ updateState({
714
+ currentChannel: null,
715
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
716
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
717
+ parentMessage: null,
718
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
719
+ threadMessages: [],
720
+ allThreadMessages: [],
721
+ localThreadMessages: [],
722
+ hasMorePrev: false,
723
+ hasMoreNext: false,
724
+ });
725
+ },
726
+ onChannelUpdated: function (channel) {
727
+ updateState({
728
+ currentChannel: channel,
729
+ isChannelFrozen: (channel === null || channel === void 0 ? void 0 : channel.isFrozen) || false,
730
+ });
731
+ },
732
+ });
733
+ var threadListState = threadDataSource.loading && config.isOnline && parentMessageState === Thread_context_types.ParentMessageStateTypes.INITIALIZED
734
+ ? Thread_context_types.ThreadListStateTypes.LOADING
735
+ : threadDataSource.initialized
736
+ ? Thread_context_types.ThreadListStateTypes.INITIALIZED
737
+ : Thread_context_types.ThreadListStateTypes.NIL;
738
+ var hasMorePrev = threadDataSource.hasPrevious();
739
+ var hasMoreNext = threadDataSource.hasNext();
740
+ var store = React.useContext(ThreadContext);
741
+ var messagesSyncKey = threadDataSource.messages
742
+ .map(function (message) {
743
+ var uploadParams = message.messageParams;
744
+ var uploadState = (uploadParams === null || uploadParams === void 0 ? void 0 : uploadParams.fileInfoList)
745
+ ? uploadParams.fileInfoList.map(function (info) { var _a; return (_a = info.fileUrl) !== null && _a !== void 0 ? _a : ''; }).join(',')
746
+ : '';
747
+ return "".concat(JSON.stringify(message.serialize()), "#").concat(uploadState);
748
+ })
749
+ .join('~');
750
+ React.useEffect(function () {
751
+ if (!parentMessage)
752
+ return;
753
+ // core-ts scopes the collection to this thread's replies (belongsToThread on the event/fetch and
754
+ // send/resend paths), so mirror them as-is. Split into the legacy public shape: allThreadMessages =
755
+ // succeeded (server) messages, localThreadMessages = pending/failed; threadMessages = all of them.
756
+ var scopedMessages = threadDataSource.messages;
757
+ var localThreadMessages = scopedMessages.filter(function (m) {
758
+ var sendingStatus = m.sendingStatus;
759
+ return sendingStatus === message.SendingStatus.PENDING || sendingStatus === message.SendingStatus.FAILED;
760
+ });
761
+ var allThreadMessages = scopedMessages.filter(function (m) { return !localThreadMessages.includes(m); });
762
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (_tslib.__assign(_tslib.__assign({}, prev), { threadMessages: scopedMessages, allThreadMessages: allThreadMessages, localThreadMessages: localThreadMessages, hasMorePrev: hasMorePrev, hasMoreNext: hasMoreNext, threadListState: threadListState })); }, true);
763
+ }, [store, messagesSyncKey, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, hasMorePrev, hasMoreNext, threadListState]);
764
+ React.useEffect(function () {
765
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (_tslib.__assign(_tslib.__assign({}, prev), { loadPrevious: threadDataSource.loadPrevious, loadNext: threadDataSource.loadNext, resetWithStartingPoint: threadDataSource.resetWithStartingPoint, dsSendUserMessage: threadDataSource.sendUserMessage, dsSendFileMessage: threadDataSource.sendFileMessage, dsSendMultipleFilesMessage: threadDataSource.sendMultipleFilesMessage, dsUpdateUserMessage: threadDataSource.updateUserMessage, dsResendMessage: threadDataSource.resendMessage, dsDeleteMessage: threadDataSource.deleteMessage })); }, true);
766
+ }, [store]);
767
+ // memo
768
+ var nicknamesMap = React.useMemo(function () { return ((config.groupChannel.replyType !== 'none' && currentChannel)
769
+ ? utils.getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
770
+ : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
771
+ useDeepCompareEffect.useDeepCompareEffect(function () {
772
+ updateState({
773
+ channelUrl: channelUrl,
774
+ message: message$1,
775
+ onHeaderActionClick: onHeaderActionClick,
776
+ onMoveToParentMessage: onMoveToParentMessage,
777
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
778
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
779
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
780
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
781
+ onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
782
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
783
+ filterEmojiCategoryIds: filterEmojiCategoryIds,
784
+ nicknamesMap: nicknamesMap,
785
+ });
786
+ }, [
787
+ channelUrl,
788
+ message$1,
789
+ onHeaderActionClick,
790
+ onMoveToParentMessage,
791
+ onBeforeSendUserMessage,
792
+ onBeforeSendFileMessage,
793
+ onBeforeSendVoiceMessage,
794
+ onBeforeSendMultipleFilesMessage,
795
+ onBeforeDownloadFileMessage,
796
+ isMultipleFilesMessageEnabled,
797
+ filterEmojiCategoryIds,
798
+ nicknamesMap,
799
+ ]);
800
+ return null;
801
+ };
802
+ var ThreadProvider = function (props) {
803
+ var _a, _b;
804
+ var children = props.children;
805
+ return (React__default.default.createElement(InternalThreadProvider, _tslib.__assign({}, props),
806
+ React__default.default.createElement(ThreadManager, _tslib.__assign({ key: (_b = (_a = props.message) === null || _a === void 0 ? void 0 : _a.messageId) !== null && _b !== void 0 ? _b : 'thread' }, props)),
807
+ React__default.default.createElement(UserProfileContext.UserProfileProvider, _tslib.__assign({}, props), children)));
808
+ };
809
+ var useThreadContext = function () {
810
+ var _a = useThread(), state = _a.state, actions = _a.actions;
811
+ return _tslib.__assign(_tslib.__assign({}, state), actions);
812
+ };
813
+ var useThreadStore = function () {
814
+ return SendbirdContext.useStore(ThreadContext, function (state) { return state; }, initialState());
815
+ };
816
+
817
+ exports.InternalThreadProvider = InternalThreadProvider;
818
+ exports.ThreadContext = ThreadContext;
819
+ exports.ThreadManager = ThreadManager;
820
+ exports.ThreadProvider = ThreadProvider;
821
+ exports.useThread = useThread;
822
+ exports.useThreadContext = useThreadContext;
823
+ //# sourceMappingURL=bundle-CYSJJmTZ.js.map