@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 +1 @@
1
- {"version":3,"file":"MessageItemMenu.js","sources":["../../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport {\n getClassName,\n copyToClipboard,\n isUserMessage,\n isSentMessage,\n isFailedMessage,\n isPendingMessage, SendableMessageType,\n} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { Role } from '../../lib/types';\nimport { ReplyType } from '../../types';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendableMessageType;\n channel: GroupChannel | OpenChannel;\n isByMe?: boolean;\n disabled?: boolean;\n replyType?: ReplyType;\n disableDeleteMessage?: boolean;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n resendMessage?: (message: SendableMessageType) => void;\n setQuoteMessage?: (message: SendableMessageType) => void;\n setSupposedHover?: (bool: boolean) => void;\n onReplyInThread?: (props: { message: SendableMessageType }) => void;\n onMoveToParentMessage?: () => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n disableDeleteMessage = null,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n onReplyInThread,\n onMoveToParentMessage = null,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (!channel?.isEphemeral && isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !channel?.isEphemeral && !isPendingMessage(message) && isByMe;\n const showMenuItemOpenInChannel: boolean = onMoveToParentMessage !== null;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const isReplyTypeEnabled = !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel?.()\n && !channel?.isEphemeral\n && (\n ((channel as GroupChannel)?.isBroadcast && channel?.myRole === Role.OPERATOR)\n || !(channel as GroupChannel)?.isBroadcast\n ));\n const showMenuItemReply = isReplyTypeEnabled && replyType === 'QUOTE_REPLY';\n const showMenuItemThread = isReplyTypeEnabled && replyType === 'THREAD' && !message?.parentMessageId && onReplyInThread;\n\n if (!(showMenuItemCopy\n || showMenuItemReply\n || showMenuItemThread\n || showMenuItemOpenInChannel\n || showMenuItemEdit\n || showMenuItemResend\n || showMenuItemDelete\n )) {\n return null;\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-menu__trigger__icon\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <MenuItems\n className=\"sendbird-message-item-menu__list\"\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n openLeft={isByMe}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-copy\"\n onClick={() => {\n copyToClipboard((message as UserMessage)?.message);\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_copy\"\n >\n {stringSet.MESSAGE_MENU__COPY}\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-reply\"\n onClick={() => {\n setQuoteMessage(message);\n closeDropdown();\n }}\n disable={message?.parentMessageId > 0}\n dataSbId=\"ui_message_item_menu_reply\"\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-thread\"\n onClick={() => {\n onReplyInThread?.({ message });\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_thread\"\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </MenuItem>\n )}\n {showMenuItemOpenInChannel && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-open-channel\"\n onClick={() => {\n onMoveToParentMessage?.();\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_open_in_channel\"\n >\n {stringSet.MESSAGE_MENU__OPEN_IN_CHANNEL}\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-edit\"\n onClick={() => {\n if (!disabled) {\n showEdit(true);\n closeDropdown();\n }\n }}\n dataSbId=\"ui_message_item_menu_edit\"\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-resend\"\n onClick={() => {\n if (!disabled) {\n resendMessage(message);\n closeDropdown();\n }\n }}\n dataSbId=\"ui_message_item_menu_resend\"\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-delete\"\n onClick={() => {\n if (!disabled) {\n showRemove(true);\n closeDropdown();\n }\n }}\n disable={\n typeof disableDeleteMessage === 'boolean'\n ? disableDeleteMessage\n : message?.threadInfo?.replyCount > 0\n }\n dataSbId=\"ui_message_item_menu_delete\"\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </MenuItem>\n )}\n </MenuItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemMenu","_ref","_channel$isGroupChann","className","message","channel","isByMe","disabled","replyType","disableDeleteMessage","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","onReplyInThread","onMoveToParentMessage","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isEphemeral","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemOpenInChannel","isReplyTypeEnabled","isGroupChannel","call","isBroadcast","myRole","Role","OPERATOR","showMenuItemReply","showMenuItemThread","parentMessageId","React","createElement","getClassName","ref","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","onBlur","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","close","_message$threadInfo","closeDropdown","MenuItems","parentRef","parentContainRef","openLeft","MenuItem","copyToClipboard","dataSbId","MESSAGE_MENU__COPY","disable","MESSAGE_MENU__REPLY","MESSAGE_MENU__THREAD","MESSAGE_MENU__OPEN_IN_CHANNEL","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
1
+ {"version":3,"file":"MessageItemMenu.js","sources":["../../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport {\n getClassName,\n copyToClipboard,\n isUserMessage,\n isSentMessage,\n isFailedMessage,\n isPendingMessage,\n SendableMessageType,\n} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { Role } from '../../lib/types';\nimport { ReplyType } from '../../types';\nimport { useChannelContext } from '../../modules/Channel/context/ChannelProvider';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendableMessageType;\n channel: GroupChannel | OpenChannel;\n isByMe?: boolean;\n disabled?: boolean;\n replyType?: ReplyType;\n disableDeleteMessage?: boolean;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n resendMessage?: (message: SendableMessageType) => void;\n setQuoteMessage?: (message: SendableMessageType) => void;\n setSupposedHover?: (bool: boolean) => void;\n onReplyInThread?: (props: { message: SendableMessageType }) => void;\n onMoveToParentMessage?: () => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n disableDeleteMessage = null,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n onReplyInThread,\n onMoveToParentMessage = null,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n const channelStore = useChannelContext();\n\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (!channel?.isEphemeral && isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !channel?.isEphemeral && !isPendingMessage(message) && isByMe;\n const showMenuItemOpenInChannel: boolean = onMoveToParentMessage !== null;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const isReplyTypeEnabled = !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel?.()\n && !channel?.isEphemeral\n && (\n ((channel as GroupChannel)?.isBroadcast && channel?.myRole === Role.OPERATOR)\n || !(channel as GroupChannel)?.isBroadcast\n ));\n const showMenuItemReply = isReplyTypeEnabled && replyType === 'QUOTE_REPLY';\n const showMenuItemThread = isReplyTypeEnabled && replyType === 'THREAD' && !message?.parentMessageId && onReplyInThread;\n\n if (!(showMenuItemCopy\n || showMenuItemReply\n || showMenuItemThread\n || showMenuItemOpenInChannel\n || showMenuItemEdit\n || showMenuItemResend\n || showMenuItemDelete\n )) {\n return null;\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-menu__trigger__icon\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <MenuItems\n className=\"sendbird-message-item-menu__list\"\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n openLeft={isByMe}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-copy\"\n onClick={() => {\n copyToClipboard((message as UserMessage)?.message);\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_copy\"\n >\n {stringSet.MESSAGE_MENU__COPY}\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-reply\"\n onClick={() => {\n setQuoteMessage(message);\n closeDropdown();\n }}\n disable={message?.parentMessageId > 0}\n dataSbId=\"ui_message_item_menu_reply\"\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-thread\"\n onClick={() => {\n onReplyInThread?.({ message });\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_thread\"\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </MenuItem>\n )}\n {showMenuItemOpenInChannel && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-open-channel\"\n onClick={() => {\n onMoveToParentMessage?.();\n closeDropdown();\n }}\n dataSbId=\"ui_message_item_menu_open_in_channel\"\n >\n {stringSet.MESSAGE_MENU__OPEN_IN_CHANNEL}\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-edit\"\n onClick={() => {\n if (!disabled) {\n showEdit(true);\n closeDropdown();\n }\n }}\n dataSbId=\"ui_message_item_menu_edit\"\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-resend\"\n onClick={() => {\n if (!disabled) {\n resendMessage(message);\n closeDropdown();\n }\n }}\n dataSbId=\"ui_message_item_menu_resend\"\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-delete\"\n onClick={() => {\n if (isFailedMessage(message)) {\n channelStore?.deleteMessage?.(message);\n } else if (!disabled) {\n showRemove(true);\n closeDropdown();\n }\n }}\n disable={\n typeof disableDeleteMessage === 'boolean'\n ? disableDeleteMessage\n : message?.threadInfo?.replyCount > 0\n }\n dataSbId=\"ui_message_item_menu_delete\"\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </MenuItem>\n )}\n </MenuItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemMenu","_a","className","message","channel","_c","isByMe","_d","disabled","replyType","_e","disableDeleteMessage","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","onReplyInThread","_f","onMoveToParentMessage","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","channelStore","useChannelContext","showMenuItemCopy","isUserMessage","showMenuItemEdit","isEphemeral","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemOpenInChannel","isReplyTypeEnabled","isGroupChannel","_b","call","isBroadcast","myRole","Role","OPERATOR","showMenuItemReply","showMenuItemThread","parentMessageId","React","createElement","getClassName","ref","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","onBlur","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","close","closeDropdown","MenuItems","parentRef","parentContainRef","openLeft","MenuItem","copyToClipboard","dataSbId","MESSAGE_MENU__COPY","disable","MESSAGE_MENU__REPLY","MESSAGE_MENU__THREAD","MESSAGE_MENU__OPEN_IN_CHANNEL","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","deleteMessage","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
@@ -6,39 +6,39 @@ var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
7
  var ui_ImageRenderer = require('./ImageRenderer.js');
8
8
  var ui_ReactionButton = require('./ReactionButton.js');
9
- var index = require('../index-fbe9cc73.js');
10
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
9
+ var index = require('../index-b995f638.js');
10
+ require('../tslib.es6-2f2b0bca.js');
11
11
  require('react-dom');
12
12
  require('./SortByRow.js');
13
- require('../uuid-b2806cf5.js');
14
- require('../index-18720f0d.js');
13
+ require('../uuid-c74bbbb6.js');
14
+ require('../index-35820a94.js');
15
15
  require('prop-types');
16
- require('../stringSet-d00535a5.js');
16
+ require('../stringSet-98b52c49.js');
17
17
  require('../utils/message/getOutgoingMessageState.js');
18
- require('../index.module-a24e9cd7.js');
19
- require('../useLongPress-1c0f4696.js');
20
- require('../MediaQueryContext-73aac8cf.js');
21
- require('../utils-c47c68b1.js');
18
+ require('../index-609b07a2.js');
19
+ require('../_rollupPluginBabelHelpers-94c18dc1.js');
20
+ require('../useLongPress-c1da8ba7.js');
21
+ require('../MediaQueryContext-d6fdbe43.js');
22
+ require('../utils-180c6bc8.js');
22
23
 
23
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
25
 
25
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
27
 
27
- function MessageItemReactionMenu(_ref) {
28
- let {
29
- className,
30
- message,
31
- userId,
32
- spaceFromTrigger = {
28
+ function MessageItemReactionMenu(_a) {
29
+ var className = _a.className,
30
+ message = _a.message,
31
+ userId = _a.userId,
32
+ _b = _a.spaceFromTrigger,
33
+ spaceFromTrigger = _b === void 0 ? {
33
34
  x: 0,
34
35
  y: 0
35
- },
36
- emojiContainer,
37
- toggleReaction,
38
- setSupposedHover
39
- } = _ref;
40
- const triggerRef = React.useRef(null);
41
- const containerRef = React.useRef(null);
36
+ } : _b,
37
+ emojiContainer = _a.emojiContainer,
38
+ toggleReaction = _a.toggleReaction,
39
+ setSupposedHover = _a.setSupposedHover;
40
+ var triggerRef = React.useRef(null);
41
+ var containerRef = React.useRef(null);
42
42
  if (index.isPendingMessage(message) || index.isFailedMessage(message)) {
43
43
  return null;
44
44
  }
@@ -46,27 +46,29 @@ function MessageItemReactionMenu(_ref) {
46
46
  className: index.getClassName([className, 'sendbird-message-item-reaction-menu']),
47
47
  ref: containerRef
48
48
  }, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
49
- menuTrigger: toggleDropdown => /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
50
- className: "sendbird-message-item-reaction-menu__trigger",
51
- ref: triggerRef,
52
- width: "32px",
53
- height: "32px",
54
- onClick: () => {
55
- toggleDropdown();
56
- setSupposedHover(true);
57
- },
58
- onBlur: () => {
59
- setSupposedHover(false);
60
- }
61
- }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
62
- className: "sendbird-message-item-reaction-menu__trigger__icon",
63
- type: ui_Icon.IconTypes.EMOJI_MORE,
64
- fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
65
- width: "24px",
66
- height: "24px"
67
- })),
68
- menuItems: close => {
69
- const closeDropdown = () => {
49
+ menuTrigger: function (toggleDropdown) {
50
+ return /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
51
+ className: "sendbird-message-item-reaction-menu__trigger",
52
+ ref: triggerRef,
53
+ width: "32px",
54
+ height: "32px",
55
+ onClick: function () {
56
+ toggleDropdown();
57
+ setSupposedHover(true);
58
+ },
59
+ onBlur: function () {
60
+ setSupposedHover(false);
61
+ }
62
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
63
+ className: "sendbird-message-item-reaction-menu__trigger__icon",
64
+ type: ui_Icon.IconTypes.EMOJI_MORE,
65
+ fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
66
+ width: "24px",
67
+ height: "24px"
68
+ }));
69
+ },
70
+ menuItems: function (close) {
71
+ var closeDropdown = function () {
70
72
  close();
71
73
  setSupposedHover(false);
72
74
  };
@@ -75,31 +77,37 @@ function MessageItemReactionMenu(_ref) {
75
77
  parentContainRef: containerRef,
76
78
  closeDropdown: closeDropdown,
77
79
  spaceFromTrigger: spaceFromTrigger
78
- }, index.getEmojiListAll(emojiContainer).map(emoji => {
79
- var _message$reactions, _message$reactions$fi, _message$reactions$fi2;
80
- const isReacted = message === null || message === void 0 ? void 0 : (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : (_message$reactions$fi = _message$reactions.filter(reaction => reaction.key === emoji.key)[0]) === null || _message$reactions$fi === void 0 ? void 0 : (_message$reactions$fi2 = _message$reactions$fi.userIds) === null || _message$reactions$fi2 === void 0 ? void 0 : _message$reactions$fi2.some(reactorId => reactorId === userId);
80
+ }, index.getEmojiListAll(emojiContainer).map(function (emoji) {
81
+ var _a, _b, _c;
82
+ var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
83
+ return reaction.key === emoji.key;
84
+ })[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
85
+ return reactorId === userId;
86
+ });
81
87
  return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
82
88
  key: emoji.key,
83
89
  width: "36px",
84
90
  height: "36px",
85
91
  selected: isReacted,
86
- onClick: () => {
92
+ onClick: function () {
87
93
  closeDropdown();
88
94
  toggleReaction(message, emoji.key, isReacted);
89
95
  },
90
- dataSbId: `ui_emoji_reactions_menu_${emoji.key}`
96
+ dataSbId: "ui_emoji_reactions_menu_".concat(emoji.key)
91
97
  }, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer["default"], {
92
98
  url: emoji.url,
93
99
  width: "28px",
94
100
  height: "28px",
95
- placeHolder: style => /*#__PURE__*/React__default["default"].createElement("div", {
96
- style: style
97
- }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
98
- type: ui_Icon.IconTypes.QUESTION,
99
- fillColor: ui_Icon.IconColors.ON_BACKGROUND_3,
100
- width: "28px",
101
- height: "28px"
102
- }))
101
+ placeHolder: function (style) {
102
+ return /*#__PURE__*/React__default["default"].createElement("div", {
103
+ style: style
104
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
105
+ type: ui_Icon.IconTypes.QUESTION,
106
+ fillColor: ui_Icon.IconColors.ON_BACKGROUND_3,
107
+ width: "28px",
108
+ height: "28px"
109
+ }));
110
+ }
103
111
  }));
104
112
  }));
105
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageItemReactionMenu.js","sources":["../../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useRef } from 'react';\nimport type { Reaction } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport { getClassName, getEmojiListAll, isPendingMessage, isFailedMessage, SendableMessageType } from '../../utils';\nimport { SpaceFromTriggerType } from '../../types';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendableMessageType;\n userId: string;\n spaceFromTrigger?: SpaceFromTriggerType;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: SendableMessageType, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = { x: 0, y: 0 },\n emojiContainer,\n toggleReaction,\n setSupposedHover,\n}: Props): ReactElement {\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n if (isPendingMessage(message) || isFailedMessage(message)) {\n return null;\n }\n\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-reaction-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-reaction-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-reaction-menu__trigger__icon\"\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <EmojiListItems\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n spaceFromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction) => reaction.key === emoji.key)[0]?.userIds\n ?.some((reactorId: string) => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={() => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemReactionMenu","_ref","className","message","userId","spaceFromTrigger","x","y","emojiContainer","toggleReaction","setSupposedHover","triggerRef","useRef","containerRef","isPendingMessage","isFailedMessage","React","createElement","getClassName","ref","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","onBlur","Icon","type","IconTypes","EMOJI_MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","close","closeDropdown","EmojiListItems","parentRef","parentContainRef","getEmojiListAll","map","emoji","_message$reactions","_message$reactions$fi","_message$reactions$fi2","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","selected","dataSbId","ImageRenderer","url","placeHolder","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
1
+ {"version":3,"file":"MessageItemReactionMenu.js","sources":["../../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useRef } from 'react';\nimport type { Reaction } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport { getClassName, getEmojiListAll, isPendingMessage, isFailedMessage, SendableMessageType } from '../../utils';\nimport { SpaceFromTriggerType } from '../../types';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendableMessageType;\n userId: string;\n spaceFromTrigger?: SpaceFromTriggerType;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: SendableMessageType, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = { x: 0, y: 0 },\n emojiContainer,\n toggleReaction,\n setSupposedHover,\n}: Props): ReactElement {\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n if (isPendingMessage(message) || isFailedMessage(message)) {\n return null;\n }\n\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-reaction-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-reaction-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-reaction-menu__trigger__icon\"\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <EmojiListItems\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n spaceFromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction) => reaction.key === emoji.key)[0]?.userIds\n ?.some((reactorId: string) => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={() => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemReactionMenu","_a","className","message","userId","_b","spaceFromTrigger","x","y","emojiContainer","toggleReaction","setSupposedHover","triggerRef","useRef","containerRef","isPendingMessage","isFailedMessage","React","createElement","getClassName","ref","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","onBlur","Icon","type","IconTypes","EMOJI_MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","close","closeDropdown","EmojiListItems","parentRef","parentContainRef","getEmojiListAll","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","selected","dataSbId","concat","ImageRenderer","url","placeHolder","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
@@ -1,36 +1,34 @@
1
1
  'use strict';
2
2
 
3
+ var tslib_es6 = require('../tslib.es6-2f2b0bca.js');
3
4
  var React = require('react');
4
5
  var ui_Avatar = require('./Avatar.js');
5
6
  var ui_Icon = require('./Icon.js');
6
- var ui_Label = require('../index-18720f0d.js');
7
- var LocalizationContext = require('../LocalizationContext-482c1343.js');
8
- var index$1 = require('../index-c9b003b3.js');
9
- var index = require('../index-11f9cc0f.js');
10
- var index$2 = require('../index-fbe9cc73.js');
11
- var utils = require('../utils-418b4438.js');
7
+ var ui_Label = require('../index-35820a94.js');
8
+ var LocalizationContext = require('../LocalizationContext-5009012e.js');
9
+ var index$1 = require('../index-b6d51e74.js');
10
+ var index = require('../index-83d2aed9.js');
11
+ var index$2 = require('../index-b995f638.js');
12
+ var utils = require('../utils-851724e0.js');
12
13
  require('./ImageRenderer.js');
13
- require('../uuid-b2806cf5.js');
14
+ require('../uuid-c74bbbb6.js');
14
15
  require('prop-types');
15
- require('../stringSet-d00535a5.js');
16
- require('../index-d04f312e.js');
17
- require('../index-4eb7e2b5.js');
18
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
16
+ require('../stringSet-98b52c49.js');
17
+ require('../index-fd8a0abb.js');
18
+ require('../index-826b76d5.js');
19
19
  require('../utils/message/getOutgoingMessageState.js');
20
- require('../index.module-a24e9cd7.js');
20
+ require('../index-609b07a2.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
24
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
 
26
- function getCreatedAt(_ref) {
27
- let {
28
- createdAt,
29
- locale,
30
- stringSet
31
- } = _ref;
32
- const optionalParam = locale ? {
33
- locale
26
+ function getCreatedAt(_a) {
27
+ var createdAt = _a.createdAt,
28
+ locale = _a.locale,
29
+ stringSet = _a.stringSet;
30
+ var optionalParam = locale ? {
31
+ locale: locale
34
32
  } : null;
35
33
  if (!createdAt) {
36
34
  return '';
@@ -47,9 +45,9 @@ function getCreatedAt(_ref) {
47
45
  return index$1.format(createdAt, 'yyyy/M/d', optionalParam);
48
46
  }
49
47
  function getIconOfFileType(message) {
50
- var _getMessageFirstFileU, _fileMessageUrl$match, _fileMessageUrl$match2;
51
- const fileMessageUrl = (_getMessageFirstFileU = utils.getMessageFirstFileUrl(message)) !== null && _getMessageFirstFileU !== void 0 ? _getMessageFirstFileU : '';
52
- const fileExtension = (_fileMessageUrl$match = (_fileMessageUrl$match2 = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)) === null || _fileMessageUrl$match2 === void 0 ? void 0 : _fileMessageUrl$match2[1]) !== null && _fileMessageUrl$match !== void 0 ? _fileMessageUrl$match : '';
48
+ var _a, _b, _c;
49
+ var fileMessageUrl = (_a = utils.getMessageFirstFileUrl(message)) !== null && _a !== void 0 ? _a : '';
50
+ var fileExtension = (_c = (_b = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)) === null || _b === void 0 ? void 0 : _b[1]) !== null && _c !== void 0 ? _c : '';
53
51
  if (/(jpg|jpeg|png)$/i.test(fileExtension)) {
54
52
  return ui_Icon.IconTypes.PHOTO;
55
53
  } else if (/mp4$/i.test(fileExtension) || index$2.isVoiceMessage(message)) {
@@ -64,32 +62,25 @@ function getIconOfFileType(message) {
64
62
  }
65
63
 
66
64
  function MessageSearchFileItem(props) {
67
- const {
68
- className,
69
- message,
70
- selected,
71
- onClick
72
- } = props;
73
- const {
74
- createdAt
75
- } = message;
76
- const url = utils.getMessageFirstFileUrl(message);
77
- const name = utils.getMessageFirstFileName(message);
65
+ var className = props.className,
66
+ message = props.message,
67
+ selected = props.selected,
68
+ onClick = props.onClick;
69
+ var createdAt = message.createdAt;
70
+ var url = utils.getMessageFirstFileUrl(message);
71
+ var name = utils.getMessageFirstFileName(message);
78
72
  // @ts-ignore
79
- const sender = message.sender || message._sender;
80
- const {
81
- profileUrl,
82
- nickname
83
- } = sender;
84
- const {
85
- stringSet,
86
- dateLocale
87
- } = LocalizationContext.useLocalization();
88
- const isVoiceMsg = index$2.isVoiceMessage(message);
89
- const prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : name || url;
73
+ var sender = message.sender || message._sender;
74
+ var profileUrl = sender.profileUrl,
75
+ nickname = sender.nickname;
76
+ var _a = LocalizationContext.useLocalization(),
77
+ stringSet = _a.stringSet,
78
+ dateLocale = _a.dateLocale;
79
+ var isVoiceMsg = index$2.isVoiceMessage(message);
80
+ var prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : name || url;
90
81
  return /*#__PURE__*/React__default["default"].createElement("div", {
91
- className: [...(Array.isArray(className) ? className : [className]), 'sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''].join(' '),
92
- onClick: e => {
82
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''], false).join(' '),
83
+ onClick: function (e) {
93
84
  e.stopPropagation();
94
85
  onClick(message);
95
86
  }
@@ -125,9 +116,9 @@ function MessageSearchFileItem(props) {
125
116
  type: ui_Label.LabelTypography.CAPTION_3,
126
117
  color: ui_Label.LabelColors.ONBACKGROUND_2
127
118
  }, getCreatedAt({
128
- createdAt,
119
+ createdAt: createdAt,
129
120
  locale: dateLocale,
130
- stringSet
121
+ stringSet: stringSet
131
122
  })), /*#__PURE__*/React__default["default"].createElement("div", {
132
123
  className: "sendbird-message-search-file-item__right-footer"
133
124
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"MessageSearchFileItem.js","sources":["../../../src/ui/MessageSearchFileItem/utils.ts","../../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { FileMessage } from '@sendbird/chat/message';\nimport type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\nimport { isVoiceMessage } from '../../utils';\nimport { getMessageFirstFileUrl } from '../QuoteMessage/utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nexport interface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\nexport function getCreatedAt({ createdAt, locale, stringSet }: GetCreatedAtProps): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n}\n\nexport function getIconOfFileType(message: FileMessage | MultipleFilesMessage): string {\n const fileMessageUrl = getMessageFirstFileUrl(message) ?? '';\n const fileExtension = (fileMessageUrl.match(/\\.([^.]*?)(?=\\?|#|$)/))?.[1] ?? '';\n\n if (/(jpg|jpeg|png)$/i.test(fileExtension)) {\n return IconTypes.PHOTO;\n } else if (/mp4$/i.test(fileExtension) || isVoiceMessage(message)) {\n return IconTypes.PLAY;\n } else if (/mp3/i.test(fileExtension)) {\n return IconTypes.FILE_AUDIO;\n } else if (/gif/i.test(fileExtension)) {\n return IconTypes.GIF;\n } else {\n return IconTypes.FILE_DOCUMENT;\n }\n}\n\nexport function truncate(fullText: string, textLimit: number): string {\n if (fullText.length <= textLimit) return fullText;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = textLimit - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);\n}\n","import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType } from './utils';\nimport { isVoiceMessage } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\nimport { getMessageFirstFileName, getMessageFirstFileUrl } from '../QuoteMessage/utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage | MultipleFilesMessage;\n selected?: boolean;\n onClick?: (message: FileMessage | MultipleFilesMessage) => void;\n}\n\nexport default function MessageSearchFileItem(props: Props): ReactElement {\n const {\n className,\n message,\n selected,\n onClick,\n } = props;\n const { createdAt } = message;\n const url: string = getMessageFirstFileUrl(message);\n const name: string = getMessageFirstFileName(message);\n // @ts-ignore\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n const isVoiceMsg = isVoiceMessage(message);\n const prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : (name || url);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-file-item',\n selected ? 'sendbird-message-search-file-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-file-item__left\">\n <Avatar\n className=\"sendbird-message-search-file-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-file-item__right\">\n <Label\n className=\"sendbird-message-search-file-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <div className=\"sendbird-message-search-file-item__right__content\">\n {!isVoiceMsg && (\n <div className={'sendbird-message-search-file-item__right__content__type-icon'}>\n <Icon\n type={getIconOfFileType(message)}\n fillColor={IconColors.PRIMARY}\n width=\"18px\"\n height=\"18px\"\n />\n </div>\n )}\n <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {prettyFilename}\n </Label>\n </div>\n </div>\n <Label\n className=\"sendbird-message-search-file-item__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet })}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","_ref","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getIconOfFileType","message","_getMessageFirstFileU","_fileMessageUrl$match","_fileMessageUrl$match2","fileMessageUrl","getMessageFirstFileUrl","fileExtension","match","test","IconTypes","PHOTO","isVoiceMessage","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","url","name","getMessageFirstFileName","sender","_sender","profileUrl","nickname","dateLocale","useLocalization","isVoiceMsg","prettyFilename","VOICE_MESSAGE","React","createElement","Array","isArray","join","e","stopPropagation","Avatar","src","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","NO_NAME","Icon","fillColor","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"MessageSearchFileItem.js","sources":["../../../src/ui/MessageSearchFileItem/utils.ts","../../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { FileMessage } from '@sendbird/chat/message';\nimport type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\nimport { isVoiceMessage } from '../../utils';\nimport { getMessageFirstFileUrl } from '../QuoteMessage/utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nexport interface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\nexport function getCreatedAt({ createdAt, locale, stringSet }: GetCreatedAtProps): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n}\n\nexport function getIconOfFileType(message: FileMessage | MultipleFilesMessage): string {\n const fileMessageUrl = getMessageFirstFileUrl(message) ?? '';\n const fileExtension = (fileMessageUrl.match(/\\.([^.]*?)(?=\\?|#|$)/))?.[1] ?? '';\n\n if (/(jpg|jpeg|png)$/i.test(fileExtension)) {\n return IconTypes.PHOTO;\n } else if (/mp4$/i.test(fileExtension) || isVoiceMessage(message)) {\n return IconTypes.PLAY;\n } else if (/mp3/i.test(fileExtension)) {\n return IconTypes.FILE_AUDIO;\n } else if (/gif/i.test(fileExtension)) {\n return IconTypes.GIF;\n } else {\n return IconTypes.FILE_DOCUMENT;\n }\n}\n\nexport function truncate(fullText: string, textLimit: number): string {\n if (fullText.length <= textLimit) return fullText;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = textLimit - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);\n}\n","import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType } from './utils';\nimport { isVoiceMessage } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\nimport { getMessageFirstFileName, getMessageFirstFileUrl } from '../QuoteMessage/utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage | MultipleFilesMessage;\n selected?: boolean;\n onClick?: (message: FileMessage | MultipleFilesMessage) => void;\n}\n\nexport default function MessageSearchFileItem(props: Props): ReactElement {\n const {\n className,\n message,\n selected,\n onClick,\n } = props;\n const { createdAt } = message;\n const url: string = getMessageFirstFileUrl(message);\n const name: string = getMessageFirstFileName(message);\n // @ts-ignore\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n const isVoiceMsg = isVoiceMessage(message);\n const prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : (name || url);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-file-item',\n selected ? 'sendbird-message-search-file-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-file-item__left\">\n <Avatar\n className=\"sendbird-message-search-file-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-file-item__right\">\n <Label\n className=\"sendbird-message-search-file-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <div className=\"sendbird-message-search-file-item__right__content\">\n {!isVoiceMsg && (\n <div className={'sendbird-message-search-file-item__right__content__type-icon'}>\n <Icon\n type={getIconOfFileType(message)}\n fillColor={IconColors.PRIMARY}\n width=\"18px\"\n height=\"18px\"\n />\n </div>\n )}\n <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {prettyFilename}\n </Label>\n </div>\n </div>\n <Label\n className=\"sendbird-message-search-file-item__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet })}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","_a","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getIconOfFileType","message","fileMessageUrl","getMessageFirstFileUrl","fileExtension","_c","_b","match","test","IconTypes","PHOTO","isVoiceMessage","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","url","name","getMessageFirstFileName","sender","_sender","profileUrl","nickname","useLocalization","dateLocale","isVoiceMsg","prettyFilename","VOICE_MESSAGE","React","createElement","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","src","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","NO_NAME","Icon","fillColor","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":"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"}
@@ -1,32 +1,31 @@
1
1
  'use strict';
2
2
 
3
+ var tslib_es6 = require('../tslib.es6-2f2b0bca.js');
3
4
  var React = require('react');
4
- var index$1 = require('../index-c9b003b3.js');
5
- var index = require('../index-11f9cc0f.js');
5
+ var index$1 = require('../index-b6d51e74.js');
6
+ var index = require('../index-83d2aed9.js');
6
7
  var ui_Avatar = require('./Avatar.js');
7
- var ui_Label = require('../index-18720f0d.js');
8
- var LocalizationContext = require('../LocalizationContext-482c1343.js');
9
- require('../index-d04f312e.js');
10
- require('../index-4eb7e2b5.js');
8
+ var ui_Label = require('../index-35820a94.js');
9
+ var LocalizationContext = require('../LocalizationContext-5009012e.js');
10
+ require('../index-fd8a0abb.js');
11
+ require('../index-826b76d5.js');
11
12
  require('./ImageRenderer.js');
12
13
  require('./Icon.js');
13
14
  require('prop-types');
14
- require('../uuid-b2806cf5.js');
15
- require('../stringSet-d00535a5.js');
15
+ require('../uuid-c74bbbb6.js');
16
+ require('../stringSet-98b52c49.js');
16
17
 
17
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
19
 
19
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
21
 
21
22
  // getCreatedAt
22
- function getCreatedAt (_ref) {
23
- let {
24
- createdAt,
25
- locale,
26
- stringSet
27
- } = _ref;
28
- const optionalParam = locale ? {
29
- locale
23
+ function getCreatedAt (_a) {
24
+ var createdAt = _a.createdAt,
25
+ locale = _a.locale,
26
+ stringSet = _a.stringSet;
27
+ var optionalParam = locale ? {
28
+ locale: locale
30
29
  } : null;
31
30
  if (!createdAt) {
32
31
  return '';
@@ -43,29 +42,22 @@ function getCreatedAt (_ref) {
43
42
  return index$1.format(createdAt, 'yyyy/M/d', optionalParam);
44
43
  }
45
44
 
46
- function MessageSearchItem(_ref) {
47
- let {
48
- className,
49
- message,
50
- selected,
51
- onClick
52
- } = _ref;
53
- const {
54
- createdAt
55
- } = message;
56
- const messageText = message.message;
57
- const sender = message.sender || message._sender;
58
- const {
59
- profileUrl,
60
- nickname
61
- } = sender;
62
- const {
63
- stringSet,
64
- dateLocale
65
- } = LocalizationContext.useLocalization();
45
+ function MessageSearchItem(_a) {
46
+ var className = _a.className,
47
+ message = _a.message,
48
+ selected = _a.selected,
49
+ onClick = _a.onClick;
50
+ var createdAt = message.createdAt;
51
+ var messageText = message.message;
52
+ var sender = message.sender || message._sender;
53
+ var profileUrl = sender.profileUrl,
54
+ nickname = sender.nickname;
55
+ var _b = LocalizationContext.useLocalization(),
56
+ stringSet = _b.stringSet,
57
+ dateLocale = _b.dateLocale;
66
58
  return /*#__PURE__*/React__default["default"].createElement("div", {
67
- className: [...(Array.isArray(className) ? className : [className]), 'sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''].join(' '),
68
- onClick: e => {
59
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''], false).join(' '),
60
+ onClick: function (e) {
69
61
  e.stopPropagation();
70
62
  onClick(message);
71
63
  }
@@ -92,9 +84,9 @@ function MessageSearchItem(_ref) {
92
84
  type: ui_Label.LabelTypography.CAPTION_3,
93
85
  color: ui_Label.LabelColors.ONBACKGROUND_2
94
86
  }, getCreatedAt({
95
- createdAt,
87
+ createdAt: createdAt,
96
88
  locale: dateLocale,
97
- stringSet
89
+ stringSet: stringSet
98
90
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
99
91
  className: "sendbird-message-search-item__right-footer"
100
92
  }));