@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-feature-config-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 (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +470 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-e9b9d9dc.js} +233 -285
  45. package/ChannelListProvider-e9b9d9dc.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-e1ddeda2.js} +659 -726
  47. package/ChannelProvider-e1ddeda2.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-8c7aa9d6.js +44 -0
  76. package/CreateChannelProvider-8c7aa9d6.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-2a605cc6.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-2a605cc6.js.map} +1 -1
  91. package/MediaQueryContext-9a1ce18e.js +87 -0
  92. package/MediaQueryContext-9a1ce18e.js.map +1 -0
  93. package/MemberList-f74830e4.js +403 -0
  94. package/MemberList-f74830e4.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-1674b977.js +429 -0
  128. package/OpenChannelListProvider-1674b977.js.map +1 -0
  129. package/OpenChannelProvider-c1097360.js +1885 -0
  130. package/OpenChannelProvider-c1097360.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-103c3502.js +36 -0
  147. package/RemoveMessageModal-103c3502.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-1799dbab.js +1695 -0
  170. package/ThreadProvider-1799dbab.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-cf8bb199.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-cf8bb199.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-276b625e.js +170 -0
  174. package/VoiceMessageInputWrapper-276b625e.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-b2c9fae9.js +123 -0
  184. package/WebAudioUtils-b2c9fae9.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-34fc6689.js} +17 -11
  186. package/_rollupPluginBabelHelpers-34fc6689.js.map +1 -0
  187. package/actionTypes-3f51c08a.js +8 -0
  188. package/actionTypes-3f51c08a.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-26cc6944.js} +232 -284
  232. package/cjs/ChannelListProvider-26cc6944.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-54bb28cc.js} +657 -724
  234. package/cjs/ChannelProvider-54bb28cc.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-8c106973.js +52 -0
  263. package/cjs/CreateChannelProvider-8c106973.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-2b3f310d.js → LocalizationContext-bdc95952.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-bdc95952.js.map} +1 -1
  278. package/cjs/MediaQueryContext-28b81968.js +94 -0
  279. package/cjs/MediaQueryContext-28b81968.js.map +1 -0
  280. package/cjs/MemberList-5f5ab063.js +409 -0
  281. package/cjs/MemberList-5f5ab063.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-da4fd54b.js +439 -0
  315. package/cjs/OpenChannelListProvider-da4fd54b.js.map +1 -0
  316. package/cjs/OpenChannelProvider-c6295ecd.js +1894 -0
  317. package/cjs/OpenChannelProvider-c6295ecd.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-f4d8af47.js} +19 -14
  333. package/cjs/RemoveMessageModal-f4d8af47.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-17ad9d05.js +1704 -0
  356. package/cjs/ThreadProvider-17ad9d05.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-27a5718b.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-27a5718b.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-1100905a.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-1100905a.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-cd45fa51.js +126 -0
  370. package/cjs/WebAudioUtils-cd45fa51.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-d68672d6.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-d68672d6.js.map +1 -0
  373. package/cjs/actionTypes-bf093246.js +10 -0
  374. package/cjs/actionTypes-bf093246.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-bb9924cb.js} +13 -21
  376. package/cjs/color-bb9924cb.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-96cdd2a0.js} +5 -6
  378. package/cjs/compareIds-96cdd2a0.js.map +1 -0
  379. package/cjs/const-44ddbe54.js +20 -0
  380. package/cjs/const-44ddbe54.js.map +1 -0
  381. package/cjs/{const-db71e993.js → const-73fbd467.js} +4 -4
  382. package/cjs/const-73fbd467.js.map +1 -0
  383. package/cjs/consts-2dfc1883.js +6 -0
  384. package/cjs/consts-2dfc1883.js.map +1 -0
  385. package/cjs/consts-40680de5.js +6 -0
  386. package/cjs/consts-40680de5.js.map +1 -0
  387. package/cjs/consts-4fbdb1d6.js +6 -0
  388. package/cjs/consts-4fbdb1d6.js.map +1 -0
  389. package/cjs/consts-ccfad912.js +41 -0
  390. package/cjs/consts-ccfad912.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-cdc5a8dd.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-cdc5a8dd.js.map} +1 -1
  393. package/cjs/dist/index.css +1629 -1185
  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/index-0d4b8939.js +79 -0
  398. package/cjs/index-0d4b8939.js.map +1 -0
  399. package/cjs/{index-621e74bd.js → index-1ee86976.js} +29 -37
  400. package/cjs/index-1ee86976.js.map +1 -0
  401. package/cjs/index-2044d323.js +161 -0
  402. package/cjs/index-2044d323.js.map +1 -0
  403. package/cjs/{index-2c5dd48c.js → index-4ff12eb9.js} +2 -2
  404. package/cjs/{index-2c5dd48c.js.map → index-4ff12eb9.js.map} +1 -1
  405. package/cjs/{index-be9c6237.js → index-6d959b4d.js} +55 -63
  406. package/cjs/index-6d959b4d.js.map +1 -0
  407. package/cjs/{index-de151767.js → index-71def451.js} +1 -1
  408. package/cjs/{index-de151767.js.map → index-71def451.js.map} +1 -1
  409. package/cjs/{index-c4d4ef49.js → index-77c91851.js} +1 -1
  410. package/cjs/index-77c91851.js.map +1 -0
  411. package/cjs/index-7a9d2024.js +585 -0
  412. package/cjs/index-7a9d2024.js.map +1 -0
  413. package/cjs/index-7b19a3f7.js +367 -0
  414. package/cjs/index-7b19a3f7.js.map +1 -0
  415. package/cjs/index-89314643.js +456 -0
  416. package/cjs/index-89314643.js.map +1 -0
  417. package/cjs/index-adcca875.js +57 -0
  418. package/cjs/index-adcca875.js.map +1 -0
  419. package/cjs/index-b1485c4a.js +202 -0
  420. package/cjs/index-b1485c4a.js.map +1 -0
  421. package/cjs/{index-0988ab25.js → index-b6a49cba.js} +57 -3
  422. package/cjs/index-b6a49cba.js.map +1 -0
  423. package/cjs/{index-e240e852.js → index-ca51d316.js} +42 -51
  424. package/cjs/index-ca51d316.js.map +1 -0
  425. package/cjs/index-dada883d.js +330 -0
  426. package/cjs/index-dada883d.js.map +1 -0
  427. package/cjs/{index-d6ef2a60.js → index-e766176d.js} +11 -25
  428. package/cjs/index-e766176d.js.map +1 -0
  429. package/cjs/{index-73467e1d.js → index-f7b329d2.js} +2 -2
  430. package/cjs/{index-73467e1d.js.map → index-f7b329d2.js.map} +1 -1
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-3e11d4a7.js +6 -0
  434. package/cjs/index.module-3e11d4a7.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-42ff3f75.js +32 -0
  438. package/cjs/resolvedReplyType-42ff3f75.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-91b919f6.js → stringSet-0cddd94a.js} +112 -90
  442. package/cjs/stringSet-0cddd94a.js.map +1 -0
  443. package/cjs/tokenize-75ed25db.js +164 -0
  444. package/cjs/tokenize-75ed25db.js.map +1 -0
  445. package/cjs/topics-3e3eb86d.js +18 -0
  446. package/cjs/topics-3e3eb86d.js.map +1 -0
  447. package/cjs/types-2138565d.js +17 -0
  448. package/cjs/types-2138565d.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-9945a1c0.js +77 -0
  573. package/cjs/useDirtyGetMentions-9945a1c0.js.map +1 -0
  574. package/cjs/useLongPress-5174fd42.js +87 -0
  575. package/cjs/useLongPress-5174fd42.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-3714e90e.js → utils-2ef71eef.js} +3 -7
  583. package/cjs/{utils-3714e90e.js.map → utils-2ef71eef.js.map} +1 -1
  584. package/cjs/{utils-1f6c6626.js → utils-37a5dfde.js} +1 -1
  585. package/cjs/{utils-1f6c6626.js.map → utils-37a5dfde.js.map} +1 -1
  586. package/cjs/utils-a7008e7b.js +31 -0
  587. package/cjs/utils-a7008e7b.js.map +1 -0
  588. package/cjs/utils-f1c0d384.js +35 -0
  589. package/cjs/utils-f1c0d384.js.map +1 -0
  590. package/cjs/uuid-075367f7.js +15 -0
  591. package/cjs/{uuid-11d4efe8.js.map → uuid-075367f7.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-ff5f9069.js → color-85cde5a7.js} +5 -14
  595. package/{color-ff5f9069.js.map → color-85cde5a7.js.map} +1 -1
  596. package/{compareIds-9430f9d8.js → compareIds-3e3591cb.js} +5 -6
  597. package/compareIds-3e3591cb.js.map +1 -0
  598. package/const-2109eff9.js +13 -0
  599. package/const-2109eff9.js.map +1 -0
  600. package/{const-83764204.js → const-91fefb8e.js} +4 -4
  601. package/const-91fefb8e.js.map +1 -0
  602. package/consts-b6194fdf.js +4 -0
  603. package/consts-b6194fdf.js.map +1 -0
  604. package/consts-bd5c0783.js +27 -0
  605. package/consts-bd5c0783.js.map +1 -0
  606. package/consts-d9de055a.js +4 -0
  607. package/consts-d9de055a.js.map +1 -0
  608. package/consts-fafa501c.js +4 -0
  609. package/consts-fafa501c.js.map +1 -0
  610. package/context-b6e563d1.js +13 -0
  611. package/{context-9a69e846.js.map → context-b6e563d1.js.map} +1 -1
  612. package/dist/index.css +1629 -1185
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-134314e2.js → index-10472187.js} +29 -37
  617. package/index-10472187.js.map +1 -0
  618. package/{index-fc4702b7.js → index-1a6d4397.js} +55 -63
  619. package/index-1a6d4397.js.map +1 -0
  620. package/index-2f7c2c8a.js +187 -0
  621. package/index-2f7c2c8a.js.map +1 -0
  622. package/index-31eb43c8.js +51 -0
  623. package/index-31eb43c8.js.map +1 -0
  624. package/{index-07e060cd.js → index-3515f8f3.js} +1 -1
  625. package/{index-07e060cd.js.map → index-3515f8f3.js.map} +1 -1
  626. package/index-39f0a98e.js +540 -0
  627. package/index-39f0a98e.js.map +1 -0
  628. package/index-3a6d5e45.js +154 -0
  629. package/index-3a6d5e45.js.map +1 -0
  630. package/index-76929e40.js +360 -0
  631. package/index-76929e40.js.map +1 -0
  632. package/{index-44470dab.js → index-8fb5d71a.js} +11 -25
  633. package/index-8fb5d71a.js.map +1 -0
  634. package/index-94ed0e50.js +76 -0
  635. package/index-94ed0e50.js.map +1 -0
  636. package/index-9730aae6.js +450 -0
  637. package/index-9730aae6.js.map +1 -0
  638. package/{index-e5b78039.js → index-a27543ed.js} +1 -1
  639. package/index-a27543ed.js.map +1 -0
  640. package/{index-d3f6dbb9.js → index-b05a5803.js} +2 -2
  641. package/{index-d3f6dbb9.js.map → index-b05a5803.js.map} +1 -1
  642. package/{index-defabece.js → index-bbf4f597.js} +57 -4
  643. package/index-bbf4f597.js.map +1 -0
  644. package/{index-1b91b116.js → index-bf4f0a7e.js} +39 -48
  645. package/index-bf4f0a7e.js.map +1 -0
  646. package/index-c54a357d.js +320 -0
  647. package/index-c54a357d.js.map +1 -0
  648. package/{index-3f26a31c.js → index-d847ae45.js} +2 -2
  649. package/{index-3f26a31c.js.map → index-d847ae45.js.map} +1 -1
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-9faf1703.js +4 -0
  654. package/index.module-9faf1703.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-f5cc6c0b.js +29 -0
  659. package/resolvedReplyType-f5cc6c0b.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-d555d877.js → stringSet-d0b92983.js} +112 -90
  663. package/stringSet-d0b92983.js.map +1 -0
  664. package/tokenize-fd0af52f.js +159 -0
  665. package/tokenize-fd0af52f.js.map +1 -0
  666. package/topics-8aa96837.js +16 -0
  667. package/topics-8aa96837.js.map +1 -0
  668. package/types-7f0754fd.js +15 -0
  669. package/types-7f0754fd.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-5b631226.js +75 -0
  794. package/useDirtyGetMentions-5b631226.js.map +1 -0
  795. package/useLongPress-700ef78f.js +85 -0
  796. package/useLongPress-700ef78f.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-e720e03a.js → utils-0e2c993e.js} +1 -1
  804. package/{utils-e720e03a.js.map → utils-0e2c993e.js.map} +1 -1
  805. package/utils-6763f910.js +31 -0
  806. package/utils-6763f910.js.map +1 -0
  807. package/{utils-8b11ff42.js → utils-8c4a9896.js} +3 -7
  808. package/{utils-8b11ff42.js.map → utils-8c4a9896.js.map} +1 -1
  809. package/utils-9de25bcb.js +29 -0
  810. package/utils-9de25bcb.js.map +1 -0
  811. package/uuid-eadf9a09.js +13 -0
  812. package/{uuid-286ed926.js.map → uuid-eadf9a09.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-f461d265.js.map +0 -1
  816. package/ChannelProvider-554e7116.js.map +0 -1
  817. package/CreateChannelProvider-250cd98e.js +0 -55
  818. package/CreateChannelProvider-250cd98e.js.map +0 -1
  819. package/LocalizationContext-4df0cc32.js +0 -22
  820. package/MediaQueryContext-74183e34.js +0 -90
  821. package/MediaQueryContext-74183e34.js.map +0 -1
  822. package/MemberList-51c7afaa.js +0 -435
  823. package/MemberList-51c7afaa.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  834. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  835. package/OpenChannelListProvider-8c753945.js +0 -434
  836. package/OpenChannelListProvider-8c753945.js.map +0 -1
  837. package/OpenChannelProvider-2fa01820.js +0 -2000
  838. package/OpenChannelProvider-2fa01820.js.map +0 -1
  839. package/RemoveMessageModal-9762fed1.js +0 -31
  840. package/RemoveMessageModal-9762fed1.js.map +0 -1
  841. package/ThreadProvider-6974fb3e.js +0 -1644
  842. package/ThreadProvider-6974fb3e.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  844. package/actionTypes-ad2cbd73.js +0 -6
  845. package/actionTypes-ad2cbd73.js.map +0 -1
  846. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  847. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  848. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  849. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  850. package/cjs/MediaQueryContext-71862be1.js +0 -97
  851. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  852. package/cjs/MemberList-13566703.js +0 -441
  853. package/cjs/MemberList-13566703.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  864. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  866. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  867. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  868. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  869. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  870. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  871. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  873. package/cjs/actionTypes-0e8bea91.js +0 -10
  874. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  875. package/cjs/color-89f33656.js.map +0 -1
  876. package/cjs/compareIds-ca869c2e.js.map +0 -1
  877. package/cjs/const-55d167ca.js +0 -20
  878. package/cjs/const-55d167ca.js.map +0 -1
  879. package/cjs/const-db71e993.js.map +0 -1
  880. package/cjs/index-0988ab25.js.map +0 -1
  881. package/cjs/index-21b2339d.js +0 -701
  882. package/cjs/index-21b2339d.js.map +0 -1
  883. package/cjs/index-5c81f847.js +0 -194
  884. package/cjs/index-5c81f847.js.map +0 -1
  885. package/cjs/index-621e74bd.js.map +0 -1
  886. package/cjs/index-8de59744.js +0 -59
  887. package/cjs/index-8de59744.js.map +0 -1
  888. package/cjs/index-a52859ed.js +0 -360
  889. package/cjs/index-a52859ed.js.map +0 -1
  890. package/cjs/index-be9c6237.js.map +0 -1
  891. package/cjs/index-c4d4ef49.js.map +0 -1
  892. package/cjs/index-d6ef2a60.js.map +0 -1
  893. package/cjs/index-e240e852.js.map +0 -1
  894. package/cjs/stringSet-91b919f6.js.map +0 -1
  895. package/cjs/topics-ac9cf7ed.js +0 -22
  896. package/cjs/topics-ac9cf7ed.js.map +0 -1
  897. package/cjs/tslib.es6-43854eb1.js +0 -110
  898. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  899. package/cjs/useLongPress-c7bf12b1.js +0 -118
  900. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  901. package/cjs/utils-4b529d96.js +0 -38
  902. package/cjs/utils-4b529d96.js.map +0 -1
  903. package/cjs/utils-65a380e8.js +0 -32
  904. package/cjs/utils-65a380e8.js.map +0 -1
  905. package/cjs/uuid-11d4efe8.js +0 -19
  906. package/compareIds-9430f9d8.js.map +0 -1
  907. package/const-83764204.js.map +0 -1
  908. package/const-9d11f204.js +0 -14
  909. package/const-9d11f204.js.map +0 -1
  910. package/context-9a69e846.js +0 -12
  911. package/index-134314e2.js.map +0 -1
  912. package/index-1572c90f.js +0 -57
  913. package/index-1572c90f.js.map +0 -1
  914. package/index-1b91b116.js.map +0 -1
  915. package/index-44470dab.js.map +0 -1
  916. package/index-5f08f486.js +0 -662
  917. package/index-5f08f486.js.map +0 -1
  918. package/index-d8e3ccee.js +0 -179
  919. package/index-d8e3ccee.js.map +0 -1
  920. package/index-defabece.js.map +0 -1
  921. package/index-e5b78039.js.map +0 -1
  922. package/index-ed65ee3b.js +0 -353
  923. package/index-ed65ee3b.js.map +0 -1
  924. package/index-fc4702b7.js.map +0 -1
  925. package/stringSet-d555d877.js.map +0 -1
  926. package/topics-351ea731.js +0 -13
  927. package/topics-351ea731.js.map +0 -1
  928. package/tslib.es6-bcead7e6.js +0 -104
  929. package/tslib.es6-bcead7e6.js.map +0 -1
  930. package/useLongPress-794838b8.js +0 -116
  931. package/useLongPress-794838b8.js.map +0 -1
  932. package/utils-00ac1a7d.js +0 -34
  933. package/utils-00ac1a7d.js.map +0 -1
  934. package/utils-01e76a0c.js +0 -30
  935. package/utils-01e76a0c.js.map +0 -1
  936. package/uuid-286ed926.js +0 -17
@@ -0,0 +1,202 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_ContextMenu = require('./ui/ContextMenu.js');
5
+ var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
+ var LocalizationContext = require('./LocalizationContext-bdc95952.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ const OpenChannelMessageStatusTypes = {
13
+ NONE: 'none',
14
+ PENDING: 'pending',
15
+ FAILED: 'failed',
16
+ CANCELED: 'canceled',
17
+ SUCCEEDED: 'succeeded'
18
+ };
19
+ const getSenderFromMessage = message => {
20
+ // @ts-ignore
21
+ return message.sender || message._sender;
22
+ };
23
+ const checkIsSent = status => status === OpenChannelMessageStatusTypes.SUCCEEDED;
24
+ const checkIsPending = status => status === OpenChannelMessageStatusTypes.PENDING;
25
+ const checkIsFailed = status => status === OpenChannelMessageStatusTypes.FAILED;
26
+ const checkIsByMe = (message, userId) => getSenderFromMessage(message).userId === userId;
27
+ const isFineCopy = _ref => {
28
+ var _message$message;
29
+ let {
30
+ message
31
+ } = _ref;
32
+ return (message === null || message === void 0 ? void 0 : message.messageType) === 'user' && (message === null || message === void 0 ? void 0 : (_message$message = message.message) === null || _message$message === void 0 ? void 0 : _message$message.length) > 0;
33
+ };
34
+ const isFineResend = _ref2 => {
35
+ let {
36
+ message,
37
+ status,
38
+ userId
39
+ } = _ref2;
40
+ return checkIsByMe(message, userId) && checkIsFailed(status)
41
+ // @ts-ignore
42
+ && (message === null || message === void 0 ? void 0 : message.isResendable());
43
+ };
44
+ const isFineEdit = _ref3 => {
45
+ var _message$isUserMessag;
46
+ let {
47
+ message,
48
+ status,
49
+ userId
50
+ } = _ref3;
51
+ return checkIsByMe(message, userId) && checkIsSent(status) && (message === null || message === void 0 ? void 0 : (_message$isUserMessag = message.isUserMessage) === null || _message$isUserMessag === void 0 ? void 0 : _message$isUserMessag.call(message));
52
+ };
53
+ const isFineDelete = _ref4 => {
54
+ let {
55
+ message,
56
+ userId
57
+ } = _ref4;
58
+ return checkIsByMe(message, userId);
59
+ };
60
+ const isFineDownload = _ref5 => {
61
+ var _message$isFileMessag;
62
+ let {
63
+ message,
64
+ status
65
+ } = _ref5;
66
+ if (message !== null && message !== void 0 && (_message$isFileMessag = message.isFileMessage) !== null && _message$isFileMessag !== void 0 && _message$isFileMessag.call(message) && checkIsSent(status)) {
67
+ return true;
68
+ }
69
+ return false;
70
+ };
71
+ const showMenuTrigger = props => {
72
+ const {
73
+ message,
74
+ status,
75
+ userId
76
+ } = props;
77
+ // @ts-ignore
78
+ if (message.messageType === 'user') {
79
+ return isFineDelete({
80
+ message,
81
+ status,
82
+ userId
83
+ }) || isFineEdit({
84
+ message,
85
+ status,
86
+ userId
87
+ })
88
+ // @ts-ignore
89
+ || isFineCopy({
90
+ message,
91
+ status,
92
+ userId
93
+ }) || isFineResend({
94
+ message,
95
+ status,
96
+ userId
97
+ });
98
+ } else {
99
+ return isFineDelete({
100
+ message,
101
+ status,
102
+ userId
103
+ }) || isFineResend({
104
+ message,
105
+ status,
106
+ userId
107
+ });
108
+ }
109
+ };
110
+
111
+ const OpenChannelMobileMenu = props => {
112
+ var _useSendbirdStateCont, _useSendbirdStateCont2;
113
+ const {
114
+ message,
115
+ parentRef,
116
+ resendMessage,
117
+ showEdit,
118
+ showRemove,
119
+ copyToClipboard,
120
+ hideMenu,
121
+ isEphemeral = false
122
+ } = props;
123
+ const userMessage = message;
124
+ const status = message === null || message === void 0 ? void 0 : message.sendingStatus;
125
+ const {
126
+ stringSet
127
+ } = LocalizationContext.useLocalization();
128
+ const userId = (_useSendbirdStateCont = useSendbirdStateContext()) === null || _useSendbirdStateCont === void 0 ? void 0 : (_useSendbirdStateCont2 = _useSendbirdStateCont.config) === null || _useSendbirdStateCont2 === void 0 ? void 0 : _useSendbirdStateCont2.userId;
129
+ const fileMessage = message;
130
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
131
+ isOpen: true,
132
+ menuItems: () => /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
133
+ className: "sendbird-openchannel__mobile-menu",
134
+ parentRef: parentRef,
135
+ parentContainRef: parentRef,
136
+ closeDropdown: hideMenu
137
+ }, isFineCopy({
138
+ message: userMessage,
139
+ userId,
140
+ status
141
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
142
+ className: "sendbird-openchannel-og-message__top__context-menu__copy",
143
+ onClick: () => {
144
+ copyToClipboard();
145
+ },
146
+ dataSbId: "open_channel_mobile_context_menu_copy"
147
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__COPY)), !isEphemeral && isFineEdit({
148
+ message,
149
+ userId,
150
+ status
151
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
152
+ className: "sendbird-openchannel-og-message__top__context-menu__edit",
153
+ onClick: () => {
154
+ showEdit();
155
+ },
156
+ dataSbId: "open_channel_mobile_context_menu_edit"
157
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__EDIT)), isFineResend({
158
+ message,
159
+ userId,
160
+ status
161
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
162
+ onClick: () => {
163
+ resendMessage();
164
+ },
165
+ dataSbId: "open_channel_mobile_context_menu_resend"
166
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__RESEND)), !isEphemeral && isFineDelete({
167
+ message,
168
+ userId,
169
+ status
170
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
171
+ onClick: () => {
172
+ showRemove();
173
+ },
174
+ dataSbId: "open_channel_mobile_context_menu_delete"
175
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.CONTEXT_MENU_DROPDOWN__DELETE)), isFineDownload({
176
+ message,
177
+ status
178
+ }) && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
179
+ onClick: () => {
180
+ hideMenu();
181
+ },
182
+ dataSbId: "open_channel_mobile_context_menu_download_file"
183
+ }, /*#__PURE__*/React__default["default"].createElement("a", {
184
+ className: "sendbird-openchannel__mobile-menu-hyperlink",
185
+ rel: "noopener noreferrer",
186
+ href: fileMessage === null || fileMessage === void 0 ? void 0 : fileMessage.url,
187
+ target: "_blank"
188
+ }, stringSet.CONTEXT_MENU_DROPDOWN__SAVE)))
189
+ });
190
+ };
191
+
192
+ exports.OpenChannelMobileMenu = OpenChannelMobileMenu;
193
+ exports.checkIsFailed = checkIsFailed;
194
+ exports.checkIsPending = checkIsPending;
195
+ exports.checkIsSent = checkIsSent;
196
+ exports.getSenderFromMessage = getSenderFromMessage;
197
+ exports.isFineCopy = isFineCopy;
198
+ exports.isFineDelete = isFineDelete;
199
+ exports.isFineEdit = isFineEdit;
200
+ exports.isFineResend = isFineResend;
201
+ exports.showMenuTrigger = showMenuTrigger;
202
+ //# sourceMappingURL=index-b1485c4a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-b1485c4a.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n dataSbId=\"open_channel_mobile_context_menu_copy\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n dataSbId=\"open_channel_mobile_context_menu_edit\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n dataSbId=\"open_channel_mobile_context_menu_resend\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n dataSbId=\"open_channel_mobile_context_menu_delete\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"open_channel_mobile_context_menu_download_file\"\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n );\n};\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_ref","_message$message","messageType","length","isFineResend","_ref2","isResendable","isFineEdit","_ref3","_message$isUserMessag","isUserMessage","call","isFineDelete","_ref4","isFineDownload","_ref5","_message$isFileMessag","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","_useSendbirdStateCont","_useSendbirdStateCont2","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","dataSbId","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-2c5dd48c.js');
4
- var index = require('./index-73467e1d.js');
3
+ var index$1 = require('./index-4ff12eb9.js');
4
+ var index = require('./index-f7b329d2.js');
5
5
 
6
6
  /**
7
7
  * @name isToday
@@ -30,6 +30,59 @@ function isToday(dirtyDate) {
30
30
  return index$1.isSameDay(dirtyDate, Date.now());
31
31
  }
32
32
 
33
+ /**
34
+ * @name isSameYear
35
+ * @category Year Helpers
36
+ * @summary Are the given dates in the same year?
37
+ *
38
+ * @description
39
+ * Are the given dates in the same year?
40
+ *
41
+ * @param {Date|Number} dateLeft - the first date to check
42
+ * @param {Date|Number} dateRight - the second date to check
43
+ * @returns {Boolean} the dates are in the same year
44
+ * @throws {TypeError} 2 arguments required
45
+ *
46
+ * @example
47
+ * // Are 2 September 2014 and 25 September 2014 in the same year?
48
+ * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))
49
+ * //=> true
50
+ */
51
+
52
+ function isSameYear(dirtyDateLeft, dirtyDateRight) {
53
+ index.requiredArgs(2, arguments);
54
+ var dateLeft = index.toDate(dirtyDateLeft);
55
+ var dateRight = index.toDate(dirtyDateRight);
56
+ return dateLeft.getFullYear() === dateRight.getFullYear();
57
+ }
58
+
59
+ /**
60
+ * @name isThisYear
61
+ * @category Year Helpers
62
+ * @summary Is the given date in the same year as the current date?
63
+ * @pure false
64
+ *
65
+ * @description
66
+ * Is the given date in the same year as the current date?
67
+ *
68
+ * > ⚠️ Please note that this function is not present in the FP submodule as
69
+ * > it uses `Date.now()` internally hence impure and can't be safely curried.
70
+ *
71
+ * @param {Date|Number} date - the date to check
72
+ * @returns {Boolean} the date is in this year
73
+ * @throws {TypeError} 1 argument required
74
+ *
75
+ * @example
76
+ * // If today is 25 September 2014, is 2 July 2014 in this year?
77
+ * const result = isThisYear(new Date(2014, 6, 2))
78
+ * //=> true
79
+ */
80
+
81
+ function isThisYear(dirtyDate) {
82
+ index.requiredArgs(1, arguments);
83
+ return isSameYear(dirtyDate, Date.now());
84
+ }
85
+
33
86
  /**
34
87
  * @name addDays
35
88
  * @category Day Helpers
@@ -119,6 +172,7 @@ function isYesterday(dirtyDate) {
119
172
  return index$1.isSameDay(dirtyDate, subDays(Date.now(), 1));
120
173
  }
121
174
 
175
+ exports.isThisYear = isThisYear;
122
176
  exports.isToday = isToday;
123
177
  exports.isYesterday = isYesterday;
124
- //# sourceMappingURL=index-0988ab25.js.map
178
+ //# sourceMappingURL=index-b6a49cba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-b6a49cba.js","sources":["../../node_modules/date-fns/esm/isToday/index.js","../../node_modules/date-fns/esm/isSameYear/index.js","../../node_modules/date-fns/esm/isThisYear/index.js","../../node_modules/date-fns/esm/addDays/index.js","../../node_modules/date-fns/esm/subDays/index.js","../../node_modules/date-fns/esm/isYesterday/index.js"],"sourcesContent":["import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nexport default function isSameYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}","import isSameYear from \"../isSameYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\n\nexport default function isThisYear(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameYear(dirtyDate, Date.now());\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * const result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}"],"names":["requiredArgs","isSameDay","toDate","toInteger"],"mappings":"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"}
@@ -1,40 +1,34 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-43854eb1.js');
4
3
  var React = require('react');
5
- var index$1 = require('./index-73467e1d.js');
4
+ var index$1 = require('./index-f7b329d2.js');
6
5
  var ui_Icon = require('./ui/Icon.js');
7
- var ui_Label = require('./index-d6ef2a60.js');
6
+ var ui_Label = require('./index-e766176d.js');
8
7
  var ui_Loader = require('./ui/Loader.js');
9
- var index$3 = require('./index-21b2339d.js');
8
+ var index$2 = require('./index-7a9d2024.js');
10
9
  var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
11
- var index = require('./index-0988ab25.js');
12
- var index$2 = require('./index-8de59744.js');
13
- var LocalizationContext = require('./LocalizationContext-2b3f310d.js');
10
+ var index = require('./index-b6a49cba.js');
11
+ var LocalizationContext = require('./LocalizationContext-bdc95952.js');
14
12
 
15
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
14
 
17
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
16
 
17
+ /* eslint-disable default-param-last */
19
18
  const getChannelTitle = function () {
20
19
  var _channel$members;
21
-
22
20
  let channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
21
  let currentUserId = arguments.length > 1 ? arguments[1] : undefined;
24
22
  let stringSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ui_Label.LabelStringSet;
25
-
26
23
  if (!(channel !== null && channel !== void 0 && channel.name) && !(channel !== null && channel !== void 0 && channel.members)) {
27
24
  return stringSet.NO_TITLE;
28
25
  }
29
-
30
26
  if (channel !== null && channel !== void 0 && channel.name && channel.name !== 'Group Channel') {
31
27
  return channel.name;
32
28
  }
33
-
34
29
  if ((channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) === 1) {
35
30
  return stringSet.NO_MEMBERS;
36
31
  }
37
-
38
32
  return ((channel === null || channel === void 0 ? void 0 : channel.members) || []).filter(_ref => {
39
33
  let {
40
34
  userId
@@ -49,7 +43,6 @@ const getChannelTitle = function () {
49
43
  };
50
44
  const getLastMessageCreatedAt = _ref3 => {
51
45
  var _channel$lastMessage;
52
-
53
46
  let {
54
47
  channel,
55
48
  locale,
@@ -59,27 +52,21 @@ const getLastMessageCreatedAt = _ref3 => {
59
52
  const optionalParam = locale ? {
60
53
  locale
61
54
  } : null;
62
-
63
55
  if (!createdAt) {
64
56
  return '';
65
57
  }
66
-
67
58
  if (index.isToday(createdAt)) {
68
59
  return index$1.format(createdAt, 'p', optionalParam);
69
60
  }
70
-
71
61
  if (index.isYesterday(createdAt)) {
72
62
  return (stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_STATUS__YESTERDAY) || 'Yesterday';
73
63
  }
74
-
75
- if (index$2.isThisYear(createdAt)) {
64
+ if (index.isThisYear(createdAt)) {
76
65
  return index$1.format(createdAt, 'MMM d', optionalParam);
77
66
  }
78
-
79
67
  return index$1.format(createdAt, 'yyyy/M/d', optionalParam);
80
68
  };
81
69
  const getTotalMembers = channel => channel !== null && channel !== void 0 && channel.memberCount ? channel.memberCount : 0;
82
-
83
70
  const getPrettyLastMessage = function () {
84
71
  let message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
85
72
  const MAXLEN = 30;
@@ -87,39 +74,43 @@ const getPrettyLastMessage = function () {
87
74
  messageType,
88
75
  name
89
76
  } = message;
90
-
91
77
  if (messageType === 'file') {
92
- return index$3.truncateString(name, MAXLEN);
78
+ return index$2.truncateString(name, MAXLEN);
93
79
  }
94
-
95
80
  return message.message;
96
81
  };
97
-
98
- const getLastMessage = channel => channel !== null && channel !== void 0 && channel.lastMessage ? getPrettyLastMessage(channel.lastMessage) : '';
82
+ const getLastMessage = channel => channel !== null && channel !== void 0 && channel.lastMessage ? getPrettyLastMessage(channel === null || channel === void 0 ? void 0 : channel.lastMessage) : '';
99
83
  const getChannelUnreadMessageCount = channel => channel !== null && channel !== void 0 && channel.unreadMessageCount ? channel.unreadMessageCount : 0;
100
84
 
101
- var MessageStatusTypes = utils_message_getOutgoingMessageState.OutgoingMessageStates;
102
- function MessageStatus(_a) {
103
- var _b, _c;
104
-
105
- var _d;
106
-
107
- var className = _a.className,
108
- message = _a.message,
109
- channel = _a.channel,
110
- _e = _a.isDateSeparatorConsidered,
111
- isDateSeparatorConsidered = _e === void 0 ? true : _e;
112
-
113
- var _f = LocalizationContext.useLocalization(),
114
- stringSet = _f.stringSet,
115
- dateLocale = _f.dateLocale;
116
-
117
- var status = utils_message_getOutgoingMessageState.getOutgoingMessageState(channel, message);
118
- var hideMessageStatusIcon = ((_d = channel === null || channel === void 0 ? void 0 : channel.isGroupChannel) === null || _d === void 0 ? void 0 : _d.call(channel)) && (channel.isSuper || channel.isPublic || channel.isBroadcast) && !(status === utils_message_getOutgoingMessageState.OutgoingMessageStates.PENDING || status === utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED);
119
- var iconType = (_b = {}, _b[utils_message_getOutgoingMessageState.OutgoingMessageStates.SENT] = ui_Icon.IconTypes.DONE, _b[utils_message_getOutgoingMessageState.OutgoingMessageStates.DELIVERED] = ui_Icon.IconTypes.DONE_ALL, _b[utils_message_getOutgoingMessageState.OutgoingMessageStates.READ] = ui_Icon.IconTypes.DONE_ALL, _b[utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED] = ui_Icon.IconTypes.ERROR, _b);
120
- var iconColor = (_c = {}, _c[utils_message_getOutgoingMessageState.OutgoingMessageStates.SENT] = ui_Icon.IconColors.SENT, _c[utils_message_getOutgoingMessageState.OutgoingMessageStates.DELIVERED] = ui_Icon.IconColors.SENT, _c[utils_message_getOutgoingMessageState.OutgoingMessageStates.READ] = ui_Icon.IconColors.READ, _c[utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED] = ui_Icon.IconColors.ERROR, _c);
85
+ const MessageStatusTypes = utils_message_getOutgoingMessageState.OutgoingMessageStates;
86
+ function MessageStatus(_ref) {
87
+ var _channel$isGroupChann;
88
+ let {
89
+ className,
90
+ message,
91
+ channel,
92
+ isDateSeparatorConsidered = true
93
+ } = _ref;
94
+ const {
95
+ stringSet,
96
+ dateLocale
97
+ } = LocalizationContext.useLocalization();
98
+ const status = utils_message_getOutgoingMessageState.getOutgoingMessageState(channel, message);
99
+ const hideMessageStatusIcon = (channel === null || channel === void 0 ? void 0 : (_channel$isGroupChann = channel.isGroupChannel) === null || _channel$isGroupChann === void 0 ? void 0 : _channel$isGroupChann.call(channel)) && (channel.isSuper || channel.isPublic || channel.isBroadcast) && !(status === utils_message_getOutgoingMessageState.OutgoingMessageStates.PENDING || status === utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED);
100
+ const iconType = {
101
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.SENT]: ui_Icon.IconTypes.DONE,
102
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.DELIVERED]: ui_Icon.IconTypes.DONE_ALL,
103
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.READ]: ui_Icon.IconTypes.DONE_ALL,
104
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED]: ui_Icon.IconTypes.ERROR
105
+ };
106
+ const iconColor = {
107
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.SENT]: ui_Icon.IconColors.SENT,
108
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.DELIVERED]: ui_Icon.IconColors.SENT,
109
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.READ]: ui_Icon.IconColors.READ,
110
+ [utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED]: ui_Icon.IconColors.ERROR
111
+ };
121
112
  return /*#__PURE__*/React__default["default"].createElement("div", {
122
- className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
113
+ className: [...(Array.isArray(className) ? className : [className]), 'sendbird-message-status'].join(' ')
123
114
  }, status === utils_message_getOutgoingMessageState.OutgoingMessageStates.PENDING ? /*#__PURE__*/React__default["default"].createElement(ui_Loader, {
124
115
  className: "sendbird-message-status__icon",
125
116
  width: "16px",
@@ -130,21 +121,21 @@ function MessageStatus(_a) {
130
121
  width: "16px",
131
122
  height: "16px"
132
123
  })) : /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
133
- className: "sendbird-message-status__icon ".concat(hideMessageStatusIcon ? 'hide-icon' : '', " ").concat(status === utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'),
124
+ className: `sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === utils_message_getOutgoingMessageState.OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'}`,
134
125
  type: iconType[status] || ui_Icon.IconTypes.ERROR,
135
126
  fillColor: iconColor[status],
136
127
  width: "16px",
137
128
  height: "16px"
138
- }), index$3.isSentStatus(status) && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
129
+ }), index$2.isSentStatus(status) && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
139
130
  className: "sendbird-message-status__text",
140
131
  type: ui_Label.LabelTypography.CAPTION_3,
141
132
  color: ui_Label.LabelColors.ONBACKGROUND_2
142
133
  }, isDateSeparatorConsidered ? index$1.format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
143
134
  locale: dateLocale
144
135
  }) : getLastMessageCreatedAt({
145
- channel: channel,
136
+ channel,
146
137
  locale: dateLocale,
147
- stringSet: stringSet
138
+ stringSet
148
139
  })));
149
140
  }
150
141
 
@@ -155,4 +146,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
155
146
  exports.getLastMessage = getLastMessage;
156
147
  exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
157
148
  exports.getTotalMembers = getTotalMembers;
158
- //# sourceMappingURL=index-e240e852.js.map
149
+ //# sourceMappingURL=index-ca51d316.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ca51d316.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\n/* eslint-disable default-param-last */\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\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 const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","_channel$members","channel","arguments","length","undefined","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join","getLastMessageCreatedAt","_ref3","_channel$lastMessage","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_channel$isGroupChann","className","isDateSeparatorConsidered","dateLocale","useLocalization","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","Array","isArray","Loader","width","height","Icon","type","SPINNER","fillColor","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}