@sendbird/uikit-react 3.0.0-alpha.1 → 3.0.0-alpha.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 (585) hide show
  1. package/App.js +294 -0
  2. package/App.js.map +1 -0
  3. package/Channel/components/ChannelHeader.js +116 -0
  4. package/Channel/components/ChannelHeader.js.map +1 -0
  5. package/Channel/components/ChannelUI.js +172 -0
  6. package/Channel/components/ChannelUI.js.map +1 -0
  7. package/Channel/components/FileViewer.js +150 -0
  8. package/Channel/components/FileViewer.js.map +1 -0
  9. package/Channel/components/FrozenNotification.js +20 -0
  10. package/Channel/components/FrozenNotification.js.map +1 -0
  11. package/Channel/components/Message.js +232 -0
  12. package/Channel/components/Message.js.map +1 -0
  13. package/Channel/components/MessageInput.js +87 -0
  14. package/Channel/components/MessageInput.js.map +1 -0
  15. package/Channel/components/MessageList.js +227 -0
  16. package/Channel/components/MessageList.js.map +1 -0
  17. package/Channel/components/RemoveMessageModal.js +52 -0
  18. package/Channel/components/RemoveMessageModal.js.map +1 -0
  19. package/Channel/components/TypingIndicator.js +97 -0
  20. package/Channel/components/TypingIndicator.js.map +1 -0
  21. package/Channel/components/UnreadCount.js +41 -0
  22. package/Channel/components/UnreadCount.js.map +1 -0
  23. package/Channel/context.js +23 -0
  24. package/Channel/context.js.map +1 -0
  25. package/Channel.js +99 -0
  26. package/Channel.js.map +1 -0
  27. package/ChannelList/components/AddChannel.js +70 -0
  28. package/ChannelList/components/AddChannel.js.map +1 -0
  29. package/ChannelList/components/ChannelListHeader.js +62 -0
  30. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  31. package/ChannelList/components/ChannelListUI.js +213 -0
  32. package/ChannelList/components/ChannelListUI.js.map +1 -0
  33. package/ChannelList/components/ChannelPreview.js +177 -0
  34. package/ChannelList/components/ChannelPreview.js.map +1 -0
  35. package/ChannelList/components/ChannelPreviewAction.js +131 -0
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  37. package/ChannelList/context.js +13 -0
  38. package/ChannelList/context.js.map +1 -0
  39. package/ChannelList.js +80 -0
  40. package/ChannelList.js.map +1 -0
  41. package/ChannelListProvider-0b0c2c40.js +861 -0
  42. package/ChannelListProvider-0b0c2c40.js.map +1 -0
  43. package/ChannelProvider-459e463f.js +2083 -0
  44. package/ChannelProvider-459e463f.js.map +1 -0
  45. package/ChannelSettings/components/AdminPanel.js +905 -0
  46. package/ChannelSettings/components/AdminPanel.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +102 -0
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  49. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  51. package/ChannelSettings/components/EditDetailsModal.js +154 -0
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  53. package/ChannelSettings/components/LeaveChannel.js +53 -0
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  55. package/ChannelSettings/components/UserListItem.js +105 -0
  56. package/ChannelSettings/components/UserListItem.js.map +1 -0
  57. package/ChannelSettings/components/UserPanel.js +79 -0
  58. package/ChannelSettings/components/UserPanel.js.map +1 -0
  59. package/ChannelSettings/context.js +93 -0
  60. package/ChannelSettings/context.js.map +1 -0
  61. package/ChannelSettings.js +71 -0
  62. package/ChannelSettings.js.map +1 -0
  63. package/CreateChannel/components/CreateChannelUI.js +53 -0
  64. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  65. package/CreateChannel/components/InviteMembers.js +184 -0
  66. package/CreateChannel/components/InviteMembers.js.map +1 -0
  67. package/CreateChannel/components/SelectChannelType.js +131 -0
  68. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  69. package/CreateChannel/context.js +8 -0
  70. package/CreateChannel/context.js.map +1 -0
  71. package/CreateChannel.js +53 -0
  72. package/CreateChannel.js.map +1 -0
  73. package/CreateChannelProvider-c617a1bb.js +53 -0
  74. package/CreateChannelProvider-c617a1bb.js.map +1 -0
  75. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  76. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  77. package/EditUserProfile/context.js +27 -0
  78. package/EditUserProfile/context.js.map +1 -0
  79. package/EditUserProfile.js +39 -0
  80. package/EditUserProfile.js.map +1 -0
  81. package/LocalizationContext-e4391013.js +22 -0
  82. package/LocalizationContext-e4391013.js.map +1 -0
  83. package/MemberList-6655cba0.js +425 -0
  84. package/MemberList-6655cba0.js.map +1 -0
  85. package/MessageSearch/components/MessageSearchUI.js +151 -0
  86. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  87. package/MessageSearch/context.js +392 -0
  88. package/MessageSearch/context.js.map +1 -0
  89. package/MessageSearch.js +146 -0
  90. package/MessageSearch.js.map +1 -0
  91. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  92. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  93. package/OpenChannel/components/OpenChannelHeader.js +78 -0
  94. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  95. package/OpenChannel/components/OpenChannelInput.js +52 -0
  96. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  97. package/OpenChannel/components/OpenChannelMessage.js +278 -0
  98. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  99. package/OpenChannel/components/OpenChannelMessageList.js +153 -0
  100. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  101. package/OpenChannel/components/OpenChannelUI.js +105 -0
  102. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  103. package/OpenChannel/context.js +14 -0
  104. package/OpenChannel/context.js.map +1 -0
  105. package/OpenChannel.js +76 -0
  106. package/OpenChannel.js.map +1 -0
  107. package/OpenChannelProvider-a7691eb4.js +2011 -0
  108. package/OpenChannelProvider-a7691eb4.js.map +1 -0
  109. package/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  110. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  111. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  112. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  113. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +104 -0
  114. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  115. package/OpenChannelSettings/components/OperatorUI.js +184 -0
  116. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  117. package/OpenChannelSettings/components/ParticipantUI.js +172 -0
  118. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  119. package/OpenChannelSettings/context.js +64 -0
  120. package/OpenChannelSettings/context.js.map +1 -0
  121. package/OpenChannelSettings.js +64 -0
  122. package/OpenChannelSettings.js.map +1 -0
  123. package/SendbirdProvider.js +740 -0
  124. package/SendbirdProvider.js.map +1 -0
  125. package/UserProfileContext-865db5e6.js +38 -0
  126. package/UserProfileContext-865db5e6.js.map +1 -0
  127. package/_rollupPluginBabelHelpers-20904f21.js +233 -0
  128. package/_rollupPluginBabelHelpers-20904f21.js.map +1 -0
  129. package/actionTypes-1e3a4074.js +6 -0
  130. package/actionTypes-1e3a4074.js.map +1 -0
  131. package/cjs/App.js +301 -0
  132. package/cjs/App.js.map +1 -0
  133. package/cjs/Channel/components/ChannelHeader.js +122 -0
  134. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  135. package/cjs/Channel/components/ChannelUI.js +178 -0
  136. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  137. package/cjs/Channel/components/FileViewer.js +159 -0
  138. package/cjs/Channel/components/FileViewer.js.map +1 -0
  139. package/cjs/Channel/components/FrozenNotification.js +26 -0
  140. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  141. package/cjs/Channel/components/Message.js +238 -0
  142. package/cjs/Channel/components/Message.js.map +1 -0
  143. package/cjs/Channel/components/MessageInput.js +93 -0
  144. package/cjs/Channel/components/MessageInput.js.map +1 -0
  145. package/cjs/Channel/components/MessageList.js +233 -0
  146. package/cjs/Channel/components/MessageList.js.map +1 -0
  147. package/cjs/Channel/components/RemoveMessageModal.js +58 -0
  148. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  149. package/cjs/Channel/components/TypingIndicator.js +103 -0
  150. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  151. package/cjs/Channel/components/UnreadCount.js +47 -0
  152. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  153. package/cjs/Channel/context.js +32 -0
  154. package/cjs/Channel/context.js.map +1 -0
  155. package/cjs/Channel.js +105 -0
  156. package/cjs/Channel.js.map +1 -0
  157. package/cjs/ChannelList/components/AddChannel.js +79 -0
  158. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  159. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  160. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  161. package/cjs/ChannelList/components/ChannelListUI.js +219 -0
  162. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  163. package/cjs/ChannelList/components/ChannelPreview.js +183 -0
  164. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  165. package/cjs/ChannelList/components/ChannelPreviewAction.js +138 -0
  166. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  167. package/cjs/ChannelList/context.js +22 -0
  168. package/cjs/ChannelList/context.js.map +1 -0
  169. package/cjs/ChannelList.js +86 -0
  170. package/cjs/ChannelList.js.map +1 -0
  171. package/cjs/ChannelListProvider-5a152618.js +873 -0
  172. package/cjs/ChannelListProvider-5a152618.js.map +1 -0
  173. package/cjs/ChannelProvider-f1fb0108.js +2096 -0
  174. package/cjs/ChannelProvider-f1fb0108.js.map +1 -0
  175. package/cjs/ChannelSettings/components/AdminPanel.js +911 -0
  176. package/cjs/ChannelSettings/components/AdminPanel.js.map +1 -0
  177. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  178. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  179. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  180. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  181. package/cjs/ChannelSettings/components/EditDetailsModal.js +160 -0
  182. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  183. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  184. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  185. package/cjs/ChannelSettings/components/UserListItem.js +111 -0
  186. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  187. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  188. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  189. package/cjs/ChannelSettings/context.js +102 -0
  190. package/cjs/ChannelSettings/context.js.map +1 -0
  191. package/cjs/ChannelSettings.js +77 -0
  192. package/cjs/ChannelSettings.js.map +1 -0
  193. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  194. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  195. package/cjs/CreateChannel/components/InviteMembers.js +190 -0
  196. package/cjs/CreateChannel/components/InviteMembers.js.map +1 -0
  197. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  198. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  199. package/cjs/CreateChannel/context.js +17 -0
  200. package/cjs/CreateChannel/context.js.map +1 -0
  201. package/cjs/CreateChannel.js +59 -0
  202. package/cjs/CreateChannel.js.map +1 -0
  203. package/cjs/CreateChannelProvider-df42106f.js +60 -0
  204. package/cjs/CreateChannelProvider-df42106f.js.map +1 -0
  205. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  206. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  207. package/cjs/EditUserProfile/context.js +36 -0
  208. package/cjs/EditUserProfile/context.js.map +1 -0
  209. package/cjs/EditUserProfile.js +45 -0
  210. package/cjs/EditUserProfile.js.map +1 -0
  211. package/cjs/LocalizationContext-68e55e2a.js +30 -0
  212. package/cjs/LocalizationContext-68e55e2a.js.map +1 -0
  213. package/cjs/MemberList-dc84e303.js +431 -0
  214. package/cjs/MemberList-dc84e303.js.map +1 -0
  215. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  216. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  217. package/cjs/MessageSearch/context.js +401 -0
  218. package/cjs/MessageSearch/context.js.map +1 -0
  219. package/cjs/MessageSearch.js +152 -0
  220. package/cjs/MessageSearch.js.map +1 -0
  221. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  222. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  223. package/cjs/OpenChannel/components/OpenChannelHeader.js +84 -0
  224. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  225. package/cjs/OpenChannel/components/OpenChannelInput.js +58 -0
  226. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  227. package/cjs/OpenChannel/components/OpenChannelMessage.js +284 -0
  228. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  229. package/cjs/OpenChannel/components/OpenChannelMessageList.js +159 -0
  230. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelUI.js +111 -0
  232. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  233. package/cjs/OpenChannel/context.js +23 -0
  234. package/cjs/OpenChannel/context.js.map +1 -0
  235. package/cjs/OpenChannel.js +82 -0
  236. package/cjs/OpenChannel.js.map +1 -0
  237. package/cjs/OpenChannelProvider-7a1a996f.js +2020 -0
  238. package/cjs/OpenChannelProvider-7a1a996f.js.map +1 -0
  239. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +155 -0
  240. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  241. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  242. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  243. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +110 -0
  244. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  245. package/cjs/OpenChannelSettings/components/OperatorUI.js +194 -0
  246. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/ParticipantUI.js +178 -0
  248. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  249. package/cjs/OpenChannelSettings/context.js +73 -0
  250. package/cjs/OpenChannelSettings/context.js.map +1 -0
  251. package/cjs/OpenChannelSettings.js +70 -0
  252. package/cjs/OpenChannelSettings.js.map +1 -0
  253. package/cjs/SendbirdProvider.js +749 -0
  254. package/cjs/SendbirdProvider.js.map +1 -0
  255. package/cjs/UserProfileContext-3533547d.js +46 -0
  256. package/cjs/UserProfileContext-3533547d.js.map +1 -0
  257. package/cjs/_rollupPluginBabelHelpers-fc14118c.js +243 -0
  258. package/cjs/_rollupPluginBabelHelpers-fc14118c.js.map +1 -0
  259. package/cjs/actionTypes-bc47f97a.js +10 -0
  260. package/cjs/actionTypes-bc47f97a.js.map +1 -0
  261. package/cjs/color-4afb15fb.js +42 -0
  262. package/cjs/color-4afb15fb.js.map +1 -0
  263. package/cjs/compareIds-01306377.js +20 -0
  264. package/cjs/compareIds-01306377.js.map +1 -0
  265. package/cjs/context-c1f9d650.js +19 -0
  266. package/cjs/context-c1f9d650.js.map +1 -0
  267. package/cjs/index-1044f1ed.js +97 -0
  268. package/cjs/index-1044f1ed.js.map +1 -0
  269. package/cjs/index-1468d245.js +142 -0
  270. package/cjs/index-1468d245.js.map +1 -0
  271. package/cjs/index-4987c8b2.js +175 -0
  272. package/cjs/index-4987c8b2.js.map +1 -0
  273. package/cjs/index-659c9ca5.js +130 -0
  274. package/cjs/index-659c9ca5.js.map +1 -0
  275. package/cjs/index-8becccd8.js +284 -0
  276. package/cjs/index-8becccd8.js.map +1 -0
  277. package/cjs/index-905331fa.js +1880 -0
  278. package/cjs/index-905331fa.js.map +1 -0
  279. package/cjs/index-9dc3863f.js +67 -0
  280. package/cjs/index-9dc3863f.js.map +1 -0
  281. package/cjs/index-aecc8d24.js +9 -0
  282. package/cjs/index-aecc8d24.js.map +1 -0
  283. package/cjs/index-d4880236.js +641 -0
  284. package/cjs/index-d4880236.js.map +1 -0
  285. package/cjs/index-e2bb862c.js +514 -0
  286. package/cjs/index-e2bb862c.js.map +1 -0
  287. package/cjs/index.css +4355 -0
  288. package/cjs/index.css.map +1 -0
  289. package/cjs/index.js +155 -0
  290. package/cjs/index.js.map +1 -0
  291. package/cjs/openChannelUtils-37919a36.js +92 -0
  292. package/cjs/openChannelUtils-37919a36.js.map +1 -0
  293. package/cjs/sendBirdSelectors.js +741 -0
  294. package/cjs/sendBirdSelectors.js.map +1 -0
  295. package/cjs/stringSet-aa544ce5.js +116 -0
  296. package/cjs/stringSet-aa544ce5.js.map +1 -0
  297. package/cjs/topics-8314d425.js +18 -0
  298. package/cjs/topics-8314d425.js.map +1 -0
  299. package/cjs/tslib.es6-4a281a05.js +40 -0
  300. package/cjs/tslib.es6-4a281a05.js.map +1 -0
  301. package/cjs/ui/Accordion.js +74 -0
  302. package/cjs/ui/Accordion.js.map +1 -0
  303. package/cjs/ui/AccordionGroup.js +32 -0
  304. package/cjs/ui/AccordionGroup.js.map +1 -0
  305. package/cjs/ui/AdminMessage.js +44 -0
  306. package/cjs/ui/AdminMessage.js.map +1 -0
  307. package/cjs/ui/Avatar.js +226 -0
  308. package/cjs/ui/Avatar.js.map +1 -0
  309. package/cjs/ui/Badge.js +45 -0
  310. package/cjs/ui/Badge.js.map +1 -0
  311. package/cjs/ui/Button.js +17 -0
  312. package/cjs/ui/Button.js.map +1 -0
  313. package/cjs/ui/ChannelAvatar.js +59 -0
  314. package/cjs/ui/ChannelAvatar.js.map +1 -0
  315. package/cjs/ui/ChannelPreview.js +201 -0
  316. package/cjs/ui/ChannelPreview.js.map +1 -0
  317. package/cjs/ui/ChatHeader.js +145 -0
  318. package/cjs/ui/ChatHeader.js.map +1 -0
  319. package/cjs/ui/Checkbox.js +49 -0
  320. package/cjs/ui/Checkbox.js.map +1 -0
  321. package/cjs/ui/ConnectionStatus.js +34 -0
  322. package/cjs/ui/ConnectionStatus.js.map +1 -0
  323. package/cjs/ui/ContextMenu.js +431 -0
  324. package/cjs/ui/ContextMenu.js.map +1 -0
  325. package/cjs/ui/DateSeparator.js +44 -0
  326. package/cjs/ui/DateSeparator.js.map +1 -0
  327. package/cjs/ui/Dropdown.js +107 -0
  328. package/cjs/ui/Dropdown.js.map +1 -0
  329. package/cjs/ui/EmojiReactions.js +127 -0
  330. package/cjs/ui/EmojiReactions.js.map +1 -0
  331. package/cjs/ui/FileMessageItemBody.js +57 -0
  332. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  333. package/cjs/ui/FileViewer.js +174 -0
  334. package/cjs/ui/FileViewer.js.map +1 -0
  335. package/cjs/ui/Icon.js +1462 -0
  336. package/cjs/ui/Icon.js.map +1 -0
  337. package/cjs/ui/IconButton.js +83 -0
  338. package/cjs/ui/IconButton.js.map +1 -0
  339. package/cjs/ui/ImageRenderer.js +138 -0
  340. package/cjs/ui/ImageRenderer.js.map +1 -0
  341. package/cjs/ui/Input.js +74 -0
  342. package/cjs/ui/Input.js.map +1 -0
  343. package/cjs/ui/Label.js +17 -0
  344. package/cjs/ui/Label.js.map +1 -0
  345. package/cjs/ui/LinkLabel.js +51 -0
  346. package/cjs/ui/LinkLabel.js.map +1 -0
  347. package/cjs/ui/Loader.js +44 -0
  348. package/cjs/ui/Loader.js.map +1 -0
  349. package/cjs/ui/MessageContent.js +328 -0
  350. package/cjs/ui/MessageContent.js.map +1 -0
  351. package/cjs/ui/MessageInput.js +232 -0
  352. package/cjs/ui/MessageInput.js.map +1 -0
  353. package/cjs/ui/MessageItemMenu.js +141 -0
  354. package/cjs/ui/MessageItemMenu.js.map +1 -0
  355. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  356. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  357. package/cjs/ui/MessageSearchFileItem.js +130 -0
  358. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  359. package/cjs/ui/MessageSearchItem.js +93 -0
  360. package/cjs/ui/MessageSearchItem.js.map +1 -0
  361. package/cjs/ui/Modal.js +140 -0
  362. package/cjs/ui/Modal.js.map +1 -0
  363. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  364. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  365. package/cjs/ui/OGMessageItemBody.js +97 -0
  366. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  367. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  368. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  369. package/cjs/ui/OpenChannelAvatar.js +41 -0
  370. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  371. package/cjs/ui/OpenChannelMessageContent.js +14 -0
  372. package/cjs/ui/OpenChannelMessageContent.js.map +1 -0
  373. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  374. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  375. package/cjs/ui/OpenchannelFileMessage.js +230 -0
  376. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  377. package/cjs/ui/OpenchannelOGMessage.js +345 -0
  378. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  379. package/cjs/ui/OpenchannelThumbnailMessage.js +305 -0
  380. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  381. package/cjs/ui/OpenchannelUserMessage.js +264 -0
  382. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  383. package/cjs/ui/PlaceHolder.js +20 -0
  384. package/cjs/ui/PlaceHolder.js.map +1 -0
  385. package/cjs/ui/QuoteMessage.js +131 -0
  386. package/cjs/ui/QuoteMessage.js.map +1 -0
  387. package/cjs/ui/QuoteMessageInput.js +99 -0
  388. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  389. package/cjs/ui/ReactionBadge.js +68 -0
  390. package/cjs/ui/ReactionBadge.js.map +1 -0
  391. package/cjs/ui/ReactionButton.js +55 -0
  392. package/cjs/ui/ReactionButton.js.map +1 -0
  393. package/cjs/ui/SortByRow.js +57 -0
  394. package/cjs/ui/SortByRow.js.map +1 -0
  395. package/cjs/ui/TextButton.js +45 -0
  396. package/cjs/ui/TextButton.js.map +1 -0
  397. package/cjs/ui/TextMessageItemBody.js +40 -0
  398. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  399. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  400. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  401. package/cjs/ui/Tooltip.js +35 -0
  402. package/cjs/ui/Tooltip.js.map +1 -0
  403. package/cjs/ui/TooltipWrapper.js +65 -0
  404. package/cjs/ui/TooltipWrapper.js.map +1 -0
  405. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  406. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  407. package/cjs/ui/UserListItem.js +158 -0
  408. package/cjs/ui/UserListItem.js.map +1 -0
  409. package/cjs/ui/UserProfile.js +87 -0
  410. package/cjs/ui/UserProfile.js.map +1 -0
  411. package/cjs/useSendbirdStateContext.js +22 -0
  412. package/cjs/useSendbirdStateContext.js.map +1 -0
  413. package/cjs/utils-3b0815dc.js +6 -0
  414. package/cjs/utils-3b0815dc.js.map +1 -0
  415. package/cjs/utils-66b3f4ec.js +38 -0
  416. package/cjs/utils-66b3f4ec.js.map +1 -0
  417. package/cjs/utils-cbd3ed99.js +32 -0
  418. package/cjs/utils-cbd3ed99.js.map +1 -0
  419. package/cjs/uuid-1d5ec8b2.js +19 -0
  420. package/cjs/uuid-1d5ec8b2.js.map +1 -0
  421. package/cjs/withSendBird.js +35 -0
  422. package/cjs/withSendBird.js.map +1 -0
  423. package/color-ee3fc5ee.js +39 -0
  424. package/color-ee3fc5ee.js.map +1 -0
  425. package/compareIds-808956f2.js +18 -0
  426. package/compareIds-808956f2.js.map +1 -0
  427. package/context-98ce535c.js +12 -0
  428. package/context-98ce535c.js.map +1 -0
  429. package/index-1718324d.js +280 -0
  430. package/index-1718324d.js.map +1 -0
  431. package/index-5c2c81bc.js +168 -0
  432. package/index-5c2c81bc.js.map +1 -0
  433. package/index-6ebf7894.js +512 -0
  434. package/index-6ebf7894.js.map +1 -0
  435. package/index-770d7112.js +1873 -0
  436. package/index-770d7112.js.map +1 -0
  437. package/index-7a51bd16.js +131 -0
  438. package/index-7a51bd16.js.map +1 -0
  439. package/index-8c72a94a.js +602 -0
  440. package/index-8c72a94a.js.map +1 -0
  441. package/index-942c85a6.js +7 -0
  442. package/index-942c85a6.js.map +1 -0
  443. package/index-acebc2ff.js +87 -0
  444. package/index-acebc2ff.js.map +1 -0
  445. package/index-cd21929d.js +64 -0
  446. package/index-cd21929d.js.map +1 -0
  447. package/index-e818a8a3.js +121 -0
  448. package/index-e818a8a3.js.map +1 -0
  449. package/index.css +4355 -0
  450. package/index.css.map +1 -0
  451. package/index.d.ts +1801 -0
  452. package/index.js.map +1 -0
  453. package/openChannelUtils-56a372e7.js +81 -0
  454. package/openChannelUtils-56a372e7.js.map +1 -0
  455. package/package.json +1 -8
  456. package/sendBirdSelectors.js +713 -0
  457. package/sendBirdSelectors.js.map +1 -0
  458. package/stringSet-4f6eaa60.js +114 -0
  459. package/stringSet-4f6eaa60.js.map +1 -0
  460. package/topics-9442035c.js +10 -0
  461. package/topics-9442035c.js.map +1 -0
  462. package/tslib.es6-e3c44017.js +38 -0
  463. package/tslib.es6-e3c44017.js.map +1 -0
  464. package/ui/Accordion.js +65 -0
  465. package/ui/Accordion.js.map +1 -0
  466. package/ui/AccordionGroup.js +26 -0
  467. package/ui/AccordionGroup.js.map +1 -0
  468. package/ui/AdminMessage.js +37 -0
  469. package/ui/AdminMessage.js.map +1 -0
  470. package/ui/Avatar.js +217 -0
  471. package/ui/Avatar.js.map +1 -0
  472. package/ui/Badge.js +38 -0
  473. package/ui/Badge.js.map +1 -0
  474. package/ui/Button.js +7 -0
  475. package/ui/Button.js.map +1 -0
  476. package/ui/ChannelAvatar.js +53 -0
  477. package/ui/ChannelAvatar.js.map +1 -0
  478. package/ui/ChannelPreview.js +194 -0
  479. package/ui/ChannelPreview.js.map +1 -0
  480. package/ui/ChatHeader.js +138 -0
  481. package/ui/ChatHeader.js.map +1 -0
  482. package/ui/Checkbox.js +42 -0
  483. package/ui/Checkbox.js.map +1 -0
  484. package/ui/ConnectionStatus.js +28 -0
  485. package/ui/ConnectionStatus.js.map +1 -0
  486. package/ui/ContextMenu.js +417 -0
  487. package/ui/ContextMenu.js.map +1 -0
  488. package/ui/DateSeparator.js +37 -0
  489. package/ui/DateSeparator.js.map +1 -0
  490. package/ui/Dropdown.js +97 -0
  491. package/ui/Dropdown.js.map +1 -0
  492. package/ui/EmojiReactions.js +121 -0
  493. package/ui/EmojiReactions.js.map +1 -0
  494. package/ui/FileMessageItemBody.js +51 -0
  495. package/ui/FileMessageItemBody.js.map +1 -0
  496. package/ui/FileViewer.js +164 -0
  497. package/ui/FileViewer.js.map +1 -0
  498. package/ui/Icon.js +1432 -0
  499. package/ui/Icon.js.map +1 -0
  500. package/ui/IconButton.js +76 -0
  501. package/ui/IconButton.js.map +1 -0
  502. package/ui/ImageRenderer.js +131 -0
  503. package/ui/ImageRenderer.js.map +1 -0
  504. package/ui/Input.js +64 -0
  505. package/ui/Input.js.map +1 -0
  506. package/ui/Label.js +6 -0
  507. package/ui/Label.js.map +1 -0
  508. package/ui/LinkLabel.js +40 -0
  509. package/ui/LinkLabel.js.map +1 -0
  510. package/ui/Loader.js +37 -0
  511. package/ui/Loader.js.map +1 -0
  512. package/ui/MessageContent.js +322 -0
  513. package/ui/MessageContent.js.map +1 -0
  514. package/ui/MessageInput.js +225 -0
  515. package/ui/MessageInput.js.map +1 -0
  516. package/ui/MessageItemMenu.js +135 -0
  517. package/ui/MessageItemMenu.js.map +1 -0
  518. package/ui/MessageItemReactionMenu.js +106 -0
  519. package/ui/MessageItemReactionMenu.js.map +1 -0
  520. package/ui/MessageSearchFileItem.js +124 -0
  521. package/ui/MessageSearchFileItem.js.map +1 -0
  522. package/ui/MessageSearchItem.js +87 -0
  523. package/ui/MessageSearchItem.js.map +1 -0
  524. package/ui/Modal.js +128 -0
  525. package/ui/Modal.js.map +1 -0
  526. package/ui/MutedAvatarOverlay.js +34 -0
  527. package/ui/MutedAvatarOverlay.js.map +1 -0
  528. package/ui/OGMessageItemBody.js +91 -0
  529. package/ui/OGMessageItemBody.js.map +1 -0
  530. package/ui/OpenChannelAdminMessage.js +21 -0
  531. package/ui/OpenChannelAdminMessage.js.map +1 -0
  532. package/ui/OpenChannelAvatar.js +35 -0
  533. package/ui/OpenChannelAvatar.js.map +1 -0
  534. package/ui/OpenChannelMessageContent.js +8 -0
  535. package/ui/OpenChannelMessageContent.js.map +1 -0
  536. package/ui/OpenchannelConversationHeader.js +67 -0
  537. package/ui/OpenchannelConversationHeader.js.map +1 -0
  538. package/ui/OpenchannelFileMessage.js +224 -0
  539. package/ui/OpenchannelFileMessage.js.map +1 -0
  540. package/ui/OpenchannelOGMessage.js +339 -0
  541. package/ui/OpenchannelOGMessage.js.map +1 -0
  542. package/ui/OpenchannelThumbnailMessage.js +299 -0
  543. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  544. package/ui/OpenchannelUserMessage.js +258 -0
  545. package/ui/OpenchannelUserMessage.js.map +1 -0
  546. package/ui/PlaceHolder.js +11 -0
  547. package/ui/PlaceHolder.js.map +1 -0
  548. package/ui/QuoteMessage.js +125 -0
  549. package/ui/QuoteMessage.js.map +1 -0
  550. package/ui/QuoteMessageInput.js +93 -0
  551. package/ui/QuoteMessageInput.js.map +1 -0
  552. package/ui/ReactionBadge.js +61 -0
  553. package/ui/ReactionBadge.js.map +1 -0
  554. package/ui/ReactionButton.js +48 -0
  555. package/ui/ReactionButton.js.map +1 -0
  556. package/ui/SortByRow.js +50 -0
  557. package/ui/SortByRow.js.map +1 -0
  558. package/ui/TextButton.js +38 -0
  559. package/ui/TextButton.js.map +1 -0
  560. package/ui/TextMessageItemBody.js +34 -0
  561. package/ui/TextMessageItemBody.js.map +1 -0
  562. package/ui/ThumbnailMessageItemBody.js +76 -0
  563. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  564. package/ui/Tooltip.js +28 -0
  565. package/ui/Tooltip.js.map +1 -0
  566. package/ui/TooltipWrapper.js +58 -0
  567. package/ui/TooltipWrapper.js.map +1 -0
  568. package/ui/UnknownMessageItemBody.js +35 -0
  569. package/ui/UnknownMessageItemBody.js.map +1 -0
  570. package/ui/UserListItem.js +151 -0
  571. package/ui/UserListItem.js.map +1 -0
  572. package/ui/UserProfile.js +81 -0
  573. package/ui/UserProfile.js.map +1 -0
  574. package/useSendbirdStateContext.js +20 -0
  575. package/useSendbirdStateContext.js.map +1 -0
  576. package/utils-08c4dbdc.js +34 -0
  577. package/utils-08c4dbdc.js.map +1 -0
  578. package/utils-af1b9829.js +30 -0
  579. package/utils-af1b9829.js.map +1 -0
  580. package/utils-c393e880.js +4 -0
  581. package/utils-c393e880.js.map +1 -0
  582. package/uuid-b0c93400.js +17 -0
  583. package/uuid-b0c93400.js.map +1 -0
  584. package/withSendBird.js +26 -0
  585. package/withSendBird.js.map +1 -0
@@ -0,0 +1,322 @@
1
+ import React__default, { useMemo, useContext, useRef, useState } from 'react';
2
+ import { f as format } from '../index-770d7112.js';
3
+ import Avatar from './Avatar.js';
4
+ import ConnectedUserProfile from './UserProfile.js';
5
+ import { a as __spreadArray } from '../tslib.es6-e3c44017.js';
6
+ import Icon, { IconTypes, IconColors } from './Icon.js';
7
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-7a51bd16.js';
8
+ import Loader from './Loader.js';
9
+ import { a as getOutgoingMessageStates, o as getOutgoingMessageState, p as isSentStatus, q as getUIKitMessageTypes, d as getClassName, r as getSenderName, s as isTextMessage, u as isOGMessage, v as getUIKitMessageType, j as isThumbnailMessage } from '../index-8c72a94a.js';
10
+ import { u as useLocalization } from '../LocalizationContext-e4391013.js';
11
+ import MessageItemMenu from './MessageItemMenu.js';
12
+ import MessageItemReactionMenu from './MessageItemReactionMenu.js';
13
+ import ContextMenu, { MenuItems } from './ContextMenu.js';
14
+ import EmojiReactions2 from './EmojiReactions.js';
15
+ import AdminMessage from './AdminMessage.js';
16
+ import TextMessageItemBody from './TextMessageItemBody.js';
17
+ import FileMessageItemBody from './FileMessageItemBody.js';
18
+ import ThumbnailMessageItemBody from './ThumbnailMessageItemBody.js';
19
+ import OGMessageItemBody from './OGMessageItemBody.js';
20
+ import UnknownMessageItemBody from './UnknownMessageItemBody.js';
21
+ import QuoteMessage from './QuoteMessage.js';
22
+ import { a as UserProfileContext } from '../UserProfileContext-865db5e6.js';
23
+ import '../index-6ebf7894.js';
24
+ import './ImageRenderer.js';
25
+ import '../_rollupPluginBabelHelpers-20904f21.js';
26
+ import 'prop-types';
27
+ import '../uuid-b0c93400.js';
28
+ import '../withSendBird.js';
29
+ import '../sendBirdSelectors.js';
30
+ import '../topics-9442035c.js';
31
+ import '../index-acebc2ff.js';
32
+ import '../stringSet-4f6eaa60.js';
33
+ import './IconButton.js';
34
+ import './ReactionButton.js';
35
+ import 'react-dom';
36
+ import './SortByRow.js';
37
+ import './Tooltip.js';
38
+ import './TooltipWrapper.js';
39
+ import './ReactionBadge.js';
40
+ import './TextButton.js';
41
+ import '../color-ee3fc5ee.js';
42
+ import './LinkLabel.js';
43
+
44
+ var MessageStatusTypes = getOutgoingMessageStates();
45
+ function MessageStatus(_a) {
46
+ var _b, _c;
47
+
48
+ var _d, _e;
49
+
50
+ var className = _a.className,
51
+ message = _a.message,
52
+ channel = _a.channel;
53
+ var dateLocale = useLocalization().dateLocale;
54
+ var status = useMemo(function () {
55
+ return getOutgoingMessageState(channel, message);
56
+ }, [(_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)]);
57
+ 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);
58
+ var iconType = (_b = {}, _b[MessageStatusTypes.SENT] = IconTypes.DONE, _b[MessageStatusTypes.DELIVERED] = IconTypes.DONE_ALL, _b[MessageStatusTypes.READ] = IconTypes.DONE_ALL, _b[MessageStatusTypes.FAILED] = IconTypes.ERROR, _b);
59
+ var iconColor = (_c = {}, _c[MessageStatusTypes.SENT] = IconColors.SENT, _c[MessageStatusTypes.DELIVERED] = IconColors.SENT, _c[MessageStatusTypes.READ] = IconColors.READ, _c[MessageStatusTypes.FAILED] = IconColors.ERROR, _c);
60
+ return /*#__PURE__*/React__default.createElement("div", {
61
+ className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
62
+ }, status === MessageStatusTypes.PENDING ? /*#__PURE__*/React__default.createElement(Loader, {
63
+ className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
64
+ width: "16px",
65
+ height: "16px"
66
+ }, /*#__PURE__*/React__default.createElement(Icon, {
67
+ type: IconTypes.SPINNER,
68
+ fillColor: IconColors.PRIMARY,
69
+ width: "16px",
70
+ height: "16px"
71
+ })) : /*#__PURE__*/React__default.createElement(Icon, {
72
+ className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
73
+ type: iconType[status] || IconTypes.ERROR,
74
+ fillColor: iconColor[status],
75
+ width: "16px",
76
+ height: "16px"
77
+ }), isSentStatus(status) && /*#__PURE__*/React__default.createElement(Label, {
78
+ className: "sendbird-message-status__text",
79
+ type: LabelTypography.CAPTION_3,
80
+ color: LabelColors.ONBACKGROUND_2
81
+ }, format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
82
+ locale: dateLocale
83
+ })));
84
+ }
85
+
86
+ function MessageContent(_a) {
87
+ var _b, _c, _d, _e, _f, _g;
88
+
89
+ var className = _a.className,
90
+ userId = _a.userId,
91
+ channel = _a.channel,
92
+ message = _a.message,
93
+ _h = _a.disabled,
94
+ disabled = _h === void 0 ? false : _h,
95
+ _j = _a.chainTop,
96
+ chainTop = _j === void 0 ? false : _j,
97
+ _k = _a.chainBottom,
98
+ chainBottom = _k === void 0 ? false : _k,
99
+ _l = _a.useReaction,
100
+ useReaction = _l === void 0 ? false : _l,
101
+ replyType = _a.replyType,
102
+ nicknamesMap = _a.nicknamesMap,
103
+ emojiContainer = _a.emojiContainer,
104
+ scrollToMessage = _a.scrollToMessage,
105
+ showEdit = _a.showEdit,
106
+ showRemove = _a.showRemove,
107
+ showFileViewer = _a.showFileViewer,
108
+ resendMessage = _a.resendMessage,
109
+ toggleReaction = _a.toggleReaction,
110
+ setQuoteMessage = _a.setQuoteMessage;
111
+ var messageTypes = getUIKitMessageTypes();
112
+ var dateLocale = useLocalization().dateLocale;
113
+
114
+ var _m = useContext(UserProfileContext),
115
+ disableUserProfile = _m.disableUserProfile,
116
+ renderUserProfile = _m.renderUserProfile;
117
+
118
+ var avatarRef = useRef(null);
119
+
120
+ var _o = useState(false),
121
+ mouseHover = _o[0],
122
+ setMouseHover = _o[1];
123
+
124
+ var _p = useState(false),
125
+ supposedHover = _p[0],
126
+ setSupposedHover = _p[1];
127
+
128
+ var isByMe = userId === ((_c = (_b = message) === null || _b === void 0 ? void 0 : _b.sender) === null || _c === void 0 ? void 0 : _c.userId) || message.sendingStatus === 'pending' || message.sendingStatus === 'failed';
129
+ var isByMeClassName = isByMe ? 'outgoing' : 'incoming';
130
+ var chainTopClassName = chainTop ? 'chain-top' : '';
131
+ var useReactionClassName = useReaction ? 'use-reactions' : '';
132
+ var supposedHoverClassName = supposedHover ? 'supposed-hover' : '';
133
+ var useReplying = !!(replyType === 'QUOTE_REPLY' && (message === null || message === void 0 ? void 0 : message.parentMessageId) && (message === null || message === void 0 ? void 0 : message.parentMessage));
134
+ var useReplyingClassName = useReplying ? 'use-quote' : '';
135
+
136
+ if (((_d = message === null || message === void 0 ? void 0 : message.isAdminMessage) === null || _d === void 0 ? void 0 : _d.call(message)) || (message === null || message === void 0 ? void 0 : message.messageType) === 'admin') {
137
+ return /*#__PURE__*/React__default.createElement(AdminMessage, {
138
+ message: message
139
+ });
140
+ }
141
+
142
+ return /*#__PURE__*/React__default.createElement("div", {
143
+ className: getClassName([className, 'sendbird-message-content', isByMeClassName]),
144
+ onMouseOver: function onMouseOver() {
145
+ return setMouseHover(true);
146
+ },
147
+ onMouseLeave: function onMouseLeave() {
148
+ return setMouseHover(false);
149
+ }
150
+ }, /*#__PURE__*/React__default.createElement("div", {
151
+ className: getClassName(['sendbird-message-content__left', useReactionClassName, isByMeClassName, useReplyingClassName])
152
+ }, !isByMe && !chainBottom &&
153
+ /*#__PURE__*/
154
+
155
+ /** user profile */
156
+ React__default.createElement(ContextMenu, {
157
+ menuTrigger: function menuTrigger(toggleDropdown) {
158
+ var _a, _b, _c;
159
+
160
+ return /*#__PURE__*/React__default.createElement(Avatar, {
161
+ className: "sendbird-message-content__left__avatar",
162
+ src: ((_b = (_a = channel === null || channel === void 0 ? void 0 : channel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) {
163
+ var _a;
164
+
165
+ return (member === null || member === void 0 ? void 0 : member.userId) === ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId);
166
+ })) === null || _b === void 0 ? void 0 : _b.profileUrl) || ((_c = message === null || message === void 0 ? void 0 : message.sender) === null || _c === void 0 ? void 0 : _c.profileUrl) || '' // TODO: Divide getting profileUrl logic to utils
167
+ ,
168
+ ref: avatarRef,
169
+ width: "28px",
170
+ height: "28px",
171
+ onClick: function onClick() {
172
+ if (!disableUserProfile) toggleDropdown();
173
+ }
174
+ });
175
+ },
176
+ menuItems: function menuItems(closeDropdown) {
177
+ return /*#__PURE__*/React__default.createElement(MenuItems
178
+ /**
179
+ * parentRef: For catching location(x, y) of MenuItems
180
+ * parentContainRef: For toggling more options(menus & reactions)
181
+ */
182
+ , {
183
+ parentRef: avatarRef,
184
+ parentContainRef: avatarRef,
185
+ closeDropdown: closeDropdown,
186
+ style: {
187
+ paddingTop: 0,
188
+ paddingBottom: 0
189
+ }
190
+ }, renderUserProfile ? renderUserProfile({
191
+ user: message === null || message === void 0 ? void 0 : message.sender,
192
+ close: closeDropdown
193
+ }) : /*#__PURE__*/React__default.createElement(ConnectedUserProfile, {
194
+ user: message.sender,
195
+ onSuccess: closeDropdown
196
+ }));
197
+ }
198
+ }), isByMe && /*#__PURE__*/React__default.createElement("div", {
199
+ className: getClassName(['sendbird-message-content-menu', useReactionClassName, supposedHoverClassName, isByMeClassName])
200
+ }, /*#__PURE__*/React__default.createElement(MessageItemMenu, {
201
+ className: "sendbird-message-content-menu__normal-menu",
202
+ channel: channel,
203
+ message: message,
204
+ isByMe: isByMe,
205
+ replyType: replyType,
206
+ disabled: disabled,
207
+ showEdit: showEdit,
208
+ showRemove: showRemove,
209
+ resendMessage: resendMessage,
210
+ setQuoteMessage: setQuoteMessage,
211
+ setSupposedHover: setSupposedHover
212
+ }), useReaction && /*#__PURE__*/React__default.createElement(MessageItemReactionMenu, {
213
+ className: "sendbird-message-content-menu__reaction-menu",
214
+ message: message,
215
+ userId: userId,
216
+ spaceFromTrigger: {},
217
+ emojiContainer: emojiContainer,
218
+ toggleReaction: toggleReaction,
219
+ setSupposedHover: setSupposedHover
220
+ }))), /*#__PURE__*/React__default.createElement("div", {
221
+ className: "sendbird-message-content__middle"
222
+ }, !isByMe && !chainTop && !useReplying && /*#__PURE__*/React__default.createElement(Label, {
223
+ className: "sendbird-message-content__middle__sender-name",
224
+ type: LabelTypography.CAPTION_2,
225
+ color: LabelColors.ONBACKGROUND_2
226
+ }, ((_f = (_e = channel === null || channel === void 0 ? void 0 : channel.members) === null || _e === void 0 ? void 0 : _e.find(function (member) {
227
+ var _a;
228
+
229
+ return (member === null || member === void 0 ? void 0 : member.userId) === ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId);
230
+ })) === null || _f === void 0 ? void 0 : _f.nickname) || getSenderName(message) // TODO: Divide getting profileUrl logic to utils
231
+ ), useReplying ? /*#__PURE__*/React__default.createElement("div", {
232
+ className: getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])
233
+ }, /*#__PURE__*/React__default.createElement(QuoteMessage, {
234
+ message: message,
235
+ userId: userId,
236
+ isByMe: isByMe,
237
+ onClick: function onClick() {
238
+ var _a;
239
+
240
+ if (((_a = message === null || message === void 0 ? void 0 : message.parentMessage) === null || _a === void 0 ? void 0 : _a.createdAt) && (message === null || message === void 0 ? void 0 : message.parentMessageId)) {
241
+ scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);
242
+ }
243
+ }
244
+ })) : null, /*#__PURE__*/React__default.createElement("div", {
245
+ className: getClassName(['sendbird-message-content__middle__body-container'])
246
+ }, isByMe && !chainBottom && /*#__PURE__*/React__default.createElement("div", {
247
+ className: getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])
248
+ }, /*#__PURE__*/React__default.createElement("div", {
249
+ className: "sendbird-message-content__middle__body-container__created-at__component-container"
250
+ }, /*#__PURE__*/React__default.createElement(MessageStatus, {
251
+ message: message,
252
+ channel: channel
253
+ }))), isTextMessage(message) && /*#__PURE__*/React__default.createElement(TextMessageItemBody, {
254
+ className: "sendbird-message-content__middle__message-item-body",
255
+ message: message,
256
+ isByMe: isByMe,
257
+ mouseHover: mouseHover
258
+ }), isOGMessage(message) && /*#__PURE__*/React__default.createElement(OGMessageItemBody, {
259
+ className: "sendbird-message-content__middle__message-item-body",
260
+ message: message,
261
+ isByMe: isByMe,
262
+ mouseHover: mouseHover
263
+ }), getUIKitMessageType(message) === messageTypes.FILE && /*#__PURE__*/React__default.createElement(FileMessageItemBody, {
264
+ className: "sendbird-message-content__middle__message-item-body",
265
+ message: message,
266
+ isByMe: isByMe,
267
+ mouseHover: mouseHover
268
+ }), isThumbnailMessage(message) && /*#__PURE__*/React__default.createElement(ThumbnailMessageItemBody, {
269
+ className: "sendbird-message-content__middle__message-item-body",
270
+ message: message,
271
+ isByMe: isByMe,
272
+ mouseHover: mouseHover,
273
+ showFileViewer: showFileViewer
274
+ }), getUIKitMessageType(message) === messageTypes.UNKNOWN && /*#__PURE__*/React__default.createElement(UnknownMessageItemBody, {
275
+ className: "sendbird-message-content__middle__message-item-body",
276
+ message: message,
277
+ isByMe: isByMe,
278
+ mouseHover: mouseHover
279
+ }), useReaction && ((_g = message === null || message === void 0 ? void 0 : message.reactions) === null || _g === void 0 ? void 0 : _g.length) > 0 && /*#__PURE__*/React__default.createElement("div", {
280
+ className: getClassName(['sendbird-message-content-reactions', !isByMe || isThumbnailMessage(message) || isOGMessage(message) ? '' : 'primary', mouseHover ? 'mouse-hover' : ''])
281
+ }, /*#__PURE__*/React__default.createElement(EmojiReactions2, {
282
+ userId: userId,
283
+ message: message,
284
+ isByMe: isByMe,
285
+ emojiContainer: emojiContainer,
286
+ memberNicknamesMap: nicknamesMap,
287
+ toggleReaction: toggleReaction
288
+ })), !isByMe && !chainBottom && /*#__PURE__*/React__default.createElement(Label, {
289
+ className: getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName]),
290
+ type: LabelTypography.CAPTION_3,
291
+ color: LabelColors.ONBACKGROUND_2
292
+ }, format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
293
+ locale: dateLocale
294
+ })))), /*#__PURE__*/React__default.createElement("div", {
295
+ className: getClassName(['sendbird-message-content__right', chainTopClassName, useReactionClassName, useReplyingClassName])
296
+ }, !isByMe && /*#__PURE__*/React__default.createElement("div", {
297
+ className: getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])
298
+ }, useReaction && /*#__PURE__*/React__default.createElement(MessageItemReactionMenu, {
299
+ className: "sendbird-message-content-menu__reaction-menu",
300
+ message: message,
301
+ userId: userId,
302
+ spaceFromTrigger: {},
303
+ emojiContainer: emojiContainer,
304
+ toggleReaction: toggleReaction,
305
+ setSupposedHover: setSupposedHover
306
+ }), /*#__PURE__*/React__default.createElement(MessageItemMenu, {
307
+ className: "sendbird-message-content-menu__normal-menu",
308
+ channel: channel,
309
+ message: message,
310
+ isByMe: isByMe,
311
+ replyType: replyType,
312
+ disabled: disabled,
313
+ showEdit: showEdit,
314
+ showRemove: showRemove,
315
+ resendMessage: resendMessage,
316
+ setQuoteMessage: setQuoteMessage,
317
+ setSupposedHover: setSupposedHover
318
+ }))));
319
+ }
320
+
321
+ export { MessageContent as default };
322
+ //# sourceMappingURL=MessageContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageContent.js","sources":["../../src/ui/MessageStatus/index.tsx","../../src/ui/MessageContent/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","import React, { ReactElement, useContext, useRef, useState } from 'react';\nimport { GroupChannel, UserMessage, FileMessage, EmojiContainer } from 'sendbird';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n CoreMessageType,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: CoreMessageType;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n useReaction?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n useReaction = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage).sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage).sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const useReactionClassName = useReaction ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'supposed-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY') && message?.parentMessageId && message?.parentMessage);\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', useReactionClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className=\"sendbird-message-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', useReactionClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n {useReaction && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div className=\"sendbird-message-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message}\n userId={userId}\n isByMe={isByMe}\n onClick={() => {\n if (message?.parentMessage?.createdAt && message?.parentMessageId) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n />\n )}\n {/* reactions */}\n {(useReaction && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\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 </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, useReactionClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {useReaction && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n </div>\n )}\n </div>\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","SPINNER","PRIMARY","isSentStatus","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","format","createdAt","locale","MessageContent","userId","_h","disabled","_j","chainTop","_k","chainBottom","_l","useReaction","replyType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","messageTypes","getUIKitMessageTypes","_m","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","_o","useState","mouseHover","setMouseHover","_p","supposedHover","setSupposedHover","isByMe","sender","sendingStatus","isByMeClassName","chainTopClassName","useReactionClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","isAdminMessage","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","CAPTION_2","nickname","getSenderName","isTextMessage","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","UNKNOWN","reactions","length","EmojiReactions"],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-20904f21.js';
2
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import IconButton from './IconButton.js';
5
+ import { B as Button, a as ButtonTypes, b as ButtonSizes } from '../index-acebc2ff.js';
6
+ import Icon, { IconTypes, IconColors } from './Icon.js';
7
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-7a51bd16.js';
8
+ import { a as LocalizationContext } from '../LocalizationContext-e4391013.js';
9
+ import { d as getClassName } from '../index-8c72a94a.js';
10
+ import '../stringSet-4f6eaa60.js';
11
+ import '../index-6ebf7894.js';
12
+ import '../tslib.es6-e3c44017.js';
13
+
14
+ var LINE_HEIGHT = 76;
15
+
16
+ var noop = function noop() {};
17
+
18
+ var KeyCode = {
19
+ SHIFT: 16,
20
+ ENTER: 13
21
+ };
22
+
23
+ var handleUploadFile = function handleUploadFile(callback) {
24
+ return function (event) {
25
+ if (event.target.files && event.target.files[0]) {
26
+ callback(event.target.files[0]);
27
+ } // eslint-disable-next-line no-param-reassign
28
+
29
+
30
+ event.target.value = '';
31
+ };
32
+ };
33
+
34
+ var MessageInput = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
35
+ var className = props.className,
36
+ isEdit = props.isEdit,
37
+ disabled = props.disabled,
38
+ value = props.value,
39
+ name = props.name,
40
+ placeholder = props.placeholder,
41
+ maxLength = props.maxLength,
42
+ onFileUpload = props.onFileUpload,
43
+ onSendMessage = props.onSendMessage,
44
+ onCancelEdit = props.onCancelEdit,
45
+ onStartTyping = props.onStartTyping,
46
+ channelUrl = props.channelUrl;
47
+
48
+ var _useContext = useContext(LocalizationContext),
49
+ stringSet = _useContext.stringSet;
50
+
51
+ var fileInputRef = useRef(null);
52
+
53
+ var _useState = useState(value),
54
+ _useState2 = _slicedToArray(_useState, 2),
55
+ inputValue = _useState2[0],
56
+ setInputValue = _useState2[1];
57
+
58
+ var _useState3 = useState(false),
59
+ _useState4 = _slicedToArray(_useState3, 2),
60
+ isShiftPressed = _useState4[0],
61
+ setIsShiftPressed = _useState4[1];
62
+
63
+ var setHeight = function setHeight() {
64
+ try {
65
+ var elem = ref.current;
66
+ var MAX_HEIGHT = window.document.body.offsetHeight * 0.6;
67
+
68
+ if (elem && elem.scrollHeight >= LINE_HEIGHT) {
69
+ if (MAX_HEIGHT < elem.scrollHeight) {
70
+ elem.style.height = 'auto';
71
+ elem.style.height = "".concat(MAX_HEIGHT, "px");
72
+ } else {
73
+ elem.style.height = 'auto';
74
+ elem.style.height = "".concat(elem.scrollHeight, "px");
75
+ }
76
+ } else {
77
+ elem.style.height = '';
78
+ }
79
+ } catch (error) {// error
80
+ }
81
+ }; // after setHeight called twice, the textarea goes to the initialized
82
+
83
+
84
+ useEffect(function () {
85
+ setHeight();
86
+ return setHeight;
87
+ }, [inputValue]); // clear input value when channel changes
88
+
89
+ useEffect(function () {
90
+ if (!isEdit) {
91
+ setInputValue('');
92
+ }
93
+ }, [channelUrl]);
94
+
95
+ var sendMessage = function sendMessage() {
96
+ if (inputValue && inputValue.trim().length > 0) {
97
+ var trimmedInputValue = inputValue.trim();
98
+
99
+ if (isEdit) {
100
+ // useUpdateMessageCallback
101
+ onSendMessage(name, trimmedInputValue, function () {
102
+ onCancelEdit();
103
+ });
104
+ } else {
105
+ // useSendMessageCallback
106
+ onSendMessage();
107
+ setInputValue('');
108
+ }
109
+ }
110
+ };
111
+
112
+ return /*#__PURE__*/React__default.createElement("form", {
113
+ className: getClassName([className, isEdit ? 'sendbird-message-input__edit' : '', disabled ? 'sendbird-message-input-form__disabled' : ''])
114
+ }, /*#__PURE__*/React__default.createElement("div", {
115
+ className: getClassName(['sendbird-message-input', disabled ? 'sendbird-message-input__disabled' : ''])
116
+ }, /*#__PURE__*/React__default.createElement("textarea", {
117
+ className: "sendbird-message-input--textarea",
118
+ disabled: disabled,
119
+ ref: ref,
120
+ name: name,
121
+ value: inputValue,
122
+ maxLength: maxLength,
123
+ onChange: function onChange(e) {
124
+ setInputValue(e.target.value);
125
+ onStartTyping();
126
+ },
127
+ onKeyDown: function onKeyDown(e) {
128
+ if (e.keyCode === KeyCode.SHIFT) {
129
+ setIsShiftPressed(true);
130
+ }
131
+
132
+ if (!isShiftPressed && e.keyCode === KeyCode.ENTER) {
133
+ e.preventDefault();
134
+ sendMessage();
135
+ }
136
+ },
137
+ onKeyUp: function onKeyUp(e) {
138
+ if (e.keyCode === KeyCode.SHIFT) {
139
+ setIsShiftPressed(false);
140
+ }
141
+ }
142
+ }), !inputValue && /*#__PURE__*/React__default.createElement(Label, {
143
+ className: "sendbird-message-input--placeholder",
144
+ type: LabelTypography.BODY_1,
145
+ color: LabelColors.ONBACKGROUND_3
146
+ }, placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER), !isEdit && inputValue && inputValue.trim().length > 0 && /*#__PURE__*/React__default.createElement(IconButton, {
147
+ className: "sendbird-message-input--send",
148
+ height: "32px",
149
+ width: "32px",
150
+ onClick: sendMessage
151
+ }, /*#__PURE__*/React__default.createElement(Icon, {
152
+ type: IconTypes.SEND,
153
+ fillColor: IconColors.PRIMARY,
154
+ width: "20px",
155
+ height: "20px"
156
+ })), !isEdit && (!inputValue || !(inputValue.trim().length > 0)) && /*#__PURE__*/React__default.createElement(IconButton, {
157
+ className: "sendbird-message-input--attach",
158
+ height: "32px",
159
+ width: "32px",
160
+ onClick: function onClick() {
161
+ // todo: clear previous input
162
+ fileInputRef.current.click();
163
+ }
164
+ }, /*#__PURE__*/React__default.createElement(Icon, {
165
+ type: IconTypes.ATTACH,
166
+ fillColor: IconColors.CONTENT_INVERSE,
167
+ width: "20px",
168
+ height: "20px"
169
+ }), /*#__PURE__*/React__default.createElement("input", {
170
+ className: "sendbird-message-input--attach-input",
171
+ type: "file",
172
+ ref: fileInputRef,
173
+ onChange: handleUploadFile(onFileUpload)
174
+ }))), isEdit && /*#__PURE__*/React__default.createElement("div", {
175
+ className: "sendbird-message-input--edit-action"
176
+ }, /*#__PURE__*/React__default.createElement(Button, {
177
+ className: "sendbird-message-input--edit-action__cancel",
178
+ type: ButtonTypes.SECONDARY,
179
+ size: ButtonSizes.SMALL,
180
+ onClick: onCancelEdit
181
+ }, stringSet.BUTTON__CANCEL), /*#__PURE__*/React__default.createElement(Button, {
182
+ className: "sendbird-message-input--edit-action__save",
183
+ type: ButtonTypes.PRIMARY,
184
+ size: ButtonSizes.SMALL,
185
+ onClick: function onClick() {
186
+ if (inputValue) {
187
+ var trimmedInputValue = inputValue.trim();
188
+ onSendMessage(name, trimmedInputValue, function () {
189
+ onCancelEdit();
190
+ });
191
+ }
192
+ }
193
+ }, stringSet.BUTTON__SAVE)));
194
+ });
195
+ MessageInput.propTypes = {
196
+ className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
197
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
198
+ isEdit: PropTypes.bool,
199
+ name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
200
+ value: PropTypes.string,
201
+ disabled: PropTypes.bool,
202
+ maxLength: PropTypes.number,
203
+ onFileUpload: PropTypes.func,
204
+ onSendMessage: PropTypes.func,
205
+ onStartTyping: PropTypes.func,
206
+ onCancelEdit: PropTypes.func,
207
+ channelUrl: PropTypes.string
208
+ };
209
+ MessageInput.defaultProps = {
210
+ className: '',
211
+ value: '',
212
+ channelUrl: '',
213
+ onSendMessage: noop,
214
+ name: 'sendbird-message-input',
215
+ isEdit: false,
216
+ disabled: false,
217
+ placeholder: '',
218
+ maxLength: 5000,
219
+ onFileUpload: noop,
220
+ onCancelEdit: noop,
221
+ onStartTyping: noop
222
+ };
223
+
224
+ export { MessageInput as default };
225
+ //# sourceMappingURL=MessageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageInput.js","sources":["../../src/ui/MessageInput/index.jsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { getClassName } from '../../utils';\n\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst KeyCode = {\n SHIFT: 16,\n ENTER: 13,\n};\n\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n isEdit,\n disabled,\n value,\n name,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [inputValue, setInputValue] = useState(value);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n\n const setHeight = () => {\n try {\n const elem = ref.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n };\n\n // after setHeight called twice, the textarea goes to the initialized\n useEffect(() => {\n setHeight();\n return setHeight;\n }, [inputValue]);\n // clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setInputValue('');\n }\n }, [channelUrl]);\n\n const sendMessage = () => {\n if (inputValue && inputValue.trim().length > 0) {\n const trimmedInputValue = inputValue.trim();\n if (isEdit) {\n // useUpdateMessageCallback\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n } else {\n // useSendMessageCallback\n onSendMessage();\n setInputValue('');\n }\n }\n };\n\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <textarea\n className=\"sendbird-message-input--textarea\"\n disabled={disabled}\n ref={ref}\n name={name}\n value={inputValue}\n maxLength={maxLength}\n onChange={(e) => {\n setInputValue(e.target.value);\n onStartTyping();\n }}\n onKeyDown={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(true);\n }\n if (!isShiftPressed && e.keyCode === KeyCode.ENTER) {\n e.preventDefault();\n sendMessage();\n }\n }}\n onKeyUp={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(false);\n }\n }}\n />\n {/* placeholder */}\n {!inputValue && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && inputValue && inputValue.trim().length > 0) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={sendMessage}\n >\n <Icon type={IconTypes.SEND} fillColor={IconColors.PRIMARY} width=\"20px\" height=\"20px\" />\n </IconButton>\n )\n }\n {/* upload icon */}\n {\n (!isEdit && (!inputValue || !(inputValue.trim().length > 0))) && (\n <IconButton\n className=\"sendbird-message-input--attach\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef.current.click();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n )\n }\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n if (inputValue) {\n const trimmedInputValue = inputValue.trim();\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n }\n }}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isEdit: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.string,\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n};\n\nMessageInput.defaultProps = {\n className: '',\n value: '',\n channelUrl: '',\n onSendMessage: noop,\n name: 'sendbird-message-input',\n isEdit: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n};\n\nexport default MessageInput;\n"],"names":["LINE_HEIGHT","noop","KeyCode","SHIFT","ENTER","handleUploadFile","callback","event","target","files","value","MessageInput","React","forwardRef","props","ref","className","isEdit","disabled","name","placeholder","maxLength","onFileUpload","onSendMessage","onCancelEdit","onStartTyping","channelUrl","useContext","LocalizationContext","stringSet","fileInputRef","useRef","useState","inputValue","setInputValue","isShiftPressed","setIsShiftPressed","setHeight","elem","current","MAX_HEIGHT","window","document","body","offsetHeight","scrollHeight","style","height","error","useEffect","sendMessage","trim","length","trimmedInputValue","getClassName","e","keyCode","preventDefault","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","CONTENT_INVERSE","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","number","func","defaultProps"],"mappings":"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"}