@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
@@ -1,60 +1,58 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-83d7e84b.js');
3
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-94c18dc1.js');
4
4
  var React = require('react');
5
5
  var reactDom = require('react-dom');
6
- var LocalizationContext = require('./LocalizationContext-482c1343.js');
7
- require('./index.module-a24e9cd7.js');
8
- var utils = require('./utils-c47c68b1.js');
9
- var ui_Label = require('./index-18720f0d.js');
6
+ var LocalizationContext = require('./LocalizationContext-5009012e.js');
7
+ var tslib_es6 = require('./tslib.es6-2f2b0bca.js');
8
+ require('./index-609b07a2.js');
9
+ var utils = require('./utils-180c6bc8.js');
10
+ var ui_Label = require('./index-35820a94.js');
11
+ require('./types-66554668.js');
10
12
  var ui_Icon = require('./ui/Icon.js');
11
- var index = require('./index-cbcacbee.js');
12
- var index$1 = require('./index-fbe9cc73.js');
13
+ var index$1 = require('./index-daf80c58.js');
14
+ var index = require('./index-b995f638.js');
13
15
  var ui_Avatar = require('./ui/Avatar.js');
14
- var consts = require('./consts-fb07c671.js');
16
+ var consts = require('./consts-95462b21.js');
15
17
 
16
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
19
 
18
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
21
 
20
22
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
21
-
22
- // TODO: refactor this to -> as const pattern
23
-
24
- const SUPPORTED_MIMES = {
23
+ var SUPPORTED_MIMES = {
25
24
  IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp'],
26
25
  VIDEO: ['video/mpeg', 'video/ogg', 'video/webm', 'video/mp4']
27
26
  };
28
- const isImage = type => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;
29
- const isVideo = type => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;
30
- _rollupPluginBabelHelpers._objectSpread2({}, SUPPORTED_MIMES);
31
- const ViewerTypes = {
27
+ var isImage = function (type) {
28
+ return SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;
29
+ };
30
+ var isVideo = function (type) {
31
+ return SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;
32
+ };
33
+ tslib_es6.__assign({}, SUPPORTED_MIMES);
34
+ var ViewerTypes = {
32
35
  SINGLE: 'SINGLE',
33
36
  MULTI: 'MULTI'
34
37
  };
35
38
 
36
- function useKeyDown(_ref) {
37
- let {
38
- props,
39
- ref
40
- } = _ref;
41
- const {
42
- onClose
43
- } = props;
44
- let onClickLeft = utils.noop;
45
- let onClickRight = utils.noop;
39
+ function useKeyDown(_a) {
40
+ var props = _a.props,
41
+ ref = _a.ref;
42
+ var onClose = props.onClose;
43
+ var onClickLeft = utils.noop;
44
+ var onClickRight = utils.noop;
46
45
  if (props.viewerType === ViewerTypes.MULTI) {
47
46
  onClickLeft = props.onClickLeft;
48
47
  onClickRight = props.onClickRight;
49
48
  }
50
- React.useLayoutEffect(() => {
51
- var _ref$current;
52
- (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
49
+ React.useLayoutEffect(function () {
50
+ var _a;
51
+ (_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();
53
52
  }, [ref.current]);
54
-
55
53
  // this usecallback is not super necessary
56
54
  // discuss with others and remove it if it's not needed
57
- const onKeyDown = React.useCallback(event => {
55
+ var onKeyDown = React.useCallback(function (event) {
58
56
  switch (event.key) {
59
57
  case 'Escape':
60
58
  // @ts-ignore
@@ -70,22 +68,19 @@ function useKeyDown(_ref) {
70
68
  event.stopPropagation();
71
69
  }, [onClose, onClickLeft, onClickRight]);
72
70
  return {
73
- onKeyDown
71
+ onKeyDown: onKeyDown
74
72
  };
75
73
  }
76
74
 
77
- function mapFileViewerComponentProps(_ref) {
78
- let {
79
- props
80
- } = _ref;
75
+ function mapFileViewerComponentProps(_a) {
76
+ var props = _a.props;
81
77
  if (props.viewerType === ViewerTypes.MULTI) {
82
- const {
83
- fileInfoList,
84
- currentIndex
85
- } = props;
78
+ var _b = props,
79
+ fileInfoList = _b.fileInfoList,
80
+ currentIndex = _b.currentIndex;
86
81
  return fileInfoList[currentIndex];
87
82
  }
88
- const fileInfo = props;
83
+ var fileInfo = props;
89
84
  return {
90
85
  name: fileInfo.name,
91
86
  type: fileInfo.type,
@@ -95,23 +90,21 @@ function mapFileViewerComponentProps(_ref) {
95
90
 
96
91
  function DeleteButton(props) {
97
92
  if (props.viewerType !== ViewerTypes.MULTI) {
98
- const {
99
- onDelete,
100
- isByMe,
101
- disableDelete,
102
- className
103
- } = props;
93
+ var onDelete_1 = props.onDelete,
94
+ isByMe = props.isByMe,
95
+ disableDelete_1 = props.disableDelete,
96
+ className = props.className;
104
97
  return isByMe ? /*#__PURE__*/React__default["default"].createElement("div", {
105
- className: `sendbird-fileviewer__header__right__actions__delete ${className}`
98
+ className: "sendbird-fileviewer__header__right__actions__delete ".concat(className)
106
99
  }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
107
- className: disableDelete ? 'disabled' : '',
100
+ className: disableDelete_1 ? 'disabled' : '',
108
101
  type: ui_Icon.IconTypes.DELETE,
109
- fillColor: disableDelete ? ui_Icon.IconColors.GRAY : ui_Icon.IconColors.ON_BACKGROUND_1,
102
+ fillColor: disableDelete_1 ? ui_Icon.IconColors.GRAY : ui_Icon.IconColors.ON_BACKGROUND_1,
110
103
  height: "24px",
111
104
  width: "24px",
112
- onClick: e => {
113
- if (!disableDelete) {
114
- onDelete === null || onDelete === void 0 ? void 0 : onDelete(e);
105
+ onClick: function (e) {
106
+ if (!disableDelete_1) {
107
+ onDelete_1 === null || onDelete_1 === void 0 ? void 0 : onDelete_1(e);
115
108
  }
116
109
  }
117
110
  })) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
@@ -122,10 +115,8 @@ function DeleteButton(props) {
122
115
  // this is a slider component that is used to navigate between images
123
116
  function Slider(props) {
124
117
  if (props.viewerType === ViewerTypes.MULTI) {
125
- const {
126
- onClickLeft,
127
- onClickRight
128
- } = props;
118
+ var onClickLeft_1 = props.onClickLeft,
119
+ onClickRight_1 = props.onClickRight;
129
120
  return /*#__PURE__*/React__default["default"].createElement("div", {
130
121
  className: "sendbird-file-viewer-slider"
131
122
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -135,8 +126,8 @@ function Slider(props) {
135
126
  fillColor: ui_Icon.IconColors.ON_BACKGROUND_1,
136
127
  height: consts.SLIDER_BUTTON_ICON_SIDE_LENGTH,
137
128
  width: consts.SLIDER_BUTTON_ICON_SIDE_LENGTH,
138
- onClick: e => {
139
- onClickLeft === null || onClickLeft === void 0 ? void 0 : onClickLeft();
129
+ onClick: function (e) {
130
+ onClickLeft_1 === null || onClickLeft_1 === void 0 ? void 0 : onClickLeft_1();
140
131
  e.stopPropagation();
141
132
  }
142
133
  })), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -146,9 +137,9 @@ function Slider(props) {
146
137
  fillColor: ui_Icon.IconColors.ON_BACKGROUND_1,
147
138
  height: consts.SLIDER_BUTTON_ICON_SIDE_LENGTH,
148
139
  width: consts.SLIDER_BUTTON_ICON_SIDE_LENGTH,
149
- onClick: e => {
140
+ onClick: function (e) {
150
141
  e.stopPropagation();
151
- onClickRight === null || onClickRight === void 0 ? void 0 : onClickRight();
142
+ onClickRight_1 === null || onClickRight_1 === void 0 ? void 0 : onClickRight_1();
152
143
  }
153
144
  })));
154
145
  }
@@ -156,29 +147,22 @@ function Slider(props) {
156
147
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
157
148
  }
158
149
 
159
- const FileViewerComponent = props => {
160
- const ref = React.useRef(null);
161
- const {
162
- profileUrl,
163
- nickname,
164
- onClose
165
- } = props;
166
- const {
167
- onKeyDown
168
- } = useKeyDown({
169
- props,
170
- ref
171
- });
172
- const {
173
- name,
174
- type,
175
- url
176
- } = mapFileViewerComponentProps({
177
- props
178
- });
179
- const {
180
- stringSet
181
- } = React.useContext(LocalizationContext.LocalizationContext);
150
+ var FileViewerComponent = function (props) {
151
+ var ref = React.useRef(null);
152
+ var profileUrl = props.profileUrl,
153
+ nickname = props.nickname,
154
+ onClose = props.onClose;
155
+ var onKeyDown = useKeyDown({
156
+ props: props,
157
+ ref: ref
158
+ }).onKeyDown;
159
+ var _a = mapFileViewerComponentProps({
160
+ props: props
161
+ }),
162
+ name = _a.name,
163
+ type = _a.type,
164
+ url = _a.url;
165
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
182
166
  return /*#__PURE__*/React__default["default"].createElement("div", {
183
167
  className: "sendbird-fileviewer",
184
168
  onKeyDown: onKeyDown
@@ -206,7 +190,7 @@ const FileViewerComponent = props => {
206
190
  color: ui_Label.LabelColors.ONBACKGROUND_2
207
191
  }, nickname)), /*#__PURE__*/React__default["default"].createElement("div", {
208
192
  className: "sendbird-fileviewer__header__right"
209
- }, index$1.isSupportedFileView(type) && /*#__PURE__*/React__default["default"].createElement("div", {
193
+ }, index.isSupportedFileView(type) && /*#__PURE__*/React__default["default"].createElement("div", {
210
194
  className: "sendbird-fileviewer__header__right__actions"
211
195
  }, /*#__PURE__*/React__default["default"].createElement("a", {
212
196
  className: "sendbird-fileviewer__header__right__actions__download",
@@ -227,43 +211,49 @@ const FileViewerComponent = props => {
227
211
  fillColor: ui_Icon.IconColors.ON_BACKGROUND_1,
228
212
  height: "24px",
229
213
  width: "24px",
230
- onClick: e => onClose === null || onClose === void 0 ? void 0 : onClose(e)
214
+ onClick: function (e) {
215
+ return onClose === null || onClose === void 0 ? void 0 : onClose(e);
216
+ }
231
217
  })))), /*#__PURE__*/React__default["default"].createElement("div", {
232
218
  className: "sendbird-fileviewer__content"
233
- }, index$1.isVideo(type) && /*#__PURE__*/React__default["default"].createElement("video", {
219
+ }, index.isVideo(type) && /*#__PURE__*/React__default["default"].createElement("video", {
234
220
  controls: true,
235
221
  className: "sendbird-fileviewer__content__video"
236
222
  }, /*#__PURE__*/React__default["default"].createElement("source", {
237
223
  src: url,
238
224
  type: type
239
- })), index$1.isImage(type) && /*#__PURE__*/React__default["default"].createElement("img", {
225
+ })), index.isImage(type) && /*#__PURE__*/React__default["default"].createElement("img", {
240
226
  src: url,
241
227
  alt: name,
242
228
  className: props.viewerType === ViewerTypes.MULTI ? 'sendbird-fileviewer__content__img__multi' : 'sendbird-fileviewer__content__img'
243
- }), !index$1.isSupportedFileView(type) && /*#__PURE__*/React__default["default"].createElement("div", {
229
+ }), !index.isSupportedFileView(type) && /*#__PURE__*/React__default["default"].createElement("div", {
244
230
  className: "sendbird-fileviewer__content__unsupported"
245
231
  }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
246
232
  type: ui_Label.LabelTypography.H_1,
247
233
  color: ui_Label.LabelColors.ONBACKGROUND_1
248
234
  }, (stringSet === null || stringSet === void 0 ? void 0 : stringSet.UI__FILE_VIEWER__UNSUPPORT) || 'Unsupported message')), /*#__PURE__*/React__default["default"].createElement(Slider, props)));
249
235
  };
250
- function FileViewer(_ref) {
251
- let {
252
- message,
253
- onClose,
254
- isByMe = false,
255
- onDelete,
256
- currentIndex,
257
- onClickLeft,
258
- onClickRight
259
- } = _ref;
260
- if (message.isMultipleFilesMessage()) {
261
- var _message$sender, _message$sender2;
236
+ function FileViewer(_a) {
237
+ var _b, _c, _d;
238
+ var message = _a.message,
239
+ _e = _a.statefulFileInfoList,
240
+ statefulFileInfoList = _e === void 0 ? [] : _e,
241
+ onClose = _a.onClose,
242
+ _f = _a.isByMe,
243
+ isByMe = _f === void 0 ? false : _f,
244
+ onDelete = _a.onDelete,
245
+ currentIndex = _a.currentIndex,
246
+ onClickLeft = _a.onClickLeft,
247
+ onClickRight = _a.onClickRight;
248
+ if (index.isMultipleFilesMessage(message)) {
249
+ var castedMessage = message;
262
250
  return /*#__PURE__*/React__default["default"].createElement(FileViewerComponent, {
263
- profileUrl: (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.profileUrl,
264
- nickname: (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.nickname,
251
+ profileUrl: castedMessage.sender.profileUrl,
252
+ nickname: castedMessage.sender.nickname,
265
253
  viewerType: ViewerTypes.MULTI,
266
- fileInfoList: message.fileInfoList.map(fileInfo => {
254
+ fileInfoList: statefulFileInfoList.filter(function (fileInfo) {
255
+ return fileInfo.url; // Caution: This assumes that defined url means file upload has completed.
256
+ }).map(function (fileInfo) {
267
257
  return {
268
258
  name: fileInfo.fileName || '',
269
259
  type: fileInfo.mimeType || '',
@@ -275,19 +265,19 @@ function FileViewer(_ref) {
275
265
  onClickRight: onClickRight || utils.noop,
276
266
  onClose: onClose
277
267
  });
278
- } else if (message.isFileMessage()) {
279
- var _message$sender3, _message$sender4, _message$threadInfo;
268
+ } else if (index.isFileMessage(message)) {
269
+ var castedMessage = message;
280
270
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(FileViewerComponent, {
281
- profileUrl: (_message$sender3 = message.sender) === null || _message$sender3 === void 0 ? void 0 : _message$sender3.profileUrl,
282
- nickname: (_message$sender4 = message.sender) === null || _message$sender4 === void 0 ? void 0 : _message$sender4.nickname,
283
- name: message.name,
284
- type: message.type,
285
- url: message === null || message === void 0 ? void 0 : message.url,
271
+ profileUrl: (_b = castedMessage.sender) === null || _b === void 0 ? void 0 : _b.profileUrl,
272
+ nickname: (_c = castedMessage.sender) === null || _c === void 0 ? void 0 : _c.nickname,
273
+ name: castedMessage.name,
274
+ type: castedMessage.type,
275
+ url: castedMessage === null || castedMessage === void 0 ? void 0 : castedMessage.url,
286
276
  isByMe: isByMe,
287
- disableDelete: ((message === null || message === void 0 ? void 0 : (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) || 0) > 0,
277
+ disableDelete: (((_d = castedMessage.threadInfo) === null || _d === void 0 ? void 0 : _d.replyCount) || 0) > 0,
288
278
  onClose: onClose,
289
279
  onDelete: onDelete || utils.noop
290
- }), document.getElementById(index.MODAL_ROOT));
280
+ }), document.getElementById(index$1.MODAL_ROOT));
291
281
  }
292
282
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
293
283
  }
@@ -296,4 +286,4 @@ exports.FileViewer = FileViewer;
296
286
  exports.FileViewerComponent = FileViewerComponent;
297
287
  exports.isImage = isImage;
298
288
  exports.isVideo = isVideo;
299
- //# sourceMappingURL=index-857630c5.js.map
289
+ //# sourceMappingURL=index-7b0c6630.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-7b0c6630.js","sources":["../../src/ui/FileViewer/types.ts","../../src/ui/FileViewer/hooks/useKeyDown.ts","../../src/ui/FileViewer/utils.ts","../../src/ui/FileViewer/DeleteButton.tsx","../../src/ui/FileViewer/Slider.tsx","../../src/ui/FileViewer/index.tsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\n\n// TODO: refactor this to -> as const pattern\nexport type SupportedImageMimesType = 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/gif' | 'image/svg+xml' | 'image/webp';\nexport type SupportedVideoMimesType = 'video/mpeg' | 'video/ogg' | 'video/webm' | 'video/mp4';\nexport type SupportedMimesType = SupportedImageMimesType | SupportedVideoMimesType;\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type: SupportedImageMimesType): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: SupportedVideoMimesType): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: SupportedMimesType): boolean => type === 'image/gif';\nexport const unSupported = (type: SupportedMimesType): boolean => (\n !(\n isImage(type as SupportedImageMimesType)\n || isVideo(type as SupportedVideoMimesType)\n )\n);\n\nexport default { ...SUPPORTED_MIMES };\n\nexport const ViewerTypes = {\n SINGLE: 'SINGLE',\n MULTI: 'MULTI',\n} as const;\n\nexport type ViewerType = keyof typeof ViewerTypes;\n\nexport interface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\nexport interface FileInfo {\n name: string;\n type: string;\n url: string;\n}\n\nexport interface BaseViewer {\n onClose: (e: React.MouseEvent) => void;\n}\n\nexport interface SingleFileViewer extends SenderInfo, FileInfo, BaseViewer {\n viewerType?: typeof ViewerTypes.SINGLE;\n isByMe?: boolean;\n disableDelete?: boolean;\n onDelete: (e: React.MouseEvent) => void;\n}\n\nexport interface MultiFilesViewer extends SenderInfo, BaseViewer {\n viewerType: typeof ViewerTypes.MULTI;\n fileInfoList: FileInfo[];\n currentIndex: number;\n onClickLeft: () => void;\n onClickRight: () => void;\n}\n\nexport type FileViewerComponentProps = SingleFileViewer | MultiFilesViewer;\n","import { useCallback, useLayoutEffect } from 'react';\nimport { noop } from '../../../utils/utils';\nimport { FileViewerComponentProps, ViewerTypes } from '../types';\n\nexport function useKeyDown({ props, ref }: {\n props: FileViewerComponentProps,\n ref: React.RefObject<HTMLDivElement>;\n}): {\n onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;\n} {\n const { onClose } = props;\n let onClickLeft = noop;\n let onClickRight = noop;\n if (props.viewerType === ViewerTypes.MULTI) {\n onClickLeft = props.onClickLeft;\n onClickRight = props.onClickRight;\n }\n\n useLayoutEffect(() => {\n ref.current?.focus();\n }, [ref.current]);\n\n // this usecallback is not super necessary\n // discuss with others and remove it if it's not needed\n const onKeyDown: React.KeyboardEventHandler<HTMLDivElement> = useCallback((event) => {\n switch (event.key) {\n case 'Escape':\n // @ts-ignore\n onClose(event);\n break;\n case 'ArrowLeft':\n onClickLeft();\n break;\n case 'ArrowRight':\n onClickRight();\n break;\n default:\n break;\n }\n event.stopPropagation();\n }, [onClose, onClickLeft, onClickRight]);\n\n return {\n onKeyDown,\n };\n}\n","import { FileInfo, FileViewerComponentProps, MultiFilesViewer, SingleFileViewer, ViewerTypes } from './types';\n\nexport function mapFileViewerComponentProps({ props }: {\n props: FileViewerComponentProps;\n}): FileInfo {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { fileInfoList, currentIndex } = props as MultiFilesViewer;\n return fileInfoList[currentIndex];\n }\n const fileInfo: FileInfo = props as SingleFileViewer;\n return {\n name: fileInfo.name,\n type: fileInfo.type,\n url: fileInfo.url,\n };\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\nexport function DeleteButton(props: FileViewerComponentProps & { className?: string }): React.ReactElement {\n if (props.viewerType !== ViewerTypes.MULTI) {\n const { onDelete, isByMe, disableDelete, className } = props;\n return (isByMe)\n ? (\n <div className={`sendbird-fileviewer__header__right__actions__delete ${className}`}>\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => { if (!disableDelete) { onDelete?.(e); } }}\n />\n </div>\n )\n : <></>;\n }\n return <></>;\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { SLIDER_BUTTON_ICON_SIDE_LENGTH } from '../../utils/consts';\n\n// this is a slider component that is used to navigate between images\nexport function Slider(props: FileViewerComponentProps): React.ReactElement {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { onClickLeft, onClickRight } = props;\n return (\n <div className=\"sendbird-file-viewer-slider\">\n <div className=\"sendbird-file-viewer-arrow--left\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n onClickLeft?.();\n e.stopPropagation();\n }}\n />\n </div>\n <div className=\"sendbird-file-viewer-arrow--right\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n e.stopPropagation();\n onClickRight?.();\n }}\n />\n </div>\n </div>\n );\n }\n // return empty fragment if viewerType is not ViewerTypes.MULTI\n return <></>;\n}\n","import './index.scss';\n\nimport React, { MouseEvent, ReactElement, useContext, useRef } from 'react';\nimport { FileMessage, MultipleFilesMessage } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal';\nimport { isFileMessage, isImage, isMultipleFilesMessage, isSupportedFileView, isVideo } from '../../utils';\nimport { noop } from '../../utils/utils';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { FileInfo, FileViewerComponentProps, ViewerTypes } from './types';\nimport { useKeyDown } from './hooks/useKeyDown';\nimport { mapFileViewerComponentProps } from './utils';\nimport { DeleteButton } from './DeleteButton';\nimport { Slider } from './Slider';\nimport { StatefulFileInfo } from '../../utils/createStatefulFileInfoList';\n\nexport const FileViewerComponent = (props: FileViewerComponentProps): ReactElement => {\n const ref = useRef<HTMLDivElement>(null);\n const { profileUrl, nickname, onClose } = props;\n const { onKeyDown } = useKeyDown({ props, ref });\n const { name, type, url } = mapFileViewerComponentProps({ props });\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n <div\n className=\"sendbird-fileviewer\"\n onKeyDown={onKeyDown}\n // to focus\n tabIndex={1}\n ref={ref}\n >\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div\n className=\"sendbird-fileviewer__header__right\"\n >\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\" >\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n <DeleteButton\n className='sendbird-fileviewer__header__right__actions__delete'\n {...props}\n />\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video\n controls\n className=\"sendbird-fileviewer__content__video\"\n >\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className={\n props.viewerType === ViewerTypes.MULTI\n ? 'sendbird-fileviewer__content__img__multi'\n : 'sendbird-fileviewer__content__img'\n }\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n <Slider {...props} />\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message?: FileMessage | MultipleFilesMessage;\n statefulFileInfoList?: StatefulFileInfo[]\n isByMe?: boolean;\n currentIndex?: number;\n onClose: (e: MouseEvent) => void;\n onDelete?: (e: MouseEvent) => void;\n onClickLeft?: () => void;\n onClickRight?: () => void;\n}\n\nexport default function FileViewer({\n message,\n statefulFileInfoList = [],\n onClose,\n isByMe = false,\n onDelete,\n currentIndex,\n onClickLeft,\n onClickRight,\n}: FileViewerProps): ReactElement {\n if (isMultipleFilesMessage(message)) {\n const castedMessage = message as MultipleFilesMessage;\n return (\n <FileViewerComponent\n profileUrl={castedMessage.sender.profileUrl}\n nickname={castedMessage.sender.nickname}\n viewerType={ViewerTypes.MULTI}\n fileInfoList={\n statefulFileInfoList.filter((fileInfo: StatefulFileInfo) => {\n return fileInfo.url; // Caution: This assumes that defined url means file upload has completed.\n }).map((fileInfo: StatefulFileInfo): FileInfo => {\n return {\n name: fileInfo.fileName || '',\n type: fileInfo.mimeType || '',\n url: fileInfo.url,\n };\n })\n }\n currentIndex={currentIndex || 0}\n onClickLeft={onClickLeft || noop}\n onClickRight={onClickRight || noop}\n onClose={onClose}\n />\n );\n } else if (isFileMessage(message)) {\n const castedMessage = message as FileMessage;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={castedMessage.sender?.profileUrl}\n nickname={castedMessage.sender?.nickname}\n name={castedMessage.name}\n type={castedMessage.type}\n url={castedMessage?.url}\n isByMe={isByMe}\n disableDelete={(castedMessage.threadInfo?.replyCount || 0) > 0}\n onClose={onClose}\n onDelete={onDelete || noop}\n />\n ),\n (document.getElementById(MODAL_ROOT) as HTMLElement),\n );\n }\n return <></>;\n}\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","__assign","ViewerTypes","SINGLE","MULTI","useKeyDown","_a","props","ref","onClose","onClickLeft","noop","onClickRight","viewerType","useLayoutEffect","current","focus","onKeyDown","useCallback","event","key","stopPropagation","mapFileViewerComponentProps","_b","fileInfoList","currentIndex","fileInfo","name","url","DeleteButton","onDelete_1","isByMe","disableDelete_1","disableDelete","className","React","createElement","concat","Icon","IconTypes","DELETE","fillColor","IconColors","GRAY","ON_BACKGROUND_1","height","width","onClick","e","Fragment","Slider","onClickLeft_1","onClickRight_1","SLIDE_LEFT","SLIDER_BUTTON_ICON_SIDE_LENGTH","FileViewerComponent","useRef","profileUrl","nickname","stringSet","useContext","LocalizationContext","tabIndex","Avatar","src","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","rel","href","target","DOWNLOAD","_extends","CLOSE","controls","alt","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","_e","statefulFileInfoList","_f","onDelete","isMultipleFilesMessage","castedMessage","sender","filter","map","fileName","mimeType","isFileMessage","createPortal","_c","_d","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAOA,IAAMA,eAAe,GAAG;AACtBC,EAAAA,KAAK,EAAE,CACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,CACb;EACDC,KAAK,EAAE,CACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,CAAA;CAEd,CAAA;IAEYC,OAAO,GAAG,UAACC,IAA6B,EAAA;EAAc,OAAAJ,eAAe,CAACC,KAAK,CAACI,OAAO,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAAxC,EAAwC;IAC9FE,OAAO,GAAG,UAACF,IAA6B,EAAA;EAAc,OAAAJ,eAAe,CAACE,KAAK,CAACG,OAAO,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAAxC,EAAwC;AAS3GG,kBAAA,CAAA,EAAA,EAAoBP,eAAe,CAAG,CAAA;AAE/B,IAAMQ,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;CACC;;ACnCJ,SAAUC,UAAUA,CAACC,EAG1B,EAAA;MAH4BC,KAAK,GAAAD,EAAA,CAAAC,KAAA;IAAEC,GAAG,GAAAF,EAAA,CAAAE,GAAA,CAAA;AAM7B,EAAA,IAAAC,OAAO,GAAKF,KAAK,CAAAE,OAAV,CAAA;EACf,IAAIC,WAAW,GAAGC,UAAI,CAAA;EACtB,IAAIC,YAAY,GAAGD,UAAI,CAAA;AACvB,EAAA,IAAIJ,KAAK,CAACM,UAAU,KAAKX,WAAW,CAACE,KAAK,EAAE;IAC1CM,WAAW,GAAGH,KAAK,CAACG,WAAW,CAAA;IAC/BE,YAAY,GAAGL,KAAK,CAACK,YAAY,CAAA;AAClC,GAAA;AAEDE,EAAAA,qBAAe,CAAC,YAAA;;IACd,CAAAR,EAAA,GAAAE,GAAG,CAACO,OAAO,MAAE,IAAA,IAAAT,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAU,KAAK,EAAE,CAAA;AACtB,GAAC,EAAE,CAACR,GAAG,CAACO,OAAO,CAAC,CAAC,CAAA;AAEjB;AACA;AACA,EAAA,IAAME,SAAS,GAA+CC,iBAAW,CAAC,UAACC,KAAK,EAAA;IAC9E,QAAQA,KAAK,CAACC,GAAG;AACf,MAAA,KAAK,QAAQ;AACX;QACAX,OAAO,CAACU,KAAK,CAAC,CAAA;AACd,QAAA,MAAA;AACF,MAAA,KAAK,WAAW;AACdT,QAAAA,WAAW,EAAE,CAAA;AACb,QAAA,MAAA;AACF,MAAA,KAAK,YAAY;AACfE,QAAAA,YAAY,EAAE,CAAA;AACd,QAAA,MAAA;AAGH,KAAA;IACDO,KAAK,CAACE,eAAe,EAAE,CAAA;GACxB,EAAE,CAACZ,OAAO,EAAEC,WAAW,EAAEE,YAAY,CAAC,CAAC,CAAA;EAExC,OAAO;AACLK,IAAAA,SAAS,EAAAA,SAAAA;GACV,CAAA;AACH;;AC3CM,SAAUK,2BAA2BA,CAAChB,EAE3C,EAAA;AAF6C,EAAA,IAAAC,KAAK,GAAAD,EAAA,CAAAC,KAAA,CAAA;AAGjD,EAAA,IAAIA,KAAK,CAACM,UAAU,KAAKX,WAAW,CAACE,KAAK,EAAE;IACpC,IAAAmB,EAAA,GAAiChB,KAAyB;MAAxDiB,YAAY,kBAAA;MAAEC,YAAY,kBAA8B,CAAA;IAChE,OAAOD,YAAY,CAACC,YAAY,CAAC,CAAA;AAClC,GAAA;EACD,IAAMC,QAAQ,GAAanB,KAAyB,CAAA;EACpD,OAAO;IACLoB,IAAI,EAAED,QAAQ,CAACC,IAAI;IACnB7B,IAAI,EAAE4B,QAAQ,CAAC5B,IAAI;IACnB8B,GAAG,EAAEF,QAAQ,CAACE,GAAAA;GACf,CAAA;AACH;;ACXM,SAAUC,YAAYA,CAACtB,KAAwD,EAAA;AACnF,EAAA,IAAIA,KAAK,CAACM,UAAU,KAAKX,WAAW,CAACE,KAAK,EAAE;AAClC,IAAA,IAAA0B,UAAQ,GAAuCvB,KAAK,SAA5C;MAAEwB,MAAM,GAA+BxB,KAAK,CAAAwB,MAApC;MAAEC,eAAa,GAAgBzB,KAAK,CAArB0B,aAAA;MAAEC,SAAS,GAAK3B,KAAK,UAAV,CAAA;AAClD,IAAA,OAAQwB,MAAM,gBAEVI,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAE,sDAAuD,CAAAG,MAAA,CAAAH,SAAS,CAAA;AAAG,KAAA,eACjFC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;AACHJ,MAAAA,SAAS,EAAEF,eAAa,GAAG,UAAU,GAAG,EAAG;MAC3ClC,IAAI,EAAEyC,iBAAS,CAACC,MAAO;MACvBC,SAAS,EAAET,eAAa,GAAGU,kBAAU,CAACC,IAAI,GAAGD,kBAAU,CAACE,eAAgB;AACxEC,MAAAA,MAAM,EAAC,MAAM;AACbC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,OAAO,EAAE,UAACC,CAAC,EAAO;QAAA,IAAI,CAAChB,eAAa,EAAE;AAAEF,UAAAA,UAAQ,aAARA,UAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,UAAQ,CAAGkB,CAAC,CAAC,CAAA;;AAAI,OAAA;KAE7D,CAAK,CAAC,gBAENb,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAc,QAAA,EAAA,IAAE,CAAG,CAAA;AACV,GAAA;EACD,oBAAOd,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAc,QAAA,OAAK,CAAA;AACd;;AClBA;AACM,SAAUC,MAAMA,CAAC3C,KAA+B,EAAA;AACpD,EAAA,IAAIA,KAAK,CAACM,UAAU,KAAKX,WAAW,CAACE,KAAK,EAAE;AAClC,IAAA,IAAA+C,aAAW,GAAmB5C,KAAK,CAAAG,WAAxB;MAAE0C,cAAY,GAAK7C,KAAK,CAAAK,YAAV,CAAA;IACjC,oBACEuB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,6BAAA;KACbC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,kCAAA;AAAkC,KAAA,eAC/CC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;MACHxC,IAAI,EAAEyC,iBAAS,CAACc,UAAW;MAC3BZ,SAAS,EAAEC,kBAAU,CAACE,eAAgB;AACtCC,MAAAA,MAAM,EAAES,qCAA+B;AACvCR,MAAAA,KAAK,EAAEQ,qCAA+B;AACtCP,MAAAA,OAAO,EAAE,UAACC,CAAC,EAAA;AACTG,QAAAA,aAAW,KAAX,IAAA,IAAAA,aAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,aAAW,EAAI,CAAA;QACfH,CAAC,CAAC3B,eAAe,EAAE,CAAA;AACrB,OAAA;AAAE,KAEN,CAAK,CACL,eAAAc,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,mCAAA;AAAmC,KAAA,eAChDC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;MACHxC,IAAI,EAAEyC,iBAAS,CAACc,UAAW;MAC3BZ,SAAS,EAAEC,kBAAU,CAACE,eAAgB;AACtCC,MAAAA,MAAM,EAAES,qCAA+B;AACvCR,MAAAA,KAAK,EAAEQ,qCAA+B;AACtCP,MAAAA,OAAO,EAAE,UAACC,CAAC,EAAA;QACTA,CAAC,CAAC3B,eAAe,EAAE,CAAA;AACnB+B,QAAAA,cAAY,KAAZ,IAAA,IAAAA,cAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,cAAY,EAAI,CAAA;AAClB,OAAA;KAEJ,CAAK,CACF,CAAC,CAAA;AAET,GAAA;AACD;EACA,oBAAOjB,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAc,QAAA,OAAK,CAAA;AACd;;ICrBaM,mBAAmB,GAAG,UAAChD,KAA+B,EAAA;AACjE,EAAA,IAAMC,GAAG,GAAGgD,YAAM,CAAiB,IAAI,CAAC,CAAA;AAChC,EAAA,IAAAC,UAAU,GAAwBlD,KAAK,CAAAkD,UAA7B;IAAEC,QAAQ,GAAcnD,KAAK,CAAAmD,QAAnB;IAAEjD,OAAO,GAAKF,KAAK,QAAV,CAAA;EAC7B,IAAAU,SAAS,GAAKZ,UAAU,CAAC;AAAEE,IAAAA,KAAK,EAAAA,KAAA;AAAEC,IAAAA,GAAG,EAAAA,GAAAA;GAAE,CAAC,UAA/B,CAAA;EACX,IAAAF,KAAsBgB,2BAA2B,CAAC;AAAEf,MAAAA,KAAK;AAAE,KAAA,CAAC;IAA1DoB,IAAI,UAAA;IAAE7B,IAAI,UAAA;IAAE8B,GAAG,SAA2C,CAAA;AAC1D,EAAA,IAAA+B,SAAS,GAAKC,gBAAU,CAACC,uCAAmB,CAAC,UAApC,CAAA;EAEjB,oBACE1B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEF,IAAAA,SAAS,EAAC,qBAAqB;AAC/BjB,IAAAA,SAAS,EAAEA,SAAAA;AACX;AAAA;AACA6C,IAAAA,QAAQ,EAAE,CAAE;AACZtD,IAAAA,GAAG,EAAEA,GAAAA;GAEL2B,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,6BAAA;GACbC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,mCAAA;GACbC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,2CAAA;AAA2C,GAAA,eACxDC,yBAAA,CAAAC,aAAA,CAAC2B,oBAAM,EAAA;AAAClB,IAAAA,MAAM,EAAC,MAAM;AAACC,IAAAA,KAAK,EAAC,MAAM;AAACkB,IAAAA,GAAG,EAAEP,UAAAA;AAAW,GACrD,CAAK,CACL,eAAAtB,yBAAA,CAAAC,aAAA,CAAC6B,cAAK,EAAA;AACJ/B,IAAAA,SAAS,EAAC,6CAA6C;IACvDpC,IAAI,EAAEoE,wBAAe,CAACC,GAAI;IAC1BC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC3C,IACI,CACP,eAAAQ,yBAAA,CAAAC,aAAA,CAAC6B,cAAK,EAAA;AACJ/B,IAAAA,SAAS,EAAC,gDAAgD;IAC1DpC,IAAI,EAAEoE,wBAAe,CAACK,MAAO;IAC7BH,KAAK,EAAEC,oBAAW,CAACG,cAAAA;AAAe,GAAA,EAEjCd,QACI,CACJ,CACL,eAAAvB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEF,IAAAA,SAAS,EAAC,oCAAA;AAAoC,GAAA,EAG5CuC,yBAAmB,CAAC3E,IAAI,CAAC,iBACvBqC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,6CAAA;GACbC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEF,IAAAA,SAAS,EAAC,uDAAuD;AACjEwC,IAAAA,GAAG,EAAC,qBAAqB;AACzBC,IAAAA,IAAI,EAAE/C,GAAI;AACVgD,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,eAEfzC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;IACHxC,IAAI,EAAEyC,iBAAS,CAACsC,QAAS;IACzBpC,SAAS,EAAEC,kBAAU,CAACE,eAAgB;AACtCC,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,KAAK,EAAC,MAAA;GAEV,CAAG,CACH,eAAAX,yBAAA,CAAAC,aAAA,CAACP,YAAY,EAAAiD,kCAAA,CAAA;AACX5C,IAAAA,SAAS,EAAC,qDAAA;AAAqD,GAAA,EAC3D3B,KAAK,CAEb,CAAK,CACN,eAEH4B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,oDAAA;AAAoD,GAAA,eACjEC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;IACHxC,IAAI,EAAEyC,iBAAS,CAACwC,KAAM;IACtBtC,SAAS,EAAEC,kBAAU,CAACE,eAAgB;AACtCC,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,OAAO,EAAE,UAACC,CAAC;AAAK,MAAA,OAAAvC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGuC,CAAC,CAAC,CAAA;AAAZ,KAAA;AAAa,GAEjC,CAAK,CACF,CACF,CACL,eAAAb,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,EAC1ClC,aAAO,CAACF,IAAI,CAAC,iBACZqC,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;IACE4C,QAAQ,EAAA,IAAA;AACR9C,IAAAA,SAAS,EAAC,qCAAA;GAEVC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ4B,IAAAA,GAAG,EAAEpC,GAAI;AAAC9B,IAAAA,IAAI,EAAEA,IAAAA;GAC1B,CAAO,CACR,EAECD,aAAO,CAACC,IAAI,CAAC,iBACXqC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE4B,IAAAA,GAAG,EAAEpC,GAAI;AACTqD,IAAAA,GAAG,EAAEtD,IAAK;IACVO,SAAS,EACP3B,KAAK,CAACM,UAAU,KAAKX,WAAW,CAACE,KAAK,GAClC,0CAA0C,GAC1C,mCAAA;GACL,CAEJ,EAGD,CAACqE,yBAAmB,CAAC3E,IAAI,CAAC,iBACxBqC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,2CAAA;AAA2C,GAAA,eACxDC,yBAAA,CAAAC,aAAA,CAAC6B,cAAK,EAAA;IAACnE,IAAI,EAAEoE,wBAAe,CAACgB,GAAI;IAACd,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EACjE,CAAAX,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAEwB,0BAA0B,KAAI,qBACrC,CACJ,CACN,eAEHhD,yBAAA,CAAAC,aAAA,CAACc,MAAM,EAAK3C,KACd,CAAK,CACF,CAAC,CAAA;AAEV,EAAC;AAauB,SAAA6E,UAAUA,CAAC9E,EASjB,EAAA;;AARhB,EAAA,IAAA+E,OAAO,GAAA/E,EAAA,CAAA+E,OAAA;IACPC,EAAyB,GAAAhF,EAAA,CAAAiF,oBAAA;IAAzBA,oBAAoB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,EAAA;IACzB7E,OAAO,GAAAH,EAAA,CAAAG,OAAA;IACP+E,EAAc,GAAAlF,EAAA,CAAAyB,MAAA;IAAdA,MAAM,GAAAyD,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAAA,EAAA;IACdC,QAAQ,GAAAnF,EAAA,CAAAmF,QAAA;IACRhE,YAAY,GAAAnB,EAAA,CAAAmB,YAAA;IACZf,WAAW,GAAAJ,EAAA,CAAAI,WAAA;IACXE,YAAY,GAAAN,EAAA,CAAAM,YAAA,CAAA;AAEZ,EAAA,IAAI8E,4BAAsB,CAACL,OAAO,CAAC,EAAE;IACnC,IAAMM,aAAa,GAAGN,OAA+B,CAAA;AACrD,IAAA,oBACElD,yBAAA,CAAAC,aAAA,CAACmB,mBAAmB,EAAA;AAClBE,MAAAA,UAAU,EAAEkC,aAAa,CAACC,MAAM,CAACnC,UAAW;AAC5CC,MAAAA,QAAQ,EAAEiC,aAAa,CAACC,MAAM,CAAClC,QAAS;MACxC7C,UAAU,EAAEX,WAAW,CAACE,KAAM;AAC9BoB,MAAAA,YAAY,EACV+D,oBAAoB,CAACM,MAAM,CAAC,UAACnE,QAA0B,EAAA;AACrD,QAAA,OAAOA,QAAQ,CAACE,GAAG,CAAC;AACtB,OAAC,CAAC,CAACkE,GAAG,CAAC,UAACpE,QAA0B,EAAA;QAChC,OAAO;AACLC,UAAAA,IAAI,EAAED,QAAQ,CAACqE,QAAQ,IAAI,EAAE;AAC7BjG,UAAAA,IAAI,EAAE4B,QAAQ,CAACsE,QAAQ,IAAI,EAAE;UAC7BpE,GAAG,EAAEF,QAAQ,CAACE,GAAAA;SACf,CAAA;AACH,OAAC,CACF;MACDH,YAAY,EAAEA,YAAY,IAAI,CAAE;MAChCf,WAAW,EAAEA,WAAW,IAAIC,UAAK;MACjCC,YAAY,EAAEA,YAAY,IAAID,UAAK;AACnCF,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,CACjB,CAAA;AAEL,GAAA,MAAM,IAAIwF,mBAAa,CAACZ,OAAO,CAAC,EAAE;IACjC,IAAMM,aAAa,GAAGN,OAAsB,CAAA;AAC5C,IAAA,oBAAOa,qBAAY,eAEf/D,yBAAA,CAAAC,aAAA,CAACmB,mBAAmB,EAAA;MAClBE,UAAU,EAAE,CAAAlC,EAAA,GAAAoE,aAAa,CAACC,MAAM,MAAA,IAAA,IAAArE,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEkC,UAAW;MAC7CC,QAAQ,EAAE,CAAAyC,EAAA,GAAAR,aAAa,CAACC,MAAM,0CAAElC,QAAS;MACzC/B,IAAI,EAAEgE,aAAa,CAAChE,IAAK;MACzB7B,IAAI,EAAE6F,aAAa,CAAC7F,IAAK;AACzB8B,MAAAA,GAAG,EAAE+D,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE/D,GAAI;AACxBG,MAAAA,MAAM,EAAEA,MAAO;MACfE,aAAa,EAAE,CAAC,CAAA,CAAAmE,EAAA,GAAAT,aAAa,CAACU,UAAU,0CAAEC,UAAU,KAAI,CAAC,IAAI,CAAE;AAC/D7F,MAAAA,OAAO,EAAEA,OAAQ;MACjBgF,QAAQ,EAAEA,QAAQ,IAAI9E,UAAAA;KAAK,CAC3B,EAEH4F,QAAQ,CAACC,cAAc,CAACC,kBAAU,CAAiB,CACrD,CAAA;AACF,GAAA;EACD,oBAAOtE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAc,QAAA,OAAK,CAAA;AACd;;;;;;;"}
@@ -0,0 +1,197 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_ContextMenu = require('./ui/ContextMenu.js');
5
+ var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
+ var LocalizationContext = require('./LocalizationContext-5009012e.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ var OpenChannelMessageStatusTypes = {
13
+ NONE: 'none',
14
+ PENDING: 'pending',
15
+ FAILED: 'failed',
16
+ CANCELED: 'canceled',
17
+ SUCCEEDED: 'succeeded'
18
+ };
19
+ var getSenderFromMessage = function (message) {
20
+ // @ts-ignore
21
+ return message.sender || message._sender;
22
+ };
23
+ var checkIsSent = function (status) {
24
+ return status === OpenChannelMessageStatusTypes.SUCCEEDED;
25
+ };
26
+ var checkIsPending = function (status) {
27
+ return status === OpenChannelMessageStatusTypes.PENDING;
28
+ };
29
+ var checkIsFailed = function (status) {
30
+ return status === OpenChannelMessageStatusTypes.FAILED;
31
+ };
32
+ var checkIsByMe = function (message, userId) {
33
+ return getSenderFromMessage(message).userId === userId;
34
+ };
35
+ var isFineCopy = function (_a) {
36
+ var _b;
37
+ var message = _a.message;
38
+ return (message === null || message === void 0 ? void 0 : message.messageType) === 'user' && ((_b = message === null || message === void 0 ? void 0 : message.message) === null || _b === void 0 ? void 0 : _b.length) > 0;
39
+ };
40
+ var isFineResend = function (_a) {
41
+ var message = _a.message,
42
+ status = _a.status,
43
+ userId = _a.userId;
44
+ return checkIsByMe(message, userId) && checkIsFailed(status)
45
+ // @ts-ignore
46
+ && (message === null || message === void 0 ? void 0 : message.isResendable());
47
+ };
48
+ var isFineEdit = function (_a) {
49
+ var _b;
50
+ var message = _a.message,
51
+ status = _a.status,
52
+ userId = _a.userId;
53
+ return checkIsByMe(message, userId) && checkIsSent(status) && ((_b = message === null || message === void 0 ? void 0 : message.isUserMessage) === null || _b === void 0 ? void 0 : _b.call(message));
54
+ };
55
+ var isFineDelete = function (_a) {
56
+ var message = _a.message,
57
+ userId = _a.userId;
58
+ return checkIsByMe(message, userId);
59
+ };
60
+ var isFineDownload = function (_a) {
61
+ var _b;
62
+ var message = _a.message,
63
+ status = _a.status;
64
+ if (((_b = message === null || message === void 0 ? void 0 : message.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(message)) && checkIsSent(status)) {
65
+ return true;
66
+ }
67
+ return false;
68
+ };
69
+ var showMenuTrigger = function (props) {
70
+ var message = props.message,
71
+ status = props.status,
72
+ userId = props.userId;
73
+ // @ts-ignore
74
+ if (message.messageType === 'user') {
75
+ return isFineDelete({
76
+ message: message,
77
+ status: status,
78
+ userId: userId
79
+ }) || isFineEdit({
80
+ message: message,
81
+ status: status,
82
+ userId: userId
83
+ })
84
+ // @ts-ignore
85
+ || isFineCopy({
86
+ message: message,
87
+ status: status,
88
+ userId: userId
89
+ }) || isFineResend({
90
+ message: message,
91
+ status: status,
92
+ userId: userId
93
+ });
94
+ } else {
95
+ return isFineDelete({
96
+ message: message,
97
+ status: status,
98
+ userId: userId
99
+ }) || isFineResend({
100
+ message: message,
101
+ status: status,
102
+ userId: userId
103
+ });
104
+ }
105
+ };
106
+
107
+ var OpenChannelMobileMenu = function (props) {
108
+ var _a, _b;
109
+ var message = props.message,
110
+ parentRef = props.parentRef,
111
+ resendMessage = props.resendMessage,
112
+ showEdit = props.showEdit,
113
+ showRemove = props.showRemove,
114
+ copyToClipboard = props.copyToClipboard,
115
+ hideMenu = props.hideMenu,
116
+ _c = props.isEphemeral,
117
+ isEphemeral = _c === void 0 ? false : _c;
118
+ var userMessage = message;
119
+ var status = message === null || message === void 0 ? void 0 : message.sendingStatus;
120
+ var stringSet = LocalizationContext.useLocalization().stringSet;
121
+ var userId = (_b = (_a = useSendbirdStateContext.useSendbirdStateContext()) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.userId;
122
+ var fileMessage = message;
123
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
124
+ isOpen: true,
125
+ menuItems: function () {
126
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
127
+ className: "sendbird-openchannel__mobile-menu",
128
+ parentRef: parentRef,
129
+ parentContainRef: parentRef,
130
+ closeDropdown: hideMenu
131
+ }, isFineCopy({
132
+ message: userMessage,
133
+ userId: userId,
134
+ status: status
135
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
136
+ className: "sendbird-openchannel-og-message__top__context-menu__copy",
137
+ onClick: function () {
138
+ copyToClipboard();
139
+ },
140
+ dataSbId: "open_channel_mobile_context_menu_copy"
141
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__COPY)), !isEphemeral && isFineEdit({
142
+ message: message,
143
+ userId: userId,
144
+ status: status
145
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
146
+ className: "sendbird-openchannel-og-message__top__context-menu__edit",
147
+ onClick: function () {
148
+ showEdit();
149
+ },
150
+ dataSbId: "open_channel_mobile_context_menu_edit"
151
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__EDIT)), isFineResend({
152
+ message: message,
153
+ userId: userId,
154
+ status: status
155
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
156
+ onClick: function () {
157
+ resendMessage();
158
+ },
159
+ dataSbId: "open_channel_mobile_context_menu_resend"
160
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__RESEND)), !isEphemeral && isFineDelete({
161
+ message: message,
162
+ userId: userId,
163
+ status: status
164
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
165
+ onClick: function () {
166
+ showRemove();
167
+ },
168
+ dataSbId: "open_channel_mobile_context_menu_delete"
169
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__DELETE)), isFineDownload({
170
+ message: message,
171
+ status: status
172
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
173
+ onClick: function () {
174
+ hideMenu();
175
+ },
176
+ dataSbId: "open_channel_mobile_context_menu_download_file"
177
+ }, /*#__PURE__*/React__default["default"].createElement("a", {
178
+ className: "sendbird-openchannel__mobile-menu-hyperlink",
179
+ rel: "noopener noreferrer",
180
+ href: fileMessage === null || fileMessage === void 0 ? void 0 : fileMessage.url,
181
+ target: "_blank"
182
+ }, stringSet.CONTEXT_MENU_DROPDOWN__SAVE)));
183
+ }
184
+ });
185
+ };
186
+
187
+ exports.OpenChannelMobileMenu = OpenChannelMobileMenu;
188
+ exports.checkIsFailed = checkIsFailed;
189
+ exports.checkIsPending = checkIsPending;
190
+ exports.checkIsSent = checkIsSent;
191
+ exports.getSenderFromMessage = getSenderFromMessage;
192
+ exports.isFineCopy = isFineCopy;
193
+ exports.isFineDelete = isFineDelete;
194
+ exports.isFineEdit = isFineEdit;
195
+ exports.isFineResend = isFineResend;
196
+ exports.showMenuTrigger = showMenuTrigger;
197
+ //# sourceMappingURL=index-80a11b6a.js.map