@sendbird/uikit-react 3.0.0-beta → 3.0.0-beta.4

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 (590) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +27 -1
  3. package/dist/index.css +243 -135
  4. package/dist/index.css.map +1 -1
  5. package/package.json +30 -8
  6. package/App.js +0 -294
  7. package/App.js.map +0 -1
  8. package/Channel/components/ChannelHeader.js +0 -116
  9. package/Channel/components/ChannelHeader.js.map +0 -1
  10. package/Channel/components/ChannelUI.js +0 -172
  11. package/Channel/components/ChannelUI.js.map +0 -1
  12. package/Channel/components/FileViewer.js +0 -150
  13. package/Channel/components/FileViewer.js.map +0 -1
  14. package/Channel/components/FrozenNotification.js +0 -20
  15. package/Channel/components/FrozenNotification.js.map +0 -1
  16. package/Channel/components/Message.js +0 -232
  17. package/Channel/components/Message.js.map +0 -1
  18. package/Channel/components/MessageInput.js +0 -87
  19. package/Channel/components/MessageInput.js.map +0 -1
  20. package/Channel/components/MessageList.js +0 -227
  21. package/Channel/components/MessageList.js.map +0 -1
  22. package/Channel/components/RemoveMessageModal.js +0 -52
  23. package/Channel/components/RemoveMessageModal.js.map +0 -1
  24. package/Channel/components/TypingIndicator.js +0 -97
  25. package/Channel/components/TypingIndicator.js.map +0 -1
  26. package/Channel/components/UnreadCount.js +0 -41
  27. package/Channel/components/UnreadCount.js.map +0 -1
  28. package/Channel/context.js +0 -23
  29. package/Channel/context.js.map +0 -1
  30. package/Channel.js +0 -99
  31. package/Channel.js.map +0 -1
  32. package/ChannelList/components/AddChannel.js +0 -70
  33. package/ChannelList/components/AddChannel.js.map +0 -1
  34. package/ChannelList/components/ChannelListHeader.js +0 -62
  35. package/ChannelList/components/ChannelListHeader.js.map +0 -1
  36. package/ChannelList/components/ChannelListUI.js +0 -213
  37. package/ChannelList/components/ChannelListUI.js.map +0 -1
  38. package/ChannelList/components/ChannelPreview.js +0 -177
  39. package/ChannelList/components/ChannelPreview.js.map +0 -1
  40. package/ChannelList/components/ChannelPreviewAction.js +0 -131
  41. package/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  42. package/ChannelList/context.js +0 -13
  43. package/ChannelList/context.js.map +0 -1
  44. package/ChannelList.js +0 -80
  45. package/ChannelList.js.map +0 -1
  46. package/ChannelListProvider-0b0c2c40.js +0 -861
  47. package/ChannelListProvider-0b0c2c40.js.map +0 -1
  48. package/ChannelProvider-459e463f.js +0 -2083
  49. package/ChannelProvider-459e463f.js.map +0 -1
  50. package/ChannelSettings/components/AdminPanel.js +0 -905
  51. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  52. package/ChannelSettings/components/ChannelProfile.js +0 -102
  53. package/ChannelSettings/components/ChannelProfile.js.map +0 -1
  54. package/ChannelSettings/components/ChannelSettingsUI.js +0 -152
  55. package/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  56. package/ChannelSettings/components/EditDetailsModal.js +0 -154
  57. package/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  58. package/ChannelSettings/components/LeaveChannel.js +0 -53
  59. package/ChannelSettings/components/LeaveChannel.js.map +0 -1
  60. package/ChannelSettings/components/UserListItem.js +0 -105
  61. package/ChannelSettings/components/UserListItem.js.map +0 -1
  62. package/ChannelSettings/components/UserPanel.js +0 -79
  63. package/ChannelSettings/components/UserPanel.js.map +0 -1
  64. package/ChannelSettings/context.js +0 -93
  65. package/ChannelSettings/context.js.map +0 -1
  66. package/ChannelSettings.js +0 -71
  67. package/ChannelSettings.js.map +0 -1
  68. package/CreateChannel/components/CreateChannelUI.js +0 -53
  69. package/CreateChannel/components/CreateChannelUI.js.map +0 -1
  70. package/CreateChannel/components/InviteMembers.js +0 -184
  71. package/CreateChannel/components/InviteMembers.js.map +0 -1
  72. package/CreateChannel/components/SelectChannelType.js +0 -131
  73. package/CreateChannel/components/SelectChannelType.js.map +0 -1
  74. package/CreateChannel/context.js +0 -8
  75. package/CreateChannel/context.js.map +0 -1
  76. package/CreateChannel.js +0 -53
  77. package/CreateChannel.js.map +0 -1
  78. package/CreateChannelProvider-c617a1bb.js +0 -53
  79. package/CreateChannelProvider-c617a1bb.js.map +0 -1
  80. package/EditUserProfile/components/EditUserProfileUI.js +0 -26
  81. package/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  82. package/EditUserProfile/context.js +0 -27
  83. package/EditUserProfile/context.js.map +0 -1
  84. package/EditUserProfile.js +0 -39
  85. package/EditUserProfile.js.map +0 -1
  86. package/LocalizationContext-e4391013.js +0 -22
  87. package/LocalizationContext-e4391013.js.map +0 -1
  88. package/MemberList-6655cba0.js +0 -425
  89. package/MemberList-6655cba0.js.map +0 -1
  90. package/MessageSearch/components/MessageSearchUI.js +0 -151
  91. package/MessageSearch/components/MessageSearchUI.js.map +0 -1
  92. package/MessageSearch/context.js +0 -392
  93. package/MessageSearch/context.js.map +0 -1
  94. package/MessageSearch.js +0 -146
  95. package/MessageSearch.js.map +0 -1
  96. package/OpenChannel/components/FrozenChannelNotification.js +0 -20
  97. package/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  98. package/OpenChannel/components/OpenChannelHeader.js +0 -78
  99. package/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  100. package/OpenChannel/components/OpenChannelInput.js +0 -52
  101. package/OpenChannel/components/OpenChannelInput.js.map +0 -1
  102. package/OpenChannel/components/OpenChannelMessage.js +0 -278
  103. package/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  104. package/OpenChannel/components/OpenChannelMessageList.js +0 -153
  105. package/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  106. package/OpenChannel/components/OpenChannelUI.js +0 -105
  107. package/OpenChannel/components/OpenChannelUI.js.map +0 -1
  108. package/OpenChannel/context.js +0 -14
  109. package/OpenChannel/context.js.map +0 -1
  110. package/OpenChannel.js +0 -76
  111. package/OpenChannel.js.map +0 -1
  112. package/OpenChannelProvider-a7691eb4.js +0 -2011
  113. package/OpenChannelProvider-a7691eb4.js.map +0 -1
  114. package/OpenChannelSettings/components/EditDetailsModal.js +0 -149
  115. package/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  116. package/OpenChannelSettings/components/OpenChannelProfile.js +0 -81
  117. package/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  118. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -104
  119. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  120. package/OpenChannelSettings/components/OperatorUI.js +0 -184
  121. package/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  122. package/OpenChannelSettings/components/ParticipantUI.js +0 -172
  123. package/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  124. package/OpenChannelSettings/context.js +0 -64
  125. package/OpenChannelSettings/context.js.map +0 -1
  126. package/OpenChannelSettings.js +0 -64
  127. package/OpenChannelSettings.js.map +0 -1
  128. package/SendbirdProvider.js +0 -740
  129. package/SendbirdProvider.js.map +0 -1
  130. package/UserProfileContext-865db5e6.js +0 -38
  131. package/UserProfileContext-865db5e6.js.map +0 -1
  132. package/_rollupPluginBabelHelpers-20904f21.js +0 -233
  133. package/_rollupPluginBabelHelpers-20904f21.js.map +0 -1
  134. package/actionTypes-1e3a4074.js +0 -6
  135. package/actionTypes-1e3a4074.js.map +0 -1
  136. package/cjs/App.js +0 -301
  137. package/cjs/App.js.map +0 -1
  138. package/cjs/Channel/components/ChannelHeader.js +0 -122
  139. package/cjs/Channel/components/ChannelHeader.js.map +0 -1
  140. package/cjs/Channel/components/ChannelUI.js +0 -178
  141. package/cjs/Channel/components/ChannelUI.js.map +0 -1
  142. package/cjs/Channel/components/FileViewer.js +0 -159
  143. package/cjs/Channel/components/FileViewer.js.map +0 -1
  144. package/cjs/Channel/components/FrozenNotification.js +0 -26
  145. package/cjs/Channel/components/FrozenNotification.js.map +0 -1
  146. package/cjs/Channel/components/Message.js +0 -238
  147. package/cjs/Channel/components/Message.js.map +0 -1
  148. package/cjs/Channel/components/MessageInput.js +0 -93
  149. package/cjs/Channel/components/MessageInput.js.map +0 -1
  150. package/cjs/Channel/components/MessageList.js +0 -233
  151. package/cjs/Channel/components/MessageList.js.map +0 -1
  152. package/cjs/Channel/components/RemoveMessageModal.js +0 -58
  153. package/cjs/Channel/components/RemoveMessageModal.js.map +0 -1
  154. package/cjs/Channel/components/TypingIndicator.js +0 -103
  155. package/cjs/Channel/components/TypingIndicator.js.map +0 -1
  156. package/cjs/Channel/components/UnreadCount.js +0 -47
  157. package/cjs/Channel/components/UnreadCount.js.map +0 -1
  158. package/cjs/Channel/context.js +0 -32
  159. package/cjs/Channel/context.js.map +0 -1
  160. package/cjs/Channel.js +0 -105
  161. package/cjs/Channel.js.map +0 -1
  162. package/cjs/ChannelList/components/AddChannel.js +0 -79
  163. package/cjs/ChannelList/components/AddChannel.js.map +0 -1
  164. package/cjs/ChannelList/components/ChannelListHeader.js +0 -68
  165. package/cjs/ChannelList/components/ChannelListHeader.js.map +0 -1
  166. package/cjs/ChannelList/components/ChannelListUI.js +0 -219
  167. package/cjs/ChannelList/components/ChannelListUI.js.map +0 -1
  168. package/cjs/ChannelList/components/ChannelPreview.js +0 -183
  169. package/cjs/ChannelList/components/ChannelPreview.js.map +0 -1
  170. package/cjs/ChannelList/components/ChannelPreviewAction.js +0 -138
  171. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  172. package/cjs/ChannelList/context.js +0 -22
  173. package/cjs/ChannelList/context.js.map +0 -1
  174. package/cjs/ChannelList.js +0 -86
  175. package/cjs/ChannelList.js.map +0 -1
  176. package/cjs/ChannelListProvider-5a152618.js +0 -873
  177. package/cjs/ChannelListProvider-5a152618.js.map +0 -1
  178. package/cjs/ChannelProvider-f1fb0108.js +0 -2096
  179. package/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  180. package/cjs/ChannelSettings/components/AdminPanel.js +0 -911
  181. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  182. package/cjs/ChannelSettings/components/ChannelProfile.js +0 -108
  183. package/cjs/ChannelSettings/components/ChannelProfile.js.map +0 -1
  184. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -158
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  186. package/cjs/ChannelSettings/components/EditDetailsModal.js +0 -160
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  188. package/cjs/ChannelSettings/components/LeaveChannel.js +0 -59
  189. package/cjs/ChannelSettings/components/LeaveChannel.js.map +0 -1
  190. package/cjs/ChannelSettings/components/UserListItem.js +0 -111
  191. package/cjs/ChannelSettings/components/UserListItem.js.map +0 -1
  192. package/cjs/ChannelSettings/components/UserPanel.js +0 -85
  193. package/cjs/ChannelSettings/components/UserPanel.js.map +0 -1
  194. package/cjs/ChannelSettings/context.js +0 -102
  195. package/cjs/ChannelSettings/context.js.map +0 -1
  196. package/cjs/ChannelSettings.js +0 -77
  197. package/cjs/ChannelSettings.js.map +0 -1
  198. package/cjs/CreateChannel/components/CreateChannelUI.js +0 -59
  199. package/cjs/CreateChannel/components/CreateChannelUI.js.map +0 -1
  200. package/cjs/CreateChannel/components/InviteMembers.js +0 -190
  201. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  202. package/cjs/CreateChannel/components/SelectChannelType.js +0 -137
  203. package/cjs/CreateChannel/components/SelectChannelType.js.map +0 -1
  204. package/cjs/CreateChannel/context.js +0 -17
  205. package/cjs/CreateChannel/context.js.map +0 -1
  206. package/cjs/CreateChannel.js +0 -59
  207. package/cjs/CreateChannel.js.map +0 -1
  208. package/cjs/CreateChannelProvider-df42106f.js +0 -60
  209. package/cjs/CreateChannelProvider-df42106f.js.map +0 -1
  210. package/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -32
  211. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  212. package/cjs/EditUserProfile/context.js +0 -36
  213. package/cjs/EditUserProfile/context.js.map +0 -1
  214. package/cjs/EditUserProfile.js +0 -45
  215. package/cjs/EditUserProfile.js.map +0 -1
  216. package/cjs/LocalizationContext-68e55e2a.js +0 -30
  217. package/cjs/LocalizationContext-68e55e2a.js.map +0 -1
  218. package/cjs/MemberList-dc84e303.js +0 -431
  219. package/cjs/MemberList-dc84e303.js.map +0 -1
  220. package/cjs/MessageSearch/components/MessageSearchUI.js +0 -160
  221. package/cjs/MessageSearch/components/MessageSearchUI.js.map +0 -1
  222. package/cjs/MessageSearch/context.js +0 -401
  223. package/cjs/MessageSearch/context.js.map +0 -1
  224. package/cjs/MessageSearch.js +0 -152
  225. package/cjs/MessageSearch.js.map +0 -1
  226. package/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -26
  227. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  228. package/cjs/OpenChannel/components/OpenChannelHeader.js +0 -84
  229. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  230. package/cjs/OpenChannel/components/OpenChannelInput.js +0 -58
  231. package/cjs/OpenChannel/components/OpenChannelInput.js.map +0 -1
  232. package/cjs/OpenChannel/components/OpenChannelMessage.js +0 -284
  233. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  234. package/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -159
  235. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  236. package/cjs/OpenChannel/components/OpenChannelUI.js +0 -111
  237. package/cjs/OpenChannel/components/OpenChannelUI.js.map +0 -1
  238. package/cjs/OpenChannel/context.js +0 -23
  239. package/cjs/OpenChannel/context.js.map +0 -1
  240. package/cjs/OpenChannel.js +0 -82
  241. package/cjs/OpenChannel.js.map +0 -1
  242. package/cjs/OpenChannelProvider-7a1a996f.js +0 -2020
  243. package/cjs/OpenChannelProvider-7a1a996f.js.map +0 -1
  244. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -155
  245. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  246. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -87
  247. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  248. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -110
  249. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  250. package/cjs/OpenChannelSettings/components/OperatorUI.js +0 -194
  251. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  252. package/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -178
  253. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  254. package/cjs/OpenChannelSettings/context.js +0 -73
  255. package/cjs/OpenChannelSettings/context.js.map +0 -1
  256. package/cjs/OpenChannelSettings.js +0 -70
  257. package/cjs/OpenChannelSettings.js.map +0 -1
  258. package/cjs/SendbirdProvider.js +0 -749
  259. package/cjs/SendbirdProvider.js.map +0 -1
  260. package/cjs/UserProfileContext-3533547d.js +0 -46
  261. package/cjs/UserProfileContext-3533547d.js.map +0 -1
  262. package/cjs/_rollupPluginBabelHelpers-fc14118c.js +0 -243
  263. package/cjs/_rollupPluginBabelHelpers-fc14118c.js.map +0 -1
  264. package/cjs/actionTypes-bc47f97a.js +0 -10
  265. package/cjs/actionTypes-bc47f97a.js.map +0 -1
  266. package/cjs/color-4afb15fb.js +0 -42
  267. package/cjs/color-4afb15fb.js.map +0 -1
  268. package/cjs/compareIds-01306377.js +0 -20
  269. package/cjs/compareIds-01306377.js.map +0 -1
  270. package/cjs/context-c1f9d650.js +0 -19
  271. package/cjs/context-c1f9d650.js.map +0 -1
  272. package/cjs/index-1044f1ed.js +0 -97
  273. package/cjs/index-1044f1ed.js.map +0 -1
  274. package/cjs/index-1468d245.js +0 -142
  275. package/cjs/index-1468d245.js.map +0 -1
  276. package/cjs/index-4987c8b2.js +0 -175
  277. package/cjs/index-4987c8b2.js.map +0 -1
  278. package/cjs/index-659c9ca5.js +0 -130
  279. package/cjs/index-659c9ca5.js.map +0 -1
  280. package/cjs/index-8becccd8.js +0 -284
  281. package/cjs/index-8becccd8.js.map +0 -1
  282. package/cjs/index-905331fa.js +0 -1880
  283. package/cjs/index-905331fa.js.map +0 -1
  284. package/cjs/index-9dc3863f.js +0 -67
  285. package/cjs/index-9dc3863f.js.map +0 -1
  286. package/cjs/index-aecc8d24.js +0 -9
  287. package/cjs/index-aecc8d24.js.map +0 -1
  288. package/cjs/index-d4880236.js +0 -641
  289. package/cjs/index-d4880236.js.map +0 -1
  290. package/cjs/index-e2bb862c.js +0 -514
  291. package/cjs/index-e2bb862c.js.map +0 -1
  292. package/cjs/index.css +0 -4355
  293. package/cjs/index.css.map +0 -1
  294. package/cjs/index.js +0 -155
  295. package/cjs/index.js.map +0 -1
  296. package/cjs/openChannelUtils-37919a36.js +0 -92
  297. package/cjs/openChannelUtils-37919a36.js.map +0 -1
  298. package/cjs/sendBirdSelectors.js +0 -741
  299. package/cjs/sendBirdSelectors.js.map +0 -1
  300. package/cjs/stringSet-aa544ce5.js +0 -116
  301. package/cjs/stringSet-aa544ce5.js.map +0 -1
  302. package/cjs/topics-8314d425.js +0 -18
  303. package/cjs/topics-8314d425.js.map +0 -1
  304. package/cjs/tslib.es6-4a281a05.js +0 -40
  305. package/cjs/tslib.es6-4a281a05.js.map +0 -1
  306. package/cjs/ui/Accordion.js +0 -74
  307. package/cjs/ui/Accordion.js.map +0 -1
  308. package/cjs/ui/AccordionGroup.js +0 -32
  309. package/cjs/ui/AccordionGroup.js.map +0 -1
  310. package/cjs/ui/AdminMessage.js +0 -44
  311. package/cjs/ui/AdminMessage.js.map +0 -1
  312. package/cjs/ui/Avatar.js +0 -226
  313. package/cjs/ui/Avatar.js.map +0 -1
  314. package/cjs/ui/Badge.js +0 -45
  315. package/cjs/ui/Badge.js.map +0 -1
  316. package/cjs/ui/Button.js +0 -17
  317. package/cjs/ui/Button.js.map +0 -1
  318. package/cjs/ui/ChannelAvatar.js +0 -59
  319. package/cjs/ui/ChannelAvatar.js.map +0 -1
  320. package/cjs/ui/ChannelPreview.js +0 -201
  321. package/cjs/ui/ChannelPreview.js.map +0 -1
  322. package/cjs/ui/ChatHeader.js +0 -145
  323. package/cjs/ui/ChatHeader.js.map +0 -1
  324. package/cjs/ui/Checkbox.js +0 -49
  325. package/cjs/ui/Checkbox.js.map +0 -1
  326. package/cjs/ui/ConnectionStatus.js +0 -34
  327. package/cjs/ui/ConnectionStatus.js.map +0 -1
  328. package/cjs/ui/ContextMenu.js +0 -431
  329. package/cjs/ui/ContextMenu.js.map +0 -1
  330. package/cjs/ui/DateSeparator.js +0 -44
  331. package/cjs/ui/DateSeparator.js.map +0 -1
  332. package/cjs/ui/Dropdown.js +0 -107
  333. package/cjs/ui/Dropdown.js.map +0 -1
  334. package/cjs/ui/EmojiReactions.js +0 -127
  335. package/cjs/ui/EmojiReactions.js.map +0 -1
  336. package/cjs/ui/FileMessageItemBody.js +0 -57
  337. package/cjs/ui/FileMessageItemBody.js.map +0 -1
  338. package/cjs/ui/FileViewer.js +0 -174
  339. package/cjs/ui/FileViewer.js.map +0 -1
  340. package/cjs/ui/Icon.js +0 -1462
  341. package/cjs/ui/Icon.js.map +0 -1
  342. package/cjs/ui/IconButton.js +0 -83
  343. package/cjs/ui/IconButton.js.map +0 -1
  344. package/cjs/ui/ImageRenderer.js +0 -138
  345. package/cjs/ui/ImageRenderer.js.map +0 -1
  346. package/cjs/ui/Input.js +0 -74
  347. package/cjs/ui/Input.js.map +0 -1
  348. package/cjs/ui/Label.js +0 -17
  349. package/cjs/ui/Label.js.map +0 -1
  350. package/cjs/ui/LinkLabel.js +0 -51
  351. package/cjs/ui/LinkLabel.js.map +0 -1
  352. package/cjs/ui/Loader.js +0 -44
  353. package/cjs/ui/Loader.js.map +0 -1
  354. package/cjs/ui/MessageContent.js +0 -328
  355. package/cjs/ui/MessageContent.js.map +0 -1
  356. package/cjs/ui/MessageInput.js +0 -232
  357. package/cjs/ui/MessageInput.js.map +0 -1
  358. package/cjs/ui/MessageItemMenu.js +0 -141
  359. package/cjs/ui/MessageItemMenu.js.map +0 -1
  360. package/cjs/ui/MessageItemReactionMenu.js +0 -112
  361. package/cjs/ui/MessageItemReactionMenu.js.map +0 -1
  362. package/cjs/ui/MessageSearchFileItem.js +0 -130
  363. package/cjs/ui/MessageSearchFileItem.js.map +0 -1
  364. package/cjs/ui/MessageSearchItem.js +0 -93
  365. package/cjs/ui/MessageSearchItem.js.map +0 -1
  366. package/cjs/ui/Modal.js +0 -140
  367. package/cjs/ui/Modal.js.map +0 -1
  368. package/cjs/ui/MutedAvatarOverlay.js +0 -40
  369. package/cjs/ui/MutedAvatarOverlay.js.map +0 -1
  370. package/cjs/ui/OGMessageItemBody.js +0 -97
  371. package/cjs/ui/OGMessageItemBody.js.map +0 -1
  372. package/cjs/ui/OpenChannelAdminMessage.js +0 -27
  373. package/cjs/ui/OpenChannelAdminMessage.js.map +0 -1
  374. package/cjs/ui/OpenChannelAvatar.js +0 -41
  375. package/cjs/ui/OpenChannelAvatar.js.map +0 -1
  376. package/cjs/ui/OpenChannelMessageContent.js +0 -14
  377. package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  378. package/cjs/ui/OpenchannelConversationHeader.js +0 -73
  379. package/cjs/ui/OpenchannelConversationHeader.js.map +0 -1
  380. package/cjs/ui/OpenchannelFileMessage.js +0 -230
  381. package/cjs/ui/OpenchannelFileMessage.js.map +0 -1
  382. package/cjs/ui/OpenchannelOGMessage.js +0 -345
  383. package/cjs/ui/OpenchannelOGMessage.js.map +0 -1
  384. package/cjs/ui/OpenchannelThumbnailMessage.js +0 -305
  385. package/cjs/ui/OpenchannelThumbnailMessage.js.map +0 -1
  386. package/cjs/ui/OpenchannelUserMessage.js +0 -264
  387. package/cjs/ui/OpenchannelUserMessage.js.map +0 -1
  388. package/cjs/ui/PlaceHolder.js +0 -20
  389. package/cjs/ui/PlaceHolder.js.map +0 -1
  390. package/cjs/ui/QuoteMessage.js +0 -131
  391. package/cjs/ui/QuoteMessage.js.map +0 -1
  392. package/cjs/ui/QuoteMessageInput.js +0 -99
  393. package/cjs/ui/QuoteMessageInput.js.map +0 -1
  394. package/cjs/ui/ReactionBadge.js +0 -68
  395. package/cjs/ui/ReactionBadge.js.map +0 -1
  396. package/cjs/ui/ReactionButton.js +0 -55
  397. package/cjs/ui/ReactionButton.js.map +0 -1
  398. package/cjs/ui/SortByRow.js +0 -57
  399. package/cjs/ui/SortByRow.js.map +0 -1
  400. package/cjs/ui/TextButton.js +0 -45
  401. package/cjs/ui/TextButton.js.map +0 -1
  402. package/cjs/ui/TextMessageItemBody.js +0 -40
  403. package/cjs/ui/TextMessageItemBody.js.map +0 -1
  404. package/cjs/ui/ThumbnailMessageItemBody.js +0 -82
  405. package/cjs/ui/ThumbnailMessageItemBody.js.map +0 -1
  406. package/cjs/ui/Tooltip.js +0 -35
  407. package/cjs/ui/Tooltip.js.map +0 -1
  408. package/cjs/ui/TooltipWrapper.js +0 -65
  409. package/cjs/ui/TooltipWrapper.js.map +0 -1
  410. package/cjs/ui/UnknownMessageItemBody.js +0 -41
  411. package/cjs/ui/UnknownMessageItemBody.js.map +0 -1
  412. package/cjs/ui/UserListItem.js +0 -158
  413. package/cjs/ui/UserListItem.js.map +0 -1
  414. package/cjs/ui/UserProfile.js +0 -87
  415. package/cjs/ui/UserProfile.js.map +0 -1
  416. package/cjs/useSendbirdStateContext.js +0 -22
  417. package/cjs/useSendbirdStateContext.js.map +0 -1
  418. package/cjs/utils-3b0815dc.js +0 -6
  419. package/cjs/utils-3b0815dc.js.map +0 -1
  420. package/cjs/utils-66b3f4ec.js +0 -38
  421. package/cjs/utils-66b3f4ec.js.map +0 -1
  422. package/cjs/utils-cbd3ed99.js +0 -32
  423. package/cjs/utils-cbd3ed99.js.map +0 -1
  424. package/cjs/uuid-1d5ec8b2.js +0 -19
  425. package/cjs/uuid-1d5ec8b2.js.map +0 -1
  426. package/cjs/withSendBird.js +0 -35
  427. package/cjs/withSendBird.js.map +0 -1
  428. package/color-ee3fc5ee.js +0 -39
  429. package/color-ee3fc5ee.js.map +0 -1
  430. package/compareIds-808956f2.js +0 -18
  431. package/compareIds-808956f2.js.map +0 -1
  432. package/context-98ce535c.js +0 -12
  433. package/context-98ce535c.js.map +0 -1
  434. package/index-1718324d.js +0 -280
  435. package/index-1718324d.js.map +0 -1
  436. package/index-5c2c81bc.js +0 -168
  437. package/index-5c2c81bc.js.map +0 -1
  438. package/index-6ebf7894.js +0 -512
  439. package/index-6ebf7894.js.map +0 -1
  440. package/index-770d7112.js +0 -1873
  441. package/index-770d7112.js.map +0 -1
  442. package/index-7a51bd16.js +0 -131
  443. package/index-7a51bd16.js.map +0 -1
  444. package/index-8c72a94a.js +0 -602
  445. package/index-8c72a94a.js.map +0 -1
  446. package/index-942c85a6.js +0 -7
  447. package/index-942c85a6.js.map +0 -1
  448. package/index-acebc2ff.js +0 -87
  449. package/index-acebc2ff.js.map +0 -1
  450. package/index-cd21929d.js +0 -64
  451. package/index-cd21929d.js.map +0 -1
  452. package/index-e818a8a3.js +0 -121
  453. package/index-e818a8a3.js.map +0 -1
  454. package/index.css +0 -4355
  455. package/index.css.map +0 -1
  456. package/index.d.ts +0 -1801
  457. package/index.js +0 -136
  458. package/index.js.map +0 -1
  459. package/openChannelUtils-56a372e7.js +0 -81
  460. package/openChannelUtils-56a372e7.js.map +0 -1
  461. package/sendBirdSelectors.js +0 -713
  462. package/sendBirdSelectors.js.map +0 -1
  463. package/stringSet-4f6eaa60.js +0 -114
  464. package/stringSet-4f6eaa60.js.map +0 -1
  465. package/topics-9442035c.js +0 -10
  466. package/topics-9442035c.js.map +0 -1
  467. package/tslib.es6-e3c44017.js +0 -38
  468. package/tslib.es6-e3c44017.js.map +0 -1
  469. package/ui/Accordion.js +0 -65
  470. package/ui/Accordion.js.map +0 -1
  471. package/ui/AccordionGroup.js +0 -26
  472. package/ui/AccordionGroup.js.map +0 -1
  473. package/ui/AdminMessage.js +0 -37
  474. package/ui/AdminMessage.js.map +0 -1
  475. package/ui/Avatar.js +0 -217
  476. package/ui/Avatar.js.map +0 -1
  477. package/ui/Badge.js +0 -38
  478. package/ui/Badge.js.map +0 -1
  479. package/ui/Button.js +0 -7
  480. package/ui/Button.js.map +0 -1
  481. package/ui/ChannelAvatar.js +0 -53
  482. package/ui/ChannelAvatar.js.map +0 -1
  483. package/ui/ChannelPreview.js +0 -194
  484. package/ui/ChannelPreview.js.map +0 -1
  485. package/ui/ChatHeader.js +0 -138
  486. package/ui/ChatHeader.js.map +0 -1
  487. package/ui/Checkbox.js +0 -42
  488. package/ui/Checkbox.js.map +0 -1
  489. package/ui/ConnectionStatus.js +0 -28
  490. package/ui/ConnectionStatus.js.map +0 -1
  491. package/ui/ContextMenu.js +0 -417
  492. package/ui/ContextMenu.js.map +0 -1
  493. package/ui/DateSeparator.js +0 -37
  494. package/ui/DateSeparator.js.map +0 -1
  495. package/ui/Dropdown.js +0 -97
  496. package/ui/Dropdown.js.map +0 -1
  497. package/ui/EmojiReactions.js +0 -121
  498. package/ui/EmojiReactions.js.map +0 -1
  499. package/ui/FileMessageItemBody.js +0 -51
  500. package/ui/FileMessageItemBody.js.map +0 -1
  501. package/ui/FileViewer.js +0 -164
  502. package/ui/FileViewer.js.map +0 -1
  503. package/ui/Icon.js +0 -1432
  504. package/ui/Icon.js.map +0 -1
  505. package/ui/IconButton.js +0 -76
  506. package/ui/IconButton.js.map +0 -1
  507. package/ui/ImageRenderer.js +0 -131
  508. package/ui/ImageRenderer.js.map +0 -1
  509. package/ui/Input.js +0 -64
  510. package/ui/Input.js.map +0 -1
  511. package/ui/Label.js +0 -6
  512. package/ui/Label.js.map +0 -1
  513. package/ui/LinkLabel.js +0 -40
  514. package/ui/LinkLabel.js.map +0 -1
  515. package/ui/Loader.js +0 -37
  516. package/ui/Loader.js.map +0 -1
  517. package/ui/MessageContent.js +0 -322
  518. package/ui/MessageContent.js.map +0 -1
  519. package/ui/MessageInput.js +0 -225
  520. package/ui/MessageInput.js.map +0 -1
  521. package/ui/MessageItemMenu.js +0 -135
  522. package/ui/MessageItemMenu.js.map +0 -1
  523. package/ui/MessageItemReactionMenu.js +0 -106
  524. package/ui/MessageItemReactionMenu.js.map +0 -1
  525. package/ui/MessageSearchFileItem.js +0 -124
  526. package/ui/MessageSearchFileItem.js.map +0 -1
  527. package/ui/MessageSearchItem.js +0 -87
  528. package/ui/MessageSearchItem.js.map +0 -1
  529. package/ui/Modal.js +0 -128
  530. package/ui/Modal.js.map +0 -1
  531. package/ui/MutedAvatarOverlay.js +0 -34
  532. package/ui/MutedAvatarOverlay.js.map +0 -1
  533. package/ui/OGMessageItemBody.js +0 -91
  534. package/ui/OGMessageItemBody.js.map +0 -1
  535. package/ui/OpenChannelAdminMessage.js +0 -21
  536. package/ui/OpenChannelAdminMessage.js.map +0 -1
  537. package/ui/OpenChannelAvatar.js +0 -35
  538. package/ui/OpenChannelAvatar.js.map +0 -1
  539. package/ui/OpenChannelMessageContent.js +0 -8
  540. package/ui/OpenChannelMessageContent.js.map +0 -1
  541. package/ui/OpenchannelConversationHeader.js +0 -67
  542. package/ui/OpenchannelConversationHeader.js.map +0 -1
  543. package/ui/OpenchannelFileMessage.js +0 -224
  544. package/ui/OpenchannelFileMessage.js.map +0 -1
  545. package/ui/OpenchannelOGMessage.js +0 -339
  546. package/ui/OpenchannelOGMessage.js.map +0 -1
  547. package/ui/OpenchannelThumbnailMessage.js +0 -299
  548. package/ui/OpenchannelThumbnailMessage.js.map +0 -1
  549. package/ui/OpenchannelUserMessage.js +0 -258
  550. package/ui/OpenchannelUserMessage.js.map +0 -1
  551. package/ui/PlaceHolder.js +0 -11
  552. package/ui/PlaceHolder.js.map +0 -1
  553. package/ui/QuoteMessage.js +0 -125
  554. package/ui/QuoteMessage.js.map +0 -1
  555. package/ui/QuoteMessageInput.js +0 -93
  556. package/ui/QuoteMessageInput.js.map +0 -1
  557. package/ui/ReactionBadge.js +0 -61
  558. package/ui/ReactionBadge.js.map +0 -1
  559. package/ui/ReactionButton.js +0 -48
  560. package/ui/ReactionButton.js.map +0 -1
  561. package/ui/SortByRow.js +0 -50
  562. package/ui/SortByRow.js.map +0 -1
  563. package/ui/TextButton.js +0 -38
  564. package/ui/TextButton.js.map +0 -1
  565. package/ui/TextMessageItemBody.js +0 -34
  566. package/ui/TextMessageItemBody.js.map +0 -1
  567. package/ui/ThumbnailMessageItemBody.js +0 -76
  568. package/ui/ThumbnailMessageItemBody.js.map +0 -1
  569. package/ui/Tooltip.js +0 -28
  570. package/ui/Tooltip.js.map +0 -1
  571. package/ui/TooltipWrapper.js +0 -58
  572. package/ui/TooltipWrapper.js.map +0 -1
  573. package/ui/UnknownMessageItemBody.js +0 -35
  574. package/ui/UnknownMessageItemBody.js.map +0 -1
  575. package/ui/UserListItem.js +0 -151
  576. package/ui/UserListItem.js.map +0 -1
  577. package/ui/UserProfile.js +0 -81
  578. package/ui/UserProfile.js.map +0 -1
  579. package/useSendbirdStateContext.js +0 -20
  580. package/useSendbirdStateContext.js.map +0 -1
  581. package/utils-08c4dbdc.js +0 -34
  582. package/utils-08c4dbdc.js.map +0 -1
  583. package/utils-af1b9829.js +0 -30
  584. package/utils-af1b9829.js.map +0 -1
  585. package/utils-c393e880.js +0 -4
  586. package/utils-c393e880.js.map +0 -1
  587. package/uuid-b0c93400.js +0 -17
  588. package/uuid-b0c93400.js.map +0 -1
  589. package/withSendBird.js +0 -26
  590. package/withSendBird.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../src/ui/ContextMenu/items/MenuItems.jsx","../../src/ui/ContextMenu/items/EmojiListItems.jsx","../../src/ui/ContextMenu/index.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\n\nexport default class MenuItems extends Component {\n constructor(props) {\n super(props);\n this.menuRef = React.createRef();\n this.state = {\n menuStyle: {},\n handleClickOutside: () => { },\n };\n }\n\n componentDidMount() {\n this.setupEvents();\n this.getMenuPosition();\n this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-icon--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-icon--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef.current && !menuRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = () => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef.current.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const menuStyle = {\n top: y,\n left: x,\n };\n\n if (!this.menuRef.current) return menuStyle;\n\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n\n return this.setState({ menuStyle });\n }\n\n render() {\n const { menuStyle } = this.state;\n const { children, style } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\nMenuItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n style: PropTypes.shape({}),\n // https://stackoverflow.com/a/51127130\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n openLeft: PropTypes.bool,\n};\nMenuItems.defaultProps = {\n style: {},\n openLeft: false,\n};\n","import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\n\nimport SortByRow from '../../SortByRow';\n\nexport default class EmojiListItems extends Component {\n constructor(props) {\n super(props);\n this.reactionRef = React.createRef();\n this.state = {\n reactionStyle: {},\n handleClickOutside: () => { },\n };\n }\n\n componentDidMount() {\n this.setupEvents();\n this.getBarPosition();\n this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-reactions--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-reactions--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { reactionRef } = this;\n const handleClickOutside = (event) => {\n if (reactionRef.current && !reactionRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getBarPosition = () => {\n // calculate the location that the context menu should be\n const {\n parentRef,\n spaceFromTrigger,\n } = this.props;\n const spaceFromTriggerX = spaceFromTrigger.x || 0;\n const spaceFromTriggerY = spaceFromTrigger.y || 0;\n\n const parentRect = parentRef.current.getBoundingClientRect();\n\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n\n const reactionStyle = {\n top: y,\n left: x,\n };\n\n if (!this.reactionRef.current) return reactionStyle;\n const rect = this.reactionRef.current.getBoundingClientRect();\n\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n\n reactionStyle.left -= (rect.width / 2);\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n\n const maximumLeft = (window.innerWidth - rect.width);\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n\n return this.setState({ reactionStyle });\n }\n\n render() {\n const { reactionStyle } = this.state;\n const { children } = this.props;\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={this.reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n }\n}\nEmojiListItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n spaceFromTrigger: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n};\nEmojiListItems.defaultProps = {\n spaceFromTrigger: {},\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { getClassName } from '../../utils';\n\nimport MenuItems_ from './items/MenuItems';\nimport EmojiListItems_ from './items/EmojiListItems';\n\nconst ENTER = 13;\n\nexport const MenuItems = MenuItems_;\nexport const EmojiListItems = EmojiListItems_;\n\nexport const MenuItem = ({\n className,\n children,\n onClick,\n disable,\n}) => {\n const handleClickEvent = (e) => { if (!disable) onClick(e); };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nMenuItem.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n onClick: PropTypes.func.isRequired,\n disable: PropTypes.bool,\n};\n\nMenuItem.defaultProps = {\n className: '',\n disable: false,\n};\n\n// Root components should be appended before ContextMenu is rendered\nexport const MenuRoot = () => (\n <div id=\"sendbird-dropdown-portal\" />\n);\nexport const EmojiReactionListRoot = () => (\n <div id=\"sendbird-emoji-list-portal\" />\n);\n\nexport default function ContextMenu({ menuTrigger, menuItems }) {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n <div className=\"sendbird-context-menu\" style={{ display: 'inline' }}>\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n\nContextMenu.propTypes = {\n menuTrigger: PropTypes.func.isRequired,\n menuItems: PropTypes.func.isRequired,\n};\n"],"names":["MenuItems","props","parentContainRef","current","classList","add","remove","closeDropdown","menuRef","handleClickOutside","event","contains","target","setState","document","addEventListener","state","removeEventListener","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","window","innerWidth","innerHeight","rect","height","width","padding","Number","isNaN","React","createRef","setupEvents","getMenuPosition","showParent","cleanUpEvents","hideParent","children","style","createPortal","display","position","Math","round","getElementById","Component","propTypes","PropTypes","func","isRequired","oneOfType","element","arrayOf","shape","instanceOf","Element","bool","defaultProps","EmojiListItems","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","number","ENTER","MenuItems_","EmojiListItems_","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","string","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","useState","showMenu","setShowMenu"],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-20904f21.js';
2
- import React__default from 'react';
3
- import PropTypes from 'prop-types';
4
- import { C as Colors, c as changeColorToClassName } from '../color-ee3fc5ee.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-7a51bd16.js';
6
- import '../stringSet-4f6eaa60.js';
7
-
8
- function DateSeparator(_ref) {
9
- var className = _ref.className,
10
- children = _ref.children,
11
- separatorColor = _ref.separatorColor;
12
- return /*#__PURE__*/React__default.createElement("div", {
13
- className: [].concat(_toConsumableArray(Array.isArray(className) ? className : [className]), ['sendbird-separator']).join(' ')
14
- }, /*#__PURE__*/React__default.createElement("div", {
15
- className: ['sendbird-separator__left', "".concat(changeColorToClassName(separatorColor), "--background-color")].join(' ')
16
- }), /*#__PURE__*/React__default.createElement("div", {
17
- className: "sendbird-separator__text"
18
- }, children), /*#__PURE__*/React__default.createElement("div", {
19
- className: ['sendbird-separator__right', "".concat(changeColorToClassName(separatorColor), "--background-color")].join(' ')
20
- }));
21
- }
22
- DateSeparator.propTypes = {
23
- className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
24
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.element]),
25
- separatorColor: PropTypes.string
26
- };
27
- DateSeparator.defaultProps = {
28
- className: '',
29
- children: /*#__PURE__*/React__default.createElement(Label, {
30
- type: LabelTypography.CAPTION_2,
31
- color: LabelColors.ONBACKGROUND_2
32
- }, "Date Separator"),
33
- separatorColor: Colors.ONBACKGROUND_4
34
- };
35
-
36
- export { DateSeparator as default };
37
- //# sourceMappingURL=DateSeparator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateSeparator.js","sources":["../../src/ui/DateSeparator/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { changeColorToClassName, Colors } from '../../utils/color';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport default function DateSeparator({\n className,\n children,\n separatorColor,\n}) {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-separator',\n ].join(' ')}\n >\n <div className={['sendbird-separator__left', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n <div className=\"sendbird-separator__text\">{children}</div>\n <div className={['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n </div>\n );\n}\n\nDateSeparator.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.element,\n ]),\n separatorColor: PropTypes.string,\n};\n\nDateSeparator.defaultProps = {\n className: '',\n children: (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n ),\n separatorColor: Colors.ONBACKGROUND_4,\n};\n"],"names":["DateSeparator","className","children","separatorColor","React","Array","isArray","join","changeColorToClassName","propTypes","PropTypes","oneOfType","string","arrayOf","element","defaultProps","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4"],"mappings":";;;;;;;AAOe,SAASA,aAAT,OAIZ;AAAA,MAHDC,SAGC,QAHDA,SAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,cACC,QADDA,cACC;AACD,sBACEC;AACE,IAAA,SAAS,EAAE,6BACLC,KAAK,CAACC,OAAN,CAAcL,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,IAET,oBAFS,GAGTM,IAHS,CAGJ,GAHI;AADb,kBAMEH;AAAK,IAAA,SAAS,EAAE,CAAC,0BAAD,YAAgCI,sBAAsB,CAACL,cAAD,CAAtD,yBAA4FI,IAA5F,CAAiG,GAAjG;AAAhB,IANF,eAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,KAA2CF,QAA3C,CAPF,eAQEE;AAAK,IAAA,SAAS,EAAE,CAAC,2BAAD,YAAiCI,sBAAsB,CAACL,cAAD,CAAvD,yBAA6FI,IAA7F,CAAkG,GAAlG;AAAhB,IARF,CADF;AAYD;AAEDP,aAAa,CAACS,SAAd,GAA0B;AACxBR,EAAAA,SAAS,EAAES,SAAS,CAACC,SAAV,CAAoB,CAC7BD,SAAS,CAACE,MADmB,EAE7BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF6B,CAApB,CADa;AAKxBV,EAAAA,QAAQ,EAAEQ,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF4B,EAG5BF,SAAS,CAACI,OAHkB,CAApB,CALc;AAUxBX,EAAAA,cAAc,EAAEO,SAAS,CAACE;AAVF,CAA1B;AAaAZ,aAAa,CAACe,YAAd,GAA6B;AAC3Bd,EAAAA,SAAS,EAAE,EADgB;AAE3BC,EAAAA,QAAQ,eACNE,6BAAC,KAAD;AAAO,IAAA,IAAI,EAAEY,eAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,WAAW,CAACC;AAA3D,sBAHyB;AAO3BhB,EAAAA,cAAc,EAAEiB,MAAM,CAACC;AAPI,CAA7B;;;;"}
package/ui/Dropdown.js DELETED
@@ -1,97 +0,0 @@
1
- import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-20904f21.js';
2
- import React__default, { useEffect, useState, useRef } from 'react';
3
- import PropTypes from 'prop-types';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-7a51bd16.js';
5
- import '../stringSet-4f6eaa60.js';
6
-
7
- function useOutsideAlerter(_ref) {
8
- var ref = _ref.ref,
9
- callback = _ref.callback;
10
-
11
- var handleClickOutside = function handleClickOutside(event) {
12
- if (ref.current && !ref.current.contains(event.target)) {
13
- callback();
14
- }
15
- };
16
-
17
- useEffect(function () {
18
- // Bind the event listener
19
- document.addEventListener('mousedown', handleClickOutside);
20
- return function () {
21
- // Unbind the event listener on clean up
22
- document.removeEventListener('mousedown', handleClickOutside);
23
- };
24
- });
25
- }
26
-
27
- var MenuItem = function MenuItem(_ref) {
28
- var children = _ref.children,
29
- onClick = _ref.onClick;
30
- return /*#__PURE__*/React__default.createElement("li", {
31
- className: "sendbird-dropdown__menu-item",
32
- role: "menuitem",
33
- onClick: onClick,
34
- onKeyPress: function onKeyPress(e) {
35
- if (e.keyCode === 13) {
36
- onClick(e);
37
- }
38
- }
39
- }, /*#__PURE__*/React__default.createElement(Label, {
40
- className: "sendbird-dropdown__menu-item__text",
41
- type: LabelTypography.SUBTITLE_2,
42
- color: LabelColors.ONBACKGROUND_1
43
- }, children));
44
- };
45
- MenuItem.propTypes = {
46
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
47
- onClick: PropTypes.func.isRequired
48
- };
49
- /**
50
- * For now, this is not a dropdown component that should be used inside forms
51
- * This should be used in a list or in a nav-bar where you can click
52
- * and a list of options opens up
53
- * Also closing the dropdown is a manual operation for now
54
- * More options, Aria labels etc should be implemented
55
- */
56
-
57
- var DropdownMenu = function DropdownMenu(_ref2) {
58
- var renderButton = _ref2.renderButton,
59
- renderItems = _ref2.renderItems;
60
-
61
- var _useState = useState(false),
62
- _useState2 = _slicedToArray(_useState, 2),
63
- isOpen = _useState2[0],
64
- setIsOpen = _useState2[1];
65
-
66
- var wrapperRef = useRef(null);
67
- useOutsideAlerter({
68
- ref: wrapperRef,
69
- callback: function callback() {
70
- return setIsOpen(false);
71
- }
72
- });
73
- return /*#__PURE__*/React__default.createElement("div", {
74
- className: "sendbird-dropdown",
75
- ref: wrapperRef
76
- }, /*#__PURE__*/React__default.createElement("div", {
77
- className: "sendbird-dropdown__button"
78
- }, renderButton(function () {
79
- return setIsOpen(!isOpen);
80
- }
81
- /** toggle-menu */
82
- )), isOpen && /*#__PURE__*/React__default.createElement("ul", {
83
- className: "sendbird-dropdown__menu"
84
- }, renderItems(function () {
85
- return setIsOpen(false);
86
- }
87
- /** close-menu */
88
- )));
89
- };
90
-
91
- DropdownMenu.propTypes = {
92
- renderButton: PropTypes.func.isRequired,
93
- renderItems: PropTypes.func.isRequired
94
- };
95
-
96
- export { MenuItem, DropdownMenu as default };
97
- //# sourceMappingURL=Dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../src/hooks/onClickOutside.jsx","../../src/ui/Dropdown/index.jsx"],"sourcesContent":["import { useEffect } from 'react';\n\nexport default function useOutsideAlerter({\n ref,\n callback,\n}) {\n const handleClickOutside = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n\n useEffect(() => {\n // Bind the event listener\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('mousedown', handleClickOutside);\n };\n });\n}\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport onClickOutside from '../../hooks/onClickOutside';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport const MenuItem = ({ children, onClick }) => (\n <li\n className=\"sendbird-dropdown__menu-item\"\n role=\"menuitem\"\n onClick={onClick}\n onKeyPress={(e) => {\n if (e.keyCode === 13) {\n onClick(e);\n }\n }}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n);\n\nMenuItem.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\n/**\n * For now, this is not a dropdown component that should be used inside forms\n * This should be used in a list or in a nav-bar where you can click\n * and a list of options opens up\n * Also closing the dropdown is a manual operation for now\n * More options, Aria labels etc should be implemented\n */\nconst DropdownMenu = ({ renderButton, renderItems }) => {\n const [isOpen, setIsOpen] = useState(false);\n const wrapperRef = useRef(null);\n onClickOutside({\n ref: wrapperRef,\n callback: () => setIsOpen(false),\n });\n return (\n <div className=\"sendbird-dropdown\" ref={wrapperRef}>\n <div className=\"sendbird-dropdown__button\">\n {renderButton(() => setIsOpen(!isOpen)/** toggle-menu */)}\n </div>\n {\n isOpen && (\n <ul className=\"sendbird-dropdown__menu\">\n {renderItems(() => setIsOpen(false)/** close-menu */)}\n </ul>\n )\n }\n </div>\n );\n};\n\nDropdownMenu.propTypes = {\n renderButton: PropTypes.func.isRequired,\n renderItems: PropTypes.func.isRequired,\n};\n\nexport default DropdownMenu;\n"],"names":["useOutsideAlerter","ref","callback","handleClickOutside","event","current","contains","target","useEffect","document","addEventListener","removeEventListener","MenuItem","children","onClick","React","e","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","propTypes","PropTypes","oneOfType","string","element","isRequired","func","DropdownMenu","renderButton","renderItems","useState","isOpen","setIsOpen","wrapperRef","useRef","onClickOutside"],"mappings":";;;;;;AAEe,SAASA,iBAAT,OAGZ;AAAA,MAFDC,GAEC,QAFDA,GAEC;AAAA,MADDC,QACC,QADDA,QACC;;AACD,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAW;AACpC,QAAIH,GAAG,CAACI,OAAJ,IAAe,CAACJ,GAAG,CAACI,OAAJ,CAAYC,QAAZ,CAAqBF,KAAK,CAACG,MAA3B,CAApB,EAAwD;AACtDL,MAAAA,QAAQ;AACT;AACF,GAJD;;AAMAM,EAAAA,SAAS,CAAC,YAAM;AACd;AACAC,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCP,kBAAvC;AACA,WAAO,YAAM;AACX;AACAM,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0CR,kBAA1C;AACD,KAHD;AAID,GAPQ,CAAT;AAQD;;ICZYS,QAAQ,GAAG,SAAXA,QAAW;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,OAAb,QAAaA,OAAb;AAAA,sBACtBC;AACE,IAAA,SAAS,EAAC,8BADZ;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,UAAU,EAAE,oBAACE,CAAD,EAAO;AACjB,UAAIA,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBH,QAAAA,OAAO,CAACE,CAAD,CAAP;AACD;AACF;AARH,kBAUED,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,oCADZ;AAEE,IAAA,IAAI,EAAEG,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,WAAW,CAACC;AAHrB,KAKGR,QALH,CAVF,CADsB;AAAA;AAqBxBD,QAAQ,CAACU,SAAT,GAAqB;AACnBT,EAAAA,QAAQ,EAAEU,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACG,OAFkB,CAApB,EAGPC,UAJgB;AAKnBb,EAAAA,OAAO,EAAES,SAAS,CAACK,IAAV,CAAeD;AALL,CAArB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME,YAAY,GAAG,SAAfA,YAAe,QAAmC;AAAA,MAAhCC,YAAgC,SAAhCA,YAAgC;AAAA,MAAlBC,WAAkB,SAAlBA,WAAkB;;AACtD,kBAA4BC,QAAQ,CAAC,KAAD,CAApC;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAD,CAAzB;AACAC,EAAAA,iBAAc,CAAC;AACbpC,IAAAA,GAAG,EAAEkC,UADQ;AAEbjC,IAAAA,QAAQ,EAAE;AAAA,aAAMgC,SAAS,CAAC,KAAD,CAAf;AAAA;AAFG,GAAD,CAAd;AAIA,sBACEnB;AAAK,IAAA,SAAS,EAAC,mBAAf;AAAmC,IAAA,GAAG,EAAEoB;AAAxC,kBACEpB;AAAK,IAAA,SAAS,EAAC;AAAf,KACGe,YAAY,CAAC;AAAA,WAAMI,SAAS,CAAC,CAACD,MAAF,CAAf;AAAA;AAAwB;AAAzB,GADf,CADF,EAKIA,MAAM,iBACJlB;AAAI,IAAA,SAAS,EAAC;AAAd,KACGgB,WAAW,CAAC;AAAA,WAAMG,SAAS,CAAC,KAAD,CAAf;AAAA;AAAsB;AAAvB,GADd,CANN,CADF;AAcD;;AAEDL,YAAY,CAACP,SAAb,GAAyB;AACvBQ,EAAAA,YAAY,EAAEP,SAAS,CAACK,IAAV,CAAeD,UADN;AAEvBI,EAAAA,WAAW,EAAER,SAAS,CAACK,IAAV,CAAeD;AAFL,CAAzB;;;;"}
@@ -1,121 +0,0 @@
1
- import React__default, { useContext, useRef } from 'react';
2
- import Tooltip from './Tooltip.js';
3
- import TooltipWrapper from './TooltipWrapper.js';
4
- import ReactionBadge from './ReactionBadge.js';
5
- import ReactionButton from './ReactionButton.js';
6
- import ImageRenderer from './ImageRenderer.js';
7
- import Icon, { IconTypes, IconColors } from './Icon.js';
8
- import ContextMenu, { EmojiListItems } from './ContextMenu.js';
9
- import { E as getEmojiMapAll, d as getClassName, F as isReactedBy, G as getEmojiTooltipString, D as getEmojiListAll } from '../index-8c72a94a.js';
10
- import { a as LocalizationContext } from '../LocalizationContext-e4391013.js';
11
- import '../_rollupPluginBabelHelpers-20904f21.js';
12
- import 'prop-types';
13
- import '../index-7a51bd16.js';
14
- import '../stringSet-4f6eaa60.js';
15
- import 'react-dom';
16
- import './SortByRow.js';
17
- import '../tslib.es6-e3c44017.js';
18
- import '../index-6ebf7894.js';
19
-
20
- function EmojiReactions2(_a) {
21
- var _b, _c;
22
-
23
- var className = _a.className,
24
- userId = _a.userId,
25
- message = _a.message,
26
- emojiContainer = _a.emojiContainer,
27
- memberNicknamesMap = _a.memberNicknamesMap,
28
- _d = _a.spaceFromTrigger,
29
- spaceFromTrigger = _d === void 0 ? {} : _d,
30
- _e = _a.isByMe,
31
- isByMe = _e === void 0 ? false : _e,
32
- toggleReaction = _a.toggleReaction;
33
- var stringSet = useContext(LocalizationContext).stringSet;
34
- var emojisMap = getEmojiMapAll(emojiContainer);
35
- var addReactionRef = useRef(null);
36
- return /*#__PURE__*/React__default.createElement("div", {
37
- className: getClassName([className, 'sendbird-emoji-reactions', isByMe ? 'outgoing' : 'incoming'])
38
- }, ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 && message.reactions.map(function (reaction) {
39
- var _a, _b;
40
-
41
- var reactedByMe = isReactedBy(userId, reaction);
42
- return /*#__PURE__*/React__default.createElement(TooltipWrapper, {
43
- className: "sendbird-emoji-reactions__reaction-badge",
44
- key: reaction === null || reaction === void 0 ? void 0 : reaction.key,
45
- hoverTooltip: ((_a = reaction === null || reaction === void 0 ? void 0 : reaction.userIds) === null || _a === void 0 ? void 0 : _a.length) > 0 && /*#__PURE__*/React__default.createElement(Tooltip, null, getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet))
46
- }, /*#__PURE__*/React__default.createElement(ReactionBadge, {
47
- count: reaction.userIds.length,
48
- selected: reactedByMe,
49
- onClick: function onClick() {
50
- return toggleReaction(message, reaction.key, reactedByMe);
51
- }
52
- }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
53
- circle: true,
54
- url: ((_b = emojisMap.get(reaction === null || reaction === void 0 ? void 0 : reaction.key)) === null || _b === void 0 ? void 0 : _b.url) || '',
55
- width: "20px",
56
- height: "20px",
57
- defaultComponent: /*#__PURE__*/React__default.createElement(Icon, {
58
- width: "20px",
59
- height: "20px",
60
- type: IconTypes.QUESTION
61
- })
62
- })));
63
- }), ((_c = message === null || message === void 0 ? void 0 : message.reactions) === null || _c === void 0 ? void 0 : _c.length) < emojisMap.size && /*#__PURE__*/React__default.createElement(ContextMenu, {
64
- menuTrigger: function menuTrigger(toggleDropdown) {
65
- return /*#__PURE__*/React__default.createElement(ReactionBadge, {
66
- className: "sendbird-emoji-reactions__add-reaction-badge",
67
- ref: addReactionRef,
68
- isAdd: true,
69
- onClick: toggleDropdown
70
- }, /*#__PURE__*/React__default.createElement(Icon, {
71
- type: IconTypes.EMOJI_MORE,
72
- fillColor: IconColors.ON_BACKGROUND_3,
73
- width: "20px",
74
- height: "20px"
75
- }));
76
- },
77
- menuItems: function menuItems(closeDropdown) {
78
- return /*#__PURE__*/React__default.createElement(EmojiListItems, {
79
- parentRef: addReactionRef,
80
- parentContainRef: addReactionRef,
81
- closeDropdown: closeDropdown,
82
- spacefromTrigger: spaceFromTrigger
83
- }, getEmojiListAll(emojiContainer).map(function (emoji) {
84
- var _a, _b, _c;
85
-
86
- var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
87
- return reaction.key === emoji.key;
88
- })[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
89
- return reactorId === userId;
90
- });
91
- return /*#__PURE__*/React__default.createElement(ReactionButton, {
92
- key: emoji.key,
93
- width: "36px",
94
- height: "36px",
95
- selected: isReacted,
96
- onClick: function onClick() {
97
- closeDropdown();
98
- toggleReaction(message, emoji.key, isReacted);
99
- }
100
- }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
101
- url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
102
- width: "28px",
103
- height: "28px",
104
- placeHolder: function placeHolder(style) {
105
- return /*#__PURE__*/React__default.createElement("div", {
106
- style: style
107
- }, /*#__PURE__*/React__default.createElement(Icon, {
108
- type: IconTypes.QUESTION,
109
- fillColor: IconColors.ON_BACKGROUND_3,
110
- width: "28px",
111
- height: "28px"
112
- }));
113
- }
114
- }));
115
- }));
116
- }
117
- }));
118
- }
119
-
120
- export { EmojiReactions2 as default };
121
- //# sourceMappingURL=EmojiReactions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmojiReactions.js","sources":["../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import React, { ReactElement, useContext, useRef } from 'react';\nimport { Emoji, EmojiContainer, FileMessage, Reaction, UserMessage } from 'sendbird';\nimport './index.scss';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: Record<string, unknown>;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nexport default function EmojiReactions2({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = {},\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={() => toggleReaction(message, reaction.key, reactedByMe)}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(): void => {\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: Record<string, unknown>): ReactElement => (\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":["EmojiReactions2","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","reactions","length","map","reaction","reactedByMe","isReactedBy","key","userIds","getEmojiTooltipString","get","url","IconTypes","QUESTION","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","filter","some","reactorId","style"],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import React__default from 'react';
2
- import { b as LabelColors, L as Label, a as LabelTypography } from '../index-7a51bd16.js';
3
- import Icon, { IconTypes, IconColors } from './Icon.js';
4
- import TextButton from './TextButton.js';
5
- import { d as getClassName, I as getUIKitFileType, t as truncateString } from '../index-8c72a94a.js';
6
- import '../_rollupPluginBabelHelpers-20904f21.js';
7
- import 'prop-types';
8
- import '../stringSet-4f6eaa60.js';
9
- import '../color-ee3fc5ee.js';
10
- import '../tslib.es6-e3c44017.js';
11
-
12
- function FileMessageItemBody(_a) {
13
- var _b;
14
-
15
- var className = _a.className,
16
- message = _a.message,
17
- _c = _a.isByMe,
18
- isByMe = _c === void 0 ? false : _c,
19
- _d = _a.mouseHover,
20
- mouseHover = _d === void 0 ? false : _d;
21
- return /*#__PURE__*/React__default.createElement("div", {
22
- className: getClassName([className, 'sendbird-file-message-item-body', isByMe ? 'outgoing' : 'incoming', mouseHover ? 'mouse-hover' : '', ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 ? 'reactions' : ''])
23
- }, /*#__PURE__*/React__default.createElement("div", {
24
- className: "sendbird-file-message-item-body__file-icon"
25
- }, /*#__PURE__*/React__default.createElement(Icon, {
26
- className: 'sendbird-file-message-item-body__file-icon__icon',
27
- type: {
28
- IMAGE: IconTypes.PHOTO,
29
- VIDEO: IconTypes.PLAY,
30
- AUDIO: IconTypes.FILE_AUDIO,
31
- GIF: IconTypes.GIF,
32
- OTHERS: IconTypes.FILE_DOCUMENT
33
- }[getUIKitFileType(message === null || message === void 0 ? void 0 : message.type)],
34
- fillColor: IconColors.PRIMARY,
35
- width: "24px",
36
- height: "24px"
37
- })), /*#__PURE__*/React__default.createElement(TextButton, {
38
- className: "sendbird-file-message-item-body__file-name",
39
- onClick: function onClick() {
40
- window.open(message === null || message === void 0 ? void 0 : message.url);
41
- },
42
- color: isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1
43
- }, /*#__PURE__*/React__default.createElement(Label, {
44
- className: "sendbird-file-message-item-body__file-name__text",
45
- type: LabelTypography.BODY_1,
46
- color: isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1
47
- }, truncateString((message === null || message === void 0 ? void 0 : message.name) || (message === null || message === void 0 ? void 0 : message.url)))));
48
- }
49
-
50
- export { FileMessageItemBody as default };
51
- //# sourceMappingURL=FileMessageItemBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileMessageItemBody.js","sources":["../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { FileMessage } from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n}: Props): ReactElement {\n\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n message?.reactions?.length > 0 ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className={'sendbird-file-message-item-body__file-icon__icon'}\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {truncateString(message?.name || message?.url)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","React","getClassName","reactions","length","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","window","open","url","LabelColors","ONCONTENT_1","ONBACKGROUND_1","LabelTypography","BODY_1","truncateString","name"],"mappings":";;;;;;;;;;;SAgBwBA,oBAAoBC;;;MAC1CC,SAAS;MACTC,OAAO;MACPC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,UAAU,mBAAG;AAGb,sBACEC;AAAK,IAAA,SAAS,EAAEC,YAAY,CAAC,CAC3BP,SAD2B,EAE3B,iCAF2B,EAG3BG,MAAM,GAAG,UAAH,GAAgB,UAHK,EAI3BE,UAAU,GAAG,aAAH,GAAmB,EAJF,EAK3B,CAAA,MAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEO,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAA7B,GAAiC,WAAjC,GAA+C,EALpB,CAAD;AAA5B,kBAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,IAAD;AACE,IAAA,SAAS,EAAE,kDADb;AAEE,IAAA,IAAI,EAAE;AACJI,MAAAA,KAAK,EAAEC,SAAS,CAACC,KADb;AAEJC,MAAAA,KAAK,EAAEF,SAAS,CAACG,IAFb;AAGJC,MAAAA,KAAK,EAAEJ,SAAS,CAACK,UAHb;AAIJC,MAAAA,GAAG,EAAEN,SAAS,CAACM,GAJX;AAKJC,MAAAA,MAAM,EAAEP,SAAS,CAACQ;AALd,MAMJC,gBAAgB,CAACnB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoB,IAAV,CANZ,CAFR;AASE,IAAA,SAAS,EAAEC,UAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC;AAXT,IADF,CAPF,eAsBEjB,6BAAC,UAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE;AAAQkB,MAAAA,MAAM,CAACC,IAAP,CAAYxB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAArB;AAA2B,KAF9C;AAGE,IAAA,KAAK,EAAEvB,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,kBAKEvB,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEwB,eAAe,CAACC,MAFxB;AAGE,IAAA,KAAK,EAAE5B,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,KAKGG,cAAc,CAAC,CAAA/B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgC,IAAT,MAAiBhC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF;AAsCD;;;;"}
package/ui/FileViewer.js DELETED
@@ -1,164 +0,0 @@
1
- import React__default from 'react';
2
- import PropTypes from 'prop-types';
3
- import { createPortal } from 'react-dom';
4
- import Avatar from './Avatar.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-7a51bd16.js';
6
- import Icon, { IconTypes, IconColors } from './Icon.js';
7
- import { M as MODAL_ROOT } from '../index-942c85a6.js';
8
- import { w as isSupportedFileView, x as isVideo, y as isImage } from '../index-8c72a94a.js';
9
- import '../tslib.es6-e3c44017.js';
10
- import './ImageRenderer.js';
11
- import '../_rollupPluginBabelHelpers-20904f21.js';
12
- import '../uuid-b0c93400.js';
13
- import '../stringSet-4f6eaa60.js';
14
-
15
- var FileViewerComponent = function FileViewerComponent(_ref) {
16
- var profileUrl = _ref.profileUrl,
17
- nickname = _ref.nickname,
18
- name = _ref.name,
19
- type = _ref.type,
20
- url = _ref.url,
21
- isByMe = _ref.isByMe,
22
- onClose = _ref.onClose,
23
- onDelete = _ref.onDelete,
24
- disableDelete = _ref.disableDelete;
25
- return /*#__PURE__*/React__default.createElement("div", {
26
- className: "sendbird-fileviewer"
27
- }, /*#__PURE__*/React__default.createElement("div", {
28
- className: "sendbird-fileviewer__header"
29
- }, /*#__PURE__*/React__default.createElement("div", {
30
- className: "sendbird-fileviewer__header__left"
31
- }, /*#__PURE__*/React__default.createElement("div", {
32
- className: "sendbird-fileviewer__header__left__avatar"
33
- }, /*#__PURE__*/React__default.createElement(Avatar, {
34
- height: "32px",
35
- width: "32px",
36
- src: profileUrl
37
- })), /*#__PURE__*/React__default.createElement(Label, {
38
- className: "sendbird-fileviewer__header__left__filename",
39
- type: LabelTypography.H_2,
40
- color: LabelColors.ONBACKGROUND_1
41
- }, name), /*#__PURE__*/React__default.createElement(Label, {
42
- className: "sendbird-fileviewer__header__left__sender-name",
43
- type: LabelTypography.BODY_1,
44
- color: LabelColors.ONBACKGROUND_2
45
- }, nickname)), /*#__PURE__*/React__default.createElement("div", {
46
- className: "sendbird-fileviewer__header__right"
47
- }, isSupportedFileView(type) && /*#__PURE__*/React__default.createElement("div", {
48
- className: "sendbird-fileviewer__header__right__actions"
49
- }, /*#__PURE__*/React__default.createElement("a", {
50
- className: "sendbird-fileviewer__header__right__actions__download",
51
- rel: "noopener noreferrer",
52
- href: url,
53
- target: "_blank"
54
- }, /*#__PURE__*/React__default.createElement(Icon, {
55
- type: IconTypes.DOWNLOAD,
56
- fillColor: IconColors.ON_BACKGROUND_1,
57
- height: "24px",
58
- width: "24px"
59
- })), onDelete && isByMe && /*#__PURE__*/React__default.createElement("div", {
60
- className: "sendbird-fileviewer__header__right__actions__delete"
61
- }, /*#__PURE__*/React__default.createElement(Icon, {
62
- className: disableDelete ? 'disabled' : '',
63
- type: IconTypes.DELETE,
64
- fillColor: disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1,
65
- height: "24px",
66
- width: "24px",
67
- onClick: function onClick() {
68
- if (!disableDelete) {
69
- onDelete();
70
- }
71
- }
72
- }))), /*#__PURE__*/React__default.createElement("div", {
73
- className: "sendbird-fileviewer__header__right__actions__close"
74
- }, /*#__PURE__*/React__default.createElement(Icon, {
75
- type: IconTypes.CLOSE,
76
- fillColor: IconColors.ON_BACKGROUND_1,
77
- height: "24px",
78
- width: "24px",
79
- onClick: onClose
80
- })))), /*#__PURE__*/React__default.createElement("div", {
81
- className: "sendbird-fileviewer__content"
82
- }, isVideo(type) &&
83
- /*#__PURE__*/
84
- // eslint-disable-next-line jsx-a11y/media-has-caption
85
- React__default.createElement("video", {
86
- controls: true,
87
- className: "sendbird-fileviewer__content__video"
88
- }, /*#__PURE__*/React__default.createElement("source", {
89
- src: url,
90
- type: type
91
- })), isImage(type) && /*#__PURE__*/React__default.createElement("img", {
92
- src: url,
93
- alt: name,
94
- className: "sendbird-fileviewer__content__img"
95
- }), !isSupportedFileView(type) && /*#__PURE__*/React__default.createElement("div", {
96
- className: "sendbird-fileviewer__content__unsupported"
97
- }, /*#__PURE__*/React__default.createElement(Label, {
98
- type: LabelTypography.H_1,
99
- color: LabelColors.ONBACKGROUND_1
100
- }, "Unsupoprted message"))));
101
- };
102
- FileViewerComponent.propTypes = {
103
- profileUrl: PropTypes.string.isRequired,
104
- nickname: PropTypes.string.isRequired,
105
- type: PropTypes.string.isRequired,
106
- url: PropTypes.string.isRequired,
107
- name: PropTypes.string.isRequired,
108
- onClose: PropTypes.func.isRequired,
109
- onDelete: PropTypes.func.isRequired,
110
- isByMe: PropTypes.bool,
111
- disableDelete: PropTypes.bool
112
- };
113
- FileViewerComponent.defaultProps = {
114
- isByMe: true,
115
- disableDelete: false
116
- };
117
- function FileViewer(props) {
118
- var message = props.message,
119
- isByMe = props.isByMe,
120
- onClose = props.onClose,
121
- onDelete = props.onDelete;
122
- var sender = message.sender,
123
- type = message.type,
124
- url = message.url,
125
- _message$name = message.name,
126
- name = _message$name === void 0 ? '' : _message$name,
127
- _message$threadInfo = message.threadInfo,
128
- threadInfo = _message$threadInfo === void 0 ? {} : _message$threadInfo;
129
- var disableDelete = (threadInfo === null || threadInfo === void 0 ? void 0 : threadInfo.replyCount) > 0;
130
- var profileUrl = sender.profileUrl,
131
- _sender$nickname = sender.nickname,
132
- nickname = _sender$nickname === void 0 ? '' : _sender$nickname;
133
- return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement(FileViewerComponent, {
134
- profileUrl: profileUrl,
135
- nickname: nickname,
136
- type: type,
137
- url: url,
138
- name: name,
139
- onClose: onClose,
140
- onDelete: onDelete,
141
- isByMe: isByMe,
142
- disableDelete: disableDelete
143
- }), document.getElementById(MODAL_ROOT));
144
- }
145
- FileViewer.propTypes = {
146
- message: PropTypes.shape({
147
- sender: PropTypes.shape({
148
- profileUrl: PropTypes.string,
149
- nickname: PropTypes.string
150
- }),
151
- type: PropTypes.string,
152
- url: PropTypes.string,
153
- name: PropTypes.string
154
- }).isRequired,
155
- isByMe: PropTypes.bool,
156
- onClose: PropTypes.func.isRequired,
157
- onDelete: PropTypes.func.isRequired
158
- };
159
- FileViewer.defaultProps = {
160
- isByMe: true
161
- };
162
-
163
- export { FileViewerComponent, FileViewer as default };
164
- //# sourceMappingURL=FileViewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileViewer.js","sources":["../../src/ui/FileViewer/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\n\nexport const FileViewerComponent = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onClose,\n onDelete,\n disableDelete,\n}) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onClose}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\nFileViewerComponent.propTypes = {\n profileUrl: PropTypes.string.isRequired,\n nickname: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n disableDelete: PropTypes.bool,\n};\n\nFileViewerComponent.defaultProps = {\n isByMe: true,\n disableDelete: false,\n};\n\nexport default function FileViewer(props) {\n const {\n message,\n isByMe,\n onClose,\n onDelete,\n } = props;\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo = {},\n } = message;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onClose={onClose}\n onDelete={onDelete}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nFileViewer.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }),\n type: PropTypes.string,\n url: PropTypes.string,\n name: PropTypes.string,\n }).isRequired,\n isByMe: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nFileViewer.defaultProps = {\n isByMe: true,\n};\n"],"names":["FileViewerComponent","profileUrl","nickname","name","type","url","isByMe","onClose","onDelete","disableDelete","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","CLOSE","isVideo","isImage","H_1","propTypes","PropTypes","string","isRequired","func","bool","defaultProps","FileViewer","props","message","sender","threadInfo","replyCount","createPortal","document","getElementById","MODAL_ROOT","shape"],"mappings":"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"}