@sendbird/uikit-react 3.6.11-beta.2 → 3.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. package/App.js +272 -345
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +134 -0
  4. package/Channel/components/ChannelHeader.js +45 -50
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +76 -77
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +53 -58
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +9 -12
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +198 -176
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +137 -130
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +171 -161
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +40 -41
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +156 -136
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +47 -48
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +17 -18
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +17 -17
  27. package/Channel/utils/compareMessagesForGrouping.js +11 -11
  28. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  29. package/Channel/utils/getMessagePartsInfo.js +32 -26
  30. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  31. package/Channel.js +54 -51
  32. package/Channel.js.map +1 -1
  33. package/ChannelList/components/AddChannel.js +32 -30
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +22 -31
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +93 -88
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +79 -75
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +85 -91
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +38 -35
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelListProvider-f520f5b3.js +1051 -0
  48. package/ChannelListProvider-f520f5b3.js.map +1 -0
  49. package/ChannelProvider-7f6fd1f8.js +2080 -0
  50. package/ChannelProvider-7f6fd1f8.js.map +1 -0
  51. package/ChannelSettings/components/ChannelProfile.js +42 -37
  52. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  53. package/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  54. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  55. package/ChannelSettings/components/EditDetailsModal.js +54 -52
  56. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  57. package/ChannelSettings/components/LeaveChannel.js +39 -41
  58. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  59. package/ChannelSettings/components/ModerationPanel.js +552 -509
  60. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  61. package/ChannelSettings/components/UserListItem.js +66 -66
  62. package/ChannelSettings/components/UserListItem.js.map +1 -1
  63. package/ChannelSettings/components/UserPanel.js +29 -26
  64. package/ChannelSettings/components/UserPanel.js.map +1 -1
  65. package/ChannelSettings/context.js +52 -57
  66. package/ChannelSettings/context.js.map +1 -1
  67. package/ChannelSettings.js +20 -19
  68. package/ChannelSettings.js.map +1 -1
  69. package/CreateChannel/components/CreateChannelUI.js +23 -25
  70. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  71. package/CreateChannel/components/InviteUsers.js +106 -102
  72. package/CreateChannel/components/InviteUsers.js.map +1 -1
  73. package/CreateChannel/components/SelectChannelType.js +38 -43
  74. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  75. package/CreateChannel/context.js +4 -4
  76. package/CreateChannel.js +22 -23
  77. package/CreateChannel.js.map +1 -1
  78. package/CreateChannelProvider-c25dd81b.js +48 -0
  79. package/{CreateChannelProvider-a2fad282.js.map → CreateChannelProvider-c25dd81b.js.map} +1 -1
  80. package/CreateOpenChannel/components/CreateOpenChannelUI.js +38 -36
  81. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  82. package/CreateOpenChannel/context.js +29 -34
  83. package/CreateOpenChannel/context.js.map +1 -1
  84. package/CreateOpenChannel.js +20 -21
  85. package/CreateOpenChannel.js.map +1 -1
  86. package/EditUserProfile/components/EditUserProfileUI.js +152 -21
  87. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  88. package/EditUserProfile/context.js +13 -13
  89. package/EditUserProfile/context.js.map +1 -1
  90. package/EditUserProfile.js +19 -19
  91. package/EditUserProfile.js.map +1 -1
  92. package/LocalizationContext-d18a86d8.js +20 -0
  93. package/{LocalizationContext-2463058b.js.map → LocalizationContext-d18a86d8.js.map} +1 -1
  94. package/MediaQueryContext-3eeeec4f.js +85 -0
  95. package/MediaQueryContext-3eeeec4f.js.map +1 -0
  96. package/MemberList-469dae9b.js +422 -0
  97. package/{MemberList-593867cb.js.map → MemberList-469dae9b.js.map} +1 -1
  98. package/Message/context.js +11 -12
  99. package/Message/context.js.map +1 -1
  100. package/Message/hooks/useDirtyGetMentions.js +21 -26
  101. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  102. package/MessageSearch/components/MessageSearchUI.js +56 -61
  103. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  104. package/MessageSearch/context.js +166 -177
  105. package/MessageSearch/context.js.map +1 -1
  106. package/MessageSearch.js +49 -47
  107. package/MessageSearch.js.map +1 -1
  108. package/OpenChannel/components/FrozenChannelNotification.js +6 -8
  109. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelHeader.js +22 -27
  111. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  112. package/OpenChannel/components/OpenChannelInput.js +32 -35
  113. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  114. package/OpenChannel/components/OpenChannelMessage.js +170 -171
  115. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  116. package/OpenChannel/components/OpenChannelMessageList.js +70 -64
  117. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  118. package/OpenChannel/components/OpenChannelUI.js +53 -54
  119. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  120. package/OpenChannel/context.js +8 -9
  121. package/OpenChannel/context.js.map +1 -1
  122. package/OpenChannel.js +37 -35
  123. package/OpenChannel.js.map +1 -1
  124. package/OpenChannelList/components/OpenChannelListUI.js +63 -61
  125. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  126. package/OpenChannelList/components/OpenChannelPreview.js +22 -21
  127. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  128. package/OpenChannelList/context.js +3 -3
  129. package/OpenChannelList.js +27 -27
  130. package/OpenChannelList.js.map +1 -1
  131. package/{OpenChannelListProvider-a0a09f0b.js → OpenChannelListProvider-24e735a1.js} +156 -178
  132. package/{OpenChannelListProvider-a0a09f0b.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
  133. package/OpenChannelProvider-e9cb0f98.js +1850 -0
  134. package/{OpenChannelProvider-3e4b8c8e.js.map → OpenChannelProvider-e9cb0f98.js.map} +1 -1
  135. package/OpenChannelSettings/components/EditDetailsModal.js +52 -51
  136. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  137. package/OpenChannelSettings/components/OpenChannelProfile.js +30 -29
  138. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  139. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -47
  140. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  141. package/OpenChannelSettings/components/OperatorUI.js +550 -518
  142. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  143. package/OpenChannelSettings/components/ParticipantUI.js +16 -15
  144. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  145. package/OpenChannelSettings/context.js +58 -57
  146. package/OpenChannelSettings/context.js.map +1 -1
  147. package/OpenChannelSettings.js +20 -19
  148. package/OpenChannelSettings.js.map +1 -1
  149. package/README.md +4 -4
  150. package/RemoveMessageModal-f0cd37a5.js +33 -0
  151. package/RemoveMessageModal-f0cd37a5.js.map +1 -0
  152. package/SendbirdProvider.js +726 -690
  153. package/SendbirdProvider.js.map +1 -1
  154. package/Thread/components/ParentMessageInfo.js +194 -181
  155. package/Thread/components/ParentMessageInfo.js.map +1 -1
  156. package/Thread/components/ParentMessageInfoItem.js +86 -79
  157. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  158. package/Thread/components/ThreadHeader.js +22 -22
  159. package/Thread/components/ThreadHeader.js.map +1 -1
  160. package/Thread/components/ThreadList.js +126 -94
  161. package/Thread/components/ThreadList.js.map +1 -1
  162. package/Thread/components/ThreadListItem.js +260 -241
  163. package/Thread/components/ThreadListItem.js.map +1 -1
  164. package/Thread/components/ThreadMessageInput.js +121 -120
  165. package/Thread/components/ThreadMessageInput.js.map +1 -1
  166. package/Thread/components/ThreadUI.js +128 -144
  167. package/Thread/components/ThreadUI.js.map +1 -1
  168. package/Thread/context/types.js +9 -9
  169. package/Thread/context/types.js.map +1 -1
  170. package/Thread/context.js +1678 -19
  171. package/Thread/context.js.map +1 -1
  172. package/Thread.js +76 -73
  173. package/Thread.js.map +1 -1
  174. package/UserProfileContext-26e71f9a.js +34 -0
  175. package/UserProfileContext-26e71f9a.js.map +1 -0
  176. package/VoicePlayer/context.js +3 -3
  177. package/VoicePlayer/useVoicePlayer.js +52 -46
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  179. package/VoiceRecorder/context.js +68 -64
  180. package/VoiceRecorder/context.js.map +1 -1
  181. package/VoiceRecorder/useVoiceRecorder.js +50 -52
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  183. package/{WebAudioUtils-f9386235.js → WebAudioUtils-dbb010a5.js} +38 -38
  184. package/{WebAudioUtils-f9386235.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
  185. package/{_rollupPluginBabelHelpers-50c9576f.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
  186. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
  187. package/{actionTypes-501b8c11.js → actionTypes-3cd49b5c.js} +2 -2
  188. package/{actionTypes-501b8c11.js.map → actionTypes-3cd49b5c.js.map} +1 -1
  189. package/cjs/App.js +270 -344
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +44 -49
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +79 -80
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +52 -57
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +9 -12
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +197 -175
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +136 -129
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +173 -163
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +41 -42
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +155 -135
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +46 -47
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +17 -18
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +17 -17
  214. package/cjs/Channel/utils/compareMessagesForGrouping.js +11 -11
  215. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  216. package/cjs/Channel/utils/getMessagePartsInfo.js +32 -26
  217. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  218. package/cjs/Channel.js +54 -51
  219. package/cjs/Channel.js.map +1 -1
  220. package/cjs/ChannelList/components/AddChannel.js +31 -29
  221. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  222. package/cjs/ChannelList/components/ChannelListHeader.js +21 -30
  223. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  224. package/cjs/ChannelList/components/ChannelListUI.js +96 -91
  225. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  226. package/cjs/ChannelList/components/ChannelPreview.js +78 -74
  227. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  228. package/cjs/ChannelList/components/ChannelPreviewAction.js +84 -91
  229. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  230. package/cjs/ChannelList/context.js +9 -10
  231. package/cjs/ChannelList/context.js.map +1 -1
  232. package/cjs/ChannelList.js +38 -35
  233. package/cjs/ChannelList.js.map +1 -1
  234. package/cjs/ChannelListProvider-a418de2e.js +1060 -0
  235. package/cjs/ChannelListProvider-a418de2e.js.map +1 -0
  236. package/cjs/ChannelProvider-7fa98120.js +2088 -0
  237. package/cjs/ChannelProvider-7fa98120.js.map +1 -0
  238. package/cjs/ChannelSettings/components/ChannelProfile.js +41 -36
  239. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  240. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  241. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  242. package/cjs/ChannelSettings/components/EditDetailsModal.js +54 -52
  243. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  244. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -40
  245. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  246. package/cjs/ChannelSettings/components/ModerationPanel.js +559 -516
  247. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  248. package/cjs/ChannelSettings/components/UserListItem.js +66 -66
  249. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  250. package/cjs/ChannelSettings/components/UserPanel.js +29 -26
  251. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  252. package/cjs/ChannelSettings/context.js +51 -56
  253. package/cjs/ChannelSettings/context.js.map +1 -1
  254. package/cjs/ChannelSettings.js +20 -19
  255. package/cjs/ChannelSettings.js.map +1 -1
  256. package/cjs/CreateChannel/components/CreateChannelUI.js +23 -25
  257. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  258. package/cjs/CreateChannel/components/InviteUsers.js +106 -102
  259. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  260. package/cjs/CreateChannel/components/SelectChannelType.js +37 -42
  261. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  262. package/cjs/CreateChannel/context.js +4 -4
  263. package/cjs/CreateChannel.js +22 -23
  264. package/cjs/CreateChannel.js.map +1 -1
  265. package/cjs/CreateChannelProvider-70c9cb7c.js +55 -0
  266. package/cjs/{CreateChannelProvider-8b8a557c.js.map → CreateChannelProvider-70c9cb7c.js.map} +1 -1
  267. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +39 -37
  268. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  269. package/cjs/CreateOpenChannel/context.js +28 -33
  270. package/cjs/CreateOpenChannel/context.js.map +1 -1
  271. package/cjs/CreateOpenChannel.js +20 -21
  272. package/cjs/CreateOpenChannel.js.map +1 -1
  273. package/cjs/EditUserProfile/components/EditUserProfileUI.js +153 -22
  274. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  275. package/cjs/EditUserProfile/context.js +13 -13
  276. package/cjs/EditUserProfile/context.js.map +1 -1
  277. package/cjs/EditUserProfile.js +21 -21
  278. package/cjs/EditUserProfile.js.map +1 -1
  279. package/cjs/{LocalizationContext-482c1343.js → LocalizationContext-5009012e.js} +9 -9
  280. package/cjs/{LocalizationContext-482c1343.js.map → LocalizationContext-5009012e.js.map} +1 -1
  281. package/cjs/MediaQueryContext-d6fdbe43.js +92 -0
  282. package/cjs/MediaQueryContext-d6fdbe43.js.map +1 -0
  283. package/cjs/MemberList-529a0086.js +428 -0
  284. package/cjs/{MemberList-26b8de48.js.map → MemberList-529a0086.js.map} +1 -1
  285. package/cjs/Message/context.js +11 -12
  286. package/cjs/Message/context.js.map +1 -1
  287. package/cjs/Message/hooks/useDirtyGetMentions.js +21 -26
  288. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  289. package/cjs/MessageSearch/components/MessageSearchUI.js +60 -65
  290. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  291. package/cjs/MessageSearch/context.js +165 -176
  292. package/cjs/MessageSearch/context.js.map +1 -1
  293. package/cjs/MessageSearch.js +49 -47
  294. package/cjs/MessageSearch.js.map +1 -1
  295. package/cjs/OpenChannel/components/FrozenChannelNotification.js +6 -8
  296. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  297. package/cjs/OpenChannel/components/OpenChannelHeader.js +22 -27
  298. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  299. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -35
  300. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  301. package/cjs/OpenChannel/components/OpenChannelMessage.js +169 -170
  302. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  303. package/cjs/OpenChannel/components/OpenChannelMessageList.js +69 -63
  304. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  305. package/cjs/OpenChannel/components/OpenChannelUI.js +56 -57
  306. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  307. package/cjs/OpenChannel/context.js +8 -9
  308. package/cjs/OpenChannel/context.js.map +1 -1
  309. package/cjs/OpenChannel.js +37 -35
  310. package/cjs/OpenChannel.js.map +1 -1
  311. package/cjs/OpenChannelList/components/OpenChannelListUI.js +66 -64
  312. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  313. package/cjs/OpenChannelList/components/OpenChannelPreview.js +22 -21
  314. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  315. package/cjs/OpenChannelList/context.js +3 -3
  316. package/cjs/OpenChannelList.js +27 -27
  317. package/cjs/OpenChannelList.js.map +1 -1
  318. package/cjs/OpenChannelListProvider-0b8cd3bf.js +416 -0
  319. package/cjs/{OpenChannelListProvider-2e3ee48d.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
  320. package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
  321. package/cjs/{OpenChannelProvider-8577ea58.js.map → OpenChannelProvider-d8cc11fe.js.map} +1 -1
  322. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +53 -52
  323. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +29 -28
  325. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +40 -48
  327. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/components/OperatorUI.js +557 -525
  329. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  330. package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -15
  331. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  332. package/cjs/OpenChannelSettings/context.js +57 -56
  333. package/cjs/OpenChannelSettings/context.js.map +1 -1
  334. package/cjs/OpenChannelSettings.js +20 -19
  335. package/cjs/OpenChannelSettings.js.map +1 -1
  336. package/cjs/RemoveMessageModal-f029d40e.js +39 -0
  337. package/cjs/RemoveMessageModal-f029d40e.js.map +1 -0
  338. package/cjs/SendbirdProvider.js +733 -693
  339. package/cjs/SendbirdProvider.js.map +1 -1
  340. package/cjs/Thread/components/ParentMessageInfo.js +193 -180
  341. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  342. package/cjs/Thread/components/ParentMessageInfoItem.js +86 -79
  343. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  344. package/cjs/Thread/components/ThreadHeader.js +22 -22
  345. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  346. package/cjs/Thread/components/ThreadList.js +125 -93
  347. package/cjs/Thread/components/ThreadList.js.map +1 -1
  348. package/cjs/Thread/components/ThreadListItem.js +263 -244
  349. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  350. package/cjs/Thread/components/ThreadMessageInput.js +120 -119
  351. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  352. package/cjs/Thread/components/ThreadUI.js +134 -150
  353. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  354. package/cjs/Thread/context/types.js +9 -13
  355. package/cjs/Thread/context/types.js.map +1 -1
  356. package/cjs/Thread/context.js +1680 -21
  357. package/cjs/Thread/context.js.map +1 -1
  358. package/cjs/Thread.js +76 -73
  359. package/cjs/Thread.js.map +1 -1
  360. package/cjs/UserProfileContext-922a43ec.js +41 -0
  361. package/cjs/UserProfileContext-922a43ec.js.map +1 -0
  362. package/cjs/VoicePlayer/context.js +3 -3
  363. package/cjs/VoicePlayer/useVoicePlayer.js +52 -46
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  365. package/cjs/VoiceRecorder/context.js +67 -63
  366. package/cjs/VoiceRecorder/context.js.map +1 -1
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +49 -51
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  369. package/cjs/{WebAudioUtils-142344fd.js → WebAudioUtils-29717597.js} +38 -38
  370. package/cjs/{WebAudioUtils-142344fd.js.map → WebAudioUtils-29717597.js.map} +1 -1
  371. package/cjs/{_rollupPluginBabelHelpers-83d7e84b.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
  372. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
  373. package/cjs/{actionTypes-1d118952.js → actionTypes-7fa02f94.js} +2 -2
  374. package/cjs/{actionTypes-1d118952.js.map → actionTypes-7fa02f94.js.map} +1 -1
  375. package/cjs/{color-d83b77ac.js → color-477ddbd4.js} +12 -13
  376. package/cjs/color-477ddbd4.js.map +1 -0
  377. package/cjs/{compareIds-bef997cb.js → compareIds-de541666.js} +7 -6
  378. package/cjs/compareIds-de541666.js.map +1 -0
  379. package/cjs/{const-1726bde0.js → const-640252c1.js} +4 -4
  380. package/cjs/{const-1726bde0.js.map → const-640252c1.js.map} +1 -1
  381. package/cjs/const-9def5c09.js +19 -0
  382. package/cjs/{const-67ff9e34.js.map → const-9def5c09.js.map} +1 -1
  383. package/cjs/consts-54f5c12d.js +6 -0
  384. package/cjs/consts-54f5c12d.js.map +1 -0
  385. package/cjs/consts-85cd42fa.js +6 -0
  386. package/cjs/{consts-bf228385.js.map → consts-85cd42fa.js.map} +1 -1
  387. package/cjs/{consts-fb07c671.js → consts-95462b21.js} +18 -25
  388. package/cjs/{consts-fb07c671.js.map → consts-95462b21.js.map} +1 -1
  389. package/cjs/consts-a3b7ae99.js +6 -0
  390. package/cjs/{consts-d3b53f23.js.map → consts-a3b7ae99.js.map} +1 -1
  391. package/cjs/{context-bd2878ff.js → context-9814fafe.js} +5 -6
  392. package/cjs/{context-bd2878ff.js.map → context-9814fafe.js.map} +1 -1
  393. package/cjs/dist/index.css +110 -95
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/hooks/useModal.js +84 -0
  398. package/cjs/hooks/useModal.js.map +1 -0
  399. package/cjs/{index-81baccd0.js → index-0a25b9b2.js} +166 -154
  400. package/cjs/index-0a25b9b2.js.map +1 -0
  401. package/cjs/index-0ec5a831.js +308 -0
  402. package/cjs/{index-1f6b30ea.js.map → index-0ec5a831.js.map} +1 -1
  403. package/cjs/{index-18720f0d.js → index-35820a94.js} +2 -2
  404. package/cjs/{index-18720f0d.js.map → index-35820a94.js.map} +1 -1
  405. package/cjs/index-609b07a2.js +7 -0
  406. package/cjs/index-609b07a2.js.map +1 -0
  407. package/cjs/index-6b0644d7.js +369 -0
  408. package/cjs/index-6b0644d7.js.map +1 -0
  409. package/cjs/{index-857630c5.js → index-7b0c6630.js} +104 -114
  410. package/cjs/index-7b0c6630.js.map +1 -0
  411. package/cjs/index-80a11b6a.js +197 -0
  412. package/cjs/{index-6ab9a40d.js.map → index-80a11b6a.js.map} +1 -1
  413. package/cjs/{index-4eb7e2b5.js → index-826b76d5.js} +2 -4
  414. package/cjs/index-826b76d5.js.map +1 -0
  415. package/cjs/{index-11f9cc0f.js → index-83d2aed9.js} +3 -12
  416. package/cjs/index-83d2aed9.js.map +1 -0
  417. package/cjs/index-aeb36f01.js +173 -0
  418. package/cjs/index-aeb36f01.js.map +1 -0
  419. package/cjs/{index-c9b003b3.js → index-b6d51e74.js} +56 -193
  420. package/cjs/index-b6d51e74.js.map +1 -0
  421. package/cjs/index-b995f638.js +741 -0
  422. package/cjs/index-b995f638.js.map +1 -0
  423. package/cjs/{index-759f2a26.js → index-bdf7089c.js} +72 -80
  424. package/cjs/{index-759f2a26.js.map → index-bdf7089c.js.map} +1 -1
  425. package/cjs/{index-7c374c20.js → index-c22e0cbf.js} +25 -28
  426. package/cjs/{index-7c374c20.js.map → index-c22e0cbf.js.map} +1 -1
  427. package/cjs/index-daf80c58.js +20 -0
  428. package/cjs/index-daf80c58.js.map +1 -0
  429. package/cjs/index-e81e2882.js +59 -0
  430. package/cjs/{index-2ab19f9b.js.map → index-e81e2882.js.map} +1 -1
  431. package/cjs/{index-91b4af96.js → index-ee3bf381.js} +39 -37
  432. package/cjs/{index-91b4af96.js.map → index-ee3bf381.js.map} +1 -1
  433. package/cjs/{index-d04f312e.js → index-fd8a0abb.js} +10 -30
  434. package/cjs/index-fd8a0abb.js.map +1 -0
  435. package/cjs/index.js +66 -63
  436. package/cjs/index.js.map +1 -1
  437. package/cjs/lame.all.js.map +1 -1
  438. package/cjs/package.json +2 -49
  439. package/cjs/{topics-adde627b.js → pubSub/topics.js} +6 -2
  440. package/cjs/pubSub/topics.js.map +1 -0
  441. package/cjs/{resolvedReplyType-85b4bd7c.js → resolvedReplyType-c20ef661.js} +1 -1
  442. package/cjs/{resolvedReplyType-85b4bd7c.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
  443. package/cjs/sendbirdSelectors.js +381 -332
  444. package/cjs/sendbirdSelectors.js.map +1 -1
  445. package/cjs/stringFormatterUtils-e324636c.js +16 -0
  446. package/cjs/{stringFormatterUtils-8d6592ca.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
  447. package/cjs/{stringSet-d00535a5.js → stringSet-98b52c49.js} +9 -2
  448. package/cjs/stringSet-98b52c49.js.map +1 -0
  449. package/cjs/{tokenize-9296fc47.js → tokenize-91bdbeb0.js} +56 -61
  450. package/cjs/{tokenize-9296fc47.js.map → tokenize-91bdbeb0.js.map} +1 -1
  451. package/cjs/tslib.es6-2f2b0bca.js +102 -0
  452. package/cjs/tslib.es6-2f2b0bca.js.map +1 -0
  453. package/cjs/types-31ed2276.js +11 -0
  454. package/cjs/types-31ed2276.js.map +1 -0
  455. package/cjs/types-66554668.js +15 -0
  456. package/cjs/types-66554668.js.map +1 -0
  457. package/cjs/ui/Accordion.js +18 -19
  458. package/cjs/ui/Accordion.js.map +1 -1
  459. package/cjs/ui/AccordionGroup.js +11 -10
  460. package/cjs/ui/AccordionGroup.js.map +1 -1
  461. package/cjs/ui/AdminMessage.js +10 -10
  462. package/cjs/ui/AdminMessage.js.map +1 -1
  463. package/cjs/ui/Avatar.js +59 -55
  464. package/cjs/ui/Avatar.js.map +1 -1
  465. package/cjs/ui/Badge.js +15 -16
  466. package/cjs/ui/Badge.js.map +1 -1
  467. package/cjs/ui/BottomSheet.js +15 -17
  468. package/cjs/ui/BottomSheet.js.map +1 -1
  469. package/cjs/ui/Button.js +31 -33
  470. package/cjs/ui/Button.js.map +1 -1
  471. package/cjs/ui/ChannelAvatar.js +41 -38
  472. package/cjs/ui/ChannelAvatar.js.map +1 -1
  473. package/cjs/ui/Checkbox.js +10 -9
  474. package/cjs/ui/Checkbox.js.map +1 -1
  475. package/cjs/ui/ConnectionStatus.js +5 -7
  476. package/cjs/ui/ConnectionStatus.js.map +1 -1
  477. package/cjs/ui/ContextMenu.js +143 -144
  478. package/cjs/ui/ContextMenu.js.map +1 -1
  479. package/cjs/ui/DateSeparator.js +14 -12
  480. package/cjs/ui/DateSeparator.js.map +1 -1
  481. package/cjs/ui/EmojiReactions.js +206 -176
  482. package/cjs/ui/EmojiReactions.js.map +1 -1
  483. package/cjs/ui/FileMessageItemBody.js +23 -23
  484. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  485. package/cjs/ui/FileViewer.js +14 -12
  486. package/cjs/ui/FileViewer.js.map +1 -1
  487. package/cjs/ui/Icon.js +16 -16
  488. package/cjs/ui/Icon.js.map +1 -1
  489. package/cjs/ui/IconButton.js +28 -20
  490. package/cjs/ui/IconButton.js.map +1 -1
  491. package/cjs/ui/ImageRenderer.js +84 -64
  492. package/cjs/ui/ImageRenderer.js.map +1 -1
  493. package/cjs/ui/Input.js +14 -16
  494. package/cjs/ui/Input.js.map +1 -1
  495. package/cjs/ui/Label.js +2 -2
  496. package/cjs/ui/LinkLabel.js +2 -2
  497. package/cjs/ui/LinkLabel.js.map +1 -1
  498. package/cjs/ui/Loader.js +12 -10
  499. package/cjs/ui/Loader.js.map +1 -1
  500. package/cjs/ui/MentionLabel.js +63 -59
  501. package/cjs/ui/MentionLabel.js.map +1 -1
  502. package/cjs/ui/MentionUserLabel.js +10 -10
  503. package/cjs/ui/MentionUserLabel.js.map +1 -1
  504. package/cjs/ui/MessageContent.js +187 -171
  505. package/cjs/ui/MessageContent.js.map +1 -1
  506. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -4
  507. package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -1
  508. package/cjs/ui/MessageInput.js +55 -57
  509. package/cjs/ui/MessageInput.js.map +1 -1
  510. package/cjs/ui/MessageItemMenu.js +93 -72
  511. package/cjs/ui/MessageItemMenu.js.map +1 -1
  512. package/cjs/ui/MessageItemReactionMenu.js +64 -56
  513. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  514. package/cjs/ui/MessageSearchFileItem.js +40 -49
  515. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  516. package/cjs/ui/MessageSearchItem.js +32 -40
  517. package/cjs/ui/MessageSearchItem.js.map +1 -1
  518. package/cjs/ui/MessageStatus.js +11 -11
  519. package/cjs/ui/Modal.js +57 -59
  520. package/cjs/ui/Modal.js.map +1 -1
  521. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  522. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  523. package/cjs/ui/OGMessageItemBody.js +47 -47
  524. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  525. package/cjs/ui/OpenChannelAdminMessage.js +7 -8
  526. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  527. package/cjs/ui/OpenChannelAvatar.js +17 -18
  528. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  529. package/cjs/ui/OpenchannelConversationHeader.js +13 -17
  530. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  531. package/cjs/ui/OpenchannelFileMessage.js +147 -139
  532. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  533. package/cjs/ui/OpenchannelOGMessage.js +185 -178
  534. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  535. package/cjs/ui/OpenchannelThumbnailMessage.js +220 -213
  536. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  537. package/cjs/ui/OpenchannelUserMessage.js +172 -164
  538. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  539. package/cjs/ui/PlaceHolder.js +108 -10
  540. package/cjs/ui/PlaceHolder.js.map +1 -1
  541. package/cjs/ui/PlaybackTime.js +16 -15
  542. package/cjs/ui/PlaybackTime.js.map +1 -1
  543. package/cjs/ui/ProgressBar.js +15 -13
  544. package/cjs/ui/ProgressBar.js.map +1 -1
  545. package/cjs/ui/QuoteMessage.js +41 -44
  546. package/cjs/ui/QuoteMessage.js.map +1 -1
  547. package/cjs/ui/QuoteMessageInput.js +45 -31
  548. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  549. package/cjs/ui/ReactionBadge.js +17 -13
  550. package/cjs/ui/ReactionBadge.js.map +1 -1
  551. package/cjs/ui/ReactionButton.js +19 -19
  552. package/cjs/ui/ReactionButton.js.map +1 -1
  553. package/cjs/ui/SortByRow.js +14 -14
  554. package/cjs/ui/SortByRow.js.map +1 -1
  555. package/cjs/ui/TextButton.js +21 -13
  556. package/cjs/ui/TextButton.js.map +1 -1
  557. package/cjs/ui/TextMessageItemBody.js +33 -31
  558. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  559. package/cjs/ui/ThreadReplies.js +21 -25
  560. package/cjs/ui/ThreadReplies.js.map +1 -1
  561. package/cjs/ui/ThumbnailMessageItemBody.js +37 -28
  562. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  563. package/cjs/ui/Toggle.js +85 -77
  564. package/cjs/ui/Toggle.js.map +1 -1
  565. package/cjs/ui/Tooltip.js +9 -8
  566. package/cjs/ui/Tooltip.js.map +1 -1
  567. package/cjs/ui/TooltipWrapper.js +18 -17
  568. package/cjs/ui/TooltipWrapper.js.map +1 -1
  569. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  570. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  571. package/cjs/ui/UserListItem.js +80 -75
  572. package/cjs/ui/UserListItem.js.map +1 -1
  573. package/cjs/ui/UserProfile.js +28 -33
  574. package/cjs/ui/UserProfile.js.map +1 -1
  575. package/cjs/ui/VoiceMessageItemBody.js +49 -43
  576. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  577. package/cjs/ui/VoiceMessgeInput.js +8 -7
  578. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  579. package/cjs/ui/Word.js +29 -27
  580. package/cjs/ui/Word.js.map +1 -1
  581. package/cjs/{useHandleUploadFiles-b2fc56e5.js → useHandleUploadFiles-fbe6ad64.js} +114 -127
  582. package/cjs/useHandleUploadFiles-fbe6ad64.js.map +1 -0
  583. package/cjs/useLongPress-c1da8ba7.js +105 -0
  584. package/cjs/useLongPress-c1da8ba7.js.map +1 -0
  585. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js +316 -0
  586. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js.map +1 -0
  587. package/cjs/useSendbirdStateContext.js +8 -3
  588. package/cjs/useSendbirdStateContext.js.map +1 -1
  589. package/cjs/useStatefulFileInfoList-aa70b6b9.js +228 -0
  590. package/cjs/useStatefulFileInfoList-aa70b6b9.js.map +1 -0
  591. package/cjs/utils/message/getOutgoingMessageState.js +14 -16
  592. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  593. package/cjs/utils/message/isVoiceMessage.js +4 -4
  594. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  595. package/cjs/utils-0fac6ad1.js +27 -0
  596. package/cjs/utils-0fac6ad1.js.map +1 -0
  597. package/cjs/utils-180c6bc8.js +10 -0
  598. package/cjs/utils-180c6bc8.js.map +1 -0
  599. package/cjs/{utils-991911af.js → utils-46483130.js} +3 -3
  600. package/cjs/{utils-991911af.js.map → utils-46483130.js.map} +1 -1
  601. package/cjs/utils-55fc6797.js +170 -0
  602. package/cjs/utils-55fc6797.js.map +1 -0
  603. package/cjs/utils-851724e0.js +62 -0
  604. package/cjs/utils-851724e0.js.map +1 -0
  605. package/cjs/utils-e313131f.js +35 -0
  606. package/cjs/utils-e313131f.js.map +1 -0
  607. package/cjs/uuid-c74bbbb6.js +17 -0
  608. package/cjs/{uuid-b2806cf5.js.map → uuid-c74bbbb6.js.map} +1 -1
  609. package/cjs/withSendbird.js +16 -22
  610. package/cjs/withSendbird.js.map +1 -1
  611. package/{color-b7f211a8.js → color-1383d4ab.js} +5 -5
  612. package/{color-b7f211a8.js.map → color-1383d4ab.js.map} +1 -1
  613. package/compareIds-b56b02f1.js +16 -0
  614. package/compareIds-b56b02f1.js.map +1 -0
  615. package/{const-74ec9eb4.js → const-4bc3721f.js} +4 -4
  616. package/{const-74ec9eb4.js.map → const-4bc3721f.js.map} +1 -1
  617. package/const-e3326913.js +13 -0
  618. package/{const-711048c3.js.map → const-e3326913.js.map} +1 -1
  619. package/consts-7f4d53a3.js +4 -0
  620. package/consts-7f4d53a3.js.map +1 -0
  621. package/consts-833420ed.js +4 -0
  622. package/{consts-6ee24012.js.map → consts-833420ed.js.map} +1 -1
  623. package/consts-aa64aca8.js +30 -0
  624. package/{consts-691a3935.js.map → consts-aa64aca8.js.map} +1 -1
  625. package/consts-f0ba9b80.js +4 -0
  626. package/consts-f0ba9b80.js.map +1 -0
  627. package/context-ae47ac54.js +12 -0
  628. package/{context-b4c70964.js.map → context-ae47ac54.js.map} +1 -1
  629. package/dist/index.css +110 -95
  630. package/dist/index.css.map +1 -1
  631. package/handlers/OpenChannelHandler.js.map +1 -1
  632. package/handlers/SessionHandler.js.map +1 -1
  633. package/hooks/useModal.js +73 -0
  634. package/hooks/useModal.js.map +1 -0
  635. package/{index-aa520474.js → index-12103973.js} +2 -2
  636. package/{index-aa520474.js.map → index-12103973.js.map} +1 -1
  637. package/index-124a5766.js +298 -0
  638. package/{index-e15f6b6a.js.map → index-124a5766.js.map} +1 -1
  639. package/{index-13401b87.js → index-1432c287.js} +2 -4
  640. package/index-1432c287.js.map +1 -0
  641. package/{index-b22c4150.js → index-1969ccd8.js} +25 -28
  642. package/{index-b22c4150.js.map → index-1969ccd8.js.map} +1 -1
  643. package/index-3d508585.js +53 -0
  644. package/{index-ae7ef8cf.js.map → index-3d508585.js.map} +1 -1
  645. package/{index-8a01c364.js → index-40447645.js} +73 -81
  646. package/{index-8a01c364.js.map → index-40447645.js.map} +1 -1
  647. package/{index-c421b228.js → index-7a1085b6.js} +99 -109
  648. package/index-7a1085b6.js.map +1 -0
  649. package/index-89b3b8ba.js +362 -0
  650. package/index-89b3b8ba.js.map +1 -0
  651. package/index-8c72f0bd.js +182 -0
  652. package/{index-98138798.js.map → index-8c72f0bd.js.map} +1 -1
  653. package/index-942c5fa2.js +161 -0
  654. package/index-942c5fa2.js.map +1 -0
  655. package/index-c6095960.js +4 -0
  656. package/index-c6095960.js.map +1 -0
  657. package/index-c7ed4aef.js +13 -0
  658. package/index-c7ed4aef.js.map +1 -0
  659. package/{index-daa3ae67.js → index-c81fd6ec.js} +56 -193
  660. package/index-c81fd6ec.js.map +1 -0
  661. package/{index-7700a436.js → index-d3f61405.js} +10 -30
  662. package/index-d3f61405.js.map +1 -0
  663. package/{index-5cb32ab5.js → index-dc1827ea.js} +3 -12
  664. package/index-dc1827ea.js.map +1 -0
  665. package/{index-3530f4f6.js → index-ec0c048b.js} +39 -37
  666. package/{index-3530f4f6.js.map → index-ec0c048b.js.map} +1 -1
  667. package/{index-b25ffa7e.js → index-eec0ce47.js} +166 -154
  668. package/index-eec0ce47.js.map +1 -0
  669. package/index-fc1642cb.js +692 -0
  670. package/index-fc1642cb.js.map +1 -0
  671. package/index.d.ts +143 -79
  672. package/index.js +66 -63
  673. package/index.js.map +1 -1
  674. package/lame.all.js.map +1 -1
  675. package/package.json +3 -3
  676. package/{topics-5659403d.js → pubSub/topics.js} +4 -3
  677. package/pubSub/topics.js.map +1 -0
  678. package/{resolvedReplyType-1a128514.js → resolvedReplyType-0532593c.js} +1 -1
  679. package/{resolvedReplyType-1a128514.js.map → resolvedReplyType-0532593c.js.map} +1 -1
  680. package/sendbirdSelectors.js +381 -332
  681. package/sendbirdSelectors.js.map +1 -1
  682. package/stringFormatterUtils-444f6f4c.js +14 -0
  683. package/{stringFormatterUtils-dbad592d.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
  684. package/{stringSet-2814bf17.js → stringSet-1106c8ec.js} +9 -2
  685. package/stringSet-1106c8ec.js.map +1 -0
  686. package/{tokenize-4b153552.js → tokenize-d17bf862.js} +56 -61
  687. package/{tokenize-4b153552.js.map → tokenize-d17bf862.js.map} +1 -1
  688. package/tslib.es6-0c779aab.js +97 -0
  689. package/tslib.es6-0c779aab.js.map +1 -0
  690. package/types-4ffc52f6.js +15 -0
  691. package/types-4ffc52f6.js.map +1 -0
  692. package/types-50e412d8.js +9 -0
  693. package/types-50e412d8.js.map +1 -0
  694. package/ui/Accordion.js +18 -19
  695. package/ui/Accordion.js.map +1 -1
  696. package/ui/AccordionGroup.js +11 -10
  697. package/ui/AccordionGroup.js.map +1 -1
  698. package/ui/AdminMessage.js +10 -10
  699. package/ui/AdminMessage.js.map +1 -1
  700. package/ui/Avatar.js +59 -55
  701. package/ui/Avatar.js.map +1 -1
  702. package/ui/Badge.js +15 -16
  703. package/ui/Badge.js.map +1 -1
  704. package/ui/BottomSheet.js +15 -17
  705. package/ui/BottomSheet.js.map +1 -1
  706. package/ui/Button.js +19 -26
  707. package/ui/Button.js.map +1 -1
  708. package/ui/ChannelAvatar.js +41 -38
  709. package/ui/ChannelAvatar.js.map +1 -1
  710. package/ui/Checkbox.js +10 -9
  711. package/ui/Checkbox.js.map +1 -1
  712. package/ui/ConnectionStatus.js +5 -7
  713. package/ui/ConnectionStatus.js.map +1 -1
  714. package/ui/ContextMenu.js +143 -144
  715. package/ui/ContextMenu.js.map +1 -1
  716. package/ui/DateSeparator.js +14 -12
  717. package/ui/DateSeparator.js.map +1 -1
  718. package/ui/EmojiReactions.js +207 -177
  719. package/ui/EmojiReactions.js.map +1 -1
  720. package/ui/FileMessageItemBody.js +23 -23
  721. package/ui/FileMessageItemBody.js.map +1 -1
  722. package/ui/FileViewer.js +14 -12
  723. package/ui/FileViewer.js.map +1 -1
  724. package/ui/Icon.js +2 -2
  725. package/ui/Icon.js.map +1 -1
  726. package/ui/IconButton.js +28 -20
  727. package/ui/IconButton.js.map +1 -1
  728. package/ui/ImageRenderer.js +84 -65
  729. package/ui/ImageRenderer.js.map +1 -1
  730. package/ui/Input.js +14 -16
  731. package/ui/Input.js.map +1 -1
  732. package/ui/Label.js +2 -2
  733. package/ui/LinkLabel.js +2 -2
  734. package/ui/LinkLabel.js.map +1 -1
  735. package/ui/Loader.js +12 -10
  736. package/ui/Loader.js.map +1 -1
  737. package/ui/MentionLabel.js +64 -60
  738. package/ui/MentionLabel.js.map +1 -1
  739. package/ui/MentionUserLabel.js +10 -10
  740. package/ui/MentionUserLabel.js.map +1 -1
  741. package/ui/MessageContent.js +186 -170
  742. package/ui/MessageContent.js.map +1 -1
  743. package/ui/MessageInput/hooks/usePaste.js +5 -4
  744. package/ui/MessageInput/hooks/usePaste.js.map +1 -1
  745. package/ui/MessageInput.js +48 -50
  746. package/ui/MessageInput.js.map +1 -1
  747. package/ui/MessageItemMenu.js +93 -72
  748. package/ui/MessageItemMenu.js.map +1 -1
  749. package/ui/MessageItemReactionMenu.js +64 -56
  750. package/ui/MessageItemReactionMenu.js.map +1 -1
  751. package/ui/MessageSearchFileItem.js +40 -49
  752. package/ui/MessageSearchFileItem.js.map +1 -1
  753. package/ui/MessageSearchItem.js +32 -40
  754. package/ui/MessageSearchItem.js.map +1 -1
  755. package/ui/MessageStatus.js +11 -11
  756. package/ui/Modal.js +57 -59
  757. package/ui/Modal.js.map +1 -1
  758. package/ui/MutedAvatarOverlay.js +10 -10
  759. package/ui/MutedAvatarOverlay.js.map +1 -1
  760. package/ui/OGMessageItemBody.js +47 -47
  761. package/ui/OGMessageItemBody.js.map +1 -1
  762. package/ui/OpenChannelAdminMessage.js +7 -8
  763. package/ui/OpenChannelAdminMessage.js.map +1 -1
  764. package/ui/OpenChannelAvatar.js +17 -18
  765. package/ui/OpenChannelAvatar.js.map +1 -1
  766. package/ui/OpenchannelConversationHeader.js +13 -17
  767. package/ui/OpenchannelConversationHeader.js.map +1 -1
  768. package/ui/OpenchannelFileMessage.js +147 -139
  769. package/ui/OpenchannelFileMessage.js.map +1 -1
  770. package/ui/OpenchannelOGMessage.js +185 -178
  771. package/ui/OpenchannelOGMessage.js.map +1 -1
  772. package/ui/OpenchannelThumbnailMessage.js +220 -213
  773. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  774. package/ui/OpenchannelUserMessage.js +172 -164
  775. package/ui/OpenchannelUserMessage.js.map +1 -1
  776. package/ui/PlaceHolder.js +106 -8
  777. package/ui/PlaceHolder.js.map +1 -1
  778. package/ui/PlaybackTime.js +16 -15
  779. package/ui/PlaybackTime.js.map +1 -1
  780. package/ui/ProgressBar.js +15 -13
  781. package/ui/ProgressBar.js.map +1 -1
  782. package/ui/QuoteMessage.js +41 -44
  783. package/ui/QuoteMessage.js.map +1 -1
  784. package/ui/QuoteMessageInput.js +45 -31
  785. package/ui/QuoteMessageInput.js.map +1 -1
  786. package/ui/ReactionBadge.js +17 -13
  787. package/ui/ReactionBadge.js.map +1 -1
  788. package/ui/ReactionButton.js +19 -19
  789. package/ui/ReactionButton.js.map +1 -1
  790. package/ui/SortByRow.js +14 -14
  791. package/ui/SortByRow.js.map +1 -1
  792. package/ui/TextButton.js +21 -13
  793. package/ui/TextButton.js.map +1 -1
  794. package/ui/TextMessageItemBody.js +33 -31
  795. package/ui/TextMessageItemBody.js.map +1 -1
  796. package/ui/ThreadReplies.js +21 -25
  797. package/ui/ThreadReplies.js.map +1 -1
  798. package/ui/ThumbnailMessageItemBody.js +37 -28
  799. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  800. package/ui/Toggle.js +86 -78
  801. package/ui/Toggle.js.map +1 -1
  802. package/ui/Tooltip.js +9 -8
  803. package/ui/Tooltip.js.map +1 -1
  804. package/ui/TooltipWrapper.js +18 -17
  805. package/ui/TooltipWrapper.js.map +1 -1
  806. package/ui/UnknownMessageItemBody.js +19 -20
  807. package/ui/UnknownMessageItemBody.js.map +1 -1
  808. package/ui/UserListItem.js +80 -75
  809. package/ui/UserListItem.js.map +1 -1
  810. package/ui/UserProfile.js +29 -34
  811. package/ui/UserProfile.js.map +1 -1
  812. package/ui/VoiceMessageItemBody.js +49 -43
  813. package/ui/VoiceMessageItemBody.js.map +1 -1
  814. package/ui/VoiceMessgeInput.js +8 -7
  815. package/ui/VoiceMessgeInput.js.map +1 -1
  816. package/ui/Word.js +29 -27
  817. package/ui/Word.js.map +1 -1
  818. package/{useHandleUploadFiles-406a6c9c.js → useHandleUploadFiles-33aff88e.js} +111 -124
  819. package/useHandleUploadFiles-33aff88e.js.map +1 -0
  820. package/useLongPress-322bb6a3.js +103 -0
  821. package/useLongPress-322bb6a3.js.map +1 -0
  822. package/useSendMultipleFilesMessage-4489a0f6.js +283 -0
  823. package/useSendMultipleFilesMessage-4489a0f6.js.map +1 -0
  824. package/useSendbirdStateContext.js +5 -3
  825. package/useSendbirdStateContext.js.map +1 -1
  826. package/useStatefulFileInfoList-dd95f949.js +219 -0
  827. package/useStatefulFileInfoList-dd95f949.js.map +1 -0
  828. package/utils/message/getOutgoingMessageState.js +8 -9
  829. package/utils/message/getOutgoingMessageState.js.map +1 -1
  830. package/utils/message/isVoiceMessage.js +4 -4
  831. package/utils/message/isVoiceMessage.js.map +1 -1
  832. package/{utils-7cc92ac2.js → utils-158c1683.js} +3 -3
  833. package/{utils-7cc92ac2.js.map → utils-158c1683.js.map} +1 -1
  834. package/utils-3660243c.js +25 -0
  835. package/utils-3660243c.js.map +1 -0
  836. package/utils-40040f8e.js +157 -0
  837. package/utils-40040f8e.js.map +1 -0
  838. package/utils-48a3ef27.js +31 -0
  839. package/utils-48a3ef27.js.map +1 -0
  840. package/utils-74c161a0.js +7 -0
  841. package/utils-74c161a0.js.map +1 -0
  842. package/utils-e98a7f8c.js +57 -0
  843. package/utils-e98a7f8c.js.map +1 -0
  844. package/uuid-3c77ef7b.js +15 -0
  845. package/{uuid-16373bba.js.map → uuid-3c77ef7b.js.map} +1 -1
  846. package/withSendbird.js +16 -22
  847. package/withSendbird.js.map +1 -1
  848. package/ChannelListProvider-1188e373.js +0 -1028
  849. package/ChannelListProvider-1188e373.js.map +0 -1
  850. package/ChannelProvider-9de00431.js +0 -1933
  851. package/ChannelProvider-9de00431.js.map +0 -1
  852. package/CreateChannelProvider-a2fad282.js +0 -44
  853. package/LocalizationContext-2463058b.js +0 -20
  854. package/MediaQueryContext-e3429d12.js +0 -87
  855. package/MediaQueryContext-e3429d12.js.map +0 -1
  856. package/MemberList-593867cb.js +0 -404
  857. package/OpenChannelProvider-3e4b8c8e.js +0 -1890
  858. package/RemoveMessageModal-9162aebe.js +0 -38
  859. package/RemoveMessageModal-9162aebe.js.map +0 -1
  860. package/ThreadProvider-9a3b145f.js +0 -1778
  861. package/ThreadProvider-9a3b145f.js.map +0 -1
  862. package/UserProfileContext-4ae968eb.js +0 -41
  863. package/UserProfileContext-4ae968eb.js.map +0 -1
  864. package/_rollupPluginBabelHelpers-50c9576f.js.map +0 -1
  865. package/cjs/ChannelListProvider-e55e6242.js +0 -1037
  866. package/cjs/ChannelListProvider-e55e6242.js.map +0 -1
  867. package/cjs/ChannelProvider-6fa73019.js +0 -1941
  868. package/cjs/ChannelProvider-6fa73019.js.map +0 -1
  869. package/cjs/CreateChannelProvider-8b8a557c.js +0 -52
  870. package/cjs/MediaQueryContext-73aac8cf.js +0 -94
  871. package/cjs/MediaQueryContext-73aac8cf.js.map +0 -1
  872. package/cjs/MemberList-26b8de48.js +0 -410
  873. package/cjs/OpenChannelListProvider-2e3ee48d.js +0 -439
  874. package/cjs/OpenChannelProvider-8577ea58.js +0 -1899
  875. package/cjs/RemoveMessageModal-dfeeb36a.js +0 -44
  876. package/cjs/RemoveMessageModal-dfeeb36a.js.map +0 -1
  877. package/cjs/ThreadProvider-8b0cf491.js +0 -1787
  878. package/cjs/ThreadProvider-8b0cf491.js.map +0 -1
  879. package/cjs/UserProfileContext-fa8d0383.js +0 -49
  880. package/cjs/UserProfileContext-fa8d0383.js.map +0 -1
  881. package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +0 -1
  882. package/cjs/color-d83b77ac.js.map +0 -1
  883. package/cjs/compareIds-bef997cb.js.map +0 -1
  884. package/cjs/const-67ff9e34.js +0 -20
  885. package/cjs/consts-b018b1ed.js +0 -6
  886. package/cjs/consts-b018b1ed.js.map +0 -1
  887. package/cjs/consts-bf228385.js +0 -6
  888. package/cjs/consts-d3b53f23.js +0 -6
  889. package/cjs/index-11f9cc0f.js.map +0 -1
  890. package/cjs/index-1a9fdbb4.js +0 -368
  891. package/cjs/index-1a9fdbb4.js.map +0 -1
  892. package/cjs/index-1f6b30ea.js +0 -330
  893. package/cjs/index-2ab19f9b.js +0 -57
  894. package/cjs/index-4b5a006d.js +0 -139
  895. package/cjs/index-4b5a006d.js.map +0 -1
  896. package/cjs/index-4eb7e2b5.js.map +0 -1
  897. package/cjs/index-56a25735.js +0 -171
  898. package/cjs/index-56a25735.js.map +0 -1
  899. package/cjs/index-6ab9a40d.js +0 -202
  900. package/cjs/index-7f41c4b6.js +0 -118
  901. package/cjs/index-7f41c4b6.js.map +0 -1
  902. package/cjs/index-81baccd0.js.map +0 -1
  903. package/cjs/index-857630c5.js.map +0 -1
  904. package/cjs/index-8ec12d1d.js +0 -164
  905. package/cjs/index-8ec12d1d.js.map +0 -1
  906. package/cjs/index-c9b003b3.js.map +0 -1
  907. package/cjs/index-cbcacbee.js +0 -9
  908. package/cjs/index-cbcacbee.js.map +0 -1
  909. package/cjs/index-d04f312e.js.map +0 -1
  910. package/cjs/index-e9ac5ae1.js +0 -58
  911. package/cjs/index-e9ac5ae1.js.map +0 -1
  912. package/cjs/index-fbe9cc73.js +0 -647
  913. package/cjs/index-fbe9cc73.js.map +0 -1
  914. package/cjs/index.module-a24e9cd7.js +0 -6
  915. package/cjs/index.module-a24e9cd7.js.map +0 -1
  916. package/cjs/stringFormatterUtils-8d6592ca.js +0 -16
  917. package/cjs/stringSet-d00535a5.js.map +0 -1
  918. package/cjs/topics-adde627b.js.map +0 -1
  919. package/cjs/types-0b5148cb.js +0 -17
  920. package/cjs/types-0b5148cb.js.map +0 -1
  921. package/cjs/useHandleUploadFiles-b2fc56e5.js.map +0 -1
  922. package/cjs/useLongPress-1c0f4696.js +0 -87
  923. package/cjs/useLongPress-1c0f4696.js.map +0 -1
  924. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js +0 -109
  925. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js.map +0 -1
  926. package/cjs/utils-418b4438.js +0 -62
  927. package/cjs/utils-418b4438.js.map +0 -1
  928. package/cjs/utils-5bfb4516.js +0 -35
  929. package/cjs/utils-5bfb4516.js.map +0 -1
  930. package/cjs/utils-68aa6bf6.js +0 -345
  931. package/cjs/utils-68aa6bf6.js.map +0 -1
  932. package/cjs/utils-b34d4e2c.js +0 -31
  933. package/cjs/utils-b34d4e2c.js.map +0 -1
  934. package/cjs/utils-c47c68b1.js +0 -6
  935. package/cjs/utils-c47c68b1.js.map +0 -1
  936. package/cjs/uuid-b2806cf5.js +0 -15
  937. package/compareIds-8ed6e36a.js +0 -15
  938. package/compareIds-8ed6e36a.js.map +0 -1
  939. package/const-711048c3.js +0 -13
  940. package/consts-675764c9.js +0 -4
  941. package/consts-675764c9.js.map +0 -1
  942. package/consts-691a3935.js +0 -37
  943. package/consts-6ee24012.js +0 -4
  944. package/consts-eb77e905.js +0 -4
  945. package/consts-eb77e905.js.map +0 -1
  946. package/context-b4c70964.js +0 -13
  947. package/index-128523eb.js +0 -110
  948. package/index-128523eb.js.map +0 -1
  949. package/index-13401b87.js.map +0 -1
  950. package/index-5cb32ab5.js.map +0 -1
  951. package/index-5d6a0f12.js +0 -598
  952. package/index-5d6a0f12.js.map +0 -1
  953. package/index-60a7bf91.js +0 -164
  954. package/index-60a7bf91.js.map +0 -1
  955. package/index-7700a436.js.map +0 -1
  956. package/index-7946293f.js +0 -152
  957. package/index-7946293f.js.map +0 -1
  958. package/index-7b7478f5.js +0 -132
  959. package/index-7b7478f5.js.map +0 -1
  960. package/index-82178c6a.js +0 -361
  961. package/index-82178c6a.js.map +0 -1
  962. package/index-98138798.js +0 -187
  963. package/index-98887e8d.js +0 -7
  964. package/index-98887e8d.js.map +0 -1
  965. package/index-ae7ef8cf.js +0 -51
  966. package/index-b25ffa7e.js.map +0 -1
  967. package/index-c421b228.js.map +0 -1
  968. package/index-d99155f7.js +0 -51
  969. package/index-d99155f7.js.map +0 -1
  970. package/index-daa3ae67.js.map +0 -1
  971. package/index-e15f6b6a.js +0 -320
  972. package/index.module-60af77d3.js +0 -4
  973. package/index.module-60af77d3.js.map +0 -1
  974. package/stringFormatterUtils-dbad592d.js +0 -14
  975. package/stringSet-2814bf17.js.map +0 -1
  976. package/topics-5659403d.js.map +0 -1
  977. package/types-89092633.js +0 -15
  978. package/types-89092633.js.map +0 -1
  979. package/useHandleUploadFiles-406a6c9c.js.map +0 -1
  980. package/useLongPress-5e1ad951.js +0 -85
  981. package/useLongPress-5e1ad951.js.map +0 -1
  982. package/useSendMultipleFilesMessage-a3a2c84b.js +0 -107
  983. package/useSendMultipleFilesMessage-a3a2c84b.js.map +0 -1
  984. package/utils-0c22998a.js +0 -306
  985. package/utils-0c22998a.js.map +0 -1
  986. package/utils-407da489.js +0 -4
  987. package/utils-407da489.js.map +0 -1
  988. package/utils-b97d5113.js +0 -57
  989. package/utils-b97d5113.js.map +0 -1
  990. package/utils-cae84d8a.js +0 -29
  991. package/utils-cae84d8a.js.map +0 -1
  992. package/utils-ebf008e2.js +0 -31
  993. package/utils-ebf008e2.js.map +0 -1
  994. package/uuid-16373bba.js +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongPress-322bb6a3.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_a","_b","onLongPress","onClick","_c","_d","delay","_e","shouldPreventDefault","_f","shouldStopPropagation","isMobile","useMediaQueryContext","_g","useState","longPressTriggered","setLongPressTriggered","_h","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","__assign","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import { useCallback } from 'react';
2
+ import { PUBSUB_TOPICS } from './pubSub/topics.js';
3
+ import { s as scrollIntoLast$1 } from './utils-40040f8e.js';
4
+ import { f as format } from './index-c81fd6ec.js';
5
+ import { getOutgoingMessageState, OutgoingMessageStates } from './utils/message/getOutgoingMessageState.js';
6
+
7
+ var RESET_MESSAGES = 'RESET_MESSAGES';
8
+ var FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
9
+ var FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';
10
+ var FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';
11
+ var FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';
12
+ var FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';
13
+ var FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';
14
+ var FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';
15
+ var SEND_MESSAGE_START = 'SEND_MESSAGE_START';
16
+ var SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';
17
+ var SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';
18
+ var RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';
19
+ var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
20
+ var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
21
+ var ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';
22
+ var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
23
+ var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
24
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
25
+ var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
26
+ var MARK_AS_READ = 'MARK_AS_READ';
27
+ var ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';
28
+ var SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';
29
+ var MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';
30
+ var ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';
31
+
32
+ var channelActions = /*#__PURE__*/Object.freeze({
33
+ __proto__: null,
34
+ RESET_MESSAGES: RESET_MESSAGES,
35
+ FETCH_INITIAL_MESSAGES_START: FETCH_INITIAL_MESSAGES_START,
36
+ FETCH_INITIAL_MESSAGES_SUCCESS: FETCH_INITIAL_MESSAGES_SUCCESS,
37
+ FETCH_INITIAL_MESSAGES_FAILURE: FETCH_INITIAL_MESSAGES_FAILURE,
38
+ FETCH_PREV_MESSAGES_SUCCESS: FETCH_PREV_MESSAGES_SUCCESS,
39
+ FETCH_PREV_MESSAGES_FAILURE: FETCH_PREV_MESSAGES_FAILURE,
40
+ FETCH_NEXT_MESSAGES_SUCCESS: FETCH_NEXT_MESSAGES_SUCCESS,
41
+ FETCH_NEXT_MESSAGES_FAILURE: FETCH_NEXT_MESSAGES_FAILURE,
42
+ SEND_MESSAGE_START: SEND_MESSAGE_START,
43
+ SEND_MESSAGE_SUCCESS: SEND_MESSAGE_SUCCESS,
44
+ SEND_MESSAGE_FAILURE: SEND_MESSAGE_FAILURE,
45
+ RESEND_MESSAGE_START: RESEND_MESSAGE_START,
46
+ ON_MESSAGE_RECEIVED: ON_MESSAGE_RECEIVED,
47
+ ON_MESSAGE_UPDATED: ON_MESSAGE_UPDATED,
48
+ ON_MESSAGE_THREAD_INFO_UPDATED: ON_MESSAGE_THREAD_INFO_UPDATED,
49
+ ON_MESSAGE_DELETED: ON_MESSAGE_DELETED,
50
+ ON_MESSAGE_DELETED_BY_REQ_ID: ON_MESSAGE_DELETED_BY_REQ_ID,
51
+ SET_CURRENT_CHANNEL: SET_CURRENT_CHANNEL,
52
+ SET_CHANNEL_INVALID: SET_CHANNEL_INVALID,
53
+ MARK_AS_READ: MARK_AS_READ,
54
+ ON_REACTION_UPDATED: ON_REACTION_UPDATED,
55
+ SET_EMOJI_CONTAINER: SET_EMOJI_CONTAINER,
56
+ MESSAGE_LIST_PARAMS_CHANGED: MESSAGE_LIST_PARAMS_CHANGED,
57
+ ON_FILE_INFO_UPLOADED: ON_FILE_INFO_UPLOADED
58
+ });
59
+
60
+ var PublishingModuleType;
61
+ (function (PublishingModuleType) {
62
+ PublishingModuleType["CHANNEL"] = "CHANNEL";
63
+ PublishingModuleType["THREAD"] = "THREAD";
64
+ })(PublishingModuleType || (PublishingModuleType = {}));
65
+
66
+ var getNicknamesMapFromMembers = function (members) {
67
+ if (members === void 0) {
68
+ members = [];
69
+ }
70
+ var nicknamesMap = new Map();
71
+ for (var memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
72
+ var _a = members[memberIndex],
73
+ userId = _a.userId,
74
+ nickname = _a.nickname;
75
+ nicknamesMap.set(userId, nickname);
76
+ }
77
+ return nicknamesMap;
78
+ };
79
+ var getParentMessageFrom = function (message) {
80
+ if (!message) {
81
+ return null;
82
+ }
83
+ if (isParentMessage(message)) {
84
+ return message;
85
+ }
86
+ if (isThreadMessage(message)) {
87
+ return (message === null || message === void 0 ? void 0 : message.parentMessage) || null;
88
+ }
89
+ return null;
90
+ };
91
+ var isParentMessage = function (message) {
92
+ return (message === null || message === void 0 ? void 0 : message.parentMessage) === null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && !(message === null || message === void 0 ? void 0 : message.parentMessageId);
93
+ };
94
+ var isThreadMessage = function (message) {
95
+ return (message === null || message === void 0 ? void 0 : message.parentMessage) !== null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0 && (message === null || message === void 0 ? void 0 : message.threadInfo) === null;
96
+ };
97
+ var isAboutSame = function (a, b, px) {
98
+ return Math.abs(a - b) <= px;
99
+ };
100
+ var isEmpty = function (val) {
101
+ return val === null || val === undefined;
102
+ };
103
+ // Some Ids return string and number inconsistently
104
+ // only use to comapre IDs
105
+ function compareIds(a, b) {
106
+ if (isEmpty(a) || isEmpty(b)) {
107
+ return false;
108
+ }
109
+ var aString = a.toString();
110
+ var bString = b.toString();
111
+ return aString === bString;
112
+ }
113
+ var getMessageCreatedAt = function (message) {
114
+ return format(message.createdAt, 'p');
115
+ };
116
+ var isReadMessage = function (channel, message) {
117
+ return getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ;
118
+ };
119
+ var isSameGroup = function (message, comparingMessage, currentChannel) {
120
+ var _a, _b, _c, _d;
121
+ if (!(message && comparingMessage && message.messageType && message.messageType !== 'admin' && comparingMessage.messageType && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) !== 'admin' && (message === null || message === void 0 ? void 0 : message.sender) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) && (message === null || message === void 0 ? void 0 : message.createdAt) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.createdAt) && ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId) && ((_b = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _b === void 0 ? void 0 : _b.userId))) {
122
+ return false;
123
+ }
124
+ return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && ((_c = message === null || message === void 0 ? void 0 : message.sender) === null || _c === void 0 ? void 0 : _c.userId) === ((_d = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _d === void 0 ? void 0 : _d.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage) && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage);
125
+ };
126
+ var compareMessagesForGrouping = function (prevMessage, currMessage, nextMessage, currentChannel, replyType) {
127
+ if (replyType === 'THREAD' && (currMessage === null || currMessage === void 0 ? void 0 : currMessage.threadInfo)) {
128
+ return [false, false];
129
+ }
130
+ var sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
131
+ var isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
132
+ return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
133
+ };
134
+ var scrollIntoLast = function (intialTry) {
135
+ if (intialTry === void 0) {
136
+ intialTry = 0;
137
+ }
138
+ var MAX_TRIES = 10;
139
+ var currentTry = intialTry;
140
+ if (currentTry > MAX_TRIES) {
141
+ return;
142
+ }
143
+ try {
144
+ var scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');
145
+ // eslint-disable-next-line no-multi-assign
146
+ scrollDOM.scrollTop = scrollDOM.scrollHeight;
147
+ } catch (error) {
148
+ setTimeout(function () {
149
+ scrollIntoLast(currentTry + 1);
150
+ }, 500 * currentTry);
151
+ }
152
+ };
153
+
154
+ /**
155
+ * pubSub is used instead of messagesDispatcher to avoid redundantly calling
156
+ * because this useSendMultipleFilesMessage is used in the Channel and Thread both
157
+ */
158
+ var useSendMultipleFilesMessage = function (_a, _b) {
159
+ var currentChannel = _a.currentChannel,
160
+ onBeforeSendMultipleFilesMessage = _a.onBeforeSendMultipleFilesMessage,
161
+ publishingModules = _a.publishingModules;
162
+ var logger = _b.logger,
163
+ pubSub = _b.pubSub,
164
+ scrollRef = _b.scrollRef;
165
+ var sendMessage = useCallback(function (files, quoteMessage) {
166
+ return new Promise(function (resolve, reject) {
167
+ if (!currentChannel) {
168
+ logger.warning('Channel: Sending MFm failed, because currentChannel is null.', {
169
+ currentChannel: currentChannel
170
+ });
171
+ reject();
172
+ }
173
+ if (files.length <= 1) {
174
+ logger.warning('Channel: Sending MFM failed, because there are no multiple files.', {
175
+ files: files
176
+ });
177
+ reject();
178
+ }
179
+ var messageParams = {
180
+ fileInfoList: files.map(function (file) {
181
+ return {
182
+ file: file,
183
+ fileName: file.name,
184
+ fileSize: file.size,
185
+ mimeType: file.type
186
+ };
187
+ })
188
+ };
189
+ if (quoteMessage) {
190
+ messageParams.isReplyToChannel = true;
191
+ messageParams.parentMessageId = quoteMessage.messageId;
192
+ }
193
+ if (typeof onBeforeSendMultipleFilesMessage === 'function') {
194
+ messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);
195
+ }
196
+ logger.info('Channel: Start sending MFM', {
197
+ messageParams: messageParams
198
+ });
199
+ try {
200
+ currentChannel.sendMultipleFilesMessage(messageParams)
201
+ /**
202
+ * We don't operate the onFileUploaded event for now
203
+ * until we will add UI/UX for it
204
+ */.onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
205
+ logger.info('Channel: onFileUploaded during sending MFM', {
206
+ requestId: requestId,
207
+ index: index,
208
+ error: error,
209
+ uploadableFileInfo: uploadableFileInfo
210
+ });
211
+ pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {
212
+ response: {
213
+ channelUrl: currentChannel.url,
214
+ requestId: requestId,
215
+ index: index,
216
+ uploadableFileInfo: uploadableFileInfo,
217
+ error: error
218
+ },
219
+ publishingModules: publishingModules
220
+ });
221
+ }).onPending(function (pendingMessage) {
222
+ logger.info('Channel: in progress of sending MFM', {
223
+ pendingMessage: pendingMessage,
224
+ fileInfoList: messageParams.fileInfoList
225
+ });
226
+ pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {
227
+ message: pendingMessage,
228
+ channel: currentChannel,
229
+ publishingModules: publishingModules
230
+ });
231
+ // We need this delay because rendering MFM takes time due to large image files.
232
+ setTimeout(function () {
233
+ if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {
234
+ scrollIntoLast$1(0, scrollRef);
235
+ }
236
+ if (publishingModules.includes(PublishingModuleType.THREAD)) {
237
+ scrollIntoLast(0);
238
+ }
239
+ }, 100);
240
+ }).onFailed(function (error, failedMessage) {
241
+ logger.error('Channel: Sending MFM failed.', {
242
+ error: error,
243
+ failedMessage: failedMessage
244
+ });
245
+ pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {
246
+ channel: currentChannel,
247
+ message: failedMessage,
248
+ publishingModules: publishingModules
249
+ });
250
+ reject(error);
251
+ }).onSucceeded(function (succeededMessage) {
252
+ logger.info('Channel: Sending voice message success!', {
253
+ succeededMessage: succeededMessage
254
+ });
255
+ pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
256
+ channel: currentChannel,
257
+ message: succeededMessage,
258
+ publishingModules: publishingModules
259
+ });
260
+ // We need this delay because rendering MFM takes time due to large image files.
261
+ setTimeout(function () {
262
+ if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {
263
+ scrollIntoLast$1(0, scrollRef);
264
+ }
265
+ if (publishingModules.includes(PublishingModuleType.THREAD)) {
266
+ scrollIntoLast(0);
267
+ }
268
+ }, 100);
269
+ resolve(succeededMessage);
270
+ });
271
+ } catch (error) {
272
+ logger.error('Channel: Sending MFM failed.', {
273
+ error: error
274
+ });
275
+ reject(error);
276
+ }
277
+ });
278
+ }, [currentChannel, onBeforeSendMultipleFilesMessage, publishingModules]);
279
+ return [sendMessage];
280
+ };
281
+
282
+ export { compareMessagesForGrouping as A, FETCH_INITIAL_MESSAGES_START as F, MARK_AS_READ as M, ON_MESSAGE_RECEIVED as O, PublishingModuleType as P, RESET_MESSAGES as R, SEND_MESSAGE_START as S, FETCH_INITIAL_MESSAGES_SUCCESS as a, FETCH_PREV_MESSAGES_SUCCESS as b, FETCH_NEXT_MESSAGES_SUCCESS as c, FETCH_INITIAL_MESSAGES_FAILURE as d, FETCH_PREV_MESSAGES_FAILURE as e, FETCH_NEXT_MESSAGES_FAILURE as f, SEND_MESSAGE_SUCCESS as g, SEND_MESSAGE_FAILURE as h, SET_CURRENT_CHANNEL as i, SET_CHANNEL_INVALID as j, ON_MESSAGE_UPDATED as k, ON_MESSAGE_THREAD_INFO_UPDATED as l, RESEND_MESSAGE_START as m, ON_MESSAGE_DELETED as n, ON_MESSAGE_DELETED_BY_REQ_ID as o, SET_EMOJI_CONTAINER as p, ON_REACTION_UPDATED as q, MESSAGE_LIST_PARAMS_CHANGED as r, ON_FILE_INFO_UPLOADED as s, channelActions as t, useSendMultipleFilesMessage as u, compareIds as v, scrollIntoLast as w, getParentMessageFrom as x, getNicknamesMapFromMembers as y, isAboutSame as z };
283
+ //# sourceMappingURL=useSendMultipleFilesMessage-4489a0f6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendMultipleFilesMessage-4489a0f6.js","sources":["../src/modules/Channel/context/dux/actionTypes.ts","../src/modules/internalInterfaces.ts","../src/modules/Thread/context/utils.ts","../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { CreateAction } from '../../../../utils/typeHelpers/reducers/createAction';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { CoreMessageType, SendableMessageType } from '../../../../utils';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { ReactionEvent, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MessageListParams } from '../ChannelProvider';\n\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\nexport const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';\nexport const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';\nexport const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';\nexport const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';\nexport const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\nexport const ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';\n\ntype CHANNEL_PAYLOAD_TYPES = {\n [RESET_MESSAGES]: null;\n [FETCH_INITIAL_MESSAGES_START]: null;\n [FETCH_INITIAL_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_PREV_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_NEXT_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_INITIAL_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_PREV_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_NEXT_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [SEND_MESSAGE_START]: SendableMessageType;\n [SEND_MESSAGE_SUCCESS]: SendableMessageType;\n [SEND_MESSAGE_FAILURE]: SendableMessageType;\n [SET_CURRENT_CHANNEL]: null | GroupChannel;\n [SET_CHANNEL_INVALID]: null;\n [ON_MESSAGE_RECEIVED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_UPDATED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_THREAD_INFO_UPDATED]: {\n channel: GroupChannel;\n event: any;\n };\n [RESEND_MESSAGE_START]: {\n reqId: number;\n };\n [MARK_AS_READ]: {\n channel: null | GroupChannel;\n };\n [ON_MESSAGE_DELETED]: MessageId;\n [ON_MESSAGE_DELETED_BY_REQ_ID]: RequestId;\n [SET_EMOJI_CONTAINER]: EmojiContainer;\n [ON_REACTION_UPDATED]: ReactionEvent;\n [MESSAGE_LIST_PARAMS_CHANGED]: MessageListParams;\n [ON_FILE_INFO_UPLOADED]: {\n channelUrl: string;\n requestId: number;\n index: number;\n uploadableFileInfo: UploadableFileInfo;\n error?: unknown;\n };\n};\n\ntype MessageId = number;\ntype RequestId = string;\n\nexport type ChannelActionTypes = CreateAction<CHANNEL_PAYLOAD_TYPES>;\n","export enum PublishingModuleType {\n CHANNEL = 'CHANNEL',\n THREAD = 'THREAD',\n}\n","import format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { BaseMessage } from '@sendbird/chat/message';\nimport { getOutgoingMessageState, OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\nimport { SendableMessageType } from '../../../utils';\n\nexport const getNicknamesMapFromMembers = (members = []): Map<string, string> => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getParentMessageFrom = (message: SendableMessageType | null): SendableMessageType | BaseMessage => {\n if (!message) {\n return null;\n }\n if (isParentMessage(message)) {\n return message;\n }\n if (isThreadMessage(message)) {\n return message?.parentMessage || null;\n }\n return null;\n};\n\nexport const isParentMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage === null\n && typeof message?.parentMessageId === 'number'\n && !message?.parentMessageId\n );\n};\n\nexport const isThreadMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage !== null\n && typeof message?.parentMessageId === 'number'\n && message?.parentMessageId > 0\n && message?.threadInfo === null\n );\n};\n\nexport const isAboutSame = (a: number, b: number, px: number): boolean => (Math.abs(a - b) <= px);\n\nexport const isEmpty = (val: unknown): boolean => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport function compareIds(a: number | string, b: number | string): boolean {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n\nexport const getMessageCreatedAt = (message: SendableMessageType): string => format(message.createdAt, 'p');\nexport const isReadMessage = (channel: GroupChannel, message: SendableMessageType): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isSameGroup = (\n message: SendableMessageType,\n comparingMessage: SendableMessageType,\n currentChannel: GroupChannel,\n): boolean => {\n if (!(message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && message?.sender\n && comparingMessage?.sender\n && message?.createdAt\n && comparingMessage?.createdAt\n && message?.sender?.userId\n && comparingMessage?.sender?.userId\n )) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendableMessageType,\n currMessage: SendableMessageType,\n nextMessage: SendableMessageType,\n currentChannel: GroupChannel,\n replyType: string,\n): [boolean, boolean] => {\n if (replyType === 'THREAD' && currMessage?.threadInfo) {\n return [false, false];\n }\n const sendingStatus = currMessage?.sendingStatus || '';\n const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';\n return [\n isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable,\n isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable,\n ];\n};\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n","import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { MultipleFilesMessageCreateParams, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport type { Nullable } from '../../../../types';\nimport PUBSUB_TOPICS from '../../../../lib/pubSub/topics';\nimport { scrollIntoLast as scrollIntoLastForChannel } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\nimport { PublishingModuleType } from '../../../internalInterfaces';\nimport { scrollIntoLast as scrollIntoLastForThread } from '../../../Thread/context/utils';\n\nexport type OnBeforeSendMFMType = (\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n) => MultipleFilesMessageCreateParams;\n\nexport interface UseSendMFMDynamicParams {\n currentChannel: Nullable<GroupChannel>;\n onBeforeSendMultipleFilesMessage?: OnBeforeSendMFMType;\n publishingModules: PublishingModuleType[];\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport interface FileUploadedPayload {\n channelUrl: string,\n requestId: string,\n index: number,\n uploadableFileInfo: UploadableFileInfo,\n error: Error,\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => Promise<MultipleFilesMessage>;\n\n/**\n * pubSub is used instead of messagesDispatcher to avoid redundantly calling\n * because this useSendMultipleFilesMessage is used in the Channel and Thread both\n */\nexport const useSendMultipleFilesMessage = ({\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n ): Promise<MultipleFilesMessage> => {\n return new Promise((resolve, reject) => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n reject();\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n reject();\n }\n let messageParams: MultipleFilesMessageCreateParams = {\n fileInfoList: files.map((file: File): UploadableFileInfo => ({\n file,\n fileName: file.name,\n fileSize: file.size,\n mimeType: file.type,\n })),\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n if (typeof onBeforeSendMultipleFilesMessage === 'function') {\n messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);\n }\n logger.info('Channel: Start sending MFM', { messageParams });\n try {\n currentChannel.sendMultipleFilesMessage(messageParams)\n /**\n * We don't operate the onFileUploaded event for now\n * until we will add UI/UX for it\n */\n .onFileUploaded((requestId, index, uploadableFileInfo: UploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', {\n requestId,\n index,\n error,\n uploadableFileInfo,\n });\n pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {\n response: {\n channelUrl: currentChannel.url,\n requestId,\n index,\n uploadableFileInfo,\n error,\n },\n publishingModules,\n });\n })\n .onPending((pendingMessage: MultipleFilesMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: pendingMessage,\n channel: currentChannel,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n })\n .onFailed((error, failedMessage: MultipleFilesMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n publishingModules,\n });\n reject(error);\n })\n .onSucceeded((succeededMessage: MultipleFilesMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n resolve(succeededMessage);\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n reject(error);\n }\n });\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n ]);\n return [sendMessage];\n};\n"],"names":["RESET_MESSAGES","FETCH_INITIAL_MESSAGES_START","FETCH_INITIAL_MESSAGES_SUCCESS","FETCH_INITIAL_MESSAGES_FAILURE","FETCH_PREV_MESSAGES_SUCCESS","FETCH_PREV_MESSAGES_FAILURE","FETCH_NEXT_MESSAGES_SUCCESS","FETCH_NEXT_MESSAGES_FAILURE","SEND_MESSAGE_START","SEND_MESSAGE_SUCCESS","SEND_MESSAGE_FAILURE","RESEND_MESSAGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_THREAD_INFO_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","MESSAGE_LIST_PARAMS_CHANGED","ON_FILE_INFO_UPLOADED","PublishingModuleType","getNicknamesMapFromMembers","members","nicknamesMap","Map","memberIndex","length","_a","userId","nickname","set","getParentMessageFrom","message","isParentMessage","isThreadMessage","parentMessage","parentMessageId","threadInfo","isAboutSame","a","b","px","Math","abs","isEmpty","val","undefined","compareIds","aString","toString","bString","getMessageCreatedAt","format","createdAt","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isSameGroup","comparingMessage","currentChannel","messageType","sender","_b","sendingStatus","_c","_d","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","replyType","isAcceptable","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","useSendMultipleFilesMessage","onBeforeSendMultipleFilesMessage","publishingModules","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","Promise","resolve","reject","warning","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","publish","PUBSUB_TOPICS","response","channelUrl","url","onPending","pendingMessage","includes","CHANNEL","scrollIntoLastForChannel","THREAD","scrollIntoLastForThread","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './_rollupPluginBabelHelpers-50c9576f.js';
3
+ import './tslib.es6-0c779aab.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -10,10 +10,12 @@ import './_rollupPluginBabelHelpers-50c9576f.js';
10
10
  * return (<div>...</div>);
11
11
  * }
12
12
  */
13
+ var NO_CONTEXT_ERROR = 'No sendbird state value available. Make sure you are rendering `<SendbirdProvider>` at the top of your app.';
13
14
  function useSendbirdStateContext() {
14
- const context = useContext(SendbirdSdkContext);
15
+ var context = useContext(SendbirdSdkContext);
16
+ if (!context) throw new Error(NO_CONTEXT_ERROR);
15
17
  return context;
16
18
  }
17
19
 
18
- export { useSendbirdStateContext as default };
20
+ export { useSendbirdStateContext as default, useSendbirdStateContext };
19
21
  //# sourceMappingURL=useSendbirdStateContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendbirdStateContext.js","sources":["../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["/**\n * Example:\n * const MyComponent = () => {\n * const context = useSendbirdStateContext();\n * const sdk = sendbirdSelectors.getSdk(context);\n * return (<div>...</div>);\n * }\n */\nimport { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../lib/types';\n\nfunction useSendbirdStateContext(): SendBirdState {\n const context: SendBirdState = useContext(SendbirdSdkContext);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["useSendbirdStateContext","context","useContext","SendbirdSdkContext"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,SAASA,uBAAuBA,GAAkB;AAChD,EAAA,MAAMC,OAAsB,GAAGC,UAAU,CAACC,kBAAkB,CAAC,CAAA;AAC7D,EAAA,OAAOF,OAAO,CAAA;AAChB;;;;"}
1
+ {"version":3,"file":"useSendbirdStateContext.js","sources":["../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["/**\n * Example:\n * const MyComponent = () => {\n * const context = useSendbirdStateContext();\n * const sdk = sendbirdSelectors.getSdk(context);\n * return (<div>...</div>);\n * }\n */\nimport { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../lib/types';\n\nconst NO_CONTEXT_ERROR = 'No sendbird state value available. Make sure you are rendering `<SendbirdProvider>` at the top of your app.';\n\nexport function useSendbirdStateContext(): SendBirdState {\n const context = useContext(SendbirdSdkContext);\n if (!context) throw new Error(NO_CONTEXT_ERROR);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["NO_CONTEXT_ERROR","useSendbirdStateContext","context","useContext","SendbirdSdkContext","Error"],"mappings":";;;;AAAA;;;;;;;AAOG;AAMH,IAAMA,gBAAgB,GAAG,6GAA6G,CAAA;SAEtHC,uBAAuBA,GAAA;AACrC,EAAA,IAAMC,OAAO,GAAGC,UAAU,CAACC,kBAAkB,CAAC,CAAA;EAC9C,IAAI,CAACF,OAAO,EAAE,MAAM,IAAIG,KAAK,CAACL,gBAAgB,CAAC,CAAA;AAC/C,EAAA,OAAOE,OAAO,CAAA;AAChB;;;;"}
@@ -0,0 +1,219 @@
1
+ import React__default, { useState, useMemo, useEffect } from 'react';
2
+ import Icon, { IconTypes, IconColors } from './ui/Icon.js';
3
+ import { SendingStatus } from '@sendbird/chat/message';
4
+ import ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from './ui/ImageRenderer.js';
5
+ import { o as getClassName, j as isGif, c as isMultipleFilesMessage } from './index-fc1642cb.js';
6
+ import { F as FileViewer } from './index-7a1085b6.js';
7
+ import { K } from './index-c6095960.js';
8
+
9
+ function ImageGrid(_a) {
10
+ var _b;
11
+ var children = _a.children,
12
+ className = _a.className,
13
+ message = _a.message,
14
+ isReactionEnabled = _a.isReactionEnabled;
15
+ return /*#__PURE__*/React__default.createElement("div", {
16
+ className: "sendbird-image-grid-wrap"
17
+ }, /*#__PURE__*/React__default.createElement("div", {
18
+ className: getClassName([className, 'sendbird-image-grid', isReactionEnabled && ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 ? 'reactions' : ''])
19
+ }, children));
20
+ }
21
+
22
+ var GRID_WIDTH_CHAT_WEB = 400;
23
+ var GRID_SIDE_PADDING = 8;
24
+ var GRID_GAP = 4;
25
+ var TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;
26
+ var PROFILE_IMAGE_WIDTH = 40;
27
+ var CHAT_MOBILE_SIDE_PADDING = 48;
28
+ var THREAD_PARENT_WIDTH = 320;
29
+ var THREAD_PARENT_SIDE_PADDING = 28;
30
+ var THREAD_PARENT_GRID_MARGIN_LEFT = 12;
31
+ var THREAD_CHILD_WIDTH = 200;
32
+ var THREAD_CHILD_SIDE_PADDING = 8;
33
+ var THREAD_CHILD_MOBILE_SIDE_PADDING = 32;
34
+ var THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;
35
+ var MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {
36
+ CHAT_WEB: "calc(".concat(GRID_WIDTH_CHAT_WEB / 2, "px - ").concat((GRID_SIDE_PADDING + GRID_GAP) / 2, "px)"),
37
+ CHAT_MOBILE: "calc(50vw - ".concat((CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2, "px)"),
38
+ THREAD_PARENT_WEB: "calc(".concat((THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2, "px)"),
39
+ THREAD_PARENT_MOBILE: "calc(50vw - ".concat((THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2, "px)"),
40
+ THREAD_CHILD_WEB: "calc(".concat((THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2, "px)"),
41
+ THREAD_CHILD_MOBILE: "calc(50vw - ".concat((THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2, "px)")
42
+ };
43
+ var MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {
44
+ CHAT_WEB: '6px',
45
+ CHAT_MOBILE: '6px',
46
+ THREAD_PARENT_WEB: '6px',
47
+ THREAD_PARENT_MOBILE: '6px',
48
+ THREAD_CHILD_WEB: '6px',
49
+ THREAD_CHILD_MOBILE: '6px'
50
+ };
51
+ var MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '34px';
52
+
53
+ var ThreadMessageKind = {
54
+ PARENT: 'parent',
55
+ CHILD: 'child'
56
+ };
57
+ function MultipleFilesMessageItemBody(_a) {
58
+ var className = _a.className,
59
+ message = _a.message,
60
+ _b = _a.isReactionEnabled,
61
+ isReactionEnabled = _b === void 0 ? false : _b,
62
+ threadMessageKindKey = _a.threadMessageKindKey,
63
+ _c = _a.statefulFileInfoList,
64
+ statefulFileInfoList = _c === void 0 ? [] : _c;
65
+ var _d = useState(-1),
66
+ currentFileViewerIndex = _d[0],
67
+ setCurrentFileViewerIndex = _d[1];
68
+ function onClose() {
69
+ setCurrentFileViewerIndex(-1);
70
+ }
71
+ function onClickLeft() {
72
+ setCurrentFileViewerIndex(currentFileViewerIndex === 0 ? statefulFileInfoList.length - 1 : currentFileViewerIndex - 1);
73
+ }
74
+ function onClickRight() {
75
+ setCurrentFileViewerIndex(currentFileViewerIndex === statefulFileInfoList.length - 1 ? 0 : currentFileViewerIndex + 1);
76
+ }
77
+ return threadMessageKindKey && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentFileViewerIndex > -1 && /*#__PURE__*/React__default.createElement(FileViewer, {
78
+ message: message,
79
+ statefulFileInfoList: statefulFileInfoList,
80
+ currentIndex: currentFileViewerIndex,
81
+ onClickLeft: onClickLeft,
82
+ onClickRight: onClickRight,
83
+ onClose: onClose
84
+ }), /*#__PURE__*/React__default.createElement(ImageGrid, {
85
+ className: className,
86
+ message: message,
87
+ isReactionEnabled: isReactionEnabled
88
+ }, statefulFileInfoList.map(function (fileInfo, index) {
89
+ var isGifValue = isGif(fileInfo.mimeType);
90
+ return /*#__PURE__*/React__default.createElement("div", {
91
+ className: "sendbird-multiple-files-image-renderer-wrapper",
92
+ onClick: message.sendingStatus === SendingStatus.SUCCEEDED ? function () {
93
+ return setCurrentFileViewerIndex(index);
94
+ } : undefined,
95
+ key: "sendbird-multiple-files-image-renderer-".concat(index, "-").concat(fileInfo.url)
96
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
97
+ url: fileInfo.url,
98
+ fixedSize: false,
99
+ width: MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey],
100
+ maxSideLength: MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB,
101
+ height: MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey],
102
+ borderRadius: getBorderRadiusForMultipleImageRenderer(MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey], index, statefulFileInfoList.length),
103
+ shadeOnHover: true,
104
+ isUploaded: !!fileInfo.isUploaded,
105
+ placeHolder: function (style_) {
106
+ return /*#__PURE__*/React__default.createElement("div", {
107
+ className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder",
108
+ style: style_
109
+ }, isGifValue ? /*#__PURE__*/React__default.createElement("div", {
110
+ className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder__icon"
111
+ }, /*#__PURE__*/React__default.createElement(Icon, {
112
+ type: IconTypes.GIF,
113
+ fillColor: IconColors.THUMBNAIL_ICON,
114
+ width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
115
+ height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
116
+ })) : /*#__PURE__*/React__default.createElement(Icon, {
117
+ type: IconTypes.PHOTO,
118
+ fillColor: IconColors.ON_BACKGROUND_2,
119
+ width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
120
+ height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
121
+ }));
122
+ },
123
+ defaultComponent: /*#__PURE__*/React__default.createElement("div", {
124
+ className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder"
125
+ }, /*#__PURE__*/React__default.createElement(Icon, {
126
+ type: IconTypes.THUMBNAIL_NONE,
127
+ fillColor: IconColors.ON_BACKGROUND_2,
128
+ width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
129
+ height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
130
+ }))
131
+ }));
132
+ })));
133
+ }
134
+
135
+ function useThreadMessageKindKeySelector(_a) {
136
+ var threadMessageKind = _a.threadMessageKind,
137
+ isMobile = _a.isMobile;
138
+ var threadMessageKindKey = useMemo(function () {
139
+ return K(threadMessageKind).with(ThreadMessageKind.PARENT, function () {
140
+ return isMobile ? 'THREAD_PARENT_MOBILE' : 'THREAD_PARENT_WEB';
141
+ }).with(ThreadMessageKind.CHILD, function () {
142
+ return isMobile ? 'THREAD_CHILD_MOBILE' : 'THREAD_CHILD_WEB';
143
+ }).otherwise(function () {
144
+ return isMobile ? 'CHAT_MOBILE' : 'CHAT_WEB';
145
+ });
146
+ }, [isMobile, threadMessageKind]);
147
+ return threadMessageKindKey;
148
+ }
149
+
150
+ function createStatefulFileInfoList(message, oldStatefulFileInfoList) {
151
+ var _a;
152
+ if (!message) return null;
153
+ // Handle sent messages.
154
+ if (message.sendingStatus === SendingStatus.SUCCEEDED) {
155
+ return message.fileInfoList.map(function (fileInfo) {
156
+ return {
157
+ fileName: fileInfo.fileName,
158
+ fileSize: fileInfo.fileSize,
159
+ mimeType: fileInfo.mimeType,
160
+ thumbnails: fileInfo.thumbnails,
161
+ url: fileInfo.url,
162
+ isUploaded: true
163
+ };
164
+ });
165
+ }
166
+ // Handle unsent message.
167
+ if (!Array.isArray((_a = message.messageParams) === null || _a === void 0 ? void 0 : _a.fileInfoList)) return null;
168
+ return message.messageParams.fileInfoList.map(function (fileInfo, index) {
169
+ var _a, _b, _c;
170
+ return {
171
+ fileName: fileInfo.fileName,
172
+ fileSize: fileInfo.fileSize,
173
+ mimeType: fileInfo.mimeType,
174
+ /**
175
+ * Note here, we prioritize using fileUrl (implying uploaded state) over file.
176
+ * This is necessary because cache loaded pending/failed mfms is mixed with
177
+ * files (not yet uploaded ones) and fileUrls (uploaded).
178
+ *
179
+ * Notice that if file is used in the old state, it will not be replace with the new fileUrl
180
+ * because doing so will rerender the ImageRenderer component which makes rendering process awkward and slow.
181
+ * */
182
+ url: (_c = (_b = (_a = oldStatefulFileInfoList[index]) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : fileInfo.fileUrl) !== null && _c !== void 0 ? _c : fileInfo.file instanceof Blob ? URL.createObjectURL(fileInfo.file) : undefined,
183
+ /**
184
+ * Side note: It was a bad design to not include this property by SDK.
185
+ * Because if original object has fileUrl set and no file, then uploaded result remains
186
+ * the same so customer cannot know whether it has been uploaded or not.
187
+ */
188
+ isUploaded: !fileInfo.file && typeof fileInfo.fileUrl === 'string' && fileInfo.fileUrl.length > 0
189
+ };
190
+ });
191
+ }
192
+
193
+ var useStatefulFileInfoList = function (message) {
194
+ var _a, _b, _c;
195
+ var _d = useState([]),
196
+ statefulFileInfoList = _d[0],
197
+ setStatefulFileInfoList = _d[1];
198
+ useEffect(function () {
199
+ if (isMultipleFilesMessage(message)) {
200
+ var newStatefulFileInfoList = createStatefulFileInfoList(message, statefulFileInfoList);
201
+ setStatefulFileInfoList(newStatefulFileInfoList);
202
+ }
203
+ }, [
204
+ // Sent message dependency.
205
+ (_a = message.fileInfoList) === null || _a === void 0 ? void 0 : _a.length,
206
+ // Unsent message dependency.
207
+ /**
208
+ * Side note: It was a bad design to not include 'isUploaded' property by SDK.
209
+ * Because if original object has fileUrl set and no file, then uploaded result remains
210
+ * the same so customer cannot know whether it has been uploaded or not.
211
+ */
212
+ (_c = (_b = message.messageParams) === null || _b === void 0 ? void 0 : _b.fileInfoList) === null || _c === void 0 ? void 0 : _c.map(function (fileInfo) {
213
+ return fileInfo.fileUrl;
214
+ }).join(',')]);
215
+ return statefulFileInfoList;
216
+ };
217
+
218
+ export { MultipleFilesMessageItemBody as M, ThreadMessageKind as T, useStatefulFileInfoList as a, useThreadMessageKindKeySelector as u };
219
+ //# sourceMappingURL=useStatefulFileInfoList-dd95f949.js.map