@sendbird/uikit-react 3.4.6 → 3.4.7-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 (888) hide show
  1. package/App.js +177 -172
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +44 -39
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +63 -61
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +52 -46
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +12 -9
  10. package/Channel/components/FrozenNotification.js.map +1 -1
  11. package/Channel/components/Message.js +165 -183
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +106 -113
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +128 -130
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +32 -28
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +134 -153
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +43 -42
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +18 -16
  24. package/Channel/components/UnreadCount.js.map +1 -1
  25. package/Channel/context.js +13 -14
  26. package/Channel/context.js.map +1 -1
  27. package/Channel.js +39 -40
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +27 -29
  30. package/ChannelList/components/AddChannel.js.map +1 -1
  31. package/ChannelList/components/ChannelListHeader.js +30 -21
  32. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  33. package/ChannelList/components/ChannelListUI.js +91 -98
  34. package/ChannelList/components/ChannelListUI.js.map +1 -1
  35. package/ChannelList/components/ChannelPreview.js +70 -73
  36. package/ChannelList/components/ChannelPreview.js.map +1 -1
  37. package/ChannelList/components/ChannelPreviewAction.js +30 -30
  38. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  39. package/ChannelList/context.js +7 -8
  40. package/ChannelList/context.js.map +1 -1
  41. package/ChannelList.js +30 -31
  42. package/ChannelList.js.map +1 -1
  43. package/{ChannelListProvider-a2f2ee4a.js → ChannelListProvider-c1d2f942.js} +160 -156
  44. package/ChannelListProvider-c1d2f942.js.map +1 -0
  45. package/{ChannelProvider-bb459e82.js → ChannelProvider-4ab3a851.js} +429 -412
  46. package/ChannelProvider-4ab3a851.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +33 -37
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsUI.js +45 -40
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  51. package/ChannelSettings/components/EditDetailsModal.js +47 -48
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  53. package/ChannelSettings/components/LeaveChannel.js +38 -35
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  55. package/ChannelSettings/components/ModerationPanel.js +511 -556
  56. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  57. package/ChannelSettings/components/UserListItem.js +69 -69
  58. package/ChannelSettings/components/UserListItem.js.map +1 -1
  59. package/ChannelSettings/components/UserPanel.js +25 -27
  60. package/ChannelSettings/components/UserPanel.js.map +1 -1
  61. package/ChannelSettings/context.js +53 -49
  62. package/ChannelSettings/context.js.map +1 -1
  63. package/ChannelSettings.js +19 -18
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +24 -21
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +92 -93
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +41 -35
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +22 -20
  73. package/CreateChannel.js.map +1 -1
  74. package/CreateChannelProvider-d2188082.js +44 -0
  75. package/CreateChannelProvider-d2188082.js.map +1 -0
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +33 -28
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +18 -16
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  83. package/EditUserProfile/context.js.map +1 -1
  84. package/EditUserProfile.js +18 -16
  85. package/EditUserProfile.js.map +1 -1
  86. package/LocalizationContext-9c54e783.js +20 -0
  87. package/{LocalizationContext-3d8c0b24.js.map → LocalizationContext-9c54e783.js.map} +1 -1
  88. package/MediaQueryContext-1988a4bc.js +82 -0
  89. package/MediaQueryContext-1988a4bc.js.map +1 -0
  90. package/MemberList-80ea8604.js +395 -0
  91. package/MemberList-80ea8604.js.map +1 -0
  92. package/Message/context.js +11 -10
  93. package/Message/context.js.map +1 -1
  94. package/MessageSearch/components/MessageSearchUI.js +59 -54
  95. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  96. package/MessageSearch/context.js +176 -165
  97. package/MessageSearch/context.js.map +1 -1
  98. package/MessageSearch.js +45 -47
  99. package/MessageSearch.js.map +1 -1
  100. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  101. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  102. package/OpenChannel/components/OpenChannelHeader.js +27 -22
  103. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelInput.js +32 -28
  105. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessage.js +171 -172
  107. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  108. package/OpenChannel/components/OpenChannelMessageList.js +60 -65
  109. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelUI.js +50 -48
  111. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  112. package/OpenChannel/context.js +8 -8
  113. package/OpenChannel.js +32 -33
  114. package/OpenChannel.js.map +1 -1
  115. package/OpenChannelList/components/OpenChannelListUI.js +58 -59
  116. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  117. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  118. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  119. package/OpenChannelList/context.js +3 -3
  120. package/OpenChannelList.js +24 -23
  121. package/OpenChannelList.js.map +1 -1
  122. package/{OpenChannelListProvider-f9ec8658.js → OpenChannelListProvider-c76663eb.js} +177 -155
  123. package/OpenChannelListProvider-c76663eb.js.map +1 -0
  124. package/OpenChannelProvider-fe3326aa.js +1883 -0
  125. package/{cjs/OpenChannelProvider-850b9cd0.js.map → OpenChannelProvider-fe3326aa.js.map} +1 -1
  126. package/OpenChannelSettings/components/EditDetailsModal.js +46 -46
  127. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  128. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
  129. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  130. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
  131. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  132. package/OpenChannelSettings/components/OperatorUI.js +508 -533
  133. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  134. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  135. package/OpenChannelSettings/context.js +54 -56
  136. package/OpenChannelSettings/context.js.map +1 -1
  137. package/OpenChannelSettings.js +19 -19
  138. package/OpenChannelSettings.js.map +1 -1
  139. package/RemoveMessageModal-99b5bab4.js +36 -0
  140. package/RemoveMessageModal-99b5bab4.js.map +1 -0
  141. package/SendbirdProvider.js +546 -405
  142. package/SendbirdProvider.js.map +1 -1
  143. package/Thread/components/ParentMessageInfo.js +157 -170
  144. package/Thread/components/ParentMessageInfo.js.map +1 -1
  145. package/Thread/components/ParentMessageInfoItem.js +68 -62
  146. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  147. package/Thread/components/ThreadHeader.js +22 -22
  148. package/Thread/components/ThreadHeader.js.map +1 -1
  149. package/Thread/components/ThreadList.js +82 -77
  150. package/Thread/components/ThreadList.js.map +1 -1
  151. package/Thread/components/ThreadListItem.js +208 -219
  152. package/Thread/components/ThreadListItem.js.map +1 -1
  153. package/Thread/components/ThreadMessageInput.js +103 -105
  154. package/Thread/components/ThreadMessageInput.js.map +1 -1
  155. package/Thread/components/ThreadUI.js +130 -116
  156. package/Thread/components/ThreadUI.js.map +1 -1
  157. package/Thread/context/types.js +9 -9
  158. package/Thread/context/types.js.map +1 -1
  159. package/Thread/context.js +8 -8
  160. package/Thread.js +55 -55
  161. package/Thread.js.map +1 -1
  162. package/ThreadProvider-0a3c5f37.js +1692 -0
  163. package/ThreadProvider-0a3c5f37.js.map +1 -0
  164. package/{UserProfileContext-41938ddc.js → UserProfileContext-a8aa4c0f.js} +1 -1
  165. package/{UserProfileContext-41938ddc.js.map → UserProfileContext-a8aa4c0f.js.map} +1 -1
  166. package/{VoiceMessageInputWrapper-0cd90994.js → VoiceMessageInputWrapper-ff160b51.js} +60 -59
  167. package/VoiceMessageInputWrapper-ff160b51.js.map +1 -0
  168. package/VoicePlayer/context.js +3 -3
  169. package/VoicePlayer/useVoicePlayer.js +38 -43
  170. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  171. package/VoiceRecorder/context.js +46 -45
  172. package/VoiceRecorder/context.js.map +1 -1
  173. package/VoiceRecorder/useVoiceRecorder.js +43 -40
  174. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  175. package/{WebAudioUtils-682aa6c0.js → WebAudioUtils-5f08f354.js} +37 -37
  176. package/{WebAudioUtils-682aa6c0.js.map → WebAudioUtils-5f08f354.js.map} +1 -1
  177. package/{_rollupPluginBabelHelpers-79f64283.js → _rollupPluginBabelHelpers-b2d9bfc5.js} +2 -2
  178. package/_rollupPluginBabelHelpers-b2d9bfc5.js.map +1 -0
  179. package/{actionTypes-52102db0.js → actionTypes-e436fe6c.js} +2 -2
  180. package/{actionTypes-52102db0.js.map → actionTypes-e436fe6c.js.map} +1 -1
  181. package/cjs/App.js +177 -172
  182. package/cjs/App.js.map +1 -1
  183. package/cjs/Channel/components/ChannelHeader.js +44 -39
  184. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  185. package/cjs/Channel/components/ChannelUI.js +63 -61
  186. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  187. package/cjs/Channel/components/FileViewer.js +52 -46
  188. package/cjs/Channel/components/FileViewer.js.map +1 -1
  189. package/cjs/Channel/components/FrozenNotification.js +12 -9
  190. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  191. package/cjs/Channel/components/Message.js +165 -183
  192. package/cjs/Channel/components/Message.js.map +1 -1
  193. package/cjs/Channel/components/MessageInput.js +106 -113
  194. package/cjs/Channel/components/MessageInput.js.map +1 -1
  195. package/cjs/Channel/components/MessageList.js +128 -130
  196. package/cjs/Channel/components/MessageList.js.map +1 -1
  197. package/cjs/Channel/components/RemoveMessageModal.js +32 -28
  198. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  199. package/cjs/Channel/components/SuggestedMentionList.js +134 -153
  200. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  201. package/cjs/Channel/components/TypingIndicator.js +43 -42
  202. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  203. package/cjs/Channel/components/UnreadCount.js +18 -16
  204. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  205. package/cjs/Channel/context.js +14 -18
  206. package/cjs/Channel/context.js.map +1 -1
  207. package/cjs/Channel.js +39 -40
  208. package/cjs/Channel.js.map +1 -1
  209. package/cjs/ChannelList/components/AddChannel.js +27 -29
  210. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  211. package/cjs/ChannelList/components/ChannelListHeader.js +30 -21
  212. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  213. package/cjs/ChannelList/components/ChannelListUI.js +91 -98
  214. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  215. package/cjs/ChannelList/components/ChannelPreview.js +70 -73
  216. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  217. package/cjs/ChannelList/components/ChannelPreviewAction.js +30 -30
  218. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  219. package/cjs/ChannelList/context.js +7 -8
  220. package/cjs/ChannelList/context.js.map +1 -1
  221. package/cjs/ChannelList.js +30 -31
  222. package/cjs/ChannelList.js.map +1 -1
  223. package/cjs/{ChannelListProvider-b0a363e0.js → ChannelListProvider-61d644da.js} +160 -156
  224. package/cjs/ChannelListProvider-61d644da.js.map +1 -0
  225. package/cjs/{ChannelProvider-cf5867c2.js → ChannelProvider-620bb354.js} +430 -412
  226. package/cjs/ChannelProvider-620bb354.js.map +1 -0
  227. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -37
  228. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  229. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -40
  230. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  231. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -48
  232. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  233. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -35
  234. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  235. package/cjs/ChannelSettings/components/ModerationPanel.js +511 -556
  236. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  237. package/cjs/ChannelSettings/components/UserListItem.js +69 -69
  238. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  239. package/cjs/ChannelSettings/components/UserPanel.js +25 -27
  240. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  241. package/cjs/ChannelSettings/context.js +53 -49
  242. package/cjs/ChannelSettings/context.js.map +1 -1
  243. package/cjs/ChannelSettings.js +19 -18
  244. package/cjs/ChannelSettings.js.map +1 -1
  245. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -21
  246. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  247. package/cjs/CreateChannel/components/InviteUsers.js +92 -93
  248. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  249. package/cjs/CreateChannel/components/SelectChannelType.js +41 -35
  250. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  251. package/cjs/CreateChannel/context.js +4 -4
  252. package/cjs/CreateChannel.js +22 -20
  253. package/cjs/CreateChannel.js.map +1 -1
  254. package/cjs/CreateChannelProvider-88b316a6.js +52 -0
  255. package/cjs/CreateChannelProvider-88b316a6.js.map +1 -0
  256. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
  257. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  258. package/cjs/CreateOpenChannel/context.js +33 -28
  259. package/cjs/CreateOpenChannel/context.js.map +1 -1
  260. package/cjs/CreateOpenChannel.js +18 -16
  261. package/cjs/CreateOpenChannel.js.map +1 -1
  262. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  263. package/cjs/EditUserProfile/context.js.map +1 -1
  264. package/cjs/EditUserProfile.js +18 -16
  265. package/cjs/EditUserProfile.js.map +1 -1
  266. package/cjs/{LocalizationContext-498cb747.js → LocalizationContext-af96cf5f.js} +9 -9
  267. package/cjs/{LocalizationContext-498cb747.js.map → LocalizationContext-af96cf5f.js.map} +1 -1
  268. package/cjs/MediaQueryContext-8ec3f647.js +89 -0
  269. package/cjs/MediaQueryContext-8ec3f647.js.map +1 -0
  270. package/cjs/MemberList-7513f386.js +401 -0
  271. package/cjs/MemberList-7513f386.js.map +1 -0
  272. package/cjs/Message/context.js +11 -10
  273. package/cjs/Message/context.js.map +1 -1
  274. package/cjs/MessageSearch/components/MessageSearchUI.js +59 -54
  275. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  276. package/cjs/MessageSearch/context.js +176 -165
  277. package/cjs/MessageSearch/context.js.map +1 -1
  278. package/cjs/MessageSearch.js +45 -47
  279. package/cjs/MessageSearch.js.map +1 -1
  280. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  281. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  282. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -22
  283. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  284. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -28
  285. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  286. package/cjs/OpenChannel/components/OpenChannelMessage.js +171 -172
  287. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  288. package/cjs/OpenChannel/components/OpenChannelMessageList.js +60 -65
  289. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  290. package/cjs/OpenChannel/components/OpenChannelUI.js +50 -48
  291. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  292. package/cjs/OpenChannel/context.js +8 -8
  293. package/cjs/OpenChannel.js +32 -33
  294. package/cjs/OpenChannel.js.map +1 -1
  295. package/cjs/OpenChannelList/components/OpenChannelListUI.js +58 -59
  296. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  297. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  298. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  299. package/cjs/OpenChannelList/context.js +3 -3
  300. package/cjs/OpenChannelList.js +24 -23
  301. package/cjs/OpenChannelList.js.map +1 -1
  302. package/cjs/OpenChannelListProvider-e78bf867.js +439 -0
  303. package/cjs/OpenChannelListProvider-e78bf867.js.map +1 -0
  304. package/cjs/OpenChannelProvider-ea1d7b37.js +1892 -0
  305. package/cjs/OpenChannelProvider-ea1d7b37.js.map +1 -0
  306. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +46 -46
  307. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  308. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
  309. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  310. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
  311. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  312. package/cjs/OpenChannelSettings/components/OperatorUI.js +508 -533
  313. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  314. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  315. package/cjs/OpenChannelSettings/context.js +54 -56
  316. package/cjs/OpenChannelSettings/context.js.map +1 -1
  317. package/cjs/OpenChannelSettings.js +19 -19
  318. package/cjs/OpenChannelSettings.js.map +1 -1
  319. package/cjs/{RemoveMessageModal-457b1535.js → RemoveMessageModal-15d1dcbd.js} +19 -13
  320. package/cjs/RemoveMessageModal-15d1dcbd.js.map +1 -0
  321. package/cjs/SendbirdProvider.js +546 -405
  322. package/cjs/SendbirdProvider.js.map +1 -1
  323. package/cjs/Thread/components/ParentMessageInfo.js +157 -170
  324. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  325. package/cjs/Thread/components/ParentMessageInfoItem.js +68 -62
  326. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  327. package/cjs/Thread/components/ThreadHeader.js +22 -22
  328. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  329. package/cjs/Thread/components/ThreadList.js +82 -77
  330. package/cjs/Thread/components/ThreadList.js.map +1 -1
  331. package/cjs/Thread/components/ThreadListItem.js +208 -219
  332. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  333. package/cjs/Thread/components/ThreadMessageInput.js +103 -105
  334. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  335. package/cjs/Thread/components/ThreadUI.js +130 -116
  336. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  337. package/cjs/Thread/context/types.js +13 -9
  338. package/cjs/Thread/context/types.js.map +1 -1
  339. package/cjs/Thread/context.js +8 -8
  340. package/cjs/Thread.js +55 -55
  341. package/cjs/Thread.js.map +1 -1
  342. package/cjs/ThreadProvider-572574d7.js +1701 -0
  343. package/cjs/ThreadProvider-572574d7.js.map +1 -0
  344. package/cjs/{UserProfileContext-617420c9.js → UserProfileContext-f068b0ba.js} +1 -1
  345. package/cjs/{UserProfileContext-617420c9.js.map → UserProfileContext-f068b0ba.js.map} +1 -1
  346. package/cjs/{VoiceMessageInputWrapper-43c29f38.js → VoiceMessageInputWrapper-db7f2b72.js} +60 -59
  347. package/cjs/VoiceMessageInputWrapper-db7f2b72.js.map +1 -0
  348. package/cjs/VoicePlayer/context.js +3 -3
  349. package/cjs/VoicePlayer/useVoicePlayer.js +38 -43
  350. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  351. package/cjs/VoiceRecorder/context.js +46 -45
  352. package/cjs/VoiceRecorder/context.js.map +1 -1
  353. package/cjs/VoiceRecorder/useVoiceRecorder.js +43 -40
  354. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  355. package/cjs/{WebAudioUtils-2b845cd2.js → WebAudioUtils-043bdeca.js} +37 -37
  356. package/cjs/{WebAudioUtils-2b845cd2.js.map → WebAudioUtils-043bdeca.js.map} +1 -1
  357. package/cjs/{_rollupPluginBabelHelpers-c2313dcd.js → _rollupPluginBabelHelpers-c5955c81.js} +2 -1
  358. package/cjs/_rollupPluginBabelHelpers-c5955c81.js.map +1 -0
  359. package/cjs/{actionTypes-0e0d2d59.js → actionTypes-f2efbb7c.js} +2 -2
  360. package/cjs/{actionTypes-0e0d2d59.js.map → actionTypes-f2efbb7c.js.map} +1 -1
  361. package/cjs/{color-7f7508e6.js → color-afeb8dc2.js} +13 -12
  362. package/cjs/color-afeb8dc2.js.map +1 -0
  363. package/cjs/{compareIds-27f7912f.js → compareIds-18b3b1d6.js} +1 -1
  364. package/cjs/{compareIds-27f7912f.js.map → compareIds-18b3b1d6.js.map} +1 -1
  365. package/cjs/const-6691e574.js +20 -0
  366. package/cjs/const-6691e574.js.map +1 -0
  367. package/cjs/{const-61fc7be6.js → const-ab0f6056.js} +4 -4
  368. package/cjs/{const-61fc7be6.js.map → const-ab0f6056.js.map} +1 -1
  369. package/cjs/consts-6ec77e9a.js +6 -0
  370. package/cjs/consts-6ec77e9a.js.map +1 -0
  371. package/cjs/consts-a422c2f9.js +6 -0
  372. package/cjs/{consts-46fa3a3a.js.map → consts-a422c2f9.js.map} +1 -1
  373. package/cjs/{consts-8605e767.js → consts-a5382bc1.js} +18 -14
  374. package/cjs/{consts-8605e767.js.map → consts-a5382bc1.js.map} +1 -1
  375. package/cjs/consts-bc27beff.js +6 -0
  376. package/cjs/{consts-ad849467.js.map → consts-bc27beff.js.map} +1 -1
  377. package/cjs/{context-a4af6955.js → context-60c4d3b7.js} +6 -5
  378. package/cjs/{context-a4af6955.js.map → context-60c4d3b7.js.map} +1 -1
  379. package/cjs/dist/index.css +197 -93
  380. package/cjs/dist/index.css.map +1 -1
  381. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  382. package/cjs/handlers/SessionHandler.js.map +1 -1
  383. package/cjs/index-0b344bd7.js +57 -0
  384. package/cjs/index-0b344bd7.js.map +1 -0
  385. package/cjs/{index-ac1b0ab9.js → index-4ee95667.js} +2 -4
  386. package/cjs/index-4ee95667.js.map +1 -0
  387. package/cjs/{index-67f813a3.js → index-68c57136.js} +1 -1
  388. package/cjs/{index-67f813a3.js.map → index-68c57136.js.map} +1 -1
  389. package/cjs/{index-a4887600.js → index-6cb4a530.js} +3 -12
  390. package/cjs/index-6cb4a530.js.map +1 -0
  391. package/cjs/{index-b8a20afd.js → index-73643285.js} +2 -2
  392. package/cjs/{index-b8a20afd.js.map → index-73643285.js.map} +1 -1
  393. package/cjs/index-76afc309.js +197 -0
  394. package/cjs/index-76afc309.js.map +1 -0
  395. package/cjs/{index-3626dfeb.js → index-8049c2a3.js} +22 -15
  396. package/cjs/index-8049c2a3.js.map +1 -0
  397. package/cjs/{index-8b6bb1ee.js → index-83d1d15e.js} +10 -30
  398. package/cjs/index-83d1d15e.js.map +1 -0
  399. package/cjs/{index-0dff9958.js → index-900dd19f.js} +37 -27
  400. package/cjs/index-900dd19f.js.map +1 -0
  401. package/cjs/index-9d518988.js +292 -0
  402. package/cjs/{index-cd680348.js.map → index-9d518988.js.map} +1 -1
  403. package/cjs/{index-8b5a13fe.js → index-a50b2339.js} +50 -50
  404. package/cjs/index-a50b2339.js.map +1 -0
  405. package/cjs/{index-ead97d9a.js → index-c1de8d8f.js} +37 -39
  406. package/cjs/{index-ead97d9a.js.map → index-c1de8d8f.js.map} +1 -1
  407. package/cjs/index-ec8b6978.js +361 -0
  408. package/cjs/index-ec8b6978.js.map +1 -0
  409. package/cjs/index-f2146bae.js +563 -0
  410. package/cjs/index-f2146bae.js.map +1 -0
  411. package/cjs/{index-71173fef.js → index-f65677b1.js} +56 -193
  412. package/cjs/index-f65677b1.js.map +1 -0
  413. package/cjs/{index-983f9d7a.js → index-ff8ea47f.js} +17 -17
  414. package/cjs/{index-983f9d7a.js.map → index-ff8ea47f.js.map} +1 -1
  415. package/cjs/index.js +51 -51
  416. package/cjs/{index.module-cf39e3b9.js → index.module-9f5edc7b.js} +1 -1
  417. package/cjs/{index.module-cf39e3b9.js.map → index.module-9f5edc7b.js.map} +1 -1
  418. package/cjs/lame.all.js.map +1 -1
  419. package/cjs/sendbirdSelectors.js +319 -371
  420. package/cjs/sendbirdSelectors.js.map +1 -1
  421. package/cjs/{stringSet-061fe0c1.js → stringSet-68748705.js} +2 -2
  422. package/cjs/stringSet-68748705.js.map +1 -0
  423. package/cjs/tokenize-d86ab0c7.js +140 -0
  424. package/cjs/tokenize-d86ab0c7.js.map +1 -0
  425. package/cjs/{topics-c8adbede.js → topics-825e5d42.js} +2 -2
  426. package/cjs/{topics-c8adbede.js.map → topics-825e5d42.js.map} +1 -1
  427. package/cjs/types-24accb8d.js +17 -0
  428. package/cjs/{types-beecfca4.js.map → types-24accb8d.js.map} +1 -1
  429. package/cjs/ui/Accordion.js +19 -18
  430. package/cjs/ui/Accordion.js.map +1 -1
  431. package/cjs/ui/AccordionGroup.js +10 -11
  432. package/cjs/ui/AccordionGroup.js.map +1 -1
  433. package/cjs/ui/AdminMessage.js +10 -10
  434. package/cjs/ui/AdminMessage.js.map +1 -1
  435. package/cjs/ui/Avatar.js +55 -59
  436. package/cjs/ui/Avatar.js.map +1 -1
  437. package/cjs/ui/Badge.js +16 -15
  438. package/cjs/ui/Badge.js.map +1 -1
  439. package/cjs/ui/BottomSheet.js +14 -10
  440. package/cjs/ui/BottomSheet.js.map +1 -1
  441. package/cjs/ui/Button.js +20 -24
  442. package/cjs/ui/Button.js.map +1 -1
  443. package/cjs/ui/ChannelAvatar.js +38 -41
  444. package/cjs/ui/ChannelAvatar.js.map +1 -1
  445. package/cjs/ui/Checkbox.js +9 -10
  446. package/cjs/ui/Checkbox.js.map +1 -1
  447. package/cjs/ui/ConnectionStatus.js +7 -5
  448. package/cjs/ui/ConnectionStatus.js.map +1 -1
  449. package/cjs/ui/ContextMenu.js +139 -135
  450. package/cjs/ui/ContextMenu.js.map +1 -1
  451. package/cjs/ui/DateSeparator.js +12 -14
  452. package/cjs/ui/DateSeparator.js.map +1 -1
  453. package/cjs/ui/EmojiReactions.js +78 -86
  454. package/cjs/ui/EmojiReactions.js.map +1 -1
  455. package/cjs/ui/FileMessageItemBody.js +22 -22
  456. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  457. package/cjs/ui/FileViewer.js +36 -35
  458. package/cjs/ui/FileViewer.js.map +1 -1
  459. package/cjs/ui/Icon.js +16 -16
  460. package/cjs/ui/Icon.js.map +1 -1
  461. package/cjs/ui/IconButton.js +20 -28
  462. package/cjs/ui/IconButton.js.map +1 -1
  463. package/cjs/ui/ImageRenderer.js +33 -39
  464. package/cjs/ui/ImageRenderer.js.map +1 -1
  465. package/cjs/ui/Input.js +16 -14
  466. package/cjs/ui/Input.js.map +1 -1
  467. package/cjs/ui/Label.js +2 -2
  468. package/cjs/ui/LinkLabel.js +2 -2
  469. package/cjs/ui/LinkLabel.js.map +1 -1
  470. package/cjs/ui/Loader.js +10 -12
  471. package/cjs/ui/Loader.js.map +1 -1
  472. package/cjs/ui/MentionLabel.js +58 -61
  473. package/cjs/ui/MentionLabel.js.map +1 -1
  474. package/cjs/ui/MentionUserLabel.js +10 -10
  475. package/cjs/ui/MentionUserLabel.js.map +1 -1
  476. package/cjs/ui/MessageContent.js +273 -270
  477. package/cjs/ui/MessageContent.js.map +1 -1
  478. package/cjs/ui/MessageInput.js +87 -79
  479. package/cjs/ui/MessageInput.js.map +1 -1
  480. package/cjs/ui/MessageItemMenu.js +70 -72
  481. package/cjs/ui/MessageItemMenu.js.map +1 -1
  482. package/cjs/ui/MessageItemReactionMenu.js +50 -57
  483. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  484. package/cjs/ui/MessageSearchFileItem.js +49 -38
  485. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  486. package/cjs/ui/MessageSearchItem.js +40 -32
  487. package/cjs/ui/MessageSearchItem.js.map +1 -1
  488. package/cjs/ui/MessageStatus.js +10 -10
  489. package/cjs/ui/Modal.js +52 -45
  490. package/cjs/ui/Modal.js.map +1 -1
  491. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  492. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  493. package/cjs/ui/OGMessageItemBody.js +48 -44
  494. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  495. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  496. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  497. package/cjs/ui/OpenChannelAvatar.js +18 -17
  498. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  499. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  500. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  501. package/cjs/ui/OpenchannelFileMessage.js +134 -140
  502. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  503. package/cjs/ui/OpenchannelOGMessage.js +177 -176
  504. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  505. package/cjs/ui/OpenchannelThumbnailMessage.js +209 -214
  506. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  507. package/cjs/ui/OpenchannelUserMessage.js +159 -164
  508. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  509. package/cjs/ui/PlaceHolder.js +5 -6
  510. package/cjs/ui/PlaceHolder.js.map +1 -1
  511. package/cjs/ui/PlaybackTime.js +15 -16
  512. package/cjs/ui/PlaybackTime.js.map +1 -1
  513. package/cjs/ui/ProgressBar.js +13 -15
  514. package/cjs/ui/ProgressBar.js.map +1 -1
  515. package/cjs/ui/QuoteMessage.js +42 -38
  516. package/cjs/ui/QuoteMessage.js.map +1 -1
  517. package/cjs/ui/QuoteMessageInput.js +27 -23
  518. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  519. package/cjs/ui/ReactionBadge.js +13 -17
  520. package/cjs/ui/ReactionBadge.js.map +1 -1
  521. package/cjs/ui/ReactionButton.js +15 -18
  522. package/cjs/ui/ReactionButton.js.map +1 -1
  523. package/cjs/ui/SortByRow.js +14 -14
  524. package/cjs/ui/SortByRow.js.map +1 -1
  525. package/cjs/ui/TextButton.js +13 -21
  526. package/cjs/ui/TextButton.js.map +1 -1
  527. package/cjs/ui/TextMessageItemBody.js +31 -31
  528. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  529. package/cjs/ui/ThreadReplies.js +25 -21
  530. package/cjs/ui/ThreadReplies.js.map +1 -1
  531. package/cjs/ui/ThumbnailMessageItemBody.js +32 -37
  532. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  533. package/cjs/ui/Toggle.js +202 -0
  534. package/cjs/ui/Toggle.js.map +1 -0
  535. package/cjs/ui/Tooltip.js +8 -9
  536. package/cjs/ui/Tooltip.js.map +1 -1
  537. package/cjs/ui/TooltipWrapper.js +17 -18
  538. package/cjs/ui/TooltipWrapper.js.map +1 -1
  539. package/cjs/ui/UnknownMessageItemBody.js +19 -18
  540. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  541. package/cjs/ui/UserListItem.js +72 -73
  542. package/cjs/ui/UserListItem.js.map +1 -1
  543. package/cjs/ui/UserProfile.js +30 -25
  544. package/cjs/ui/UserProfile.js.map +1 -1
  545. package/cjs/ui/VoiceMessageItemBody.js +37 -42
  546. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  547. package/cjs/ui/VoiceMessgeInput.js +7 -8
  548. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  549. package/cjs/ui/Word.js +26 -27
  550. package/cjs/ui/Word.js.map +1 -1
  551. package/cjs/useLongPress-d9deb354.js +83 -0
  552. package/cjs/{useLongPress-f3ee01a0.js.map → useLongPress-d9deb354.js.map} +1 -1
  553. package/cjs/useSendbirdStateContext.js +2 -2
  554. package/cjs/useSendbirdStateContext.js.map +1 -1
  555. package/cjs/utils/message/getOutgoingMessageState.js +16 -14
  556. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  557. package/cjs/utils/message/isVoiceMessage.js +3 -3
  558. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  559. package/cjs/{utils-98ac09d1.js → utils-21326993.js} +3 -3
  560. package/cjs/{utils-98ac09d1.js.map → utils-21326993.js.map} +1 -1
  561. package/cjs/utils-4b74ea64.js +31 -0
  562. package/cjs/utils-4b74ea64.js.map +1 -0
  563. package/cjs/utils-7f75ad97.js +35 -0
  564. package/cjs/utils-7f75ad97.js.map +1 -0
  565. package/cjs/{utils-1038446c.js → utils-d5176360.js} +1 -1
  566. package/cjs/{utils-1038446c.js.map → utils-d5176360.js.map} +1 -1
  567. package/cjs/uuid-0b4ed44c.js +15 -0
  568. package/cjs/{uuid-1ffa3b79.js.map → uuid-0b4ed44c.js.map} +1 -1
  569. package/cjs/withSendbird.js +15 -16
  570. package/cjs/withSendbird.js.map +1 -1
  571. package/{color-73049158.js → color-3bac434a.js} +5 -5
  572. package/{color-73049158.js.map → color-3bac434a.js.map} +1 -1
  573. package/{compareIds-88bffa50.js → compareIds-1e0e668f.js} +1 -1
  574. package/{compareIds-88bffa50.js.map → compareIds-1e0e668f.js.map} +1 -1
  575. package/const-5f722b91.js +13 -0
  576. package/const-5f722b91.js.map +1 -0
  577. package/{const-2919bc87.js → const-6a07b718.js} +4 -4
  578. package/{const-2919bc87.js.map → const-6a07b718.js.map} +1 -1
  579. package/consts-790ae3a9.js +4 -0
  580. package/{consts-0ea80430.js.map → consts-790ae3a9.js.map} +1 -1
  581. package/consts-aadaccca.js +4 -0
  582. package/consts-aadaccca.js.map +1 -0
  583. package/consts-c9746f2b.js +27 -0
  584. package/{consts-966c9540.js.map → consts-c9746f2b.js.map} +1 -1
  585. package/consts-d4c78cc0.js +4 -0
  586. package/consts-d4c78cc0.js.map +1 -0
  587. package/context-fcbabe23.js +13 -0
  588. package/{context-9baa8d25.js.map → context-fcbabe23.js.map} +1 -1
  589. package/dist/index.css +197 -93
  590. package/dist/index.css.map +1 -1
  591. package/handlers/OpenChannelHandler.js.map +1 -1
  592. package/handlers/SessionHandler.js.map +1 -1
  593. package/{index-d37f34a3.js → index-1a3c0d72.js} +2 -4
  594. package/index-1a3c0d72.js.map +1 -0
  595. package/{index-ad125f51.js → index-2a938266.js} +1 -1
  596. package/{index-ad125f51.js.map → index-2a938266.js.map} +1 -1
  597. package/{index-ac5ad4f9.js → index-3062a861.js} +3 -12
  598. package/index-3062a861.js.map +1 -0
  599. package/index-38a78d99.js +283 -0
  600. package/{index-fd4fc9f0.js.map → index-38a78d99.js.map} +1 -1
  601. package/{index-cce0e324.js → index-4111594a.js} +2 -2
  602. package/{index-cce0e324.js.map → index-4111594a.js.map} +1 -1
  603. package/{index-61a102d7.js → index-51bd074f.js} +37 -27
  604. package/index-51bd074f.js.map +1 -0
  605. package/{index-fa96d1c0.js → index-59bd3da1.js} +50 -50
  606. package/index-59bd3da1.js.map +1 -0
  607. package/{index-91355132.js → index-77f3d9b0.js} +17 -17
  608. package/{index-91355132.js.map → index-77f3d9b0.js.map} +1 -1
  609. package/{index-a9183365.js → index-83600696.js} +37 -39
  610. package/{index-a9183365.js.map → index-83600696.js.map} +1 -1
  611. package/index-8df6bff0.js +51 -0
  612. package/index-8df6bff0.js.map +1 -0
  613. package/{index-aaa9b9f8.js → index-a9ddd0f5.js} +10 -30
  614. package/index-a9ddd0f5.js.map +1 -0
  615. package/index-c7cc73db.js +182 -0
  616. package/index-c7cc73db.js.map +1 -0
  617. package/{index-9cead71b.js → index-cfd0e4c4.js} +22 -15
  618. package/index-cfd0e4c4.js.map +1 -0
  619. package/index-dbe0e004.js +520 -0
  620. package/index-dbe0e004.js.map +1 -0
  621. package/index-ef0bd198.js +354 -0
  622. package/index-ef0bd198.js.map +1 -0
  623. package/{index-95b46112.js → index-f48cfdf7.js} +56 -193
  624. package/index-f48cfdf7.js.map +1 -0
  625. package/index.d.ts +38 -8
  626. package/index.js +51 -51
  627. package/{index.module-e6530c0d.js → index.module-ab8289c1.js} +1 -1
  628. package/{index.module-e6530c0d.js.map → index.module-ab8289c1.js.map} +1 -1
  629. package/lame.all.js.map +1 -1
  630. package/package.json +21 -3
  631. package/sendbirdSelectors.js +319 -371
  632. package/sendbirdSelectors.js.map +1 -1
  633. package/{stringSet-9d579825.js → stringSet-1f18348a.js} +2 -2
  634. package/stringSet-1f18348a.js.map +1 -0
  635. package/tokenize-63d895d3.js +135 -0
  636. package/tokenize-63d895d3.js.map +1 -0
  637. package/{topics-f9301447.js → topics-d8d10f83.js} +2 -2
  638. package/{topics-f9301447.js.map → topics-d8d10f83.js.map} +1 -1
  639. package/types-a85de720.js +15 -0
  640. package/{types-d0a9adf8.js.map → types-a85de720.js.map} +1 -1
  641. package/ui/Accordion.js +19 -18
  642. package/ui/Accordion.js.map +1 -1
  643. package/ui/AccordionGroup.js +10 -11
  644. package/ui/AccordionGroup.js.map +1 -1
  645. package/ui/AdminMessage.js +10 -10
  646. package/ui/AdminMessage.js.map +1 -1
  647. package/ui/Avatar.js +55 -59
  648. package/ui/Avatar.js.map +1 -1
  649. package/ui/Badge.js +16 -15
  650. package/ui/Badge.js.map +1 -1
  651. package/ui/BottomSheet.js +14 -10
  652. package/ui/BottomSheet.js.map +1 -1
  653. package/ui/Button.js +20 -24
  654. package/ui/Button.js.map +1 -1
  655. package/ui/ChannelAvatar.js +38 -41
  656. package/ui/ChannelAvatar.js.map +1 -1
  657. package/ui/Checkbox.js +9 -10
  658. package/ui/Checkbox.js.map +1 -1
  659. package/ui/ConnectionStatus.js +7 -5
  660. package/ui/ConnectionStatus.js.map +1 -1
  661. package/ui/ContextMenu.js +139 -135
  662. package/ui/ContextMenu.js.map +1 -1
  663. package/ui/DateSeparator.js +12 -14
  664. package/ui/DateSeparator.js.map +1 -1
  665. package/ui/EmojiReactions.js +78 -86
  666. package/ui/EmojiReactions.js.map +1 -1
  667. package/ui/FileMessageItemBody.js +22 -22
  668. package/ui/FileMessageItemBody.js.map +1 -1
  669. package/ui/FileViewer.js +36 -35
  670. package/ui/FileViewer.js.map +1 -1
  671. package/ui/Icon.js +2 -2
  672. package/ui/Icon.js.map +1 -1
  673. package/ui/IconButton.js +20 -28
  674. package/ui/IconButton.js.map +1 -1
  675. package/ui/ImageRenderer.js +33 -39
  676. package/ui/ImageRenderer.js.map +1 -1
  677. package/ui/Input.js +16 -14
  678. package/ui/Input.js.map +1 -1
  679. package/ui/Label.js +2 -2
  680. package/ui/LinkLabel.js +2 -2
  681. package/ui/LinkLabel.js.map +1 -1
  682. package/ui/Loader.js +10 -12
  683. package/ui/Loader.js.map +1 -1
  684. package/ui/MentionLabel.js +58 -61
  685. package/ui/MentionLabel.js.map +1 -1
  686. package/ui/MentionUserLabel.js +10 -10
  687. package/ui/MentionUserLabel.js.map +1 -1
  688. package/ui/MessageContent.js +273 -270
  689. package/ui/MessageContent.js.map +1 -1
  690. package/ui/MessageInput.js +87 -79
  691. package/ui/MessageInput.js.map +1 -1
  692. package/ui/MessageItemMenu.js +70 -72
  693. package/ui/MessageItemMenu.js.map +1 -1
  694. package/ui/MessageItemReactionMenu.js +50 -57
  695. package/ui/MessageItemReactionMenu.js.map +1 -1
  696. package/ui/MessageSearchFileItem.js +49 -38
  697. package/ui/MessageSearchFileItem.js.map +1 -1
  698. package/ui/MessageSearchItem.js +40 -32
  699. package/ui/MessageSearchItem.js.map +1 -1
  700. package/ui/MessageStatus.js +10 -10
  701. package/ui/Modal.js +52 -45
  702. package/ui/Modal.js.map +1 -1
  703. package/ui/MutedAvatarOverlay.js +10 -10
  704. package/ui/MutedAvatarOverlay.js.map +1 -1
  705. package/ui/OGMessageItemBody.js +48 -44
  706. package/ui/OGMessageItemBody.js.map +1 -1
  707. package/ui/OpenChannelAdminMessage.js +8 -7
  708. package/ui/OpenChannelAdminMessage.js.map +1 -1
  709. package/ui/OpenChannelAvatar.js +18 -17
  710. package/ui/OpenChannelAvatar.js.map +1 -1
  711. package/ui/OpenchannelConversationHeader.js +17 -13
  712. package/ui/OpenchannelConversationHeader.js.map +1 -1
  713. package/ui/OpenchannelFileMessage.js +134 -140
  714. package/ui/OpenchannelFileMessage.js.map +1 -1
  715. package/ui/OpenchannelOGMessage.js +177 -176
  716. package/ui/OpenchannelOGMessage.js.map +1 -1
  717. package/ui/OpenchannelThumbnailMessage.js +209 -214
  718. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  719. package/ui/OpenchannelUserMessage.js +159 -164
  720. package/ui/OpenchannelUserMessage.js.map +1 -1
  721. package/ui/PlaceHolder.js +5 -6
  722. package/ui/PlaceHolder.js.map +1 -1
  723. package/ui/PlaybackTime.js +15 -16
  724. package/ui/PlaybackTime.js.map +1 -1
  725. package/ui/ProgressBar.js +13 -15
  726. package/ui/ProgressBar.js.map +1 -1
  727. package/ui/QuoteMessage.js +42 -38
  728. package/ui/QuoteMessage.js.map +1 -1
  729. package/ui/QuoteMessageInput.js +27 -23
  730. package/ui/QuoteMessageInput.js.map +1 -1
  731. package/ui/ReactionBadge.js +13 -17
  732. package/ui/ReactionBadge.js.map +1 -1
  733. package/ui/ReactionButton.js +15 -18
  734. package/ui/ReactionButton.js.map +1 -1
  735. package/ui/SortByRow.js +14 -14
  736. package/ui/SortByRow.js.map +1 -1
  737. package/ui/TextButton.js +13 -21
  738. package/ui/TextButton.js.map +1 -1
  739. package/ui/TextMessageItemBody.js +31 -31
  740. package/ui/TextMessageItemBody.js.map +1 -1
  741. package/ui/ThreadReplies.js +25 -21
  742. package/ui/ThreadReplies.js.map +1 -1
  743. package/ui/ThumbnailMessageItemBody.js +32 -37
  744. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  745. package/ui/Toggle.js +191 -0
  746. package/ui/Toggle.js.map +1 -0
  747. package/ui/Tooltip.js +8 -9
  748. package/ui/Tooltip.js.map +1 -1
  749. package/ui/TooltipWrapper.js +17 -18
  750. package/ui/TooltipWrapper.js.map +1 -1
  751. package/ui/UnknownMessageItemBody.js +19 -18
  752. package/ui/UnknownMessageItemBody.js.map +1 -1
  753. package/ui/UserListItem.js +72 -73
  754. package/ui/UserListItem.js.map +1 -1
  755. package/ui/UserProfile.js +30 -25
  756. package/ui/UserProfile.js.map +1 -1
  757. package/ui/VoiceMessageItemBody.js +37 -42
  758. package/ui/VoiceMessageItemBody.js.map +1 -1
  759. package/ui/VoiceMessgeInput.js +7 -8
  760. package/ui/VoiceMessgeInput.js.map +1 -1
  761. package/ui/Word.js +26 -27
  762. package/ui/Word.js.map +1 -1
  763. package/useLongPress-8acf717c.js +81 -0
  764. package/{useLongPress-f119ff35.js.map → useLongPress-8acf717c.js.map} +1 -1
  765. package/useSendbirdStateContext.js +2 -2
  766. package/useSendbirdStateContext.js.map +1 -1
  767. package/utils/message/getOutgoingMessageState.js +9 -8
  768. package/utils/message/getOutgoingMessageState.js.map +1 -1
  769. package/utils/message/isVoiceMessage.js +3 -3
  770. package/utils/message/isVoiceMessage.js.map +1 -1
  771. package/{utils-86d65b96.js → utils-0c09801e.js} +1 -1
  772. package/{utils-86d65b96.js.map → utils-0c09801e.js.map} +1 -1
  773. package/utils-447a922e.js +31 -0
  774. package/utils-447a922e.js.map +1 -0
  775. package/{utils-e53018f1.js → utils-83bbfb63.js} +3 -3
  776. package/{utils-e53018f1.js.map → utils-83bbfb63.js.map} +1 -1
  777. package/utils-b57bff14.js +29 -0
  778. package/utils-b57bff14.js.map +1 -0
  779. package/uuid-48baadaf.js +13 -0
  780. package/{uuid-86cb48e0.js.map → uuid-48baadaf.js.map} +1 -1
  781. package/withSendbird.js +15 -16
  782. package/withSendbird.js.map +1 -1
  783. package/ChannelListProvider-a2f2ee4a.js.map +0 -1
  784. package/ChannelProvider-bb459e82.js.map +0 -1
  785. package/CreateChannelProvider-a935d833.js +0 -48
  786. package/CreateChannelProvider-a935d833.js.map +0 -1
  787. package/LocalizationContext-3d8c0b24.js +0 -20
  788. package/MediaQueryContext-1348e37b.js +0 -80
  789. package/MediaQueryContext-1348e37b.js.map +0 -1
  790. package/MemberList-d8124d7e.js +0 -412
  791. package/MemberList-d8124d7e.js.map +0 -1
  792. package/OpenChannelListProvider-f9ec8658.js.map +0 -1
  793. package/OpenChannelProvider-36d0dd05.js +0 -1844
  794. package/OpenChannelProvider-36d0dd05.js.map +0 -1
  795. package/RemoveMessageModal-7852c71d.js +0 -30
  796. package/RemoveMessageModal-7852c71d.js.map +0 -1
  797. package/ThreadProvider-43c384e9.js +0 -1623
  798. package/ThreadProvider-43c384e9.js.map +0 -1
  799. package/VoiceMessageInputWrapper-0cd90994.js.map +0 -1
  800. package/_rollupPluginBabelHelpers-79f64283.js.map +0 -1
  801. package/cjs/ChannelListProvider-b0a363e0.js.map +0 -1
  802. package/cjs/ChannelProvider-cf5867c2.js.map +0 -1
  803. package/cjs/CreateChannelProvider-f82d812f.js +0 -55
  804. package/cjs/CreateChannelProvider-f82d812f.js.map +0 -1
  805. package/cjs/MediaQueryContext-b9c2ec1f.js +0 -87
  806. package/cjs/MediaQueryContext-b9c2ec1f.js.map +0 -1
  807. package/cjs/MemberList-13ba769f.js +0 -418
  808. package/cjs/MemberList-13ba769f.js.map +0 -1
  809. package/cjs/OpenChannelListProvider-02d6d44b.js +0 -416
  810. package/cjs/OpenChannelListProvider-02d6d44b.js.map +0 -1
  811. package/cjs/OpenChannelProvider-850b9cd0.js +0 -1853
  812. package/cjs/RemoveMessageModal-457b1535.js.map +0 -1
  813. package/cjs/ThreadProvider-37f2f0a3.js +0 -1632
  814. package/cjs/ThreadProvider-37f2f0a3.js.map +0 -1
  815. package/cjs/VoiceMessageInputWrapper-43c29f38.js.map +0 -1
  816. package/cjs/_rollupPluginBabelHelpers-c2313dcd.js.map +0 -1
  817. package/cjs/color-7f7508e6.js.map +0 -1
  818. package/cjs/const-e22c9d25.js +0 -19
  819. package/cjs/const-e22c9d25.js.map +0 -1
  820. package/cjs/consts-3764bd68.js +0 -6
  821. package/cjs/consts-3764bd68.js.map +0 -1
  822. package/cjs/consts-46fa3a3a.js +0 -6
  823. package/cjs/consts-ad849467.js +0 -6
  824. package/cjs/index-0b9ad941.js +0 -346
  825. package/cjs/index-0b9ad941.js.map +0 -1
  826. package/cjs/index-0dff9958.js.map +0 -1
  827. package/cjs/index-2ac1f908.js +0 -649
  828. package/cjs/index-2ac1f908.js.map +0 -1
  829. package/cjs/index-3626dfeb.js.map +0 -1
  830. package/cjs/index-71173fef.js.map +0 -1
  831. package/cjs/index-8b5a13fe.js.map +0 -1
  832. package/cjs/index-8b6bb1ee.js.map +0 -1
  833. package/cjs/index-a415176f.js +0 -192
  834. package/cjs/index-a415176f.js.map +0 -1
  835. package/cjs/index-a4887600.js.map +0 -1
  836. package/cjs/index-ac1b0ab9.js.map +0 -1
  837. package/cjs/index-cd680348.js +0 -271
  838. package/cjs/index-ddcf90b1.js +0 -59
  839. package/cjs/index-ddcf90b1.js.map +0 -1
  840. package/cjs/stringSet-061fe0c1.js.map +0 -1
  841. package/cjs/tokenize-7e34a56e.js +0 -141
  842. package/cjs/tokenize-7e34a56e.js.map +0 -1
  843. package/cjs/tslib.es6-8f4b0cfe.js +0 -97
  844. package/cjs/tslib.es6-8f4b0cfe.js.map +0 -1
  845. package/cjs/types-beecfca4.js +0 -11
  846. package/cjs/useLongPress-f3ee01a0.js +0 -100
  847. package/cjs/utils-3f3c2287.js +0 -27
  848. package/cjs/utils-3f3c2287.js.map +0 -1
  849. package/cjs/utils-6a97ff3a.js +0 -35
  850. package/cjs/utils-6a97ff3a.js.map +0 -1
  851. package/cjs/uuid-1ffa3b79.js +0 -17
  852. package/const-df1daff9.js +0 -13
  853. package/const-df1daff9.js.map +0 -1
  854. package/consts-0ea80430.js +0 -4
  855. package/consts-1861f891.js +0 -4
  856. package/consts-1861f891.js.map +0 -1
  857. package/consts-966c9540.js +0 -23
  858. package/consts-f4362414.js +0 -4
  859. package/consts-f4362414.js.map +0 -1
  860. package/context-9baa8d25.js +0 -12
  861. package/index-179bed8d.js +0 -177
  862. package/index-179bed8d.js.map +0 -1
  863. package/index-61a102d7.js.map +0 -1
  864. package/index-95b46112.js.map +0 -1
  865. package/index-9cead71b.js.map +0 -1
  866. package/index-aaa9b9f8.js.map +0 -1
  867. package/index-ac5ad4f9.js.map +0 -1
  868. package/index-c70af435.js +0 -53
  869. package/index-c70af435.js.map +0 -1
  870. package/index-d37f34a3.js.map +0 -1
  871. package/index-e378ca4e.js +0 -607
  872. package/index-e378ca4e.js.map +0 -1
  873. package/index-f0f9692b.js +0 -339
  874. package/index-f0f9692b.js.map +0 -1
  875. package/index-fa96d1c0.js.map +0 -1
  876. package/index-fd4fc9f0.js +0 -262
  877. package/stringSet-9d579825.js.map +0 -1
  878. package/tokenize-bd8e35b2.js +0 -136
  879. package/tokenize-bd8e35b2.js.map +0 -1
  880. package/tslib.es6-d6e50ec3.js +0 -92
  881. package/tslib.es6-d6e50ec3.js.map +0 -1
  882. package/types-d0a9adf8.js +0 -9
  883. package/useLongPress-f119ff35.js +0 -98
  884. package/utils-0c8334fa.js +0 -25
  885. package/utils-0c8334fa.js.map +0 -1
  886. package/utils-e659e765.js +0 -31
  887. package/utils-e659e765.js.map +0 -1
  888. package/uuid-86cb48e0.js +0 -15
@@ -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 { FileMessage, 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} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { ReplyType } from '../../index';\nimport { Role } from '../../lib/types';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\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: UserMessage | FileMessage) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n setSupposedHover?: (bool: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => 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 >\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 >\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 >\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 >\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 >\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 >\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 >\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","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","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 { FileMessage, 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} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { ReplyType } from '../../index';\nimport { Role } from '../../lib/types';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\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: UserMessage | FileMessage) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n setSupposedHover?: (bool: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => 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 >\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 >\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 >\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 >\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 >\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 >\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 >\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","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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"}
@@ -4,27 +4,28 @@ import Icon, { IconTypes, IconColors } from './Icon.js';
4
4
  import IconButton from './IconButton.js';
5
5
  import ImageRenderer from './ImageRenderer.js';
6
6
  import ReactionButton from './ReactionButton.js';
7
- import { w as isPendingMessage, v as isFailedMessage, j as getClassName, y as getEmojiListAll } from '../index-e378ca4e.js';
8
- import '../tslib.es6-d6e50ec3.js';
7
+ import { w as isPendingMessage, v as isFailedMessage, j as getClassName, y as getEmojiListAll } from '../index-dbe0e004.js';
8
+ import '../_rollupPluginBabelHelpers-b2d9bfc5.js';
9
9
  import 'react-dom';
10
10
  import './SortByRow.js';
11
- import '../uuid-86cb48e0.js';
12
- import '../index-cce0e324.js';
11
+ import '../uuid-48baadaf.js';
12
+ import '../index-4111594a.js';
13
13
  import 'prop-types';
14
- import '../stringSet-9d579825.js';
14
+ import '../stringSet-1f18348a.js';
15
15
  import '../utils/message/getOutgoingMessageState.js';
16
16
 
17
- function MessageItemReactionMenu(_a) {
18
- var className = _a.className,
19
- message = _a.message,
20
- userId = _a.userId,
21
- _b = _a.spaceFromTrigger,
22
- spaceFromTrigger = _b === void 0 ? {} : _b,
23
- emojiContainer = _a.emojiContainer,
24
- toggleReaction = _a.toggleReaction,
25
- setSupposedHover = _a.setSupposedHover;
26
- var triggerRef = useRef(null);
27
- var containerRef = useRef(null);
17
+ function MessageItemReactionMenu(_ref) {
18
+ let {
19
+ className,
20
+ message,
21
+ userId,
22
+ spaceFromTrigger = {},
23
+ emojiContainer,
24
+ toggleReaction,
25
+ setSupposedHover
26
+ } = _ref;
27
+ const triggerRef = useRef(null);
28
+ const containerRef = useRef(null);
28
29
  if (isPendingMessage(message) || isFailedMessage(message)) {
29
30
  return null;
30
31
  }
@@ -32,29 +33,27 @@ function MessageItemReactionMenu(_a) {
32
33
  className: getClassName([className, 'sendbird-message-item-reaction-menu']),
33
34
  ref: containerRef
34
35
  }, /*#__PURE__*/React__default.createElement(ContextMenu, {
35
- menuTrigger: function (toggleDropdown) {
36
- return /*#__PURE__*/React__default.createElement(IconButton, {
37
- className: "sendbird-message-item-reaction-menu__trigger",
38
- ref: triggerRef,
39
- width: "32px",
40
- height: "32px",
41
- onClick: function () {
42
- toggleDropdown();
43
- setSupposedHover(true);
44
- },
45
- onBlur: function () {
46
- setSupposedHover(false);
47
- }
48
- }, /*#__PURE__*/React__default.createElement(Icon, {
49
- className: "sendbird-message-item-reaction-menu__trigger__icon",
50
- type: IconTypes.EMOJI_MORE,
51
- fillColor: IconColors.CONTENT_INVERSE,
52
- width: "24px",
53
- height: "24px"
54
- }));
55
- },
56
- menuItems: function (close) {
57
- var closeDropdown = function () {
36
+ menuTrigger: toggleDropdown => /*#__PURE__*/React__default.createElement(IconButton, {
37
+ className: "sendbird-message-item-reaction-menu__trigger",
38
+ ref: triggerRef,
39
+ width: "32px",
40
+ height: "32px",
41
+ onClick: () => {
42
+ toggleDropdown();
43
+ setSupposedHover(true);
44
+ },
45
+ onBlur: () => {
46
+ setSupposedHover(false);
47
+ }
48
+ }, /*#__PURE__*/React__default.createElement(Icon, {
49
+ className: "sendbird-message-item-reaction-menu__trigger__icon",
50
+ type: IconTypes.EMOJI_MORE,
51
+ fillColor: IconColors.CONTENT_INVERSE,
52
+ width: "24px",
53
+ height: "24px"
54
+ })),
55
+ menuItems: close => {
56
+ const closeDropdown = () => {
58
57
  close();
59
58
  setSupposedHover(false);
60
59
  };
@@ -63,19 +62,15 @@ function MessageItemReactionMenu(_a) {
63
62
  parentContainRef: containerRef,
64
63
  closeDropdown: closeDropdown,
65
64
  spaceFromTrigger: spaceFromTrigger
66
- }, getEmojiListAll(emojiContainer).map(function (emoji) {
67
- var _a, _b, _c;
68
- var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
69
- return reaction.key === emoji.key;
70
- })[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
71
- return reactorId === userId;
72
- });
65
+ }, getEmojiListAll(emojiContainer).map(emoji => {
66
+ var _message$reactions, _message$reactions$fi, _message$reactions$fi2;
67
+ 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);
73
68
  return /*#__PURE__*/React__default.createElement(ReactionButton, {
74
69
  key: emoji.key,
75
70
  width: "36px",
76
71
  height: "36px",
77
72
  selected: isReacted,
78
- onClick: function () {
73
+ onClick: () => {
79
74
  closeDropdown();
80
75
  toggleReaction(message, emoji.key, isReacted);
81
76
  }
@@ -83,16 +78,14 @@ function MessageItemReactionMenu(_a) {
83
78
  url: emoji.url,
84
79
  width: "28px",
85
80
  height: "28px",
86
- placeHolder: function (style) {
87
- return /*#__PURE__*/React__default.createElement("div", {
88
- style: style
89
- }, /*#__PURE__*/React__default.createElement(Icon, {
90
- type: IconTypes.QUESTION,
91
- fillColor: IconColors.ON_BACKGROUND_3,
92
- width: "28px",
93
- height: "28px"
94
- }));
95
- }
81
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
82
+ style: style
83
+ }, /*#__PURE__*/React__default.createElement(Icon, {
84
+ type: IconTypes.QUESTION,
85
+ fillColor: IconColors.ON_BACKGROUND_3,
86
+ width: "28px",
87
+ height: "28px"
88
+ }))
96
89
  }));
97
90
  }));
98
91
  }
@@ -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 { FileMessage, Reaction, UserMessage } 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 } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n userId: string;\n spaceFromTrigger?: Record<string, unknown>;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = {},\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 >\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","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","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 { FileMessage, Reaction, UserMessage } 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 } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n userId: string;\n spaceFromTrigger?: Record<string, unknown>;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = {},\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 >\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","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","ImageRenderer","url","placeHolder","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
@@ -1,26 +1,28 @@
1
- import { a as __spreadArray } from '../tslib.es6-d6e50ec3.js';
2
1
  import React__default from 'react';
3
2
  import Avatar from './Avatar.js';
4
3
  import Icon, { IconTypes, IconColors } from './Icon.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-cce0e324.js';
6
- import { u as useLocalization } from '../LocalizationContext-3d8c0b24.js';
7
- import { f as format } from '../index-95b46112.js';
8
- import { i as isToday, a as isYesterday, b as isThisYear } from '../index-ac5ad4f9.js';
9
- import { d as isVoiceMessage } from '../index-e378ca4e.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-4111594a.js';
5
+ import { u as useLocalization } from '../LocalizationContext-9c54e783.js';
6
+ import { f as format } from '../index-f48cfdf7.js';
7
+ import { i as isToday, a as isYesterday, b as isThisYear } from '../index-3062a861.js';
8
+ import { d as isVoiceMessage } from '../index-dbe0e004.js';
10
9
  import './ImageRenderer.js';
11
- import '../uuid-86cb48e0.js';
10
+ import '../uuid-48baadaf.js';
12
11
  import 'prop-types';
13
- import '../stringSet-9d579825.js';
14
- import '../index-aaa9b9f8.js';
15
- import '../index-d37f34a3.js';
12
+ import '../stringSet-1f18348a.js';
13
+ import '../index-a9ddd0f5.js';
14
+ import '../index-1a3c0d72.js';
15
+ import '../_rollupPluginBabelHelpers-b2d9bfc5.js';
16
16
  import '../utils/message/getOutgoingMessageState.js';
17
17
 
18
- function getCreatedAt(_a) {
19
- var createdAt = _a.createdAt,
20
- locale = _a.locale,
21
- stringSet = _a.stringSet;
22
- var optionalParam = locale ? {
23
- locale: locale
18
+ function getCreatedAt(_ref) {
19
+ let {
20
+ createdAt,
21
+ locale,
22
+ stringSet
23
+ } = _ref;
24
+ const optionalParam = locale ? {
25
+ locale
24
26
  } : null;
25
27
  if (!createdAt) {
26
28
  return '';
@@ -37,9 +39,11 @@ function getCreatedAt(_a) {
37
39
  return format(createdAt, 'yyyy/M/d', optionalParam);
38
40
  }
39
41
  function getIconOfFileType(message) {
40
- var url = message.url;
41
- var fileMessageUrl = url;
42
- var fileExtension = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)[1];
42
+ const {
43
+ url
44
+ } = message;
45
+ const fileMessageUrl = url;
46
+ const fileExtension = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)[1];
43
47
  if (/(jpg|jpeg|png)$/i.test(fileExtension)) {
44
48
  return IconTypes.PHOTO;
45
49
  } else if (/mp4$/i.test(fileExtension) || isVoiceMessage(message)) {
@@ -54,25 +58,32 @@ function getIconOfFileType(message) {
54
58
  }
55
59
 
56
60
  function MessageSearchFileItem(props) {
57
- var className = props.className,
58
- message = props.message,
59
- selected = props.selected,
60
- onClick = props.onClick;
61
- var createdAt = message.createdAt,
62
- url = message.url,
63
- name = message.name;
61
+ const {
62
+ className,
63
+ message,
64
+ selected,
65
+ onClick
66
+ } = props;
67
+ const {
68
+ createdAt,
69
+ url,
70
+ name
71
+ } = message;
64
72
  // @ts-ignore
65
- var sender = message.sender || message._sender;
66
- var profileUrl = sender.profileUrl,
67
- nickname = sender.nickname;
68
- var _a = useLocalization(),
69
- stringSet = _a.stringSet,
70
- dateLocale = _a.dateLocale;
71
- var isVoiceMsg = isVoiceMessage(message);
72
- var prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : name || url;
73
+ const sender = message.sender || message._sender;
74
+ const {
75
+ profileUrl,
76
+ nickname
77
+ } = sender;
78
+ const {
79
+ stringSet,
80
+ dateLocale
81
+ } = useLocalization();
82
+ const isVoiceMsg = isVoiceMessage(message);
83
+ const prettyFilename = isVoiceMsg ? stringSet.VOICE_MESSAGE : name || url;
73
84
  return /*#__PURE__*/React__default.createElement("div", {
74
- className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''], false).join(' '),
75
- onClick: function (e) {
85
+ className: [...(Array.isArray(className) ? className : [className]), 'sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''].join(' '),
86
+ onClick: e => {
76
87
  e.stopPropagation();
77
88
  onClick(message);
78
89
  }
@@ -108,9 +119,9 @@ function MessageSearchFileItem(props) {
108
119
  type: LabelTypography.CAPTION_3,
109
120
  color: LabelColors.ONBACKGROUND_2
110
121
  }, getCreatedAt({
111
- createdAt: createdAt,
122
+ createdAt,
112
123
  locale: dateLocale,
113
- stringSet: stringSet
124
+ stringSet
114
125
  })), /*#__PURE__*/React__default.createElement("div", {
115
126
  className: "sendbird-message-search-file-item__right-footer"
116
127
  }));
@@ -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';\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): string {\n const { url } = message;\n const fileMessageUrl = url;\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';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n selected?: boolean;\n onClick?: (message: FileMessage) => 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, url, name } = 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","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","isVoiceMessage","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","name","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
+ {"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';\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): string {\n const { url } = message;\n const fileMessageUrl = url;\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';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n selected?: boolean;\n onClick?: (message: FileMessage) => 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, url, name } = 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","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","isVoiceMessage","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","name","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":";;;;;;;;;;;;;;;;;AAeO,SAASA,YAAYA,CAAAC,IAAA,EAA8D;EAAA,IAA7D;IAAEC,SAAS;IAAEC,MAAM;AAAEC,IAAAA,SAAAA;AAA6B,GAAC,GAAAH,IAAA,CAAA;EAC9E,MAAMI,aAAa,GAAGF,MAAM,GAAG;AAAEA,IAAAA,MAAAA;AAAO,GAAC,GAAG,IAAI,CAAA;EAChD,IAAI,CAACD,SAAS,EAAE;AACd,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACA,EAAA,IAAII,OAAO,CAACJ,SAAS,CAAC,EAAE;AACtB,IAAA,OAAOK,MAAM,CAACL,SAAS,EAAE,GAAG,EAAEG,aAAa,CAAC,CAAA;AAC9C,GAAA;AACA,EAAA,IAAIG,WAAW,CAACN,SAAS,CAAC,EAAE;IAC1B,OAAO,CAAAE,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEK,yBAAyB,KAAI,WAAW,CAAA;AAC5D,GAAA;AACA,EAAA,IAAIC,UAAU,CAACR,SAAS,CAAC,EAAE;AACzB,IAAA,OAAOK,MAAM,CAACL,SAAS,EAAE,OAAO,EAAEG,aAAa,CAAC,CAAA;AAClD,GAAA;AACA,EAAA,OAAOE,MAAM,CAACL,SAAS,EAAE,UAAU,EAAEG,aAAa,CAAC,CAAA;AACrD,CAAA;AAEO,SAASM,iBAAiBA,CAACC,OAAoB,EAAU;EAC9D,MAAM;AAAEC,IAAAA,GAAAA;AAAI,GAAC,GAAGD,OAAO,CAAA;EACvB,MAAME,cAAc,GAAGD,GAAG,CAAA;EAC1B,MAAME,aAAa,GAAID,cAAc,CAACE,KAAK,CAAC,sBAAsB,CAAC,CAAE,CAAC,CAAC,CAAA;AAEvE,EAAA,IAAI,kBAAkB,CAACC,IAAI,CAACF,aAAa,CAAC,EAAE;IAC1C,OAAOG,SAAS,CAACC,KAAK,CAAA;AACxB,GAAC,MAAM,IAAI,OAAO,CAACF,IAAI,CAACF,aAAa,CAAC,IAAIK,cAAc,CAACR,OAAO,CAAC,EAAE;IACjE,OAAOM,SAAS,CAACG,IAAI,CAAA;GACtB,MAAM,IAAI,MAAM,CAACJ,IAAI,CAACF,aAAa,CAAC,EAAE;IACrC,OAAOG,SAAS,CAACI,UAAU,CAAA;GAC5B,MAAM,IAAI,MAAM,CAACL,IAAI,CAACF,aAAa,CAAC,EAAE;IACrC,OAAOG,SAAS,CAACK,GAAG,CAAA;AACtB,GAAC,MAAM;IACL,OAAOL,SAAS,CAACM,aAAa,CAAA;AAChC,GAAA;AACF;;AC9Be,SAASC,qBAAqBA,CAACC,KAAY,EAAgB;EACxE,MAAM;IACJC,SAAS;IACTf,OAAO;IACPgB,QAAQ;AACRC,IAAAA,OAAAA;AACF,GAAC,GAAGH,KAAK,CAAA;EACT,MAAM;IAAExB,SAAS;IAAEW,GAAG;AAAEiB,IAAAA,IAAAA;AAAK,GAAC,GAAGlB,OAAO,CAAA;AACxC;EACA,MAAMmB,MAAM,GAAGnB,OAAO,CAACmB,MAAM,IAAInB,OAAO,CAACoB,OAAO,CAAA;EAChD,MAAM;IAAEC,UAAU;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGH,MAAM,CAAA;EACvC,MAAM;IAAE3B,SAAS;AAAE+B,IAAAA,UAAAA;GAAY,GAAGC,eAAe,EAAE,CAAA;AACnD,EAAA,MAAMC,UAAU,GAAGjB,cAAc,CAACR,OAAO,CAAC,CAAA;EAC1C,MAAM0B,cAAc,GAAGD,UAAU,GAAGjC,SAAS,CAACmC,aAAa,GAAIT,IAAI,IAAIjB,GAAI,CAAA;EAE3E,oBACE2B,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEd,IAAAA,SAAS,EAAE,CACT,IAAIe,KAAK,CAACC,OAAO,CAAChB,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,CAAC,EACvD,mCAAmC,EACnCC,QAAQ,GAAG,6CAA6C,GAAG,EAAE,CAC9D,CAACgB,IAAI,CAAC,GAAG,CAAE;IACZf,OAAO,EAAGgB,CAAC,IAAK;MACdA,CAAC,CAACC,eAAe,EAAE,CAAA;MACnBjB,OAAO,CAACjB,OAAO,CAAC,CAAA;AAClB,KAAA;GAEA4B,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,yCAAA;AAAyC,GAAA,eACtDa,cAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AACLpB,IAAAA,SAAS,EAAC,wDAAwD;AAClEqB,IAAAA,GAAG,EAAEf,UAAW;AAChBgB,IAAAA,GAAG,EAAC,eAAe;AACnBC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GACd,CACE,CAAC,eACNX,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,0CAAA;AAA0C,GAAA,eACvDa,cAAA,CAAAC,aAAA,CAACW,KAAK,EAAA;AACJzB,IAAAA,SAAS,EAAC,uDAAuD;IACjE0B,IAAI,EAAEC,eAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GAElBxB,EAAAA,QAAQ,IAAI9B,SAAS,CAACuD,OAClB,CAAC,eACRnB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,mDAAA;AAAmD,GAAA,EAC/D,CAACU,UAAU,iBACVG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAE,8DAAA;AAA+D,GAAA,eAC7Ea,cAAA,CAAAC,aAAA,CAACmB,IAAI,EAAA;AACHP,IAAAA,IAAI,EAAE1C,iBAAiB,CAACC,OAAO,CAAE;IACjCiD,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9Bb,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GACd,CACE,CACN,eACDX,cAAA,CAAAC,aAAA,CAACW,KAAK,EAAA;AACJzB,IAAAA,SAAS,EAAC,wDAAwD;IAClE0B,IAAI,EAAEC,eAAe,CAACU,MAAO;IAC7BR,KAAK,EAAEC,WAAW,CAACC,cAAAA;GAElBpB,EAAAA,cACI,CACJ,CACF,CAAC,eACNE,cAAA,CAAAC,aAAA,CAACW,KAAK,EAAA;AACJzB,IAAAA,SAAS,EAAC,uDAAuD;IACjE0B,IAAI,EAAEC,eAAe,CAACW,SAAU;IAChCT,KAAK,EAAEC,WAAW,CAACS,cAAAA;AAAe,GAAA,EAEjClE,YAAY,CAAC;IAAEE,SAAS;AAAEC,IAAAA,MAAM,EAAEgC,UAAU;AAAE/B,IAAAA,SAAAA;AAAU,GAAC,CACrD,CAAC,eACRoC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAE,CAC/D,CAAC,CAAA;AAEV;;;;"}
@@ -1,25 +1,26 @@
1
- import { a as __spreadArray } from '../tslib.es6-d6e50ec3.js';
2
1
  import React__default from 'react';
3
- import { f as format } from '../index-95b46112.js';
4
- import { i as isToday, a as isYesterday, b as isThisYear } from '../index-ac5ad4f9.js';
2
+ import { f as format } from '../index-f48cfdf7.js';
3
+ import { i as isToday, a as isYesterday, b as isThisYear } from '../index-3062a861.js';
5
4
  import Avatar from './Avatar.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-cce0e324.js';
7
- import { u as useLocalization } from '../LocalizationContext-3d8c0b24.js';
8
- import '../index-aaa9b9f8.js';
9
- import '../index-d37f34a3.js';
5
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-4111594a.js';
6
+ import { u as useLocalization } from '../LocalizationContext-9c54e783.js';
7
+ import '../index-a9ddd0f5.js';
8
+ import '../index-1a3c0d72.js';
10
9
  import './ImageRenderer.js';
11
10
  import './Icon.js';
12
11
  import 'prop-types';
13
- import '../uuid-86cb48e0.js';
14
- import '../stringSet-9d579825.js';
12
+ import '../uuid-48baadaf.js';
13
+ import '../stringSet-1f18348a.js';
15
14
 
16
15
  // getCreatedAt
17
- function getCreatedAt (_a) {
18
- var createdAt = _a.createdAt,
19
- locale = _a.locale,
20
- stringSet = _a.stringSet;
21
- var optionalParam = locale ? {
22
- locale: locale
16
+ function getCreatedAt (_ref) {
17
+ let {
18
+ createdAt,
19
+ locale,
20
+ stringSet
21
+ } = _ref;
22
+ const optionalParam = locale ? {
23
+ locale
23
24
  } : null;
24
25
  if (!createdAt) {
25
26
  return '';
@@ -36,22 +37,29 @@ function getCreatedAt (_a) {
36
37
  return format(createdAt, 'yyyy/M/d', optionalParam);
37
38
  }
38
39
 
39
- function MessageSearchItem(_a) {
40
- var className = _a.className,
41
- message = _a.message,
42
- selected = _a.selected,
43
- onClick = _a.onClick;
44
- var createdAt = message.createdAt;
45
- var messageText = message.message;
46
- var sender = message.sender || message._sender;
47
- var profileUrl = sender.profileUrl,
48
- nickname = sender.nickname;
49
- var _b = useLocalization(),
50
- stringSet = _b.stringSet,
51
- dateLocale = _b.dateLocale;
40
+ function MessageSearchItem(_ref) {
41
+ let {
42
+ className,
43
+ message,
44
+ selected,
45
+ onClick
46
+ } = _ref;
47
+ const {
48
+ createdAt
49
+ } = message;
50
+ const messageText = message.message;
51
+ const sender = message.sender || message._sender;
52
+ const {
53
+ profileUrl,
54
+ nickname
55
+ } = sender;
56
+ const {
57
+ stringSet,
58
+ dateLocale
59
+ } = useLocalization();
52
60
  return /*#__PURE__*/React__default.createElement("div", {
53
- className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''], false).join(' '),
54
- onClick: function (e) {
61
+ className: [...(Array.isArray(className) ? className : [className]), 'sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''].join(' '),
62
+ onClick: e => {
55
63
  e.stopPropagation();
56
64
  onClick(message);
57
65
  }
@@ -78,9 +86,9 @@ function MessageSearchItem(_a) {
78
86
  type: LabelTypography.CAPTION_3,
79
87
  color: LabelColors.ONBACKGROUND_2
80
88
  }, getCreatedAt({
81
- createdAt: createdAt,
89
+ createdAt,
82
90
  locale: dateLocale,
83
- stringSet: stringSet
91
+ stringSet
84
92
  }))), /*#__PURE__*/React__default.createElement("div", {
85
93
  className: "sendbird-message-search-item__right-footer"
86
94
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"MessageSearchItem.js","sources":["../../src/ui/MessageSearchItem/getCreatedAt.ts","../../src/ui/MessageSearchItem/index.tsx"],"sourcesContent":["import 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';\n\ninterface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\n// getCreatedAt\nexport default function ({\n createdAt,\n locale,\n stringSet,\n}: 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","import React from 'react';\nimport './index.scss';\nimport getCreatedAt from './getCreatedAt';\n\nimport Avatar from '../Avatar';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { UserMessage } from '@sendbird/chat/message';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n selected?: boolean;\n onClick?: (message: UserMessage) => void;\n}\n\nexport default function MessageSearchItem({\n className,\n message,\n selected,\n onClick,\n}: Props): JSX.Element {\n const { createdAt } = message;\n const messageText = message.message;\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-item',\n selected ? 'sendbird-message-search-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-item__left\">\n <Avatar\n className=\"sendbird-message-search-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-item__right\">\n <Label\n className=\"sendbird-message-search-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-text\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {messageText}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet })}\n </Label>\n </div>\n <div className=\"sendbird-message-search-item__right-footer\" />\n </div>\n );\n}\n"],"names":["_a","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","MessageSearchItem","className","message","selected","onClick","messageText","sender","_sender","profileUrl","nickname","_b","useLocalization","dateLocale","React","createElement","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","src","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","NO_NAME","BODY_2","ONBACKGROUND_3","CAPTION_3","ONBACKGROUND_2","getCreatedAt"],"mappings":"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"}
1
+ {"version":3,"file":"MessageSearchItem.js","sources":["../../src/ui/MessageSearchItem/getCreatedAt.ts","../../src/ui/MessageSearchItem/index.tsx"],"sourcesContent":["import 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';\n\ninterface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\n// getCreatedAt\nexport default function ({\n createdAt,\n locale,\n stringSet,\n}: 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","import React from 'react';\nimport './index.scss';\nimport getCreatedAt from './getCreatedAt';\n\nimport Avatar from '../Avatar';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { UserMessage } from '@sendbird/chat/message';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n selected?: boolean;\n onClick?: (message: UserMessage) => void;\n}\n\nexport default function MessageSearchItem({\n className,\n message,\n selected,\n onClick,\n}: Props): JSX.Element {\n const { createdAt } = message;\n const messageText = message.message;\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-item',\n selected ? 'sendbird-message-search-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-item__left\">\n <Avatar\n className=\"sendbird-message-search-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-item__right\">\n <Label\n className=\"sendbird-message-search-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-text\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {messageText}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet })}\n </Label>\n </div>\n <div className=\"sendbird-message-search-item__right-footer\" />\n </div>\n );\n}\n"],"names":["_ref","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","MessageSearchItem","className","message","selected","onClick","messageText","sender","_sender","profileUrl","nickname","dateLocale","useLocalization","React","createElement","Array","isArray","join","e","stopPropagation","Avatar","src","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","NO_NAME","BODY_2","ONBACKGROUND_3","CAPTION_3","ONBACKGROUND_2","getCreatedAt"],"mappings":"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"}