@sendbird/uikit-react 3.17.12 → 3.18.0

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 (995) hide show
  1. package/App.js +93 -91
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +16 -16
  4. package/Channel/components/ChannelHeader.js +33 -33
  5. package/Channel/components/ChannelUI.js +72 -69
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +31 -31
  8. package/Channel/components/FrozenNotification.js +6 -6
  9. package/Channel/components/Message.js +59 -58
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +56 -54
  12. package/Channel/components/MessageInput.js.map +1 -1
  13. package/Channel/components/MessageInputWrapper.js +54 -51
  14. package/Channel/components/MessageInputWrapper.js.map +1 -1
  15. package/Channel/components/MessageList.js +66 -65
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +30 -30
  18. package/Channel/components/SuggestedMentionList.js +30 -30
  19. package/Channel/components/TypingIndicator.js +9 -9
  20. package/Channel/components/UnreadCount.js +8 -8
  21. package/Channel/context.js +25 -26
  22. package/Channel/context.js.map +1 -1
  23. package/Channel/hooks/useHandleUploadFiles.js +35 -57
  24. package/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  25. package/Channel/hooks/useInitialMessagesFetch.js +8 -8
  26. package/Channel/utils/compareMessagesForGrouping.js +8 -8
  27. package/Channel/utils/getMessagePartsInfo.js +9 -9
  28. package/Channel.js +72 -69
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +93 -91
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +13 -13
  33. package/ChannelList/components/ChannelListUI.js +93 -91
  34. package/ChannelList/components/ChannelListUI.js.map +1 -1
  35. package/ChannelList/components/ChannelPreview.js +32 -32
  36. package/ChannelList/components/ChannelPreviewAction.js +17 -17
  37. package/ChannelList/context.js +14 -14
  38. package/ChannelList.js +93 -91
  39. package/ChannelList.js.map +1 -1
  40. package/ChannelSettings/components/ChannelProfile.js +23 -23
  41. package/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  42. package/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  43. package/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  44. package/ChannelSettings/components/ChannelSettingsUI.js +33 -33
  45. package/ChannelSettings/components/EditDetailsModal.js +19 -19
  46. package/ChannelSettings/components/LeaveChannel.js +20 -20
  47. package/ChannelSettings/components/ModerationPanel.js +31 -31
  48. package/ChannelSettings/components/UserListItem.js +19 -19
  49. package/ChannelSettings/components/UserPanel.js +29 -29
  50. package/ChannelSettings/context.js +9 -9
  51. package/ChannelSettings/hooks/useMenuList.js +29 -29
  52. package/ChannelSettings.js +31 -31
  53. package/CreateChannel/components/CreateChannelUI.js +93 -91
  54. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  55. package/CreateChannel/components/InviteUsers.js +93 -91
  56. package/CreateChannel/components/InviteUsers.js.map +1 -1
  57. package/CreateChannel/components/SelectChannelType.js +93 -91
  58. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  59. package/CreateChannel/context.js +93 -91
  60. package/CreateChannel/context.js.map +1 -1
  61. package/CreateChannel.js +93 -91
  62. package/CreateChannel.js.map +1 -1
  63. package/CreateOpenChannel/components/CreateOpenChannelUI.js +16 -16
  64. package/CreateOpenChannel/context.js +4 -4
  65. package/CreateOpenChannel.js +15 -15
  66. package/EditUserProfile/components/EditUserProfileUI.js +15 -15
  67. package/EditUserProfile/context.js +1 -1
  68. package/EditUserProfile.js +15 -15
  69. package/GroupChannel/components/FileViewer.js +28 -28
  70. package/GroupChannel/components/FrozenNotification.js +6 -6
  71. package/GroupChannel/components/GroupChannelHeader.js +29 -29
  72. package/GroupChannel/components/GroupChannelUI.js +67 -64
  73. package/GroupChannel/components/GroupChannelUI.js.map +1 -1
  74. package/GroupChannel/components/Message.js +56 -55
  75. package/GroupChannel/components/Message.js.map +1 -1
  76. package/GroupChannel/components/MessageInputWrapper.js +51 -48
  77. package/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  78. package/GroupChannel/components/MessageList.js +61 -60
  79. package/GroupChannel/components/MessageList.js.map +1 -1
  80. package/GroupChannel/components/RemoveMessageModal.js +27 -27
  81. package/GroupChannel/components/SuggestedMentionList.js +15 -15
  82. package/GroupChannel/components/TypingIndicator.js +9 -9
  83. package/GroupChannel/components/UnreadCount.js +9 -9
  84. package/GroupChannel/context.js +15 -15
  85. package/GroupChannel.js +67 -64
  86. package/GroupChannel.js.map +1 -1
  87. package/GroupChannelList/components/AddGroupChannel.js +93 -91
  88. package/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  89. package/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  90. package/GroupChannelList/components/GroupChannelListItem.js +32 -32
  91. package/GroupChannelList/components/GroupChannelListUI.js +93 -91
  92. package/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  93. package/GroupChannelList/components/GroupChannelPreviewAction.js +18 -18
  94. package/GroupChannelList/context.js +10 -10
  95. package/GroupChannelList.js +93 -91
  96. package/GroupChannelList.js.map +1 -1
  97. package/MessageSearch/components/MessageSearchUI.js +20 -20
  98. package/MessageSearch/context.js +6 -6
  99. package/MessageSearch.js +23 -23
  100. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  101. package/OpenChannel/components/OpenChannelHeader.js +21 -21
  102. package/OpenChannel/components/OpenChannelInput.js +81 -34
  103. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessage.js +40 -42
  105. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessageList.js +45 -45
  107. package/OpenChannel/components/OpenChannelUI.js +46 -44
  108. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  109. package/OpenChannel/context.js +19 -19
  110. package/OpenChannel.js +48 -46
  111. package/OpenChannel.js.map +1 -1
  112. package/OpenChannelList/components/OpenChannelListUI.js +18 -18
  113. package/OpenChannelList/components/OpenChannelPreview.js +7 -7
  114. package/OpenChannelList/context.js +7 -7
  115. package/OpenChannelList.js +17 -17
  116. package/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  117. package/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  118. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  119. package/OpenChannelSettings/components/OperatorUI.js +26 -26
  120. package/OpenChannelSettings/components/ParticipantUI.js +22 -22
  121. package/OpenChannelSettings/context.js +6 -6
  122. package/OpenChannelSettings.js +24 -24
  123. package/SendbirdProvider.js +28 -24
  124. package/SendbirdProvider.js.map +1 -1
  125. package/Thread/components/ParentMessageInfo.js +59 -62
  126. package/Thread/components/ParentMessageInfo.js.map +1 -1
  127. package/Thread/components/ParentMessageInfoItem.js +35 -35
  128. package/Thread/components/ThreadHeader.js +9 -9
  129. package/Thread/components/ThreadList.js +58 -57
  130. package/Thread/components/ThreadList.js.map +1 -1
  131. package/Thread/components/ThreadListItem.js +66 -69
  132. package/Thread/components/ThreadListItem.js.map +1 -1
  133. package/Thread/components/ThreadMessageInput.js +220 -79
  134. package/Thread/components/ThreadMessageInput.js.map +1 -1
  135. package/Thread/components/ThreadUI.js +66 -64
  136. package/Thread/components/ThreadUI.js.map +1 -1
  137. package/Thread/context.js +15 -15
  138. package/Thread.js +66 -64
  139. package/Thread.js.map +1 -1
  140. package/VoicePlayer/context.js +6 -6
  141. package/VoicePlayer/useVoicePlayer.js +24 -18
  142. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  143. package/VoiceRecorder/context.js +14 -14
  144. package/VoiceRecorder/useVoiceRecorder.js +12 -12
  145. package/chunks/{bundle-N4pYliV4.js → bundle-4clodtJA.js} +25 -29
  146. package/chunks/bundle-4clodtJA.js.map +1 -0
  147. package/chunks/{bundle-D0jKWKxy.js → bundle-5y4qYKhm.js} +9 -9
  148. package/chunks/{bundle-D0jKWKxy.js.map → bundle-5y4qYKhm.js.map} +1 -1
  149. package/chunks/{bundle-CoYdwElL.js → bundle-6I0gJidJ.js} +1 -1
  150. package/chunks/bundle-6I0gJidJ.js.map +1 -0
  151. package/chunks/{bundle-Cy_QnT7V.js → bundle-9ghXmCwH.js} +1 -1
  152. package/chunks/bundle-9ghXmCwH.js.map +1 -0
  153. package/chunks/bundle-AsQ1wnFm.js +47 -0
  154. package/chunks/bundle-AsQ1wnFm.js.map +1 -0
  155. package/chunks/{bundle-DkpWXGq7.js → bundle-B40pTdZv.js} +1 -1
  156. package/chunks/bundle-B40pTdZv.js.map +1 -0
  157. package/chunks/{bundle-Do4xiOif.js → bundle-B56O1y8C.js} +5 -5
  158. package/chunks/{bundle-Do4xiOif.js.map → bundle-B56O1y8C.js.map} +1 -1
  159. package/chunks/{bundle-7jWqG-L9.js → bundle-B5LKcMN_.js} +2 -2
  160. package/chunks/bundle-B5LKcMN_.js.map +1 -0
  161. package/chunks/bundle-B5xkbY4c.js +111 -0
  162. package/chunks/bundle-B5xkbY4c.js.map +1 -0
  163. package/chunks/{bundle-CMB7p6Uq.js → bundle-B9yd2WEy.js} +4 -4
  164. package/chunks/bundle-B9yd2WEy.js.map +1 -0
  165. package/chunks/bundle-BCjR1Qiq.js +707 -0
  166. package/chunks/bundle-BCjR1Qiq.js.map +1 -0
  167. package/chunks/{bundle-5uYh-Xyr.js → bundle-BEPoP7sp.js} +2 -2
  168. package/chunks/bundle-BEPoP7sp.js.map +1 -0
  169. package/chunks/{bundle-TVnsbl6m.js → bundle-BJShQs4P.js} +5 -5
  170. package/chunks/bundle-BJShQs4P.js.map +1 -0
  171. package/chunks/{bundle-DlDnQChp.js → bundle-BKXsd3zk.js} +1 -1
  172. package/chunks/bundle-BKXsd3zk.js.map +1 -0
  173. package/chunks/{bundle-DdzbXETc.js → bundle-BLMU9f-F.js} +34 -23
  174. package/{cjs/chunks/bundle-DrXHYoHC.js.map → chunks/bundle-BLMU9f-F.js.map} +1 -1
  175. package/chunks/{bundle-p-LuYka5.js → bundle-BRJdb8OX.js} +1 -1
  176. package/chunks/bundle-BRJdb8OX.js.map +1 -0
  177. package/chunks/{bundle-DrBHyLkW.js → bundle-BShLbNAF.js} +1 -1
  178. package/chunks/bundle-BShLbNAF.js.map +1 -0
  179. package/chunks/{bundle-DGClPDDG.js → bundle-BZSLsKkw.js} +25 -8
  180. package/chunks/{bundle-DGClPDDG.js.map → bundle-BZSLsKkw.js.map} +1 -1
  181. package/chunks/{bundle-Czj8Brwx.js → bundle-Banyr0qP.js} +3 -3
  182. package/chunks/bundle-Banyr0qP.js.map +1 -0
  183. package/chunks/{bundle-Bm170aTh.js → bundle-BdprN8pt.js} +1 -1
  184. package/chunks/{bundle-Bm170aTh.js.map → bundle-BdprN8pt.js.map} +1 -1
  185. package/chunks/{bundle-CRL04AgG.js → bundle-BfgSx7DM.js} +3 -3
  186. package/chunks/{bundle-CRL04AgG.js.map → bundle-BfgSx7DM.js.map} +1 -1
  187. package/chunks/{bundle-DqS4dbv4.js → bundle-Bm5O6aP3.js} +1 -1
  188. package/chunks/bundle-Bm5O6aP3.js.map +1 -0
  189. package/chunks/{bundle-BH0Gnqgn.js → bundle-BpM8phr1.js} +14 -14
  190. package/chunks/{bundle-BH0Gnqgn.js.map → bundle-BpM8phr1.js.map} +1 -1
  191. package/chunks/{bundle-Rf2YUo_V.js → bundle-Bpofr334.js} +2 -2
  192. package/chunks/{bundle-Rf2YUo_V.js.map → bundle-Bpofr334.js.map} +1 -1
  193. package/chunks/{bundle-DYe1Zy4G.js → bundle-BqKoZDqX.js} +1 -1
  194. package/chunks/{bundle-DYe1Zy4G.js.map → bundle-BqKoZDqX.js.map} +1 -1
  195. package/chunks/{bundle-CiM203M8.js → bundle-BrCEaRXK.js} +16 -16
  196. package/chunks/{bundle-CiM203M8.js.map → bundle-BrCEaRXK.js.map} +1 -1
  197. package/chunks/{bundle-vKtIIKY9.js → bundle-BrqWLoDb.js} +5 -5
  198. package/chunks/{bundle-vKtIIKY9.js.map → bundle-BrqWLoDb.js.map} +1 -1
  199. package/chunks/{bundle-Drd87B-A.js → bundle-Bs8Cwq5j.js} +9 -9
  200. package/chunks/bundle-Bs8Cwq5j.js.map +1 -0
  201. package/chunks/{bundle-DtNlUv5X.js → bundle-BsY2Dawk.js} +2 -2
  202. package/chunks/bundle-BsY2Dawk.js.map +1 -0
  203. package/chunks/{bundle-B0-5LriX.js → bundle-C1npFBfj.js} +1 -1
  204. package/chunks/bundle-C1npFBfj.js.map +1 -0
  205. package/chunks/{bundle-DxLe-XFT.js → bundle-C20UC6V7.js} +7 -7
  206. package/chunks/bundle-C20UC6V7.js.map +1 -0
  207. package/chunks/{bundle-CA3QA8D9.js → bundle-C2ARCMSL.js} +1 -1
  208. package/chunks/bundle-C2ARCMSL.js.map +1 -0
  209. package/chunks/{bundle-7U4PQody.js → bundle-C4anRHWY.js} +11 -11
  210. package/chunks/bundle-C4anRHWY.js.map +1 -0
  211. package/chunks/{bundle-BTCMEIEY.js → bundle-C5-D2BAP.js} +48 -11
  212. package/{cjs/chunks/bundle-C3xjTMsq.js.map → chunks/bundle-C5-D2BAP.js.map} +1 -1
  213. package/chunks/{bundle-DrRbMZYo.js → bundle-C60Wnv-9.js} +2 -2
  214. package/chunks/bundle-C60Wnv-9.js.map +1 -0
  215. package/chunks/{bundle-DtYmMn4i.js → bundle-CAshTR7h.js} +1 -1
  216. package/chunks/bundle-CAshTR7h.js.map +1 -0
  217. package/chunks/{bundle-BzVXDF4q.js → bundle-CD4RzjMA.js} +4 -4
  218. package/chunks/bundle-CD4RzjMA.js.map +1 -0
  219. package/chunks/{bundle-DbVYTOyC.js → bundle-CFc2hy8g.js} +2 -2
  220. package/chunks/bundle-CFc2hy8g.js.map +1 -0
  221. package/chunks/{bundle-DyqejJgi.js → bundle-CLHIHGae.js} +5 -5
  222. package/chunks/bundle-CLHIHGae.js.map +1 -0
  223. package/chunks/{bundle-BIqM6Hxe.js → bundle-CLrmFXHj.js} +10 -10
  224. package/chunks/{bundle-BIqM6Hxe.js.map → bundle-CLrmFXHj.js.map} +1 -1
  225. package/chunks/{bundle-BcO_fFqM.js → bundle-CPOgmEXq.js} +4 -4
  226. package/chunks/bundle-CPOgmEXq.js.map +1 -0
  227. package/chunks/{bundle-CGwV3Gik.js → bundle-Cd8fnvI_.js} +1 -1
  228. package/chunks/bundle-Cd8fnvI_.js.map +1 -0
  229. package/chunks/{bundle-C0kbt3jK.js → bundle-Cdplrrlw.js} +4 -4
  230. package/chunks/bundle-Cdplrrlw.js.map +1 -0
  231. package/chunks/{bundle-D-RwYEMS.js → bundle-Cdqsdoa8.js} +4 -4
  232. package/chunks/bundle-Cdqsdoa8.js.map +1 -0
  233. package/chunks/{bundle-H2vPT1yo.js → bundle-CglqREVl.js} +1 -1
  234. package/chunks/bundle-CglqREVl.js.map +1 -0
  235. package/chunks/{bundle-CC1DUKjn.js → bundle-ChLik1Zs.js} +4 -4
  236. package/chunks/{bundle-CC1DUKjn.js.map → bundle-ChLik1Zs.js.map} +1 -1
  237. package/chunks/{bundle-oemCj6em.js → bundle-CnFrQOtC.js} +21 -19
  238. package/{cjs/chunks/bundle-BEC0Joom.js.map → chunks/bundle-CnFrQOtC.js.map} +1 -1
  239. package/chunks/{bundle-DQYXgT7k.js → bundle-Cslf3sKl.js} +3 -3
  240. package/chunks/bundle-Cslf3sKl.js.map +1 -0
  241. package/chunks/{bundle-CAhDMMRN.js → bundle-Cw0XZgRI.js} +7 -7
  242. package/chunks/bundle-Cw0XZgRI.js.map +1 -0
  243. package/chunks/{bundle-LuCErKTs.js → bundle-CwMNZmx9.js} +222 -149
  244. package/chunks/{bundle-LuCErKTs.js.map → bundle-CwMNZmx9.js.map} +1 -1
  245. package/chunks/{bundle-BG86HGdS.js → bundle-Cyocqt10.js} +10 -12
  246. package/{cjs/chunks/bundle-BbAqlLCc.js.map → chunks/bundle-Cyocqt10.js.map} +1 -1
  247. package/chunks/{bundle-DUcF-Ysh.js → bundle-D-L9ZslG.js} +8 -8
  248. package/chunks/{bundle-DUcF-Ysh.js.map → bundle-D-L9ZslG.js.map} +1 -1
  249. package/chunks/{bundle-DGQWH-cy.js → bundle-D0WVu0lN.js} +1 -1
  250. package/chunks/bundle-D0WVu0lN.js.map +1 -0
  251. package/chunks/{bundle-gwjSH2mW.js → bundle-D3zdGXmK.js} +4 -4
  252. package/chunks/{bundle-gwjSH2mW.js.map → bundle-D3zdGXmK.js.map} +1 -1
  253. package/chunks/{bundle-DK3N3h04.js → bundle-D4O-NxY1.js} +28 -18
  254. package/{cjs/chunks/bundle-DNoz4pQu.js.map → chunks/bundle-D4O-NxY1.js.map} +1 -1
  255. package/chunks/{bundle-DllTlF8y.js → bundle-D646l1Rn.js} +1 -1
  256. package/chunks/bundle-D646l1Rn.js.map +1 -0
  257. package/chunks/{bundle-WkoNLiDg.js → bundle-D9ORMtyv.js} +7 -7
  258. package/chunks/bundle-D9ORMtyv.js.map +1 -0
  259. package/chunks/{bundle-CBxxE9Im.js → bundle-DC25kzte.js} +10 -10
  260. package/chunks/{bundle-CBxxE9Im.js.map → bundle-DC25kzte.js.map} +1 -1
  261. package/chunks/{bundle-BevIBLvw.js → bundle-DD_FhSU8.js} +6 -6
  262. package/chunks/bundle-DD_FhSU8.js.map +1 -0
  263. package/chunks/{bundle-E1T8H1Wz.js → bundle-DFWI31lg.js} +4 -4
  264. package/chunks/bundle-DFWI31lg.js.map +1 -0
  265. package/chunks/{bundle-BERPh6M4.js → bundle-DIdJF27_.js} +2 -2
  266. package/chunks/bundle-DIdJF27_.js.map +1 -0
  267. package/chunks/{bundle-DuNS5cqO.js → bundle-DTiJ-rFi.js} +5 -5
  268. package/chunks/{bundle-DuNS5cqO.js.map → bundle-DTiJ-rFi.js.map} +1 -1
  269. package/chunks/{bundle-D_pOeelV.js → bundle-DVdeXT-4.js} +2 -4
  270. package/chunks/bundle-DVdeXT-4.js.map +1 -0
  271. package/chunks/{bundle-CqBJPXqm.js → bundle-DWURNKdQ.js} +19 -10
  272. package/{cjs/chunks/bundle-SZKEK91B.js.map → chunks/bundle-DWURNKdQ.js.map} +1 -1
  273. package/chunks/{bundle-D7HOrOoM.js → bundle-DX6fRIJl.js} +1 -1
  274. package/chunks/bundle-DX6fRIJl.js.map +1 -0
  275. package/chunks/{bundle-D7GxaY-7.js → bundle-DXC9ZAL8.js} +7 -7
  276. package/chunks/{bundle-D7GxaY-7.js.map → bundle-DXC9ZAL8.js.map} +1 -1
  277. package/chunks/{bundle-B_o6RGln.js → bundle-DY7Cxkk0.js} +2 -2
  278. package/chunks/{bundle-B_o6RGln.js.map → bundle-DY7Cxkk0.js.map} +1 -1
  279. package/chunks/{bundle-BGZ1wO7_.js → bundle-DiO7lolz.js} +3 -3
  280. package/chunks/bundle-DiO7lolz.js.map +1 -0
  281. package/chunks/{bundle-dBYGtuby.js → bundle-Dj_wODPB.js} +97 -78
  282. package/{cjs/chunks/bundle-Bp0KVW3m.js.map → chunks/bundle-Dj_wODPB.js.map} +1 -1
  283. package/chunks/{bundle-B1KyIanQ.js → bundle-DmOfz_GY.js} +77 -47
  284. package/chunks/{bundle-DK3N3h04.js.map → bundle-DmOfz_GY.js.map} +1 -1
  285. package/chunks/{bundle-V2GjRdnC.js → bundle-DmnXeBdU.js} +1 -1
  286. package/chunks/{bundle-V2GjRdnC.js.map → bundle-DmnXeBdU.js.map} +1 -1
  287. package/chunks/{bundle-BbPcWA8F.js → bundle-DpOgiF9r.js} +1 -1
  288. package/chunks/bundle-DpOgiF9r.js.map +1 -0
  289. package/chunks/{bundle-B7_wxKtf.js → bundle-Dw9WYTqh.js} +2 -2
  290. package/chunks/{bundle-B7_wxKtf.js.map → bundle-Dw9WYTqh.js.map} +1 -1
  291. package/chunks/{bundle-DB8gY2-t.js → bundle-DyguzebC.js} +2 -2
  292. package/chunks/{bundle-DB8gY2-t.js.map → bundle-DyguzebC.js.map} +1 -1
  293. package/chunks/{bundle-kzGm7K3f.js → bundle-DyosazG-.js} +3 -5
  294. package/chunks/{bundle-kzGm7K3f.js.map → bundle-DyosazG-.js.map} +1 -1
  295. package/chunks/{bundle-B7jxtQGu.js → bundle-DzB_38co.js} +7 -7
  296. package/chunks/{bundle-B7jxtQGu.js.map → bundle-DzB_38co.js.map} +1 -1
  297. package/chunks/{bundle-CPYTrCpd.js → bundle-EKFQIahk.js} +3 -3
  298. package/chunks/{bundle-CPYTrCpd.js.map → bundle-EKFQIahk.js.map} +1 -1
  299. package/chunks/bundle-ExNQo0Ly.js +160 -0
  300. package/chunks/{bundle-CJjQGipC.js.map → bundle-ExNQo0Ly.js.map} +1 -1
  301. package/chunks/{bundle-nToh_fKd.js → bundle-F_R9C4cW.js} +1 -1
  302. package/chunks/bundle-F_R9C4cW.js.map +1 -0
  303. package/chunks/{bundle-ni9ZLts6.js → bundle-FnWZX8on.js} +4 -4
  304. package/chunks/bundle-FnWZX8on.js.map +1 -0
  305. package/chunks/{bundle-BCVCTP-D.js → bundle-Gpc6ZS8v.js} +51 -26
  306. package/chunks/{bundle-BCVCTP-D.js.map → bundle-Gpc6ZS8v.js.map} +1 -1
  307. package/chunks/{bundle-BsVc_Y62.js → bundle-HZPwhqsr.js} +8 -8
  308. package/{cjs/chunks/bundle-BkxGko7P.js.map → chunks/bundle-HZPwhqsr.js.map} +1 -1
  309. package/chunks/{bundle-C8L0rqDO.js → bundle-JhKiWlXT.js} +2 -2
  310. package/chunks/bundle-JhKiWlXT.js.map +1 -0
  311. package/chunks/{bundle-m0a3aqLm.js → bundle-KmABwClk.js} +9 -9
  312. package/chunks/{bundle-m0a3aqLm.js.map → bundle-KmABwClk.js.map} +1 -1
  313. package/chunks/{bundle-B9eInLCQ.js → bundle-LLA95Pqf.js} +1 -1
  314. package/chunks/bundle-LLA95Pqf.js.map +1 -0
  315. package/chunks/{bundle-CEPVRxQS.js → bundle-WvDa8Nzx.js} +3 -3
  316. package/chunks/bundle-WvDa8Nzx.js.map +1 -0
  317. package/chunks/{bundle-CJjQGipC.js → bundle-XzHJwv9S.js} +6 -6
  318. package/chunks/{bundle-oemCj6em.js.map → bundle-XzHJwv9S.js.map} +1 -1
  319. package/chunks/{bundle-CeNQpnlq.js → bundle-YDriVB8K.js} +2 -2
  320. package/chunks/bundle-YDriVB8K.js.map +1 -0
  321. package/chunks/{bundle-BuJ0tK_H.js → bundle-bbQJtRLQ.js} +11 -11
  322. package/chunks/{bundle-BuJ0tK_H.js.map → bundle-bbQJtRLQ.js.map} +1 -1
  323. package/chunks/{bundle-CFrUVByv.js → bundle-dSIU9ibx.js} +9 -9
  324. package/chunks/{bundle-CFrUVByv.js.map → bundle-dSIU9ibx.js.map} +1 -1
  325. package/chunks/{bundle-DjCgmBgG.js → bundle-glu5FhZF.js} +13 -13
  326. package/chunks/{bundle-DjCgmBgG.js.map → bundle-glu5FhZF.js.map} +1 -1
  327. package/chunks/{bundle-D00Jjm5a.js → bundle-hLkIqB36.js} +37 -37
  328. package/chunks/{bundle-D00Jjm5a.js.map → bundle-hLkIqB36.js.map} +1 -1
  329. package/chunks/{bundle-Dr0wIN5F.js → bundle-iPLJ9a5J.js} +1 -1
  330. package/chunks/bundle-iPLJ9a5J.js.map +1 -0
  331. package/chunks/bundle-lqEjT2ED.js +4 -0
  332. package/chunks/bundle-lqEjT2ED.js.map +1 -0
  333. package/chunks/{bundle-DKXmeTpK.js → bundle-oM0Fxt9G.js} +6 -2
  334. package/chunks/{bundle-BTCMEIEY.js.map → bundle-oM0Fxt9G.js.map} +1 -1
  335. package/chunks/{bundle-BC1qEtzM.js → bundle-zNUBt0Cg.js} +9 -11
  336. package/chunks/bundle-zNUBt0Cg.js.map +1 -0
  337. package/cjs/App.js +93 -91
  338. package/cjs/App.js.map +1 -1
  339. package/cjs/Channel/components/ChannelHeader.js +33 -33
  340. package/cjs/Channel/components/ChannelUI.js +72 -69
  341. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  342. package/cjs/Channel/components/FileViewer.js +31 -31
  343. package/cjs/Channel/components/FrozenNotification.js +6 -6
  344. package/cjs/Channel/components/Message.js +59 -58
  345. package/cjs/Channel/components/Message.js.map +1 -1
  346. package/cjs/Channel/components/MessageInput.js +56 -54
  347. package/cjs/Channel/components/MessageInput.js.map +1 -1
  348. package/cjs/Channel/components/MessageInputWrapper.js +54 -51
  349. package/cjs/Channel/components/MessageInputWrapper.js.map +1 -1
  350. package/cjs/Channel/components/MessageList.js +65 -64
  351. package/cjs/Channel/components/MessageList.js.map +1 -1
  352. package/cjs/Channel/components/RemoveMessageModal.js +30 -30
  353. package/cjs/Channel/components/SuggestedMentionList.js +30 -30
  354. package/cjs/Channel/components/TypingIndicator.js +9 -9
  355. package/cjs/Channel/components/UnreadCount.js +8 -8
  356. package/cjs/Channel/context.js +25 -26
  357. package/cjs/Channel/context.js.map +1 -1
  358. package/cjs/Channel/hooks/useHandleUploadFiles.js +34 -60
  359. package/cjs/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  360. package/cjs/Channel/hooks/useInitialMessagesFetch.js +8 -8
  361. package/cjs/Channel/utils/compareMessagesForGrouping.js +10 -10
  362. package/cjs/Channel/utils/getMessagePartsInfo.js +9 -9
  363. package/cjs/Channel.js +72 -69
  364. package/cjs/Channel.js.map +1 -1
  365. package/cjs/ChannelList/components/AddChannel.js +93 -91
  366. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  367. package/cjs/ChannelList/components/ChannelListHeader.js +13 -13
  368. package/cjs/ChannelList/components/ChannelListUI.js +93 -91
  369. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  370. package/cjs/ChannelList/components/ChannelPreview.js +32 -32
  371. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -17
  372. package/cjs/ChannelList/context.js +14 -14
  373. package/cjs/ChannelList.js +93 -91
  374. package/cjs/ChannelList.js.map +1 -1
  375. package/cjs/ChannelSettings/components/ChannelProfile.js +23 -23
  376. package/cjs/ChannelSettings/components/ChannelSettingMenuList.js +14 -14
  377. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js +11 -11
  378. package/cjs/ChannelSettings/components/ChannelSettingsMenuItem.js +2 -2
  379. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +32 -32
  380. package/cjs/ChannelSettings/components/EditDetailsModal.js +19 -19
  381. package/cjs/ChannelSettings/components/LeaveChannel.js +20 -20
  382. package/cjs/ChannelSettings/components/ModerationPanel.js +33 -33
  383. package/cjs/ChannelSettings/components/UserListItem.js +19 -19
  384. package/cjs/ChannelSettings/components/UserPanel.js +28 -28
  385. package/cjs/ChannelSettings/context.js +9 -9
  386. package/cjs/ChannelSettings/hooks/useMenuList.js +29 -29
  387. package/cjs/ChannelSettings.js +31 -31
  388. package/cjs/CreateChannel/components/CreateChannelUI.js +93 -91
  389. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  390. package/cjs/CreateChannel/components/InviteUsers.js +93 -91
  391. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  392. package/cjs/CreateChannel/components/SelectChannelType.js +93 -91
  393. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  394. package/cjs/CreateChannel/context.js +93 -91
  395. package/cjs/CreateChannel/context.js.map +1 -1
  396. package/cjs/CreateChannel.js +93 -91
  397. package/cjs/CreateChannel.js.map +1 -1
  398. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +15 -15
  399. package/cjs/CreateOpenChannel/context.js +4 -4
  400. package/cjs/CreateOpenChannel.js +15 -15
  401. package/cjs/EditUserProfile/components/EditUserProfileUI.js +15 -15
  402. package/cjs/EditUserProfile/context.js +1 -1
  403. package/cjs/EditUserProfile.js +15 -15
  404. package/cjs/GroupChannel/components/FileViewer.js +28 -28
  405. package/cjs/GroupChannel/components/FrozenNotification.js +6 -6
  406. package/cjs/GroupChannel/components/GroupChannelHeader.js +29 -29
  407. package/cjs/GroupChannel/components/GroupChannelUI.js +67 -64
  408. package/cjs/GroupChannel/components/GroupChannelUI.js.map +1 -1
  409. package/cjs/GroupChannel/components/Message.js +56 -55
  410. package/cjs/GroupChannel/components/Message.js.map +1 -1
  411. package/cjs/GroupChannel/components/MessageInputWrapper.js +50 -47
  412. package/cjs/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  413. package/cjs/GroupChannel/components/MessageList.js +60 -59
  414. package/cjs/GroupChannel/components/MessageList.js.map +1 -1
  415. package/cjs/GroupChannel/components/RemoveMessageModal.js +27 -27
  416. package/cjs/GroupChannel/components/SuggestedMentionList.js +15 -15
  417. package/cjs/GroupChannel/components/TypingIndicator.js +9 -9
  418. package/cjs/GroupChannel/components/UnreadCount.js +8 -8
  419. package/cjs/GroupChannel/context.js +15 -15
  420. package/cjs/GroupChannel.js +67 -64
  421. package/cjs/GroupChannel.js.map +1 -1
  422. package/cjs/GroupChannelList/components/AddGroupChannel.js +93 -91
  423. package/cjs/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  424. package/cjs/GroupChannelList/components/GroupChannelListHeader.js +13 -13
  425. package/cjs/GroupChannelList/components/GroupChannelListItem.js +32 -32
  426. package/cjs/GroupChannelList/components/GroupChannelListUI.js +93 -91
  427. package/cjs/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  428. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js +17 -17
  429. package/cjs/GroupChannelList/context.js +10 -10
  430. package/cjs/GroupChannelList.js +93 -91
  431. package/cjs/GroupChannelList.js.map +1 -1
  432. package/cjs/MessageSearch/components/MessageSearchUI.js +20 -20
  433. package/cjs/MessageSearch/context.js +6 -6
  434. package/cjs/MessageSearch.js +22 -22
  435. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  436. package/cjs/OpenChannel/components/OpenChannelHeader.js +20 -20
  437. package/cjs/OpenChannel/components/OpenChannelInput.js +80 -33
  438. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  439. package/cjs/OpenChannel/components/OpenChannelMessage.js +41 -43
  440. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  441. package/cjs/OpenChannel/components/OpenChannelMessageList.js +47 -47
  442. package/cjs/OpenChannel/components/OpenChannelUI.js +46 -44
  443. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  444. package/cjs/OpenChannel/context.js +19 -19
  445. package/cjs/OpenChannel.js +48 -46
  446. package/cjs/OpenChannel.js.map +1 -1
  447. package/cjs/OpenChannelList/components/OpenChannelListUI.js +17 -17
  448. package/cjs/OpenChannelList/components/OpenChannelPreview.js +6 -6
  449. package/cjs/OpenChannelList/context.js +8 -8
  450. package/cjs/OpenChannelList.js +17 -17
  451. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  452. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +18 -18
  453. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +24 -24
  454. package/cjs/OpenChannelSettings/components/OperatorUI.js +28 -28
  455. package/cjs/OpenChannelSettings/components/ParticipantUI.js +22 -22
  456. package/cjs/OpenChannelSettings/context.js +6 -6
  457. package/cjs/OpenChannelSettings.js +24 -24
  458. package/cjs/SendbirdProvider.js +28 -24
  459. package/cjs/SendbirdProvider.js.map +1 -1
  460. package/cjs/Thread/components/ParentMessageInfo.js +59 -62
  461. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  462. package/cjs/Thread/components/ParentMessageInfoItem.js +34 -34
  463. package/cjs/Thread/components/ThreadHeader.js +8 -8
  464. package/cjs/Thread/components/ThreadList.js +58 -57
  465. package/cjs/Thread/components/ThreadList.js.map +1 -1
  466. package/cjs/Thread/components/ThreadListItem.js +66 -69
  467. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  468. package/cjs/Thread/components/ThreadMessageInput.js +223 -82
  469. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  470. package/cjs/Thread/components/ThreadUI.js +66 -64
  471. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  472. package/cjs/Thread/context.js +15 -15
  473. package/cjs/Thread.js +66 -64
  474. package/cjs/Thread.js.map +1 -1
  475. package/cjs/VoicePlayer/context.js +6 -6
  476. package/cjs/VoicePlayer/useVoicePlayer.js +23 -17
  477. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  478. package/cjs/VoiceRecorder/context.js +13 -13
  479. package/cjs/VoiceRecorder/useVoiceRecorder.js +12 -12
  480. package/cjs/chunks/{bundle-sjZXn5rb.js → bundle--ZBrECLK.js} +3 -5
  481. package/cjs/chunks/{bundle-sjZXn5rb.js.map → bundle--ZBrECLK.js.map} +1 -1
  482. package/cjs/chunks/{bundle-DVTKYwk8.js → bundle-1F9guuKw.js} +1 -1
  483. package/cjs/chunks/bundle-1F9guuKw.js.map +1 -0
  484. package/cjs/chunks/{bundle-Q3QnKudh.js → bundle-2FCFe95u.js} +3 -3
  485. package/cjs/chunks/bundle-2FCFe95u.js.map +1 -0
  486. package/cjs/chunks/{bundle-BEC0Joom.js → bundle-4vdcmQiE.js} +5 -5
  487. package/cjs/chunks/bundle-4vdcmQiE.js.map +1 -0
  488. package/cjs/chunks/{bundle-DSPXXBTW.js → bundle-76A2Zzye.js} +4 -4
  489. package/cjs/chunks/bundle-76A2Zzye.js.map +1 -0
  490. package/cjs/chunks/{bundle-Cpoc_fJ0.js → bundle-9izlRrTd.js} +3 -3
  491. package/cjs/chunks/bundle-9izlRrTd.js.map +1 -0
  492. package/cjs/chunks/{bundle-DD8-c2iB.js → bundle-AjkDYnfX.js} +4 -4
  493. package/cjs/chunks/{bundle-DD8-c2iB.js.map → bundle-AjkDYnfX.js.map} +1 -1
  494. package/cjs/chunks/{bundle-BucGViqp.js → bundle-B14gP5iL.js} +1 -1
  495. package/cjs/chunks/bundle-B14gP5iL.js.map +1 -0
  496. package/cjs/chunks/{bundle-Du_EhKX-.js → bundle-B3MkpbB1.js} +2 -2
  497. package/cjs/chunks/bundle-B3MkpbB1.js.map +1 -0
  498. package/cjs/chunks/{bundle-CPKCY1PR.js → bundle-B4v0Agxd.js} +1 -1
  499. package/cjs/chunks/bundle-B4v0Agxd.js.map +1 -0
  500. package/cjs/chunks/{bundle-DDaeFQnz.js → bundle-BFmC2V1o.js} +8 -8
  501. package/cjs/chunks/bundle-BFmC2V1o.js.map +1 -0
  502. package/cjs/chunks/{bundle-9qy-FM9k.js → bundle-BKn9ow_B.js} +1 -1
  503. package/cjs/chunks/{bundle-9qy-FM9k.js.map → bundle-BKn9ow_B.js.map} +1 -1
  504. package/cjs/chunks/{bundle-DMroWEST.js → bundle-BNgfU9I_.js} +1 -1
  505. package/cjs/chunks/bundle-BNgfU9I_.js.map +1 -0
  506. package/cjs/chunks/{bundle-Dk_THgJH.js → bundle-BNu-mNlA.js} +8 -8
  507. package/cjs/chunks/bundle-BNu-mNlA.js.map +1 -0
  508. package/cjs/chunks/{bundle-lKzGutlE.js → bundle-BPfnvsLX.js} +3 -3
  509. package/cjs/chunks/bundle-BPfnvsLX.js.map +1 -0
  510. package/cjs/chunks/{bundle-BOF3mEIQ.js → bundle-BSCZWP_l.js} +1 -1
  511. package/cjs/chunks/bundle-BSCZWP_l.js.map +1 -0
  512. package/cjs/chunks/{bundle-C6htG4_3.js → bundle-BSEj3ItE.js} +1 -1
  513. package/cjs/chunks/bundle-BSEj3ItE.js.map +1 -0
  514. package/cjs/chunks/{bundle-DGbtR9Mu.js → bundle-BSfAJlO9.js} +3 -3
  515. package/cjs/chunks/bundle-BSfAJlO9.js.map +1 -0
  516. package/cjs/chunks/{bundle-Bfgn3ngi.js → bundle-BTzm82Jl.js} +8 -10
  517. package/cjs/chunks/{bundle-Bfgn3ngi.js.map → bundle-BTzm82Jl.js.map} +1 -1
  518. package/cjs/chunks/{bundle-KjR3U4Uq.js → bundle-BVmEHs1Z.js} +51 -26
  519. package/cjs/chunks/{bundle-KjR3U4Uq.js.map → bundle-BVmEHs1Z.js.map} +1 -1
  520. package/cjs/chunks/{bundle-Ccd-6PYk.js → bundle-BVn2UMtk.js} +1 -1
  521. package/cjs/chunks/bundle-BVn2UMtk.js.map +1 -0
  522. package/cjs/chunks/{bundle-B8EAm9qL.js → bundle-BX9WTltL.js} +12 -12
  523. package/cjs/chunks/bundle-BX9WTltL.js.map +1 -0
  524. package/cjs/chunks/{bundle-DmDbvIgG.js → bundle-BXuNw6bR.js} +1 -1
  525. package/cjs/chunks/{bundle-DmDbvIgG.js.map → bundle-BXuNw6bR.js.map} +1 -1
  526. package/cjs/chunks/{bundle-jz5h__uT.js → bundle-Bcw-YfFm.js} +1 -1
  527. package/cjs/chunks/bundle-Bcw-YfFm.js.map +1 -0
  528. package/cjs/chunks/{bundle-C7YaeamC.js → bundle-BiR_Hvsk.js} +1 -1
  529. package/cjs/chunks/bundle-BiR_Hvsk.js.map +1 -0
  530. package/cjs/chunks/bundle-BjZvm-U5.js +49 -0
  531. package/cjs/chunks/bundle-BjZvm-U5.js.map +1 -0
  532. package/cjs/chunks/{bundle-Cz5JeJ_a.js → bundle-BrAZmQ3O.js} +3 -3
  533. package/cjs/chunks/bundle-BrAZmQ3O.js.map +1 -0
  534. package/cjs/chunks/{bundle-Z3hmzVwn.js → bundle-BreYBYIV.js} +35 -35
  535. package/cjs/chunks/{bundle-Z3hmzVwn.js.map → bundle-BreYBYIV.js.map} +1 -1
  536. package/cjs/chunks/{bundle-Ct1kTyi8.js → bundle-Buar9ys-.js} +9 -9
  537. package/cjs/chunks/{bundle-Ct1kTyi8.js.map → bundle-Buar9ys-.js.map} +1 -1
  538. package/cjs/chunks/{bundle-KmUGRBip.js → bundle-Bwhgb7dL.js} +1 -1
  539. package/cjs/chunks/bundle-Bwhgb7dL.js.map +1 -0
  540. package/cjs/chunks/{bundle-Bp0KVW3m.js → bundle-BzJwE_My.js} +97 -78
  541. package/{chunks/bundle-dBYGtuby.js.map → cjs/chunks/bundle-BzJwE_My.js.map} +1 -1
  542. package/cjs/chunks/{bundle-DPhhy36e.js → bundle-C0QyatLj.js} +6 -6
  543. package/cjs/chunks/bundle-C0QyatLj.js.map +1 -0
  544. package/cjs/chunks/{bundle-apn_v2Eq.js → bundle-C8s_p9Hf.js} +7 -7
  545. package/cjs/chunks/bundle-C8s_p9Hf.js.map +1 -0
  546. package/cjs/chunks/{bundle-2be6tixp.js → bundle-CArwk_DH.js} +1 -1
  547. package/cjs/chunks/bundle-CArwk_DH.js.map +1 -0
  548. package/cjs/chunks/{bundle-BSWpIVd_.js → bundle-CBQxHnhS.js} +2 -2
  549. package/cjs/chunks/{bundle-BSWpIVd_.js.map → bundle-CBQxHnhS.js.map} +1 -1
  550. package/cjs/chunks/{bundle-DNoz4pQu.js → bundle-CID8L5Tq.js} +26 -16
  551. package/cjs/chunks/bundle-CID8L5Tq.js.map +1 -0
  552. package/cjs/chunks/{bundle-DYxVev8Z.js → bundle-CIgMOlz1.js} +2 -2
  553. package/cjs/chunks/bundle-CIgMOlz1.js.map +1 -0
  554. package/cjs/chunks/{bundle-gRchfIvW.js → bundle-CIn5419q.js} +10 -10
  555. package/cjs/chunks/bundle-CIn5419q.js.map +1 -0
  556. package/cjs/chunks/{bundle-DGqQ89Av.js → bundle-CXWT21Ur.js} +2 -2
  557. package/cjs/chunks/bundle-CXWT21Ur.js.map +1 -0
  558. package/cjs/chunks/{bundle-CdWrtwK3.js → bundle-CXeHa80f.js} +4 -4
  559. package/cjs/chunks/bundle-CXeHa80f.js.map +1 -0
  560. package/cjs/chunks/{bundle-orSDTEo4.js → bundle-CZmT_dIf.js} +1 -1
  561. package/cjs/chunks/bundle-CZmT_dIf.js.map +1 -0
  562. package/cjs/chunks/{bundle-6VhEpbdF.js → bundle-CdalwlxE.js} +4 -4
  563. package/cjs/chunks/bundle-CdalwlxE.js.map +1 -0
  564. package/cjs/chunks/{bundle-Zv_4ZO0n.js → bundle-CeCg868O.js} +1 -1
  565. package/cjs/chunks/bundle-CeCg868O.js.map +1 -0
  566. package/cjs/chunks/{bundle-COeRPy7q.js → bundle-CgDPAVTm.js} +4 -4
  567. package/cjs/chunks/bundle-CgDPAVTm.js.map +1 -0
  568. package/cjs/chunks/{bundle-BiH38g8Z.js → bundle-ClT0IexP.js} +4 -4
  569. package/cjs/chunks/bundle-ClT0IexP.js.map +1 -0
  570. package/cjs/chunks/{bundle-bqOzYE_N.js → bundle-CoU1-PYo.js} +3 -3
  571. package/cjs/chunks/bundle-CoU1-PYo.js.map +1 -0
  572. package/cjs/chunks/{bundle-DQQRYExa.js → bundle-CofqAAwu.js} +9 -9
  573. package/cjs/chunks/{bundle-DQQRYExa.js.map → bundle-CofqAAwu.js.map} +1 -1
  574. package/cjs/chunks/{bundle-DegQ40NZ.js → bundle-CsVrpeSa.js} +222 -149
  575. package/cjs/chunks/bundle-CsVrpeSa.js.map +1 -0
  576. package/cjs/chunks/{bundle-DbmnzR7q.js → bundle-CskFALvU.js} +24 -6
  577. package/cjs/chunks/{bundle-DbmnzR7q.js.map → bundle-CskFALvU.js.map} +1 -1
  578. package/cjs/chunks/{bundle-DWWeVmrv.js → bundle-CtIVPWwX.js} +5 -5
  579. package/cjs/chunks/bundle-CtIVPWwX.js.map +1 -0
  580. package/cjs/chunks/{bundle-BKrVxMG_.js → bundle-CxHNqGL1.js} +12 -12
  581. package/cjs/chunks/{bundle-BKrVxMG_.js.map → bundle-CxHNqGL1.js.map} +1 -1
  582. package/cjs/chunks/{bundle-D5eYEiyT.js → bundle-Czc5a05Q.js} +7 -7
  583. package/cjs/chunks/bundle-Czc5a05Q.js.map +1 -0
  584. package/cjs/chunks/bundle-CzhNQgac.js +714 -0
  585. package/cjs/chunks/bundle-CzhNQgac.js.map +1 -0
  586. package/cjs/chunks/{bundle-BmRh3iEN.js → bundle-D-_6Kk3L.js} +6 -2
  587. package/cjs/chunks/bundle-D-_6Kk3L.js.map +1 -0
  588. package/cjs/chunks/{bundle-CcjMCfIL.js → bundle-D4-t2BcI.js} +1 -1
  589. package/cjs/chunks/bundle-D4-t2BcI.js.map +1 -0
  590. package/cjs/chunks/{bundle-y6b30rI4.js → bundle-D4QmbyQp.js} +2 -2
  591. package/cjs/chunks/bundle-D4QmbyQp.js.map +1 -0
  592. package/cjs/chunks/{bundle-CN5usDFs.js → bundle-D5X7fpcq.js} +2 -4
  593. package/cjs/chunks/bundle-D5X7fpcq.js.map +1 -0
  594. package/cjs/chunks/{bundle-t3aBPrJP.js → bundle-D8gpRIxO.js} +1 -1
  595. package/cjs/chunks/bundle-D8gpRIxO.js.map +1 -0
  596. package/cjs/chunks/{bundle-Bk2QOCY1.js → bundle-DDUAkmTu.js} +1 -1
  597. package/cjs/chunks/bundle-DDUAkmTu.js.map +1 -0
  598. package/cjs/chunks/{bundle-BZ9pC_BG.js → bundle-DEaaC1ah.js} +1 -1
  599. package/cjs/chunks/bundle-DEaaC1ah.js.map +1 -0
  600. package/cjs/chunks/{bundle-BcUujhCx.js → bundle-DGYb2_L_.js} +6 -6
  601. package/cjs/chunks/bundle-DGYb2_L_.js.map +1 -0
  602. package/cjs/chunks/{bundle-BE5gEsyV.js → bundle-DHLpqx03.js} +8 -8
  603. package/cjs/chunks/bundle-DHLpqx03.js.map +1 -0
  604. package/cjs/chunks/{bundle-0TJHf4Tc.js → bundle-DHOzCMYH.js} +48 -11
  605. package/cjs/chunks/bundle-DHOzCMYH.js.map +1 -0
  606. package/cjs/chunks/{bundle-CrexN5Cp.js → bundle-DKZYkV6h.js} +4 -4
  607. package/cjs/chunks/bundle-DKZYkV6h.js.map +1 -0
  608. package/cjs/chunks/{bundle-BnRVJSVA.js → bundle-DS7dko_G.js} +1 -1
  609. package/cjs/chunks/{bundle-BnRVJSVA.js.map → bundle-DS7dko_G.js.map} +1 -1
  610. package/cjs/chunks/{bundle-BPPE4FW0.js → bundle-DUmpUM6Z.js} +1 -1
  611. package/cjs/chunks/bundle-DUmpUM6Z.js.map +1 -0
  612. package/cjs/chunks/{bundle-DSwCeEJP.js → bundle-DZN-28o5.js} +1 -1
  613. package/cjs/chunks/bundle-DZN-28o5.js.map +1 -0
  614. package/cjs/chunks/{bundle-C3xjTMsq.js → bundle-DaeRuO3M.js} +77 -47
  615. package/cjs/chunks/bundle-DaeRuO3M.js.map +1 -0
  616. package/cjs/chunks/{bundle-D5-dnK3d.js → bundle-DgHpd49A.js} +9 -11
  617. package/cjs/chunks/bundle-DgHpd49A.js.map +1 -0
  618. package/cjs/chunks/{bundle-zB1x662g.js → bundle-DnOJJX7f.js} +1 -1
  619. package/cjs/chunks/bundle-DnOJJX7f.js.map +1 -0
  620. package/cjs/chunks/{bundle-DrXHYoHC.js → bundle-DogWmRlf.js} +33 -22
  621. package/{chunks/bundle-DdzbXETc.js.map → cjs/chunks/bundle-DogWmRlf.js.map} +1 -1
  622. package/cjs/chunks/{bundle-DQMqz2XT.js → bundle-Dqt-Moft.js} +1 -1
  623. package/cjs/chunks/bundle-Dqt-Moft.js.map +1 -0
  624. package/cjs/chunks/bundle-DvHjgbFi.js +7 -0
  625. package/cjs/chunks/bundle-DvHjgbFi.js.map +1 -0
  626. package/cjs/chunks/{bundle-DGCxxnjy.js → bundle-DwLWArJq.js} +2 -2
  627. package/cjs/chunks/bundle-DwLWArJq.js.map +1 -0
  628. package/cjs/chunks/{bundle-BbAqlLCc.js → bundle-DxZzcGya.js} +3 -3
  629. package/{chunks/bundle-BG86HGdS.js.map → cjs/chunks/bundle-DxZzcGya.js.map} +1 -1
  630. package/cjs/chunks/{bundle-DmBKsZFi.js → bundle-FGb-8cIo.js} +14 -14
  631. package/cjs/chunks/bundle-FGb-8cIo.js.map +1 -0
  632. package/cjs/chunks/{bundle-3vbxR0Ig.js → bundle-FVds7Nnw.js} +7 -7
  633. package/cjs/chunks/{bundle-3vbxR0Ig.js.map → bundle-FVds7Nnw.js.map} +1 -1
  634. package/cjs/chunks/bundle-Hqqb920S.js +120 -0
  635. package/cjs/chunks/bundle-Hqqb920S.js.map +1 -0
  636. package/cjs/chunks/{bundle-PEx1sYTj.js → bundle-IobNGCyV.js} +3 -3
  637. package/cjs/chunks/bundle-IobNGCyV.js.map +1 -0
  638. package/cjs/chunks/{bundle-DOZVX_9f.js → bundle-Iy7lVhfX.js} +20 -18
  639. package/cjs/chunks/bundle-Iy7lVhfX.js.map +1 -0
  640. package/cjs/chunks/{bundle-ovLGVlCI.js → bundle-Lc8Xpc4e.js} +1 -1
  641. package/cjs/chunks/bundle-Lc8Xpc4e.js.map +1 -0
  642. package/cjs/chunks/{bundle-DfoHhAuF.js → bundle-SlJSIlpP.js} +9 -9
  643. package/cjs/chunks/{bundle-DfoHhAuF.js.map → bundle-SlJSIlpP.js.map} +1 -1
  644. package/cjs/chunks/{bundle-BkxGko7P.js → bundle-_yh4eC6v.js} +8 -8
  645. package/{chunks/bundle-BsVc_Y62.js.map → cjs/chunks/bundle-_yh4eC6v.js.map} +1 -1
  646. package/cjs/chunks/{bundle-DToZ2Far.js → bundle-bmGcb273.js} +5 -5
  647. package/cjs/chunks/bundle-bmGcb273.js.map +1 -0
  648. package/cjs/chunks/{bundle-nE_MI3QL.js → bundle-btgMGRIX.js} +5 -5
  649. package/cjs/chunks/bundle-btgMGRIX.js.map +1 -0
  650. package/cjs/chunks/bundle-gKWdBSmm.js +163 -0
  651. package/cjs/chunks/bundle-gKWdBSmm.js.map +1 -0
  652. package/cjs/chunks/{bundle-DjxBXPXB.js → bundle-iF1pW7_s.js} +2 -2
  653. package/cjs/chunks/bundle-iF1pW7_s.js.map +1 -0
  654. package/cjs/chunks/{bundle-SZKEK91B.js → bundle-iWa9rWFV.js} +17 -8
  655. package/cjs/chunks/bundle-iWa9rWFV.js.map +1 -0
  656. package/cjs/chunks/{bundle-D079OjSe.js → bundle-iwIElqGP.js} +2 -2
  657. package/cjs/chunks/bundle-iwIElqGP.js.map +1 -0
  658. package/cjs/chunks/{bundle-C5mxhXoI.js → bundle-jAsAzWpU.js} +1 -1
  659. package/cjs/chunks/bundle-jAsAzWpU.js.map +1 -0
  660. package/cjs/chunks/{bundle-BSEyTAdJ.js → bundle-mNJHRgJ3.js} +1 -1
  661. package/cjs/chunks/bundle-mNJHRgJ3.js.map +1 -0
  662. package/cjs/chunks/{bundle-Bgxgjzs4.js → bundle-mOGMtPz8.js} +1 -1
  663. package/cjs/chunks/bundle-mOGMtPz8.js.map +1 -0
  664. package/cjs/chunks/{bundle-CKpfSH9x.js → bundle-mVBmPsCD.js} +37 -37
  665. package/cjs/chunks/{bundle-CKpfSH9x.js.map → bundle-mVBmPsCD.js.map} +1 -1
  666. package/cjs/chunks/{bundle-Dogkydg4.js → bundle-npZxEXNX.js} +11 -11
  667. package/cjs/chunks/{bundle-Dogkydg4.js.map → bundle-npZxEXNX.js.map} +1 -1
  668. package/cjs/chunks/{bundle-D18FtXyq.js → bundle-on0zTbLT.js} +24 -28
  669. package/cjs/chunks/bundle-on0zTbLT.js.map +1 -0
  670. package/cjs/chunks/{bundle-BW65DB4j.js → bundle-y79foBWw.js} +7 -7
  671. package/cjs/chunks/bundle-y79foBWw.js.map +1 -0
  672. package/cjs/hooks/useConnectionState.js +5 -5
  673. package/cjs/hooks/useLocalization.js +4 -4
  674. package/cjs/hooks/useModal.js +13 -13
  675. package/cjs/index.js +95 -93
  676. package/cjs/index.js.map +1 -1
  677. package/cjs/lame.all.js +1 -1
  678. package/cjs/lame.all.js.map +1 -1
  679. package/cjs/pubSub/topics.js +1 -1
  680. package/cjs/sendbirdSelectors.js +2 -2
  681. package/cjs/ui/Accordion.js +2 -2
  682. package/cjs/ui/AccordionGroup.js +1 -1
  683. package/cjs/ui/AdminMessage.js +3 -3
  684. package/cjs/ui/Avatar.js +4 -4
  685. package/cjs/ui/Badge.js +5 -5
  686. package/cjs/ui/BottomSheet.js +13 -13
  687. package/cjs/ui/Button.js +3 -3
  688. package/cjs/ui/ChannelAvatar.js +5 -5
  689. package/cjs/ui/ConnectionStatus.js +6 -6
  690. package/cjs/ui/ContextMenu.js +14 -14
  691. package/cjs/ui/DateSeparator.js +4 -4
  692. package/cjs/ui/EmojiReactions.js +23 -23
  693. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  694. package/cjs/ui/FileMessageItemBody.js +13 -13
  695. package/cjs/ui/FileViewer.js +19 -20
  696. package/cjs/ui/FileViewer.js.map +1 -1
  697. package/cjs/ui/Header.js +10 -10
  698. package/cjs/ui/Icon.js +2 -2
  699. package/cjs/ui/Icon.js.map +1 -1
  700. package/cjs/ui/IconButton.js +1 -1
  701. package/cjs/ui/ImageRenderer.js +2 -2
  702. package/cjs/ui/Input.js +3 -3
  703. package/cjs/ui/Label.js +3 -3
  704. package/cjs/ui/LinkLabel.js +4 -4
  705. package/cjs/ui/Loader.js +2 -2
  706. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js +2 -2
  707. package/cjs/ui/MentionLabel.js +19 -19
  708. package/cjs/ui/MentionUserLabel.js +2 -2
  709. package/cjs/ui/MessageContent.js +42 -42
  710. package/cjs/ui/MessageFeedbackFailedModal.js +13 -13
  711. package/cjs/ui/MessageFeedbackModal.js +13 -13
  712. package/cjs/ui/MessageInput/hooks/usePaste.js +7 -7
  713. package/cjs/ui/MessageInput.js +26 -474
  714. package/cjs/ui/MessageInput.js.map +1 -1
  715. package/cjs/ui/MessageItemMenu.js +15 -15
  716. package/cjs/ui/MessageItemReactionMenu.js +16 -16
  717. package/cjs/ui/MessageMenu.js +16 -16
  718. package/cjs/ui/MessageSearchFileItem.js +25 -25
  719. package/cjs/ui/MessageSearchItem.js +12 -12
  720. package/cjs/ui/MessageStatus.js +15 -15
  721. package/cjs/ui/MessageTemplate.js +1 -1
  722. package/cjs/ui/MobileFeedbackMenu.js +13 -13
  723. package/cjs/ui/MobileMenu.js +18 -18
  724. package/cjs/ui/Modal.js +12 -12
  725. package/cjs/ui/MutedAvatarOverlay.js +2 -2
  726. package/cjs/ui/OGMessageItemBody.js +23 -23
  727. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  728. package/cjs/ui/OpenChannelAvatar.js +8 -8
  729. package/cjs/ui/OpenchannelConversationHeader.js +8 -8
  730. package/cjs/ui/OpenchannelFileMessage.js +25 -25
  731. package/cjs/ui/OpenchannelOGMessage.js +28 -28
  732. package/cjs/ui/OpenchannelThumbnailMessage.js +24 -24
  733. package/cjs/ui/OpenchannelUserMessage.js +26 -26
  734. package/cjs/ui/PlaceHolder.js +6 -6
  735. package/cjs/ui/PlaybackTime.js +3 -3
  736. package/cjs/ui/ProgressBar.js +1 -1
  737. package/cjs/ui/QuoteMessage.js +12 -12
  738. package/cjs/ui/QuoteMessageInput.js +12 -12
  739. package/cjs/ui/ReactionBadge.js +3 -3
  740. package/cjs/ui/ReactionButton.js +4 -4
  741. package/cjs/ui/SortByRow.js +2 -2
  742. package/cjs/ui/TemplateMessageItemBody.js +14 -14
  743. package/cjs/ui/TextButton.js +2 -2
  744. package/cjs/ui/TextMessageItemBody.js +22 -22
  745. package/cjs/ui/ThreadReplies.js +12 -12
  746. package/cjs/ui/ThumbnailMessageItemBody.js +10 -10
  747. package/cjs/ui/Toggle.js +4 -4
  748. package/cjs/ui/Tooltip.js +3 -3
  749. package/cjs/ui/TooltipWrapper.js +1 -1
  750. package/cjs/ui/TypingIndicatorBubble.js +4 -4
  751. package/cjs/ui/UnknownMessageItemBody.js +10 -10
  752. package/cjs/ui/UserListItem.js +19 -19
  753. package/cjs/ui/UserListItemMenu.js +16 -16
  754. package/cjs/ui/UserProfile.js +13 -13
  755. package/cjs/ui/VoiceMessageInput.js +9 -9
  756. package/cjs/ui/VoiceMessageItemBody.js +14 -14
  757. package/cjs/ui/Word.js +19 -19
  758. package/cjs/useSendbirdStateContext.js +4 -4
  759. package/cjs/utils/message/isVoiceMessage.js +6 -6
  760. package/cjs/withSendbird.js +24 -24
  761. package/dist/index.css +320 -2
  762. package/hooks/useConnectionState.js +5 -5
  763. package/hooks/useLocalization.js +4 -4
  764. package/hooks/useModal.js +15 -15
  765. package/index.js +95 -93
  766. package/index.js.map +1 -1
  767. package/lame.all.js +1 -1
  768. package/lame.all.js.map +1 -1
  769. package/package.json +2 -2
  770. package/pubSub/topics.js +1 -1
  771. package/sendbirdSelectors.js +2 -2
  772. package/types/hooks/VoicePlayer/index.d.ts +1 -0
  773. package/types/hooks/useTypingLifecycle.d.ts +21 -0
  774. package/types/lib/Sendbird/utils.d.ts +4 -3
  775. package/types/modules/Channel/context/hooks/useHandleUploadFiles.d.ts +2 -1
  776. package/types/modules/GroupChannel/components/MessageInputWrapper/useHandleUploadFiles.d.ts +2 -1
  777. package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +1 -1
  778. package/types/modules/Thread/context/ThreadProvider.d.ts +3 -2
  779. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +1 -0
  780. package/types/modules/Thread/context/useThread.d.ts +3 -2
  781. package/types/ui/Label/stringSet.d.ts +4 -0
  782. package/types/ui/MessageInput/composer/PendingFileCard.d.ts +14 -0
  783. package/types/ui/MessageInput/composer/PendingFileItem.d.ts +13 -0
  784. package/types/ui/MessageInput/composer/PendingFilesPreview.d.ts +9 -0
  785. package/types/ui/MessageInput/hooks/useDragAndDrop.d.ts +25 -0
  786. package/types/ui/MessageInput/hooks/usePaste/index.d.ts +1 -1
  787. package/types/ui/MessageInput/hooks/usePaste/types.d.ts +5 -0
  788. package/types/ui/MessageInput/hooks/usePendingFiles.d.ts +35 -0
  789. package/types/ui/MessageInput/index.d.ts +33 -0
  790. package/types/ui/MessageInput/utils.d.ts +1 -0
  791. package/types/utils/fileValidation.d.ts +62 -0
  792. package/types/utils/index.d.ts +1 -0
  793. package/types/utils/truncateMiddleKeepExtension.d.ts +20 -0
  794. package/ui/Accordion.js +2 -2
  795. package/ui/AccordionGroup.js +1 -1
  796. package/ui/AdminMessage.js +3 -3
  797. package/ui/Avatar.js +4 -4
  798. package/ui/Badge.js +5 -5
  799. package/ui/BottomSheet.js +13 -13
  800. package/ui/Button.js +3 -3
  801. package/ui/ChannelAvatar.js +6 -6
  802. package/ui/ConnectionStatus.js +7 -7
  803. package/ui/ContextMenu.js +14 -14
  804. package/ui/DateSeparator.js +4 -4
  805. package/ui/EmojiReactions.js +24 -24
  806. package/ui/FallbackTemplateMessageItemBody.tsx.js +10 -10
  807. package/ui/FileMessageItemBody.js +14 -14
  808. package/ui/FileViewer.js +20 -21
  809. package/ui/FileViewer.js.map +1 -1
  810. package/ui/Header.js +6 -6
  811. package/ui/Icon.js +2 -2
  812. package/ui/Icon.js.map +1 -1
  813. package/ui/IconButton.js +1 -1
  814. package/ui/ImageRenderer.js +2 -2
  815. package/ui/Input.js +3 -3
  816. package/ui/Label.js +3 -3
  817. package/ui/LinkLabel.js +4 -4
  818. package/ui/Loader.js +2 -2
  819. package/ui/LoadingTemplateMessageItemBody.tsx.js +3 -3
  820. package/ui/MentionLabel.js +19 -19
  821. package/ui/MentionUserLabel.js +2 -2
  822. package/ui/MessageContent.js +42 -42
  823. package/ui/MessageFeedbackFailedModal.js +13 -13
  824. package/ui/MessageFeedbackModal.js +13 -13
  825. package/ui/MessageInput/hooks/usePaste.js +7 -7
  826. package/ui/MessageInput.js +25 -473
  827. package/ui/MessageInput.js.map +1 -1
  828. package/ui/MessageItemMenu.js +16 -16
  829. package/ui/MessageItemReactionMenu.js +17 -17
  830. package/ui/MessageMenu.js +16 -16
  831. package/ui/MessageSearchFileItem.js +17 -17
  832. package/ui/MessageSearchItem.js +12 -12
  833. package/ui/MessageStatus.js +15 -15
  834. package/ui/MessageTemplate.js +1 -1
  835. package/ui/MobileFeedbackMenu.js +13 -13
  836. package/ui/MobileMenu.js +19 -19
  837. package/ui/Modal.js +12 -12
  838. package/ui/MutedAvatarOverlay.js +3 -3
  839. package/ui/OGMessageItemBody.js +23 -23
  840. package/ui/OpenChannelAdminMessage.js +3 -3
  841. package/ui/OpenChannelAvatar.js +8 -8
  842. package/ui/OpenchannelConversationHeader.js +9 -9
  843. package/ui/OpenchannelFileMessage.js +25 -25
  844. package/ui/OpenchannelOGMessage.js +29 -29
  845. package/ui/OpenchannelThumbnailMessage.js +24 -24
  846. package/ui/OpenchannelUserMessage.js +27 -27
  847. package/ui/PlaceHolder.js +7 -7
  848. package/ui/PlaybackTime.js +3 -3
  849. package/ui/ProgressBar.js +1 -1
  850. package/ui/QuoteMessage.js +13 -13
  851. package/ui/QuoteMessageInput.js +13 -13
  852. package/ui/ReactionBadge.js +3 -3
  853. package/ui/ReactionButton.js +4 -4
  854. package/ui/SortByRow.js +2 -2
  855. package/ui/TemplateMessageItemBody.js +14 -14
  856. package/ui/TextButton.js +2 -2
  857. package/ui/TextMessageItemBody.js +22 -22
  858. package/ui/ThreadReplies.js +9 -9
  859. package/ui/ThumbnailMessageItemBody.js +11 -11
  860. package/ui/Toggle.js +4 -4
  861. package/ui/Tooltip.js +3 -3
  862. package/ui/TooltipWrapper.js +1 -1
  863. package/ui/TypingIndicatorBubble.js +4 -4
  864. package/ui/UnknownMessageItemBody.js +10 -10
  865. package/ui/UserListItem.js +19 -19
  866. package/ui/UserListItemMenu.js +17 -17
  867. package/ui/UserProfile.js +13 -13
  868. package/ui/VoiceMessageInput.js +9 -9
  869. package/ui/VoiceMessageItemBody.js +15 -15
  870. package/ui/Word.js +19 -19
  871. package/useSendbirdStateContext.js +4 -4
  872. package/utils/message/isVoiceMessage.js +6 -6
  873. package/withSendbird.js +24 -24
  874. package/chunks/bundle-5uYh-Xyr.js.map +0 -1
  875. package/chunks/bundle-7U4PQody.js.map +0 -1
  876. package/chunks/bundle-7jWqG-L9.js.map +0 -1
  877. package/chunks/bundle-B0-5LriX.js.map +0 -1
  878. package/chunks/bundle-B1KyIanQ.js.map +0 -1
  879. package/chunks/bundle-B9eInLCQ.js.map +0 -1
  880. package/chunks/bundle-BC1qEtzM.js.map +0 -1
  881. package/chunks/bundle-BERPh6M4.js.map +0 -1
  882. package/chunks/bundle-BGZ1wO7_.js.map +0 -1
  883. package/chunks/bundle-BbPcWA8F.js.map +0 -1
  884. package/chunks/bundle-BcO_fFqM.js.map +0 -1
  885. package/chunks/bundle-BevIBLvw.js.map +0 -1
  886. package/chunks/bundle-BzVXDF4q.js.map +0 -1
  887. package/chunks/bundle-C0kbt3jK.js.map +0 -1
  888. package/chunks/bundle-C8L0rqDO.js.map +0 -1
  889. package/chunks/bundle-CA3QA8D9.js.map +0 -1
  890. package/chunks/bundle-CAhDMMRN.js.map +0 -1
  891. package/chunks/bundle-CEPVRxQS.js.map +0 -1
  892. package/chunks/bundle-CGwV3Gik.js.map +0 -1
  893. package/chunks/bundle-CMB7p6Uq.js.map +0 -1
  894. package/chunks/bundle-CeNQpnlq.js.map +0 -1
  895. package/chunks/bundle-CoYdwElL.js.map +0 -1
  896. package/chunks/bundle-CqBJPXqm.js.map +0 -1
  897. package/chunks/bundle-Cy_QnT7V.js.map +0 -1
  898. package/chunks/bundle-Czj8Brwx.js.map +0 -1
  899. package/chunks/bundle-D-RwYEMS.js.map +0 -1
  900. package/chunks/bundle-D7HOrOoM.js.map +0 -1
  901. package/chunks/bundle-DGQWH-cy.js.map +0 -1
  902. package/chunks/bundle-DKXmeTpK.js.map +0 -1
  903. package/chunks/bundle-DQYXgT7k.js.map +0 -1
  904. package/chunks/bundle-DSBzIeUm.js +0 -4
  905. package/chunks/bundle-DSBzIeUm.js.map +0 -1
  906. package/chunks/bundle-D_pOeelV.js.map +0 -1
  907. package/chunks/bundle-DbVYTOyC.js.map +0 -1
  908. package/chunks/bundle-DkpWXGq7.js.map +0 -1
  909. package/chunks/bundle-DlDnQChp.js.map +0 -1
  910. package/chunks/bundle-DllTlF8y.js.map +0 -1
  911. package/chunks/bundle-DqS4dbv4.js.map +0 -1
  912. package/chunks/bundle-Dr0wIN5F.js.map +0 -1
  913. package/chunks/bundle-DrBHyLkW.js.map +0 -1
  914. package/chunks/bundle-DrRbMZYo.js.map +0 -1
  915. package/chunks/bundle-Drd87B-A.js.map +0 -1
  916. package/chunks/bundle-DtNlUv5X.js.map +0 -1
  917. package/chunks/bundle-DtYmMn4i.js.map +0 -1
  918. package/chunks/bundle-DxLe-XFT.js.map +0 -1
  919. package/chunks/bundle-DyqejJgi.js.map +0 -1
  920. package/chunks/bundle-E1T8H1Wz.js.map +0 -1
  921. package/chunks/bundle-H2vPT1yo.js.map +0 -1
  922. package/chunks/bundle-N4pYliV4.js.map +0 -1
  923. package/chunks/bundle-TVnsbl6m.js.map +0 -1
  924. package/chunks/bundle-WkoNLiDg.js.map +0 -1
  925. package/chunks/bundle-nToh_fKd.js.map +0 -1
  926. package/chunks/bundle-ni9ZLts6.js.map +0 -1
  927. package/chunks/bundle-p-LuYka5.js.map +0 -1
  928. package/cjs/chunks/bundle-0TJHf4Tc.js.map +0 -1
  929. package/cjs/chunks/bundle-2be6tixp.js.map +0 -1
  930. package/cjs/chunks/bundle-6VhEpbdF.js.map +0 -1
  931. package/cjs/chunks/bundle-B8EAm9qL.js.map +0 -1
  932. package/cjs/chunks/bundle-BE5gEsyV.js.map +0 -1
  933. package/cjs/chunks/bundle-BOF3mEIQ.js.map +0 -1
  934. package/cjs/chunks/bundle-BPPE4FW0.js.map +0 -1
  935. package/cjs/chunks/bundle-BSEyTAdJ.js.map +0 -1
  936. package/cjs/chunks/bundle-BW65DB4j.js.map +0 -1
  937. package/cjs/chunks/bundle-BZ9pC_BG.js.map +0 -1
  938. package/cjs/chunks/bundle-BcUujhCx.js.map +0 -1
  939. package/cjs/chunks/bundle-Bgxgjzs4.js.map +0 -1
  940. package/cjs/chunks/bundle-BiH38g8Z.js.map +0 -1
  941. package/cjs/chunks/bundle-Bk2QOCY1.js.map +0 -1
  942. package/cjs/chunks/bundle-BmRh3iEN.js.map +0 -1
  943. package/cjs/chunks/bundle-BucGViqp.js.map +0 -1
  944. package/cjs/chunks/bundle-C5mxhXoI.js.map +0 -1
  945. package/cjs/chunks/bundle-C6htG4_3.js.map +0 -1
  946. package/cjs/chunks/bundle-C7YaeamC.js.map +0 -1
  947. package/cjs/chunks/bundle-CN5usDFs.js.map +0 -1
  948. package/cjs/chunks/bundle-COeRPy7q.js.map +0 -1
  949. package/cjs/chunks/bundle-CPKCY1PR.js.map +0 -1
  950. package/cjs/chunks/bundle-Ccd-6PYk.js.map +0 -1
  951. package/cjs/chunks/bundle-CcjMCfIL.js.map +0 -1
  952. package/cjs/chunks/bundle-CdWrtwK3.js.map +0 -1
  953. package/cjs/chunks/bundle-Cpoc_fJ0.js.map +0 -1
  954. package/cjs/chunks/bundle-CrexN5Cp.js.map +0 -1
  955. package/cjs/chunks/bundle-CtVNyiwe.js +0 -7
  956. package/cjs/chunks/bundle-CtVNyiwe.js.map +0 -1
  957. package/cjs/chunks/bundle-Cz5JeJ_a.js.map +0 -1
  958. package/cjs/chunks/bundle-D079OjSe.js.map +0 -1
  959. package/cjs/chunks/bundle-D18FtXyq.js.map +0 -1
  960. package/cjs/chunks/bundle-D5-dnK3d.js.map +0 -1
  961. package/cjs/chunks/bundle-D5eYEiyT.js.map +0 -1
  962. package/cjs/chunks/bundle-DDaeFQnz.js.map +0 -1
  963. package/cjs/chunks/bundle-DGCxxnjy.js.map +0 -1
  964. package/cjs/chunks/bundle-DGbtR9Mu.js.map +0 -1
  965. package/cjs/chunks/bundle-DGqQ89Av.js.map +0 -1
  966. package/cjs/chunks/bundle-DMroWEST.js.map +0 -1
  967. package/cjs/chunks/bundle-DOZVX_9f.js.map +0 -1
  968. package/cjs/chunks/bundle-DPhhy36e.js.map +0 -1
  969. package/cjs/chunks/bundle-DQMqz2XT.js.map +0 -1
  970. package/cjs/chunks/bundle-DSPXXBTW.js.map +0 -1
  971. package/cjs/chunks/bundle-DSwCeEJP.js.map +0 -1
  972. package/cjs/chunks/bundle-DToZ2Far.js.map +0 -1
  973. package/cjs/chunks/bundle-DVTKYwk8.js.map +0 -1
  974. package/cjs/chunks/bundle-DWWeVmrv.js.map +0 -1
  975. package/cjs/chunks/bundle-DYxVev8Z.js.map +0 -1
  976. package/cjs/chunks/bundle-DegQ40NZ.js.map +0 -1
  977. package/cjs/chunks/bundle-DjxBXPXB.js.map +0 -1
  978. package/cjs/chunks/bundle-Dk_THgJH.js.map +0 -1
  979. package/cjs/chunks/bundle-DmBKsZFi.js.map +0 -1
  980. package/cjs/chunks/bundle-Du_EhKX-.js.map +0 -1
  981. package/cjs/chunks/bundle-KmUGRBip.js.map +0 -1
  982. package/cjs/chunks/bundle-PEx1sYTj.js.map +0 -1
  983. package/cjs/chunks/bundle-Q3QnKudh.js.map +0 -1
  984. package/cjs/chunks/bundle-Zv_4ZO0n.js.map +0 -1
  985. package/cjs/chunks/bundle-apn_v2Eq.js.map +0 -1
  986. package/cjs/chunks/bundle-bqOzYE_N.js.map +0 -1
  987. package/cjs/chunks/bundle-gRchfIvW.js.map +0 -1
  988. package/cjs/chunks/bundle-jz5h__uT.js.map +0 -1
  989. package/cjs/chunks/bundle-lKzGutlE.js.map +0 -1
  990. package/cjs/chunks/bundle-nE_MI3QL.js.map +0 -1
  991. package/cjs/chunks/bundle-orSDTEo4.js.map +0 -1
  992. package/cjs/chunks/bundle-ovLGVlCI.js.map +0 -1
  993. package/cjs/chunks/bundle-t3aBPrJP.js.map +0 -1
  994. package/cjs/chunks/bundle-y6b30rI4.js.map +0 -1
  995. package/cjs/chunks/bundle-zB1x662g.js.map +0 -1
package/package.json CHANGED
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "repository": {
30
30
  "type": "git",
31
- "url": "git+git@github.com:sendbird/sendbird-uikit-react-sources.git"
31
+ "url": "git+https://github.com/sendbird/sendbird-uikit-react.git"
32
32
  },
33
33
  "author": "SendBird <support@sendbird.com>",
34
34
  "license": "SEE LICENSE IN LICENSE.md",
@@ -36,7 +36,7 @@
36
36
  "url": "https://community.sendbird.com"
37
37
  },
38
38
  "homepage": "https://sendbird.com",
39
- "version": "3.17.12",
39
+ "version": "3.18.0",
40
40
  "peerDependencies": {
41
41
  "react": "^16.8.6 || ^17.0.0 || ^18.0.0 || ^19.0.0",
42
42
  "react-dom": "^16.8.6 || ^17.0.0 || ^18.0.0 || ^19.0.0"
package/pubSub/topics.js CHANGED
@@ -1,2 +1,2 @@
1
- export { P as PUBSUB_TOPICS, b as PublishingModuleType, p as default } from '../chunks/bundle-CeNQpnlq.js';
1
+ export { P as PUBSUB_TOPICS, a as PublishingModuleType, p as default } from '../chunks/bundle-YDriVB8K.js';
2
2
  //# sourceMappingURL=topics.js.map
@@ -1,5 +1,5 @@
1
- import { p as pubSubTopics } from './chunks/bundle-CeNQpnlq.js';
2
- import { n as noop } from './chunks/bundle-D7HOrOoM.js';
1
+ import { p as pubSubTopics } from './chunks/bundle-YDriVB8K.js';
2
+ import { n as noop } from './chunks/bundle-DX6fRIJl.js';
3
3
 
4
4
  /**
5
5
  * 1. UIKit Instances
@@ -13,6 +13,7 @@ export interface VoicePlayerContext {
13
13
  play: (props: VoicePlayerPlayProps) => void;
14
14
  pause: (groupKey?: string) => void;
15
15
  stop: (text?: string) => void;
16
+ reset: (groupKey: string) => void;
16
17
  voicePlayerStore: VoicePlayerInitialState;
17
18
  }
18
19
  export declare const ALL = "ALL";
@@ -0,0 +1,21 @@
1
+ type TypingChannel = {
2
+ url?: string;
3
+ startTyping?: () => void;
4
+ endTyping?: () => void;
5
+ } | null | undefined;
6
+ /**
7
+ * Tracks typing lifecycle on a Sendbird channel and ensures `endTyping` is
8
+ * sent when the channel changes, the `active` flag toggles to false, or the
9
+ * component unmounts. Returns memoized `startTyping`/`stopTyping` helpers
10
+ * that the caller wires to input events.
11
+ *
12
+ * @param channel - the channel currently being typed in
13
+ * @param active - when set to false, the cleanup runs and clears typing
14
+ * state. Useful for edit-mode wrappers that pass `showEdit`
15
+ * so closing the edit panel emits `endTyping`.
16
+ */
17
+ export declare function useTypingLifecycle(channel: TypingChannel, active?: boolean): {
18
+ startTyping: () => void;
19
+ stopTyping: () => void;
20
+ };
21
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { SendbirdChatWith, SessionHandler } from '@sendbird/chat';
2
2
  import { GroupChannelModule } from '@sendbird/chat/groupChannel';
3
3
  import { OpenChannelModule } from '@sendbird/chat/openChannel';
4
- import type { AppInfoStore, CustomExtensionParams, SdkStore, SendbirdState, UserStore } from './types';
4
+ import type { AppInfoStore, CustomExtensionParams, SdkStore, SendbirdChatInitParams, SendbirdState, UserStore } from './types';
5
5
  import { LoggerInterface } from '../Logger';
6
6
  type UpdateAppInfoStoreType = (state: SendbirdState, payload: AppInfoStore) => SendbirdState;
7
7
  export declare const updateAppInfoStore: UpdateAppInfoStoreType;
@@ -9,11 +9,12 @@ type UpdateSdkStoreType = (state: SendbirdState, payload: Partial<SdkStore>) =>
9
9
  export declare const updateSdkStore: UpdateSdkStoreType;
10
10
  type UpdateUserStoreType = (state: SendbirdState, payload: Partial<UserStore>) => SendbirdState;
11
11
  export declare const updateUserStore: UpdateUserStoreType;
12
- export declare function initSDK({ appId, customApiHost, customWebSocketHost, sdkInitParams, }: {
12
+ export declare function initSDK({ appId, isNewApp, customApiHost, customWebSocketHost, sdkInitParams, }: {
13
13
  appId: string;
14
+ isNewApp?: boolean;
14
15
  customApiHost?: string;
15
16
  customWebSocketHost?: string;
16
- sdkInitParams?: Record<string, any>;
17
+ sdkInitParams?: SendbirdChatInitParams;
17
18
  }): SendbirdChatWith<(GroupChannelModule | OpenChannelModule)[]>;
18
19
  /**
19
20
  * Sets up the Sendbird SDK after initialization.
@@ -11,9 +11,10 @@ interface useHandleUploadFilesDynamicProps {
11
11
  sendFileMessage: SendFileMessageFunctionType;
12
12
  sendMultipleFilesMessage: SendMFMFunctionType;
13
13
  quoteMessage?: SendableMessageType;
14
+ acceptableMimeTypes?: string[];
14
15
  }
15
16
  interface useHandleUploadFilesStaticProps {
16
17
  logger: Logger;
17
18
  }
18
- export declare const useHandleUploadFiles: ({ sendFileMessage, sendMultipleFilesMessage, quoteMessage, }: useHandleUploadFilesDynamicProps, { logger, }: useHandleUploadFilesStaticProps) => (files: File[]) => Promise<void | FileMessage | MultipleFilesMessage>;
19
+ export declare const useHandleUploadFiles: ({ sendFileMessage, sendMultipleFilesMessage, quoteMessage, acceptableMimeTypes, }: useHandleUploadFilesDynamicProps, { logger, }: useHandleUploadFilesStaticProps) => (files: File[]) => Promise<void | FileMessage | MultipleFilesMessage>;
19
20
  export {};
@@ -10,9 +10,10 @@ interface useHandleUploadFilesDynamicProps {
10
10
  sendFileMessage: (params: FileMessageCreateParams) => Promise<FileMessage>;
11
11
  sendMultipleFilesMessage: (params: MultipleFilesMessageCreateParams) => Promise<MultipleFilesMessage>;
12
12
  quoteMessage?: SendableMessageType;
13
+ acceptableMimeTypes?: string[];
13
14
  }
14
15
  interface useHandleUploadFilesStaticProps {
15
16
  logger: Logger;
16
17
  }
17
- export declare const useHandleUploadFiles: ({ sendFileMessage, sendMultipleFilesMessage, quoteMessage }: useHandleUploadFilesDynamicProps, { logger }: useHandleUploadFilesStaticProps) => (files: File[]) => Promise<void | FileMessage | MultipleFilesMessage>;
18
+ export declare const useHandleUploadFiles: ({ sendFileMessage, sendMultipleFilesMessage, quoteMessage, acceptableMimeTypes }: useHandleUploadFilesDynamicProps, { logger }: useHandleUploadFilesStaticProps) => (files: File[]) => Promise<void | FileMessage | MultipleFilesMessage>;
18
19
  export {};
@@ -17,6 +17,6 @@ interface StaticParams {
17
17
  }) => void;
18
18
  scrollRef: React.RefObject<HTMLElement>;
19
19
  }
20
- type CallbackReturn = (files: Array<File> | File) => void;
20
+ type CallbackReturn = (files: Array<File> | File) => Promise<void>;
21
21
  declare function useFileUploadCallback({ currentOpenChannel, imageCompression, onBeforeSendFileMessage, }: DynamicParams, { sdk, logger, messagesDispatcher, scrollRef }: StaticParams): CallbackReturn;
22
22
  export default useFileUploadCallback;
@@ -61,6 +61,7 @@ export declare const useThreadContext: () => {
61
61
  messageId: number;
62
62
  message: string;
63
63
  mentionedUsers?: import("@sendbird/chat").User[];
64
+ mentionedUserIds?: string[];
64
65
  mentionTemplate?: string;
65
66
  }) => void;
66
67
  deleteMessage: (message: SendableMessageType) => Promise<void>;
@@ -89,9 +90,9 @@ export declare const useThreadContext: () => {
89
90
  onReactionUpdated: (reactionEvent: import("@sendbird/chat/message").ReactionEvent) => void;
90
91
  onUserMuted: (channel: GroupChannel, user: import("@sendbird/chat").User) => void;
91
92
  onUserUnmuted: (channel: GroupChannel, user: import("@sendbird/chat").User) => void;
92
- onUserBanned: () => void;
93
+ onUserBanned: (channel: GroupChannel, user: import("@sendbird/chat").User) => void;
93
94
  onUserUnbanned: () => void;
94
- onUserLeft: () => void;
95
+ onUserLeft: (channel: GroupChannel, user: import("@sendbird/chat").User) => void;
95
96
  onChannelFrozen: () => void;
96
97
  onChannelUnfrozen: () => void;
97
98
  onOperatorUpdated: (channel: GroupChannel) => void;
@@ -16,6 +16,7 @@ type CallbackParams = {
16
16
  messageId: number;
17
17
  message: string;
18
18
  mentionedUsers?: User[];
19
+ mentionedUserIds?: string[];
19
20
  mentionTemplate?: string;
20
21
  };
21
22
  export default function useUpdateMessageCallback({ currentChannel, isMentionEnabled, onMessageUpdated, }: DynamicProps, { logger, pubSub, }: StaticProps): (props: CallbackParams) => void;
@@ -23,6 +23,7 @@ declare const useThread: () => {
23
23
  messageId: number;
24
24
  message: string;
25
25
  mentionedUsers?: User[];
26
+ mentionedUserIds?: string[];
26
27
  mentionTemplate?: string;
27
28
  }) => void;
28
29
  deleteMessage: (message: SendableMessageType) => Promise<void>;
@@ -51,9 +52,9 @@ declare const useThread: () => {
51
52
  onReactionUpdated: (reactionEvent: ReactionEvent) => void;
52
53
  onUserMuted: (channel: GroupChannel, user: User) => void;
53
54
  onUserUnmuted: (channel: GroupChannel, user: User) => void;
54
- onUserBanned: () => void;
55
+ onUserBanned: (channel: GroupChannel, user: User) => void;
55
56
  onUserUnbanned: () => void;
56
- onUserLeft: () => void;
57
+ onUserLeft: (channel: GroupChannel, user: User) => void;
57
58
  onChannelFrozen: () => void;
58
59
  onChannelUnfrozen: () => void;
59
60
  onOperatorUpdated: (channel: GroupChannel) => void;
@@ -137,6 +137,9 @@ declare const stringSet: {
137
137
  MESSAGE_INPUT__PLACE_HOLDER__MUTED: string;
138
138
  MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT: string;
139
139
  MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER: string;
140
+ MESSAGE_INPUT__PLACE_HOLDER__FILE_ATTACHED: string;
141
+ MESSAGE_INPUT__PENDING_FILE__TYPE_UNKNOWN: string;
142
+ MESSAGE_INPUT__PENDING_FILE__REMOVE: string;
140
143
  BUTTON__SUBMIT: string;
141
144
  BUTTON__CANCEL: string;
142
145
  BUTTON__DELETE: string;
@@ -205,6 +208,7 @@ declare const stringSet: {
205
208
  DATE_FORMAT__LAST_MESSAGE_CREATED_AT__PREVIOUS_YEAR: string;
206
209
  FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT: string;
207
210
  FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT: string;
211
+ FILE_UPLOAD_NOTIFICATION__UNSUPPORTED_FILE_TYPE: string;
208
212
  FEEDBACK_LIKE: string;
209
213
  FEEDBACK_DISLIKE: string;
210
214
  EDIT_COMMENT: string;
@@ -0,0 +1,14 @@
1
+ import { ReactElement } from 'react';
2
+ import type { PendingFile } from '../hooks/usePendingFiles';
3
+ interface Props {
4
+ pendingFile: PendingFile;
5
+ onRemove: (id: string) => void;
6
+ }
7
+ /**
8
+ * Card representation of a non-image pending file in the composer. Used in
9
+ * place of the square image thumbnail when `pendingFile.isImage` is false.
10
+ * The card shows a generic file icon, the (middle-truncated) filename, and
11
+ * the uppercased extension label.
12
+ */
13
+ export declare const PendingFileCard: ({ pendingFile, onRemove }: Props) => ReactElement;
14
+ export default PendingFileCard;
@@ -0,0 +1,13 @@
1
+ import { ReactElement } from 'react';
2
+ import type { PendingFile } from '../hooks/usePendingFiles';
3
+ interface Props {
4
+ pendingFile: PendingFile;
5
+ onRemove: (id: string) => void;
6
+ }
7
+ /**
8
+ * Renders one staged file in the composer. Images get a square thumbnail with
9
+ * a corner remove button; non-images delegate to PendingFileCard, which
10
+ * shows a horizontal card with icon + filename + uppercased extension.
11
+ */
12
+ export declare const PendingFileItem: ({ pendingFile, onRemove }: Props) => ReactElement;
13
+ export default PendingFileItem;
@@ -0,0 +1,9 @@
1
+ import { ReactElement } from 'react';
2
+ import type { PendingFile } from '../hooks/usePendingFiles';
3
+ interface Props {
4
+ pendingFiles: PendingFile[];
5
+ onRemove: (id: string) => void;
6
+ className?: string;
7
+ }
8
+ export declare const PendingFilesPreview: ({ pendingFiles, onRemove, className }: Props) => ReactElement | null;
9
+ export default PendingFilesPreview;
@@ -0,0 +1,25 @@
1
+ export interface UseDragAndDropParams {
2
+ onAddFiles: (files: File[]) => void;
3
+ /** When true, listeners are not attached (e.g. mobile, channel disabled). */
4
+ disabled?: boolean;
5
+ /**
6
+ * Per-event filter. Return `false` to skip this drop entirely (no preventDefault,
7
+ * no onAddFiles). Default: accept every file drop. Used to coordinate multiple
8
+ * instances on the same page so each one only consumes drops in its own pane —
9
+ * e.g. main channel vs. thread.
10
+ */
11
+ shouldAccept?: (event: DragEvent) => boolean;
12
+ }
13
+ /**
14
+ * Window-level drag-and-drop for file uploads. While enabled, the entire
15
+ * viewport accepts file drops — the caller does not need to render a visual
16
+ * affordance.
17
+ *
18
+ * When disabled, no listeners are attached, so the browser's default drop
19
+ * behavior (open the file) is preserved.
20
+ *
21
+ * When multiple instances are mounted concurrently (e.g. main channel composer
22
+ * + thread composer on desktop), each one passes a `shouldAccept` predicate so
23
+ * exactly one consumes any given drop based on its position in the DOM.
24
+ */
25
+ export declare const useDragAndDrop: ({ onAddFiles, disabled, shouldAccept }: UseDragAndDropParams) => void;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { DynamicProps } from './types';
3
- export declare function usePaste({ ref, setIsInput, channel, setMentionedUsers, }: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void;
3
+ export declare function usePaste({ ref, setIsInput, channel, setMentionedUsers, onAddFiles, }: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void;
4
4
  export default usePaste;
@@ -11,4 +11,9 @@ export type DynamicProps = {
11
11
  channel: OpenChannel | GroupChannel;
12
12
  setMentionedUsers: React.Dispatch<React.SetStateAction<User[]>>;
13
13
  setIsInput: React.Dispatch<React.SetStateAction<boolean>>;
14
+ /**
15
+ * When provided, files in the clipboard short-circuit the text/html paste
16
+ * branch and are routed here for composer staging.
17
+ */
18
+ onAddFiles?: (files: File[]) => void;
14
19
  };
@@ -0,0 +1,35 @@
1
+ import type { Logger } from '../../../lib/Sendbird/types';
2
+ import type { OpenGlobalModalProps } from '../../../hooks/useModal';
3
+ import type { StringSet } from '../../Label/stringSet';
4
+ export interface PendingFile {
5
+ id: string;
6
+ file: File;
7
+ /** Object URL for image previews. Undefined for non-image files. Revoked on remove/unmount. */
8
+ previewUrl?: string;
9
+ isImage: boolean;
10
+ }
11
+ export interface UsePendingFilesParams {
12
+ uikitUploadSizeLimit: number;
13
+ uikitMultipleFilesMessageLimit: number;
14
+ acceptableMimeTypes?: string[];
15
+ openModal: (props: OpenGlobalModalProps) => void;
16
+ stringSet: StringSet;
17
+ logger?: Logger;
18
+ }
19
+ export interface UsePendingFilesReturn {
20
+ pendingFiles: PendingFile[];
21
+ /**
22
+ * Adds files to the staging list. Validates combined-count + per-file size.
23
+ * On count/size violation, opens the standard modal and rejects the batch.
24
+ */
25
+ addFiles: (files: File[]) => void;
26
+ removeFile: (id: string) => void;
27
+ clear: () => void;
28
+ hasPendingFiles: boolean;
29
+ }
30
+ /**
31
+ * Holds files staged for the message composer before send. Producers (file
32
+ * picker, drag-and-drop, clipboard paste) all call addFiles. The owning
33
+ * wrapper drains pendingFiles on submit and calls clear().
34
+ */
35
+ export declare const usePendingFiles: ({ uikitUploadSizeLimit, uikitMultipleFilesMessageLimit, acceptableMimeTypes, openModal, stringSet, logger, }: UsePendingFilesParams) => UsePendingFilesReturn;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
+ import type { PendingFile } from './hooks/usePendingFiles';
3
4
  import { GroupChannel } from '@sendbird/chat/groupChannel';
4
5
  import { User } from '@sendbird/chat';
5
6
  import { OpenChannel } from '@sendbird/chat/openChannel';
@@ -18,18 +19,50 @@ type MessageInputProps = {
18
19
  disabled?: boolean;
19
20
  placeholder?: string;
20
21
  maxLength?: number;
22
+ /**
23
+ * @deprecated Pass `onAddFiles` + `onSubmit` for the composer flow. When
24
+ * `onAddFiles` is undefined, files from the picker are routed here for
25
+ * immediate send (legacy behavior).
26
+ */
21
27
  onFileUpload?: (file: File[]) => void;
22
28
  onSendMessage?: (params: {
23
29
  message: string;
24
30
  mentionTemplate: string;
25
31
  }) => void;
32
+ /**
33
+ * Composer mode: files staged for send. When defined and non-empty, the
34
+ * preview strip renders above the textarea and the send button activates
35
+ * regardless of text input state.
36
+ */
37
+ pendingFiles?: PendingFile[];
38
+ /**
39
+ * Composer mode: routes files from the picker, drag-drop, and clipboard
40
+ * paste to the staging hook. When defined, takes precedence over
41
+ * `onFileUpload`.
42
+ */
43
+ onAddFiles?: (files: File[]) => void;
44
+ /**
45
+ * Composer mode: removes a staged file by id from the preview strip.
46
+ */
47
+ onRemoveFile?: (id: string) => void;
48
+ /**
49
+ * Composer mode: unified send action. When defined, takes precedence over
50
+ * `onSendMessage` for the click and Enter-key paths.
51
+ */
52
+ onSubmit?: (params: {
53
+ message: string;
54
+ mentionTemplate: string;
55
+ files: PendingFile[];
56
+ }) => void;
26
57
  onUpdateMessage?: (params: {
27
58
  messageId: number;
28
59
  message: string;
29
60
  mentionTemplate: string;
61
+ mentionedUserIds?: string[];
30
62
  }) => void;
31
63
  onCancelEdit?: () => void;
32
64
  onStartTyping?: () => void;
65
+ onStopTyping?: () => void;
33
66
  channelUrl?: string;
34
67
  mentionSelectedUser?: null | User;
35
68
  onUserMentioned?: (user: User) => void;
@@ -16,4 +16,5 @@ export declare function extractTextAndMentions(childNodes: NodeListOf<ChildNode>
16
16
  messageText: string;
17
17
  mentionTemplate: string;
18
18
  isMentionedMessage: boolean;
19
+ mentionedUserIds: string[];
19
20
  };
@@ -0,0 +1,62 @@
1
+ import type { Logger } from '../lib/Sendbird/types';
2
+ import type { OpenGlobalModalProps } from '../hooks/useModal';
3
+ import type { StringSet } from '../ui/Label/stringSet';
4
+ interface CountLimitParams {
5
+ totalCount: number;
6
+ uikitMultipleFilesMessageLimit: number;
7
+ openModal: (props: OpenGlobalModalProps) => void;
8
+ stringSet: StringSet;
9
+ logger?: Logger;
10
+ logTag?: string;
11
+ }
12
+ /**
13
+ * Validates that the resulting file count (existing + incoming) does not
14
+ * exceed the configured limit. Opens the count-limit modal on failure.
15
+ * Returns true when within limit.
16
+ */
17
+ export declare const validateFileCount: ({ totalCount, uikitMultipleFilesMessageLimit, openModal, stringSet, logger, logTag, }: CountLimitParams) => boolean;
18
+ interface TypeFilterParams {
19
+ files: File[];
20
+ acceptableMimeTypes?: string[];
21
+ openModal: (props: OpenGlobalModalProps) => void;
22
+ stringSet: StringSet;
23
+ logger?: Logger;
24
+ logTag?: string;
25
+ }
26
+ /**
27
+ * Validates that every file matches the consumer's acceptableMimeTypes (or
28
+ * the UIKit default supported list when unspecified). Opens the unsupported-
29
+ * type modal and rejects the whole batch when any file fails.
30
+ */
31
+ export declare const validateFileTypes: ({ files, acceptableMimeTypes, openModal, stringSet, logger, logTag, }: TypeFilterParams) => boolean;
32
+ interface SizeLimitParams {
33
+ files: File[];
34
+ uikitUploadSizeLimit: number;
35
+ openModal: (props: OpenGlobalModalProps) => void;
36
+ stringSet: StringSet;
37
+ logger?: Logger;
38
+ logTag?: string;
39
+ }
40
+ /**
41
+ * Validates that no file exceeds the configured size limit. Opens the
42
+ * size-limit modal on failure. Returns true when all files within limit.
43
+ */
44
+ export declare const validateFileSizes: ({ files, uikitUploadSizeLimit, openModal, stringSet, logger, logTag, }: SizeLimitParams) => boolean;
45
+ export interface ValidateFilesForUploadParams {
46
+ files: File[];
47
+ uikitUploadSizeLimit: number;
48
+ uikitMultipleFilesMessageLimit: number;
49
+ acceptableMimeTypes: string[] | undefined;
50
+ openModal: (props: OpenGlobalModalProps) => void;
51
+ stringSet: StringSet;
52
+ logger?: Logger;
53
+ /** Logger context tag (e.g. 'GroupChannel|useHandleUploadFiles'). */
54
+ logTag?: string;
55
+ }
56
+ /**
57
+ * Validates a File[] before upload. Used by the legacy immediate-send hooks.
58
+ * Composer staging (usePendingFiles) calls validateFileTypes, validateFileCount,
59
+ * and validateFileSizes directly so it can check combined-with-staging count.
60
+ */
61
+ export declare const validateFilesForUpload: ({ files, uikitUploadSizeLimit, uikitMultipleFilesMessageLimit, acceptableMimeTypes, openModal, stringSet, logger, logTag, }: ValidateFilesForUploadParams) => boolean;
62
+ export {};
@@ -19,6 +19,7 @@ export declare const SUPPORTED_FILE_EXTENSIONS: {
19
19
  ARCHIVE: string[];
20
20
  };
21
21
  export declare const getMimeTypesUIKitAccepts: (acceptableTypes?: string[]) => string;
22
+ export declare const isFileAllowedByAccept: (file: File, acceptableMimeTypes?: string[]) => boolean;
22
23
  export interface UIKitMessageTypes {
23
24
  ADMIN: 'ADMIN';
24
25
  TEXT: 'TEXT';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Truncate `filename` to fit within `maxChars` by inserting `...` near the
3
+ * middle while preserving the file extension. If the filename already fits,
4
+ * returns it unchanged. If the extension alone exceeds the budget, the
5
+ * extension is dropped and the head is truncated.
6
+ *
7
+ * The utility operates on Unicode code points (after NFC normalization), so
8
+ * Hangul syllables stay intact even when the input is decomposed jamo (as
9
+ * macOS produces), and surrogate pairs (emoji, supplementary CJK) are never
10
+ * split. The caller is responsible for picking a `maxChars` that fits the
11
+ * rendered container.
12
+ *
13
+ * Examples:
14
+ * truncateMiddleKeepExtension('File-name-is-too-long.pdf', 14) -> 'File...ong.pdf'
15
+ * truncateMiddleKeepExtension('short.pdf', 14) -> 'short.pdf'
16
+ * truncateMiddleKeepExtension('noextension', 14) -> 'noextension'
17
+ * truncateMiddleKeepExtension('verylong.tar.gz', 10) -> 've...tar.gz'
18
+ * truncateMiddleKeepExtension('long', 3) -> '...'
19
+ */
20
+ export declare function truncateMiddleKeepExtension(filename: string, maxChars: number): string;
package/ui/Accordion.js CHANGED
@@ -2,8 +2,8 @@ import React__default, { useMemo } from 'react';
2
2
  import Icon, { IconTypes } from './Icon.js';
3
3
  import { useAccordionGroupContext, AccordionGroupProvider } from './AccordionGroup.js';
4
4
  export { AccordionGroupContext } from './AccordionGroup.js';
5
- import { c as classnames } from '../chunks/bundle-D7HOrOoM.js';
6
- import '../chunks/bundle-Rf2YUo_V.js';
5
+ import { c as classnames } from '../chunks/bundle-DX6fRIJl.js';
6
+ import '../chunks/bundle-Bpofr334.js';
7
7
 
8
8
  var Accordion = function (_a) {
9
9
  var className = _a.className, id = _a.id, renderTitle = _a.renderTitle, renderContent = _a.renderContent, renderFooter = _a.renderFooter;
@@ -1,5 +1,5 @@
1
1
  import React__default, { createContext, useState, useContext } from 'react';
2
- import { n as noop } from '../chunks/bundle-D7HOrOoM.js';
2
+ import { n as noop } from '../chunks/bundle-DX6fRIJl.js';
3
3
 
4
4
  var AccordionGroupContext = createContext({
5
5
  openedListKeys: [],
@@ -1,7 +1,7 @@
1
- import { c as __spreadArray } from '../chunks/bundle-Rf2YUo_V.js';
1
+ import { e as __spreadArray } from '../chunks/bundle-Bpofr334.js';
2
2
  import React__default from 'react';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../chunks/bundle-C0kbt3jK.js';
4
- import '../chunks/bundle-DKXmeTpK.js';
3
+ import { L as Label, a as LabelColors, c as LabelTypography } from '../chunks/bundle-Cdplrrlw.js';
4
+ import '../chunks/bundle-oM0Fxt9G.js';
5
5
 
6
6
  function AdminMessage(_a) {
7
7
  var _b;
package/ui/Avatar.js CHANGED
@@ -1,8 +1,8 @@
1
- import '../chunks/bundle-Rf2YUo_V.js';
1
+ import '../chunks/bundle-Bpofr334.js';
2
2
  import 'react';
3
3
  import './ImageRenderer.js';
4
- export { b as AvatarInner, A as default } from '../chunks/bundle-TVnsbl6m.js';
5
- import '../chunks/bundle-D7HOrOoM.js';
6
- import '../chunks/bundle-nToh_fKd.js';
4
+ export { b as AvatarInner, A as default } from '../chunks/bundle-BJShQs4P.js';
5
+ import '../chunks/bundle-DX6fRIJl.js';
6
+ import '../chunks/bundle-F_R9C4cW.js';
7
7
  import './Icon.js';
8
8
  //# sourceMappingURL=Avatar.js.map
package/ui/Badge.js CHANGED
@@ -1,9 +1,9 @@
1
- import { c as __spreadArray } from '../chunks/bundle-Rf2YUo_V.js';
1
+ import { e as __spreadArray } from '../chunks/bundle-Bpofr334.js';
2
2
  import React__default, { useContext } from 'react';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../chunks/bundle-C0kbt3jK.js';
4
- import { L as LocalizationContext } from '../chunks/bundle-D-RwYEMS.js';
5
- import '../chunks/bundle-DKXmeTpK.js';
6
- import '../chunks/bundle-V2GjRdnC.js';
3
+ import { L as Label, a as LabelColors, c as LabelTypography } from '../chunks/bundle-Cdplrrlw.js';
4
+ import { L as LocalizationContext } from '../chunks/bundle-Cdqsdoa8.js';
5
+ import '../chunks/bundle-oM0Fxt9G.js';
6
+ import '../chunks/bundle-DmnXeBdU.js';
7
7
 
8
8
  function Badge(_a) {
9
9
  var count = _a.count, _b = _a.maxLevel, maxLevel = _b === void 0 ? 2 : _b, _c = _a.className, className = _c === void 0 ? '' : _c;
package/ui/BottomSheet.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import React__default, { useRef } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import '../hooks/useModal.js';
4
- import { u as useSendbird } from '../chunks/bundle-N4pYliV4.js';
5
- import { a as MODAL_ROOT } from '../chunks/bundle-7U4PQody.js';
6
- import '../chunks/bundle-Rf2YUo_V.js';
7
- import '../chunks/bundle-DSBzIeUm.js';
8
- import '../chunks/bundle-D7HOrOoM.js';
9
- import '../chunks/bundle-D-RwYEMS.js';
10
- import '../chunks/bundle-DKXmeTpK.js';
11
- import '../chunks/bundle-V2GjRdnC.js';
12
- import '../chunks/bundle-CA3QA8D9.js';
4
+ import { u as useSendbird } from '../chunks/bundle-4clodtJA.js';
5
+ import { M as MODAL_ROOT } from '../chunks/bundle-C4anRHWY.js';
6
+ import '../chunks/bundle-Bpofr334.js';
7
+ import '../chunks/bundle-lqEjT2ED.js';
8
+ import '../chunks/bundle-DX6fRIJl.js';
9
+ import '../chunks/bundle-Cdqsdoa8.js';
10
+ import '../chunks/bundle-oM0Fxt9G.js';
11
+ import '../chunks/bundle-DmnXeBdU.js';
12
+ import '../chunks/bundle-C2ARCMSL.js';
13
13
  import './IconButton.js';
14
14
  import './Button.js';
15
- import '../chunks/bundle-C0kbt3jK.js';
15
+ import '../chunks/bundle-Cdplrrlw.js';
16
16
  import './Icon.js';
17
- import '../chunks/bundle-B9eInLCQ.js';
18
- import '../chunks/bundle-Do4xiOif.js';
19
- import '../chunks/bundle-C8L0rqDO.js';
17
+ import '../chunks/bundle-LLA95Pqf.js';
18
+ import '../chunks/bundle-B56O1y8C.js';
19
+ import '../chunks/bundle-JhKiWlXT.js';
20
20
  import '@sendbird/chat';
21
21
  import '@sendbird/chat/groupChannel';
22
22
  import '@sendbird/chat/openChannel';
package/ui/Button.js CHANGED
@@ -1,7 +1,7 @@
1
- import { c as __spreadArray } from '../chunks/bundle-Rf2YUo_V.js';
1
+ import { e as __spreadArray } from '../chunks/bundle-Bpofr334.js';
2
2
  import React__default from 'react';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../chunks/bundle-C0kbt3jK.js';
4
- import '../chunks/bundle-DKXmeTpK.js';
3
+ import { L as Label, a as LabelColors, c as LabelTypography } from '../chunks/bundle-Cdplrrlw.js';
4
+ import '../chunks/bundle-oM0Fxt9G.js';
5
5
 
6
6
  var ButtonTypes;
7
7
  (function (ButtonTypes) {
@@ -1,11 +1,11 @@
1
1
  import React__default, { useMemo } from 'react';
2
- import { A as Avatar } from '../chunks/bundle-TVnsbl6m.js';
3
- import Icon, { IconTypes, IconColors } from './Icon.js';
4
- import { g as generateDefaultAvatar, a as getChannelAvatarSource } from '../chunks/bundle-DllTlF8y.js';
5
- import '../chunks/bundle-Rf2YUo_V.js';
2
+ import { A as Avatar } from '../chunks/bundle-BJShQs4P.js';
3
+ import Icon, { IconColors, IconTypes } from './Icon.js';
4
+ import { g as generateDefaultAvatar, a as getChannelAvatarSource } from '../chunks/bundle-D646l1Rn.js';
5
+ import '../chunks/bundle-Bpofr334.js';
6
6
  import './ImageRenderer.js';
7
- import '../chunks/bundle-D7HOrOoM.js';
8
- import '../chunks/bundle-nToh_fKd.js';
7
+ import '../chunks/bundle-DX6fRIJl.js';
8
+ import '../chunks/bundle-F_R9C4cW.js';
9
9
 
10
10
  function ChannelAvatar(_a) {
11
11
  var channel = _a.channel, userId = _a.userId, theme = _a.theme, _b = _a.width, width = _b === void 0 ? 56 : _b, _c = _a.height, height = _c === void 0 ? 56 : _c;
@@ -1,11 +1,11 @@
1
1
  import React__default, { useContext } from 'react';
2
- import Icon, { IconTypes, IconColors } from './Icon.js';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../chunks/bundle-C0kbt3jK.js';
4
- import { L as LocalizationContext } from '../chunks/bundle-D-RwYEMS.js';
5
- import '../chunks/bundle-Rf2YUo_V.js';
6
- import '../chunks/bundle-D7HOrOoM.js';
7
- import '../chunks/bundle-DKXmeTpK.js';
8
- import '../chunks/bundle-V2GjRdnC.js';
2
+ import Icon, { IconColors, IconTypes } from './Icon.js';
3
+ import { L as Label, a as LabelColors, c as LabelTypography } from '../chunks/bundle-Cdplrrlw.js';
4
+ import { L as LocalizationContext } from '../chunks/bundle-Cdqsdoa8.js';
5
+ import '../chunks/bundle-Bpofr334.js';
6
+ import '../chunks/bundle-DX6fRIJl.js';
7
+ import '../chunks/bundle-oM0Fxt9G.js';
8
+ import '../chunks/bundle-DmnXeBdU.js';
9
9
 
10
10
  function ConnectionStatus() {
11
11
  var stringSet = useContext(LocalizationContext).stringSet;