@sendbird/uikit-react 3.18.1 → 3.18.3

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 (918) hide show
  1. package/App.js +93 -93
  2. package/CHANGELOG.md +11 -0
  3. package/Channel/components/ChannelHeader.js +33 -33
  4. package/Channel/components/ChannelUI.js +72 -72
  5. package/Channel/components/FileViewer.js +31 -31
  6. package/Channel/components/FrozenNotification.js +6 -6
  7. package/Channel/components/Message.js +59 -59
  8. package/Channel/components/MessageInput.js +48 -48
  9. package/Channel/components/MessageInputWrapper.js +48 -48
  10. package/Channel/components/MessageList.js +63 -63
  11. package/Channel/components/RemoveMessageModal.js +30 -30
  12. package/Channel/components/SuggestedMentionList.js +30 -30
  13. package/Channel/components/TypingIndicator.js +9 -9
  14. package/Channel/components/UnreadCount.js +8 -8
  15. package/Channel/context.js +121 -24
  16. package/Channel/context.js.map +1 -1
  17. package/Channel/hooks/useHandleUploadFiles.js +19 -19
  18. package/Channel/hooks/useInitialMessagesFetch.js +8 -8
  19. package/Channel/utils/compareMessagesForGrouping.js +8 -8
  20. package/Channel/utils/getMessagePartsInfo.js +9 -9
  21. package/Channel.js +72 -72
  22. package/ChannelList/components/AddChannel.js +93 -93
  23. package/ChannelList/components/ChannelListHeader.js +13 -13
  24. package/ChannelList/components/ChannelListUI.js +93 -93
  25. package/ChannelList/components/ChannelPreview.js +32 -32
  26. package/ChannelList/components/ChannelPreviewAction.js +17 -17
  27. package/ChannelList/context.js +14 -14
  28. package/ChannelList.js +93 -93
  29. package/ChannelSettings/components/ChannelProfile.js +23 -23
  30. package/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  31. package/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  32. package/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  33. package/ChannelSettings/components/ChannelSettingsUI.js +31 -31
  34. package/ChannelSettings/components/EditDetailsModal.js +19 -19
  35. package/ChannelSettings/components/LeaveChannel.js +20 -20
  36. package/ChannelSettings/components/ModerationPanel.js +29 -29
  37. package/ChannelSettings/components/UserListItem.js +19 -19
  38. package/ChannelSettings/components/UserPanel.js +28 -28
  39. package/ChannelSettings/context.js +9 -9
  40. package/ChannelSettings/hooks/useMenuList.js +29 -29
  41. package/ChannelSettings.js +31 -31
  42. package/CreateChannel/components/CreateChannelUI.js +93 -93
  43. package/CreateChannel/components/InviteUsers.js +93 -93
  44. package/CreateChannel/components/SelectChannelType.js +93 -93
  45. package/CreateChannel/context.js +93 -93
  46. package/CreateChannel.js +93 -93
  47. package/CreateOpenChannel/components/CreateOpenChannelUI.js +15 -15
  48. package/CreateOpenChannel/context.js +4 -4
  49. package/CreateOpenChannel.js +15 -15
  50. package/EditUserProfile/components/EditUserProfileUI.js +15 -15
  51. package/EditUserProfile/context.js +1 -1
  52. package/EditUserProfile.js +15 -15
  53. package/GroupChannel/components/FileViewer.js +28 -28
  54. package/GroupChannel/components/FrozenNotification.js +6 -6
  55. package/GroupChannel/components/GroupChannelHeader.js +29 -29
  56. package/GroupChannel/components/GroupChannelUI.js +67 -67
  57. package/GroupChannel/components/Message.js +56 -56
  58. package/GroupChannel/components/MessageInputWrapper.js +45 -45
  59. package/GroupChannel/components/MessageList.js +58 -58
  60. package/GroupChannel/components/RemoveMessageModal.js +27 -27
  61. package/GroupChannel/components/SuggestedMentionList.js +15 -15
  62. package/GroupChannel/components/TypingIndicator.js +9 -9
  63. package/GroupChannel/components/UnreadCount.js +8 -8
  64. package/GroupChannel/context.js +15 -15
  65. package/GroupChannel.js +67 -67
  66. package/GroupChannelList/components/AddGroupChannel.js +93 -93
  67. package/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  68. package/GroupChannelList/components/GroupChannelListItem.js +32 -32
  69. package/GroupChannelList/components/GroupChannelListUI.js +93 -93
  70. package/GroupChannelList/components/GroupChannelPreviewAction.js +17 -17
  71. package/GroupChannelList/context.js +10 -10
  72. package/GroupChannelList.js +93 -93
  73. package/MessageSearch/components/MessageSearchUI.js +20 -20
  74. package/MessageSearch/context.js +6 -6
  75. package/MessageSearch.js +22 -22
  76. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  77. package/OpenChannel/components/OpenChannelHeader.js +20 -20
  78. package/OpenChannel/components/OpenChannelInput.js +32 -32
  79. package/OpenChannel/components/OpenChannelMessage.js +40 -40
  80. package/OpenChannel/components/OpenChannelMessageList.js +44 -44
  81. package/OpenChannel/components/OpenChannelUI.js +46 -46
  82. package/OpenChannel/context.js +19 -19
  83. package/OpenChannel.js +46 -46
  84. package/OpenChannelList/components/OpenChannelListUI.js +17 -17
  85. package/OpenChannelList/components/OpenChannelPreview.js +6 -6
  86. package/OpenChannelList/context.js +7 -7
  87. package/OpenChannelList.js +17 -17
  88. package/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  89. package/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  90. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  91. package/OpenChannelSettings/components/OperatorUI.js +24 -24
  92. package/OpenChannelSettings/components/ParticipantUI.js +22 -22
  93. package/OpenChannelSettings/context.js +6 -6
  94. package/OpenChannelSettings.js +24 -24
  95. package/README.md +1 -1
  96. package/SendbirdProvider.js +24 -24
  97. package/Thread/components/ParentMessageInfo.js +50 -51
  98. package/Thread/components/ParentMessageInfo.js.map +1 -1
  99. package/Thread/components/ParentMessageInfoItem.js +33 -34
  100. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  101. package/Thread/components/ThreadHeader.js +8 -8
  102. package/Thread/components/ThreadList.js +57 -58
  103. package/Thread/components/ThreadList.js.map +1 -1
  104. package/Thread/components/ThreadListItem.js +57 -58
  105. package/Thread/components/ThreadListItem.js.map +1 -1
  106. package/Thread/components/ThreadMessageInput.js +50 -50
  107. package/Thread/components/ThreadUI.js +75 -69
  108. package/Thread/components/ThreadUI.js.map +1 -1
  109. package/Thread/context.js +15 -15
  110. package/Thread.js +67 -67
  111. package/VoicePlayer/context.js +6 -6
  112. package/VoicePlayer/useVoicePlayer.js +14 -14
  113. package/VoiceRecorder/context.js +41 -17
  114. package/VoiceRecorder/context.js.map +1 -1
  115. package/VoiceRecorder/useVoiceRecorder.js +26 -13
  116. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  117. package/chunks/{bundle-CpZ6kxNS.js → bundle-7Z5tRKSh.js} +8 -8
  118. package/chunks/{bundle-CpZ6kxNS.js.map → bundle-7Z5tRKSh.js.map} +1 -1
  119. package/chunks/bundle-9aLhuFNM.js +70 -0
  120. package/chunks/bundle-9aLhuFNM.js.map +1 -0
  121. package/chunks/{bundle-CLfUwRmM.js → bundle-Ai8qyPbA.js} +1 -1
  122. package/chunks/bundle-Ai8qyPbA.js.map +1 -0
  123. package/chunks/{bundle-B7j5Ot4M.js → bundle-AxNZFlAw.js} +2 -2
  124. package/chunks/{bundle-B7j5Ot4M.js.map → bundle-AxNZFlAw.js.map} +1 -1
  125. package/chunks/{bundle-Dm6abi_C.js → bundle-B3LEmlZi.js} +7 -7
  126. package/chunks/bundle-B3LEmlZi.js.map +1 -0
  127. package/chunks/{bundle-BaY0R7ya.js → bundle-B3mnPoyh.js} +1 -1
  128. package/chunks/{bundle-BaY0R7ya.js.map → bundle-B3mnPoyh.js.map} +1 -1
  129. package/chunks/{bundle-CH68GQ1g.js → bundle-B7-60IU4.js} +1 -1
  130. package/chunks/{bundle-CH68GQ1g.js.map → bundle-B7-60IU4.js.map} +1 -1
  131. package/chunks/{bundle-CsIrMgTF.js → bundle-B7_iRg9X.js} +4 -4
  132. package/chunks/{bundle-CsIrMgTF.js.map → bundle-B7_iRg9X.js.map} +1 -1
  133. package/chunks/{bundle-C1745ld4.js → bundle-BCoHBcCO.js} +2 -2
  134. package/chunks/bundle-BCoHBcCO.js.map +1 -0
  135. package/chunks/{bundle-d4d5qzyI.js → bundle-BDDgEMLv.js} +7 -7
  136. package/{cjs/chunks/bundle-C_K7aiER.js.map → chunks/bundle-BDDgEMLv.js.map} +1 -1
  137. package/chunks/{bundle-BWrDzcCb.js → bundle-BMnUkI_1.js} +8 -8
  138. package/chunks/{bundle-BWrDzcCb.js.map → bundle-BMnUkI_1.js.map} +1 -1
  139. package/chunks/{bundle-DIvZg4xx.js → bundle-BVMrhfCg.js} +8 -8
  140. package/chunks/{bundle-DIvZg4xx.js.map → bundle-BVMrhfCg.js.map} +1 -1
  141. package/chunks/{bundle-CZHW7j5v.js → bundle-B_6cHlxi.js} +35 -35
  142. package/chunks/{bundle-CZHW7j5v.js.map → bundle-B_6cHlxi.js.map} +1 -1
  143. package/chunks/{bundle-D8HqTQr2.js → bundle-BcWCb-Cp.js} +2 -2
  144. package/chunks/bundle-BcWCb-Cp.js.map +1 -0
  145. package/chunks/{bundle-DwFnfe3W.js → bundle-BchWn6vw.js} +1 -1
  146. package/chunks/{bundle-DwFnfe3W.js.map → bundle-BchWn6vw.js.map} +1 -1
  147. package/chunks/{bundle-QGVVX4G0.js → bundle-BdU3u3tm.js} +14 -14
  148. package/chunks/{bundle-QGVVX4G0.js.map → bundle-BdU3u3tm.js.map} +1 -1
  149. package/chunks/{bundle-Bt_opDHG.js → bundle-BdeAXzSw.js} +13 -13
  150. package/chunks/{bundle-Bt_opDHG.js.map → bundle-BdeAXzSw.js.map} +1 -1
  151. package/chunks/bundle-BgNUgE71.js +812 -0
  152. package/chunks/{bundle-COFpO9iN.js.map → bundle-BgNUgE71.js.map} +1 -1
  153. package/chunks/{bundle-wsUjnmyZ.js → bundle-BhhJNQob.js} +5 -5
  154. package/chunks/bundle-BhhJNQob.js.map +1 -0
  155. package/chunks/{bundle-CVZalWDz.js → bundle-BipnEOlF.js} +1 -1
  156. package/chunks/bundle-BipnEOlF.js.map +1 -0
  157. package/chunks/{bundle-5G2fFQ8W.js → bundle-BlUjQCKz.js} +4 -4
  158. package/chunks/bundle-BlUjQCKz.js.map +1 -0
  159. package/chunks/{bundle-M8mLcJDE.js → bundle-BmtUKMXR.js} +6 -6
  160. package/chunks/bundle-BmtUKMXR.js.map +1 -0
  161. package/chunks/{bundle-CLd42kaN.js → bundle-Bp6f6D6D.js} +12 -12
  162. package/chunks/{bundle-CLd42kaN.js.map → bundle-Bp6f6D6D.js.map} +1 -1
  163. package/chunks/{bundle-vBSUAWgP.js → bundle-Bqney81S.js} +5 -5
  164. package/chunks/{bundle-vBSUAWgP.js.map → bundle-Bqney81S.js.map} +1 -1
  165. package/chunks/{bundle-CPv8kS7Z.js → bundle-Bs7198Pk.js} +8 -8
  166. package/chunks/bundle-Bs7198Pk.js.map +1 -0
  167. package/chunks/{bundle-CRimy5oe.js → bundle-BsHcw6fr.js} +12 -12
  168. package/chunks/{bundle-CRimy5oe.js.map → bundle-BsHcw6fr.js.map} +1 -1
  169. package/chunks/{bundle-BP8H7Kmc.js → bundle-BtFXC8cA.js} +9 -9
  170. package/chunks/{bundle-BP8H7Kmc.js.map → bundle-BtFXC8cA.js.map} +1 -1
  171. package/chunks/{bundle-CpRenMkE.js → bundle-BxgeJueo.js} +4 -4
  172. package/chunks/{bundle-CpRenMkE.js.map → bundle-BxgeJueo.js.map} +1 -1
  173. package/chunks/{bundle-BHlB_i0L.js → bundle-C02vud-s.js} +1 -1
  174. package/chunks/bundle-C02vud-s.js.map +1 -0
  175. package/chunks/{bundle-Bx7E9282.js → bundle-C1zhhus7.js} +15 -15
  176. package/chunks/{bundle-Bx7E9282.js.map → bundle-C1zhhus7.js.map} +1 -1
  177. package/chunks/{bundle-KktholHJ.js → bundle-C2AsHW2Z.js} +5 -5
  178. package/chunks/bundle-C2AsHW2Z.js.map +1 -0
  179. package/chunks/{bundle-TZOGHqqu.js → bundle-C4vaNlR_.js} +1 -1
  180. package/chunks/bundle-C4vaNlR_.js.map +1 -0
  181. package/chunks/{bundle-BmPBPfxJ.js → bundle-C7_ty82z.js} +1 -1
  182. package/chunks/bundle-C7_ty82z.js.map +1 -0
  183. package/chunks/{bundle-CZOeSpiT.js → bundle-C8WT1aiB.js} +1 -1
  184. package/chunks/bundle-C8WT1aiB.js.map +1 -0
  185. package/chunks/{bundle-C-mX3Cp6.js → bundle-C9gs0LjG.js} +1 -1
  186. package/chunks/bundle-C9gs0LjG.js.map +1 -0
  187. package/chunks/{bundle-BjIAYO65.js → bundle-CCX07xnO.js} +5 -5
  188. package/chunks/{bundle-BjIAYO65.js.map → bundle-CCX07xnO.js.map} +1 -1
  189. package/chunks/{bundle-BcuhBdVJ.js → bundle-CCrXrmiG.js} +4 -4
  190. package/chunks/bundle-CCrXrmiG.js.map +1 -0
  191. package/chunks/{bundle-Btok2FPq.js → bundle-CIs7P2hk.js} +6 -6
  192. package/chunks/bundle-CIs7P2hk.js.map +1 -0
  193. package/chunks/{bundle-e0yXEInT.js → bundle-CL8b_Ixu.js} +2 -2
  194. package/chunks/{bundle-e0yXEInT.js.map → bundle-CL8b_Ixu.js.map} +1 -1
  195. package/chunks/{bundle-CUUnSZk2.js → bundle-CMhhU1aW.js} +12 -12
  196. package/chunks/{bundle-CUUnSZk2.js.map → bundle-CMhhU1aW.js.map} +1 -1
  197. package/chunks/{bundle-D7X4fjUn.js → bundle-CMlDJNw1.js} +1 -1
  198. package/chunks/bundle-CMlDJNw1.js.map +1 -0
  199. package/chunks/{bundle-ybWGQIGZ.js → bundle-CMxebKTn.js} +1 -1
  200. package/chunks/{bundle-ybWGQIGZ.js.map → bundle-CMxebKTn.js.map} +1 -1
  201. package/chunks/{bundle-YII161h1.js → bundle-CST68P9J.js} +1 -1
  202. package/chunks/bundle-CST68P9J.js.map +1 -0
  203. package/chunks/{bundle-Bx2EAp0W.js → bundle-CU3hmlbx.js} +3 -3
  204. package/chunks/{bundle-Bx2EAp0W.js.map → bundle-CU3hmlbx.js.map} +1 -1
  205. package/chunks/{bundle-DRsIdhZD.js → bundle-CVnnyLvy.js} +1 -1
  206. package/chunks/bundle-CVnnyLvy.js.map +1 -0
  207. package/chunks/{bundle-COe8BPAs.js → bundle-CWtQaD0w.js} +1 -1
  208. package/chunks/bundle-CWtQaD0w.js.map +1 -0
  209. package/chunks/{bundle-5bOTjqTo.js → bundle-CXluEH6z.js} +11 -11
  210. package/chunks/{bundle-5bOTjqTo.js.map → bundle-CXluEH6z.js.map} +1 -1
  211. package/chunks/{bundle-BPmYBX7K.js → bundle-CXuFd483.js} +3 -3
  212. package/chunks/bundle-CXuFd483.js.map +1 -0
  213. package/chunks/{bundle-C8ih6sRL.js → bundle-Cbh86piw.js} +3 -3
  214. package/chunks/{bundle-C8ih6sRL.js.map → bundle-Cbh86piw.js.map} +1 -1
  215. package/chunks/{bundle-DnQvOxKQ.js → bundle-CcDuuCWw.js} +6 -6
  216. package/chunks/{bundle-DnQvOxKQ.js.map → bundle-CcDuuCWw.js.map} +1 -1
  217. package/chunks/{bundle--W1OIcEL.js → bundle-Cga8xlJ0.js} +2 -2
  218. package/chunks/bundle-Cga8xlJ0.js.map +1 -0
  219. package/chunks/{bundle-mSUtEeD1.js → bundle-CksP4Kht.js} +1 -1
  220. package/chunks/{bundle-mSUtEeD1.js.map → bundle-CksP4Kht.js.map} +1 -1
  221. package/chunks/{bundle-Do5EXRz1.js → bundle-ClCXQsj5.js} +3 -3
  222. package/chunks/bundle-ClCXQsj5.js.map +1 -0
  223. package/chunks/{bundle-CZkVELoW.js → bundle-ClipcVBx.js} +1 -1
  224. package/chunks/{bundle-CZkVELoW.js.map → bundle-ClipcVBx.js.map} +1 -1
  225. package/chunks/{bundle-C7O7Ecw3.js → bundle-Cor8jslq.js} +4 -4
  226. package/chunks/bundle-Cor8jslq.js.map +1 -0
  227. package/chunks/{bundle-BEoJjyra.js → bundle-Cpb8pncu.js} +1 -1
  228. package/chunks/bundle-Cpb8pncu.js.map +1 -0
  229. package/chunks/{bundle-ChFCXvmT.js → bundle-Csno5Z9M.js} +3 -3
  230. package/chunks/bundle-Csno5Z9M.js.map +1 -0
  231. package/chunks/{bundle-BFHb2a4N.js → bundle-CycHrvkM.js} +1 -1
  232. package/chunks/bundle-CycHrvkM.js.map +1 -0
  233. package/chunks/{bundle-BCkp7Oqg.js → bundle-D06lbH5O.js} +1 -1
  234. package/chunks/bundle-D06lbH5O.js.map +1 -0
  235. package/chunks/{bundle-BT8LWoiV.js → bundle-D5iDeF-k.js} +5 -5
  236. package/chunks/{bundle-BT8LWoiV.js.map → bundle-D5iDeF-k.js.map} +1 -1
  237. package/chunks/{bundle-BnCmgARn.js → bundle-D6ITWa_c.js} +5 -5
  238. package/chunks/{bundle-BnCmgARn.js.map → bundle-D6ITWa_c.js.map} +1 -1
  239. package/chunks/{bundle-Bo1Nu7eF.js → bundle-D6dGyB_D.js} +1 -1
  240. package/chunks/bundle-D6dGyB_D.js.map +1 -0
  241. package/chunks/{bundle-DcMkViyS.js → bundle-D7lW6nBz.js} +10 -10
  242. package/chunks/{bundle-DcMkViyS.js.map → bundle-D7lW6nBz.js.map} +1 -1
  243. package/chunks/{bundle-RhHfvfJI.js → bundle-D8Ozo8zc.js} +2 -2
  244. package/chunks/bundle-D8Ozo8zc.js.map +1 -0
  245. package/chunks/{bundle-BMYq1Zh-.js → bundle-D9bsq5VV.js} +7 -7
  246. package/chunks/bundle-D9bsq5VV.js.map +1 -0
  247. package/chunks/{bundle-DJSKRkgz.js → bundle-D9lNZKFN.js} +5 -5
  248. package/chunks/{bundle-DHlxTlun.js.map → bundle-D9lNZKFN.js.map} +1 -1
  249. package/chunks/{bundle-CkR_DmM3.js → bundle-DA50EIUN.js} +1 -1
  250. package/chunks/bundle-DA50EIUN.js.map +1 -0
  251. package/chunks/{bundle-BESkqMH6.js → bundle-DCJroIYu.js} +1 -1
  252. package/chunks/bundle-DCJroIYu.js.map +1 -0
  253. package/chunks/{bundle-9fiC-gLs.js → bundle-DIesZCjx.js} +4 -4
  254. package/chunks/bundle-DIesZCjx.js.map +1 -0
  255. package/chunks/{bundle-gWIezT6x.js → bundle-DLDOfzKv.js} +4 -4
  256. package/chunks/{bundle-gWIezT6x.js.map → bundle-DLDOfzKv.js.map} +1 -1
  257. package/chunks/{bundle-BilbLD6s.js → bundle-DSSec5oB.js} +2 -2
  258. package/chunks/bundle-DSSec5oB.js.map +1 -0
  259. package/chunks/{bundle-Dck9zcgg.js → bundle-DUBqVC4p.js} +3 -3
  260. package/chunks/{bundle-Dck9zcgg.js.map → bundle-DUBqVC4p.js.map} +1 -1
  261. package/chunks/{bundle-DAJvYYTO.js → bundle-DYIe2dAb.js} +1 -1
  262. package/chunks/bundle-DYIe2dAb.js.map +1 -0
  263. package/chunks/{bundle-ByPmXqv5.js → bundle-D_Kph3iB.js} +3 -3
  264. package/chunks/{bundle-ByPmXqv5.js.map → bundle-D_Kph3iB.js.map} +1 -1
  265. package/chunks/{bundle-BRfCkqhH.js → bundle-DaWUaazf.js} +4 -4
  266. package/chunks/bundle-DaWUaazf.js.map +1 -0
  267. package/chunks/{bundle-BrSeZGBM.js → bundle-DdHHTgW1.js} +1 -1
  268. package/chunks/{bundle-BrSeZGBM.js.map → bundle-DdHHTgW1.js.map} +1 -1
  269. package/chunks/{bundle-DHlxTlun.js → bundle-Ddgxdf0e.js} +7 -7
  270. package/chunks/{bundle-DJSKRkgz.js.map → bundle-Ddgxdf0e.js.map} +1 -1
  271. package/chunks/{bundle-CJ2G2_pA.js → bundle-DgBKBKWv.js} +4 -4
  272. package/chunks/bundle-DgBKBKWv.js.map +1 -0
  273. package/chunks/{bundle-DAU8hvP3.js → bundle-Dhe057yv.js} +1 -1
  274. package/chunks/bundle-Dhe057yv.js.map +1 -0
  275. package/chunks/{bundle-DSIHU5l6.js → bundle-Di12znWX.js} +9 -9
  276. package/chunks/{bundle-DSIHU5l6.js.map → bundle-Di12znWX.js.map} +1 -1
  277. package/chunks/{bundle-CI9B8TCB.js → bundle-DoBbqd-b.js} +1 -1
  278. package/chunks/bundle-DoBbqd-b.js.map +1 -0
  279. package/chunks/{bundle-B9O57ngP.js → bundle-Dos67JQu.js} +16 -16
  280. package/chunks/{bundle-B9O57ngP.js.map → bundle-Dos67JQu.js.map} +1 -1
  281. package/chunks/{bundle-CI5avNOP.js → bundle-Duvz8ijj.js} +2 -2
  282. package/chunks/bundle-Duvz8ijj.js.map +1 -0
  283. package/chunks/{bundle-Bj2XkLef.js → bundle-E-xAXN4z.js} +1 -1
  284. package/chunks/bundle-E-xAXN4z.js.map +1 -0
  285. package/chunks/{bundle-zaoY7liH.js → bundle-F7fqB8kf.js} +3 -3
  286. package/chunks/bundle-F7fqB8kf.js.map +1 -0
  287. package/chunks/{bundle-COFpO9iN.js → bundle-Fa83OkPp.js} +57 -40
  288. package/chunks/bundle-Fa83OkPp.js.map +1 -0
  289. package/chunks/{bundle-DZoJYjj1.js → bundle-KVJql7fF.js} +6 -6
  290. package/chunks/{bundle-DZoJYjj1.js.map → bundle-KVJql7fF.js.map} +1 -1
  291. package/chunks/{bundle-CsMoZtyW.js → bundle-MW8-syLi.js} +4 -4
  292. package/chunks/{bundle-CsMoZtyW.js.map → bundle-MW8-syLi.js.map} +1 -1
  293. package/chunks/{bundle-DnjdXo2G.js → bundle-Ocvb3imR.js} +1 -1
  294. package/chunks/bundle-Ocvb3imR.js.map +1 -0
  295. package/chunks/{bundle-xTljENlV.js → bundle-VIy-gqvO.js} +1 -1
  296. package/chunks/bundle-VIy-gqvO.js.map +1 -0
  297. package/chunks/{bundle-BRgACRFj.js → bundle-XLrkWsHa.js} +1 -1
  298. package/chunks/bundle-XLrkWsHa.js.map +1 -0
  299. package/chunks/{bundle-BMZLZn9T.js → bundle-ZT7FQGJY.js} +19 -18
  300. package/chunks/{bundle-DlaJ1whz.js.map → bundle-ZT7FQGJY.js.map} +1 -1
  301. package/chunks/{bundle-w192oTSw.js → bundle-dcBmP6Wp.js} +5 -5
  302. package/chunks/{bundle-BMZLZn9T.js.map → bundle-dcBmP6Wp.js.map} +1 -1
  303. package/chunks/{bundle-bWa4XkMW.js → bundle-jdHMtdYa.js} +4 -4
  304. package/chunks/{bundle-bWa4XkMW.js.map → bundle-jdHMtdYa.js.map} +1 -1
  305. package/chunks/{bundle-B4M6_aww.js → bundle-x5op8GJH.js} +1 -1
  306. package/chunks/bundle-x5op8GJH.js.map +1 -0
  307. package/chunks/{bundle-DmheIMJ4.js → bundle-zp6GzRHw.js} +7 -7
  308. package/chunks/bundle-zp6GzRHw.js.map +1 -0
  309. package/cjs/App.js +93 -93
  310. package/cjs/Channel/components/ChannelHeader.js +33 -33
  311. package/cjs/Channel/components/ChannelUI.js +72 -72
  312. package/cjs/Channel/components/FileViewer.js +31 -31
  313. package/cjs/Channel/components/FrozenNotification.js +6 -6
  314. package/cjs/Channel/components/Message.js +59 -59
  315. package/cjs/Channel/components/MessageInput.js +48 -48
  316. package/cjs/Channel/components/MessageInputWrapper.js +48 -48
  317. package/cjs/Channel/components/MessageList.js +63 -63
  318. package/cjs/Channel/components/RemoveMessageModal.js +30 -30
  319. package/cjs/Channel/components/SuggestedMentionList.js +30 -30
  320. package/cjs/Channel/components/TypingIndicator.js +9 -9
  321. package/cjs/Channel/components/UnreadCount.js +8 -8
  322. package/cjs/Channel/context.js +122 -25
  323. package/cjs/Channel/context.js.map +1 -1
  324. package/cjs/Channel/hooks/useHandleUploadFiles.js +19 -19
  325. package/cjs/Channel/hooks/useInitialMessagesFetch.js +8 -8
  326. package/cjs/Channel/utils/compareMessagesForGrouping.js +8 -8
  327. package/cjs/Channel/utils/getMessagePartsInfo.js +9 -9
  328. package/cjs/Channel.js +72 -72
  329. package/cjs/ChannelList/components/AddChannel.js +93 -93
  330. package/cjs/ChannelList/components/ChannelListHeader.js +13 -13
  331. package/cjs/ChannelList/components/ChannelListUI.js +93 -93
  332. package/cjs/ChannelList/components/ChannelPreview.js +32 -32
  333. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -17
  334. package/cjs/ChannelList/context.js +14 -14
  335. package/cjs/ChannelList.js +93 -93
  336. package/cjs/ChannelSettings/components/ChannelProfile.js +23 -23
  337. package/cjs/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  338. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  339. package/cjs/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  340. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +31 -31
  341. package/cjs/ChannelSettings/components/EditDetailsModal.js +19 -19
  342. package/cjs/ChannelSettings/components/LeaveChannel.js +20 -20
  343. package/cjs/ChannelSettings/components/ModerationPanel.js +29 -29
  344. package/cjs/ChannelSettings/components/UserListItem.js +19 -19
  345. package/cjs/ChannelSettings/components/UserPanel.js +28 -28
  346. package/cjs/ChannelSettings/context.js +9 -9
  347. package/cjs/ChannelSettings/hooks/useMenuList.js +29 -29
  348. package/cjs/ChannelSettings.js +31 -31
  349. package/cjs/CreateChannel/components/CreateChannelUI.js +93 -93
  350. package/cjs/CreateChannel/components/InviteUsers.js +93 -93
  351. package/cjs/CreateChannel/components/SelectChannelType.js +93 -93
  352. package/cjs/CreateChannel/context.js +93 -93
  353. package/cjs/CreateChannel.js +93 -93
  354. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +15 -15
  355. package/cjs/CreateOpenChannel/context.js +4 -4
  356. package/cjs/CreateOpenChannel.js +15 -15
  357. package/cjs/EditUserProfile/components/EditUserProfileUI.js +15 -15
  358. package/cjs/EditUserProfile/context.js +1 -1
  359. package/cjs/EditUserProfile.js +15 -15
  360. package/cjs/GroupChannel/components/FileViewer.js +28 -28
  361. package/cjs/GroupChannel/components/FrozenNotification.js +6 -6
  362. package/cjs/GroupChannel/components/GroupChannelHeader.js +29 -29
  363. package/cjs/GroupChannel/components/GroupChannelUI.js +67 -67
  364. package/cjs/GroupChannel/components/Message.js +56 -56
  365. package/cjs/GroupChannel/components/MessageInputWrapper.js +44 -44
  366. package/cjs/GroupChannel/components/MessageList.js +58 -58
  367. package/cjs/GroupChannel/components/RemoveMessageModal.js +27 -27
  368. package/cjs/GroupChannel/components/SuggestedMentionList.js +15 -15
  369. package/cjs/GroupChannel/components/TypingIndicator.js +9 -9
  370. package/cjs/GroupChannel/components/UnreadCount.js +8 -8
  371. package/cjs/GroupChannel/context.js +15 -15
  372. package/cjs/GroupChannel.js +67 -67
  373. package/cjs/GroupChannelList/components/AddGroupChannel.js +93 -93
  374. package/cjs/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  375. package/cjs/GroupChannelList/components/GroupChannelListItem.js +32 -32
  376. package/cjs/GroupChannelList/components/GroupChannelListUI.js +93 -93
  377. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js +17 -17
  378. package/cjs/GroupChannelList/context.js +10 -10
  379. package/cjs/GroupChannelList.js +93 -93
  380. package/cjs/MessageSearch/components/MessageSearchUI.js +20 -20
  381. package/cjs/MessageSearch/context.js +6 -6
  382. package/cjs/MessageSearch.js +22 -22
  383. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  384. package/cjs/OpenChannel/components/OpenChannelHeader.js +20 -20
  385. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -32
  386. package/cjs/OpenChannel/components/OpenChannelMessage.js +40 -40
  387. package/cjs/OpenChannel/components/OpenChannelMessageList.js +44 -44
  388. package/cjs/OpenChannel/components/OpenChannelUI.js +46 -46
  389. package/cjs/OpenChannel/context.js +19 -19
  390. package/cjs/OpenChannel.js +46 -46
  391. package/cjs/OpenChannelList/components/OpenChannelListUI.js +17 -17
  392. package/cjs/OpenChannelList/components/OpenChannelPreview.js +6 -6
  393. package/cjs/OpenChannelList/context.js +7 -7
  394. package/cjs/OpenChannelList.js +17 -17
  395. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  396. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  397. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  398. package/cjs/OpenChannelSettings/components/OperatorUI.js +24 -24
  399. package/cjs/OpenChannelSettings/components/ParticipantUI.js +22 -22
  400. package/cjs/OpenChannelSettings/context.js +6 -6
  401. package/cjs/OpenChannelSettings.js +24 -24
  402. package/cjs/SendbirdProvider.js +24 -24
  403. package/cjs/Thread/components/ParentMessageInfo.js +50 -51
  404. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  405. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -34
  406. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  407. package/cjs/Thread/components/ThreadHeader.js +8 -8
  408. package/cjs/Thread/components/ThreadList.js +57 -58
  409. package/cjs/Thread/components/ThreadList.js.map +1 -1
  410. package/cjs/Thread/components/ThreadListItem.js +57 -58
  411. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  412. package/cjs/Thread/components/ThreadMessageInput.js +50 -50
  413. package/cjs/Thread/components/ThreadUI.js +77 -71
  414. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  415. package/cjs/Thread/context.js +15 -15
  416. package/cjs/Thread.js +67 -67
  417. package/cjs/VoicePlayer/context.js +6 -6
  418. package/cjs/VoicePlayer/useVoicePlayer.js +14 -14
  419. package/cjs/VoiceRecorder/context.js +40 -16
  420. package/cjs/VoiceRecorder/context.js.map +1 -1
  421. package/cjs/VoiceRecorder/useVoiceRecorder.js +25 -12
  422. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  423. package/cjs/chunks/{bundle-CYCYtTfx.js → bundle-025yc0FO.js} +7 -7
  424. package/cjs/chunks/{bundle-CYCYtTfx.js.map → bundle-025yc0FO.js.map} +1 -1
  425. package/cjs/chunks/{bundle-CgrB2Va6.js → bundle-04JB7_jp.js} +14 -14
  426. package/cjs/chunks/bundle-04JB7_jp.js.map +1 -0
  427. package/cjs/chunks/{bundle-k-EnLf3-.js → bundle-31Nioqpv.js} +5 -5
  428. package/cjs/chunks/bundle-31Nioqpv.js.map +1 -0
  429. package/cjs/chunks/{bundle-DM0hUlx4.js → bundle-4o6vuUdQ.js} +3 -3
  430. package/cjs/chunks/bundle-4o6vuUdQ.js.map +1 -0
  431. package/cjs/chunks/{bundle-DVEX2FpT.js → bundle-7nvkYDAc.js} +56 -39
  432. package/cjs/chunks/bundle-7nvkYDAc.js.map +1 -0
  433. package/cjs/chunks/{bundle-BgTHYJs7.js → bundle-7z8ksUr-.js} +10 -10
  434. package/cjs/chunks/bundle-7z8ksUr-.js.map +1 -0
  435. package/cjs/chunks/{bundle-BFC8OQzW.js → bundle-AEYqPyQc.js} +2 -2
  436. package/cjs/chunks/bundle-AEYqPyQc.js.map +1 -0
  437. package/cjs/chunks/{bundle-S1TvZMO8.js → bundle-AdY1vaOK.js} +5 -5
  438. package/cjs/chunks/bundle-AdY1vaOK.js.map +1 -0
  439. package/cjs/chunks/{bundle-BasmAwwJ.js → bundle-B2X1DIz7.js} +6 -6
  440. package/cjs/chunks/{bundle-BasmAwwJ.js.map → bundle-B2X1DIz7.js.map} +1 -1
  441. package/cjs/chunks/{bundle-Dy5NFeil.js → bundle-B4WIx1ul.js} +4 -4
  442. package/cjs/chunks/bundle-B4WIx1ul.js.map +1 -0
  443. package/cjs/chunks/{bundle-D6kUkJTS.js → bundle-B6dNt9rL.js} +6 -6
  444. package/cjs/chunks/bundle-B6dNt9rL.js.map +1 -0
  445. package/cjs/chunks/{bundle-o6JT7yPs.js → bundle-BCLFAROV.js} +2 -2
  446. package/cjs/chunks/bundle-BCLFAROV.js.map +1 -0
  447. package/cjs/chunks/{bundle-B4xSRCqX.js → bundle-BDdpx_Vy.js} +5 -5
  448. package/cjs/chunks/{bundle-B4xSRCqX.js.map → bundle-BDdpx_Vy.js.map} +1 -1
  449. package/cjs/chunks/{bundle-MaS7JhxM.js → bundle-BFD7OOOw.js} +1 -1
  450. package/cjs/chunks/bundle-BFD7OOOw.js.map +1 -0
  451. package/cjs/chunks/{bundle-pp5Im2ov.js → bundle-BFEjvfau.js} +12 -12
  452. package/cjs/chunks/bundle-BFEjvfau.js.map +1 -0
  453. package/cjs/chunks/{bundle-BX9JpkVP.js → bundle-BGe3zkmE.js} +1 -1
  454. package/cjs/chunks/bundle-BGe3zkmE.js.map +1 -0
  455. package/cjs/chunks/{bundle-BQ-ogvw1.js → bundle-BGhaZvuO.js} +4 -4
  456. package/cjs/chunks/{bundle-BQ-ogvw1.js.map → bundle-BGhaZvuO.js.map} +1 -1
  457. package/cjs/chunks/{bundle-D6cLWEiK.js → bundle-BNBSN8J4.js} +8 -8
  458. package/cjs/chunks/bundle-BNBSN8J4.js.map +1 -0
  459. package/cjs/chunks/{bundle-D9kqUKXH.js → bundle-BPwRqZ_Q.js} +3 -3
  460. package/cjs/chunks/bundle-BPwRqZ_Q.js.map +1 -0
  461. package/cjs/chunks/{bundle-DSt8v0lq.js → bundle-BXiW6k4J.js} +1 -1
  462. package/cjs/chunks/bundle-BXiW6k4J.js.map +1 -0
  463. package/cjs/chunks/{bundle-Bz064A5D.js → bundle-BXv74z8H.js} +7 -7
  464. package/cjs/chunks/{bundle-Bz064A5D.js.map → bundle-BXv74z8H.js.map} +1 -1
  465. package/cjs/chunks/{bundle-BBe_rHLd.js → bundle-BYQuT_IB.js} +2 -2
  466. package/cjs/chunks/bundle-BYQuT_IB.js.map +1 -0
  467. package/cjs/chunks/{bundle-iVhmJwkd.js → bundle-BZSbekAd.js} +7 -7
  468. package/cjs/chunks/bundle-BZSbekAd.js.map +1 -0
  469. package/cjs/chunks/{bundle-KiH5TJhW.js → bundle-BeAH8ppb.js} +4 -4
  470. package/cjs/chunks/bundle-BeAH8ppb.js.map +1 -0
  471. package/cjs/chunks/{bundle-CRCC2Qr1.js → bundle-BgiQlW2N.js} +2 -2
  472. package/cjs/chunks/{bundle-CRCC2Qr1.js.map → bundle-BgiQlW2N.js.map} +1 -1
  473. package/cjs/chunks/{bundle-Bzxy-3oT.js → bundle-BsgcaZ2h.js} +7 -7
  474. package/cjs/chunks/bundle-BsgcaZ2h.js.map +1 -0
  475. package/cjs/chunks/{bundle-BQGy4D0g.js → bundle-BvfggZui.js} +5 -5
  476. package/cjs/chunks/{bundle-BQGy4D0g.js.map → bundle-BvfggZui.js.map} +1 -1
  477. package/cjs/chunks/{bundle-Dmbgwti3.js → bundle-C-JicQq3.js} +1 -1
  478. package/cjs/chunks/{bundle-Dmbgwti3.js.map → bundle-C-JicQq3.js.map} +1 -1
  479. package/cjs/chunks/{bundle-CSUhrMB1.js → bundle-C4xnXl2z.js} +3 -3
  480. package/cjs/chunks/{bundle-CSUhrMB1.js.map → bundle-C4xnXl2z.js.map} +1 -1
  481. package/cjs/chunks/{bundle-CPkYpqIz.js → bundle-C5PNsbO8.js} +35 -35
  482. package/cjs/chunks/{bundle-CPkYpqIz.js.map → bundle-C5PNsbO8.js.map} +1 -1
  483. package/cjs/chunks/{bundle-BtfCkBUa.js → bundle-C7PwJ9iE.js} +1 -1
  484. package/cjs/chunks/{bundle-BtfCkBUa.js.map → bundle-C7PwJ9iE.js.map} +1 -1
  485. package/cjs/chunks/{bundle-CCha8T6e.js → bundle-C7hljzFu.js} +1 -1
  486. package/cjs/chunks/bundle-C7hljzFu.js.map +1 -0
  487. package/cjs/chunks/{bundle-C8FqXV_7.js → bundle-C7ydXcs7.js} +3 -3
  488. package/cjs/chunks/{bundle-C8FqXV_7.js.map → bundle-C7ydXcs7.js.map} +1 -1
  489. package/cjs/chunks/{bundle-CD8Dp71m.js → bundle-CCfKqfsc.js} +5 -5
  490. package/cjs/chunks/{bundle-CD8Dp71m.js.map → bundle-CCfKqfsc.js.map} +1 -1
  491. package/cjs/chunks/{bundle-4s-1Q0Vo.js → bundle-CFlDhpYt.js} +1 -1
  492. package/cjs/chunks/bundle-CFlDhpYt.js.map +1 -0
  493. package/cjs/chunks/{bundle-7IQ3xcsN.js → bundle-CHRcFuoU.js} +1 -1
  494. package/cjs/chunks/bundle-CHRcFuoU.js.map +1 -0
  495. package/cjs/chunks/{bundle-DG9KyMWt.js → bundle-CIRlgPaD.js} +3 -4
  496. package/cjs/chunks/{bundle-DG9KyMWt.js.map → bundle-CIRlgPaD.js.map} +1 -1
  497. package/cjs/chunks/{bundle-B8LA0hdq.js → bundle-CJ0UXnTP.js} +5 -5
  498. package/cjs/chunks/bundle-CJ0UXnTP.js.map +1 -0
  499. package/cjs/chunks/{bundle-BEC4gQsG.js → bundle-CKXQv7lL.js} +12 -12
  500. package/cjs/chunks/{bundle-BEC4gQsG.js.map → bundle-CKXQv7lL.js.map} +1 -1
  501. package/cjs/chunks/{bundle-DcBTt6H_.js → bundle-CNOpIwsK.js} +1 -1
  502. package/cjs/chunks/bundle-CNOpIwsK.js.map +1 -0
  503. package/cjs/chunks/{bundle-w-bxod6O.js → bundle-CS-p4pNk.js} +8 -8
  504. package/cjs/chunks/bundle-CS-p4pNk.js.map +1 -0
  505. package/cjs/chunks/{bundle-DvQTiW5i.js → bundle-CWpoYeHo.js} +6 -6
  506. package/cjs/chunks/bundle-CWpoYeHo.js.map +1 -0
  507. package/cjs/chunks/{bundle-D5jDxxQu.js → bundle-Cg7kcMQx.js} +19 -18
  508. package/cjs/chunks/bundle-Cg7kcMQx.js.map +1 -0
  509. package/cjs/chunks/{bundle-CjtFf3Zm.js → bundle-CiHxHTKC.js} +11 -11
  510. package/cjs/chunks/{bundle-CjtFf3Zm.js.map → bundle-CiHxHTKC.js.map} +1 -1
  511. package/cjs/chunks/{bundle-CN82E46K.js → bundle-Ciqscdyw.js} +1 -1
  512. package/cjs/chunks/bundle-Ciqscdyw.js.map +1 -0
  513. package/cjs/chunks/{bundle-Ca6tAmei.js → bundle-ClEp9fdZ.js} +1 -1
  514. package/cjs/chunks/bundle-ClEp9fdZ.js.map +1 -0
  515. package/cjs/chunks/{bundle-CuQNzWcL.js → bundle-Cm36xrFZ.js} +1 -1
  516. package/cjs/chunks/bundle-Cm36xrFZ.js.map +1 -0
  517. package/cjs/chunks/{bundle-BhrbaFki.js → bundle-CmWw4zaT.js} +9 -9
  518. package/cjs/chunks/{bundle-BhrbaFki.js.map → bundle-CmWw4zaT.js.map} +1 -1
  519. package/cjs/chunks/{bundle-rlmMFJoM.js → bundle-CpJtrTmG.js} +1 -1
  520. package/cjs/chunks/bundle-CpJtrTmG.js.map +1 -0
  521. package/cjs/chunks/{bundle-CM1_8auK.js → bundle-CsNHkdh_.js} +12 -12
  522. package/cjs/chunks/{bundle-CM1_8auK.js.map → bundle-CsNHkdh_.js.map} +1 -1
  523. package/cjs/chunks/{bundle-Qchcdxzl.js → bundle-CtNsx3WQ.js} +1 -1
  524. package/cjs/chunks/bundle-CtNsx3WQ.js.map +1 -0
  525. package/cjs/chunks/{bundle-CS1fDSca.js → bundle-CyGPqsX6.js} +4 -4
  526. package/cjs/chunks/bundle-CyGPqsX6.js.map +1 -0
  527. package/cjs/chunks/{bundle-BJh5laMK.js → bundle-D2spSJZz.js} +4 -4
  528. package/cjs/chunks/bundle-D2spSJZz.js.map +1 -0
  529. package/cjs/chunks/{bundle-DoUok50d.js → bundle-D7y7huIH.js} +1 -1
  530. package/cjs/chunks/bundle-D7y7huIH.js.map +1 -0
  531. package/cjs/chunks/{bundle-Bdv47UAX.js → bundle-DBCy8WKM.js} +1 -1
  532. package/cjs/chunks/bundle-DBCy8WKM.js.map +1 -0
  533. package/cjs/chunks/{bundle-DbKfrKfh.js → bundle-DGKzLk3f.js} +1 -1
  534. package/cjs/chunks/bundle-DGKzLk3f.js.map +1 -0
  535. package/cjs/chunks/{bundle-CZryxVSd.js → bundle-DJ5AMm3J.js} +1 -1
  536. package/cjs/chunks/bundle-DJ5AMm3J.js.map +1 -0
  537. package/cjs/chunks/{bundle-CfZHnkRA.js → bundle-DJWXXWcb.js} +1 -1
  538. package/cjs/chunks/bundle-DJWXXWcb.js.map +1 -0
  539. package/cjs/chunks/{bundle-DFZnxvI-.js → bundle-DK5Wyeut.js} +1 -1
  540. package/cjs/chunks/{bundle-DFZnxvI-.js.map → bundle-DK5Wyeut.js.map} +1 -1
  541. package/cjs/chunks/{bundle-BF83Typ-.js → bundle-DLnbc4AZ.js} +1 -1
  542. package/cjs/chunks/bundle-DLnbc4AZ.js.map +1 -0
  543. package/cjs/chunks/{bundle-D5OHu8i-.js → bundle-DNM70g-8.js} +4 -4
  544. package/cjs/chunks/bundle-DNM70g-8.js.map +1 -0
  545. package/cjs/chunks/{bundle-CNWIcRd-.js → bundle-DOiYaA95.js} +2 -2
  546. package/cjs/chunks/{bundle-CNWIcRd-.js.map → bundle-DOiYaA95.js.map} +1 -1
  547. package/cjs/chunks/{bundle-CILoXVWP.js → bundle-DThpfa4v.js} +1 -1
  548. package/cjs/chunks/{bundle-CILoXVWP.js.map → bundle-DThpfa4v.js.map} +1 -1
  549. package/cjs/chunks/{bundle-C_K7aiER.js → bundle-DUcsQrAm.js} +8 -8
  550. package/{chunks/bundle-d4d5qzyI.js.map → cjs/chunks/bundle-DUcsQrAm.js.map} +1 -1
  551. package/cjs/chunks/{bundle-BvtN3hf7.js → bundle-DUyAlC-l.js} +16 -16
  552. package/cjs/chunks/{bundle-BvtN3hf7.js.map → bundle-DUyAlC-l.js.map} +1 -1
  553. package/cjs/chunks/{bundle-B5T66O9D.js → bundle-DZ1NsEr1.js} +13 -13
  554. package/cjs/chunks/{bundle-B5T66O9D.js.map → bundle-DZ1NsEr1.js.map} +1 -1
  555. package/cjs/chunks/{bundle-BLaWcq0s.js → bundle-DZweeiPp.js} +4 -4
  556. package/cjs/chunks/bundle-DZweeiPp.js.map +1 -0
  557. package/cjs/chunks/{bundle-D72hdHrQ.js → bundle-DbRRMbCK.js} +5 -5
  558. package/cjs/chunks/bundle-DbRRMbCK.js.map +1 -0
  559. package/cjs/chunks/{bundle-BHDLgjUU.js → bundle-DgcXqKef.js} +1 -1
  560. package/cjs/chunks/bundle-DgcXqKef.js.map +1 -0
  561. package/cjs/chunks/{bundle-TCfs6MK6.js → bundle-DghshFGh.js} +6 -6
  562. package/cjs/chunks/bundle-DghshFGh.js.map +1 -0
  563. package/cjs/chunks/{bundle-C0B4eQSh.js → bundle-DgwK2_Vw.js} +2 -2
  564. package/cjs/chunks/bundle-DgwK2_Vw.js.map +1 -0
  565. package/cjs/chunks/{bundle-BoEX39oK.js → bundle-DiZUQHh6.js} +1 -1
  566. package/cjs/chunks/bundle-DiZUQHh6.js.map +1 -0
  567. package/cjs/chunks/{bundle-CF9MwXWw.js → bundle-DjJpKbvL.js} +1 -1
  568. package/cjs/chunks/bundle-DjJpKbvL.js.map +1 -0
  569. package/cjs/chunks/{bundle-wdCnvx79.js → bundle-Dtj1g5uX.js} +3 -3
  570. package/cjs/chunks/bundle-Dtj1g5uX.js.map +1 -0
  571. package/cjs/chunks/{bundle-JfQwOyVA.js → bundle-DvOxGAw6.js} +3 -3
  572. package/cjs/chunks/bundle-DvOxGAw6.js.map +1 -0
  573. package/cjs/chunks/{bundle-RiYoAHYl.js → bundle-EFVi9_Vx.js} +2 -2
  574. package/cjs/chunks/bundle-EFVi9_Vx.js.map +1 -0
  575. package/cjs/chunks/{bundle-DHujV3Ns.js → bundle-HkBDm4Qf.js} +7 -7
  576. package/cjs/chunks/bundle-HkBDm4Qf.js.map +1 -0
  577. package/cjs/chunks/{bundle-DLPt543m.js → bundle-L4FAt7Cn.js} +1 -1
  578. package/cjs/chunks/bundle-L4FAt7Cn.js.map +1 -0
  579. package/cjs/chunks/{bundle-CbINTXEf.js → bundle-LTOPY_d-.js} +1 -1
  580. package/cjs/chunks/bundle-LTOPY_d-.js.map +1 -0
  581. package/cjs/chunks/{bundle-BQ35gC0Z.js → bundle-LzK214OE.js} +2 -2
  582. package/cjs/chunks/bundle-LzK214OE.js.map +1 -0
  583. package/cjs/chunks/{bundle-qO83Tn-P.js → bundle-NFa3L9w6.js} +4 -4
  584. package/cjs/chunks/bundle-NFa3L9w6.js.map +1 -0
  585. package/cjs/chunks/{bundle-B4DZG3qo.js → bundle-OTwuDhkw.js} +1 -1
  586. package/cjs/chunks/bundle-OTwuDhkw.js.map +1 -0
  587. package/cjs/chunks/{bundle-BEZJwC-3.js → bundle-RsvHcqa6.js} +3 -3
  588. package/cjs/chunks/bundle-RsvHcqa6.js.map +1 -0
  589. package/cjs/chunks/{bundle-CeNO3guH.js → bundle-UordSp3d.js} +15 -15
  590. package/cjs/chunks/bundle-UordSp3d.js.map +1 -0
  591. package/cjs/chunks/{bundle-B3W9AkVa.js → bundle-YYhthbUd.js} +1 -1
  592. package/cjs/chunks/bundle-YYhthbUd.js.map +1 -0
  593. package/cjs/chunks/{bundle-CBb6rgl-.js → bundle-ZMriK7oQ.js} +4 -4
  594. package/cjs/chunks/bundle-ZMriK7oQ.js.map +1 -0
  595. package/cjs/chunks/bundle-aWBgGjMg.js +823 -0
  596. package/cjs/chunks/{bundle-DVEX2FpT.js.map → bundle-aWBgGjMg.js.map} +1 -1
  597. package/cjs/chunks/{bundle-JZ1A5dHC.js → bundle-gK1bSKqR.js} +4 -4
  598. package/cjs/chunks/bundle-gK1bSKqR.js.map +1 -0
  599. package/cjs/chunks/{bundle-CPk4tpe8.js → bundle-iwJrfGij.js} +9 -9
  600. package/cjs/chunks/{bundle-CPk4tpe8.js.map → bundle-iwJrfGij.js.map} +1 -1
  601. package/cjs/chunks/{bundle-DUac1WMX.js → bundle-ofAyqBnL.js} +1 -1
  602. package/cjs/chunks/bundle-ofAyqBnL.js.map +1 -0
  603. package/cjs/chunks/{bundle-DMIPKf7C.js → bundle-qgizeJUh.js} +5 -5
  604. package/cjs/chunks/bundle-qgizeJUh.js.map +1 -0
  605. package/cjs/chunks/bundle-sL0KYRBS.js +76 -0
  606. package/cjs/chunks/bundle-sL0KYRBS.js.map +1 -0
  607. package/cjs/chunks/{bundle-BmdLztHu.js → bundle-tSDh-1k7.js} +1 -1
  608. package/cjs/chunks/bundle-tSDh-1k7.js.map +1 -0
  609. package/cjs/chunks/{bundle-CwZTt5Ya.js → bundle-uLseimjn.js} +3 -3
  610. package/cjs/chunks/bundle-uLseimjn.js.map +1 -0
  611. package/cjs/chunks/{bundle-BVG7dONk.js → bundle-wGMyy96z.js} +8 -8
  612. package/cjs/chunks/bundle-wGMyy96z.js.map +1 -0
  613. package/cjs/chunks/{bundle-Cnkvqs6V.js → bundle-x7xygn9r.js} +1 -1
  614. package/cjs/chunks/bundle-x7xygn9r.js.map +1 -0
  615. package/cjs/hooks/useConnectionState.js +5 -5
  616. package/cjs/hooks/useLocalization.js +4 -4
  617. package/cjs/hooks/useModal.js +13 -13
  618. package/cjs/index.js +94 -94
  619. package/cjs/pubSub/topics.js +1 -1
  620. package/cjs/sendbirdSelectors.js +2 -2
  621. package/cjs/ui/Accordion.js +2 -2
  622. package/cjs/ui/AccordionGroup.js +1 -1
  623. package/cjs/ui/AdminMessage.js +3 -3
  624. package/cjs/ui/Avatar.js +4 -4
  625. package/cjs/ui/Badge.js +5 -5
  626. package/cjs/ui/BottomSheet.js +13 -13
  627. package/cjs/ui/Button.js +3 -3
  628. package/cjs/ui/ChannelAvatar.js +5 -5
  629. package/cjs/ui/ConnectionStatus.js +6 -6
  630. package/cjs/ui/ContextMenu.js +14 -14
  631. package/cjs/ui/DateSeparator.js +4 -4
  632. package/cjs/ui/EmojiReactions.js +23 -23
  633. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  634. package/cjs/ui/FileMessageItemBody.js +13 -13
  635. package/cjs/ui/FileViewer.js +19 -19
  636. package/cjs/ui/Header.js +6 -6
  637. package/cjs/ui/Icon.js +2 -2
  638. package/cjs/ui/IconButton.js +1 -1
  639. package/cjs/ui/ImageRenderer.js +2 -2
  640. package/cjs/ui/Input.js +3 -3
  641. package/cjs/ui/Label.js +3 -3
  642. package/cjs/ui/LinkLabel.js +4 -4
  643. package/cjs/ui/Loader.js +2 -2
  644. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js +2 -2
  645. package/cjs/ui/MentionLabel.js +19 -19
  646. package/cjs/ui/MentionUserLabel.js +2 -2
  647. package/cjs/ui/MessageContent.js +42 -42
  648. package/cjs/ui/MessageFeedbackFailedModal.js +13 -13
  649. package/cjs/ui/MessageFeedbackModal.js +13 -13
  650. package/cjs/ui/MessageInput/hooks/usePaste.js +7 -7
  651. package/cjs/ui/MessageInput.js +21 -21
  652. package/cjs/ui/MessageItemMenu.js +15 -15
  653. package/cjs/ui/MessageItemReactionMenu.js +16 -16
  654. package/cjs/ui/MessageMenu.js +16 -16
  655. package/cjs/ui/MessageSearchFileItem.js +17 -17
  656. package/cjs/ui/MessageSearchItem.js +12 -12
  657. package/cjs/ui/MessageStatus.js +15 -15
  658. package/cjs/ui/MessageTemplate.js +1 -1
  659. package/cjs/ui/MobileFeedbackMenu.js +13 -13
  660. package/cjs/ui/MobileMenu.js +18 -18
  661. package/cjs/ui/Modal.js +12 -12
  662. package/cjs/ui/MutedAvatarOverlay.js +2 -2
  663. package/cjs/ui/OGMessageItemBody.js +23 -23
  664. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  665. package/cjs/ui/OpenChannelAvatar.js +8 -8
  666. package/cjs/ui/OpenchannelConversationHeader.js +8 -8
  667. package/cjs/ui/OpenchannelFileMessage.js +24 -24
  668. package/cjs/ui/OpenchannelOGMessage.js +26 -26
  669. package/cjs/ui/OpenchannelThumbnailMessage.js +23 -23
  670. package/cjs/ui/OpenchannelUserMessage.js +24 -24
  671. package/cjs/ui/PlaceHolder.js +6 -6
  672. package/cjs/ui/PlaybackTime.js +3 -3
  673. package/cjs/ui/ProgressBar.js +1 -1
  674. package/cjs/ui/QuoteMessage.js +12 -12
  675. package/cjs/ui/QuoteMessageInput.js +12 -12
  676. package/cjs/ui/ReactionBadge.js +3 -3
  677. package/cjs/ui/ReactionButton.js +4 -4
  678. package/cjs/ui/SortByRow.js +2 -2
  679. package/cjs/ui/TemplateMessageItemBody.js +14 -14
  680. package/cjs/ui/TextButton.js +2 -2
  681. package/cjs/ui/TextMessageItemBody.js +22 -22
  682. package/cjs/ui/ThreadReplies.js +8 -8
  683. package/cjs/ui/ThumbnailMessageItemBody.js +10 -10
  684. package/cjs/ui/Toggle.js +4 -4
  685. package/cjs/ui/Tooltip.js +3 -3
  686. package/cjs/ui/TooltipWrapper.js +1 -1
  687. package/cjs/ui/TypingIndicatorBubble.js +4 -4
  688. package/cjs/ui/UnknownMessageItemBody.js +10 -10
  689. package/cjs/ui/UserListItem.js +19 -19
  690. package/cjs/ui/UserListItemMenu.js +16 -16
  691. package/cjs/ui/UserProfile.js +13 -13
  692. package/cjs/ui/VoiceMessageInput.js +9 -9
  693. package/cjs/ui/VoiceMessageItemBody.js +15 -15
  694. package/cjs/ui/Word.js +19 -19
  695. package/cjs/useSendbirdStateContext.js +4 -4
  696. package/cjs/utils/message/isVoiceMessage.js +6 -6
  697. package/cjs/withSendbird.js +24 -24
  698. package/hooks/useConnectionState.js +5 -5
  699. package/hooks/useLocalization.js +4 -4
  700. package/hooks/useModal.js +14 -14
  701. package/index.js +94 -94
  702. package/package.json +3 -3
  703. package/pubSub/topics.js +1 -1
  704. package/sendbirdSelectors.js +2 -2
  705. package/types/modules/Thread/context/ThreadProvider.d.ts +48 -25
  706. package/types/modules/Thread/context/hooks/useThreadMessageActions.d.ts +35 -0
  707. package/types/modules/Thread/context/useThread.d.ts +18 -24
  708. package/ui/Accordion.js +2 -2
  709. package/ui/AccordionGroup.js +1 -1
  710. package/ui/AdminMessage.js +3 -3
  711. package/ui/Avatar.js +4 -4
  712. package/ui/Badge.js +5 -5
  713. package/ui/BottomSheet.js +13 -13
  714. package/ui/Button.js +3 -3
  715. package/ui/ChannelAvatar.js +5 -5
  716. package/ui/ConnectionStatus.js +6 -6
  717. package/ui/ContextMenu.js +14 -14
  718. package/ui/DateSeparator.js +4 -4
  719. package/ui/EmojiReactions.js +23 -23
  720. package/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  721. package/ui/FileMessageItemBody.js +13 -13
  722. package/ui/FileViewer.js +19 -19
  723. package/ui/Header.js +6 -6
  724. package/ui/Icon.js +2 -2
  725. package/ui/IconButton.js +1 -1
  726. package/ui/ImageRenderer.js +2 -2
  727. package/ui/Input.js +3 -3
  728. package/ui/Label.js +3 -3
  729. package/ui/LinkLabel.js +4 -4
  730. package/ui/Loader.js +2 -2
  731. package/ui/LoadingTemplateMessageItemBody.tsx.js +2 -2
  732. package/ui/MentionLabel.js +19 -19
  733. package/ui/MentionUserLabel.js +2 -2
  734. package/ui/MessageContent.js +42 -42
  735. package/ui/MessageFeedbackFailedModal.js +13 -13
  736. package/ui/MessageFeedbackModal.js +13 -13
  737. package/ui/MessageInput/hooks/usePaste.js +7 -7
  738. package/ui/MessageInput.js +21 -21
  739. package/ui/MessageItemMenu.js +15 -15
  740. package/ui/MessageItemReactionMenu.js +16 -16
  741. package/ui/MessageMenu.js +16 -16
  742. package/ui/MessageSearchFileItem.js +17 -17
  743. package/ui/MessageSearchItem.js +12 -12
  744. package/ui/MessageStatus.js +15 -15
  745. package/ui/MessageTemplate.js +1 -1
  746. package/ui/MobileFeedbackMenu.js +13 -13
  747. package/ui/MobileMenu.js +18 -18
  748. package/ui/Modal.js +12 -12
  749. package/ui/MutedAvatarOverlay.js +2 -2
  750. package/ui/OGMessageItemBody.js +23 -23
  751. package/ui/OpenChannelAdminMessage.js +3 -3
  752. package/ui/OpenChannelAvatar.js +8 -8
  753. package/ui/OpenchannelConversationHeader.js +8 -8
  754. package/ui/OpenchannelFileMessage.js +24 -24
  755. package/ui/OpenchannelOGMessage.js +26 -26
  756. package/ui/OpenchannelThumbnailMessage.js +23 -23
  757. package/ui/OpenchannelUserMessage.js +24 -24
  758. package/ui/PlaceHolder.js +6 -6
  759. package/ui/PlaybackTime.js +3 -3
  760. package/ui/ProgressBar.js +1 -1
  761. package/ui/QuoteMessage.js +12 -12
  762. package/ui/QuoteMessageInput.js +12 -12
  763. package/ui/ReactionBadge.js +3 -3
  764. package/ui/ReactionButton.js +4 -4
  765. package/ui/SortByRow.js +2 -2
  766. package/ui/TemplateMessageItemBody.js +14 -14
  767. package/ui/TextButton.js +2 -2
  768. package/ui/TextMessageItemBody.js +22 -22
  769. package/ui/ThreadReplies.js +8 -8
  770. package/ui/ThumbnailMessageItemBody.js +10 -10
  771. package/ui/Toggle.js +4 -4
  772. package/ui/Tooltip.js +3 -3
  773. package/ui/TooltipWrapper.js +1 -1
  774. package/ui/TypingIndicatorBubble.js +4 -4
  775. package/ui/UnknownMessageItemBody.js +10 -10
  776. package/ui/UserListItem.js +19 -19
  777. package/ui/UserListItemMenu.js +17 -17
  778. package/ui/UserProfile.js +13 -13
  779. package/ui/VoiceMessageInput.js +9 -9
  780. package/ui/VoiceMessageItemBody.js +15 -15
  781. package/ui/Word.js +19 -19
  782. package/useSendbirdStateContext.js +4 -4
  783. package/utils/message/isVoiceMessage.js +6 -6
  784. package/withSendbird.js +24 -24
  785. package/chunks/bundle--W1OIcEL.js.map +0 -1
  786. package/chunks/bundle-5G2fFQ8W.js.map +0 -1
  787. package/chunks/bundle-9fiC-gLs.js.map +0 -1
  788. package/chunks/bundle-B4M6_aww.js.map +0 -1
  789. package/chunks/bundle-BCkp7Oqg.js.map +0 -1
  790. package/chunks/bundle-BESkqMH6.js.map +0 -1
  791. package/chunks/bundle-BEoJjyra.js.map +0 -1
  792. package/chunks/bundle-BFHb2a4N.js.map +0 -1
  793. package/chunks/bundle-BHlB_i0L.js.map +0 -1
  794. package/chunks/bundle-BMYq1Zh-.js.map +0 -1
  795. package/chunks/bundle-BPmYBX7K.js.map +0 -1
  796. package/chunks/bundle-BRfCkqhH.js.map +0 -1
  797. package/chunks/bundle-BRgACRFj.js.map +0 -1
  798. package/chunks/bundle-BcuhBdVJ.js.map +0 -1
  799. package/chunks/bundle-BilbLD6s.js.map +0 -1
  800. package/chunks/bundle-Bj2XkLef.js.map +0 -1
  801. package/chunks/bundle-BmPBPfxJ.js.map +0 -1
  802. package/chunks/bundle-Bo1Nu7eF.js.map +0 -1
  803. package/chunks/bundle-Btok2FPq.js.map +0 -1
  804. package/chunks/bundle-C-mX3Cp6.js.map +0 -1
  805. package/chunks/bundle-C1745ld4.js.map +0 -1
  806. package/chunks/bundle-C7O7Ecw3.js.map +0 -1
  807. package/chunks/bundle-CI5avNOP.js.map +0 -1
  808. package/chunks/bundle-CI9B8TCB.js.map +0 -1
  809. package/chunks/bundle-CJ2G2_pA.js.map +0 -1
  810. package/chunks/bundle-CLfUwRmM.js.map +0 -1
  811. package/chunks/bundle-COe8BPAs.js.map +0 -1
  812. package/chunks/bundle-CPv8kS7Z.js.map +0 -1
  813. package/chunks/bundle-CVZalWDz.js.map +0 -1
  814. package/chunks/bundle-CZOeSpiT.js.map +0 -1
  815. package/chunks/bundle-ChFCXvmT.js.map +0 -1
  816. package/chunks/bundle-CkR_DmM3.js.map +0 -1
  817. package/chunks/bundle-D-GR_iCk.js +0 -18449
  818. package/chunks/bundle-D-GR_iCk.js.map +0 -1
  819. package/chunks/bundle-D7X4fjUn.js.map +0 -1
  820. package/chunks/bundle-D8HqTQr2.js.map +0 -1
  821. package/chunks/bundle-DAJvYYTO.js.map +0 -1
  822. package/chunks/bundle-DAU8hvP3.js.map +0 -1
  823. package/chunks/bundle-DRsIdhZD.js.map +0 -1
  824. package/chunks/bundle-DlaJ1whz.js +0 -171
  825. package/chunks/bundle-Dm6abi_C.js.map +0 -1
  826. package/chunks/bundle-DmheIMJ4.js.map +0 -1
  827. package/chunks/bundle-DnjdXo2G.js.map +0 -1
  828. package/chunks/bundle-Do5EXRz1.js.map +0 -1
  829. package/chunks/bundle-KktholHJ.js.map +0 -1
  830. package/chunks/bundle-M8mLcJDE.js.map +0 -1
  831. package/chunks/bundle-RhHfvfJI.js.map +0 -1
  832. package/chunks/bundle-TZOGHqqu.js.map +0 -1
  833. package/chunks/bundle-YII161h1.js.map +0 -1
  834. package/chunks/bundle-w192oTSw.js.map +0 -1
  835. package/chunks/bundle-wsUjnmyZ.js.map +0 -1
  836. package/chunks/bundle-xTljENlV.js.map +0 -1
  837. package/chunks/bundle-zaoY7liH.js.map +0 -1
  838. package/cjs/chunks/bundle-4s-1Q0Vo.js.map +0 -1
  839. package/cjs/chunks/bundle-7IQ3xcsN.js.map +0 -1
  840. package/cjs/chunks/bundle-B-DgoOBD.js +0 -178
  841. package/cjs/chunks/bundle-B-DgoOBD.js.map +0 -1
  842. package/cjs/chunks/bundle-B3W9AkVa.js.map +0 -1
  843. package/cjs/chunks/bundle-B4DZG3qo.js.map +0 -1
  844. package/cjs/chunks/bundle-B8LA0hdq.js.map +0 -1
  845. package/cjs/chunks/bundle-BBe_rHLd.js.map +0 -1
  846. package/cjs/chunks/bundle-BEZJwC-3.js.map +0 -1
  847. package/cjs/chunks/bundle-BF83Typ-.js.map +0 -1
  848. package/cjs/chunks/bundle-BFC8OQzW.js.map +0 -1
  849. package/cjs/chunks/bundle-BHDLgjUU.js.map +0 -1
  850. package/cjs/chunks/bundle-BJh5laMK.js.map +0 -1
  851. package/cjs/chunks/bundle-BLaWcq0s.js.map +0 -1
  852. package/cjs/chunks/bundle-BQ35gC0Z.js.map +0 -1
  853. package/cjs/chunks/bundle-BVG7dONk.js.map +0 -1
  854. package/cjs/chunks/bundle-BX9JpkVP.js.map +0 -1
  855. package/cjs/chunks/bundle-Bdv47UAX.js.map +0 -1
  856. package/cjs/chunks/bundle-BgTHYJs7.js.map +0 -1
  857. package/cjs/chunks/bundle-BmdLztHu.js.map +0 -1
  858. package/cjs/chunks/bundle-BoEX39oK.js.map +0 -1
  859. package/cjs/chunks/bundle-Bzxy-3oT.js.map +0 -1
  860. package/cjs/chunks/bundle-C0B4eQSh.js.map +0 -1
  861. package/cjs/chunks/bundle-CBb6rgl-.js.map +0 -1
  862. package/cjs/chunks/bundle-CCha8T6e.js.map +0 -1
  863. package/cjs/chunks/bundle-CF9MwXWw.js.map +0 -1
  864. package/cjs/chunks/bundle-CN82E46K.js.map +0 -1
  865. package/cjs/chunks/bundle-CS1fDSca.js.map +0 -1
  866. package/cjs/chunks/bundle-CZryxVSd.js.map +0 -1
  867. package/cjs/chunks/bundle-Ca6tAmei.js.map +0 -1
  868. package/cjs/chunks/bundle-CbINTXEf.js.map +0 -1
  869. package/cjs/chunks/bundle-CeNO3guH.js.map +0 -1
  870. package/cjs/chunks/bundle-CfZHnkRA.js.map +0 -1
  871. package/cjs/chunks/bundle-CgrB2Va6.js.map +0 -1
  872. package/cjs/chunks/bundle-Cnkvqs6V.js.map +0 -1
  873. package/cjs/chunks/bundle-CuQNzWcL.js.map +0 -1
  874. package/cjs/chunks/bundle-CwZTt5Ya.js.map +0 -1
  875. package/cjs/chunks/bundle-D5OHu8i-.js.map +0 -1
  876. package/cjs/chunks/bundle-D5jDxxQu.js.map +0 -1
  877. package/cjs/chunks/bundle-D6cLWEiK.js.map +0 -1
  878. package/cjs/chunks/bundle-D6kUkJTS.js.map +0 -1
  879. package/cjs/chunks/bundle-D72hdHrQ.js.map +0 -1
  880. package/cjs/chunks/bundle-D9kqUKXH.js.map +0 -1
  881. package/cjs/chunks/bundle-DHujV3Ns.js.map +0 -1
  882. package/cjs/chunks/bundle-DLPt543m.js.map +0 -1
  883. package/cjs/chunks/bundle-DM0hUlx4.js.map +0 -1
  884. package/cjs/chunks/bundle-DMIPKf7C.js.map +0 -1
  885. package/cjs/chunks/bundle-DSt8v0lq.js.map +0 -1
  886. package/cjs/chunks/bundle-DUac1WMX.js.map +0 -1
  887. package/cjs/chunks/bundle-DVfrpRqM.js +0 -18460
  888. package/cjs/chunks/bundle-DVfrpRqM.js.map +0 -1
  889. package/cjs/chunks/bundle-DbKfrKfh.js.map +0 -1
  890. package/cjs/chunks/bundle-DcBTt6H_.js.map +0 -1
  891. package/cjs/chunks/bundle-DoUok50d.js.map +0 -1
  892. package/cjs/chunks/bundle-DvQTiW5i.js.map +0 -1
  893. package/cjs/chunks/bundle-Dy5NFeil.js.map +0 -1
  894. package/cjs/chunks/bundle-JZ1A5dHC.js.map +0 -1
  895. package/cjs/chunks/bundle-JfQwOyVA.js.map +0 -1
  896. package/cjs/chunks/bundle-KiH5TJhW.js.map +0 -1
  897. package/cjs/chunks/bundle-MaS7JhxM.js.map +0 -1
  898. package/cjs/chunks/bundle-Qchcdxzl.js.map +0 -1
  899. package/cjs/chunks/bundle-RiYoAHYl.js.map +0 -1
  900. package/cjs/chunks/bundle-S1TvZMO8.js.map +0 -1
  901. package/cjs/chunks/bundle-TCfs6MK6.js.map +0 -1
  902. package/cjs/chunks/bundle-iVhmJwkd.js.map +0 -1
  903. package/cjs/chunks/bundle-k-EnLf3-.js.map +0 -1
  904. package/cjs/chunks/bundle-o6JT7yPs.js.map +0 -1
  905. package/cjs/chunks/bundle-pp5Im2ov.js.map +0 -1
  906. package/cjs/chunks/bundle-qO83Tn-P.js.map +0 -1
  907. package/cjs/chunks/bundle-rlmMFJoM.js.map +0 -1
  908. package/cjs/chunks/bundle-w-bxod6O.js.map +0 -1
  909. package/cjs/chunks/bundle-wdCnvx79.js.map +0 -1
  910. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +0 -13
  911. package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +0 -15
  912. package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +0 -16
  913. package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +0 -26
  914. package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +0 -18
  915. package/types/modules/Thread/context/hooks/useThreadFetchers.d.ts +0 -28
  916. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +0 -23
  917. package/types/stories/common/const.d.ts +0 -3
  918. package/types/stories/common/useSampleChannel.d.ts +0 -7
@@ -0,0 +1,823 @@
1
+ 'use strict';
2
+
3
+ var _tslib = require('./bundle-BGe3zkmE.js');
4
+ var React = require('react');
5
+ var message = require('@sendbird/chat/message');
6
+ var utils = require('./bundle-sL0KYRBS.js');
7
+ var UserProfileContext = require('./bundle-LzK214OE.js');
8
+ var SendbirdContext = require('./bundle-CIRlgPaD.js');
9
+ var SendbirdChat = require('@sendbird/chat');
10
+ var groupChannel = require('@sendbird/chat/groupChannel');
11
+ var uuid = require('./bundle-CtNsx3WQ.js');
12
+ var compareIds = require('./bundle-ClEp9fdZ.js');
13
+ var uikitTools = require('@sendbird/uikit-tools');
14
+ var Thread_context_types = require('../Thread/context/types.js');
15
+ var useSendbird = require('./bundle-ZMriK7oQ.js');
16
+ var useDeepCompareEffect = require('./bundle-BCLFAROV.js');
17
+ var pubSub_topics = require('./bundle-ofAyqBnL.js');
18
+ var consts = require('./bundle-tSDh-1k7.js');
19
+
20
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
23
+
24
+ function useToggleReactionCallback(_a, _b) {
25
+ var currentChannel = _a.currentChannel;
26
+ var logger = _b.logger;
27
+ return React.useCallback(function (message, key, isReacted) {
28
+ var _a, _b;
29
+ if (isReacted) {
30
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
31
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
32
+ }).catch(function (err) {
33
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
34
+ });
35
+ return;
36
+ }
37
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
38
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
39
+ }).catch(function (err) {
40
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
41
+ });
42
+ }, [currentChannel]);
43
+ }
44
+
45
+ var scrollToLastAfterSend = function () {
46
+ setTimeout(function () { return utils.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
47
+ };
48
+ var attachLocalFilePreview = function (pendingMessage, file) {
49
+ var localUrl = URL.createObjectURL(file);
50
+ var localFileMessage = pendingMessage;
51
+ localFileMessage.localUrl = localUrl;
52
+ localFileMessage.file = file;
53
+ return localUrl;
54
+ };
55
+ function useThreadMessageActions(state, _a) {
56
+ var logger = _a.logger, pubSub = _a.pubSub, isMentionEnabled = _a.isMentionEnabled;
57
+ var currentChannel = state.currentChannel, onBeforeSendUserMessage = state.onBeforeSendUserMessage, onBeforeSendFileMessage = state.onBeforeSendFileMessage, onBeforeSendVoiceMessage = state.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = state.onBeforeSendMultipleFilesMessage, dsSendUserMessage = state.dsSendUserMessage, dsSendFileMessage = state.dsSendFileMessage, dsSendMultipleFilesMessage = state.dsSendMultipleFilesMessage, dsUpdateUserMessage = state.dsUpdateUserMessage, dsResendMessage = state.dsResendMessage, dsDeleteMessage = state.dsDeleteMessage;
58
+ var sendMessage = React.useCallback(function (props) {
59
+ var _a;
60
+ var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
61
+ var createDefaultParams = function () {
62
+ var params = {};
63
+ params.message = message;
64
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
65
+ if (isMentionEnabled && mentionedUsersLength) {
66
+ params.mentionedUsers = mentionedUsers;
67
+ }
68
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
69
+ params.mentionedMessageTemplate = mentionTemplate;
70
+ }
71
+ if (quoteMessage) {
72
+ params.isReplyToChannel = true;
73
+ params.parentMessageId = quoteMessage.messageId;
74
+ }
75
+ return params;
76
+ };
77
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
78
+ if (!dsSendUserMessage || !currentChannel)
79
+ return;
80
+ logger.info('Thread | useThreadMessageActions: Sending user message start.', params);
81
+ dsSendUserMessage(params, function () { return scrollToLastAfterSend(); })
82
+ .then(function (sentMessage) {
83
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
84
+ channel: currentChannel,
85
+ message: sentMessage,
86
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
87
+ });
88
+ })
89
+ .catch(function (error) {
90
+ logger.info('Thread | useThreadMessageActions: Sending user message failed.', error);
91
+ });
92
+ }, [dsSendUserMessage, onBeforeSendUserMessage, currentChannel, isMentionEnabled]);
93
+ var sendFileMessage = React.useCallback(function (file, quoteMessage) {
94
+ var _a;
95
+ var createParamsDefault = function () {
96
+ var params = {};
97
+ params.file = file;
98
+ if (quoteMessage) {
99
+ params.isReplyToChannel = true;
100
+ params.parentMessageId = quoteMessage.messageId;
101
+ }
102
+ return params;
103
+ };
104
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
105
+ if (!dsSendFileMessage || !currentChannel)
106
+ return Promise.resolve(null);
107
+ logger.info('Thread | useThreadMessageActions: Sending file message start.', params);
108
+ var localPreviewUrl;
109
+ return dsSendFileMessage(params, function (pendingMessage) {
110
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
111
+ scrollToLastAfterSend();
112
+ })
113
+ .then(function (sentMessage) {
114
+ if (localPreviewUrl)
115
+ URL.revokeObjectURL(localPreviewUrl);
116
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
117
+ channel: currentChannel,
118
+ message: sentMessage,
119
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
120
+ });
121
+ return sentMessage;
122
+ });
123
+ }, [dsSendFileMessage, onBeforeSendFileMessage, currentChannel]);
124
+ var sendVoiceMessage = React.useCallback(function (file, duration, quoteMessage) {
125
+ var params = (onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function')
126
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
127
+ : {
128
+ file: file,
129
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
130
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
131
+ metaArrays: [
132
+ new message.MessageMetaArray({ key: consts.META_ARRAY_VOICE_DURATION_KEY, value: ["".concat(duration)] }),
133
+ new message.MessageMetaArray({ key: consts.META_ARRAY_MESSAGE_TYPE_KEY, value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE] }),
134
+ ],
135
+ };
136
+ if (quoteMessage) {
137
+ params.isReplyToChannel = true;
138
+ params.parentMessageId = quoteMessage.messageId;
139
+ }
140
+ if (!dsSendFileMessage || !currentChannel)
141
+ return;
142
+ logger.info('Thread | useThreadMessageActions: Sending voice message start.', params);
143
+ var localPreviewUrl;
144
+ dsSendFileMessage(params, function (pendingMessage) {
145
+ localPreviewUrl = attachLocalFilePreview(pendingMessage, file);
146
+ scrollToLastAfterSend();
147
+ })
148
+ .then(function (sentMessage) {
149
+ if (localPreviewUrl)
150
+ URL.revokeObjectURL(localPreviewUrl);
151
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
152
+ channel: currentChannel,
153
+ message: sentMessage,
154
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
155
+ });
156
+ })
157
+ .catch(function (error) {
158
+ logger.info('Thread | useThreadMessageActions: Sending voice message failed.', error);
159
+ });
160
+ }, [dsSendFileMessage, onBeforeSendVoiceMessage, currentChannel]);
161
+ var sendMultipleFilesMessage = React.useCallback(function (files, quoteMessage) {
162
+ var _a;
163
+ var createParamsDefault = function () {
164
+ var params = {
165
+ fileInfoList: files.map(function (file) { return ({
166
+ file: file,
167
+ fileName: file.name,
168
+ fileSize: file.size,
169
+ mimeType: file.type,
170
+ }); }),
171
+ };
172
+ if (quoteMessage) {
173
+ params.isReplyToChannel = true;
174
+ params.parentMessageId = quoteMessage.messageId;
175
+ }
176
+ return params;
177
+ };
178
+ var params = (_a = onBeforeSendMultipleFilesMessage === null || onBeforeSendMultipleFilesMessage === void 0 ? void 0 : onBeforeSendMultipleFilesMessage(files, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
179
+ if (!dsSendMultipleFilesMessage || !currentChannel)
180
+ return Promise.resolve(null);
181
+ logger.info('Thread | useThreadMessageActions: Sending multiple files message start.', params);
182
+ return dsSendMultipleFilesMessage(params, function () { return scrollToLastAfterSend(); })
183
+ .then(function (sentMessage) {
184
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
185
+ channel: currentChannel,
186
+ message: sentMessage,
187
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
188
+ });
189
+ return sentMessage;
190
+ });
191
+ }, [dsSendMultipleFilesMessage, onBeforeSendMultipleFilesMessage, currentChannel]);
192
+ var updateMessage = React.useCallback(function (props) {
193
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionedUserIds = props.mentionedUserIds, mentionTemplate = props.mentionTemplate;
194
+ var params = {};
195
+ params.message = message;
196
+ if (isMentionEnabled && mentionedUserIds) {
197
+ params.mentionedUserIds = mentionedUserIds;
198
+ }
199
+ else if (isMentionEnabled && mentionedUsers) {
200
+ params.mentionedUsers = mentionedUsers;
201
+ }
202
+ if (isMentionEnabled && mentionTemplate) {
203
+ params.mentionedMessageTemplate = mentionTemplate;
204
+ }
205
+ else {
206
+ params.mentionedMessageTemplate = message;
207
+ }
208
+ if (!dsUpdateUserMessage || !currentChannel)
209
+ return;
210
+ logger.info('Thread | useThreadMessageActions: Message update start.', params);
211
+ dsUpdateUserMessage(messageId, params)
212
+ .then(function (updatedMessage) {
213
+ pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
214
+ fromSelector: true,
215
+ channel: currentChannel,
216
+ message: updatedMessage,
217
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
218
+ });
219
+ })
220
+ .catch(function (error) {
221
+ logger.warning('Thread | useThreadMessageActions: Message update failed.', error);
222
+ });
223
+ }, [dsUpdateUserMessage, currentChannel, isMentionEnabled]);
224
+ var deleteMessage = React.useCallback(function (message) {
225
+ if (!dsDeleteMessage)
226
+ return Promise.resolve();
227
+ logger.info('Thread | useThreadMessageActions: Deleting message.', message);
228
+ return dsDeleteMessage(message);
229
+ }, [dsDeleteMessage]);
230
+ var resendMessage = React.useCallback(function (failedMessage) {
231
+ if (!(failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) || !dsResendMessage || !currentChannel) {
232
+ logger.warning('Thread | useThreadMessageActions: Message is not resendable.', failedMessage);
233
+ return;
234
+ }
235
+ logger.info('Thread | useThreadMessageActions: Resending message start.', failedMessage);
236
+ dsResendMessage(failedMessage)
237
+ .then(function (sentMessage) {
238
+ var _a;
239
+ var isUserMessage = (_a = sentMessage === null || sentMessage === void 0 ? void 0 : sentMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(sentMessage);
240
+ pubSub.publish(isUserMessage ? pubSub_topics.pubSubTopics.SEND_USER_MESSAGE : pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
241
+ channel: currentChannel,
242
+ message: sentMessage,
243
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
244
+ });
245
+ })
246
+ .catch(function (error) {
247
+ logger.warning('Thread | useThreadMessageActions: Resending message failed.', error);
248
+ });
249
+ }, [dsResendMessage, currentChannel]);
250
+ return React.useMemo(function () { return ({
251
+ sendMessage: sendMessage,
252
+ sendFileMessage: sendFileMessage,
253
+ sendVoiceMessage: sendVoiceMessage,
254
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
255
+ updateMessage: updateMessage,
256
+ deleteMessage: deleteMessage,
257
+ resendMessage: resendMessage,
258
+ }); }, [
259
+ sendMessage,
260
+ sendFileMessage,
261
+ sendVoiceMessage,
262
+ sendMultipleFilesMessage,
263
+ updateMessage,
264
+ deleteMessage,
265
+ resendMessage,
266
+ ]);
267
+ }
268
+
269
+ var useThread = function () {
270
+ var store = React.useContext(ThreadContext);
271
+ if (!store)
272
+ throw new Error('useThread must be used within a ThreadProvider');
273
+ // SendbirdStateContext config
274
+ var config = useSendbird.useSendbird().state.config;
275
+ var logger = config.logger, pubSub = config.pubSub;
276
+ var isMentionEnabled = config.groupChannel.enableMention;
277
+ var state = SendbirdContext.shimExports.useSyncExternalStore(store.subscribe, store.getState);
278
+ var currentChannel = state.currentChannel;
279
+ var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
280
+ var initializeThreadFetcher = React.useCallback(function (callback) {
281
+ var _a = store.getState(), resetWithStartingPoint = _a.resetWithStartingPoint, anchorMessage = _a.message, parentMessage = _a.parentMessage;
282
+ if (!resetWithStartingPoint)
283
+ return;
284
+ // Mirror ThreadProvider's initial startingPoint: anchor at the specific reply when entering from
285
+ // one, otherwise open at the latest edge (MAX). parentMessage.createdAt would anchor at the oldest
286
+ // edge (replies are created after the parent), hiding the latest replies behind hasMoreNext.
287
+ var startingPoint = (anchorMessage && parentMessage && anchorMessage.messageId !== parentMessage.messageId)
288
+ ? anchorMessage.createdAt
289
+ : Number.MAX_SAFE_INTEGER;
290
+ resetWithStartingPoint(startingPoint).then(function () {
291
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
292
+ });
293
+ }, [store]);
294
+ var fetchPrevThreads = React.useCallback(function (callback) {
295
+ var loadPrevious = store.getState().loadPrevious;
296
+ if (!loadPrevious)
297
+ return;
298
+ loadPrevious().then(function () {
299
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
300
+ });
301
+ }, [store]);
302
+ var fetchNextThreads = React.useCallback(function (callback) {
303
+ var loadNext = store.getState().loadNext;
304
+ if (!loadNext)
305
+ return;
306
+ loadNext().then(function () {
307
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(store.getState().allThreadMessages); });
308
+ });
309
+ }, [store]);
310
+ var messageActions = useThreadMessageActions(state, { logger: logger, pubSub: pubSub, isMentionEnabled: isMentionEnabled });
311
+ var simpleActions = {
312
+ setCurrentUserId: React.useCallback(function (currentUserId) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { currentUserId: currentUserId })); }); }, [store]),
313
+ getChannelStart: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.LOADING, currentChannel: null })); }); }, [store]),
314
+ getChannelSuccess: React.useCallback(function (groupChannel) { return store.setState(function (state) {
315
+ var _a, _b;
316
+ return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
317
+ // only support in normal group channel
318
+ isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) { return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId; })) === null || _b === void 0 ? void 0 : _b.isMuted) || false, isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false }));
319
+ }); }, [store]),
320
+ getChannelFailure: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INVALID, currentChannel: null })); }); }, [store]),
321
+ getParentMessageStart: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING, parentMessage: null })); }); }, [store]),
322
+ getParentMessageSuccess: React.useCallback(function (parentMessage) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED, parentMessage: parentMessage })); }); }, [store]),
323
+ getParentMessageFailure: React.useCallback(function () { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID, parentMessage: null })); }); }, [store]),
324
+ setEmojiContainer: React.useCallback(function (emojiContainer) { return store.setState(function (state) { return (_tslib.__assign(_tslib.__assign({}, state), { emojiContainer: emojiContainer })); }); }, [store]),
325
+ onUserMuted: React.useCallback(function (channel, user) { return store.setState(function (state) {
326
+ var _a;
327
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
328
+ return state;
329
+ }
330
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: true });
331
+ }); }, [store]),
332
+ onUserUnmuted: React.useCallback(function (channel, user) { return store.setState(function (state) {
333
+ var _a;
334
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
335
+ return state;
336
+ }
337
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: false });
338
+ }); }, [store]),
339
+ onUserBanned: React.useCallback(function (channel, user) {
340
+ store.setState(function (state) {
341
+ var _a;
342
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
343
+ return state;
344
+ }
345
+ // Only reset state when the current user is banned
346
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
347
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
348
+ }
349
+ // Another user banned: update channel info and nicknames map
350
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel, nicknamesMap: utils.getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
351
+ });
352
+ }, [store]),
353
+ onUserUnbanned: React.useCallback(function () { return store.setState(function (state) {
354
+ return _tslib.__assign({}, state);
355
+ }); }, [store]),
356
+ onUserLeft: React.useCallback(function (channel, user) {
357
+ store.setState(function (state) {
358
+ var _a;
359
+ if (((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
360
+ return state;
361
+ }
362
+ // Only reset state when the current user has left
363
+ if (state.currentUserId === (user === null || user === void 0 ? void 0 : user.userId)) {
364
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, threadMessages: [], allThreadMessages: [], localThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
365
+ }
366
+ // Another user left: update channel info and nicknames map
367
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel, nicknamesMap: utils.getNicknamesMapFromMembers(channel === null || channel === void 0 ? void 0 : channel.members) });
368
+ });
369
+ }, [store]),
370
+ onChannelFrozen: React.useCallback(function () { return store.setState(function (state) {
371
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: true });
372
+ }); }, [store]),
373
+ onChannelUnfrozen: React.useCallback(function () { return store.setState(function (state) {
374
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: false });
375
+ }); }, [store]),
376
+ onOperatorUpdated: React.useCallback(function (channel) { return store.setState(function (state) {
377
+ var _a;
378
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
379
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel });
380
+ }
381
+ return state;
382
+ }); }, [store]),
383
+ onTypingStatusUpdated: React.useCallback(function (channel, typingMembers) { return store.setState(function (state) {
384
+ var _a;
385
+ if (!utils.compareIds(channel.url, (_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url)) {
386
+ return state;
387
+ }
388
+ return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
389
+ }); }, [store]),
390
+ };
391
+ /**
392
+ * These low-level dispatchers were removed when the @sendbird/uikit-tools collection took over
393
+ * thread state management. They are retained for backward compatibility (existing customer code
394
+ * referencing them still compiles) but no longer mutate state — the collection owns it now. Each
395
+ * logs a deprecation warning when called so a direct caller is not left with a silent no-op.
396
+ * Signatures are supplied by casting, which keeps the parameters off the runtime function.
397
+ */
398
+ var backwardCompatActions = React.useMemo(function () {
399
+ var warn = function (name) { return function () {
400
+ var _a;
401
+ (_a = logger === null || logger === void 0 ? void 0 : logger.warning) === null || _a === void 0 ? void 0 : _a.call(logger, "[Thread] useThread().actions.".concat(name, " is deprecated and no longer has any effect; thread state is now managed by the @sendbird/uikit-tools collection."));
402
+ }; };
403
+ return {
404
+ onMessageReceived: warn('onMessageReceived'),
405
+ onReactionUpdated: warn('onReactionUpdated'),
406
+ onFileInfoUpdated: warn('onFileInfoUpdated'),
407
+ sendMessageStart: warn('sendMessageStart'),
408
+ sendMessageSuccess: warn('sendMessageSuccess'),
409
+ sendMessageFailure: warn('sendMessageFailure'),
410
+ resendMessageStart: warn('resendMessageStart'),
411
+ onMessageUpdated: warn('onMessageUpdated'),
412
+ onMessageDeleted: warn('onMessageDeleted'),
413
+ onMessageDeletedByReqId: warn('onMessageDeletedByReqId'),
414
+ initializeThreadListStart: warn('initializeThreadListStart'),
415
+ initializeThreadListSuccess: warn('initializeThreadListSuccess'),
416
+ initializeThreadListFailure: warn('initializeThreadListFailure'),
417
+ getPrevMessagesStart: warn('getPrevMessagesStart'),
418
+ getPrevMessagesSuccess: warn('getPrevMessagesSuccess'),
419
+ getPrevMessagesFailure: warn('getPrevMessagesFailure'),
420
+ getNextMessagesStart: warn('getNextMessagesStart'),
421
+ getNextMessagesSuccess: warn('getNextMessagesSuccess'),
422
+ getNextMessagesFailure: warn('getNextMessagesFailure'),
423
+ };
424
+ }, [logger]);
425
+ var actions = React.useMemo(function () { return (_tslib.__assign(_tslib.__assign(_tslib.__assign(_tslib.__assign({}, simpleActions), { toggleReaction: toggleReaction, initializeThreadFetcher: initializeThreadFetcher, fetchPrevThreads: fetchPrevThreads, fetchNextThreads: fetchNextThreads }), messageActions), backwardCompatActions)); }, [
426
+ simpleActions,
427
+ toggleReaction,
428
+ initializeThreadFetcher,
429
+ fetchPrevThreads,
430
+ fetchNextThreads,
431
+ messageActions,
432
+ backwardCompatActions,
433
+ ]);
434
+ return { state: state, actions: actions };
435
+ };
436
+
437
+ function useGetChannel(_a, _b) {
438
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
439
+ var sdk = _b.sdk, logger = _b.logger;
440
+ var _c = useThread().actions, getChannelStart = _c.getChannelStart, getChannelSuccess = _c.getChannelSuccess, getChannelFailure = _c.getChannelFailure;
441
+ React.useEffect(function () {
442
+ var _a, _b;
443
+ // validation check
444
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
445
+ logger.info('Thread | useInitialize: Get channel started');
446
+ getChannelStart();
447
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
448
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
449
+ getChannelSuccess(groupChannel);
450
+ }).catch(function (error) {
451
+ logger.info('Thread | useInitialize: Get channel failed', error);
452
+ getChannelFailure();
453
+ });
454
+ }
455
+ }, [message, sdkInit]);
456
+ /**
457
+ * We don't use channelUrl here,
458
+ * because Thread must operate independently of the channel.
459
+ */
460
+ }
461
+
462
+ function useGetAllEmoji(_a, _b) {
463
+ var sdk = _a.sdk;
464
+ var logger = _b.logger;
465
+ var setEmojiContainer = useThread().actions.setEmojiContainer;
466
+ React.useEffect(function () {
467
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
468
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
469
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
470
+ setEmojiContainer(emojiContainer);
471
+ }).catch(function (error) {
472
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
473
+ });
474
+ }
475
+ }, [sdk]);
476
+ }
477
+
478
+ function useGetParentMessage(_a, _b) {
479
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
480
+ var sdk = _b.sdk, logger = _b.logger;
481
+ var _c = useThread().actions, getParentMessageStart = _c.getParentMessageStart, getParentMessageSuccess = _c.getParentMessageSuccess, getParentMessageFailure = _c.getParentMessageFailure;
482
+ React.useEffect(function () {
483
+ var _a, _b, _c;
484
+ // validation check
485
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage) && parentMessage) {
486
+ getParentMessageStart();
487
+ var params = {
488
+ channelUrl: channelUrl,
489
+ channelType: SendbirdChat.ChannelType.GROUP,
490
+ messageId: parentMessage.messageId,
491
+ includeMetaArray: true,
492
+ includeReactions: true,
493
+ includeThreadInfo: true,
494
+ includeParentMessageInfo: true,
495
+ };
496
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params);
497
+ (_c = (_b = sdk.message).getMessage) === null || _c === void 0 ? void 0 : _c.call(_b, params).then(function (parentMsg) {
498
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
499
+ // @ts-ignore
500
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
501
+ // @ts-ignore
502
+ getParentMessageSuccess(parentMsg);
503
+ }).catch(function (error) {
504
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
505
+ getParentMessageFailure();
506
+ });
507
+ }
508
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
509
+ /**
510
+ * We don't use channelUrl here,
511
+ * because Thread must operate independently of the channel.
512
+ */
513
+ }
514
+
515
+ function useHandleChannelEvents(_a, _b) {
516
+ var sdk = _a.sdk, currentChannel = _a.currentChannel;
517
+ var logger = _b.logger;
518
+ var _c = useThread().actions, onUserMuted = _c.onUserMuted, onUserUnmuted = _c.onUserUnmuted, onUserBanned = _c.onUserBanned, onUserUnbanned = _c.onUserUnbanned, onUserLeft = _c.onUserLeft, onChannelFrozen = _c.onChannelFrozen, onChannelUnfrozen = _c.onChannelUnfrozen, onOperatorUpdated = _c.onOperatorUpdated, onTypingStatusUpdated = _c.onTypingStatusUpdated;
519
+ React.useEffect(function () {
520
+ var _a, _b, _c;
521
+ var handlerId = uuid.uuidv4();
522
+ // validation check
523
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
524
+ && currentChannel) {
525
+ var channelHandlerParams = {
526
+ // user status change
527
+ onUserMuted: function (channel, user) {
528
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
529
+ onUserMuted(channel, user);
530
+ },
531
+ onUserUnmuted: function (channel, user) {
532
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
533
+ onUserUnmuted(channel, user);
534
+ },
535
+ onUserBanned: function (channel, user) {
536
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
537
+ onUserBanned(channel, user);
538
+ },
539
+ onUserUnbanned: function (channel, user) {
540
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
541
+ onUserUnbanned();
542
+ },
543
+ onUserLeft: function (channel, user) {
544
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
545
+ onUserLeft(channel, user);
546
+ },
547
+ // channel status change
548
+ onChannelFrozen: function (channel) {
549
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
550
+ onChannelFrozen();
551
+ },
552
+ onChannelUnfrozen: function (channel) {
553
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
554
+ onChannelUnfrozen();
555
+ },
556
+ onOperatorUpdated: function (channel, users) {
557
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
558
+ onOperatorUpdated(channel);
559
+ },
560
+ onTypingStatusUpdated: function (channel) {
561
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
562
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
563
+ var typingMembers = channel.getTypingUsers();
564
+ onTypingStatusUpdated(channel, typingMembers);
565
+ }
566
+ },
567
+ };
568
+ var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
569
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
570
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
571
+ }
572
+ return function () {
573
+ var _a, _b, _c;
574
+ // validation check
575
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
576
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
577
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
578
+ }
579
+ };
580
+ }, [
581
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
582
+ currentChannel,
583
+ ]);
584
+ }
585
+
586
+ function useSetCurrentUserId(_a) {
587
+ var user = _a.user;
588
+ var setCurrentUserId = useThread().actions.setCurrentUserId;
589
+ React.useEffect(function () {
590
+ setCurrentUserId(user === null || user === void 0 ? void 0 : user.userId);
591
+ }, [user === null || user === void 0 ? void 0 : user.userId]);
592
+ }
593
+
594
+ var initialState = function () { return ({
595
+ channelUrl: '',
596
+ message: null,
597
+ onHeaderActionClick: undefined,
598
+ onMoveToParentMessage: undefined,
599
+ onBeforeSendUserMessage: undefined,
600
+ onBeforeSendFileMessage: undefined,
601
+ onBeforeSendVoiceMessage: undefined,
602
+ onBeforeSendMultipleFilesMessage: undefined,
603
+ onBeforeDownloadFileMessage: undefined,
604
+ isMultipleFilesMessageEnabled: undefined,
605
+ filterEmojiCategoryIds: undefined,
606
+ currentChannel: null,
607
+ threadMessages: [],
608
+ allThreadMessages: [],
609
+ localThreadMessages: [],
610
+ parentMessage: null,
611
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
612
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
613
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
614
+ hasMorePrev: false,
615
+ hasMoreNext: false,
616
+ emojiContainer: {},
617
+ isMuted: false,
618
+ isChannelFrozen: false,
619
+ currentUserId: '',
620
+ typingMembers: [],
621
+ nicknamesMap: null,
622
+ }); };
623
+ var ThreadContext = React__default.default.createContext(null);
624
+ var createThreadStore = function (props) { return SendbirdContext.createStore(_tslib.__assign(_tslib.__assign({}, initialState()), props)); };
625
+ var InternalThreadProvider = function (props) {
626
+ var children = props.children;
627
+ var defaultProps = {
628
+ channelUrl: props === null || props === void 0 ? void 0 : props.channelUrl,
629
+ message: props === null || props === void 0 ? void 0 : props.message,
630
+ onHeaderActionClick: props === null || props === void 0 ? void 0 : props.onHeaderActionClick,
631
+ onMoveToParentMessage: props === null || props === void 0 ? void 0 : props.onMoveToParentMessage,
632
+ onBeforeSendUserMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendUserMessage,
633
+ onBeforeSendFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendFileMessage,
634
+ onBeforeSendVoiceMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendVoiceMessage,
635
+ onBeforeSendMultipleFilesMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendMultipleFilesMessage,
636
+ onBeforeDownloadFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeDownloadFileMessage,
637
+ isMultipleFilesMessageEnabled: props === null || props === void 0 ? void 0 : props.isMultipleFilesMessageEnabled,
638
+ filterEmojiCategoryIds: props === null || props === void 0 ? void 0 : props.filterEmojiCategoryIds,
639
+ };
640
+ var storeRef = React.useRef(createThreadStore(defaultProps));
641
+ return (React__default.default.createElement(ThreadContext.Provider, { value: storeRef.current }, children));
642
+ };
643
+ var ThreadManager = function (props) {
644
+ var message$1 = props.message, channelUrl = props.channelUrl, onHeaderActionClick = props.onHeaderActionClick, onMoveToParentMessage = props.onMoveToParentMessage, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onBeforeDownloadFileMessage = props.onBeforeDownloadFileMessage, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled, filterEmojiCategoryIds = props.filterEmojiCategoryIds;
645
+ var _a = useThread().state, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage, parentMessageState = _a.parentMessageState;
646
+ var updateState = useThreadStore().updateState;
647
+ var propsParentMessage = utils.getParentMessageFrom(message$1);
648
+ // Context from SendbirdProvider
649
+ var _b = useSendbird.useSendbird().state, stores = _b.stores, config = _b.config;
650
+ // // stores
651
+ var sdkStore = stores.sdkStore, userStore = stores.userStore;
652
+ var sdk = sdkStore.sdk;
653
+ var user = userStore.user;
654
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
655
+ // // config
656
+ var logger = config.logger;
657
+ var isReactionEnabled = config.groupChannel.enableReactions;
658
+ // Initialization
659
+ useSetCurrentUserId({ user: user });
660
+ useGetChannel({
661
+ channelUrl: channelUrl,
662
+ sdkInit: sdkInit,
663
+ message: message$1,
664
+ }, { sdk: sdk, logger: logger });
665
+ useGetParentMessage({
666
+ channelUrl: channelUrl,
667
+ sdkInit: sdkInit,
668
+ parentMessage: propsParentMessage,
669
+ }, { sdk: sdk, logger: logger });
670
+ useGetAllEmoji({ sdk: sdk }, { logger: logger });
671
+ // Handle channel events
672
+ useHandleChannelEvents({
673
+ sdk: sdk,
674
+ currentChannel: currentChannel,
675
+ }, { logger: logger });
676
+ var startingPoint = (message$1 && propsParentMessage && message$1.messageId !== propsParentMessage.messageId)
677
+ ? message$1.createdAt
678
+ : Number.MAX_SAFE_INTEGER;
679
+ var threadDataSource = uikitTools.useGroupChannelThreadMessages(sdk, currentChannel, (propsParentMessage !== null && propsParentMessage !== void 0 ? propsParentMessage : parentMessage), {
680
+ startingPoint: startingPoint,
681
+ isReactionEnabled: isReactionEnabled,
682
+ logger: logger,
683
+ onParentMessageUpdated: function (updatedParentMessage) {
684
+ updateState({ parentMessage: updatedParentMessage });
685
+ },
686
+ onParentMessageDeleted: function () {
687
+ updateState({
688
+ parentMessage: null,
689
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
690
+ threadMessages: [],
691
+ allThreadMessages: [],
692
+ localThreadMessages: [],
693
+ });
694
+ },
695
+ onChannelDeleted: function () {
696
+ updateState({
697
+ currentChannel: null,
698
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
699
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
700
+ // Clear the parent too: the channel is gone, so a stale parentMessage would keep the
701
+ // composer enabled (ThreadMessageInput only disables on parentMessage === null) while sends
702
+ // silently no-op. Mirrors the current-user-banned reset.
703
+ parentMessage: null,
704
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
705
+ threadMessages: [],
706
+ allThreadMessages: [],
707
+ localThreadMessages: [],
708
+ hasMorePrev: false,
709
+ hasMoreNext: false,
710
+ });
711
+ },
712
+ onCurrentUserBanned: function () {
713
+ updateState({
714
+ currentChannel: null,
715
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
716
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
717
+ parentMessage: null,
718
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
719
+ threadMessages: [],
720
+ allThreadMessages: [],
721
+ localThreadMessages: [],
722
+ hasMorePrev: false,
723
+ hasMoreNext: false,
724
+ });
725
+ },
726
+ onChannelUpdated: function (channel) {
727
+ updateState({
728
+ currentChannel: channel,
729
+ isChannelFrozen: (channel === null || channel === void 0 ? void 0 : channel.isFrozen) || false,
730
+ });
731
+ },
732
+ });
733
+ var threadListState = threadDataSource.loading && config.isOnline && parentMessageState === Thread_context_types.ParentMessageStateTypes.INITIALIZED
734
+ ? Thread_context_types.ThreadListStateTypes.LOADING
735
+ : threadDataSource.initialized
736
+ ? Thread_context_types.ThreadListStateTypes.INITIALIZED
737
+ : Thread_context_types.ThreadListStateTypes.NIL;
738
+ var hasMorePrev = threadDataSource.hasPrevious();
739
+ var hasMoreNext = threadDataSource.hasNext();
740
+ var store = React.useContext(ThreadContext);
741
+ var messagesSyncKey = threadDataSource.messages
742
+ .map(function (message) {
743
+ var uploadParams = message.messageParams;
744
+ var uploadState = (uploadParams === null || uploadParams === void 0 ? void 0 : uploadParams.fileInfoList)
745
+ ? uploadParams.fileInfoList.map(function (info) { var _a; return (_a = info.fileUrl) !== null && _a !== void 0 ? _a : ''; }).join(',')
746
+ : '';
747
+ return "".concat(JSON.stringify(message.serialize()), "#").concat(uploadState);
748
+ })
749
+ .join('~');
750
+ React.useEffect(function () {
751
+ if (!parentMessage)
752
+ return;
753
+ // core-ts scopes the collection to this thread's replies (belongsToThread on the event/fetch and
754
+ // send/resend paths), so mirror them as-is. Split into the legacy public shape: allThreadMessages =
755
+ // succeeded (server) messages, localThreadMessages = pending/failed; threadMessages = all of them.
756
+ var scopedMessages = threadDataSource.messages;
757
+ var localThreadMessages = scopedMessages.filter(function (m) {
758
+ var sendingStatus = m.sendingStatus;
759
+ return sendingStatus === message.SendingStatus.PENDING || sendingStatus === message.SendingStatus.FAILED;
760
+ });
761
+ var allThreadMessages = scopedMessages.filter(function (m) { return !localThreadMessages.includes(m); });
762
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (_tslib.__assign(_tslib.__assign({}, prev), { threadMessages: scopedMessages, allThreadMessages: allThreadMessages, localThreadMessages: localThreadMessages, hasMorePrev: hasMorePrev, hasMoreNext: hasMoreNext, threadListState: threadListState })); }, true);
763
+ }, [store, messagesSyncKey, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, hasMorePrev, hasMoreNext, threadListState]);
764
+ React.useEffect(function () {
765
+ store === null || store === void 0 ? void 0 : store.setState(function (prev) { return (_tslib.__assign(_tslib.__assign({}, prev), { loadPrevious: threadDataSource.loadPrevious, loadNext: threadDataSource.loadNext, resetWithStartingPoint: threadDataSource.resetWithStartingPoint, dsSendUserMessage: threadDataSource.sendUserMessage, dsSendFileMessage: threadDataSource.sendFileMessage, dsSendMultipleFilesMessage: threadDataSource.sendMultipleFilesMessage, dsUpdateUserMessage: threadDataSource.updateUserMessage, dsResendMessage: threadDataSource.resendMessage, dsDeleteMessage: threadDataSource.deleteMessage })); }, true);
766
+ }, [store]);
767
+ // memo
768
+ var nicknamesMap = React.useMemo(function () { return ((config.groupChannel.replyType !== 'none' && currentChannel)
769
+ ? utils.getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
770
+ : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
771
+ useDeepCompareEffect.useDeepCompareEffect(function () {
772
+ updateState({
773
+ channelUrl: channelUrl,
774
+ message: message$1,
775
+ onHeaderActionClick: onHeaderActionClick,
776
+ onMoveToParentMessage: onMoveToParentMessage,
777
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
778
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
779
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
780
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
781
+ onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
782
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
783
+ filterEmojiCategoryIds: filterEmojiCategoryIds,
784
+ nicknamesMap: nicknamesMap,
785
+ });
786
+ }, [
787
+ channelUrl,
788
+ message$1,
789
+ onHeaderActionClick,
790
+ onMoveToParentMessage,
791
+ onBeforeSendUserMessage,
792
+ onBeforeSendFileMessage,
793
+ onBeforeSendVoiceMessage,
794
+ onBeforeSendMultipleFilesMessage,
795
+ onBeforeDownloadFileMessage,
796
+ isMultipleFilesMessageEnabled,
797
+ filterEmojiCategoryIds,
798
+ nicknamesMap,
799
+ ]);
800
+ return null;
801
+ };
802
+ var ThreadProvider = function (props) {
803
+ var _a, _b;
804
+ var children = props.children;
805
+ return (React__default.default.createElement(InternalThreadProvider, _tslib.__assign({}, props),
806
+ React__default.default.createElement(ThreadManager, _tslib.__assign({ key: (_b = (_a = props.message) === null || _a === void 0 ? void 0 : _a.messageId) !== null && _b !== void 0 ? _b : 'thread' }, props)),
807
+ React__default.default.createElement(UserProfileContext.UserProfileProvider, _tslib.__assign({}, props), children)));
808
+ };
809
+ var useThreadContext = function () {
810
+ var _a = useThread(), state = _a.state, actions = _a.actions;
811
+ return _tslib.__assign(_tslib.__assign({}, state), actions);
812
+ };
813
+ var useThreadStore = function () {
814
+ return SendbirdContext.useStore(ThreadContext, function (state) { return state; }, initialState());
815
+ };
816
+
817
+ exports.InternalThreadProvider = InternalThreadProvider;
818
+ exports.ThreadContext = ThreadContext;
819
+ exports.ThreadManager = ThreadManager;
820
+ exports.ThreadProvider = ThreadProvider;
821
+ exports.useThread = useThread;
822
+ exports.useThreadContext = useThreadContext;
823
+ //# sourceMappingURL=bundle-aWBgGjMg.js.map