@sendbird/uikit-react 3.17.11 → 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 (997) hide show
  1. package/App.js +93 -91
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +20 -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-CeLEEyFJ.js → bundle-4clodtJA.js} +25 -29
  146. package/chunks/bundle-4clodtJA.js.map +1 -0
  147. package/chunks/{bundle-8dH5t8D9.js → bundle-5y4qYKhm.js} +9 -9
  148. package/chunks/{bundle-8dH5t8D9.js.map → bundle-5y4qYKhm.js.map} +1 -1
  149. package/chunks/{bundle-Cq01dsQs.js → bundle-6I0gJidJ.js} +1 -1
  150. package/chunks/bundle-6I0gJidJ.js.map +1 -0
  151. package/chunks/{bundle-BMMEMc9R.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-CgAh8D8l.js → bundle-B40pTdZv.js} +1 -1
  156. package/chunks/bundle-B40pTdZv.js.map +1 -0
  157. package/chunks/{bundle-DOHzCh7a.js → bundle-B56O1y8C.js} +5 -5
  158. package/chunks/{bundle-DOHzCh7a.js.map → bundle-B56O1y8C.js.map} +1 -1
  159. package/chunks/{bundle-CH1SOYd0.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-CfGa1Ywx.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-DGZK0j-W.js → bundle-BEPoP7sp.js} +2 -2
  168. package/chunks/bundle-BEPoP7sp.js.map +1 -0
  169. package/chunks/{bundle-DCwgKOlw.js → bundle-BJShQs4P.js} +5 -5
  170. package/chunks/bundle-BJShQs4P.js.map +1 -0
  171. package/chunks/{bundle-CC_Jz6mm.js → bundle-BKXsd3zk.js} +1 -1
  172. package/chunks/bundle-BKXsd3zk.js.map +1 -0
  173. package/chunks/{bundle-C5JanUlq.js → bundle-BLMU9f-F.js} +34 -23
  174. package/{cjs/chunks/bundle-U6Y2jYcy.js.map → chunks/bundle-BLMU9f-F.js.map} +1 -1
  175. package/chunks/{bundle-CmTULFbc.js → bundle-BRJdb8OX.js} +1 -1
  176. package/chunks/bundle-BRJdb8OX.js.map +1 -0
  177. package/chunks/{bundle-DPFUYsH2.js → bundle-BShLbNAF.js} +1 -1
  178. package/chunks/bundle-BShLbNAF.js.map +1 -0
  179. package/chunks/{bundle-DKnH9j0w.js → bundle-BZSLsKkw.js} +25 -8
  180. package/chunks/{bundle-DKnH9j0w.js.map → bundle-BZSLsKkw.js.map} +1 -1
  181. package/chunks/{bundle-DoCZ7Yns.js → bundle-Banyr0qP.js} +3 -3
  182. package/chunks/bundle-Banyr0qP.js.map +1 -0
  183. package/chunks/{bundle-C6xi9dYP.js → bundle-BdprN8pt.js} +1 -1
  184. package/chunks/{bundle-C6xi9dYP.js.map → bundle-BdprN8pt.js.map} +1 -1
  185. package/chunks/{bundle-BwngnlYf.js → bundle-BfgSx7DM.js} +3 -3
  186. package/chunks/{bundle-BwngnlYf.js.map → bundle-BfgSx7DM.js.map} +1 -1
  187. package/chunks/{bundle-deCJFaXg.js → bundle-Bm5O6aP3.js} +1 -1
  188. package/chunks/bundle-Bm5O6aP3.js.map +1 -0
  189. package/chunks/{bundle-DajAePTd.js → bundle-BpM8phr1.js} +14 -14
  190. package/chunks/bundle-BpM8phr1.js.map +1 -0
  191. package/chunks/{bundle-CUFNseKN.js → bundle-Bpofr334.js} +2 -2
  192. package/chunks/{bundle-CUFNseKN.js.map → bundle-Bpofr334.js.map} +1 -1
  193. package/chunks/{bundle-DcfMvtQG.js → bundle-BqKoZDqX.js} +1 -1
  194. package/chunks/{bundle-DcfMvtQG.js.map → bundle-BqKoZDqX.js.map} +1 -1
  195. package/chunks/{bundle-BZoGlf3f.js → bundle-BrCEaRXK.js} +16 -16
  196. package/chunks/{bundle-BZoGlf3f.js.map → bundle-BrCEaRXK.js.map} +1 -1
  197. package/chunks/{bundle-CSa8zeut.js → bundle-BrqWLoDb.js} +5 -5
  198. package/chunks/{bundle-CSa8zeut.js.map → bundle-BrqWLoDb.js.map} +1 -1
  199. package/chunks/{bundle-K4xHiJfN.js → bundle-Bs8Cwq5j.js} +9 -9
  200. package/chunks/bundle-Bs8Cwq5j.js.map +1 -0
  201. package/chunks/{bundle-LKiKEQMD.js → bundle-BsY2Dawk.js} +2 -2
  202. package/chunks/bundle-BsY2Dawk.js.map +1 -0
  203. package/chunks/{bundle-DvFk9hZu.js → bundle-C1npFBfj.js} +1 -1
  204. package/chunks/bundle-C1npFBfj.js.map +1 -0
  205. package/chunks/{bundle-DUhFIvq0.js → bundle-C20UC6V7.js} +7 -7
  206. package/chunks/bundle-C20UC6V7.js.map +1 -0
  207. package/chunks/{bundle-CTVS7EpI.js → bundle-C2ARCMSL.js} +1 -1
  208. package/chunks/bundle-C2ARCMSL.js.map +1 -0
  209. package/chunks/{bundle-QqMAlWsP.js → bundle-C4anRHWY.js} +11 -11
  210. package/chunks/bundle-C4anRHWY.js.map +1 -0
  211. package/chunks/{bundle-CX6EYwvX.js → bundle-C5-D2BAP.js} +61 -17
  212. package/{cjs/chunks/bundle-DmR0_slE.js.map → chunks/bundle-C5-D2BAP.js.map} +1 -1
  213. package/chunks/{bundle-DmoshxdI.js → bundle-C60Wnv-9.js} +2 -2
  214. package/chunks/bundle-C60Wnv-9.js.map +1 -0
  215. package/chunks/{bundle-DiKiLU8g.js → bundle-CAshTR7h.js} +1 -1
  216. package/chunks/bundle-CAshTR7h.js.map +1 -0
  217. package/chunks/{bundle-DYbMoqiD.js → bundle-CD4RzjMA.js} +4 -4
  218. package/chunks/bundle-CD4RzjMA.js.map +1 -0
  219. package/chunks/{bundle-D3DfLeep.js → bundle-CFc2hy8g.js} +2 -2
  220. package/chunks/bundle-CFc2hy8g.js.map +1 -0
  221. package/chunks/{bundle-4FHXjC0T.js → bundle-CLHIHGae.js} +5 -5
  222. package/chunks/bundle-CLHIHGae.js.map +1 -0
  223. package/chunks/{bundle-CVIpQvz-.js → bundle-CLrmFXHj.js} +10 -10
  224. package/chunks/{bundle-CVIpQvz-.js.map → bundle-CLrmFXHj.js.map} +1 -1
  225. package/chunks/{bundle-CjCG01vR.js → bundle-CPOgmEXq.js} +4 -4
  226. package/chunks/bundle-CPOgmEXq.js.map +1 -0
  227. package/chunks/{bundle-C7rLZX4P.js → bundle-Cd8fnvI_.js} +1 -1
  228. package/chunks/bundle-Cd8fnvI_.js.map +1 -0
  229. package/chunks/{bundle-CE8XZeIa.js → bundle-Cdplrrlw.js} +4 -4
  230. package/chunks/bundle-Cdplrrlw.js.map +1 -0
  231. package/chunks/{bundle-CD6CGxYu.js → bundle-Cdqsdoa8.js} +4 -4
  232. package/chunks/bundle-Cdqsdoa8.js.map +1 -0
  233. package/chunks/{bundle-NRNsjiKk.js → bundle-CglqREVl.js} +1 -1
  234. package/chunks/bundle-CglqREVl.js.map +1 -0
  235. package/chunks/{bundle-DNZm2aCn.js → bundle-ChLik1Zs.js} +4 -4
  236. package/chunks/bundle-ChLik1Zs.js.map +1 -0
  237. package/chunks/{bundle-jqzUQHEL.js → bundle-CnFrQOtC.js} +21 -19
  238. package/{cjs/chunks/bundle-DzxR2MCH.js.map → chunks/bundle-CnFrQOtC.js.map} +1 -1
  239. package/chunks/{bundle-CWhu5cnC.js → bundle-Cslf3sKl.js} +3 -3
  240. package/chunks/bundle-Cslf3sKl.js.map +1 -0
  241. package/chunks/{bundle-BDaOve18.js → bundle-Cw0XZgRI.js} +7 -7
  242. package/chunks/bundle-Cw0XZgRI.js.map +1 -0
  243. package/chunks/{bundle-nJfCHTAl.js → bundle-CwMNZmx9.js} +222 -149
  244. package/chunks/{bundle-nJfCHTAl.js.map → bundle-CwMNZmx9.js.map} +1 -1
  245. package/chunks/{bundle-BS4kt0WK.js → bundle-Cyocqt10.js} +10 -12
  246. package/{cjs/chunks/bundle-BPerQ7Nn.js.map → chunks/bundle-Cyocqt10.js.map} +1 -1
  247. package/chunks/{bundle-CSLZlbio.js → bundle-D-L9ZslG.js} +8 -8
  248. package/chunks/{bundle-CSLZlbio.js.map → bundle-D-L9ZslG.js.map} +1 -1
  249. package/chunks/{bundle-C5IAP1zO.js → bundle-D0WVu0lN.js} +1 -1
  250. package/chunks/bundle-D0WVu0lN.js.map +1 -0
  251. package/chunks/{bundle-D77O6D1c.js → bundle-D3zdGXmK.js} +4 -4
  252. package/chunks/{bundle-D77O6D1c.js.map → bundle-D3zdGXmK.js.map} +1 -1
  253. package/chunks/{bundle-EUiAeGsI.js → bundle-D4O-NxY1.js} +28 -18
  254. package/{cjs/chunks/bundle-D3d1xmjt.js.map → chunks/bundle-D4O-NxY1.js.map} +1 -1
  255. package/chunks/{bundle-CTZdxGd-.js → bundle-D646l1Rn.js} +1 -1
  256. package/chunks/bundle-D646l1Rn.js.map +1 -0
  257. package/chunks/{bundle-B07oZGKu.js → bundle-D9ORMtyv.js} +7 -7
  258. package/chunks/bundle-D9ORMtyv.js.map +1 -0
  259. package/chunks/{bundle-CQA3ZHxQ.js → bundle-DC25kzte.js} +10 -10
  260. package/chunks/{bundle-CQA3ZHxQ.js.map → bundle-DC25kzte.js.map} +1 -1
  261. package/chunks/{bundle-CdzKrMjw.js → bundle-DD_FhSU8.js} +6 -6
  262. package/chunks/bundle-DD_FhSU8.js.map +1 -0
  263. package/chunks/{bundle-DKmGgarH.js → bundle-DFWI31lg.js} +4 -4
  264. package/chunks/bundle-DFWI31lg.js.map +1 -0
  265. package/chunks/{bundle-CTBJyV2C.js → bundle-DIdJF27_.js} +2 -2
  266. package/chunks/bundle-DIdJF27_.js.map +1 -0
  267. package/chunks/{bundle-DJ-TOKrq.js → bundle-DTiJ-rFi.js} +5 -5
  268. package/chunks/{bundle-DJ-TOKrq.js.map → bundle-DTiJ-rFi.js.map} +1 -1
  269. package/chunks/{bundle-CBhbbqeO.js → bundle-DVdeXT-4.js} +2 -4
  270. package/chunks/bundle-DVdeXT-4.js.map +1 -0
  271. package/chunks/{bundle-DdGdUttq.js → bundle-DWURNKdQ.js} +19 -10
  272. package/{cjs/chunks/bundle-DCE4aPIh.js.map → chunks/bundle-DWURNKdQ.js.map} +1 -1
  273. package/chunks/{bundle-CQJQkdjB.js → bundle-DX6fRIJl.js} +1 -1
  274. package/chunks/bundle-DX6fRIJl.js.map +1 -0
  275. package/chunks/{bundle-BhsIH5N9.js → bundle-DXC9ZAL8.js} +7 -7
  276. package/chunks/{bundle-BhsIH5N9.js.map → bundle-DXC9ZAL8.js.map} +1 -1
  277. package/chunks/{bundle-COVbA08i.js → bundle-DY7Cxkk0.js} +2 -2
  278. package/chunks/{bundle-COVbA08i.js.map → bundle-DY7Cxkk0.js.map} +1 -1
  279. package/chunks/{bundle-MfWZwGxM.js → bundle-DiO7lolz.js} +3 -3
  280. package/chunks/bundle-DiO7lolz.js.map +1 -0
  281. package/chunks/{bundle-yJIT2XDk.js → bundle-Dj_wODPB.js} +97 -78
  282. package/{cjs/chunks/bundle-D9x3No8L.js.map → chunks/bundle-Dj_wODPB.js.map} +1 -1
  283. package/chunks/{bundle-Dtcjhm7e.js → bundle-DmOfz_GY.js} +77 -47
  284. package/chunks/{bundle-EUiAeGsI.js.map → bundle-DmOfz_GY.js.map} +1 -1
  285. package/chunks/{bundle-BPR5PyGX.js → bundle-DmnXeBdU.js} +1 -1
  286. package/chunks/{bundle-BPR5PyGX.js.map → bundle-DmnXeBdU.js.map} +1 -1
  287. package/chunks/{bundle-DCbF_EZ6.js → bundle-DpOgiF9r.js} +1 -1
  288. package/chunks/bundle-DpOgiF9r.js.map +1 -0
  289. package/chunks/{bundle-CBGlP9zt.js → bundle-Dw9WYTqh.js} +2 -2
  290. package/chunks/{bundle-CBGlP9zt.js.map → bundle-Dw9WYTqh.js.map} +1 -1
  291. package/chunks/{bundle-apFuh3_k.js → bundle-DyguzebC.js} +2 -2
  292. package/chunks/{bundle-apFuh3_k.js.map → bundle-DyguzebC.js.map} +1 -1
  293. package/chunks/{bundle-DeDZvs38.js → bundle-DyosazG-.js} +3 -5
  294. package/chunks/{bundle-DeDZvs38.js.map → bundle-DyosazG-.js.map} +1 -1
  295. package/chunks/{bundle-D4as5hKh.js → bundle-DzB_38co.js} +7 -7
  296. package/chunks/{bundle-BS4kt0WK.js.map → bundle-DzB_38co.js.map} +1 -1
  297. package/chunks/{bundle-C9eESsTb.js → bundle-EKFQIahk.js} +3 -3
  298. package/chunks/{bundle-C9eESsTb.js.map → bundle-EKFQIahk.js.map} +1 -1
  299. package/chunks/bundle-ExNQo0Ly.js +160 -0
  300. package/chunks/{bundle-C9pDO7b_.js.map → bundle-ExNQo0Ly.js.map} +1 -1
  301. package/chunks/{bundle-BrZWYj5G.js → bundle-F_R9C4cW.js} +1 -1
  302. package/chunks/bundle-F_R9C4cW.js.map +1 -0
  303. package/chunks/{bundle-BdqzVlr4.js → bundle-FnWZX8on.js} +4 -4
  304. package/chunks/bundle-FnWZX8on.js.map +1 -0
  305. package/chunks/{bundle-u7ZSOSmF.js → bundle-Gpc6ZS8v.js} +51 -26
  306. package/chunks/{bundle-u7ZSOSmF.js.map → bundle-Gpc6ZS8v.js.map} +1 -1
  307. package/chunks/{bundle-B_1lMJw7.js → bundle-HZPwhqsr.js} +8 -8
  308. package/{cjs/chunks/bundle-Cj4QTkbo.js.map → chunks/bundle-HZPwhqsr.js.map} +1 -1
  309. package/chunks/{bundle-D67XuNKa.js → bundle-JhKiWlXT.js} +2 -2
  310. package/chunks/bundle-JhKiWlXT.js.map +1 -0
  311. package/chunks/{bundle-B4W87yRp.js → bundle-KmABwClk.js} +9 -9
  312. package/chunks/{bundle-B4W87yRp.js.map → bundle-KmABwClk.js.map} +1 -1
  313. package/chunks/{bundle-D1MmNbfE.js → bundle-LLA95Pqf.js} +1 -1
  314. package/chunks/bundle-LLA95Pqf.js.map +1 -0
  315. package/chunks/{bundle-3JP5bt3Z.js → bundle-WvDa8Nzx.js} +3 -3
  316. package/chunks/bundle-WvDa8Nzx.js.map +1 -0
  317. package/chunks/{bundle-C9pDO7b_.js → bundle-XzHJwv9S.js} +6 -6
  318. package/chunks/{bundle-jqzUQHEL.js.map → bundle-XzHJwv9S.js.map} +1 -1
  319. package/chunks/{bundle-B5yOEM4l.js → bundle-YDriVB8K.js} +2 -2
  320. package/chunks/bundle-YDriVB8K.js.map +1 -0
  321. package/chunks/{bundle-DI1Potyd.js → bundle-bbQJtRLQ.js} +11 -11
  322. package/chunks/{bundle-DI1Potyd.js.map → bundle-bbQJtRLQ.js.map} +1 -1
  323. package/chunks/{bundle-C78c_-iF.js → bundle-dSIU9ibx.js} +9 -9
  324. package/chunks/{bundle-C78c_-iF.js.map → bundle-dSIU9ibx.js.map} +1 -1
  325. package/chunks/{bundle-BVIoifvS.js → bundle-glu5FhZF.js} +13 -13
  326. package/chunks/{bundle-BVIoifvS.js.map → bundle-glu5FhZF.js.map} +1 -1
  327. package/chunks/{bundle-DlD_Odlg.js → bundle-hLkIqB36.js} +37 -37
  328. package/chunks/{bundle-DlD_Odlg.js.map → bundle-hLkIqB36.js.map} +1 -1
  329. package/chunks/{bundle-0zReDi7b.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-D8iL7lya.js → bundle-oM0Fxt9G.js} +6 -2
  334. package/chunks/bundle-oM0Fxt9G.js.map +1 -0
  335. package/chunks/{bundle-BE6zj_MW.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-mBM5xtnU.js → bundle--ZBrECLK.js} +3 -5
  481. package/cjs/chunks/{bundle-mBM5xtnU.js.map → bundle--ZBrECLK.js.map} +1 -1
  482. package/cjs/chunks/{bundle-99j0pbE6.js → bundle-1F9guuKw.js} +1 -1
  483. package/cjs/chunks/bundle-1F9guuKw.js.map +1 -0
  484. package/cjs/chunks/{bundle-DFv16RSR.js → bundle-2FCFe95u.js} +3 -3
  485. package/cjs/chunks/bundle-2FCFe95u.js.map +1 -0
  486. package/cjs/chunks/{bundle-DzxR2MCH.js → bundle-4vdcmQiE.js} +5 -5
  487. package/cjs/chunks/bundle-4vdcmQiE.js.map +1 -0
  488. package/cjs/chunks/{bundle-cTlYBGMg.js → bundle-76A2Zzye.js} +4 -4
  489. package/cjs/chunks/bundle-76A2Zzye.js.map +1 -0
  490. package/cjs/chunks/{bundle-CnoOxWnY.js → bundle-9izlRrTd.js} +3 -3
  491. package/cjs/chunks/bundle-9izlRrTd.js.map +1 -0
  492. package/cjs/chunks/{bundle-NLD3XGHp.js → bundle-AjkDYnfX.js} +4 -4
  493. package/cjs/chunks/{bundle-NLD3XGHp.js.map → bundle-AjkDYnfX.js.map} +1 -1
  494. package/cjs/chunks/{bundle-CCWL4_Bj.js → bundle-B14gP5iL.js} +1 -1
  495. package/cjs/chunks/bundle-B14gP5iL.js.map +1 -0
  496. package/cjs/chunks/{bundle-2_6pbUrU.js → bundle-B3MkpbB1.js} +2 -2
  497. package/cjs/chunks/bundle-B3MkpbB1.js.map +1 -0
  498. package/cjs/chunks/{bundle-BL5M4yXI.js → bundle-B4v0Agxd.js} +1 -1
  499. package/cjs/chunks/bundle-B4v0Agxd.js.map +1 -0
  500. package/cjs/chunks/{bundle-BM_oajIx.js → bundle-BFmC2V1o.js} +8 -8
  501. package/cjs/chunks/bundle-BFmC2V1o.js.map +1 -0
  502. package/cjs/chunks/{bundle-BOHlEif7.js → bundle-BKn9ow_B.js} +1 -1
  503. package/cjs/chunks/{bundle-BOHlEif7.js.map → bundle-BKn9ow_B.js.map} +1 -1
  504. package/cjs/chunks/{bundle-BwsikcS8.js → bundle-BNgfU9I_.js} +1 -1
  505. package/cjs/chunks/bundle-BNgfU9I_.js.map +1 -0
  506. package/cjs/chunks/{bundle-B7RDGS3d.js → bundle-BNu-mNlA.js} +8 -8
  507. package/cjs/chunks/bundle-BNu-mNlA.js.map +1 -0
  508. package/cjs/chunks/{bundle-cWZTmuuh.js → bundle-BPfnvsLX.js} +3 -3
  509. package/cjs/chunks/bundle-BPfnvsLX.js.map +1 -0
  510. package/cjs/chunks/{bundle-BQFjw5g0.js → bundle-BSCZWP_l.js} +1 -1
  511. package/cjs/chunks/bundle-BSCZWP_l.js.map +1 -0
  512. package/cjs/chunks/{bundle-oeZ9Mu_e.js → bundle-BSEj3ItE.js} +1 -1
  513. package/cjs/chunks/bundle-BSEj3ItE.js.map +1 -0
  514. package/cjs/chunks/{bundle-DqSg-zio.js → bundle-BSfAJlO9.js} +3 -3
  515. package/cjs/chunks/bundle-BSfAJlO9.js.map +1 -0
  516. package/cjs/chunks/{bundle-Cll1iNxk.js → bundle-BTzm82Jl.js} +8 -10
  517. package/cjs/chunks/{bundle-Cll1iNxk.js.map → bundle-BTzm82Jl.js.map} +1 -1
  518. package/cjs/chunks/{bundle-DvWSVzag.js → bundle-BVmEHs1Z.js} +51 -26
  519. package/cjs/chunks/{bundle-DvWSVzag.js.map → bundle-BVmEHs1Z.js.map} +1 -1
  520. package/cjs/chunks/{bundle-CdZGTXx9.js → bundle-BVn2UMtk.js} +1 -1
  521. package/cjs/chunks/bundle-BVn2UMtk.js.map +1 -0
  522. package/cjs/chunks/{bundle-DvYB_ALf.js → bundle-BX9WTltL.js} +12 -12
  523. package/cjs/chunks/bundle-BX9WTltL.js.map +1 -0
  524. package/cjs/chunks/{bundle-C-sNT-AX.js → bundle-BXuNw6bR.js} +1 -1
  525. package/cjs/chunks/{bundle-C-sNT-AX.js.map → bundle-BXuNw6bR.js.map} +1 -1
  526. package/cjs/chunks/{bundle-D9Wy18VM.js → bundle-Bcw-YfFm.js} +1 -1
  527. package/cjs/chunks/bundle-Bcw-YfFm.js.map +1 -0
  528. package/cjs/chunks/{bundle-CE-VoGP-.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-vDWY1z2Z.js → bundle-BrAZmQ3O.js} +3 -3
  533. package/cjs/chunks/bundle-BrAZmQ3O.js.map +1 -0
  534. package/cjs/chunks/{bundle-eQiz8T6M.js → bundle-BreYBYIV.js} +35 -35
  535. package/cjs/chunks/{bundle-eQiz8T6M.js.map → bundle-BreYBYIV.js.map} +1 -1
  536. package/cjs/chunks/{bundle-D8mb0bUY.js → bundle-Buar9ys-.js} +9 -9
  537. package/cjs/chunks/{bundle-D8mb0bUY.js.map → bundle-Buar9ys-.js.map} +1 -1
  538. package/cjs/chunks/{bundle-DDkOZQii.js → bundle-Bwhgb7dL.js} +1 -1
  539. package/cjs/chunks/bundle-Bwhgb7dL.js.map +1 -0
  540. package/cjs/chunks/{bundle-D9x3No8L.js → bundle-BzJwE_My.js} +97 -78
  541. package/{chunks/bundle-yJIT2XDk.js.map → cjs/chunks/bundle-BzJwE_My.js.map} +1 -1
  542. package/cjs/chunks/{bundle-TEBEFl6a.js → bundle-C0QyatLj.js} +6 -6
  543. package/cjs/chunks/bundle-C0QyatLj.js.map +1 -0
  544. package/cjs/chunks/{bundle-BJYfQ4s4.js → bundle-C8s_p9Hf.js} +7 -7
  545. package/cjs/chunks/bundle-C8s_p9Hf.js.map +1 -0
  546. package/cjs/chunks/{bundle-QaZWYrEC.js → bundle-CArwk_DH.js} +1 -1
  547. package/cjs/chunks/bundle-CArwk_DH.js.map +1 -0
  548. package/cjs/chunks/{bundle-DoGdirRr.js → bundle-CBQxHnhS.js} +2 -2
  549. package/cjs/chunks/{bundle-DoGdirRr.js.map → bundle-CBQxHnhS.js.map} +1 -1
  550. package/cjs/chunks/{bundle-D3d1xmjt.js → bundle-CID8L5Tq.js} +26 -16
  551. package/cjs/chunks/bundle-CID8L5Tq.js.map +1 -0
  552. package/cjs/chunks/{bundle-B4XlG9FO.js → bundle-CIgMOlz1.js} +2 -2
  553. package/cjs/chunks/bundle-CIgMOlz1.js.map +1 -0
  554. package/cjs/chunks/{bundle-C29AY54U.js → bundle-CIn5419q.js} +10 -10
  555. package/cjs/chunks/bundle-CIn5419q.js.map +1 -0
  556. package/cjs/chunks/{bundle-CPuSTw7t.js → bundle-CXWT21Ur.js} +2 -2
  557. package/cjs/chunks/bundle-CXWT21Ur.js.map +1 -0
  558. package/cjs/chunks/{bundle-BffvsF9C.js → bundle-CXeHa80f.js} +4 -4
  559. package/cjs/chunks/bundle-CXeHa80f.js.map +1 -0
  560. package/cjs/chunks/{bundle-BeQdqOWX.js → bundle-CZmT_dIf.js} +1 -1
  561. package/cjs/chunks/bundle-CZmT_dIf.js.map +1 -0
  562. package/cjs/chunks/{bundle-mPsaH5U9.js → bundle-CdalwlxE.js} +4 -4
  563. package/cjs/chunks/bundle-CdalwlxE.js.map +1 -0
  564. package/cjs/chunks/{bundle-UHQZNGhZ.js → bundle-CeCg868O.js} +1 -1
  565. package/cjs/chunks/bundle-CeCg868O.js.map +1 -0
  566. package/cjs/chunks/{bundle-B5ue2ic0.js → bundle-CgDPAVTm.js} +4 -4
  567. package/cjs/chunks/bundle-CgDPAVTm.js.map +1 -0
  568. package/cjs/chunks/{bundle-Bjb4mIZC.js → bundle-ClT0IexP.js} +4 -4
  569. package/cjs/chunks/bundle-ClT0IexP.js.map +1 -0
  570. package/cjs/chunks/{bundle-CDa_AAan.js → bundle-CoU1-PYo.js} +3 -3
  571. package/cjs/chunks/bundle-CoU1-PYo.js.map +1 -0
  572. package/cjs/chunks/{bundle-B6wPJMBO.js → bundle-CofqAAwu.js} +9 -9
  573. package/cjs/chunks/{bundle-B6wPJMBO.js.map → bundle-CofqAAwu.js.map} +1 -1
  574. package/cjs/chunks/{bundle-CupeqF2S.js → bundle-CsVrpeSa.js} +222 -149
  575. package/cjs/chunks/bundle-CsVrpeSa.js.map +1 -0
  576. package/cjs/chunks/{bundle-CNxWQqoS.js → bundle-CskFALvU.js} +24 -6
  577. package/cjs/chunks/{bundle-CNxWQqoS.js.map → bundle-CskFALvU.js.map} +1 -1
  578. package/cjs/chunks/{bundle-CuVdJwKh.js → bundle-CtIVPWwX.js} +5 -5
  579. package/cjs/chunks/bundle-CtIVPWwX.js.map +1 -0
  580. package/cjs/chunks/{bundle-Cco0Civb.js → bundle-CxHNqGL1.js} +12 -12
  581. package/cjs/chunks/{bundle-Cco0Civb.js.map → bundle-CxHNqGL1.js.map} +1 -1
  582. package/cjs/chunks/{bundle-BgLRyBNQ.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-Dwls0-Q0.js → bundle-D-_6Kk3L.js} +6 -2
  587. package/cjs/chunks/bundle-D-_6Kk3L.js.map +1 -0
  588. package/cjs/chunks/{bundle-5VhZKYIJ.js → bundle-D4-t2BcI.js} +1 -1
  589. package/cjs/chunks/bundle-D4-t2BcI.js.map +1 -0
  590. package/cjs/chunks/{bundle-CCpd42nC.js → bundle-D4QmbyQp.js} +2 -2
  591. package/cjs/chunks/bundle-D4QmbyQp.js.map +1 -0
  592. package/cjs/chunks/{bundle-D64wX3ZA.js → bundle-D5X7fpcq.js} +2 -4
  593. package/cjs/chunks/bundle-D5X7fpcq.js.map +1 -0
  594. package/cjs/chunks/{bundle-Czw_qpiM.js → bundle-D8gpRIxO.js} +1 -1
  595. package/cjs/chunks/bundle-D8gpRIxO.js.map +1 -0
  596. package/cjs/chunks/{bundle-8rTW0vfg.js → bundle-DDUAkmTu.js} +1 -1
  597. package/cjs/chunks/bundle-DDUAkmTu.js.map +1 -0
  598. package/cjs/chunks/{bundle-Cc0re38P.js → bundle-DEaaC1ah.js} +1 -1
  599. package/cjs/chunks/bundle-DEaaC1ah.js.map +1 -0
  600. package/cjs/chunks/{bundle-AHixe4ku.js → bundle-DGYb2_L_.js} +6 -6
  601. package/cjs/chunks/bundle-DGYb2_L_.js.map +1 -0
  602. package/cjs/chunks/{bundle-D34myP8B.js → bundle-DHLpqx03.js} +8 -8
  603. package/cjs/chunks/bundle-DHLpqx03.js.map +1 -0
  604. package/cjs/chunks/{bundle-BNq5tPbD.js → bundle-DHOzCMYH.js} +61 -16
  605. package/cjs/chunks/bundle-DHOzCMYH.js.map +1 -0
  606. package/cjs/chunks/{bundle-Dr8s7l1j.js → bundle-DKZYkV6h.js} +4 -4
  607. package/cjs/chunks/bundle-DKZYkV6h.js.map +1 -0
  608. package/cjs/chunks/{bundle-Bpc04WVm.js → bundle-DS7dko_G.js} +1 -1
  609. package/cjs/chunks/{bundle-Bpc04WVm.js.map → bundle-DS7dko_G.js.map} +1 -1
  610. package/cjs/chunks/{bundle-B5DI1itX.js → bundle-DUmpUM6Z.js} +1 -1
  611. package/cjs/chunks/bundle-DUmpUM6Z.js.map +1 -0
  612. package/cjs/chunks/{bundle-Dz379Vmq.js → bundle-DZN-28o5.js} +1 -1
  613. package/cjs/chunks/bundle-DZN-28o5.js.map +1 -0
  614. package/cjs/chunks/{bundle-DmR0_slE.js → bundle-DaeRuO3M.js} +77 -47
  615. package/cjs/chunks/bundle-DaeRuO3M.js.map +1 -0
  616. package/cjs/chunks/{bundle-BE_0v0fP.js → bundle-DgHpd49A.js} +9 -11
  617. package/cjs/chunks/bundle-DgHpd49A.js.map +1 -0
  618. package/cjs/chunks/{bundle-Dr1OK02d.js → bundle-DnOJJX7f.js} +1 -1
  619. package/cjs/chunks/bundle-DnOJJX7f.js.map +1 -0
  620. package/cjs/chunks/{bundle-U6Y2jYcy.js → bundle-DogWmRlf.js} +33 -22
  621. package/{chunks/bundle-C5JanUlq.js.map → cjs/chunks/bundle-DogWmRlf.js.map} +1 -1
  622. package/cjs/chunks/{bundle-BVWhTr3J.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-DTcOyI0C.js → bundle-DwLWArJq.js} +2 -2
  627. package/cjs/chunks/bundle-DwLWArJq.js.map +1 -0
  628. package/cjs/chunks/{bundle-BPerQ7Nn.js → bundle-DxZzcGya.js} +3 -3
  629. package/{chunks/bundle-D4as5hKh.js.map → cjs/chunks/bundle-DxZzcGya.js.map} +1 -1
  630. package/cjs/chunks/{bundle-VjeTD0aT.js → bundle-FGb-8cIo.js} +14 -14
  631. package/cjs/chunks/bundle-FGb-8cIo.js.map +1 -0
  632. package/cjs/chunks/{bundle-lblAS-IJ.js → bundle-FVds7Nnw.js} +7 -7
  633. package/cjs/chunks/bundle-FVds7Nnw.js.map +1 -0
  634. package/cjs/chunks/bundle-Hqqb920S.js +120 -0
  635. package/cjs/chunks/bundle-Hqqb920S.js.map +1 -0
  636. package/cjs/chunks/{bundle-BcQ3ko6U.js → bundle-IobNGCyV.js} +3 -3
  637. package/cjs/chunks/bundle-IobNGCyV.js.map +1 -0
  638. package/cjs/chunks/{bundle-BleSzbM_.js → bundle-Iy7lVhfX.js} +20 -18
  639. package/cjs/chunks/bundle-Iy7lVhfX.js.map +1 -0
  640. package/cjs/chunks/{bundle-8fa3LqxP.js → bundle-Lc8Xpc4e.js} +1 -1
  641. package/cjs/chunks/bundle-Lc8Xpc4e.js.map +1 -0
  642. package/cjs/chunks/{bundle-DMG2AtFE.js → bundle-SlJSIlpP.js} +9 -9
  643. package/cjs/chunks/{bundle-DMG2AtFE.js.map → bundle-SlJSIlpP.js.map} +1 -1
  644. package/cjs/chunks/{bundle-Cj4QTkbo.js → bundle-_yh4eC6v.js} +8 -8
  645. package/{chunks/bundle-B_1lMJw7.js.map → cjs/chunks/bundle-_yh4eC6v.js.map} +1 -1
  646. package/cjs/chunks/{bundle-Dd2G9BuN.js → bundle-bmGcb273.js} +5 -5
  647. package/cjs/chunks/bundle-bmGcb273.js.map +1 -0
  648. package/cjs/chunks/{bundle--OptrnnH.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-Cm6xW6b-.js → bundle-iF1pW7_s.js} +2 -2
  653. package/cjs/chunks/bundle-iF1pW7_s.js.map +1 -0
  654. package/cjs/chunks/{bundle-DCE4aPIh.js → bundle-iWa9rWFV.js} +17 -8
  655. package/cjs/chunks/bundle-iWa9rWFV.js.map +1 -0
  656. package/cjs/chunks/{bundle-BO7CCDGO.js → bundle-iwIElqGP.js} +2 -2
  657. package/{chunks/bundle-CX6EYwvX.js.map → cjs/chunks/bundle-iwIElqGP.js.map} +1 -1
  658. package/cjs/chunks/{bundle-DXxZOPH7.js → bundle-jAsAzWpU.js} +1 -1
  659. package/cjs/chunks/{bundle-BE_0v0fP.js.map → bundle-jAsAzWpU.js.map} +1 -1
  660. package/cjs/chunks/{bundle-BI-qtSLE.js → bundle-mNJHRgJ3.js} +1 -1
  661. package/cjs/chunks/bundle-mNJHRgJ3.js.map +1 -0
  662. package/cjs/chunks/{bundle-DNRo8vQ6.js → bundle-mOGMtPz8.js} +1 -1
  663. package/cjs/chunks/bundle-mOGMtPz8.js.map +1 -0
  664. package/cjs/chunks/{bundle-6XexheFI.js → bundle-mVBmPsCD.js} +37 -37
  665. package/cjs/chunks/{bundle-6XexheFI.js.map → bundle-mVBmPsCD.js.map} +1 -1
  666. package/cjs/chunks/{bundle-BGGRSN-Z.js → bundle-npZxEXNX.js} +11 -11
  667. package/cjs/chunks/{bundle-BGGRSN-Z.js.map → bundle-npZxEXNX.js.map} +1 -1
  668. package/cjs/chunks/{bundle-BL3oBZ_9.js → bundle-on0zTbLT.js} +24 -28
  669. package/cjs/chunks/bundle-on0zTbLT.js.map +1 -0
  670. package/cjs/chunks/{bundle-DqS61Vd8.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 -467
  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 +2 -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 -466
  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-0zReDi7b.js.map +0 -1
  875. package/chunks/bundle-3JP5bt3Z.js.map +0 -1
  876. package/chunks/bundle-4FHXjC0T.js.map +0 -1
  877. package/chunks/bundle-B07oZGKu.js.map +0 -1
  878. package/chunks/bundle-B5yOEM4l.js.map +0 -1
  879. package/chunks/bundle-B7yb0nm6.js +0 -4
  880. package/chunks/bundle-B7yb0nm6.js.map +0 -1
  881. package/chunks/bundle-BDaOve18.js.map +0 -1
  882. package/chunks/bundle-BE6zj_MW.js.map +0 -1
  883. package/chunks/bundle-BMMEMc9R.js.map +0 -1
  884. package/chunks/bundle-BdqzVlr4.js.map +0 -1
  885. package/chunks/bundle-BrZWYj5G.js.map +0 -1
  886. package/chunks/bundle-C5IAP1zO.js.map +0 -1
  887. package/chunks/bundle-C7rLZX4P.js.map +0 -1
  888. package/chunks/bundle-CBhbbqeO.js.map +0 -1
  889. package/chunks/bundle-CC_Jz6mm.js.map +0 -1
  890. package/chunks/bundle-CD6CGxYu.js.map +0 -1
  891. package/chunks/bundle-CE8XZeIa.js.map +0 -1
  892. package/chunks/bundle-CH1SOYd0.js.map +0 -1
  893. package/chunks/bundle-CQJQkdjB.js.map +0 -1
  894. package/chunks/bundle-CTBJyV2C.js.map +0 -1
  895. package/chunks/bundle-CTVS7EpI.js.map +0 -1
  896. package/chunks/bundle-CTZdxGd-.js.map +0 -1
  897. package/chunks/bundle-CWhu5cnC.js.map +0 -1
  898. package/chunks/bundle-CdzKrMjw.js.map +0 -1
  899. package/chunks/bundle-CeLEEyFJ.js.map +0 -1
  900. package/chunks/bundle-CfGa1Ywx.js.map +0 -1
  901. package/chunks/bundle-CgAh8D8l.js.map +0 -1
  902. package/chunks/bundle-CjCG01vR.js.map +0 -1
  903. package/chunks/bundle-CmTULFbc.js.map +0 -1
  904. package/chunks/bundle-Cq01dsQs.js.map +0 -1
  905. package/chunks/bundle-D1MmNbfE.js.map +0 -1
  906. package/chunks/bundle-D3DfLeep.js.map +0 -1
  907. package/chunks/bundle-D67XuNKa.js.map +0 -1
  908. package/chunks/bundle-D8iL7lya.js.map +0 -1
  909. package/chunks/bundle-DCbF_EZ6.js.map +0 -1
  910. package/chunks/bundle-DCwgKOlw.js.map +0 -1
  911. package/chunks/bundle-DGZK0j-W.js.map +0 -1
  912. package/chunks/bundle-DKmGgarH.js.map +0 -1
  913. package/chunks/bundle-DNZm2aCn.js.map +0 -1
  914. package/chunks/bundle-DPFUYsH2.js.map +0 -1
  915. package/chunks/bundle-DUhFIvq0.js.map +0 -1
  916. package/chunks/bundle-DYbMoqiD.js.map +0 -1
  917. package/chunks/bundle-DajAePTd.js.map +0 -1
  918. package/chunks/bundle-DdGdUttq.js.map +0 -1
  919. package/chunks/bundle-DiKiLU8g.js.map +0 -1
  920. package/chunks/bundle-DmoshxdI.js.map +0 -1
  921. package/chunks/bundle-DoCZ7Yns.js.map +0 -1
  922. package/chunks/bundle-Dtcjhm7e.js.map +0 -1
  923. package/chunks/bundle-DvFk9hZu.js.map +0 -1
  924. package/chunks/bundle-K4xHiJfN.js.map +0 -1
  925. package/chunks/bundle-LKiKEQMD.js.map +0 -1
  926. package/chunks/bundle-MfWZwGxM.js.map +0 -1
  927. package/chunks/bundle-NRNsjiKk.js.map +0 -1
  928. package/chunks/bundle-QqMAlWsP.js.map +0 -1
  929. package/chunks/bundle-deCJFaXg.js.map +0 -1
  930. package/cjs/chunks/bundle--OptrnnH.js.map +0 -1
  931. package/cjs/chunks/bundle-2_6pbUrU.js.map +0 -1
  932. package/cjs/chunks/bundle-5VhZKYIJ.js.map +0 -1
  933. package/cjs/chunks/bundle-8fa3LqxP.js.map +0 -1
  934. package/cjs/chunks/bundle-8rTW0vfg.js.map +0 -1
  935. package/cjs/chunks/bundle-99j0pbE6.js.map +0 -1
  936. package/cjs/chunks/bundle-AHixe4ku.js.map +0 -1
  937. package/cjs/chunks/bundle-B4XlG9FO.js.map +0 -1
  938. package/cjs/chunks/bundle-B5DI1itX.js.map +0 -1
  939. package/cjs/chunks/bundle-B5ue2ic0.js.map +0 -1
  940. package/cjs/chunks/bundle-B7RDGS3d.js.map +0 -1
  941. package/cjs/chunks/bundle-BI-qtSLE.js.map +0 -1
  942. package/cjs/chunks/bundle-BJYfQ4s4.js.map +0 -1
  943. package/cjs/chunks/bundle-BL3oBZ_9.js.map +0 -1
  944. package/cjs/chunks/bundle-BL5M4yXI.js.map +0 -1
  945. package/cjs/chunks/bundle-BM_oajIx.js.map +0 -1
  946. package/cjs/chunks/bundle-BNq5tPbD.js.map +0 -1
  947. package/cjs/chunks/bundle-BO7CCDGO.js.map +0 -1
  948. package/cjs/chunks/bundle-BQFjw5g0.js.map +0 -1
  949. package/cjs/chunks/bundle-BVWhTr3J.js.map +0 -1
  950. package/cjs/chunks/bundle-BcQ3ko6U.js.map +0 -1
  951. package/cjs/chunks/bundle-BeQdqOWX.js.map +0 -1
  952. package/cjs/chunks/bundle-BffvsF9C.js.map +0 -1
  953. package/cjs/chunks/bundle-BgLRyBNQ.js.map +0 -1
  954. package/cjs/chunks/bundle-Bjb4mIZC.js.map +0 -1
  955. package/cjs/chunks/bundle-BleSzbM_.js.map +0 -1
  956. package/cjs/chunks/bundle-BwsikcS8.js.map +0 -1
  957. package/cjs/chunks/bundle-C29AY54U.js.map +0 -1
  958. package/cjs/chunks/bundle-C6JU7bHv.js +0 -7
  959. package/cjs/chunks/bundle-C6JU7bHv.js.map +0 -1
  960. package/cjs/chunks/bundle-CCWL4_Bj.js.map +0 -1
  961. package/cjs/chunks/bundle-CCpd42nC.js.map +0 -1
  962. package/cjs/chunks/bundle-CDa_AAan.js.map +0 -1
  963. package/cjs/chunks/bundle-CE-VoGP-.js.map +0 -1
  964. package/cjs/chunks/bundle-CPuSTw7t.js.map +0 -1
  965. package/cjs/chunks/bundle-Cc0re38P.js.map +0 -1
  966. package/cjs/chunks/bundle-CdZGTXx9.js.map +0 -1
  967. package/cjs/chunks/bundle-Cm6xW6b-.js.map +0 -1
  968. package/cjs/chunks/bundle-CnoOxWnY.js.map +0 -1
  969. package/cjs/chunks/bundle-CuVdJwKh.js.map +0 -1
  970. package/cjs/chunks/bundle-CupeqF2S.js.map +0 -1
  971. package/cjs/chunks/bundle-Czw_qpiM.js.map +0 -1
  972. package/cjs/chunks/bundle-D34myP8B.js.map +0 -1
  973. package/cjs/chunks/bundle-D64wX3ZA.js.map +0 -1
  974. package/cjs/chunks/bundle-D9Wy18VM.js.map +0 -1
  975. package/cjs/chunks/bundle-DDkOZQii.js.map +0 -1
  976. package/cjs/chunks/bundle-DFv16RSR.js.map +0 -1
  977. package/cjs/chunks/bundle-DNRo8vQ6.js.map +0 -1
  978. package/cjs/chunks/bundle-DTcOyI0C.js.map +0 -1
  979. package/cjs/chunks/bundle-DXxZOPH7.js.map +0 -1
  980. package/cjs/chunks/bundle-Dd2G9BuN.js.map +0 -1
  981. package/cjs/chunks/bundle-DqS61Vd8.js.map +0 -1
  982. package/cjs/chunks/bundle-DqSg-zio.js.map +0 -1
  983. package/cjs/chunks/bundle-Dr1OK02d.js.map +0 -1
  984. package/cjs/chunks/bundle-Dr8s7l1j.js.map +0 -1
  985. package/cjs/chunks/bundle-DvYB_ALf.js.map +0 -1
  986. package/cjs/chunks/bundle-Dwls0-Q0.js.map +0 -1
  987. package/cjs/chunks/bundle-Dz379Vmq.js.map +0 -1
  988. package/cjs/chunks/bundle-QaZWYrEC.js.map +0 -1
  989. package/cjs/chunks/bundle-TEBEFl6a.js.map +0 -1
  990. package/cjs/chunks/bundle-UHQZNGhZ.js.map +0 -1
  991. package/cjs/chunks/bundle-VjeTD0aT.js.map +0 -1
  992. package/cjs/chunks/bundle-cTlYBGMg.js.map +0 -1
  993. package/cjs/chunks/bundle-cWZTmuuh.js.map +0 -1
  994. package/cjs/chunks/bundle-lblAS-IJ.js.map +0 -1
  995. package/cjs/chunks/bundle-mPsaH5U9.js.map +0 -1
  996. package/cjs/chunks/bundle-oeZ9Mu_e.js.map +0 -1
  997. package/cjs/chunks/bundle-vDWY1z2Z.js.map +0 -1
@@ -0,0 +1,714 @@
1
+ 'use strict';
2
+
3
+ var _tslib = require('./bundle-jAsAzWpU.js');
4
+ var React = require('react');
5
+ var _const$1 = require('./bundle-BSEj3ItE.js');
6
+ var _const = require('./bundle-CeCg868O.js');
7
+ var ui_IconButton = require('../ui/IconButton.js');
8
+ var ui_Button = require('../ui/Button.js');
9
+ var ui_MessageInput_hooks_usePaste = require('./bundle-DHOzCMYH.js');
10
+ var ui_Icon = require('../ui/Icon.js');
11
+ var ui_Label = require('./bundle-DxZzcGya.js');
12
+ var LocalizationContext = require('./bundle-ClT0IexP.js');
13
+ var index$1 = require('./bundle-CskFALvU.js');
14
+ var tokenize = require('./bundle-iwIElqGP.js');
15
+ var index = require('./bundle-DvHjgbFi.js');
16
+ var utils = require('./bundle-1F9guuKw.js');
17
+ var browser = require('./bundle-BVn2UMtk.js');
18
+ var useSendbird = require('./bundle-on0zTbLT.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
+ var ELLIPSIS = '...';
25
+ /**
26
+ * Truncate `filename` to fit within `maxChars` by inserting `...` near the
27
+ * middle while preserving the file extension. If the filename already fits,
28
+ * returns it unchanged. If the extension alone exceeds the budget, the
29
+ * extension is dropped and the head is truncated.
30
+ *
31
+ * The utility operates on Unicode code points (after NFC normalization), so
32
+ * Hangul syllables stay intact even when the input is decomposed jamo (as
33
+ * macOS produces), and surrogate pairs (emoji, supplementary CJK) are never
34
+ * split. The caller is responsible for picking a `maxChars` that fits the
35
+ * rendered container.
36
+ *
37
+ * Examples:
38
+ * truncateMiddleKeepExtension('File-name-is-too-long.pdf', 14) -> 'File...ong.pdf'
39
+ * truncateMiddleKeepExtension('short.pdf', 14) -> 'short.pdf'
40
+ * truncateMiddleKeepExtension('noextension', 14) -> 'noextension'
41
+ * truncateMiddleKeepExtension('verylong.tar.gz', 10) -> 've...tar.gz'
42
+ * truncateMiddleKeepExtension('long', 3) -> '...'
43
+ */
44
+ function truncateMiddleKeepExtension(filename, maxChars) {
45
+ if (maxChars <= 0)
46
+ return '';
47
+ var normalized = filename.normalize('NFC');
48
+ var chars = Array.from(normalized);
49
+ if (chars.length <= maxChars)
50
+ return normalized;
51
+ if (maxChars <= ELLIPSIS.length)
52
+ return ELLIPSIS.slice(0, maxChars);
53
+ var dotIdx = chars.lastIndexOf('.');
54
+ var hasExtension = dotIdx > 0 && dotIdx < chars.length - 1;
55
+ if (!hasExtension) {
56
+ return chars.slice(0, maxChars - ELLIPSIS.length).join('') + ELLIPSIS;
57
+ }
58
+ var extChars = chars.slice(dotIdx);
59
+ var baseChars = chars.slice(0, dotIdx);
60
+ var baseBudget = maxChars - ELLIPSIS.length - extChars.length;
61
+ if (baseBudget <= 0) {
62
+ return chars.slice(0, maxChars - ELLIPSIS.length).join('') + ELLIPSIS;
63
+ }
64
+ var headLen = Math.ceil(baseBudget / 2);
65
+ var tailLen = baseBudget - headLen;
66
+ return baseChars.slice(0, headLen).join('')
67
+ + ELLIPSIS
68
+ + (tailLen > 0 ? baseChars.slice(baseChars.length - tailLen).join('') : '')
69
+ + extChars.join('');
70
+ }
71
+
72
+ var META_WIDTH_PX = 108;
73
+ var FILENAME_FONT = '700 14px Roboto, sans-serif';
74
+ function fitFilenameToWidth(filename) {
75
+ if (typeof document === 'undefined')
76
+ return filename;
77
+ var ctx = document.createElement('canvas').getContext('2d');
78
+ if (!ctx)
79
+ return filename;
80
+ ctx.font = FILENAME_FONT;
81
+ if (ctx.measureText(filename).width <= META_WIDTH_PX)
82
+ return filename;
83
+ var lo = 3;
84
+ var hi = filename.length;
85
+ var best = '...';
86
+ while (lo <= hi) {
87
+ var mid = (lo + hi) >> 1;
88
+ var candidate = truncateMiddleKeepExtension(filename, mid);
89
+ if (ctx.measureText(candidate).width <= META_WIDTH_PX) {
90
+ best = candidate;
91
+ lo = mid + 1;
92
+ }
93
+ else {
94
+ hi = mid - 1;
95
+ }
96
+ }
97
+ return best;
98
+ }
99
+ /** Extract the uppercased extension from the filename, falling back to a
100
+ * localized "FILE" label when no extension is present. */
101
+ function getExtensionLabel(filename, fallback) {
102
+ var dotIdx = filename.lastIndexOf('.');
103
+ if (dotIdx <= 0 || dotIdx === filename.length - 1)
104
+ return fallback;
105
+ return filename.slice(dotIdx + 1).toUpperCase();
106
+ }
107
+ /**
108
+ * Card representation of a non-image pending file in the composer. Used in
109
+ * place of the square image thumbnail when `pendingFile.isImage` is false.
110
+ * The card shows a generic file icon, the (middle-truncated) filename, and
111
+ * the uppercased extension label.
112
+ */
113
+ var PendingFileCard = function (_a) {
114
+ var pendingFile = _a.pendingFile, onRemove = _a.onRemove;
115
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
116
+ var id = pendingFile.id, file = pendingFile.file;
117
+ var displayName = React.useMemo(function () { return fitFilenameToWidth(file.name); }, [file.name]);
118
+ var extLabel = getExtensionLabel(file.name, stringSet.MESSAGE_INPUT__PENDING_FILE__TYPE_UNKNOWN);
119
+ return (React__default.default.createElement("div", { className: "sendbird-message-input__pending-card", "data-testid": "sendbird-pending-file" },
120
+ React__default.default.createElement("div", { className: "sendbird-message-input__pending-card__body" },
121
+ React__default.default.createElement("div", { className: "sendbird-message-input__pending-card__icon" },
122
+ React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.FILE_DOCUMENT, fillColor: ui_Icon.IconColors.PRIMARY, width: "24px", height: "24px" })),
123
+ React__default.default.createElement("div", { className: "sendbird-message-input__pending-card__meta" },
124
+ React__default.default.createElement(ui_Label.Label, { className: "sendbird-message-input__pending-card__name", type: ui_Label.LabelTypography.CAPTION_1, color: ui_Label.LabelColors.ONBACKGROUND_1 }, displayName),
125
+ React__default.default.createElement(ui_Label.Label, { className: "sendbird-message-input__pending-card__type", type: ui_Label.LabelTypography.CAPTION_2, color: ui_Label.LabelColors.ONBACKGROUND_2 }, extLabel))),
126
+ React__default.default.createElement("button", { type: "button", className: "sendbird-message-input__pending-card__remove", "aria-label": stringSet.MESSAGE_INPUT__PENDING_FILE__REMOVE, onClick: function () { return onRemove(id); } },
127
+ React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.REMOVE, width: "22px", height: "22px" }))));
128
+ };
129
+
130
+ /**
131
+ * Renders one staged file in the composer. Images get a square thumbnail with
132
+ * a corner remove button; non-images delegate to PendingFileCard, which
133
+ * shows a horizontal card with icon + filename + uppercased extension.
134
+ */
135
+ var PendingFileItem = function (_a) {
136
+ var pendingFile = _a.pendingFile, onRemove = _a.onRemove;
137
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
138
+ var id = pendingFile.id, file = pendingFile.file, previewUrl = pendingFile.previewUrl, isImage = pendingFile.isImage;
139
+ var _b = React.useState(false), imageLoaded = _b[0], setImageLoaded = _b[1];
140
+ if (!isImage) {
141
+ return React__default.default.createElement(PendingFileCard, { pendingFile: pendingFile, onRemove: onRemove });
142
+ }
143
+ return (React__default.default.createElement("div", { className: "sendbird-message-input__pending-file", "data-testid": "sendbird-pending-file" },
144
+ React__default.default.createElement("div", { className: "sendbird-message-input__pending-file__thumbnail" },
145
+ previewUrl && (React__default.default.createElement("img", { className: "sendbird-message-input__pending-file__image", src: previewUrl, alt: file.name, onLoad: function () { return setImageLoaded(true); } })),
146
+ !imageLoaded && (React__default.default.createElement("div", { className: "sendbird-message-input__pending-file__image-placeholder" },
147
+ React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.PHOTO, fillColor: ui_Icon.IconColors.ON_BACKGROUND_2, width: "32px", height: "32px" }))),
148
+ React__default.default.createElement("button", { type: "button", className: "sendbird-message-input__pending-file__remove", "aria-label": stringSet.MESSAGE_INPUT__PENDING_FILE__REMOVE, onClick: function () { return onRemove(id); } },
149
+ React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.REMOVE, width: "22px", height: "22px" })))));
150
+ };
151
+
152
+ var PendingFilesPreview = function (_a) {
153
+ var pendingFiles = _a.pendingFiles, onRemove = _a.onRemove, className = _a.className;
154
+ var containerRef = React.useRef(null);
155
+ var prevCountRef = React.useRef(pendingFiles.length);
156
+ React.useEffect(function () {
157
+ var el = containerRef.current;
158
+ if (!el)
159
+ return undefined;
160
+ var onWheel = function (e) {
161
+ if (el.scrollWidth <= el.clientWidth)
162
+ return;
163
+ if (e.deltaY === 0 || Math.abs(e.deltaX) >= Math.abs(e.deltaY))
164
+ return;
165
+ e.preventDefault();
166
+ el.scrollLeft += e.deltaY;
167
+ };
168
+ el.addEventListener('wheel', onWheel, { passive: false });
169
+ return function () { return el.removeEventListener('wheel', onWheel); };
170
+ }, []);
171
+ React.useEffect(function () {
172
+ var el = containerRef.current;
173
+ if (!el)
174
+ return;
175
+ if (pendingFiles.length > prevCountRef.current) {
176
+ el.scrollTo({ left: el.scrollWidth, behavior: 'smooth' });
177
+ }
178
+ prevCountRef.current = pendingFiles.length;
179
+ }, [pendingFiles.length]);
180
+ if (pendingFiles.length === 0)
181
+ return null;
182
+ var classNames = ['sendbird-message-input__pending-preview', className].filter(Boolean).join(' ');
183
+ return (React__default.default.createElement("div", { ref: containerRef, className: classNames, "data-testid": "sendbird-pending-files-preview", role: "list" }, pendingFiles.map(function (entry) { return (React__default.default.createElement(PendingFileItem, { key: entry.id, pendingFile: entry, onRemove: onRemove })); })));
184
+ };
185
+
186
+ /**
187
+ * FIXME:
188
+ * Import this ChannelType enum from @sendbird/chat
189
+ * once MessageInput.spec unit tests can be run \wo jest <-> ESM issue
190
+ */
191
+ var ChannelType;
192
+ (function (ChannelType) {
193
+ ChannelType["BASE"] = "base";
194
+ ChannelType["GROUP"] = "group";
195
+ ChannelType["OPEN"] = "open";
196
+ })(ChannelType || (ChannelType = {}));
197
+ /**
198
+ * FIXME: Simplify this in UIKit@v4
199
+ * If customer is using MessageInput inside our modules(ie: Channel, Thread, etc),
200
+ * we should use the config from the module.
201
+ * If customer is using MessageInput outside our modules(ie: custom UI),
202
+ * we expect Channel to be undefined and customer gets control to show/hide file-upload.
203
+ * @param {*} channel GroupChannel | OpenChannel
204
+ * @param {*} config SendbirdStateConfig
205
+ * @returns boolean
206
+ */
207
+ var checkIfFileUploadEnabled = function (_a) {
208
+ var channel = _a.channel, config = _a.config;
209
+ var isEnabled = index.K(channel === null || channel === void 0 ? void 0 : channel.channelType)
210
+ .with(ChannelType.GROUP, function () { var _a; return (_a = config === null || config === void 0 ? void 0 : config.groupChannel) === null || _a === void 0 ? void 0 : _a.enableDocument; })
211
+ .with(ChannelType.OPEN, function () { var _a; return (_a = config === null || config === void 0 ? void 0 : config.openChannel) === null || _a === void 0 ? void 0 : _a.enableDocument; })
212
+ .otherwise(function () { return true; });
213
+ return isEnabled;
214
+ };
215
+
216
+ var TEXT_FIELD_ID = 'sendbird-message-input-text-field';
217
+ var noop = function () {
218
+ return null;
219
+ };
220
+ var resetInput = function (ref) {
221
+ if (ref && ref.current) {
222
+ ref.current.innerHTML = '';
223
+ }
224
+ };
225
+ var getTextContentWithoutZeroWidthSpace = function (node) {
226
+ var _a;
227
+ return ui_MessageInput_hooks_usePaste.stripZeroWidthSpace((_a = node === null || node === void 0 ? void 0 : node.textContent) !== null && _a !== void 0 ? _a : '');
228
+ };
229
+ var hasTextContentWithoutZeroWidthSpace = function (node) {
230
+ return getTextContentWithoutZeroWidthSpace(node).trim().length > 0;
231
+ };
232
+ var initialTargetStringInfo = {
233
+ targetString: '',
234
+ startNodeIndex: null,
235
+ startOffsetIndex: null,
236
+ endNodeIndex: null,
237
+ endOffsetIndex: null,
238
+ };
239
+ var MessageInput = React__default.default.forwardRef(function (props, externalRef) {
240
+ var _a;
241
+ var channel = props.channel, _b = props.className, className = _b === void 0 ? '' : _b, _c = props.messageFieldId, messageFieldId = _c === void 0 ? '' : _c, _d = props.isEdit, isEdit = _d === void 0 ? false : _d, _e = props.isMobile, isMobile = _e === void 0 ? false : _e, _f = props.isMentionEnabled, isMentionEnabled = _f === void 0 ? false : _f, _g = props.isVoiceMessageEnabled, isVoiceMessageEnabled = _g === void 0 ? true : _g, _h = props.isSelectingMultipleFilesEnabled, isSelectingMultipleFilesEnabled = _h === void 0 ? false : _h, _j = props.disabled, disabled = _j === void 0 ? false : _j, _k = props.message, message = _k === void 0 ? null : _k, _l = props.placeholder, placeholder = _l === void 0 ? '' : _l, _m = props.maxLength, maxLength = _m === void 0 ? 5000 : _m, _o = props.onFileUpload, onFileUpload = _o === void 0 ? noop : _o, _p = props.onSendMessage, onSendMessage = _p === void 0 ? noop : _p, _q = props.onUpdateMessage, onUpdateMessage = _q === void 0 ? noop : _q, _r = props.onCancelEdit, onCancelEdit = _r === void 0 ? noop : _r, _s = props.onStartTyping, onStartTyping = _s === void 0 ? noop : _s, _t = props.onStopTyping, onStopTyping = _t === void 0 ? noop : _t, _u = props.channelUrl, channelUrl = _u === void 0 ? '' : _u, _v = props.mentionSelectedUser, mentionSelectedUser = _v === void 0 ? null : _v, _w = props.onUserMentioned, onUserMentioned = _w === void 0 ? noop : _w, _x = props.onMentionStringChange, onMentionStringChange = _x === void 0 ? noop : _x, _y = props.onMentionedUserIdsUpdated, onMentionedUserIdsUpdated = _y === void 0 ? noop : _y, _z = props.onVoiceMessageIconClick, onVoiceMessageIconClick = _z === void 0 ? noop : _z, _0 = props.onKeyUp, onKeyUp = _0 === void 0 ? noop : _0, _1 = props.onKeyDown, onKeyDown = _1 === void 0 ? noop : _1, _2 = props.renderFileUploadIcon, renderFileUploadIcon = _2 === void 0 ? noop : _2, _3 = props.renderVoiceMessageIcon, renderVoiceMessageIcon = _3 === void 0 ? noop : _3, _4 = props.renderSendMessageIcon, renderSendMessageIcon = _4 === void 0 ? noop : _4, _5 = props.setMentionedUsers, setMentionedUsers = _5 === void 0 ? noop : _5, acceptableMimeTypes = props.acceptableMimeTypes, pendingFiles = props.pendingFiles, onAddFiles = props.onAddFiles, onRemoveFile = props.onRemoveFile, onSubmit = props.onSubmit;
242
+ var isComposerMode = typeof onAddFiles === 'function';
243
+ var hasPendingFiles = ((_a = pendingFiles === null || pendingFiles === void 0 ? void 0 : pendingFiles.length) !== null && _a !== void 0 ? _a : 0) > 0;
244
+ var internalRef = (externalRef && 'current' in externalRef) ? externalRef : React.useRef(null);
245
+ var ghostInputRef = React.useRef(null);
246
+ var wasTypingRef = React.useRef(false);
247
+ var textFieldId = messageFieldId || TEXT_FIELD_ID;
248
+ var stringSet = LocalizationContext.useLocalization().stringSet;
249
+ var _6 = useSendbird.useSendbird().state, config = _6.config, eventHandlers = _6.eventHandlers;
250
+ var isFileUploadEnabled = checkIfFileUploadEnabled({
251
+ channel: channel,
252
+ config: config,
253
+ });
254
+ // Gate paste/DnD/picker on the same enableDocument flag that hides the
255
+ // attach icon — otherwise feature-flag-disabled environments leak files in.
256
+ // Also gate on !isEdit: today no edit-mode caller passes composer props, but
257
+ // if one did, staged files would have nowhere to go (Send is replaced by
258
+ // Cancel/Save). Belt-and-suspenders.
259
+ var fileProducerEnabled = isComposerMode && isFileUploadEnabled && !disabled && !isEdit;
260
+ var guardedAddFiles = React.useCallback(function (incoming) {
261
+ if (!fileProducerEnabled || !onAddFiles)
262
+ return;
263
+ if (incoming.length === 0)
264
+ return;
265
+ onAddFiles(incoming);
266
+ }, [fileProducerEnabled, onAddFiles]);
267
+ var fileInputRef = React.useRef();
268
+ var _7 = React.useState(false), isInput = _7[0], setIsInput = _7[1];
269
+ var _8 = React.useState([]), mentionedUserIds = _8[0], setMentionedUserIds = _8[1];
270
+ var _9 = React.useState(_tslib.__assign({}, initialTargetStringInfo)), targetStringInfo = _9[0], setTargetStringInfo = _9[1];
271
+ // #Edit mode
272
+ // for easily initialize input value from outside, but
273
+ // useEffect(_, [channelUrl]) erase it
274
+ var initialValue = props === null || props === void 0 ? void 0 : props.value;
275
+ React.useEffect(function () {
276
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
277
+ setMentionedUserIds([]);
278
+ setIsInput(hasTextContentWithoutZeroWidthSpace(textField));
279
+ }, [initialValue]);
280
+ var stashedHtmlRef = React.useRef('');
281
+ var prevHasPendingFilesRef = React.useRef(false);
282
+ // #Mention | Clear input value when channel changes
283
+ React.useEffect(function () {
284
+ if (!isEdit) {
285
+ setIsInput(false);
286
+ resetInput(internalRef);
287
+ wasTypingRef.current = false;
288
+ stashedHtmlRef.current = '';
289
+ }
290
+ }, [channelUrl]);
291
+ React.useEffect(function () {
292
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
293
+ if (!textField) {
294
+ prevHasPendingFilesRef.current = hasPendingFiles;
295
+ return;
296
+ }
297
+ if (hasPendingFiles && !prevHasPendingFilesRef.current) {
298
+ if (hasTextContentWithoutZeroWidthSpace(textField)) {
299
+ stashedHtmlRef.current = textField.innerHTML;
300
+ resetInput(internalRef);
301
+ setIsInput(false);
302
+ }
303
+ textField.focus();
304
+ }
305
+ else if (!hasPendingFiles && prevHasPendingFilesRef.current) {
306
+ if (stashedHtmlRef.current) {
307
+ textField.innerHTML = stashedHtmlRef.current;
308
+ stashedHtmlRef.current = '';
309
+ setIsInput(true);
310
+ }
311
+ }
312
+ prevHasPendingFilesRef.current = hasPendingFiles;
313
+ }, [hasPendingFiles]);
314
+ // #Mention & #Edit | Fill message input values
315
+ React.useEffect(function () {
316
+ var _a;
317
+ if (isEdit && (message === null || message === void 0 ? void 0 : message.messageId)) {
318
+ // const textField = document.getElementById(textFieldId);
319
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
320
+ if (isMentionEnabled
321
+ && (message === null || message === void 0 ? void 0 : message.mentionedUsers)
322
+ && message.mentionedUsers.length > 0
323
+ && (message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate)
324
+ && message.mentionedMessageTemplate.length > 0) {
325
+ /* mention enabled */
326
+ var _b = message.mentionedUsers, mentionedUsers_1 = _b === void 0 ? [] : _b;
327
+ var tokens = tokenize.tokenizeMessage({
328
+ messageText: message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate,
329
+ mentionedUsers: mentionedUsers_1,
330
+ includeMarkdown: channel.isGroupChannel() && config.groupChannel.enableMarkdownForUserMessage,
331
+ });
332
+ if (textField) {
333
+ textField.innerHTML = tokens
334
+ .map(function (token) {
335
+ if (token.type === tokenize.TOKEN_TYPES.mention) {
336
+ var mentionedUser = mentionedUsers_1.find(function (user) { return user.userId === token.userId; });
337
+ var nickname = "".concat(tokenize.USER_MENTION_PREFIX).concat((mentionedUser === null || mentionedUser === void 0 ? void 0 : mentionedUser.nickname) || token.value || stringSet.MENTION_NAME__NO_NAME);
338
+ return ui_MessageInput_hooks_usePaste.renderToString({
339
+ userId: token.userId,
340
+ nickname: nickname,
341
+ });
342
+ }
343
+ return ui_MessageInput_hooks_usePaste.sanitizeString(token.value);
344
+ })
345
+ .join('');
346
+ }
347
+ }
348
+ else {
349
+ /* mention disabled */
350
+ try {
351
+ if (textField) {
352
+ textField.innerHTML = (_a = ui_MessageInput_hooks_usePaste.sanitizeString(message === null || message === void 0 ? void 0 : message.message)) !== null && _a !== void 0 ? _a : '';
353
+ }
354
+ }
355
+ catch (_c) {
356
+ //
357
+ }
358
+ setMentionedUserIds([]);
359
+ }
360
+ setIsInput(hasTextContentWithoutZeroWidthSpace(textField));
361
+ }
362
+ }, [isEdit, message]);
363
+ // #Mention | Detect MentionedLabel modified
364
+ var useMentionedLabelDetection = React.useCallback(function () {
365
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
366
+ if (isMentionEnabled && textField) {
367
+ var newMentionedUserIds = Array.from(textField.getElementsByClassName('sendbird-mention-user-label')).map(
368
+ // @ts-ignore
369
+ function (node) { var _a; return (_a = node === null || node === void 0 ? void 0 : node.dataset) === null || _a === void 0 ? void 0 : _a.userid; });
370
+ if (!index$1.arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {
371
+ onMentionedUserIdsUpdated(newMentionedUserIds);
372
+ setMentionedUserIds(newMentionedUserIds);
373
+ }
374
+ }
375
+ setIsInput(hasTextContentWithoutZeroWidthSpace(textField));
376
+ }, [targetStringInfo, isMentionEnabled]);
377
+ // #Mention | Replace selected user nickname to the MentionedUserLabel
378
+ React.useEffect(function () {
379
+ var _a, _b, _c, _d;
380
+ if (isMentionEnabled && mentionSelectedUser) {
381
+ var targetString = targetStringInfo.targetString, startNodeIndex = targetStringInfo.startNodeIndex, startOffsetIndex = targetStringInfo.startOffsetIndex, endNodeIndex = targetStringInfo.endNodeIndex, endOffsetIndex = targetStringInfo.endOffsetIndex;
382
+ var textField_1 = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
383
+ if (targetString && startNodeIndex !== null && startOffsetIndex !== null && endOffsetIndex !== null && endNodeIndex !== null && textField_1) {
384
+ // const textField = document.getElementById(textFieldId);
385
+ var childNodes = ui_MessageInput_hooks_usePaste.nodeListToArray(textField_1 === null || textField_1 === void 0 ? void 0 : textField_1.childNodes);
386
+ var startNodeTextContent = (_b = (_a = childNodes[startNodeIndex]) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : '';
387
+ var frontTextNode = document.createTextNode(startNodeTextContent.slice(0, startOffsetIndex));
388
+ var endNodeTextContent = (_d = (_c = childNodes[endNodeIndex]) === null || _c === void 0 ? void 0 : _c.textContent) !== null && _d !== void 0 ? _d : '';
389
+ var backTextNode = endOffsetIndex && document.createTextNode("\u00A0".concat(endNodeTextContent.slice(endOffsetIndex)));
390
+ var mentionLabel = ui_MessageInput_hooks_usePaste.renderToString({
391
+ userId: mentionSelectedUser === null || mentionSelectedUser === void 0 ? void 0 : mentionSelectedUser.userId,
392
+ nickname: "".concat(_const.USER_MENTION_TEMP_CHAR).concat((mentionSelectedUser === null || mentionSelectedUser === void 0 ? void 0 : mentionSelectedUser.nickname) || stringSet.MENTION_NAME__NO_NAME),
393
+ });
394
+ var div = document.createElement('div');
395
+ div.innerHTML = mentionLabel;
396
+ var newNodes = _tslib.__spreadArray(_tslib.__spreadArray(_tslib.__spreadArray([], childNodes.slice(0, startNodeIndex), true), [
397
+ frontTextNode,
398
+ div.childNodes[0],
399
+ backTextNode
400
+ ], false), childNodes.slice(endNodeIndex + 1), true);
401
+ if (textField_1) {
402
+ textField_1.innerHTML = '';
403
+ newNodes.forEach(function (newNode) {
404
+ if (newNode) {
405
+ textField_1.appendChild(newNode);
406
+ }
407
+ });
408
+ }
409
+ onUserMentioned(mentionSelectedUser);
410
+ if (window.getSelection || document.getSelection) {
411
+ // set caret postion
412
+ var selection = window.getSelection() || document.getSelection();
413
+ selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
414
+ var range = new Range();
415
+ range.selectNodeContents(textField_1);
416
+ range.setStart(textField_1.childNodes[startNodeIndex + 2], 1);
417
+ range.setEnd(textField_1.childNodes[startNodeIndex + 2], 1);
418
+ range.collapse(false);
419
+ selection === null || selection === void 0 ? void 0 : selection.addRange(range);
420
+ textField_1.focus();
421
+ }
422
+ setTargetStringInfo(_tslib.__assign({}, initialTargetStringInfo));
423
+ useMentionedLabelDetection();
424
+ }
425
+ }
426
+ }, [mentionSelectedUser, isMentionEnabled]);
427
+ // #Mention | Detect mentioning user nickname
428
+ var useMentionInputDetection = React.useCallback(function () {
429
+ var _a, _b;
430
+ var selection = ((_a = window === null || window === void 0 ? void 0 : window.getSelection) === null || _a === void 0 ? void 0 : _a.call(window)) || ((_b = document === null || document === void 0 ? void 0 : document.getSelection) === null || _b === void 0 ? void 0 : _b.call(document));
431
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
432
+ if ((selection === null || selection === void 0 ? void 0 : selection.anchorNode) === textField) {
433
+ onMentionStringChange('');
434
+ }
435
+ if (isMentionEnabled
436
+ && textField
437
+ && selection
438
+ && selection.anchorNode === selection.focusNode
439
+ && selection.anchorOffset === selection.focusOffset) {
440
+ var textStack = '';
441
+ var startNodeIndex = null;
442
+ var startOffsetIndex = null;
443
+ var _loop_1 = function (index) {
444
+ var currentNode = textField.childNodes[index];
445
+ if (currentNode.nodeType === _const$1.NodeTypes.TextNode) {
446
+ /* text node */
447
+ var textContent = (function () {
448
+ var _a;
449
+ if (currentNode === selection.anchorNode) {
450
+ return (currentNode === null || currentNode === void 0 ? void 0 : currentNode.textContent) ? currentNode === null || currentNode === void 0 ? void 0 : currentNode.textContent.slice(0, selection.anchorOffset) : '';
451
+ }
452
+ return (_a = currentNode === null || currentNode === void 0 ? void 0 : currentNode.textContent) !== null && _a !== void 0 ? _a : '';
453
+ })();
454
+ if (textStack.length > 0) {
455
+ textStack += textContent;
456
+ }
457
+ else {
458
+ var charLastIndex = textContent.lastIndexOf(_const.USER_MENTION_TEMP_CHAR);
459
+ for (var i = charLastIndex - 1; i > -1; i -= 1) {
460
+ if (textContent[i] === _const.USER_MENTION_TEMP_CHAR) {
461
+ charLastIndex = i;
462
+ }
463
+ else {
464
+ break;
465
+ }
466
+ }
467
+ if (charLastIndex > -1) {
468
+ textStack = textContent;
469
+ startNodeIndex = index;
470
+ startOffsetIndex = charLastIndex;
471
+ }
472
+ }
473
+ }
474
+ else {
475
+ /* other nodes */
476
+ textStack = '';
477
+ startNodeIndex = null;
478
+ startOffsetIndex = null;
479
+ }
480
+ if (currentNode === selection.anchorNode) {
481
+ /**
482
+ * targetString could be ''
483
+ * startNodeIndex and startOffsetIndex could be null
484
+ */
485
+ var targetString = textStack && startOffsetIndex !== null ? textStack.slice(startOffsetIndex) : ''; // include template character
486
+ setTargetStringInfo({
487
+ targetString: targetString,
488
+ startNodeIndex: startNodeIndex,
489
+ startOffsetIndex: startOffsetIndex,
490
+ endNodeIndex: index,
491
+ endOffsetIndex: selection.anchorOffset,
492
+ });
493
+ onMentionStringChange(targetString);
494
+ return { value: void 0 };
495
+ }
496
+ };
497
+ for (var index = 0; index < textField.childNodes.length; index += 1) {
498
+ var state_1 = _loop_1(index);
499
+ if (typeof state_1 === "object")
500
+ return state_1.value;
501
+ }
502
+ }
503
+ }, [isMentionEnabled]);
504
+ var sendMessage = function () {
505
+ var _a, _b;
506
+ try {
507
+ var textField_2 = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
508
+ if (!isEdit && textField_2) {
509
+ var _c = ui_MessageInput_hooks_usePaste.extractTextAndMentions(textField_2.childNodes), messageText = _c.messageText, mentionTemplate = _c.mentionTemplate, isMentionedMessage = _c.isMentionedMessage;
510
+ var trimmedText = messageText.trim();
511
+ // Composer mode: empty text is OK if files are staged.
512
+ if (trimmedText.length === 0 && !hasPendingFiles)
513
+ return;
514
+ var params = {
515
+ message: messageText,
516
+ mentionTemplate: isMentionedMessage ? ui_MessageInput_hooks_usePaste.sanitizeString(mentionTemplate) : '',
517
+ };
518
+ if (isComposerMode && onSubmit) {
519
+ onSubmit(_tslib.__assign(_tslib.__assign({}, params), { files: pendingFiles !== null && pendingFiles !== void 0 ? pendingFiles : [] }));
520
+ }
521
+ else {
522
+ onSendMessage(params);
523
+ }
524
+ resetInput(internalRef);
525
+ wasTypingRef.current = false;
526
+ /**
527
+ * Note: contentEditable does not work as expected in mobile WebKit (Safari).
528
+ * @see https://github.com/sendbird/sendbird-uikit-react/pull/1108
529
+ */
530
+ if (browser.isMobileIOS(navigator.userAgent)) {
531
+ if (ghostInputRef.current)
532
+ ghostInputRef.current.focus();
533
+ requestAnimationFrame(function () { return textField_2.focus(); });
534
+ }
535
+ else {
536
+ // important: keeps the keyboard open -> must add test on refactor
537
+ textField_2.focus();
538
+ }
539
+ setIsInput(false);
540
+ }
541
+ }
542
+ catch (error) {
543
+ (_b = (_a = eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.message) === null || _a === void 0 ? void 0 : _a.onSendMessageFailed) === null || _b === void 0 ? void 0 : _b.call(_a, message, error);
544
+ }
545
+ };
546
+ var isEditDisabled = !hasTextContentWithoutZeroWidthSpace(internalRef === null || internalRef === void 0 ? void 0 : internalRef.current);
547
+ var editMessage = function () {
548
+ var _a, _b;
549
+ try {
550
+ var textField = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current;
551
+ var messageId = message === null || message === void 0 ? void 0 : message.messageId;
552
+ if (isEdit && messageId && textField) {
553
+ var _c = ui_MessageInput_hooks_usePaste.extractTextAndMentions(textField.childNodes), messageText = _c.messageText, mentionTemplate = _c.mentionTemplate, isMentionedMessage = _c.isMentionedMessage, mentionedUserIds_1 = _c.mentionedUserIds;
554
+ if (messageText.trim().length === 0)
555
+ return;
556
+ var params = {
557
+ messageId: messageId,
558
+ message: messageText,
559
+ mentionTemplate: ui_MessageInput_hooks_usePaste.sanitizeString(isMentionedMessage ? mentionTemplate : messageText),
560
+ mentionedUserIds: isMentionEnabled ? mentionedUserIds_1 : [],
561
+ };
562
+ onUpdateMessage(params);
563
+ resetInput(internalRef);
564
+ wasTypingRef.current = false;
565
+ }
566
+ }
567
+ catch (error) {
568
+ (_b = (_a = eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.message) === null || _a === void 0 ? void 0 : _a.onUpdateMessageFailed) === null || _b === void 0 ? void 0 : _b.call(_a, message, error);
569
+ }
570
+ };
571
+ var onPaste = ui_MessageInput_hooks_usePaste.usePaste({
572
+ ref: internalRef,
573
+ setMentionedUsers: setMentionedUsers,
574
+ channel: channel,
575
+ setIsInput: setIsInput,
576
+ onAddFiles: fileProducerEnabled && !isMobile ? guardedAddFiles : undefined,
577
+ });
578
+ var uploadFile = function (event) {
579
+ var _a, _b;
580
+ var files = event.currentTarget.files;
581
+ try {
582
+ if (files) {
583
+ var fileArray = Array.from(files);
584
+ if (fileProducerEnabled) {
585
+ guardedAddFiles(fileArray);
586
+ }
587
+ else if (!isComposerMode) {
588
+ onFileUpload(fileArray);
589
+ }
590
+ }
591
+ }
592
+ catch (error) {
593
+ (_b = (_a = eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.message) === null || _a === void 0 ? void 0 : _a.onFileUploadFailed) === null || _b === void 0 ? void 0 : _b.call(_a, error);
594
+ }
595
+ finally {
596
+ event.target.value = '';
597
+ }
598
+ };
599
+ var adjustScrollToCaret = function () {
600
+ var _a;
601
+ var inputRef = internalRef;
602
+ var selection = window.getSelection();
603
+ if (!selection || selection.rangeCount === 0)
604
+ return;
605
+ // Get the last range (caret or selected text position) from the selection
606
+ var range = selection.getRangeAt(selection.rangeCount - 1);
607
+ var rect = range.getBoundingClientRect();
608
+ var container = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
609
+ if (!container || !inputRef.current)
610
+ return;
611
+ // If the caret (or selection) is below the visible container area, scroll down
612
+ if (rect.bottom > container.bottom) {
613
+ var scrollAmount = Math.min(rect.bottom - container.bottom, // Calculate how much we need to scroll
614
+ inputRef.current.scrollHeight - inputRef.current.clientHeight);
615
+ inputRef.current.scrollTop += scrollAmount; // Adjust the scroll position downward
616
+ }
617
+ // If the caret (or selection) is above the visible container area, scroll up
618
+ else if (rect.top < container.top) {
619
+ var scrollAmount = Math.min(container.top - rect.top, // Calculate how much we need to scroll
620
+ inputRef.current.scrollTop);
621
+ inputRef.current.scrollTop -= scrollAmount; // Adjust the scroll position upward
622
+ }
623
+ };
624
+ return (React__default.default.createElement("form", { className: utils.classnames.apply(void 0, _tslib.__spreadArray(_tslib.__spreadArray([], (Array.isArray(className) ? className : [className]), false), [isEdit && 'sendbird-message-input__edit',
625
+ disabled && 'sendbird-message-input-form__disabled',
626
+ isComposerMode && 'sendbird-message-input--composer'], false)) },
627
+ React__default.default.createElement("div", { className: utils.classnames('sendbird-message-input', disabled && 'sendbird-message-input__disabled', hasPendingFiles && 'sendbird-message-input--has-pending'), "data-testid": "sendbird-message-input" },
628
+ browser.isMobileIOS(navigator.userAgent) && (React__default.default.createElement("input", { id: 'ghost-input-reset-ime-cjk', ref: ghostInputRef, style: { opacity: 0, padding: 0, margin: 0, height: 0, border: 'none', position: 'absolute', top: -9999 }, defaultValue: '_' })),
629
+ React__default.default.createElement("div", { id: "".concat(textFieldId).concat(isEdit ? message === null || message === void 0 ? void 0 : message.messageId : ''), className: utils.classnames('sendbird-message-input--textarea', textFieldId, hasPendingFiles && 'sendbird-message-input--textarea-locked'), contentEditable: !disabled && !hasPendingFiles, tabIndex: hasPendingFiles ? 0 : undefined, role: "textbox", "aria-label": "Text Input", "aria-disabled": disabled || hasPendingFiles, ref: internalRef,
630
+ // @ts-ignore
631
+ disabled: disabled, maxLength: maxLength, onKeyDown: function (e) {
632
+ var _a, _b, _c;
633
+ var preventEvent = onKeyDown(e);
634
+ if (preventEvent) {
635
+ e.preventDefault();
636
+ }
637
+ else {
638
+ if (!e.shiftKey
639
+ && e.key === _const$1.MessageInputKeys.Enter
640
+ && !isMobile
641
+ && (hasTextContentWithoutZeroWidthSpace(internalRef === null || internalRef === void 0 ? void 0 : internalRef.current) || hasPendingFiles)
642
+ && ((_a = e === null || e === void 0 ? void 0 : e.nativeEvent) === null || _a === void 0 ? void 0 : _a.isComposing) !== true
643
+ /**
644
+ * NOTE: What isComposing does?
645
+ * Check if the user has finished composing characters
646
+ * (e.g., for languages like Korean, Japanese, where characters are composed from multiple keystrokes)
647
+ * Prevents executing the code while the user is still composing characters.
648
+ */
649
+ ) {
650
+ e.preventDefault();
651
+ sendMessage();
652
+ }
653
+ if (e.key === _const$1.MessageInputKeys.Backspace
654
+ && ((_c = (_b = internalRef === null || internalRef === void 0 ? void 0 : internalRef.current) === null || _b === void 0 ? void 0 : _b.childNodes) === null || _c === void 0 ? void 0 : _c.length) === 2
655
+ && !internalRef.current.childNodes[0].textContent
656
+ && internalRef.current.childNodes[1].nodeType === _const$1.NodeTypes.ElementNode) {
657
+ internalRef.current.removeChild(internalRef.current.childNodes[1]);
658
+ }
659
+ }
660
+ }, onKeyUp: function (e) {
661
+ var preventEvent = onKeyUp(e);
662
+ if (preventEvent) {
663
+ e.preventDefault();
664
+ }
665
+ else {
666
+ useMentionInputDetection();
667
+ }
668
+ }, onClick: function () {
669
+ useMentionInputDetection();
670
+ }, onInput: function () {
671
+ var hasContent = hasTextContentWithoutZeroWidthSpace(internalRef === null || internalRef === void 0 ? void 0 : internalRef.current);
672
+ if (hasContent) {
673
+ onStartTyping();
674
+ wasTypingRef.current = true;
675
+ }
676
+ else if (wasTypingRef.current) {
677
+ onStopTyping();
678
+ wasTypingRef.current = false;
679
+ }
680
+ setIsInput(hasContent);
681
+ useMentionedLabelDetection();
682
+ }, onPaste: function (e) {
683
+ onPaste(e);
684
+ setTimeout(adjustScrollToCaret);
685
+ } }),
686
+ !isEdit && isComposerMode && hasPendingFiles && pendingFiles && onRemoveFile && (React__default.default.createElement(PendingFilesPreview, { pendingFiles: pendingFiles, onRemove: onRemoveFile })),
687
+ getTextContentWithoutZeroWidthSpace(internalRef === null || internalRef === void 0 ? void 0 : internalRef.current).length === 0 && (React__default.default.createElement(ui_Label.Label, { className: "sendbird-message-input--placeholder", type: ui_Label.LabelTypography.BODY_1, color: disabled ? ui_Label.LabelColors.ONBACKGROUND_4 : ui_Label.LabelColors.ONBACKGROUND_3 }, hasPendingFiles
688
+ ? stringSet.MESSAGE_INPUT__PLACE_HOLDER__FILE_ATTACHED
689
+ : (placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER))),
690
+ !isEdit && (isInput || hasPendingFiles) && (React__default.default.createElement(ui_IconButton, { className: "sendbird-message-input--send", height: "32px", width: "32px", disabled: disabled, onClick: function () { return sendMessage(); }, testID: "sendbird-message-input-send-button" }, (renderSendMessageIcon === null || renderSendMessageIcon === void 0 ? void 0 : renderSendMessageIcon()) || (React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.SEND, fillColor: disabled ? ui_Icon.IconColors.ON_BACKGROUND_4 : ui_Icon.IconColors.PRIMARY, width: "20px", height: "20px" })))),
691
+ !isEdit
692
+ && !isInput
693
+ && !hasPendingFiles
694
+ && ((renderFileUploadIcon === null || renderFileUploadIcon === void 0 ? void 0 : renderFileUploadIcon())
695
+ // UIKit Dashboard configuration should have lower priority than
696
+ // renderFileUploadIcon which is set in code level
697
+ || (isFileUploadEnabled && (React__default.default.createElement(ui_IconButton, { className: utils.classnames('sendbird-message-input--attach', isVoiceMessageEnabled && 'is-voice-message-enabled'), height: "32px", width: "32px", onClick: function () {
698
+ var _a, _b;
699
+ // todo: clear previous input
700
+ (_b = (_a = fileInputRef === null || fileInputRef === void 0 ? void 0 : fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click) === null || _b === void 0 ? void 0 : _b.call(_a);
701
+ } },
702
+ React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.ATTACH, fillColor: disabled ? ui_Icon.IconColors.ON_BACKGROUND_4 : ui_Icon.IconColors.CONTENT_INVERSE, width: "20px", height: "20px" }),
703
+ React__default.default.createElement("input", { className: "sendbird-message-input--attach-input", type: "file", ref: fileInputRef,
704
+ // It will affect to <Channel /> and <Thread />
705
+ onChange: function (event) { return uploadFile(event); }, accept: index$1.getMimeTypesUIKitAccepts(acceptableMimeTypes), multiple: isSelectingMultipleFilesEnabled && ui_MessageInput_hooks_usePaste.isChannelTypeSupportsMultipleFilesMessage(channel) }))))),
706
+ isVoiceMessageEnabled && !isEdit && !isInput && !hasPendingFiles && (React__default.default.createElement(ui_IconButton, { className: "sendbird-message-input--voice-message", width: "32px", height: "32px", onClick: onVoiceMessageIconClick }, (renderVoiceMessageIcon === null || renderVoiceMessageIcon === void 0 ? void 0 : renderVoiceMessageIcon()) || (React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.AUDIO_ON_LINED, fillColor: disabled ? ui_Icon.IconColors.ON_BACKGROUND_4 : ui_Icon.IconColors.CONTENT_INVERSE, width: "20px", height: "20px" }))))),
707
+ isEdit && (React__default.default.createElement("div", { className: "sendbird-message-input--edit-action", "data-testid": "sendbird-message-input--edit-action" },
708
+ React__default.default.createElement(ui_Button.default, { className: "sendbird-message-input--edit-action__cancel", type: ui_Button.ButtonTypes.SECONDARY, size: ui_Button.ButtonSizes.SMALL, onClick: onCancelEdit }, stringSet.BUTTON__CANCEL),
709
+ React__default.default.createElement(ui_Button.default, { className: "sendbird-message-input--edit-action__save", type: ui_Button.ButtonTypes.PRIMARY, size: ui_Button.ButtonSizes.SMALL, disabled: isEditDisabled, onClick: function () { return editMessage(); } }, stringSet.BUTTON__SAVE)))));
710
+ });
711
+
712
+ exports.MessageInput = MessageInput;
713
+ exports.checkIfFileUploadEnabled = checkIfFileUploadEnabled;
714
+ //# sourceMappingURL=bundle-CzhNQgac.js.map