@sendbird/uikit-react 3.6.8 → 3.6.9

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 (745) hide show
  1. package/App.js +66 -57
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +167 -0
  4. package/Channel/components/ChannelHeader.js +22 -20
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +48 -42
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +18 -16
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/Message.js +42 -37
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +48 -35
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +44 -38
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +25 -21
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +20 -18
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +18 -16
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +4 -4
  24. package/Channel/context.js +15 -13
  25. package/Channel/context.js.map +1 -1
  26. package/Channel/utils/compareMessagesForGrouping.js +7 -6
  27. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  28. package/Channel/utils/getMessagePartsInfo.js +8 -7
  29. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  30. package/Channel.js +50 -42
  31. package/Channel.js.map +1 -1
  32. package/ChannelList/components/AddChannel.js +16 -15
  33. package/ChannelList/components/AddChannel.js.map +1 -1
  34. package/ChannelList/components/ChannelListHeader.js +6 -6
  35. package/ChannelList/components/ChannelListUI.js +33 -31
  36. package/ChannelList/components/ChannelListUI.js.map +1 -1
  37. package/ChannelList/components/ChannelPreview.js +31 -29
  38. package/ChannelList/components/ChannelPreview.js.map +1 -1
  39. package/ChannelList/components/ChannelPreviewAction.js +16 -15
  40. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  41. package/ChannelList/context.js +9 -8
  42. package/ChannelList/context.js.map +1 -1
  43. package/ChannelList.js +33 -31
  44. package/ChannelList.js.map +1 -1
  45. package/{ChannelListProvider-63f3007c.js → ChannelListProvider-ba11ee5f.js} +8 -8
  46. package/{ChannelListProvider-63f3007c.js.map → ChannelListProvider-ba11ee5f.js.map} +1 -1
  47. package/{ChannelProvider-d6dedff9.js → ChannelProvider-7400e8f6.js} +67 -24
  48. package/ChannelProvider-7400e8f6.js.map +1 -0
  49. package/ChannelSettings/components/ChannelProfile.js +14 -12
  50. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +15 -13
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +14 -13
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +16 -15
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +11 -10
  60. package/ChannelSettings/components/UserListItem.js.map +1 -1
  61. package/ChannelSettings/components/UserPanel.js +14 -13
  62. package/ChannelSettings/components/UserPanel.js.map +1 -1
  63. package/ChannelSettings/context.js +3 -3
  64. package/ChannelSettings.js +18 -17
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +15 -14
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +16 -15
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +13 -12
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +15 -14
  74. package/CreateChannel.js.map +1 -1
  75. package/{CreateChannelProvider-32ceb13a.js → CreateChannelProvider-b2487387.js} +1 -1
  76. package/{CreateChannelProvider-32ceb13a.js.map → CreateChannelProvider-b2487387.js.map} +1 -1
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -10
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +1 -1
  80. package/CreateOpenChannel.js +11 -9
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +13 -12
  83. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  84. package/EditUserProfile.js +14 -13
  85. package/EditUserProfile.js.map +1 -1
  86. package/{LocalizationContext-9a9a0064.js → LocalizationContext-c9b218d4.js} +3 -3
  87. package/{LocalizationContext-9a9a0064.js.map → LocalizationContext-c9b218d4.js.map} +1 -1
  88. package/{MediaQueryContext-aebb709a.js → MediaQueryContext-532b0a77.js} +1 -1
  89. package/{MediaQueryContext-aebb709a.js.map → MediaQueryContext-532b0a77.js.map} +1 -1
  90. package/{MemberList-54496842.js → MemberList-15511dd2.js} +7 -6
  91. package/{MemberList-54496842.js.map → MemberList-15511dd2.js.map} +1 -1
  92. package/Message/hooks/useDirtyGetMentions.js +1 -1
  93. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  94. package/MessageSearch/components/MessageSearchUI.js +13 -11
  95. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  96. package/MessageSearch/context.js +1 -1
  97. package/MessageSearch.js +13 -11
  98. package/MessageSearch.js.map +1 -1
  99. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  100. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  101. package/OpenChannel/components/OpenChannelInput.js +20 -20
  102. package/OpenChannel/components/OpenChannelMessage.js +35 -32
  103. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessageList.js +34 -33
  105. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelUI.js +34 -33
  107. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  108. package/OpenChannel/context.js +8 -8
  109. package/OpenChannel.js +34 -33
  110. package/OpenChannel.js.map +1 -1
  111. package/OpenChannelList/components/OpenChannelListUI.js +15 -13
  112. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  114. package/OpenChannelList/context.js +3 -3
  115. package/OpenChannelList.js +15 -13
  116. package/OpenChannelList.js.map +1 -1
  117. package/{OpenChannelListProvider-6f1599b7.js → OpenChannelListProvider-a79c47d4.js} +3 -3
  118. package/{OpenChannelListProvider-6f1599b7.js.map → OpenChannelListProvider-a79c47d4.js.map} +1 -1
  119. package/{OpenChannelProvider-8fdab056.js → OpenChannelProvider-4f21a22d.js} +13 -8
  120. package/OpenChannelProvider-4f21a22d.js.map +1 -0
  121. package/OpenChannelSettings/components/EditDetailsModal.js +16 -14
  122. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  123. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  124. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  125. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -18
  126. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  127. package/OpenChannelSettings/components/OperatorUI.js +18 -17
  128. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  129. package/OpenChannelSettings/components/ParticipantUI.js +15 -14
  130. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  131. package/OpenChannelSettings/context.js +3 -3
  132. package/OpenChannelSettings.js +19 -18
  133. package/OpenChannelSettings.js.map +1 -1
  134. package/README.md +7 -0
  135. package/{RemoveMessageModal-715f4bd6.js → RemoveMessageModal-62276928.js} +7 -5
  136. package/RemoveMessageModal-62276928.js.map +1 -0
  137. package/SendbirdProvider.js +43 -24
  138. package/SendbirdProvider.js.map +1 -1
  139. package/Thread/components/ParentMessageInfo.js +39 -36
  140. package/Thread/components/ParentMessageInfo.js.map +1 -1
  141. package/Thread/components/ParentMessageInfoItem.js +33 -23
  142. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  143. package/Thread/components/ThreadHeader.js +6 -6
  144. package/Thread/components/ThreadList.js +43 -39
  145. package/Thread/components/ThreadList.js.map +1 -1
  146. package/Thread/components/ThreadListItem.js +50 -40
  147. package/Thread/components/ThreadListItem.js.map +1 -1
  148. package/Thread/components/ThreadMessageInput.js +48 -35
  149. package/Thread/components/ThreadMessageInput.js.map +1 -1
  150. package/Thread/components/ThreadUI.js +48 -43
  151. package/Thread/components/ThreadUI.js.map +1 -1
  152. package/Thread/context.js +12 -8
  153. package/Thread/context.js.map +1 -1
  154. package/Thread.js +58 -44
  155. package/Thread.js.map +1 -1
  156. package/{ThreadProvider-696e3a32.js → ThreadProvider-593b6c29.js} +61 -15
  157. package/ThreadProvider-593b6c29.js.map +1 -0
  158. package/{UserProfileContext-9fba7a03.js → UserProfileContext-36e341fd.js} +1 -1
  159. package/{UserProfileContext-9fba7a03.js.map → UserProfileContext-36e341fd.js.map} +1 -1
  160. package/VoicePlayer/context.js +3 -3
  161. package/VoicePlayer/useVoicePlayer.js +12 -10
  162. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  163. package/VoiceRecorder/context.js +13 -11
  164. package/VoiceRecorder/context.js.map +1 -1
  165. package/VoiceRecorder/useVoiceRecorder.js +11 -9
  166. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  167. package/{WebAudioUtils-ba28e2b0.js → WebAudioUtils-ca6a01e4.js} +2 -2
  168. package/{WebAudioUtils-ba28e2b0.js.map → WebAudioUtils-ca6a01e4.js.map} +1 -1
  169. package/{_rollupPluginBabelHelpers-0f2ee8c1.js → _rollupPluginBabelHelpers-ea73a031.js} +1 -1
  170. package/_rollupPluginBabelHelpers-ea73a031.js.map +1 -0
  171. package/{actionTypes-670a9a48.js → actionTypes-bd59e881.js} +1 -1
  172. package/{actionTypes-670a9a48.js.map → actionTypes-bd59e881.js.map} +1 -1
  173. package/cjs/App.js +66 -57
  174. package/cjs/App.js.map +1 -1
  175. package/cjs/Channel/components/ChannelHeader.js +22 -20
  176. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  177. package/cjs/Channel/components/ChannelUI.js +48 -42
  178. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  179. package/cjs/Channel/components/FileViewer.js +18 -16
  180. package/cjs/Channel/components/FileViewer.js.map +1 -1
  181. package/cjs/Channel/components/FrozenNotification.js +4 -4
  182. package/cjs/Channel/components/Message.js +42 -37
  183. package/cjs/Channel/components/Message.js.map +1 -1
  184. package/cjs/Channel/components/MessageInput.js +49 -36
  185. package/cjs/Channel/components/MessageInput.js.map +1 -1
  186. package/cjs/Channel/components/MessageList.js +44 -38
  187. package/cjs/Channel/components/MessageList.js.map +1 -1
  188. package/cjs/Channel/components/RemoveMessageModal.js +25 -21
  189. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  190. package/cjs/Channel/components/SuggestedMentionList.js +20 -18
  191. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  192. package/cjs/Channel/components/TypingIndicator.js +18 -16
  193. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  194. package/cjs/Channel/components/UnreadCount.js +4 -4
  195. package/cjs/Channel/context.js +15 -13
  196. package/cjs/Channel/context.js.map +1 -1
  197. package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -6
  198. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  199. package/cjs/Channel/utils/getMessagePartsInfo.js +8 -7
  200. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  201. package/cjs/Channel.js +50 -42
  202. package/cjs/Channel.js.map +1 -1
  203. package/cjs/ChannelList/components/AddChannel.js +16 -15
  204. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  205. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  206. package/cjs/ChannelList/components/ChannelListUI.js +33 -31
  207. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  208. package/cjs/ChannelList/components/ChannelPreview.js +31 -29
  209. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  210. package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -15
  211. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  212. package/cjs/ChannelList/context.js +9 -8
  213. package/cjs/ChannelList/context.js.map +1 -1
  214. package/cjs/ChannelList.js +33 -31
  215. package/cjs/ChannelList.js.map +1 -1
  216. package/cjs/{ChannelListProvider-1506b1fa.js → ChannelListProvider-69db317f.js} +8 -8
  217. package/cjs/{ChannelListProvider-1506b1fa.js.map → ChannelListProvider-69db317f.js.map} +1 -1
  218. package/cjs/{ChannelProvider-c8bc29d3.js → ChannelProvider-2ee005bc.js} +67 -24
  219. package/cjs/ChannelProvider-2ee005bc.js.map +1 -0
  220. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -12
  221. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  222. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  223. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  224. package/cjs/ChannelSettings/components/EditDetailsModal.js +15 -13
  225. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  226. package/cjs/ChannelSettings/components/LeaveChannel.js +15 -14
  227. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  228. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -18
  229. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  230. package/cjs/ChannelSettings/components/UserListItem.js +11 -10
  231. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  232. package/cjs/ChannelSettings/components/UserPanel.js +14 -13
  233. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  234. package/cjs/ChannelSettings/context.js +3 -3
  235. package/cjs/ChannelSettings.js +18 -17
  236. package/cjs/ChannelSettings.js.map +1 -1
  237. package/cjs/CreateChannel/components/CreateChannelUI.js +15 -14
  238. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  239. package/cjs/CreateChannel/components/InviteUsers.js +16 -15
  240. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  241. package/cjs/CreateChannel/components/SelectChannelType.js +13 -12
  242. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  243. package/cjs/CreateChannel/context.js +4 -4
  244. package/cjs/CreateChannel.js +15 -14
  245. package/cjs/CreateChannel.js.map +1 -1
  246. package/cjs/{CreateChannelProvider-f30302a5.js → CreateChannelProvider-1c4d626c.js} +1 -1
  247. package/cjs/{CreateChannelProvider-f30302a5.js.map → CreateChannelProvider-1c4d626c.js.map} +1 -1
  248. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -10
  249. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  250. package/cjs/CreateOpenChannel/context.js +1 -1
  251. package/cjs/CreateOpenChannel.js +11 -9
  252. package/cjs/CreateOpenChannel.js.map +1 -1
  253. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -12
  254. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  255. package/cjs/EditUserProfile.js +14 -13
  256. package/cjs/EditUserProfile.js.map +1 -1
  257. package/cjs/{LocalizationContext-9c99457f.js → LocalizationContext-eb7a59da.js} +3 -3
  258. package/cjs/{LocalizationContext-9c99457f.js.map → LocalizationContext-eb7a59da.js.map} +1 -1
  259. package/cjs/{MediaQueryContext-a5c77095.js → MediaQueryContext-ca045060.js} +1 -1
  260. package/cjs/{MediaQueryContext-a5c77095.js.map → MediaQueryContext-ca045060.js.map} +1 -1
  261. package/cjs/{MemberList-166dd7de.js → MemberList-eea5c64b.js} +8 -7
  262. package/cjs/{MemberList-166dd7de.js.map → MemberList-eea5c64b.js.map} +1 -1
  263. package/cjs/Message/hooks/useDirtyGetMentions.js +1 -1
  264. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  265. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -11
  266. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  267. package/cjs/MessageSearch/context.js +1 -1
  268. package/cjs/MessageSearch.js +13 -11
  269. package/cjs/MessageSearch.js.map +1 -1
  270. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  271. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  272. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
  273. package/cjs/OpenChannel/components/OpenChannelMessage.js +35 -32
  274. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  275. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -33
  276. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  277. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -33
  278. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  279. package/cjs/OpenChannel/context.js +8 -8
  280. package/cjs/OpenChannel.js +34 -33
  281. package/cjs/OpenChannel.js.map +1 -1
  282. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -13
  283. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  284. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  285. package/cjs/OpenChannelList/context.js +3 -3
  286. package/cjs/OpenChannelList.js +15 -13
  287. package/cjs/OpenChannelList.js.map +1 -1
  288. package/cjs/{OpenChannelListProvider-74ae7138.js → OpenChannelListProvider-25a0f74d.js} +3 -3
  289. package/cjs/{OpenChannelListProvider-74ae7138.js.map → OpenChannelListProvider-25a0f74d.js.map} +1 -1
  290. package/cjs/{OpenChannelProvider-57c10c09.js → OpenChannelProvider-036e515e.js} +13 -8
  291. package/cjs/OpenChannelProvider-036e515e.js.map +1 -0
  292. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +16 -14
  293. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  294. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  295. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  296. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -18
  297. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  298. package/cjs/OpenChannelSettings/components/OperatorUI.js +22 -21
  299. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  300. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
  301. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  302. package/cjs/OpenChannelSettings/context.js +3 -3
  303. package/cjs/OpenChannelSettings.js +19 -18
  304. package/cjs/OpenChannelSettings.js.map +1 -1
  305. package/cjs/{RemoveMessageModal-029b1c86.js → RemoveMessageModal-7ed24af4.js} +7 -5
  306. package/cjs/RemoveMessageModal-7ed24af4.js.map +1 -0
  307. package/cjs/SendbirdProvider.js +43 -24
  308. package/cjs/SendbirdProvider.js.map +1 -1
  309. package/cjs/Thread/components/ParentMessageInfo.js +39 -36
  310. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  311. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -23
  312. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  313. package/cjs/Thread/components/ThreadHeader.js +6 -6
  314. package/cjs/Thread/components/ThreadList.js +43 -39
  315. package/cjs/Thread/components/ThreadList.js.map +1 -1
  316. package/cjs/Thread/components/ThreadListItem.js +53 -43
  317. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  318. package/cjs/Thread/components/ThreadMessageInput.js +49 -36
  319. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  320. package/cjs/Thread/components/ThreadUI.js +48 -43
  321. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  322. package/cjs/Thread/context.js +12 -8
  323. package/cjs/Thread/context.js.map +1 -1
  324. package/cjs/Thread.js +58 -44
  325. package/cjs/Thread.js.map +1 -1
  326. package/cjs/{ThreadProvider-9dfc3ad5.js → ThreadProvider-4c93de8a.js} +61 -15
  327. package/cjs/ThreadProvider-4c93de8a.js.map +1 -0
  328. package/cjs/{UserProfileContext-1f226141.js → UserProfileContext-abe57718.js} +1 -1
  329. package/cjs/{UserProfileContext-1f226141.js.map → UserProfileContext-abe57718.js.map} +1 -1
  330. package/cjs/VoicePlayer/context.js +3 -3
  331. package/cjs/VoicePlayer/useVoicePlayer.js +12 -10
  332. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  333. package/cjs/VoiceRecorder/context.js +13 -11
  334. package/cjs/VoiceRecorder/context.js.map +1 -1
  335. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -9
  336. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  337. package/cjs/{WebAudioUtils-250f7398.js → WebAudioUtils-348c38b8.js} +2 -2
  338. package/cjs/{WebAudioUtils-250f7398.js.map → WebAudioUtils-348c38b8.js.map} +1 -1
  339. package/cjs/{_rollupPluginBabelHelpers-117c3ffb.js → _rollupPluginBabelHelpers-a85bd364.js} +1 -1
  340. package/cjs/_rollupPluginBabelHelpers-a85bd364.js.map +1 -0
  341. package/cjs/{actionTypes-01de4d11.js → actionTypes-412ca236.js} +1 -1
  342. package/cjs/{actionTypes-01de4d11.js.map → actionTypes-412ca236.js.map} +1 -1
  343. package/cjs/{color-a057a4c2.js → color-2f1198fc.js} +1 -1
  344. package/cjs/{color-a057a4c2.js.map → color-2f1198fc.js.map} +1 -1
  345. package/cjs/{compareIds-49d9aea6.js → compareIds-89c258a0.js} +1 -1
  346. package/cjs/{compareIds-49d9aea6.js.map → compareIds-89c258a0.js.map} +1 -1
  347. package/cjs/{const-cd9b71c8.js → const-24d498a6.js} +1 -1
  348. package/cjs/{const-cd9b71c8.js.map → const-24d498a6.js.map} +1 -1
  349. package/cjs/{const-8e4d382d.js → const-95881697.js} +1 -1
  350. package/cjs/{const-8e4d382d.js.map → const-95881697.js.map} +1 -1
  351. package/cjs/{consts-4a51c64b.js → consts-2957b793.js} +1 -1
  352. package/cjs/{consts-4a51c64b.js.map → consts-2957b793.js.map} +1 -1
  353. package/cjs/{consts-fb9dd3a0.js → consts-7b830cc5.js} +5 -1
  354. package/cjs/{consts-fb9dd3a0.js.map → consts-7b830cc5.js.map} +1 -1
  355. package/cjs/{consts-3afe4fa8.js → consts-c5d38c32.js} +1 -1
  356. package/cjs/{consts-3afe4fa8.js.map → consts-c5d38c32.js.map} +1 -1
  357. package/cjs/{consts-d866b64a.js → consts-dde4f05d.js} +1 -1
  358. package/cjs/{consts-d866b64a.js.map → consts-dde4f05d.js.map} +1 -1
  359. package/cjs/{context-d7bb15b5.js → context-b53bf38e.js} +2 -2
  360. package/cjs/{context-d7bb15b5.js.map → context-b53bf38e.js.map} +1 -1
  361. package/cjs/dist/index.css +371 -280
  362. package/cjs/dist/index.css.map +1 -1
  363. package/cjs/{index-df172622.js → index-03655429.js} +2 -2
  364. package/cjs/{index-df172622.js.map → index-03655429.js.map} +1 -1
  365. package/cjs/{index-dc15cf44.js → index-0f229ac7.js} +4 -4
  366. package/cjs/{index-dc15cf44.js.map → index-0f229ac7.js.map} +1 -1
  367. package/cjs/{index-a5aa0a9b.js → index-0f7049fb.js} +8 -7
  368. package/cjs/{index-a5aa0a9b.js.map → index-0f7049fb.js.map} +1 -1
  369. package/cjs/{index-5b3bc2e9.js → index-1f796e5a.js} +4 -4
  370. package/cjs/{index-5b3bc2e9.js.map → index-1f796e5a.js.map} +1 -1
  371. package/cjs/index-28c0a443.js +58 -0
  372. package/cjs/index-28c0a443.js.map +1 -0
  373. package/cjs/{index-15e4fb71.js → index-2fbc5922.js} +4 -4
  374. package/cjs/{index-15e4fb71.js.map → index-2fbc5922.js.map} +1 -1
  375. package/cjs/{index-5359bc78.js → index-2fd388b9.js} +6 -6
  376. package/cjs/{index-5359bc78.js.map → index-2fd388b9.js.map} +1 -1
  377. package/cjs/{index-9cffff55.js → index-494b5c25.js} +3 -3
  378. package/cjs/{index-9cffff55.js.map → index-494b5c25.js.map} +1 -1
  379. package/cjs/{index-b64ce51a.js → index-4d39de27.js} +10 -9
  380. package/cjs/index-4d39de27.js.map +1 -0
  381. package/cjs/{index-2413bae4.js → index-5628e0c0.js} +1 -1
  382. package/cjs/index-5628e0c0.js.map +1 -0
  383. package/cjs/{index-0599b6f2.js → index-613acaa0.js} +36 -4
  384. package/cjs/index-613acaa0.js.map +1 -0
  385. package/cjs/{index-fe1b738f.js → index-6e0a495a.js} +3 -3
  386. package/cjs/{index-fe1b738f.js.map → index-6e0a495a.js.map} +1 -1
  387. package/cjs/{index-2d4ea9ad.js → index-7e10ab98.js} +4 -4
  388. package/cjs/index-7e10ab98.js.map +1 -0
  389. package/cjs/{index-464461c9.js → index-910f48df.js} +20 -12
  390. package/cjs/index-910f48df.js.map +1 -0
  391. package/cjs/{index-d5522aef.js → index-967cbc91.js} +2 -2
  392. package/cjs/{index-d5522aef.js.map → index-967cbc91.js.map} +1 -1
  393. package/cjs/{index-0d4c4adf.js → index-9813a2f9.js} +3 -3
  394. package/cjs/{index-0d4c4adf.js.map → index-9813a2f9.js.map} +1 -1
  395. package/cjs/{index-913491a1.js → index-ae51b0df.js} +2 -2
  396. package/cjs/{index-913491a1.js.map → index-ae51b0df.js.map} +1 -1
  397. package/cjs/{index-ba4dea0c.js → index-c9a4a555.js} +1 -1
  398. package/cjs/{index-ba4dea0c.js.map → index-c9a4a555.js.map} +1 -1
  399. package/cjs/{index-c59af641.js → index-de4da1f2.js} +2 -2
  400. package/cjs/{index-c59af641.js.map → index-de4da1f2.js.map} +1 -1
  401. package/cjs/index-f0b55959.js +139 -0
  402. package/cjs/index-f0b55959.js.map +1 -0
  403. package/cjs/{index-4eb2a000.js → index-f40c4cf0.js} +2 -2
  404. package/cjs/{index-4eb2a000.js.map → index-f40c4cf0.js.map} +1 -1
  405. package/cjs/index.js +60 -55
  406. package/cjs/index.js.map +1 -1
  407. package/cjs/{index.module-2c2cf337.js → index.module-5c951066.js} +1 -1
  408. package/cjs/{index.module-2c2cf337.js.map → index.module-5c951066.js.map} +1 -1
  409. package/cjs/package.json +1 -1
  410. package/cjs/{resolvedReplyType-053d2dbc.js → resolvedReplyType-314fee09.js} +1 -1
  411. package/cjs/{resolvedReplyType-053d2dbc.js.map → resolvedReplyType-314fee09.js.map} +1 -1
  412. package/cjs/sendbirdSelectors.js +3 -3
  413. package/cjs/stringFormatterUtils-3e53394c.js +16 -0
  414. package/cjs/stringFormatterUtils-3e53394c.js.map +1 -0
  415. package/cjs/{stringSet-dbdeec9c.js → stringSet-b75b75ae.js} +1 -1
  416. package/cjs/{stringSet-dbdeec9c.js.map → stringSet-b75b75ae.js.map} +1 -1
  417. package/cjs/{tokenize-7204c391.js → tokenize-42536b7a.js} +2 -2
  418. package/cjs/{tokenize-7204c391.js.map → tokenize-42536b7a.js.map} +1 -1
  419. package/cjs/{topics-c495cb3a.js → topics-2c35cfd7.js} +1 -1
  420. package/cjs/{topics-c495cb3a.js.map → topics-2c35cfd7.js.map} +1 -1
  421. package/cjs/{types-79ca7893.js → types-382588b3.js} +1 -1
  422. package/cjs/types-382588b3.js.map +1 -0
  423. package/cjs/ui/Accordion.js +2 -2
  424. package/cjs/ui/AccordionGroup.js +2 -2
  425. package/cjs/ui/AdminMessage.js +2 -2
  426. package/cjs/ui/Avatar.js +1 -1
  427. package/cjs/ui/Badge.js +4 -4
  428. package/cjs/ui/BottomSheet.js +6 -1
  429. package/cjs/ui/BottomSheet.js.map +1 -1
  430. package/cjs/ui/Button.js +10 -12
  431. package/cjs/ui/Button.js.map +1 -1
  432. package/cjs/ui/ChannelAvatar.js +2 -2
  433. package/cjs/ui/ConnectionStatus.js +4 -4
  434. package/cjs/ui/ContextMenu.js +6 -5
  435. package/cjs/ui/ContextMenu.js.map +1 -1
  436. package/cjs/ui/DateSeparator.js +3 -3
  437. package/cjs/ui/EmojiReactions.js +14 -13
  438. package/cjs/ui/EmojiReactions.js.map +1 -1
  439. package/cjs/ui/FileMessageItemBody.js +7 -6
  440. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  441. package/cjs/ui/FileViewer.js +14 -13
  442. package/cjs/ui/FileViewer.js.map +1 -1
  443. package/cjs/ui/Icon.js +3 -0
  444. package/cjs/ui/Icon.js.map +1 -1
  445. package/cjs/ui/IconButton.js +1 -1
  446. package/cjs/ui/ImageRenderer.js +58 -14
  447. package/cjs/ui/ImageRenderer.js.map +1 -1
  448. package/cjs/ui/Input.js +2 -2
  449. package/cjs/ui/Label.js +2 -2
  450. package/cjs/ui/LinkLabel.js +2 -2
  451. package/cjs/ui/MentionLabel.js +11 -10
  452. package/cjs/ui/MentionLabel.js.map +1 -1
  453. package/cjs/ui/MentionUserLabel.js +1 -1
  454. package/cjs/ui/MessageContent.js +43 -34
  455. package/cjs/ui/MessageContent.js.map +1 -1
  456. package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
  457. package/cjs/ui/MessageInput.js +54 -40
  458. package/cjs/ui/MessageInput.js.map +1 -1
  459. package/cjs/ui/MessageItemMenu.js +9 -8
  460. package/cjs/ui/MessageItemMenu.js.map +1 -1
  461. package/cjs/ui/MessageItemReactionMenu.js +9 -8
  462. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  463. package/cjs/ui/MessageSearchFileItem.js +18 -18
  464. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  465. package/cjs/ui/MessageSearchItem.js +8 -8
  466. package/cjs/ui/MessageStatus.js +11 -10
  467. package/cjs/ui/MessageStatus.js.map +1 -1
  468. package/cjs/ui/Modal.js +26 -17
  469. package/cjs/ui/Modal.js.map +1 -1
  470. package/cjs/ui/OGMessageItemBody.js +14 -14
  471. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  472. package/cjs/ui/OpenChannelAvatar.js +5 -5
  473. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  474. package/cjs/ui/OpenchannelFileMessage.js +16 -15
  475. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  476. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  477. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -14
  478. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  479. package/cjs/ui/OpenchannelUserMessage.js +16 -15
  480. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  481. package/cjs/ui/PlaceHolder.js +5 -5
  482. package/cjs/ui/PlaybackTime.js +2 -2
  483. package/cjs/ui/QuoteMessage.js +15 -13
  484. package/cjs/ui/QuoteMessage.js.map +1 -1
  485. package/cjs/ui/QuoteMessageInput.js +14 -12
  486. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  487. package/cjs/ui/ReactionBadge.js +2 -2
  488. package/cjs/ui/ReactionButton.js +4 -4
  489. package/cjs/ui/SortByRow.js +1 -1
  490. package/cjs/ui/TextButton.js +1 -1
  491. package/cjs/ui/TextMessageItemBody.js +14 -14
  492. package/cjs/ui/ThreadReplies.js +5 -5
  493. package/cjs/ui/ThumbnailMessageItemBody.js +16 -17
  494. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  495. package/cjs/ui/Toggle.js +1 -1
  496. package/cjs/ui/Tooltip.js +2 -2
  497. package/cjs/ui/UnknownMessageItemBody.js +7 -6
  498. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  499. package/cjs/ui/UserListItem.js +11 -10
  500. package/cjs/ui/UserListItem.js.map +1 -1
  501. package/cjs/ui/UserProfile.js +9 -9
  502. package/cjs/ui/VoiceMessageItemBody.js +12 -10
  503. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  504. package/cjs/ui/VoiceMessgeInput.js +7 -7
  505. package/cjs/ui/Word.js +11 -10
  506. package/cjs/ui/Word.js.map +1 -1
  507. package/cjs/{VoiceMessageInputWrapper-953affee.js → useHandleUploadFiles-84bd5a9a.js} +129 -8
  508. package/cjs/useHandleUploadFiles-84bd5a9a.js.map +1 -0
  509. package/cjs/{useLongPress-e7c92bb0.js → useLongPress-49aa9a49.js} +3 -3
  510. package/cjs/{useLongPress-e7c92bb0.js.map → useLongPress-49aa9a49.js.map} +1 -1
  511. package/cjs/useSendMultipleFilesMessage-c5266ca8.js +109 -0
  512. package/cjs/useSendMultipleFilesMessage-c5266ca8.js.map +1 -0
  513. package/cjs/useSendbirdStateContext.js +1 -1
  514. package/cjs/utils/message/isVoiceMessage.js +3 -2
  515. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  516. package/cjs/{utils-b6cca626.js → utils-1e9e97b5.js} +4 -4
  517. package/cjs/{utils-b6cca626.js.map → utils-1e9e97b5.js.map} +1 -1
  518. package/cjs/{utils-657ea6e9.js → utils-4e18a724.js} +1 -1
  519. package/cjs/{utils-657ea6e9.js.map → utils-4e18a724.js.map} +1 -1
  520. package/cjs/{utils-c2f38151.js → utils-8958cb75.js} +1 -1
  521. package/cjs/{utils-c2f38151.js.map → utils-8958cb75.js.map} +1 -1
  522. package/cjs/{utils-90a7cd20.js → utils-b3e9e1b8.js} +2 -2
  523. package/cjs/{utils-90a7cd20.js.map → utils-b3e9e1b8.js.map} +1 -1
  524. package/cjs/{utils-cc9de39b.js → utils-d5a929c9.js} +1 -1
  525. package/cjs/{utils-cc9de39b.js.map → utils-d5a929c9.js.map} +1 -1
  526. package/cjs/utils-d6285655.js +62 -0
  527. package/cjs/utils-d6285655.js.map +1 -0
  528. package/cjs/{uuid-b2882230.js → uuid-34728ced.js} +1 -1
  529. package/cjs/{uuid-b2882230.js.map → uuid-34728ced.js.map} +1 -1
  530. package/cjs/withSendbird.js +8 -1
  531. package/cjs/withSendbird.js.map +1 -1
  532. package/{color-65ef45d7.js → color-4cef414f.js} +1 -1
  533. package/{color-65ef45d7.js.map → color-4cef414f.js.map} +1 -1
  534. package/{compareIds-c0aa8024.js → compareIds-7e93f2e7.js} +1 -1
  535. package/{compareIds-c0aa8024.js.map → compareIds-7e93f2e7.js.map} +1 -1
  536. package/{const-2c36fe72.js → const-48ffde74.js} +1 -1
  537. package/{const-2c36fe72.js.map → const-48ffde74.js.map} +1 -1
  538. package/{const-537b3aa9.js → const-6c10846e.js} +1 -1
  539. package/{const-537b3aa9.js.map → const-6c10846e.js.map} +1 -1
  540. package/{consts-397a92f1.js → consts-439d56b4.js} +5 -2
  541. package/{consts-397a92f1.js.map → consts-439d56b4.js.map} +1 -1
  542. package/{consts-ee08d763.js → consts-a979689d.js} +1 -1
  543. package/{consts-ee08d763.js.map → consts-a979689d.js.map} +1 -1
  544. package/{consts-066d732d.js → consts-aad4bf65.js} +1 -1
  545. package/{consts-066d732d.js.map → consts-aad4bf65.js.map} +1 -1
  546. package/{consts-c105f2e8.js → consts-bd684c8d.js} +1 -1
  547. package/{consts-c105f2e8.js.map → consts-bd684c8d.js.map} +1 -1
  548. package/{context-524b02ab.js → context-9946197c.js} +2 -2
  549. package/{context-524b02ab.js.map → context-9946197c.js.map} +1 -1
  550. package/dist/index.css +371 -280
  551. package/dist/index.css.map +1 -1
  552. package/{index-2969a2df.js → index-0a50eba0.js} +20 -12
  553. package/index-0a50eba0.js.map +1 -0
  554. package/{index-72d247f7.js → index-1833cc50.js} +2 -2
  555. package/{index-72d247f7.js.map → index-1833cc50.js.map} +1 -1
  556. package/{index-3f6516a2.js → index-2d23ff73.js} +4 -4
  557. package/index-2d23ff73.js.map +1 -0
  558. package/{index-4236c5c8.js → index-320a1756.js} +2 -2
  559. package/{index-4236c5c8.js.map → index-320a1756.js.map} +1 -1
  560. package/{index-d6ceb67a.js → index-3370a58d.js} +2 -2
  561. package/{index-d6ceb67a.js.map → index-3370a58d.js.map} +1 -1
  562. package/{index-f1d37762.js → index-373d3069.js} +4 -4
  563. package/{index-f1d37762.js.map → index-373d3069.js.map} +1 -1
  564. package/index-44d3dac3.js +132 -0
  565. package/index-44d3dac3.js.map +1 -0
  566. package/{index-91634369.js → index-516ad99d.js} +1 -1
  567. package/{index-91634369.js.map → index-516ad99d.js.map} +1 -1
  568. package/{index-40e8e312.js → index-526cbeea.js} +2 -2
  569. package/{index-40e8e312.js.map → index-526cbeea.js.map} +1 -1
  570. package/{index-4c58b734.js → index-6bca558b.js} +8 -7
  571. package/{index-4c58b734.js.map → index-6bca558b.js.map} +1 -1
  572. package/{index-4c4b34c9.js → index-6d0ae6a0.js} +3 -3
  573. package/{index-4c4b34c9.js.map → index-6d0ae6a0.js.map} +1 -1
  574. package/{index-da7bc750.js → index-825c96d3.js} +3 -3
  575. package/{index-da7bc750.js.map → index-825c96d3.js.map} +1 -1
  576. package/{index-d972c8e3.js → index-9083293d.js} +4 -4
  577. package/{index-d972c8e3.js.map → index-9083293d.js.map} +1 -1
  578. package/{index-aa87ac03.js → index-a0bd5ef9.js} +3 -3
  579. package/{index-aa87ac03.js.map → index-a0bd5ef9.js.map} +1 -1
  580. package/{index-8017e2b5.js → index-b346dc02.js} +10 -9
  581. package/index-b346dc02.js.map +1 -0
  582. package/index-bae83553.js +51 -0
  583. package/index-bae83553.js.map +1 -0
  584. package/{index-39eeabbb.js → index-c323f04b.js} +33 -5
  585. package/index-c323f04b.js.map +1 -0
  586. package/{index-5ebb83a2.js → index-c5cb0bb2.js} +4 -4
  587. package/{index-5ebb83a2.js.map → index-c5cb0bb2.js.map} +1 -1
  588. package/{index-3e2f101e.js → index-d9b66555.js} +6 -6
  589. package/{index-3e2f101e.js.map → index-d9b66555.js.map} +1 -1
  590. package/{index-d16a8084.js → index-e2afa53f.js} +1 -1
  591. package/index-e2afa53f.js.map +1 -0
  592. package/{index-7c1266b5.js → index-fa19fef7.js} +2 -2
  593. package/{index-7c1266b5.js.map → index-fa19fef7.js.map} +1 -1
  594. package/index.d.ts +155 -31
  595. package/index.js +60 -55
  596. package/index.js.map +1 -1
  597. package/{index.module-b694546f.js → index.module-efef0194.js} +1 -1
  598. package/{index.module-b694546f.js.map → index.module-efef0194.js.map} +1 -1
  599. package/package.json +1 -1
  600. package/{resolvedReplyType-97610f1a.js → resolvedReplyType-84f1270f.js} +1 -1
  601. package/{resolvedReplyType-97610f1a.js.map → resolvedReplyType-84f1270f.js.map} +1 -1
  602. package/sendbirdSelectors.js +3 -3
  603. package/stringFormatterUtils-beea8d82.js +14 -0
  604. package/stringFormatterUtils-beea8d82.js.map +1 -0
  605. package/{stringSet-ed242956.js → stringSet-9fe06e0d.js} +1 -1
  606. package/{stringSet-ed242956.js.map → stringSet-9fe06e0d.js.map} +1 -1
  607. package/{tokenize-3c45100f.js → tokenize-d34eb5c6.js} +2 -2
  608. package/{tokenize-3c45100f.js.map → tokenize-d34eb5c6.js.map} +1 -1
  609. package/{topics-da8f3f42.js → topics-edd6182d.js} +1 -1
  610. package/{topics-da8f3f42.js.map → topics-edd6182d.js.map} +1 -1
  611. package/{types-3826bbff.js → types-269fec15.js} +1 -1
  612. package/types-269fec15.js.map +1 -0
  613. package/ui/Accordion.js +2 -2
  614. package/ui/AccordionGroup.js +2 -2
  615. package/ui/AdminMessage.js +2 -2
  616. package/ui/Avatar.js +1 -1
  617. package/ui/Badge.js +4 -4
  618. package/ui/BottomSheet.js +6 -1
  619. package/ui/BottomSheet.js.map +1 -1
  620. package/ui/Button.js +10 -12
  621. package/ui/Button.js.map +1 -1
  622. package/ui/ChannelAvatar.js +2 -2
  623. package/ui/ConnectionStatus.js +4 -4
  624. package/ui/ContextMenu.js +6 -5
  625. package/ui/ContextMenu.js.map +1 -1
  626. package/ui/DateSeparator.js +3 -3
  627. package/ui/EmojiReactions.js +14 -13
  628. package/ui/EmojiReactions.js.map +1 -1
  629. package/ui/FileMessageItemBody.js +7 -6
  630. package/ui/FileMessageItemBody.js.map +1 -1
  631. package/ui/FileViewer.js +14 -13
  632. package/ui/FileViewer.js.map +1 -1
  633. package/ui/Icon.js +3 -0
  634. package/ui/Icon.js.map +1 -1
  635. package/ui/IconButton.js +1 -1
  636. package/ui/ImageRenderer.js +59 -15
  637. package/ui/ImageRenderer.js.map +1 -1
  638. package/ui/Input.js +2 -2
  639. package/ui/Label.js +2 -2
  640. package/ui/LinkLabel.js +2 -2
  641. package/ui/MentionLabel.js +11 -10
  642. package/ui/MentionLabel.js.map +1 -1
  643. package/ui/MentionUserLabel.js +1 -1
  644. package/ui/MessageContent.js +42 -33
  645. package/ui/MessageContent.js.map +1 -1
  646. package/ui/MessageInput/hooks/usePaste.js +4 -4
  647. package/ui/MessageInput.js +54 -40
  648. package/ui/MessageInput.js.map +1 -1
  649. package/ui/MessageItemMenu.js +9 -8
  650. package/ui/MessageItemMenu.js.map +1 -1
  651. package/ui/MessageItemReactionMenu.js +9 -8
  652. package/ui/MessageItemReactionMenu.js.map +1 -1
  653. package/ui/MessageSearchFileItem.js +18 -18
  654. package/ui/MessageSearchFileItem.js.map +1 -1
  655. package/ui/MessageSearchItem.js +8 -8
  656. package/ui/MessageStatus.js +11 -10
  657. package/ui/MessageStatus.js.map +1 -1
  658. package/ui/Modal.js +26 -18
  659. package/ui/Modal.js.map +1 -1
  660. package/ui/OGMessageItemBody.js +14 -14
  661. package/ui/OpenChannelAdminMessage.js +2 -2
  662. package/ui/OpenChannelAvatar.js +5 -5
  663. package/ui/OpenchannelConversationHeader.js +6 -6
  664. package/ui/OpenchannelFileMessage.js +16 -15
  665. package/ui/OpenchannelFileMessage.js.map +1 -1
  666. package/ui/OpenchannelOGMessage.js +18 -18
  667. package/ui/OpenchannelThumbnailMessage.js +15 -14
  668. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  669. package/ui/OpenchannelUserMessage.js +16 -15
  670. package/ui/OpenchannelUserMessage.js.map +1 -1
  671. package/ui/PlaceHolder.js +5 -5
  672. package/ui/PlaybackTime.js +2 -2
  673. package/ui/QuoteMessage.js +15 -13
  674. package/ui/QuoteMessage.js.map +1 -1
  675. package/ui/QuoteMessageInput.js +14 -12
  676. package/ui/QuoteMessageInput.js.map +1 -1
  677. package/ui/ReactionBadge.js +2 -2
  678. package/ui/ReactionButton.js +4 -4
  679. package/ui/SortByRow.js +1 -1
  680. package/ui/TextButton.js +1 -1
  681. package/ui/TextMessageItemBody.js +14 -14
  682. package/ui/ThreadReplies.js +5 -5
  683. package/ui/ThumbnailMessageItemBody.js +14 -15
  684. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  685. package/ui/Toggle.js +1 -1
  686. package/ui/Tooltip.js +2 -2
  687. package/ui/UnknownMessageItemBody.js +7 -6
  688. package/ui/UnknownMessageItemBody.js.map +1 -1
  689. package/ui/UserListItem.js +11 -10
  690. package/ui/UserListItem.js.map +1 -1
  691. package/ui/UserProfile.js +9 -9
  692. package/ui/VoiceMessageItemBody.js +12 -10
  693. package/ui/VoiceMessageItemBody.js.map +1 -1
  694. package/ui/VoiceMessgeInput.js +7 -7
  695. package/ui/Word.js +11 -10
  696. package/ui/Word.js.map +1 -1
  697. package/{VoiceMessageInputWrapper-b074aec5.js → useHandleUploadFiles-210750cc.js} +130 -10
  698. package/useHandleUploadFiles-210750cc.js.map +1 -0
  699. package/{useLongPress-0189f9c3.js → useLongPress-4b698dbb.js} +3 -3
  700. package/{useLongPress-0189f9c3.js.map → useLongPress-4b698dbb.js.map} +1 -1
  701. package/useSendMultipleFilesMessage-4a45ffbe.js +107 -0
  702. package/useSendMultipleFilesMessage-4a45ffbe.js.map +1 -0
  703. package/useSendbirdStateContext.js +1 -1
  704. package/utils/message/isVoiceMessage.js +3 -2
  705. package/utils/message/isVoiceMessage.js.map +1 -1
  706. package/{utils-40781609.js → utils-1bfac67e.js} +1 -1
  707. package/{utils-40781609.js.map → utils-1bfac67e.js.map} +1 -1
  708. package/{utils-cae5adba.js → utils-4d948dec.js} +2 -2
  709. package/{utils-cae5adba.js.map → utils-4d948dec.js.map} +1 -1
  710. package/{utils-3bd17cc2.js → utils-55c9df93.js} +1 -1
  711. package/{utils-3bd17cc2.js.map → utils-55c9df93.js.map} +1 -1
  712. package/utils-73dd35ca.js +57 -0
  713. package/utils-73dd35ca.js.map +1 -0
  714. package/{utils-373b8143.js → utils-a184f6ea.js} +1 -1
  715. package/{utils-373b8143.js.map → utils-a184f6ea.js.map} +1 -1
  716. package/{utils-b7161189.js → utils-ec15538c.js} +4 -4
  717. package/{utils-b7161189.js.map → utils-ec15538c.js.map} +1 -1
  718. package/{uuid-6d982751.js → uuid-9094f15c.js} +1 -1
  719. package/{uuid-6d982751.js.map → uuid-9094f15c.js.map} +1 -1
  720. package/withSendbird.js +8 -1
  721. package/withSendbird.js.map +1 -1
  722. package/ChannelProvider-d6dedff9.js.map +0 -1
  723. package/OpenChannelProvider-8fdab056.js.map +0 -1
  724. package/RemoveMessageModal-715f4bd6.js.map +0 -1
  725. package/ThreadProvider-696e3a32.js.map +0 -1
  726. package/VoiceMessageInputWrapper-b074aec5.js.map +0 -1
  727. package/_rollupPluginBabelHelpers-0f2ee8c1.js.map +0 -1
  728. package/cjs/ChannelProvider-c8bc29d3.js.map +0 -1
  729. package/cjs/OpenChannelProvider-57c10c09.js.map +0 -1
  730. package/cjs/RemoveMessageModal-029b1c86.js.map +0 -1
  731. package/cjs/ThreadProvider-9dfc3ad5.js.map +0 -1
  732. package/cjs/VoiceMessageInputWrapper-953affee.js.map +0 -1
  733. package/cjs/_rollupPluginBabelHelpers-117c3ffb.js.map +0 -1
  734. package/cjs/index-0599b6f2.js.map +0 -1
  735. package/cjs/index-2413bae4.js.map +0 -1
  736. package/cjs/index-2d4ea9ad.js.map +0 -1
  737. package/cjs/index-464461c9.js.map +0 -1
  738. package/cjs/index-b64ce51a.js.map +0 -1
  739. package/cjs/types-79ca7893.js.map +0 -1
  740. package/index-2969a2df.js.map +0 -1
  741. package/index-39eeabbb.js.map +0 -1
  742. package/index-3f6516a2.js.map +0 -1
  743. package/index-8017e2b5.js.map +0 -1
  744. package/index-d16a8084.js.map +0 -1
  745. package/types-3826bbff.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadMessageInput.js","sources":["../../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","_ref","userId","i","indexOf","splice","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","quoteMessage","endTyping","onFileUpload","file","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadMessageInput.js","sources":["../../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\nimport { useHandleUploadFiles } from '../../../Channel/components/MessageInput/useHandleUploadFiles';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n isMultipleFilesMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // MFM\n const [handleUploadFiles] = useHandleUploadFiles({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage: parentMessage,\n }, {\n logger,\n });\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n isSelectingMultipleFilesEnabled={isMultipleFilesMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={handleUploadFiles}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","isMultipleFilesMessageEnabled","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","sendMultipleFilesMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","handleUploadFiles","useHandleUploadFiles","quoteMessage","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","_ref","userId","i","indexOf","splice","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","isSelectingMultipleFilesEnabled","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","endTyping","onFileUpload","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
@@ -2,49 +2,53 @@
2
2
 
3
3
  var React = require('react');
4
4
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
5
- var LocalizationContext = require('../../LocalizationContext-9c99457f.js');
6
- var utils = require('../../utils-90a7cd20.js');
7
- var Thread_context = require('../../ThreadProvider-9dfc3ad5.js');
5
+ var LocalizationContext = require('../../LocalizationContext-eb7a59da.js');
6
+ var utils = require('../../utils-b3e9e1b8.js');
7
+ var Thread_context = require('../../ThreadProvider-4c93de8a.js');
8
8
  var Thread_components_ParentMessageInfo = require('./ParentMessageInfo.js');
9
9
  var Thread_components_ThreadHeader = require('./ThreadHeader.js');
10
10
  var Thread_components_ThreadList = require('./ThreadList.js');
11
11
  var Thread_components_ThreadMessageInput = require('./ThreadMessageInput.js');
12
12
  var Thread_context_types = require('../context/types.js');
13
- var ui_PlaceHolder = require('../../index-9cffff55.js');
14
- var ui_Label = require('../../index-4eb2a000.js');
13
+ var ui_PlaceHolder = require('../../index-494b5c25.js');
14
+ var ui_Label = require('../../index-f40c4cf0.js');
15
15
  var Message_context = require('../../Message/context.js');
16
16
  require('../../withSendbird.js');
17
- require('../../_rollupPluginBabelHelpers-117c3ffb.js');
18
- require('../../stringSet-dbdeec9c.js');
19
- require('../../index-ba4dea0c.js');
20
- require('../../index-c59af641.js');
17
+ require('../../_rollupPluginBabelHelpers-a85bd364.js');
18
+ require('../../stringSet-b75b75ae.js');
19
+ require('../../index-c9a4a555.js');
20
+ require('../../index-de4da1f2.js');
21
21
  require('../../utils/message/getOutgoingMessageState.js');
22
- require('../../UserProfileContext-1f226141.js');
22
+ require('../../UserProfileContext-abe57718.js');
23
23
  require('prop-types');
24
24
  require('@sendbird/chat');
25
- require('../../topics-c495cb3a.js');
25
+ require('../../topics-2c35cfd7.js');
26
26
  require('@sendbird/chat/groupChannel');
27
- require('../../uuid-b2882230.js');
27
+ require('../../uuid-34728ced.js');
28
28
  require('@sendbird/chat/message');
29
- require('../../consts-fb9dd3a0.js');
30
- require('../../RemoveMessageModal-029b1c86.js');
29
+ require('../../consts-7b830cc5.js');
30
+ require('../../useSendMultipleFilesMessage-c5266ca8.js');
31
+ require('../../utils-1e9e97b5.js');
32
+ require('../../index-613acaa0.js');
33
+ require('../../index.module-5c951066.js');
34
+ require('../../RemoveMessageModal-7ed24af4.js');
31
35
  require('../../ui/Modal.js');
32
36
  require('react-dom');
33
- require('../../index-2413bae4.js');
37
+ require('../../utils-8958cb75.js');
38
+ require('../../index-5628e0c0.js');
39
+ require('../../MediaQueryContext-ca045060.js');
40
+ require('../../ui/IconButton.js');
34
41
  require('../../ui/Button.js');
35
42
  require('../../ui/Icon.js');
36
- require('../../ui/IconButton.js');
37
- require('../../MediaQueryContext-a5c77095.js');
43
+ require('../../stringFormatterUtils-3e53394c.js');
38
44
  require('./ParentMessageInfoItem.js');
39
- require('../../index-0599b6f2.js');
40
45
  require('../../ui/ImageRenderer.js');
41
46
  require('../../ui/TextButton.js');
42
- require('../../color-a057a4c2.js');
47
+ require('../../color-2f1198fc.js');
43
48
  require('../../ui/EmojiReactions.js');
44
49
  require('../../ui/ReactionBadge.js');
45
50
  require('../../ui/ReactionButton.js');
46
- require('../../useLongPress-e7c92bb0.js');
47
- require('../../utils-c2f38151.js');
51
+ require('../../useLongPress-49aa9a49.js');
48
52
  require('../../ui/ContextMenu.js');
49
53
  require('../../ui/SortByRow.js');
50
54
  require('../../ui/BottomSheet.js');
@@ -59,48 +63,49 @@ require('../../ui/TooltipWrapper.js');
59
63
  require('../../ui/VoiceMessageItemBody.js');
60
64
  require('../../ui/ProgressBar.js');
61
65
  require('../../VoicePlayer/useVoicePlayer.js');
62
- require('../../index-fe1b738f.js');
66
+ require('../../index-6e0a495a.js');
63
67
  require('../../VoiceRecorder/context.js');
64
68
  require('../../ui/PlaybackTime.js');
65
69
  require('../../ui/Loader.js');
66
- require('../../index-dc15cf44.js');
67
- require('../../index.module-2c2cf337.js');
68
- require('../../tokenize-7204c391.js');
70
+ require('../../index-0f229ac7.js');
71
+ require('../../tokenize-42536b7a.js');
69
72
  require('../../ui/MentionLabel.js');
70
73
  require('../../ui/LinkLabel.js');
71
- require('../../ChannelProvider-c8bc29d3.js');
72
- require('../../const-8e4d382d.js');
73
- require('../../utils-b6cca626.js');
74
- require('../../compareIds-49d9aea6.js');
75
- require('../../resolvedReplyType-053d2dbc.js');
74
+ require('../../index-f0b55959.js');
75
+ require('../../index-4d39de27.js');
76
+ require('../../ChannelProvider-2ee005bc.js');
77
+ require('../../const-95881697.js');
78
+ require('../../compareIds-89c258a0.js');
79
+ require('../../resolvedReplyType-314fee09.js');
76
80
  require('../../Channel/components/SuggestedMentionList.js');
77
- require('../../const-cd9b71c8.js');
78
- require('../../index-b64ce51a.js');
81
+ require('../../const-24d498a6.js');
79
82
  require('../../ui/MessageItemMenu.js');
80
- require('../../types-79ca7893.js');
83
+ require('../../types-382588b3.js');
81
84
  require('../../ui/MessageItemReactionMenu.js');
82
85
  require('../../ui/MessageInput.js');
83
- require('../../index-2d4ea9ad.js');
86
+ require('../../index-7e10ab98.js');
84
87
  require('dompurify');
85
- require('../../consts-4a51c64b.js');
86
- require('../../consts-3afe4fa8.js');
87
- require('../../consts-d866b64a.js');
88
- require('../../index-5b3bc2e9.js');
88
+ require('../../consts-2957b793.js');
89
+ require('../../consts-c5d38c32.js');
90
+ require('../../consts-dde4f05d.js');
91
+ require('../../index-1f796e5a.js');
89
92
  require('../../Message/hooks/useDirtyGetMentions.js');
90
93
  require('./ThreadListItem.js');
91
94
  require('../../ui/DateSeparator.js');
92
- require('../../index-464461c9.js');
93
- require('../../index-0d4c4adf.js');
94
- require('../../index-df172622.js');
95
+ require('../../index-910f48df.js');
96
+ require('../../index-9813a2f9.js');
97
+ require('../../index-03655429.js');
95
98
  require('../../ui/TextMessageItemBody.js');
96
99
  require('../../ui/OGMessageItemBody.js');
97
100
  require('../../ui/FileMessageItemBody.js');
98
101
  require('../../ui/ThumbnailMessageItemBody.js');
102
+ require('../../utils-d6285655.js');
99
103
  require('../../ui/UnknownMessageItemBody.js');
100
104
  require('date-fns');
101
- require('../../VoiceMessageInputWrapper-953affee.js');
105
+ require('../../useHandleUploadFiles-84bd5a9a.js');
102
106
  require('../../VoiceRecorder/useVoiceRecorder.js');
103
- require('../../index-15e4fb71.js');
107
+ require('../../index-2fbc5922.js');
108
+ require('../../index-28c0a443.js');
104
109
 
105
110
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
106
111
 
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadUI.js","sources":["../../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n allThreadMessages={allThreadMessages}\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_ref","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","_parentMessage$sender","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","useThreadContext","replyCount","length","isByMe","sender","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","scrollBottom","setScrollBottom","useState","scrollRef","useRef","onScroll","e","_scrollRef$current","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","_firstNode$scrollInto","scrollIntoView","call","block","inline","error","scrollTop_","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadUI.js","sources":["../../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n allThreadMessages={allThreadMessages}\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_ref","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","_parentMessage$sender","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","useThreadContext","replyCount","length","isByMe","sender","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","scrollBottom","setScrollBottom","useState","scrollRef","useRef","onScroll","e","_scrollRef$current","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","_firstNode$scrollInto","scrollIntoView","call","block","inline","error","scrollTop_","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
@@ -3,22 +3,26 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- var Thread_context = require('../ThreadProvider-9dfc3ad5.js');
7
- require('../UserProfileContext-1f226141.js');
6
+ var Thread_context = require('../ThreadProvider-4c93de8a.js');
7
+ require('../UserProfileContext-abe57718.js');
8
8
  require('../useSendbirdStateContext.js');
9
- require('../index-c59af641.js');
10
- require('../index-ba4dea0c.js');
9
+ require('../useSendMultipleFilesMessage-c5266ca8.js');
10
+ require('../index-de4da1f2.js');
11
+ require('../index-c9a4a555.js');
11
12
  require('../utils/message/getOutgoingMessageState.js');
12
- require('../_rollupPluginBabelHelpers-117c3ffb.js');
13
+ require('../_rollupPluginBabelHelpers-a85bd364.js');
13
14
  require('./context/types.js');
14
15
  require('@sendbird/chat');
15
- require('../topics-c495cb3a.js');
16
+ require('../topics-2c35cfd7.js');
16
17
  require('@sendbird/chat/groupChannel');
17
- require('../uuid-b2882230.js');
18
+ require('../uuid-34728ced.js');
18
19
  require('@sendbird/chat/message');
19
- require('../consts-fb9dd3a0.js');
20
+ require('../consts-7b830cc5.js');
20
21
  require('prop-types');
21
22
  require('../withSendbird.js');
23
+ require('../utils-1e9e97b5.js');
24
+ require('../index-613acaa0.js');
25
+ require('../index.module-5c951066.js');
22
26
 
23
27
 
24
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/cjs/Thread.js CHANGED
@@ -1,46 +1,50 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Thread_context = require('./ThreadProvider-9dfc3ad5.js');
4
+ var Thread_context = require('./ThreadProvider-4c93de8a.js');
5
5
  var Thread_components_ThreadUI = require('./Thread/components/ThreadUI.js');
6
- require('./index-c59af641.js');
7
- require('./index-ba4dea0c.js');
6
+ require('./index-de4da1f2.js');
7
+ require('./index-c9a4a555.js');
8
8
  require('./utils/message/getOutgoingMessageState.js');
9
- require('./UserProfileContext-1f226141.js');
9
+ require('./UserProfileContext-abe57718.js');
10
10
  require('prop-types');
11
11
  require('./useSendbirdStateContext.js');
12
12
  require('./withSendbird.js');
13
- require('./_rollupPluginBabelHelpers-117c3ffb.js');
13
+ require('./_rollupPluginBabelHelpers-a85bd364.js');
14
14
  require('./Thread/context/types.js');
15
15
  require('@sendbird/chat');
16
- require('./topics-c495cb3a.js');
16
+ require('./topics-2c35cfd7.js');
17
17
  require('@sendbird/chat/groupChannel');
18
- require('./uuid-b2882230.js');
18
+ require('./uuid-34728ced.js');
19
19
  require('@sendbird/chat/message');
20
- require('./consts-fb9dd3a0.js');
21
- require('./LocalizationContext-9c99457f.js');
22
- require('./stringSet-dbdeec9c.js');
23
- require('./utils-90a7cd20.js');
24
- require('./index-4eb2a000.js');
20
+ require('./consts-7b830cc5.js');
21
+ require('./useSendMultipleFilesMessage-c5266ca8.js');
22
+ require('./utils-1e9e97b5.js');
23
+ require('./index-613acaa0.js');
24
+ require('./index.module-5c951066.js');
25
+ require('./LocalizationContext-eb7a59da.js');
26
+ require('./stringSet-b75b75ae.js');
27
+ require('./utils-b3e9e1b8.js');
28
+ require('./index-f40c4cf0.js');
25
29
  require('./Thread/components/ParentMessageInfo.js');
26
- require('./RemoveMessageModal-029b1c86.js');
30
+ require('./RemoveMessageModal-7ed24af4.js');
27
31
  require('./ui/Modal.js');
28
32
  require('react-dom');
29
- require('./index-2413bae4.js');
33
+ require('./utils-8958cb75.js');
34
+ require('./index-5628e0c0.js');
35
+ require('./MediaQueryContext-ca045060.js');
36
+ require('./ui/IconButton.js');
30
37
  require('./ui/Button.js');
31
38
  require('./ui/Icon.js');
32
- require('./ui/IconButton.js');
33
- require('./MediaQueryContext-a5c77095.js');
39
+ require('./stringFormatterUtils-3e53394c.js');
34
40
  require('./Thread/components/ParentMessageInfoItem.js');
35
- require('./index-0599b6f2.js');
36
41
  require('./ui/ImageRenderer.js');
37
42
  require('./ui/TextButton.js');
38
- require('./color-a057a4c2.js');
43
+ require('./color-2f1198fc.js');
39
44
  require('./ui/EmojiReactions.js');
40
45
  require('./ui/ReactionBadge.js');
41
46
  require('./ui/ReactionButton.js');
42
- require('./useLongPress-e7c92bb0.js');
43
- require('./utils-c2f38151.js');
47
+ require('./useLongPress-49aa9a49.js');
44
48
  require('./ui/ContextMenu.js');
45
49
  require('./ui/SortByRow.js');
46
50
  require('./ui/BottomSheet.js');
@@ -56,52 +60,53 @@ require('./Message/context.js');
56
60
  require('./ui/VoiceMessageItemBody.js');
57
61
  require('./ui/ProgressBar.js');
58
62
  require('./VoicePlayer/useVoicePlayer.js');
59
- require('./index-fe1b738f.js');
63
+ require('./index-6e0a495a.js');
60
64
  require('./VoiceRecorder/context.js');
61
65
  require('./ui/PlaybackTime.js');
62
66
  require('./ui/Loader.js');
63
- require('./index-dc15cf44.js');
64
- require('./index.module-2c2cf337.js');
65
- require('./tokenize-7204c391.js');
67
+ require('./index-0f229ac7.js');
68
+ require('./tokenize-42536b7a.js');
66
69
  require('./ui/MentionLabel.js');
67
70
  require('./ui/LinkLabel.js');
68
- require('./ChannelProvider-c8bc29d3.js');
69
- require('./const-8e4d382d.js');
70
- require('./utils-b6cca626.js');
71
- require('./compareIds-49d9aea6.js');
72
- require('./resolvedReplyType-053d2dbc.js');
71
+ require('./index-f0b55959.js');
72
+ require('./index-4d39de27.js');
73
+ require('./ChannelProvider-2ee005bc.js');
74
+ require('./const-95881697.js');
75
+ require('./compareIds-89c258a0.js');
76
+ require('./resolvedReplyType-314fee09.js');
73
77
  require('./Channel/components/SuggestedMentionList.js');
74
- require('./const-cd9b71c8.js');
75
- require('./index-b64ce51a.js');
78
+ require('./const-24d498a6.js');
76
79
  require('./ui/MessageItemMenu.js');
77
- require('./types-79ca7893.js');
80
+ require('./types-382588b3.js');
78
81
  require('./ui/MessageItemReactionMenu.js');
79
82
  require('./ui/MessageInput.js');
80
- require('./index-2d4ea9ad.js');
83
+ require('./index-7e10ab98.js');
81
84
  require('dompurify');
82
- require('./consts-4a51c64b.js');
83
- require('./consts-3afe4fa8.js');
84
- require('./consts-d866b64a.js');
85
- require('./index-5b3bc2e9.js');
85
+ require('./consts-2957b793.js');
86
+ require('./consts-c5d38c32.js');
87
+ require('./consts-dde4f05d.js');
88
+ require('./index-1f796e5a.js');
86
89
  require('./Message/hooks/useDirtyGetMentions.js');
87
90
  require('./Thread/components/ThreadHeader.js');
88
91
  require('./Thread/components/ThreadList.js');
89
92
  require('./Thread/components/ThreadListItem.js');
90
93
  require('./ui/DateSeparator.js');
91
- require('./index-464461c9.js');
92
- require('./index-0d4c4adf.js');
93
- require('./index-df172622.js');
94
+ require('./index-910f48df.js');
95
+ require('./index-9813a2f9.js');
96
+ require('./index-03655429.js');
94
97
  require('./ui/TextMessageItemBody.js');
95
98
  require('./ui/OGMessageItemBody.js');
96
99
  require('./ui/FileMessageItemBody.js');
97
100
  require('./ui/ThumbnailMessageItemBody.js');
101
+ require('./utils-d6285655.js');
98
102
  require('./ui/UnknownMessageItemBody.js');
99
103
  require('date-fns');
100
104
  require('./Thread/components/ThreadMessageInput.js');
101
- require('./VoiceMessageInputWrapper-953affee.js');
105
+ require('./useHandleUploadFiles-84bd5a9a.js');
102
106
  require('./VoiceRecorder/useVoiceRecorder.js');
103
- require('./index-15e4fb71.js');
104
- require('./index-9cffff55.js');
107
+ require('./index-2fbc5922.js');
108
+ require('./index-28c0a443.js');
109
+ require('./index-494b5c25.js');
105
110
 
106
111
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
107
112
 
@@ -116,6 +121,11 @@ const Thread = props => {
116
121
  message,
117
122
  onHeaderActionClick,
118
123
  onMoveToParentMessage,
124
+ // onBeforeSend~~~Message
125
+ onBeforeSendUserMessage,
126
+ onBeforeSendFileMessage,
127
+ onBeforeSendVoiceMessage,
128
+ onBeforeSendMultipleFilesMessage,
119
129
  // ThreadUIProps
120
130
  renderHeader,
121
131
  renderParentMessageInfo,
@@ -134,7 +144,11 @@ const Thread = props => {
134
144
  channelUrl: channelUrl,
135
145
  message: message,
136
146
  onHeaderActionClick: onHeaderActionClick,
137
- onMoveToParentMessage: onMoveToParentMessage
147
+ onMoveToParentMessage: onMoveToParentMessage,
148
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
149
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
150
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
151
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage
138
152
  }, /*#__PURE__*/React__default["default"].createElement(Thread_components_ThreadUI, {
139
153
  renderHeader: renderHeader,
140
154
  renderParentMessageInfo: renderParentMessageInfo,
package/cjs/Thread.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.js","sources":["../../src/modules/Thread/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ThreadProvider,\n ThreadProviderProps,\n} from './context/ThreadProvider';\nimport ThreadUI, { ThreadUIProps } from './components/ThreadUI';\n\nexport interface ThreadProps extends ThreadProviderProps, ThreadUIProps {\n className?: string;\n}\n\nconst Thread: React.FC<ThreadProps> = (props: ThreadProps) => {\n const {\n // props\n className,\n // ThreadProviderProps\n channelUrl,\n message,\n onHeaderActionClick,\n onMoveToParentMessage,\n // ThreadUIProps\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n return (\n <div className={`sendbird-thread ${className}`}>\n <ThreadProvider\n channelUrl={channelUrl}\n message={message}\n onHeaderActionClick={onHeaderActionClick}\n onMoveToParentMessage={onMoveToParentMessage}\n >\n <ThreadUI\n renderHeader={renderHeader}\n renderParentMessageInfo={renderParentMessageInfo}\n renderMessage={renderMessage}\n renderMessageInput={renderMessageInput}\n renderCustomSeparator={renderCustomSeparator}\n renderParentMessageInfoPlaceholder={renderParentMessageInfoPlaceholder}\n renderThreadListPlaceHolder={renderThreadListPlaceHolder}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n </ThreadProvider>\n </div>\n );\n};\n\nexport default Thread;\n"],"names":["Thread","props","className","channelUrl","message","onHeaderActionClick","onMoveToParentMessage","renderHeader","renderParentMessageInfo","renderMessage","renderMessageInput","renderCustomSeparator","renderParentMessageInfoPlaceholder","renderThreadListPlaceHolder","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","React","createElement","ThreadProvider","ThreadUI"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYMA,MAAAA,MAA6B,GAAIC,KAAkB,IAAK;EAC5D,MAAM;AACJ;IACAC,SAAS;AACT;IACAC,UAAU;IACVC,OAAO;IACPC,mBAAmB;IACnBC,qBAAqB;AACrB;IACAC,YAAY;IACZC,uBAAuB;IACvBC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,oBAAoB;IACpBC,sBAAsB;AACtBC,IAAAA,qBAAAA;AACF,GAAC,GAAGf,KAAK,CAAA;EACT,oBACEgB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKhB,SAAS,EAAG,mBAAkBA,SAAU,CAAA,CAAA;AAAE,GAAA,eAC7Ce,yBAAA,CAAAC,aAAA,CAACC,6BAAc,EAAA;AACbhB,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,GAAA,eAE7CW,yBAAA,CAAAC,aAAA,CAACE,0BAAQ,EAAA;AACPb,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,kCAAkC,EAAEA,kCAAmC;AACvEC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,GAAA,CAC7C,CACa,CACb,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Thread.js","sources":["../../src/modules/Thread/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ThreadProvider,\n ThreadProviderProps,\n} from './context/ThreadProvider';\nimport ThreadUI, { ThreadUIProps } from './components/ThreadUI';\n\nexport interface ThreadProps extends ThreadProviderProps, ThreadUIProps {\n className?: string;\n}\n\nconst Thread: React.FC<ThreadProps> = (props: ThreadProps) => {\n const {\n // props\n className,\n // ThreadProviderProps\n channelUrl,\n message,\n onHeaderActionClick,\n onMoveToParentMessage,\n // onBeforeSend~~~Message\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeSendVoiceMessage,\n onBeforeSendMultipleFilesMessage,\n // ThreadUIProps\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n return (\n <div className={`sendbird-thread ${className}`}>\n <ThreadProvider\n channelUrl={channelUrl}\n message={message}\n onHeaderActionClick={onHeaderActionClick}\n onMoveToParentMessage={onMoveToParentMessage}\n onBeforeSendUserMessage={onBeforeSendUserMessage}\n onBeforeSendFileMessage={onBeforeSendFileMessage}\n onBeforeSendVoiceMessage={onBeforeSendVoiceMessage}\n onBeforeSendMultipleFilesMessage={onBeforeSendMultipleFilesMessage}\n >\n <ThreadUI\n renderHeader={renderHeader}\n renderParentMessageInfo={renderParentMessageInfo}\n renderMessage={renderMessage}\n renderMessageInput={renderMessageInput}\n renderCustomSeparator={renderCustomSeparator}\n renderParentMessageInfoPlaceholder={renderParentMessageInfoPlaceholder}\n renderThreadListPlaceHolder={renderThreadListPlaceHolder}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n </ThreadProvider>\n </div>\n );\n};\n\nexport default Thread;\n"],"names":["Thread","props","className","channelUrl","message","onHeaderActionClick","onMoveToParentMessage","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeSendVoiceMessage","onBeforeSendMultipleFilesMessage","renderHeader","renderParentMessageInfo","renderMessage","renderMessageInput","renderCustomSeparator","renderParentMessageInfoPlaceholder","renderThreadListPlaceHolder","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","React","createElement","ThreadProvider","ThreadUI"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYMA,MAAAA,MAA6B,GAAIC,KAAkB,IAAK;EAC5D,MAAM;AACJ;IACAC,SAAS;AACT;IACAC,UAAU;IACVC,OAAO;IACPC,mBAAmB;IACnBC,qBAAqB;AACrB;IACAC,uBAAuB;IACvBC,uBAAuB;IACvBC,wBAAwB;IACxBC,gCAAgC;AAChC;IACAC,YAAY;IACZC,uBAAuB;IACvBC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,oBAAoB;IACpBC,sBAAsB;AACtBC,IAAAA,qBAAAA;AACF,GAAC,GAAGnB,KAAK,CAAA;EACT,oBACEoB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKpB,SAAS,EAAG,mBAAkBA,SAAU,CAAA,CAAA;AAAE,GAAA,eAC7CmB,yBAAA,CAAAC,aAAA,CAACC,6BAAc,EAAA;AACbpB,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,gCAAgC,EAAEA,gCAAAA;AAAiC,GAAA,eAEnEW,yBAAA,CAAAC,aAAA,CAACE,0BAAQ,EAAA;AACPb,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,kCAAkC,EAAEA,kCAAmC;AACvEC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,GAAA,CAC7C,CACa,CACb,CAAA;AAEV;;;;"}