@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,812 @@
1
+ import { _ as __assign } from './bundle-hebhB-lR.js';
2
+ import React__default, { useCallback, useMemo, useContext, useEffect, useRef } from 'react';
3
+ import { MessageMetaArray, SendingStatus } from '@sendbird/chat/message';
4
+ import { s as scrollIntoLast, c as compareIds, g as getNicknamesMapFromMembers, a as getParentMessageFrom } from './bundle-ma_Oj1DB.js';
5
+ import { U as UserProfileProvider } from './bundle-AgXwAoAz.js';
6
+ import { s as shimExports, a as createStore, b as useStore } from './bundle-BJVFYe-E.js';
7
+ import { ChannelType } from '@sendbird/chat';
8
+ import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
9
+ import { u as uuidv4 } from './bundle-lPT-nUNk.js';
10
+ import { c as compareIds$1 } from './bundle-C4-sXsFT.js';
11
+ import { useGroupChannelThreadMessages } from '@sendbird/uikit-tools';
12
+ import { ParentMessageStateTypes, ThreadListStateTypes, ChannelStateTypes } from '../Thread/context/types.js';
13
+ import { u as useSendbird } from './bundle-5TPniY9G.js';
14
+ import { u as useDeepCompareEffect } from './bundle-BNP3q1UD.js';
15
+ import { p as pubSubTopics, a as PublishingModuleType } from './bundle-BOLGCL_I.js';
16
+ import { f as META_ARRAY_VOICE_DURATION_KEY, e as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE, d as META_ARRAY_MESSAGE_TYPE_KEY, l as VOICE_MESSAGE_MIME_TYPE, V as VOICE_MESSAGE_FILE_NAME, g as SCROLL_BOTTOM_DELAY_FOR_SEND } from './bundle-wPF3Cnz3.js';
17
+
18
+ function useToggleReactionCallback(_a, _b) {
19
+ var currentChannel = _a.currentChannel;
20
+ var logger = _b.logger;
21
+ return useCallback(function (message, key, isReacted) {
22
+ var _a, _b;
23
+ if (isReacted) {
24
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
25
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
26
+ }).catch(function (err) {
27
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
28
+ });
29
+ return;
30
+ }
31
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
32
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
33
+ }).catch(function (err) {
34
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
35
+ });
36
+ }, [currentChannel]);
37
+ }
38
+
39
+ var scrollToLastAfterSend = function () {
40
+ setTimeout(function () { return scrollIntoLast(); }, SCROLL_BOTTOM_DELAY_FOR_SEND);
41
+ };
42
+ var attachLocalFilePreview = function (pendingMessage, file) {
43
+ var localUrl = URL.createObjectURL(file);
44
+ var localFileMessage = pendingMessage;
45
+ localFileMessage.localUrl = localUrl;
46
+ localFileMessage.file = file;
47
+ return localUrl;
48
+ };
49
+ function useThreadMessageActions(state, _a) {
50
+ var logger = _a.logger, pubSub = _a.pubSub, isMentionEnabled = _a.isMentionEnabled;
51
+ 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;
52
+ var sendMessage = useCallback(function (props) {
53
+ var _a;
54
+ var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
55
+ var createDefaultParams = function () {
56
+ var params = {};
57
+ params.message = message;
58
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
59
+ if (isMentionEnabled && mentionedUsersLength) {
60
+ params.mentionedUsers = mentionedUsers;
61
+ }
62
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
63
+ params.mentionedMessageTemplate = mentionTemplate;
64
+ }
65
+ if (quoteMessage) {
66
+ params.isReplyToChannel = true;
67
+ params.parentMessageId = quoteMessage.messageId;
68
+ }
69
+ return params;
70
+ };
71
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
72
+ if (!dsSendUserMessage || !currentChannel)
73
+ return;
74
+ logger.info('Thread | useThreadMessageActions: Sending user message start.', params);
75
+ dsSendUserMessage(params, function () { return scrollToLastAfterSend(); })
76
+ .then(function (sentMessage) {
77
+ pubSub.publish(pubSubTopics.SEND_USER_MESSAGE, {
78
+ channel: currentChannel,
79
+ message: sentMessage,
80
+ publishingModules: [PublishingModuleType.THREAD],
81
+ });
82
+ })
83
+ .catch(function (error) {
84
+ logger.info('Thread | useThreadMessageActions: Sending user message failed.', error);
85
+ });
86
+ }, [dsSendUserMessage, onBeforeSendUserMessage, currentChannel, isMentionEnabled]);
87
+ var sendFileMessage = useCallback(function (file, quoteMessage) {
88
+ var _a;
89
+ var createParamsDefault = function () {
90
+ var params = {};
91
+ params.file = file;
92
+ if (quoteMessage) {
93
+ params.isReplyToChannel = true;
94
+ params.parentMessageId = quoteMessage.messageId;
95
+ }
96
+ return params;
97
+ };
98
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
99
+ if (!dsSendFileMessage || !currentChannel)
100
+ return Promise.resolve(null);
101
+ logger.info('Thread | useThreadMessageActions: Sending file message start.', params);
102
+ var localPreviewUrl;
103
+ return dsSendFileMessage(params, function (pendingMessage) {
104
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
105
+ scrollToLastAfterSend();
106
+ })
107
+ .then(function (sentMessage) {
108
+ if (localPreviewUrl)
109
+ URL.revokeObjectURL(localPreviewUrl);
110
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
111
+ channel: currentChannel,
112
+ message: sentMessage,
113
+ publishingModules: [PublishingModuleType.THREAD],
114
+ });
115
+ return sentMessage;
116
+ });
117
+ }, [dsSendFileMessage, onBeforeSendFileMessage, currentChannel]);
118
+ var sendVoiceMessage = useCallback(function (file, duration, quoteMessage) {
119
+ var params = (onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function')
120
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
121
+ : {
122
+ file: file,
123
+ fileName: VOICE_MESSAGE_FILE_NAME,
124
+ mimeType: VOICE_MESSAGE_MIME_TYPE,
125
+ metaArrays: [
126
+ new MessageMetaArray({ key: META_ARRAY_VOICE_DURATION_KEY, value: ["".concat(duration)] }),
127
+ new MessageMetaArray({ key: META_ARRAY_MESSAGE_TYPE_KEY, value: [META_ARRAY_MESSAGE_TYPE_VALUE__VOICE] }),
128
+ ],
129
+ };
130
+ if (quoteMessage) {
131
+ params.isReplyToChannel = true;
132
+ params.parentMessageId = quoteMessage.messageId;
133
+ }
134
+ if (!dsSendFileMessage || !currentChannel)
135
+ return;
136
+ logger.info('Thread | useThreadMessageActions: Sending voice message start.', params);
137
+ var localPreviewUrl;
138
+ dsSendFileMessage(params, function (pendingMessage) {
139
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
140
+ scrollToLastAfterSend();
141
+ })
142
+ .then(function (sentMessage) {
143
+ if (localPreviewUrl)
144
+ URL.revokeObjectURL(localPreviewUrl);
145
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
146
+ channel: currentChannel,
147
+ message: sentMessage,
148
+ publishingModules: [PublishingModuleType.THREAD],
149
+ });
150
+ })
151
+ .catch(function (error) {
152
+ logger.info('Thread | useThreadMessageActions: Sending voice message failed.', error);
153
+ });
154
+ }, [dsSendFileMessage, onBeforeSendVoiceMessage, currentChannel]);
155
+ var sendMultipleFilesMessage = useCallback(function (files, quoteMessage) {
156
+ var _a;
157
+ var createParamsDefault = function () {
158
+ var params = {
159
+ fileInfoList: files.map(function (file) { return ({
160
+ file: file,
161
+ fileName: file.name,
162
+ fileSize: file.size,
163
+ mimeType: file.type,
164
+ }); }),
165
+ };
166
+ if (quoteMessage) {
167
+ params.isReplyToChannel = true;
168
+ params.parentMessageId = quoteMessage.messageId;
169
+ }
170
+ return params;
171
+ };
172
+ var params = (_a = onBeforeSendMultipleFilesMessage === null || onBeforeSendMultipleFilesMessage === void 0 ? void 0 : onBeforeSendMultipleFilesMessage(files, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
173
+ if (!dsSendMultipleFilesMessage || !currentChannel)
174
+ return Promise.resolve(null);
175
+ logger.info('Thread | useThreadMessageActions: Sending multiple files message start.', params);
176
+ return dsSendMultipleFilesMessage(params, function () { return scrollToLastAfterSend(); })
177
+ .then(function (sentMessage) {
178
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
179
+ channel: currentChannel,
180
+ message: sentMessage,
181
+ publishingModules: [PublishingModuleType.THREAD],
182
+ });
183
+ return sentMessage;
184
+ });
185
+ }, [dsSendMultipleFilesMessage, onBeforeSendMultipleFilesMessage, currentChannel]);
186
+ var updateMessage = useCallback(function (props) {
187
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionedUserIds = props.mentionedUserIds, mentionTemplate = props.mentionTemplate;
188
+ var params = {};
189
+ params.message = message;
190
+ if (isMentionEnabled && mentionedUserIds) {
191
+ params.mentionedUserIds = mentionedUserIds;
192
+ }
193
+ else if (isMentionEnabled && mentionedUsers) {
194
+ params.mentionedUsers = mentionedUsers;
195
+ }
196
+ if (isMentionEnabled && mentionTemplate) {
197
+ params.mentionedMessageTemplate = mentionTemplate;
198
+ }
199
+ else {
200
+ params.mentionedMessageTemplate = message;
201
+ }
202
+ if (!dsUpdateUserMessage || !currentChannel)
203
+ return;
204
+ logger.info('Thread | useThreadMessageActions: Message update start.', params);
205
+ dsUpdateUserMessage(messageId, params)
206
+ .then(function (updatedMessage) {
207
+ pubSub.publish(pubSubTopics.UPDATE_USER_MESSAGE, {
208
+ fromSelector: true,
209
+ channel: currentChannel,
210
+ message: updatedMessage,
211
+ publishingModules: [PublishingModuleType.THREAD],
212
+ });
213
+ })
214
+ .catch(function (error) {
215
+ logger.warning('Thread | useThreadMessageActions: Message update failed.', error);
216
+ });
217
+ }, [dsUpdateUserMessage, currentChannel, isMentionEnabled]);
218
+ var deleteMessage = useCallback(function (message) {
219
+ if (!dsDeleteMessage)
220
+ return Promise.resolve();
221
+ logger.info('Thread | useThreadMessageActions: Deleting message.', message);
222
+ return dsDeleteMessage(message);
223
+ }, [dsDeleteMessage]);
224
+ var resendMessage = useCallback(function (failedMessage) {
225
+ if (!(failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) || !dsResendMessage || !currentChannel) {
226
+ logger.warning('Thread | useThreadMessageActions: Message is not resendable.', failedMessage);
227
+ return;
228
+ }
229
+ logger.info('Thread | useThreadMessageActions: Resending message start.', failedMessage);
230
+ dsResendMessage(failedMessage)
231
+ .then(function (sentMessage) {
232
+ var _a;
233
+ var isUserMessage = (_a = sentMessage === null || sentMessage === void 0 ? void 0 : sentMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(sentMessage);
234
+ pubSub.publish(isUserMessage ? pubSubTopics.SEND_USER_MESSAGE : pubSubTopics.SEND_FILE_MESSAGE, {
235
+ channel: currentChannel,
236
+ message: sentMessage,
237
+ publishingModules: [PublishingModuleType.THREAD],
238
+ });
239
+ })
240
+ .catch(function (error) {
241
+ logger.warning('Thread | useThreadMessageActions: Resending message failed.', error);
242
+ });
243
+ }, [dsResendMessage, currentChannel]);
244
+ return useMemo(function () { return ({
245
+ sendMessage: sendMessage,
246
+ sendFileMessage: sendFileMessage,
247
+ sendVoiceMessage: sendVoiceMessage,
248
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
249
+ updateMessage: updateMessage,
250
+ deleteMessage: deleteMessage,
251
+ resendMessage: resendMessage,
252
+ }); }, [
253
+ sendMessage,
254
+ sendFileMessage,
255
+ sendVoiceMessage,
256
+ sendMultipleFilesMessage,
257
+ updateMessage,
258
+ deleteMessage,
259
+ resendMessage,
260
+ ]);
261
+ }
262
+
263
+ var useThread = function () {
264
+ var store = useContext(ThreadContext);
265
+ if (!store)
266
+ throw new Error('useThread must be used within a ThreadProvider');
267
+ // SendbirdStateContext config
268
+ var config = useSendbird().state.config;
269
+ var logger = config.logger, pubSub = config.pubSub;
270
+ var isMentionEnabled = config.groupChannel.enableMention;
271
+ var state = shimExports.useSyncExternalStore(store.subscribe, store.getState);
272
+ var currentChannel = state.currentChannel;
273
+ var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
274
+ var initializeThreadFetcher = useCallback(function (callback) {
275
+ var _a = store.getState(), resetWithStartingPoint = _a.resetWithStartingPoint, anchorMessage = _a.message, parentMessage = _a.parentMessage;
276
+ if (!resetWithStartingPoint)
277
+ return;
278
+ // Mirror ThreadProvider's initial startingPoint: anchor at the specific reply when entering from
279
+ // one, otherwise open at the latest edge (MAX). parentMessage.createdAt would anchor at the oldest
280
+ // edge (replies are created after the parent), hiding the latest replies behind hasMoreNext.
281
+ var startingPoint = (anchorMessage && parentMessage && anchorMessage.messageId !== parentMessage.messageId)
282
+ ? anchorMessage.createdAt
283
+ : Number.MAX_SAFE_INTEGER;
284
+ resetWithStartingPoint(startingPoint).then(function () {
285
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
286
+ });
287
+ }, [store]);
288
+ var fetchPrevThreads = useCallback(function (callback) {
289
+ var loadPrevious = store.getState().loadPrevious;
290
+ if (!loadPrevious)
291
+ return;
292
+ loadPrevious().then(function () {
293
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
294
+ });
295
+ }, [store]);
296
+ var fetchNextThreads = useCallback(function (callback) {
297
+ var loadNext = store.getState().loadNext;
298
+ if (!loadNext)
299
+ return;
300
+ loadNext().then(function () {
301
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
302
+ });
303
+ }, [store]);
304
+ var messageActions = useThreadMessageActions(state, { logger: logger, pubSub: pubSub, isMentionEnabled: isMentionEnabled });
305
+ var simpleActions = {
306
+ setCurrentUserId: useCallback(function (currentUserId) { return store.setState(function (state) { return (__assign(__assign({}, state), { currentUserId: currentUserId })); }); }, [store]),
307
+ getChannelStart: useCallback(function () { return store.setState(function (state) { return (__assign(__assign({}, state), { channelState: ChannelStateTypes.LOADING, currentChannel: null })); }); }, [store]),
308
+ getChannelSuccess: useCallback(function (groupChannel) { return store.setState(function (state) {
309
+ var _a, _b;
310
+ return (__assign(__assign({}, state), { channelState: ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
311
+ // only support in normal group channel
312
+ 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 }));
313
+ }); }, [store]),
314
+ getChannelFailure: useCallback(function () { return store.setState(function (state) { return (__assign(__assign({}, state), { channelState: ChannelStateTypes.INVALID, currentChannel: null })); }); }, [store]),
315
+ getParentMessageStart: useCallback(function () { return store.setState(function (state) { return (__assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.LOADING, parentMessage: null })); }); }, [store]),
316
+ getParentMessageSuccess: useCallback(function (parentMessage) { return store.setState(function (state) { return (__assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INITIALIZED, parentMessage: parentMessage })); }); }, [store]),
317
+ getParentMessageFailure: useCallback(function () { return store.setState(function (state) { return (__assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INVALID, parentMessage: null })); }); }, [store]),
318
+ setEmojiContainer: useCallback(function (emojiContainer) { return store.setState(function (state) { return (__assign(__assign({}, state), { emojiContainer: emojiContainer })); }); }, [store]),
319
+ onUserMuted: useCallback(function (channel, user) { return store.setState(function (state) {
320
+ var _a;
321
+ 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)) {
322
+ return state;
323
+ }
324
+ return __assign(__assign({}, state), { isMuted: true });
325
+ }); }, [store]),
326
+ onUserUnmuted: useCallback(function (channel, user) { return store.setState(function (state) {
327
+ var _a;
328
+ 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)) {
329
+ return state;
330
+ }
331
+ return __assign(__assign({}, state), { isMuted: false });
332
+ }); }, [store]),
333
+ onUserBanned: useCallback(function (channel, user) {
334
+ store.setState(function (state) {
335
+ var _a;
336
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
337
+ return state;
338
+ }
339
+ // Only reset state when the current user is banned
340
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
341
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
342
+ }
343
+ // Another user banned: update channel info and nicknames map
344
+ return __assign(__assign({}, state), { currentChannel: channel, nicknamesMap: getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
345
+ });
346
+ }, [store]),
347
+ onUserUnbanned: useCallback(function () { return store.setState(function (state) {
348
+ return __assign({}, state);
349
+ }); }, [store]),
350
+ onUserLeft: useCallback(function (channel, user) {
351
+ store.setState(function (state) {
352
+ var _a;
353
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
354
+ return state;
355
+ }
356
+ // Only reset state when the current user has left
357
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
358
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
359
+ }
360
+ // Another user left: update channel info and nicknames map
361
+ return __assign(__assign({}, state), { currentChannel: channel, nicknamesMap: getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
362
+ });
363
+ }, [store]),
364
+ onChannelFrozen: useCallback(function () { return store.setState(function (state) {
365
+ return __assign(__assign({}, state), { isChannelFrozen: true });
366
+ }); }, [store]),
367
+ onChannelUnfrozen: useCallback(function () { return store.setState(function (state) {
368
+ return __assign(__assign({}, state), { isChannelFrozen: false });
369
+ }); }, [store]),
370
+ onOperatorUpdated: useCallback(function (channel) { return store.setState(function (state) {
371
+ var _a;
372
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
373
+ return __assign(__assign({}, state), { currentChannel: channel });
374
+ }
375
+ return state;
376
+ }); }, [store]),
377
+ onTypingStatusUpdated: useCallback(function (channel, typingMembers) { return store.setState(function (state) {
378
+ var _a;
379
+ if (!compareIds(channel.url, (_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
380
+ return state;
381
+ }
382
+ return __assign(__assign({}, state), { typingMembers: typingMembers });
383
+ }); }, [store]),
384
+ };
385
+ /**
386
+ * These low-level dispatchers were removed when the @sendbird/uikit-tools collection took over
387
+ * thread state management. They are retained for backward compatibility (existing customer code
388
+ * referencing them still compiles) but no longer mutate state — the collection owns it now. Each
389
+ * logs a deprecation warning when called so a direct caller is not left with a silent no-op.
390
+ * Signatures are supplied by casting, which keeps the parameters off the runtime function.
391
+ */
392
+ var backwardCompatActions = useMemo(function () {
393
+ var warn = function (name) { return function () {
394
+ var _a;
395
+ (_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."));
396
+ }; };
397
+ return {
398
+ onMessageReceived: warn('onMessageReceived'),
399
+ onReactionUpdated: warn('onReactionUpdated'),
400
+ onFileInfoUpdated: warn('onFileInfoUpdated'),
401
+ sendMessageStart: warn('sendMessageStart'),
402
+ sendMessageSuccess: warn('sendMessageSuccess'),
403
+ sendMessageFailure: warn('sendMessageFailure'),
404
+ resendMessageStart: warn('resendMessageStart'),
405
+ onMessageUpdated: warn('onMessageUpdated'),
406
+ onMessageDeleted: warn('onMessageDeleted'),
407
+ onMessageDeletedByReqId: warn('onMessageDeletedByReqId'),
408
+ initializeThreadListStart: warn('initializeThreadListStart'),
409
+ initializeThreadListSuccess: warn('initializeThreadListSuccess'),
410
+ initializeThreadListFailure: warn('initializeThreadListFailure'),
411
+ getPrevMessagesStart: warn('getPrevMessagesStart'),
412
+ getPrevMessagesSuccess: warn('getPrevMessagesSuccess'),
413
+ getPrevMessagesFailure: warn('getPrevMessagesFailure'),
414
+ getNextMessagesStart: warn('getNextMessagesStart'),
415
+ getNextMessagesSuccess: warn('getNextMessagesSuccess'),
416
+ getNextMessagesFailure: warn('getNextMessagesFailure'),
417
+ };
418
+ }, [logger]);
419
+ var actions = useMemo(function () { return (__assign(__assign(__assign(__assign({}, simpleActions), { toggleReaction: toggleReaction, initializeThreadFetcher: initializeThreadFetcher, fetchPrevThreads: fetchPrevThreads, fetchNextThreads: fetchNextThreads }), messageActions), backwardCompatActions)); }, [
420
+ simpleActions,
421
+ toggleReaction,
422
+ initializeThreadFetcher,
423
+ fetchPrevThreads,
424
+ fetchNextThreads,
425
+ messageActions,
426
+ backwardCompatActions,
427
+ ]);
428
+ return { state: state, actions: actions };
429
+ };
430
+
431
+ function useGetChannel(_a, _b) {
432
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
433
+ var sdk = _b.sdk, logger = _b.logger;
434
+ var _c = useThread().actions, getChannelStart = _c.getChannelStart, getChannelSuccess = _c.getChannelSuccess, getChannelFailure = _c.getChannelFailure;
435
+ useEffect(function () {
436
+ var _a, _b;
437
+ // validation check
438
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
439
+ logger.info('Thread | useInitialize: Get channel started');
440
+ getChannelStart();
441
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
442
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
443
+ getChannelSuccess(groupChannel);
444
+ }).catch(function (error) {
445
+ logger.info('Thread | useInitialize: Get channel failed', error);
446
+ getChannelFailure();
447
+ });
448
+ }
449
+ }, [message, sdkInit]);
450
+ /**
451
+ * We don't use channelUrl here,
452
+ * because Thread must operate independently of the channel.
453
+ */
454
+ }
455
+
456
+ function useGetAllEmoji(_a, _b) {
457
+ var sdk = _a.sdk;
458
+ var logger = _b.logger;
459
+ var setEmojiContainer = useThread().actions.setEmojiContainer;
460
+ useEffect(function () {
461
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
462
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
463
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
464
+ setEmojiContainer(emojiContainer);
465
+ }).catch(function (error) {
466
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
467
+ });
468
+ }
469
+ }, [sdk]);
470
+ }
471
+
472
+ function useGetParentMessage(_a, _b) {
473
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
474
+ var sdk = _b.sdk, logger = _b.logger;
475
+ var _c = useThread().actions, getParentMessageStart = _c.getParentMessageStart, getParentMessageSuccess = _c.getParentMessageSuccess, getParentMessageFailure = _c.getParentMessageFailure;
476
+ useEffect(function () {
477
+ var _a, _b, _c;
478
+ // validation check
479
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage) && parentMessage) {
480
+ getParentMessageStart();
481
+ var params = {
482
+ channelUrl: channelUrl,
483
+ channelType: ChannelType.GROUP,
484
+ messageId: parentMessage.messageId,
485
+ includeMetaArray: true,
486
+ includeReactions: true,
487
+ includeThreadInfo: true,
488
+ includeParentMessageInfo: true,
489
+ };
490
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params);
491
+ (_c = (_b = sdk.message).getMessage) === null || _c === void 0 ? void 0 : _c.call(_b, params).then(function (parentMsg) {
492
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
493
+ // @ts-ignore
494
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
495
+ // @ts-ignore
496
+ getParentMessageSuccess(parentMsg);
497
+ }).catch(function (error) {
498
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
499
+ getParentMessageFailure();
500
+ });
501
+ }
502
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
503
+ /**
504
+ * We don't use channelUrl here,
505
+ * because Thread must operate independently of the channel.
506
+ */
507
+ }
508
+
509
+ function useHandleChannelEvents(_a, _b) {
510
+ var sdk = _a.sdk, currentChannel = _a.currentChannel;
511
+ var logger = _b.logger;
512
+ 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;
513
+ useEffect(function () {
514
+ var _a, _b, _c;
515
+ var handlerId = uuidv4();
516
+ // validation check
517
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
518
+ && currentChannel) {
519
+ var channelHandlerParams = {
520
+ // user status change
521
+ onUserMuted: function (channel, user) {
522
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
523
+ onUserMuted(channel, user);
524
+ },
525
+ onUserUnmuted: function (channel, user) {
526
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
527
+ onUserUnmuted(channel, user);
528
+ },
529
+ onUserBanned: function (channel, user) {
530
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
531
+ onUserBanned(channel, user);
532
+ },
533
+ onUserUnbanned: function (channel, user) {
534
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
535
+ onUserUnbanned();
536
+ },
537
+ onUserLeft: function (channel, user) {
538
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
539
+ onUserLeft(channel, user);
540
+ },
541
+ // channel status change
542
+ onChannelFrozen: function (channel) {
543
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
544
+ onChannelFrozen();
545
+ },
546
+ onChannelUnfrozen: function (channel) {
547
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
548
+ onChannelUnfrozen();
549
+ },
550
+ onOperatorUpdated: function (channel, users) {
551
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
552
+ onOperatorUpdated(channel);
553
+ },
554
+ onTypingStatusUpdated: function (channel) {
555
+ if (compareIds$1(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
556
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
557
+ var typingMembers = channel.getTypingUsers();
558
+ onTypingStatusUpdated(channel, typingMembers);
559
+ }
560
+ },
561
+ };
562
+ var channelHandler = new GroupChannelHandler(channelHandlerParams);
563
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
564
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
565
+ }
566
+ return function () {
567
+ var _a, _b, _c;
568
+ // validation check
569
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
570
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
571
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
572
+ }
573
+ };
574
+ }, [
575
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
576
+ currentChannel,
577
+ ]);
578
+ }
579
+
580
+ function useSetCurrentUserId(_a) {
581
+ var user = _a.user;
582
+ var setCurrentUserId = useThread().actions.setCurrentUserId;
583
+ useEffect(function () {
584
+ setCurrentUserId(user === null || user === void 0 ? void 0 : user.userId);
585
+ }, [user === null || user === void 0 ? void 0 : user.userId]);
586
+ }
587
+
588
+ var initialState = function () { return ({
589
+ channelUrl: '',
590
+ message: null,
591
+ onHeaderActionClick: undefined,
592
+ onMoveToParentMessage: undefined,
593
+ onBeforeSendUserMessage: undefined,
594
+ onBeforeSendFileMessage: undefined,
595
+ onBeforeSendVoiceMessage: undefined,
596
+ onBeforeSendMultipleFilesMessage: undefined,
597
+ onBeforeDownloadFileMessage: undefined,
598
+ isMultipleFilesMessageEnabled: undefined,
599
+ filterEmojiCategoryIds: undefined,
600
+ currentChannel: null,
601
+ threadMessages: [],
602
+ allThreadMessages: [],
603
+ localThreadMessages: [],
604
+ parentMessage: null,
605
+ channelState: ChannelStateTypes.NIL,
606
+ parentMessageState: ParentMessageStateTypes.NIL,
607
+ threadListState: ThreadListStateTypes.NIL,
608
+ hasMorePrev: false,
609
+ hasMoreNext: false,
610
+ emojiContainer: {},
611
+ isMuted: false,
612
+ isChannelFrozen: false,
613
+ currentUserId: '',
614
+ typingMembers: [],
615
+ nicknamesMap: null,
616
+ }); };
617
+ var ThreadContext = React__default.createContext(null);
618
+ var createThreadStore = function (props) { return createStore(__assign(__assign({}, initialState()), props)); };
619
+ var InternalThreadProvider = function (props) {
620
+ var children = props.children;
621
+ var defaultProps = {
622
+ channelUrl: props === null || props === void 0 ? void 0 : props.channelUrl,
623
+ message: props === null || props === void 0 ? void 0 : props.message,
624
+ onHeaderActionClick: props === null || props === void 0 ? void 0 : props.onHeaderActionClick,
625
+ onMoveToParentMessage: props === null || props === void 0 ? void 0 : props.onMoveToParentMessage,
626
+ onBeforeSendUserMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendUserMessage,
627
+ onBeforeSendFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendFileMessage,
628
+ onBeforeSendVoiceMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendVoiceMessage,
629
+ onBeforeSendMultipleFilesMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendMultipleFilesMessage,
630
+ onBeforeDownloadFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeDownloadFileMessage,
631
+ isMultipleFilesMessageEnabled: props === null || props === void 0 ? void 0 : props.isMultipleFilesMessageEnabled,
632
+ filterEmojiCategoryIds: props === null || props === void 0 ? void 0 : props.filterEmojiCategoryIds,
633
+ };
634
+ var storeRef = useRef(createThreadStore(defaultProps));
635
+ return (React__default.createElement(ThreadContext.Provider, { value: storeRef.current }, children));
636
+ };
637
+ var ThreadManager = function (props) {
638
+ var message = 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;
639
+ var _a = useThread().state, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage, parentMessageState = _a.parentMessageState;
640
+ var updateState = useThreadStore().updateState;
641
+ var propsParentMessage = getParentMessageFrom(message);
642
+ // Context from SendbirdProvider
643
+ var _b = useSendbird().state, stores = _b.stores, config = _b.config;
644
+ // // stores
645
+ var sdkStore = stores.sdkStore, userStore = stores.userStore;
646
+ var sdk = sdkStore.sdk;
647
+ var user = userStore.user;
648
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
649
+ // // config
650
+ var logger = config.logger;
651
+ var isReactionEnabled = config.groupChannel.enableReactions;
652
+ // Initialization
653
+ useSetCurrentUserId({ user: user });
654
+ useGetChannel({
655
+ channelUrl: channelUrl,
656
+ sdkInit: sdkInit,
657
+ message: message,
658
+ }, { sdk: sdk, logger: logger });
659
+ useGetParentMessage({
660
+ channelUrl: channelUrl,
661
+ sdkInit: sdkInit,
662
+ parentMessage: propsParentMessage,
663
+ }, { sdk: sdk, logger: logger });
664
+ useGetAllEmoji({ sdk: sdk }, { logger: logger });
665
+ // Handle channel events
666
+ useHandleChannelEvents({
667
+ sdk: sdk,
668
+ currentChannel: currentChannel,
669
+ }, { logger: logger });
670
+ var startingPoint = (message && propsParentMessage && message.messageId !== propsParentMessage.messageId)
671
+ ? message.createdAt
672
+ : Number.MAX_SAFE_INTEGER;
673
+ var threadDataSource = useGroupChannelThreadMessages(sdk, currentChannel, (propsParentMessage !== null && propsParentMessage !== void 0 ? propsParentMessage : parentMessage), {
674
+ startingPoint: startingPoint,
675
+ isReactionEnabled: isReactionEnabled,
676
+ logger: logger,
677
+ onParentMessageUpdated: function (updatedParentMessage) {
678
+ updateState({ parentMessage: updatedParentMessage });
679
+ },
680
+ onParentMessageDeleted: function () {
681
+ updateState({
682
+ parentMessage: null,
683
+ parentMessageState: ParentMessageStateTypes.NIL,
684
+ threadMessages: [],
685
+ allThreadMessages: [],
686
+ localThreadMessages: [],
687
+ });
688
+ },
689
+ onChannelDeleted: function () {
690
+ updateState({
691
+ currentChannel: null,
692
+ channelState: ChannelStateTypes.NIL,
693
+ threadListState: ThreadListStateTypes.NIL,
694
+ // Clear the parent too: the channel is gone, so a stale parentMessage would keep the
695
+ // composer enabled (ThreadMessageInput only disables on parentMessage === null) while sends
696
+ // silently no-op. Mirrors the current-user-banned reset.
697
+ parentMessage: null,
698
+ parentMessageState: ParentMessageStateTypes.NIL,
699
+ threadMessages: [],
700
+ allThreadMessages: [],
701
+ localThreadMessages: [],
702
+ hasMorePrev: false,
703
+ hasMoreNext: false,
704
+ });
705
+ },
706
+ onCurrentUserBanned: function () {
707
+ updateState({
708
+ currentChannel: null,
709
+ channelState: ChannelStateTypes.NIL,
710
+ threadListState: ThreadListStateTypes.NIL,
711
+ parentMessage: null,
712
+ parentMessageState: ParentMessageStateTypes.NIL,
713
+ threadMessages: [],
714
+ allThreadMessages: [],
715
+ localThreadMessages: [],
716
+ hasMorePrev: false,
717
+ hasMoreNext: false,
718
+ });
719
+ },
720
+ onChannelUpdated: function (channel) {
721
+ updateState({
722
+ currentChannel: channel,
723
+ isChannelFrozen: (channel === null || channel === void 0 ? void 0 : channel.isFrozen) || false,
724
+ });
725
+ },
726
+ });
727
+ var threadListState = threadDataSource.loading && config.isOnline && parentMessageState === ParentMessageStateTypes.INITIALIZED
728
+ ? ThreadListStateTypes.LOADING
729
+ : threadDataSource.initialized
730
+ ? ThreadListStateTypes.INITIALIZED
731
+ : ThreadListStateTypes.NIL;
732
+ var hasMorePrev = threadDataSource.hasPrevious();
733
+ var hasMoreNext = threadDataSource.hasNext();
734
+ var store = useContext(ThreadContext);
735
+ var messagesSyncKey = threadDataSource.messages
736
+ .map(function (message) {
737
+ var uploadParams = message.messageParams;
738
+ var uploadState = (uploadParams === null || uploadParams === void 0 ? void 0 : uploadParams.fileInfoList)
739
+ ? uploadParams.fileInfoList.map(function (info) { var _a; return (_a = info.fileUrl) !== null && _a !== void 0 ? _a : ''; }).join(',')
740
+ : '';
741
+ return "".concat(JSON.stringify(message.serialize()), "#").concat(uploadState);
742
+ })
743
+ .join('~');
744
+ useEffect(function () {
745
+ if (!parentMessage)
746
+ return;
747
+ // core-ts scopes the collection to this thread's replies (belongsToThread on the event/fetch and
748
+ // send/resend paths), so mirror them as-is. Split into the legacy public shape: allThreadMessages =
749
+ // succeeded (server) messages, localThreadMessages = pending/failed; threadMessages = all of them.
750
+ var scopedMessages = threadDataSource.messages;
751
+ var localThreadMessages = scopedMessages.filter(function (m) {
752
+ var sendingStatus = m.sendingStatus;
753
+ return sendingStatus === SendingStatus.PENDING || sendingStatus === SendingStatus.FAILED;
754
+ });
755
+ var allThreadMessages = scopedMessages.filter(function (m) { return !localThreadMessages.includes(m); });
756
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (__assign(__assign({}, prev), { threadMessages: scopedMessages, allThreadMessages: allThreadMessages, localThreadMessages: localThreadMessages, hasMorePrev: hasMorePrev, hasMoreNext: hasMoreNext, threadListState: threadListState })); }, true);
757
+ }, [store, messagesSyncKey, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, hasMorePrev, hasMoreNext, threadListState]);
758
+ useEffect(function () {
759
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (__assign(__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);
760
+ }, [store]);
761
+ // memo
762
+ var nicknamesMap = useMemo(function () { return ((config.groupChannel.replyType !== 'none' && currentChannel)
763
+ ? getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
764
+ : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
765
+ useDeepCompareEffect(function () {
766
+ updateState({
767
+ channelUrl: channelUrl,
768
+ message: message,
769
+ onHeaderActionClick: onHeaderActionClick,
770
+ onMoveToParentMessage: onMoveToParentMessage,
771
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
772
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
773
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
774
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
775
+ onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
776
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
777
+ filterEmojiCategoryIds: filterEmojiCategoryIds,
778
+ nicknamesMap: nicknamesMap,
779
+ });
780
+ }, [
781
+ channelUrl,
782
+ message,
783
+ onHeaderActionClick,
784
+ onMoveToParentMessage,
785
+ onBeforeSendUserMessage,
786
+ onBeforeSendFileMessage,
787
+ onBeforeSendVoiceMessage,
788
+ onBeforeSendMultipleFilesMessage,
789
+ onBeforeDownloadFileMessage,
790
+ isMultipleFilesMessageEnabled,
791
+ filterEmojiCategoryIds,
792
+ nicknamesMap,
793
+ ]);
794
+ return null;
795
+ };
796
+ var ThreadProvider = function (props) {
797
+ var _a, _b;
798
+ var children = props.children;
799
+ return (React__default.createElement(InternalThreadProvider, __assign({}, props),
800
+ React__default.createElement(ThreadManager, __assign({ key: (_b = (_a = props.message) === null || _a === void 0 ? void 0 : _a.messageId) !== null && _b !== void 0 ? _b : 'thread' }, props)),
801
+ React__default.createElement(UserProfileProvider, __assign({}, props), children)));
802
+ };
803
+ var useThreadContext = function () {
804
+ var _a = useThread(), state = _a.state, actions = _a.actions;
805
+ return __assign(__assign({}, state), actions);
806
+ };
807
+ var useThreadStore = function () {
808
+ return useStore(ThreadContext, function (state) { return state; }, initialState());
809
+ };
810
+
811
+ export { InternalThreadProvider as I, ThreadContext as T, ThreadManager as a, ThreadProvider as b, useThreadContext as c, useThread as u };
812
+ //# sourceMappingURL=bundle-DcY3XClN.js.map