@sendbird/uikit-react 3.0.0-alpha.1 → 3.0.0-beta.2

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 (614) hide show
  1. package/App.js +305 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +50 -0
  4. package/Channel/components/ChannelHeader.js +117 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +179 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +151 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +348 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +202 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +239 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +53 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +250 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +98 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +24 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +106 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +214 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +181 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +131 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +13 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +81 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-7c351968.js +861 -0
  45. package/ChannelListProvider-7c351968.js.map +1 -0
  46. package/ChannelProvider-d5126903.js +2114 -0
  47. package/ChannelProvider-d5126903.js.map +1 -0
  48. package/ChannelSettings/components/AdminPanel.js +905 -0
  49. package/ChannelSettings/components/AdminPanel.js.map +1 -0
  50. package/ChannelSettings/components/ChannelProfile.js +102 -0
  51. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  52. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  53. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  54. package/ChannelSettings/components/EditDetailsModal.js +154 -0
  55. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  56. package/ChannelSettings/components/LeaveChannel.js +53 -0
  57. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +105 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteMembers.js +184 -0
  69. package/CreateChannel/components/InviteMembers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +8 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-ddfd92e6.js +53 -0
  77. package/CreateChannelProvider-ddfd92e6.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-b021af8f.js +22 -0
  85. package/LocalizationContext-b021af8f.js.map +1 -0
  86. package/MemberList-323e7517.js +425 -0
  87. package/MemberList-323e7517.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +392 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +78 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +56 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +282 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +157 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +109 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +14 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +80 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-abc4ab98.js +2011 -0
  111. package/OpenChannelProvider-abc4ab98.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +104 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +184 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +172 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +111 -0
  127. package/SendbirdProvider.js +754 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-daa99f9b.js +38 -0
  130. package/UserProfileContext-daa99f9b.js.map +1 -0
  131. package/_rollupPluginBabelHelpers-8e4fae98.js +233 -0
  132. package/_rollupPluginBabelHelpers-8e4fae98.js.map +1 -0
  133. package/actionTypes-189daf51.js +6 -0
  134. package/actionTypes-189daf51.js.map +1 -0
  135. package/cjs/App.js +312 -0
  136. package/cjs/App.js.map +1 -0
  137. package/cjs/Channel/components/ChannelHeader.js +123 -0
  138. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  139. package/cjs/Channel/components/ChannelUI.js +185 -0
  140. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  141. package/cjs/Channel/components/FileViewer.js +160 -0
  142. package/cjs/Channel/components/FileViewer.js.map +1 -0
  143. package/cjs/Channel/components/FrozenNotification.js +26 -0
  144. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  145. package/cjs/Channel/components/Message.js +354 -0
  146. package/cjs/Channel/components/Message.js.map +1 -0
  147. package/cjs/Channel/components/MessageInput.js +208 -0
  148. package/cjs/Channel/components/MessageInput.js.map +1 -0
  149. package/cjs/Channel/components/MessageList.js +245 -0
  150. package/cjs/Channel/components/MessageList.js.map +1 -0
  151. package/cjs/Channel/components/RemoveMessageModal.js +59 -0
  152. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  153. package/cjs/Channel/components/SuggestedMentionList.js +256 -0
  154. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  155. package/cjs/Channel/components/TypingIndicator.js +104 -0
  156. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  157. package/cjs/Channel/components/UnreadCount.js +47 -0
  158. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  159. package/cjs/Channel/context.js +33 -0
  160. package/cjs/Channel/context.js.map +1 -0
  161. package/cjs/Channel.js +112 -0
  162. package/cjs/Channel.js.map +1 -0
  163. package/cjs/ChannelList/components/AddChannel.js +79 -0
  164. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  165. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  166. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListUI.js +220 -0
  168. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelPreview.js +187 -0
  170. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreviewAction.js +138 -0
  172. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  173. package/cjs/ChannelList/context.js +22 -0
  174. package/cjs/ChannelList/context.js.map +1 -0
  175. package/cjs/ChannelList.js +87 -0
  176. package/cjs/ChannelList.js.map +1 -0
  177. package/cjs/ChannelListProvider-44dde549.js +873 -0
  178. package/cjs/ChannelListProvider-44dde549.js.map +1 -0
  179. package/cjs/ChannelProvider-e0aaab26.js +2127 -0
  180. package/cjs/ChannelProvider-e0aaab26.js.map +1 -0
  181. package/cjs/ChannelSettings/components/AdminPanel.js +911 -0
  182. package/cjs/ChannelSettings/components/AdminPanel.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +160 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/UserListItem.js +111 -0
  192. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  194. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  195. package/cjs/ChannelSettings/context.js +102 -0
  196. package/cjs/ChannelSettings/context.js.map +1 -0
  197. package/cjs/ChannelSettings.js +77 -0
  198. package/cjs/ChannelSettings.js.map +1 -0
  199. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  200. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  201. package/cjs/CreateChannel/components/InviteMembers.js +190 -0
  202. package/cjs/CreateChannel/components/InviteMembers.js.map +1 -0
  203. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  204. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  205. package/cjs/CreateChannel/context.js +17 -0
  206. package/cjs/CreateChannel/context.js.map +1 -0
  207. package/cjs/CreateChannel.js +59 -0
  208. package/cjs/CreateChannel.js.map +1 -0
  209. package/cjs/CreateChannelProvider-bdf9c39b.js +60 -0
  210. package/cjs/CreateChannelProvider-bdf9c39b.js.map +1 -0
  211. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  212. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  213. package/cjs/EditUserProfile/context.js +36 -0
  214. package/cjs/EditUserProfile/context.js.map +1 -0
  215. package/cjs/EditUserProfile.js +45 -0
  216. package/cjs/EditUserProfile.js.map +1 -0
  217. package/cjs/LocalizationContext-3b5ce8ae.js +30 -0
  218. package/cjs/LocalizationContext-3b5ce8ae.js.map +1 -0
  219. package/cjs/MemberList-ef9e43c3.js +431 -0
  220. package/cjs/MemberList-ef9e43c3.js.map +1 -0
  221. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  222. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  223. package/cjs/MessageSearch/context.js +401 -0
  224. package/cjs/MessageSearch/context.js.map +1 -0
  225. package/cjs/MessageSearch.js +152 -0
  226. package/cjs/MessageSearch.js.map +1 -0
  227. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  228. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  229. package/cjs/OpenChannel/components/OpenChannelHeader.js +84 -0
  230. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelInput.js +62 -0
  232. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelMessage.js +288 -0
  234. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessageList.js +163 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelUI.js +115 -0
  238. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  239. package/cjs/OpenChannel/context.js +23 -0
  240. package/cjs/OpenChannel/context.js.map +1 -0
  241. package/cjs/OpenChannel.js +86 -0
  242. package/cjs/OpenChannel.js.map +1 -0
  243. package/cjs/OpenChannelProvider-9ce7c998.js +2020 -0
  244. package/cjs/OpenChannelProvider-9ce7c998.js.map +1 -0
  245. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +155 -0
  246. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  248. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +110 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OperatorUI.js +194 -0
  252. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/ParticipantUI.js +178 -0
  254. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/context.js +73 -0
  256. package/cjs/OpenChannelSettings/context.js.map +1 -0
  257. package/cjs/OpenChannelSettings.js +70 -0
  258. package/cjs/OpenChannelSettings.js.map +1 -0
  259. package/cjs/SendbirdProvider.js +763 -0
  260. package/cjs/SendbirdProvider.js.map +1 -0
  261. package/cjs/UserProfileContext-f0bdfbb8.js +46 -0
  262. package/cjs/UserProfileContext-f0bdfbb8.js.map +1 -0
  263. package/cjs/_rollupPluginBabelHelpers-e54d2387.js +243 -0
  264. package/cjs/_rollupPluginBabelHelpers-e54d2387.js.map +1 -0
  265. package/cjs/actionTypes-267d4c79.js +10 -0
  266. package/cjs/actionTypes-267d4c79.js.map +1 -0
  267. package/cjs/color-0f078673.js +42 -0
  268. package/cjs/color-0f078673.js.map +1 -0
  269. package/cjs/compareIds-176a582b.js +20 -0
  270. package/cjs/compareIds-176a582b.js.map +1 -0
  271. package/cjs/const-4bf0e8b4.js +22 -0
  272. package/cjs/const-4bf0e8b4.js.map +1 -0
  273. package/cjs/const-ccf192c5.js +14 -0
  274. package/cjs/const-ccf192c5.js.map +1 -0
  275. package/cjs/context-0cbe196d.js +19 -0
  276. package/cjs/context-0cbe196d.js.map +1 -0
  277. package/cjs/index-002a349d.js +722 -0
  278. package/cjs/index-002a349d.js.map +1 -0
  279. package/cjs/index-0159bc57.js +1880 -0
  280. package/cjs/index-0159bc57.js.map +1 -0
  281. package/cjs/index-081c9614.js +175 -0
  282. package/cjs/index-081c9614.js.map +1 -0
  283. package/cjs/index-21f31180.js +142 -0
  284. package/cjs/index-21f31180.js.map +1 -0
  285. package/cjs/index-22f07209.js +97 -0
  286. package/cjs/index-22f07209.js.map +1 -0
  287. package/cjs/index-46522cf0.js +284 -0
  288. package/cjs/index-46522cf0.js.map +1 -0
  289. package/cjs/index-723733db.js +54 -0
  290. package/cjs/index-723733db.js.map +1 -0
  291. package/cjs/index-c0693be4.js +67 -0
  292. package/cjs/index-c0693be4.js.map +1 -0
  293. package/cjs/index-d4f42e73.js +130 -0
  294. package/cjs/index-d4f42e73.js.map +1 -0
  295. package/cjs/index-d9439e95.js +514 -0
  296. package/cjs/index-d9439e95.js.map +1 -0
  297. package/cjs/index-ed053e45.js +9 -0
  298. package/cjs/index-ed053e45.js.map +1 -0
  299. package/cjs/index.css +4461 -0
  300. package/cjs/index.css.map +1 -0
  301. package/cjs/index.js +162 -0
  302. package/cjs/index.js.map +1 -0
  303. package/cjs/openChannelUtils-cecaf987.js +92 -0
  304. package/cjs/openChannelUtils-cecaf987.js.map +1 -0
  305. package/cjs/sendBirdSelectors.js +741 -0
  306. package/cjs/sendBirdSelectors.js.map +1 -0
  307. package/cjs/stringSet-f4da182b.js +118 -0
  308. package/cjs/stringSet-f4da182b.js.map +1 -0
  309. package/cjs/topics-c2c30f09.js +18 -0
  310. package/cjs/topics-c2c30f09.js.map +1 -0
  311. package/cjs/tslib.es6-d7d0a427.js +40 -0
  312. package/cjs/tslib.es6-d7d0a427.js.map +1 -0
  313. package/cjs/ui/Accordion.js +74 -0
  314. package/cjs/ui/Accordion.js.map +1 -0
  315. package/cjs/ui/AccordionGroup.js +32 -0
  316. package/cjs/ui/AccordionGroup.js.map +1 -0
  317. package/cjs/ui/AdminMessage.js +44 -0
  318. package/cjs/ui/AdminMessage.js.map +1 -0
  319. package/cjs/ui/Avatar.js +226 -0
  320. package/cjs/ui/Avatar.js.map +1 -0
  321. package/cjs/ui/Badge.js +45 -0
  322. package/cjs/ui/Badge.js.map +1 -0
  323. package/cjs/ui/Button.js +17 -0
  324. package/cjs/ui/Button.js.map +1 -0
  325. package/cjs/ui/ChannelAvatar.js +59 -0
  326. package/cjs/ui/ChannelAvatar.js.map +1 -0
  327. package/cjs/ui/ChannelPreview.js +201 -0
  328. package/cjs/ui/ChannelPreview.js.map +1 -0
  329. package/cjs/ui/ChatHeader.js +145 -0
  330. package/cjs/ui/ChatHeader.js.map +1 -0
  331. package/cjs/ui/Checkbox.js +49 -0
  332. package/cjs/ui/Checkbox.js.map +1 -0
  333. package/cjs/ui/ConnectionStatus.js +34 -0
  334. package/cjs/ui/ConnectionStatus.js.map +1 -0
  335. package/cjs/ui/ContextMenu.js +431 -0
  336. package/cjs/ui/ContextMenu.js.map +1 -0
  337. package/cjs/ui/DateSeparator.js +44 -0
  338. package/cjs/ui/DateSeparator.js.map +1 -0
  339. package/cjs/ui/Dropdown.js +107 -0
  340. package/cjs/ui/Dropdown.js.map +1 -0
  341. package/cjs/ui/EmojiReactions.js +127 -0
  342. package/cjs/ui/EmojiReactions.js.map +1 -0
  343. package/cjs/ui/FileMessageItemBody.js +57 -0
  344. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  345. package/cjs/ui/FileViewer.js +174 -0
  346. package/cjs/ui/FileViewer.js.map +1 -0
  347. package/cjs/ui/Icon.js +1462 -0
  348. package/cjs/ui/Icon.js.map +1 -0
  349. package/cjs/ui/IconButton.js +83 -0
  350. package/cjs/ui/IconButton.js.map +1 -0
  351. package/cjs/ui/ImageRenderer.js +138 -0
  352. package/cjs/ui/ImageRenderer.js.map +1 -0
  353. package/cjs/ui/Input.js +74 -0
  354. package/cjs/ui/Input.js.map +1 -0
  355. package/cjs/ui/Label.js +17 -0
  356. package/cjs/ui/Label.js.map +1 -0
  357. package/cjs/ui/LinkLabel.js +51 -0
  358. package/cjs/ui/LinkLabel.js.map +1 -0
  359. package/cjs/ui/Loader.js +44 -0
  360. package/cjs/ui/Loader.js.map +1 -0
  361. package/cjs/ui/MentionUserLabel.js +25 -0
  362. package/cjs/ui/MentionUserLabel.js.map +1 -0
  363. package/cjs/ui/MessageContent.js +291 -0
  364. package/cjs/ui/MessageContent.js.map +1 -0
  365. package/cjs/ui/MessageInput.js +5048 -0
  366. package/cjs/ui/MessageInput.js.map +1 -0
  367. package/cjs/ui/MessageItemMenu.js +141 -0
  368. package/cjs/ui/MessageItemMenu.js.map +1 -0
  369. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  370. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  371. package/cjs/ui/MessageSearchFileItem.js +130 -0
  372. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  373. package/cjs/ui/MessageSearchItem.js +93 -0
  374. package/cjs/ui/MessageSearchItem.js.map +1 -0
  375. package/cjs/ui/MessageStatus.js +66 -0
  376. package/cjs/ui/MessageStatus.js.map +1 -0
  377. package/cjs/ui/Modal.js +140 -0
  378. package/cjs/ui/Modal.js.map +1 -0
  379. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  380. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  381. package/cjs/ui/OGMessageItemBody.js +107 -0
  382. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  383. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  384. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  385. package/cjs/ui/OpenChannelAvatar.js +41 -0
  386. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  387. package/cjs/ui/OpenChannelMessageContent.js +14 -0
  388. package/cjs/ui/OpenChannelMessageContent.js.map +1 -0
  389. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  390. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  391. package/cjs/ui/OpenchannelFileMessage.js +230 -0
  392. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  393. package/cjs/ui/OpenchannelOGMessage.js +345 -0
  394. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  395. package/cjs/ui/OpenchannelThumbnailMessage.js +305 -0
  396. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  397. package/cjs/ui/OpenchannelUserMessage.js +264 -0
  398. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  399. package/cjs/ui/PlaceHolder.js +20 -0
  400. package/cjs/ui/PlaceHolder.js.map +1 -0
  401. package/cjs/ui/QuoteMessage.js +131 -0
  402. package/cjs/ui/QuoteMessage.js.map +1 -0
  403. package/cjs/ui/QuoteMessageInput.js +99 -0
  404. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  405. package/cjs/ui/ReactionBadge.js +68 -0
  406. package/cjs/ui/ReactionBadge.js.map +1 -0
  407. package/cjs/ui/ReactionButton.js +55 -0
  408. package/cjs/ui/ReactionButton.js.map +1 -0
  409. package/cjs/ui/SortByRow.js +57 -0
  410. package/cjs/ui/SortByRow.js.map +1 -0
  411. package/cjs/ui/TextButton.js +45 -0
  412. package/cjs/ui/TextButton.js.map +1 -0
  413. package/cjs/ui/TextMessageItemBody.js +62 -0
  414. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  415. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  416. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  417. package/cjs/ui/Tooltip.js +35 -0
  418. package/cjs/ui/Tooltip.js.map +1 -0
  419. package/cjs/ui/TooltipWrapper.js +65 -0
  420. package/cjs/ui/TooltipWrapper.js.map +1 -0
  421. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  422. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  423. package/cjs/ui/UserListItem.js +158 -0
  424. package/cjs/ui/UserListItem.js.map +1 -0
  425. package/cjs/ui/UserProfile.js +87 -0
  426. package/cjs/ui/UserProfile.js.map +1 -0
  427. package/cjs/useSendbirdStateContext.js +22 -0
  428. package/cjs/useSendbirdStateContext.js.map +1 -0
  429. package/cjs/utils-3e73a146.js +32 -0
  430. package/cjs/utils-3e73a146.js.map +1 -0
  431. package/cjs/utils-b95288a8.js +38 -0
  432. package/cjs/utils-b95288a8.js.map +1 -0
  433. package/cjs/utils-c55d20dc.js +6 -0
  434. package/cjs/utils-c55d20dc.js.map +1 -0
  435. package/cjs/uuid-ba6cc3c5.js +19 -0
  436. package/cjs/uuid-ba6cc3c5.js.map +1 -0
  437. package/cjs/withSendBird.js +35 -0
  438. package/cjs/withSendBird.js.map +1 -0
  439. package/color-2863fbbe.js +39 -0
  440. package/color-2863fbbe.js.map +1 -0
  441. package/compareIds-48d87cc5.js +18 -0
  442. package/compareIds-48d87cc5.js.map +1 -0
  443. package/const-09c22c50.js +18 -0
  444. package/const-09c22c50.js.map +1 -0
  445. package/const-3f63e129.js +8 -0
  446. package/const-3f63e129.js.map +1 -0
  447. package/context-7877e5bb.js +12 -0
  448. package/context-7877e5bb.js.map +1 -0
  449. package/dist/index.css +165 -59
  450. package/dist/index.css.map +1 -1
  451. package/index-1fd114b0.js +7 -0
  452. package/index-1fd114b0.js.map +1 -0
  453. package/index-303a3b6e.js +121 -0
  454. package/index-303a3b6e.js.map +1 -0
  455. package/index-353f13f3.js +512 -0
  456. package/index-353f13f3.js.map +1 -0
  457. package/index-358226c7.js +168 -0
  458. package/index-358226c7.js.map +1 -0
  459. package/index-41a6f4f2.js +87 -0
  460. package/index-41a6f4f2.js.map +1 -0
  461. package/index-4889e530.js +48 -0
  462. package/index-4889e530.js.map +1 -0
  463. package/index-4a59a866.js +1873 -0
  464. package/index-4a59a866.js.map +1 -0
  465. package/index-86b0a341.js +280 -0
  466. package/index-86b0a341.js.map +1 -0
  467. package/index-a611bd38.js +131 -0
  468. package/index-a611bd38.js.map +1 -0
  469. package/index-ad4c9e58.js +682 -0
  470. package/index-ad4c9e58.js.map +1 -0
  471. package/index-f119413c.js +64 -0
  472. package/index-f119413c.js.map +1 -0
  473. package/index.css +4461 -0
  474. package/index.css.map +1 -0
  475. package/index.d.ts +1829 -0
  476. package/index.js +38 -31
  477. package/index.js.map +1 -0
  478. package/openChannelUtils-024b797a.js +81 -0
  479. package/openChannelUtils-024b797a.js.map +1 -0
  480. package/package.json +5 -9
  481. package/sendBirdSelectors.js +713 -0
  482. package/sendBirdSelectors.js.map +1 -0
  483. package/stringSet-91746bf1.js +116 -0
  484. package/stringSet-91746bf1.js.map +1 -0
  485. package/topics-17d99dd6.js +10 -0
  486. package/topics-17d99dd6.js.map +1 -0
  487. package/tslib.es6-83aa13f5.js +38 -0
  488. package/tslib.es6-83aa13f5.js.map +1 -0
  489. package/ui/Accordion.js +65 -0
  490. package/ui/Accordion.js.map +1 -0
  491. package/ui/AccordionGroup.js +26 -0
  492. package/ui/AccordionGroup.js.map +1 -0
  493. package/ui/AdminMessage.js +37 -0
  494. package/ui/AdminMessage.js.map +1 -0
  495. package/ui/Avatar.js +217 -0
  496. package/ui/Avatar.js.map +1 -0
  497. package/ui/Badge.js +38 -0
  498. package/ui/Badge.js.map +1 -0
  499. package/ui/Button.js +7 -0
  500. package/ui/Button.js.map +1 -0
  501. package/ui/ChannelAvatar.js +53 -0
  502. package/ui/ChannelAvatar.js.map +1 -0
  503. package/ui/ChannelPreview.js +194 -0
  504. package/ui/ChannelPreview.js.map +1 -0
  505. package/ui/ChatHeader.js +138 -0
  506. package/ui/ChatHeader.js.map +1 -0
  507. package/ui/Checkbox.js +42 -0
  508. package/ui/Checkbox.js.map +1 -0
  509. package/ui/ConnectionStatus.js +28 -0
  510. package/ui/ConnectionStatus.js.map +1 -0
  511. package/ui/ContextMenu.js +417 -0
  512. package/ui/ContextMenu.js.map +1 -0
  513. package/ui/DateSeparator.js +37 -0
  514. package/ui/DateSeparator.js.map +1 -0
  515. package/ui/Dropdown.js +97 -0
  516. package/ui/Dropdown.js.map +1 -0
  517. package/ui/EmojiReactions.js +121 -0
  518. package/ui/EmojiReactions.js.map +1 -0
  519. package/ui/FileMessageItemBody.js +51 -0
  520. package/ui/FileMessageItemBody.js.map +1 -0
  521. package/ui/FileViewer.js +164 -0
  522. package/ui/FileViewer.js.map +1 -0
  523. package/ui/Icon.js +1432 -0
  524. package/ui/Icon.js.map +1 -0
  525. package/ui/IconButton.js +76 -0
  526. package/ui/IconButton.js.map +1 -0
  527. package/ui/ImageRenderer.js +131 -0
  528. package/ui/ImageRenderer.js.map +1 -0
  529. package/ui/Input.js +64 -0
  530. package/ui/Input.js.map +1 -0
  531. package/ui/Label.js +6 -0
  532. package/ui/Label.js.map +1 -0
  533. package/ui/LinkLabel.js +40 -0
  534. package/ui/LinkLabel.js.map +1 -0
  535. package/ui/Loader.js +37 -0
  536. package/ui/Loader.js.map +1 -0
  537. package/ui/MentionUserLabel.js +19 -0
  538. package/ui/MentionUserLabel.js.map +1 -0
  539. package/ui/MessageContent.js +285 -0
  540. package/ui/MessageContent.js.map +1 -0
  541. package/ui/MessageInput.js +5040 -0
  542. package/ui/MessageInput.js.map +1 -0
  543. package/ui/MessageItemMenu.js +135 -0
  544. package/ui/MessageItemMenu.js.map +1 -0
  545. package/ui/MessageItemReactionMenu.js +106 -0
  546. package/ui/MessageItemReactionMenu.js.map +1 -0
  547. package/ui/MessageSearchFileItem.js +124 -0
  548. package/ui/MessageSearchFileItem.js.map +1 -0
  549. package/ui/MessageSearchItem.js +87 -0
  550. package/ui/MessageSearchItem.js.map +1 -0
  551. package/ui/MessageStatus.js +57 -0
  552. package/ui/MessageStatus.js.map +1 -0
  553. package/ui/Modal.js +128 -0
  554. package/ui/Modal.js.map +1 -0
  555. package/ui/MutedAvatarOverlay.js +34 -0
  556. package/ui/MutedAvatarOverlay.js.map +1 -0
  557. package/ui/OGMessageItemBody.js +101 -0
  558. package/ui/OGMessageItemBody.js.map +1 -0
  559. package/ui/OpenChannelAdminMessage.js +21 -0
  560. package/ui/OpenChannelAdminMessage.js.map +1 -0
  561. package/ui/OpenChannelAvatar.js +35 -0
  562. package/ui/OpenChannelAvatar.js.map +1 -0
  563. package/ui/OpenChannelMessageContent.js +8 -0
  564. package/ui/OpenChannelMessageContent.js.map +1 -0
  565. package/ui/OpenchannelConversationHeader.js +67 -0
  566. package/ui/OpenchannelConversationHeader.js.map +1 -0
  567. package/ui/OpenchannelFileMessage.js +224 -0
  568. package/ui/OpenchannelFileMessage.js.map +1 -0
  569. package/ui/OpenchannelOGMessage.js +339 -0
  570. package/ui/OpenchannelOGMessage.js.map +1 -0
  571. package/ui/OpenchannelThumbnailMessage.js +299 -0
  572. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  573. package/ui/OpenchannelUserMessage.js +258 -0
  574. package/ui/OpenchannelUserMessage.js.map +1 -0
  575. package/ui/PlaceHolder.js +11 -0
  576. package/ui/PlaceHolder.js.map +1 -0
  577. package/ui/QuoteMessage.js +125 -0
  578. package/ui/QuoteMessage.js.map +1 -0
  579. package/ui/QuoteMessageInput.js +93 -0
  580. package/ui/QuoteMessageInput.js.map +1 -0
  581. package/ui/ReactionBadge.js +61 -0
  582. package/ui/ReactionBadge.js.map +1 -0
  583. package/ui/ReactionButton.js +48 -0
  584. package/ui/ReactionButton.js.map +1 -0
  585. package/ui/SortByRow.js +50 -0
  586. package/ui/SortByRow.js.map +1 -0
  587. package/ui/TextButton.js +38 -0
  588. package/ui/TextButton.js.map +1 -0
  589. package/ui/TextMessageItemBody.js +56 -0
  590. package/ui/TextMessageItemBody.js.map +1 -0
  591. package/ui/ThumbnailMessageItemBody.js +76 -0
  592. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  593. package/ui/Tooltip.js +28 -0
  594. package/ui/Tooltip.js.map +1 -0
  595. package/ui/TooltipWrapper.js +58 -0
  596. package/ui/TooltipWrapper.js.map +1 -0
  597. package/ui/UnknownMessageItemBody.js +35 -0
  598. package/ui/UnknownMessageItemBody.js.map +1 -0
  599. package/ui/UserListItem.js +151 -0
  600. package/ui/UserListItem.js.map +1 -0
  601. package/ui/UserProfile.js +81 -0
  602. package/ui/UserProfile.js.map +1 -0
  603. package/useSendbirdStateContext.js +20 -0
  604. package/useSendbirdStateContext.js.map +1 -0
  605. package/utils-5395ff17.js +30 -0
  606. package/utils-5395ff17.js.map +1 -0
  607. package/utils-7d39b941.js +34 -0
  608. package/utils-7d39b941.js.map +1 -0
  609. package/utils-9ef11656.js +4 -0
  610. package/utils-9ef11656.js.map +1 -0
  611. package/uuid-6d14d007.js +17 -0
  612. package/uuid-6d14d007.js.map +1 -0
  613. package/withSendBird.js +26 -0
  614. package/withSendBird.js.map +1 -0
@@ -0,0 +1,141 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_ContextMenu = require('./ContextMenu.js');
5
+ var ui_Icon = require('./Icon.js');
6
+ var ui_IconButton = require('./IconButton.js');
7
+ var index = require('../index-002a349d.js');
8
+ var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
9
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
10
+ require('prop-types');
11
+ require('../index-21f31180.js');
12
+ require('../stringSet-f4da182b.js');
13
+ require('react-dom');
14
+ require('./SortByRow.js');
15
+ require('../tslib.es6-d7d0a427.js');
16
+ require('../index-d9439e95.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ function MessageItemMenu(_a) {
23
+ var _b, _c;
24
+
25
+ var className = _a.className,
26
+ message = _a.message,
27
+ channel = _a.channel,
28
+ _d = _a.isByMe,
29
+ isByMe = _d === void 0 ? false : _d,
30
+ _e = _a.disabled,
31
+ disabled = _e === void 0 ? false : _e,
32
+ replyType = _a.replyType,
33
+ showEdit = _a.showEdit,
34
+ showRemove = _a.showRemove,
35
+ resendMessage = _a.resendMessage,
36
+ setQuoteMessage = _a.setQuoteMessage,
37
+ setSupposedHover = _a.setSupposedHover;
38
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
39
+ var triggerRef = React.useRef(null);
40
+ var containerRef = React.useRef(null);
41
+ var showMenuItemCopy = index.isUserMessage(message);
42
+ var showMenuItemEdit = index.isUserMessage(message) && index.isSentMessage(message) && isByMe;
43
+ var showMenuItemResend = index.isFailedMessage(message) && ((_b = message === null || message === void 0 ? void 0 : message.isResendable) === null || _b === void 0 ? void 0 : _b.call(message)) && isByMe;
44
+ var showMenuItemDelete = !index.isPendingMessage(message) && isByMe;
45
+ /**
46
+ * TODO: Manage timing issue
47
+ * User delete pending message -> Sending message success
48
+ */
49
+
50
+ var showMenuItemReply = replyType === 'QUOTE_REPLY' && !index.isFailedMessage(message) && !index.isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !((_c = channel) === null || _c === void 0 ? void 0 : _c.isBroadcast);
51
+
52
+ if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {
53
+ return null;
54
+ }
55
+
56
+ return /*#__PURE__*/React__default["default"].createElement("div", {
57
+ className: index.getClassName([className, 'sendbird-message-item-menu']),
58
+ ref: containerRef
59
+ }, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
60
+ menuTrigger: function menuTrigger(toggleDropdown) {
61
+ return /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
62
+ className: "sendbird-message-item-menu__trigger",
63
+ ref: triggerRef,
64
+ width: "32px",
65
+ height: "32px",
66
+ onClick: function onClick() {
67
+ toggleDropdown();
68
+ setSupposedHover(true);
69
+ },
70
+ onBlur: function onBlur() {
71
+ setSupposedHover(false);
72
+ }
73
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
74
+ className: "sendbird-message-item-menu__trigger__icon",
75
+ type: ui_Icon.IconTypes.MORE,
76
+ fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
77
+ width: "24px",
78
+ height: "24px"
79
+ }));
80
+ },
81
+ menuItems: function menuItems(close) {
82
+ var _a;
83
+
84
+ var closeDropdown = function closeDropdown() {
85
+ close();
86
+ setSupposedHover(false);
87
+ };
88
+
89
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
90
+ className: "sendbird-message-item-menu__list",
91
+ parentRef: triggerRef,
92
+ parentContainRef: containerRef,
93
+ closeDropdown: closeDropdown,
94
+ openLeft: isByMe
95
+ }, showMenuItemCopy && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
96
+ className: "sendbird-message-item-menu__list__menu-item menu-item-copy",
97
+ onClick: function onClick() {
98
+ var _a;
99
+
100
+ index.copyToClipboard((_a = message) === null || _a === void 0 ? void 0 : _a.message);
101
+ closeDropdown();
102
+ }
103
+ }, stringSet.MESSAGE_MENU__COPY), showMenuItemReply && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
104
+ className: "sendbird-message-item-menu__list__menu-item menu-item-reply",
105
+ onClick: function onClick() {
106
+ setQuoteMessage(message);
107
+ closeDropdown();
108
+ },
109
+ disable: (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0
110
+ }, stringSet.MESSAGE_MENU__REPLY), showMenuItemEdit && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
111
+ className: "sendbird-message-item-menu__list__menu-item menu-item-edit",
112
+ onClick: function onClick() {
113
+ if (!disabled) {
114
+ showEdit(true);
115
+ closeDropdown();
116
+ }
117
+ }
118
+ }, stringSet.MESSAGE_MENU__EDIT), showMenuItemResend && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
119
+ className: "sendbird-message-item-menu__list__menu-item menu-item-resend",
120
+ onClick: function onClick() {
121
+ if (!disabled) {
122
+ resendMessage(message);
123
+ closeDropdown();
124
+ }
125
+ }
126
+ }, stringSet.MESSAGE_MENU__RESEND), showMenuItemDelete && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
127
+ className: "sendbird-message-item-menu__list__menu-item menu-item-delete",
128
+ onClick: function onClick() {
129
+ if (!disabled) {
130
+ showRemove(true);
131
+ closeDropdown();
132
+ }
133
+ },
134
+ disable: ((_a = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _a === void 0 ? void 0 : _a.replyCount) > 0
135
+ }, stringSet.MESSAGE_MENU__DELETE));
136
+ }
137
+ }));
138
+ }
139
+
140
+ module.exports = MessageItemMenu;
141
+ //# sourceMappingURL=MessageItemMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageItemMenu.js","sources":["../../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import React, { ReactElement, useContext, useRef } from 'react';\nimport { FileMessage, GroupChannel, OpenChannel, UserMessage } from 'sendbird';\nimport './index.scss';\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';\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 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}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\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 = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable?.() && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {\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 {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={message?.threadInfo?.replyCount > 0}\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","_d","isByMe","_e","disabled","replyType","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemReply","isGroupChannel","isBroadcast","React","getClassName","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","MenuItems","MenuItem","copyToClipboard","MESSAGE_MENU__COPY","parentMessageId","MESSAGE_MENU__REPLY","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_ContextMenu = require('./ContextMenu.js');
5
+ var ui_Icon = require('./Icon.js');
6
+ var ui_IconButton = require('./IconButton.js');
7
+ var ui_ImageRenderer = require('./ImageRenderer.js');
8
+ var ui_ReactionButton = require('./ReactionButton.js');
9
+ var index = require('../index-002a349d.js');
10
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
11
+ require('prop-types');
12
+ require('../index-21f31180.js');
13
+ require('../stringSet-f4da182b.js');
14
+ require('react-dom');
15
+ require('./SortByRow.js');
16
+ require('../tslib.es6-d7d0a427.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ function MessageItemReactionMenu(_a) {
23
+ var className = _a.className,
24
+ message = _a.message,
25
+ userId = _a.userId,
26
+ _b = _a.spaceFromTrigger,
27
+ spaceFromTrigger = _b === void 0 ? {} : _b,
28
+ emojiContainer = _a.emojiContainer,
29
+ toggleReaction = _a.toggleReaction,
30
+ setSupposedHover = _a.setSupposedHover;
31
+ var triggerRef = React.useRef(null);
32
+ var containerRef = React.useRef(null);
33
+
34
+ if (index.isPendingMessage(message) || index.isFailedMessage(message)) {
35
+ return null;
36
+ }
37
+
38
+ return /*#__PURE__*/React__default["default"].createElement("div", {
39
+ className: index.getClassName([className, 'sendbird-message-item-reaction-menu']),
40
+ ref: containerRef
41
+ }, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
42
+ menuTrigger: function menuTrigger(toggleDropdown) {
43
+ return /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
44
+ className: "sendbird-message-item-reaction-menu__trigger",
45
+ ref: triggerRef,
46
+ width: "32px",
47
+ height: "32px",
48
+ onClick: function onClick() {
49
+ toggleDropdown();
50
+ setSupposedHover(true);
51
+ },
52
+ onBlur: function onBlur() {
53
+ setSupposedHover(false);
54
+ }
55
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
56
+ className: "sendbird-message-item-reaction-menu__trigger__icon",
57
+ type: ui_Icon.IconTypes.EMOJI_MORE,
58
+ fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
59
+ width: "24px",
60
+ height: "24px"
61
+ }));
62
+ },
63
+ menuItems: function menuItems(close) {
64
+ var closeDropdown = function closeDropdown() {
65
+ close();
66
+ setSupposedHover(false);
67
+ };
68
+
69
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.EmojiListItems, {
70
+ parentRef: triggerRef,
71
+ parentContainRef: containerRef,
72
+ closeDropdown: closeDropdown,
73
+ spaceFromTrigger: spaceFromTrigger
74
+ }, index.getEmojiListAll(emojiContainer).map(function (emoji) {
75
+ var _a, _b, _c;
76
+
77
+ var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
78
+ return reaction.key === emoji.key;
79
+ })[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
80
+ return reactorId === userId;
81
+ });
82
+ return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
83
+ key: emoji.key,
84
+ width: "36px",
85
+ height: "36px",
86
+ selected: isReacted,
87
+ onClick: function onClick() {
88
+ closeDropdown();
89
+ toggleReaction(message, emoji.key, isReacted);
90
+ }
91
+ }, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
92
+ url: emoji.url,
93
+ width: "28px",
94
+ height: "28px",
95
+ placeHolder: function placeHolder(style) {
96
+ return /*#__PURE__*/React__default["default"].createElement("div", {
97
+ style: style
98
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
99
+ type: ui_Icon.IconTypes.QUESTION,
100
+ fillColor: ui_Icon.IconColors.ON_BACKGROUND_3,
101
+ width: "28px",
102
+ height: "28px"
103
+ }));
104
+ }
105
+ }));
106
+ }));
107
+ }
108
+ }));
109
+ }
110
+
111
+ module.exports = MessageItemReactionMenu;
112
+ //# sourceMappingURL=MessageItemReactionMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageItemReactionMenu.js","sources":["../../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import React, { ReactElement, useRef } from 'react';\nimport { FileMessage, UserMessage, Emoji, Reaction, EmojiContainer } from 'sendbird';\nimport './index.scss';\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","getClassName","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","EMOJI_MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","EmojiListItems","getEmojiListAll","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","ImageRenderer","url","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../tslib.es6-d7d0a427.js');
4
+ var React = require('react');
5
+ var ui_Avatar = require('./Avatar.js');
6
+ var ui_Icon = require('./Icon.js');
7
+ var ui_Label = require('../index-21f31180.js');
8
+ var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
9
+ var index$1 = require('../index-0159bc57.js');
10
+ var index = require('../index-46522cf0.js');
11
+ require('./ImageRenderer.js');
12
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
13
+ require('prop-types');
14
+ require('../uuid-ba6cc3c5.js');
15
+ require('../stringSet-f4da182b.js');
16
+ require('../index-d9439e95.js');
17
+ require('../index-c0693be4.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+
23
+ function getCreatedAt(createdAt, locale) {
24
+ var optionalParam = locale ? {
25
+ locale: locale
26
+ } : null;
27
+
28
+ if (!createdAt) {
29
+ return '';
30
+ }
31
+
32
+ if (index.isToday(createdAt)) {
33
+ return index$1.format(createdAt, 'p', optionalParam);
34
+ }
35
+
36
+ if (index.isYesterday(createdAt)) {
37
+ return index.formatRelative(createdAt, new Date(), optionalParam);
38
+ }
39
+
40
+ return index$1.format(createdAt, 'MMM dd', optionalParam);
41
+ }
42
+ function getIconOfFileType(message) {
43
+ var url = message.url;
44
+ var fileMessageUrl = url;
45
+ var fileExtension = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)[1];
46
+
47
+ if (/(jpg|jpeg|png)$/i.test(fileExtension)) {
48
+ return ui_Icon.IconTypes.PHOTO;
49
+ } else if (/mp4$/i.test(fileExtension)) {
50
+ return ui_Icon.IconTypes.PLAY;
51
+ } else if (/mp3/i.test(fileExtension)) {
52
+ return ui_Icon.IconTypes.FILE_AUDIO;
53
+ } else if (/gif/i.test(fileExtension)) {
54
+ return ui_Icon.IconTypes.GIF;
55
+ } else {
56
+ return ui_Icon.IconTypes.FILE_DOCUMENT;
57
+ }
58
+ }
59
+ function truncate(fullText, textLimit) {
60
+ if (fullText.length <= textLimit) return fullText;
61
+ var separator = '...';
62
+ var sepLen = separator.length;
63
+ var charsToShow = textLimit - sepLen;
64
+ var frontChars = Math.ceil(charsToShow / 2);
65
+ var backChars = Math.floor(charsToShow / 2);
66
+ return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);
67
+ }
68
+
69
+ function MessageSearchFileItem(props) {
70
+ var className = props.className,
71
+ message = props.message,
72
+ selected = props.selected,
73
+ _onClick = props.onClick;
74
+ var createdAt = message.createdAt,
75
+ url = message.url,
76
+ name = message.name;
77
+ var fileMessageUrl = url;
78
+ var sender = message.sender || message._sender;
79
+ var profileUrl = sender.profileUrl,
80
+ nickname = sender.nickname;
81
+
82
+ var _a = LocalizationContext.useLocalization(),
83
+ stringSet = _a.stringSet,
84
+ dateLocale = _a.dateLocale;
85
+
86
+ return /*#__PURE__*/React__default["default"].createElement("div", {
87
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''], false).join(' '),
88
+ onClick: function onClick(e) {
89
+ e.stopPropagation();
90
+
91
+ _onClick(message);
92
+ }
93
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
94
+ className: "sendbird-message-search-file-item__left"
95
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
96
+ className: "sendbird-message-search-file-item__left__sender-avatar",
97
+ src: profileUrl,
98
+ alt: "profile image",
99
+ width: "56px",
100
+ height: "56px"
101
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
102
+ className: "sendbird-message-search-file-item__right"
103
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
104
+ className: "sendbird-message-search-file-item__right__sender-name",
105
+ type: ui_Label.LabelTypography.SUBTITLE_2,
106
+ color: ui_Label.LabelColors.ONBACKGROUND_1
107
+ }, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default["default"].createElement("div", {
108
+ className: "sendbird-message-search-file-item__right__content"
109
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
110
+ className: "sendbird-message-search-file-item__right__content__type-icon"
111
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
112
+ type: getIconOfFileType(message),
113
+ fillColor: ui_Icon.IconColors.PRIMARY,
114
+ width: "18px",
115
+ height: "18px"
116
+ })), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
117
+ className: "sendbird-message-search-file-item__right__content__url",
118
+ type: ui_Label.LabelTypography.BODY_2,
119
+ color: ui_Label.LabelColors.ONBACKGROUND_1
120
+ }, truncate(name || fileMessageUrl, 28)))), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
121
+ className: "sendbird-message-search-file-item__message-created-at",
122
+ type: ui_Label.LabelTypography.CAPTION_3,
123
+ color: ui_Label.LabelColors.ONBACKGROUND_2
124
+ }, getCreatedAt(createdAt, dateLocale)), /*#__PURE__*/React__default["default"].createElement("div", {
125
+ className: "sendbird-message-search-file-item__right-footer"
126
+ }));
127
+ }
128
+
129
+ module.exports = MessageSearchFileItem;
130
+ //# sourceMappingURL=MessageSearchFileItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageSearchFileItem.js","sources":["../../../src/ui/MessageSearchFileItem/utils.ts","../../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isToday from 'date-fns/isToday';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\n\nexport function getCreatedAt(createdAt: number, locale: Locale): 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 formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n}\n\nexport function getIconOfFileType(message: SendbirdUIKit.ClientFileMessage): 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)) {\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 React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType, truncate } from './utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendbirdUIKit.ClientFileMessage;\n selected?: boolean;\n onClick?: (message: SendbirdUIKit.ClientFileMessage) => 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 const fileMessageUrl = url;\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-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 <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 <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {truncate(name || fileMessageUrl, 28)}\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, dateLocale)}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","createdAt","locale","optionalParam","isToday","format","isYesterday","formatRelative","Date","getIconOfFileType","message","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","truncate","fullText","textLimit","length","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","MessageSearchFileItem","props","className","selected","onClick","name","sender","_sender","profileUrl","nickname","_a","useLocalization","stringSet","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","Icon","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;SAOgBA,aAAaC,WAAmBC;AAC9C,MAAMC,aAAa,GAAGD,MAAM,GAAG;AAAEA,IAAAA,MAAM;AAAR,GAAH,GAAgB,IAA5C;;AACA,MAAI,CAACD,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAIG,aAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,cAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,iBAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,oBAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,cAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD;SAEeM,kBAAkBC;AACxB,MAAAC,GAAG,GAAKD,OAAO,IAAf;AACR,MAAME,cAAc,GAAGD,GAAvB;AACA,MAAME,aAAa,GAAID,cAAc,CAACE,KAAf,CAAqB,sBAArB,CAAD,CAA+C,CAA/C,CAAtB;;AAEA,MAAI,mBAAmBC,IAAnB,CAAwBF,aAAxB,CAAJ,EAA4C;AAC1C,WAAOG,iBAAS,CAACC,KAAjB;AACD,GAFD,MAEO,IAAI,QAAQF,IAAR,CAAaF,aAAb,CAAJ,EAAiC;AACtC,WAAOG,iBAAS,CAACE,IAAjB;AACD,GAFM,MAEA,IAAI,OAAOH,IAAP,CAAYF,aAAZ,CAAJ,EAAgC;AACrC,WAAOG,iBAAS,CAACG,UAAjB;AACD,GAFM,MAEA,IAAI,OAAOJ,IAAP,CAAYF,aAAZ,CAAJ,EAAgC;AACrC,WAAOG,iBAAS,CAACI,GAAjB;AACD,GAFM,MAEA;AACL,WAAOJ,iBAAS,CAACK,aAAjB;AACD;AACF;SAEeC,SAASC,UAAkBC;AACzC,MAAID,QAAQ,CAACE,MAAT,IAAmBD,SAAvB,EAAkC,OAAOD,QAAP;AAClC,MAAMG,SAAS,GAAG,KAAlB;AACA,MAAMC,MAAM,GAAGD,SAAS,CAACD,MAAzB;AACA,MAAMG,WAAW,GAAGJ,SAAS,GAAGG,MAAhC;AACA,MAAME,UAAU,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAG,CAAxB,CAAnB;AACA,MAAMI,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAWL,WAAW,GAAG,CAAzB,CAAlB;AACA,SAAOL,QAAQ,CAACW,MAAT,CAAgB,CAAhB,EAAmBL,UAAnB,IAAiCH,SAAjC,GAA6CH,QAAQ,CAACW,MAAT,CAAgBX,QAAQ,CAACE,MAAT,GAAkBO,SAAlC,CAApD;AACD;;SC/BuBG,sBAAsBC;AAE1C,MAAAC,SAAS,GAIPD,KAAK,UAJP;AAAA,MACA1B,OAAO,GAGL0B,KAAK,QAJP;AAAA,MAEAE,QAAQ,GAENF,KAAK,SAJP;AAAA,MAGAG,QAAO,GACLH,KAAK,QAJP;AAKM,MAAAnC,SAAS,GAAgBS,OAAO,UAAhC;AAAA,MAAWC,GAAG,GAAWD,OAAO,IAAhC;AAAA,MAAgB8B,IAAI,GAAK9B,OAAO,KAAhC;AACR,MAAME,cAAc,GAAGD,GAAvB;AACA,MAAM8B,MAAM,GAAG/B,OAAO,CAAC+B,MAAR,IAAkB/B,OAAO,CAACgC,OAAzC;AACQ,MAAAC,UAAU,GAAeF,MAAM,WAA/B;AAAA,MAAYG,QAAQ,GAAKH,MAAM,SAA/B;;AACF,MAAAI,KAA4BC,mCAAe,EAA3C;AAAA,MAAEC,SAAS,eAAX;AAAA,MAAaC,UAAU,gBAAvB;;AAEN,sBACEC;AACE,IAAA,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAcf,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,qCACAC,QAAQ,GAAG,6CAAH,GAAmD,WAHlD,CAITe,IAJS,CAIJ,GAJI,CADb;AAME,IAAA,OAAO,EAAE,iBAACC,CAAD;AACPA,MAAAA,CAAC,CAACC,eAAF;;AACAhB,MAAAA,QAAO,CAAC7B,OAAD,CAAP;AACD;AATH,kBAWEuC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACO,oBAAD;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,GAAG,EAAEb,UAFP;AAGE,IAAA,GAAG,EAAC,eAHN;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC;AALT,IADF,CAXF,eAoBEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGjB,QAAQ,IAAIG,SAAS,CAACe,OALzB,CADF,eAQEb;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACc,kBAAD;AACE,IAAA,IAAI,EAAEtD,iBAAiB,CAACC,OAAD,CADzB;AAEE,IAAA,SAAS,EAAEsD,kBAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC;AAJT,IADF,CADF,eASEhB,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACQ,MAFxB;AAGE,IAAA,KAAK,EAAEN,oBAAW,CAACC;AAHrB,KAKGvC,QAAQ,CAACkB,IAAI,IAAI5B,cAAT,EAAyB,EAAzB,CALX,CATF,CARF,CApBF,eA8CEqC,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACS,SAFxB;AAGE,IAAA,KAAK,EAAEP,oBAAW,CAACQ;AAHrB,KAKGpE,YAAY,CAACC,SAAD,EAAY+C,UAAZ,CALf,CA9CF,eAqDEC;AAAK,IAAA,SAAS,EAAC;AAAf,IArDF,CADF;AAyDD;;;;"}
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../tslib.es6-d7d0a427.js');
4
+ var React = require('react');
5
+ var index$1 = require('../index-0159bc57.js');
6
+ var index = require('../index-46522cf0.js');
7
+ var ui_Avatar = require('./Avatar.js');
8
+ var ui_Label = require('../index-21f31180.js');
9
+ var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
10
+ require('../index-d9439e95.js');
11
+ require('../index-c0693be4.js');
12
+ require('./ImageRenderer.js');
13
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
14
+ require('prop-types');
15
+ require('./Icon.js');
16
+ require('../uuid-ba6cc3c5.js');
17
+ require('../stringSet-f4da182b.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+
23
+ function getCreatedAt (createdAt, locale) {
24
+ var optionalParam = locale ? {
25
+ locale: locale
26
+ } : null;
27
+
28
+ if (!createdAt) {
29
+ return '';
30
+ }
31
+
32
+ if (index.isToday(createdAt)) {
33
+ return index$1.format(createdAt, 'p', optionalParam);
34
+ }
35
+
36
+ if (index.isYesterday(createdAt)) {
37
+ return index.formatRelative(createdAt, new Date(), optionalParam);
38
+ }
39
+
40
+ return index$1.format(createdAt, 'MMM dd', optionalParam);
41
+ }
42
+
43
+ function MessageSearchItem(_a) {
44
+ var className = _a.className,
45
+ message = _a.message,
46
+ selected = _a.selected,
47
+ _onClick = _a.onClick;
48
+ var createdAt = message.createdAt;
49
+ var messageText = message.message;
50
+ var sender = message.sender || message._sender;
51
+ var profileUrl = sender.profileUrl,
52
+ nickname = sender.nickname;
53
+
54
+ var _b = LocalizationContext.useLocalization(),
55
+ stringSet = _b.stringSet,
56
+ dateLocale = _b.dateLocale;
57
+
58
+ return /*#__PURE__*/React__default["default"].createElement("div", {
59
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''], false).join(' '),
60
+ onClick: function onClick(e) {
61
+ e.stopPropagation();
62
+
63
+ _onClick(message);
64
+ }
65
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
66
+ className: "sendbird-message-search-item__left"
67
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
68
+ className: "sendbird-message-search-item__left__sender-avatar",
69
+ src: profileUrl,
70
+ alt: "profile image",
71
+ width: "56px",
72
+ height: "56px"
73
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
74
+ className: "sendbird-message-search-item__right"
75
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
76
+ className: "sendbird-message-search-item__right__sender-name",
77
+ type: ui_Label.LabelTypography.SUBTITLE_2,
78
+ color: ui_Label.LabelColors.ONBACKGROUND_1
79
+ }, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
80
+ className: "sendbird-message-search-item__right__message-text",
81
+ type: ui_Label.LabelTypography.BODY_2,
82
+ color: ui_Label.LabelColors.ONBACKGROUND_3
83
+ }, messageText), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
84
+ className: "sendbird-message-search-item__right__message-created-at",
85
+ type: ui_Label.LabelTypography.CAPTION_3,
86
+ color: ui_Label.LabelColors.ONBACKGROUND_2
87
+ }, getCreatedAt(createdAt, dateLocale))), /*#__PURE__*/React__default["default"].createElement("div", {
88
+ className: "sendbird-message-search-item__right-footer"
89
+ }));
90
+ }
91
+
92
+ module.exports = MessageSearchItem;
93
+ //# sourceMappingURL=MessageSearchItem.js.map
@@ -0,0 +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 formatRelative from 'date-fns/formatRelative';\nimport isToday from 'date-fns/isToday';\nimport isYesterday from 'date-fns/isYesterday';\n\n// getCreatedAt\nexport default function (createdAt: number, locale: Locale): 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 formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', 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';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendbirdUIKit.ClientUserMessage;\n selected?: boolean;\n onClick?: (message: SendbirdUIKit.ClientMessage) => 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, dateLocale)}\n </Label>\n </div>\n <div className=\"sendbird-message-search-item__right-footer\" />\n </div>\n );\n}\n"],"names":["createdAt","locale","optionalParam","isToday","format","isYesterday","formatRelative","Date","MessageSearchItem","_a","className","message","selected","onClick","messageText","sender","_sender","profileUrl","nickname","_b","useLocalization","stringSet","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","BODY_2","ONBACKGROUND_3","CAPTION_3","ONBACKGROUND_2","getCreatedAt"],"mappings":";;;;;;;;;;;;;;;;;;;;;;uBAOyBA,WAAmBC;AAC1C,MAAMC,aAAa,GAAGD,MAAM,GAAG;AAAEA,IAAAA,MAAM;AAAR,GAAH,GAAgB,IAA5C;;AACA,MAAI,CAACD,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAIG,aAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,cAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,iBAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,oBAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,cAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD;;SCJuBM,kBAAkBC;MACxCC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,QAAO;AAEC,MAAAb,SAAS,GAAKW,OAAO,UAArB;AACR,MAAMG,WAAW,GAAGH,OAAO,CAACA,OAA5B;AACA,MAAMI,MAAM,GAAGJ,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACK,OAAzC;AACQ,MAAAC,UAAU,GAAeF,MAAM,WAA/B;AAAA,MAAYG,QAAQ,GAAKH,MAAM,SAA/B;;AACF,MAAAI,KAA4BC,mCAAe,EAA3C;AAAA,MAAEC,SAAS,eAAX;AAAA,MAAaC,UAAU,gBAAvB;;AAEN,sBACEC;AACE,IAAA,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAchB,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,gCACAE,QAAQ,GAAG,wCAAH,GAA8C,WAH7C,CAITe,IAJS,CAIJ,GAJI,CADb;AAME,IAAA,OAAO,EAAE,iBAACC,CAAD;AACPA,MAAAA,CAAC,CAACC,eAAF;;AACAhB,MAAAA,QAAO,CAACF,OAAD,CAAP;AACD;AATH,kBAWEY;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACO,oBAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,GAAG,EAAEb,UAFP;AAGE,IAAA,GAAG,EAAC,eAHN;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC;AALT,IADF,CAXF,eAoBEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGjB,QAAQ,IAAIG,SAAS,CAACe,OALzB,CADF,eAQEb,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACK,MAFxB;AAGE,IAAA,KAAK,EAAEH,oBAAW,CAACI;AAHrB,KAKGxB,WALH,CARF,eAeES,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,yDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACO,SAFxB;AAGE,IAAA,KAAK,EAAEL,oBAAW,CAACM;AAHrB,KAKGC,YAAY,CAACzC,SAAD,EAAYsB,UAAZ,CALf,CAfF,CApBF,eA2CEC;AAAK,IAAA,SAAS,EAAC;AAAf,IA3CF,CADF;AA+CD;;;;"}
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../tslib.es6-d7d0a427.js');
6
+ var React = require('react');
7
+ var index$1 = require('../index-0159bc57.js');
8
+ var ui_Icon = require('./Icon.js');
9
+ var ui_Label = require('../index-21f31180.js');
10
+ var ui_Loader = require('./Loader.js');
11
+ var index = require('../index-002a349d.js');
12
+ var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
13
+ require('../index-d9439e95.js');
14
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
15
+ require('prop-types');
16
+ require('../stringSet-f4da182b.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ var MessageStatusTypes = index.getOutgoingMessageStates();
23
+ function MessageStatus(_a) {
24
+ var _b, _c;
25
+
26
+ var _d, _e;
27
+
28
+ var className = _a.className,
29
+ message = _a.message,
30
+ channel = _a.channel;
31
+ var dateLocale = LocalizationContext.useLocalization().dateLocale;
32
+ var status = React.useMemo(function () {
33
+ return index.getOutgoingMessageState(channel, message);
34
+ }, [(_d = channel === null || channel === void 0 ? void 0 : channel.getUnreadMemberCount) === null || _d === void 0 ? void 0 : _d.call(channel, message), (_e = channel === null || channel === void 0 ? void 0 : channel.getUndeliveredMemberCount) === null || _e === void 0 ? void 0 : _e.call(channel, message)]);
35
+ var showMessageStatusIcon = (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel === null || channel === void 0 ? void 0 : channel.isSuper) && !(channel === null || channel === void 0 ? void 0 : channel.isPublic) && !(channel === null || channel === void 0 ? void 0 : channel.isBroadcast);
36
+ var iconType = (_b = {}, _b[MessageStatusTypes.SENT] = ui_Icon.IconTypes.DONE, _b[MessageStatusTypes.DELIVERED] = ui_Icon.IconTypes.DONE_ALL, _b[MessageStatusTypes.READ] = ui_Icon.IconTypes.DONE_ALL, _b[MessageStatusTypes.FAILED] = ui_Icon.IconTypes.ERROR, _b);
37
+ var iconColor = (_c = {}, _c[MessageStatusTypes.SENT] = ui_Icon.IconColors.SENT, _c[MessageStatusTypes.DELIVERED] = ui_Icon.IconColors.SENT, _c[MessageStatusTypes.READ] = ui_Icon.IconColors.READ, _c[MessageStatusTypes.FAILED] = ui_Icon.IconColors.ERROR, _c);
38
+ return /*#__PURE__*/React__default["default"].createElement("div", {
39
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
40
+ }, status === MessageStatusTypes.PENDING ? /*#__PURE__*/React__default["default"].createElement(ui_Loader, {
41
+ className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
42
+ width: "16px",
43
+ height: "16px"
44
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
45
+ type: ui_Icon.IconTypes.SPINNER,
46
+ fillColor: ui_Icon.IconColors.PRIMARY,
47
+ width: "16px",
48
+ height: "16px"
49
+ })) : /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
50
+ className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
51
+ type: iconType[status] || ui_Icon.IconTypes.ERROR,
52
+ fillColor: iconColor[status],
53
+ width: "16px",
54
+ height: "16px"
55
+ }), index.isSentStatus(status) && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
56
+ className: "sendbird-message-status__text",
57
+ type: ui_Label.LabelTypography.CAPTION_3,
58
+ color: ui_Label.LabelColors.ONBACKGROUND_2
59
+ }, index$1.format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
60
+ locale: dateLocale
61
+ })));
62
+ }
63
+
64
+ exports.MessageStatusTypes = MessageStatusTypes;
65
+ exports["default"] = MessageStatus;
66
+ //# sourceMappingURL=MessageStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStatus.js","sources":["../../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport {\n getOutgoingMessageState,\n getOutgoingMessageStates,\n isSentStatus,\n} from '../../utils';\nimport { FileMessage, GroupChannel, UserMessage } from 'sendbird';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = getOutgoingMessageStates();\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n}: MessageStatusProps): React.ReactElement {\n const { dateLocale } = useLocalization();\n const status = useMemo(() => (\n getOutgoingMessageState(channel, message)\n ), [channel?.getUnreadMemberCount?.(message), channel?.getUndeliveredMemberCount?.(message)]);\n const showMessageStatusIcon = channel?.isGroupChannel()\n && !channel?.isSuper\n && !channel?.isPublic\n && !channel?.isBroadcast;\n const iconType = {\n [MessageStatusTypes.SENT]: IconTypes.DONE,\n [MessageStatusTypes.DELIVERED]: IconTypes.DONE_ALL,\n [MessageStatusTypes.READ]: IconTypes.DONE_ALL,\n [MessageStatusTypes.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [MessageStatusTypes.SENT]: IconColors.SENT,\n [MessageStatusTypes.DELIVERED]: IconColors.SENT,\n [MessageStatusTypes.READ]: IconColors.READ,\n [MessageStatusTypes.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === MessageStatusTypes.PENDING) ? (\n <Loader\n className={`sendbird-message-status__icon ${showMessageStatusIcon ? '' : 'hide-icon'}`}\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${showMessageStatusIcon ? '' : 'hide-icon'}`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n );\n}\n"],"names":["MessageStatusTypes","getOutgoingMessageStates","MessageStatus","_a","className","message","channel","dateLocale","useLocalization","status","useMemo","getOutgoingMessageState","getUnreadMemberCount","getUndeliveredMemberCount","showMessageStatusIcon","isGroupChannel","isSuper","isPublic","isBroadcast","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","FAILED","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","join","PENDING","Loader","Icon","SPINNER","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","format","createdAt","locale"],"mappings":"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"}