@sendbird/uikit-react 3.1.1 → 3.1.2-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/App.js +36 -35
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +29 -0
  4. package/Channel/components/ChannelHeader.js +19 -19
  5. package/Channel/components/ChannelUI.js +26 -26
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +18 -18
  8. package/Channel/components/FrozenNotification.js +5 -5
  9. package/Channel/components/Message.js +23 -23
  10. package/Channel/components/MessageInput.js +20 -20
  11. package/Channel/components/MessageList.js +25 -25
  12. package/Channel/components/RemoveMessageModal.js +22 -23
  13. package/Channel/components/RemoveMessageModal.js.map +1 -1
  14. package/Channel/components/SuggestedMentionList.js +19 -19
  15. package/Channel/components/TypingIndicator.js +18 -18
  16. package/Channel/components/UnreadCount.js +5 -5
  17. package/Channel/context.js +17 -17
  18. package/Channel.js +26 -26
  19. package/ChannelList/components/AddChannel.js +14 -14
  20. package/ChannelList/components/ChannelListHeader.js +7 -7
  21. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  22. package/ChannelList/components/ChannelListUI.js +30 -30
  23. package/ChannelList/components/ChannelListUI.js.map +1 -1
  24. package/ChannelList/components/ChannelPreview.js +23 -23
  25. package/ChannelList/components/ChannelPreview.js.map +1 -1
  26. package/ChannelList/components/ChannelPreviewAction.js +18 -18
  27. package/ChannelList/context.js +12 -12
  28. package/ChannelList.js +30 -30
  29. package/{ChannelListProvider-bdac2e90.js → ChannelListProvider-536de516.js} +9 -9
  30. package/ChannelListProvider-536de516.js.map +1 -0
  31. package/{ChannelProvider-0174d0f3.js → ChannelProvider-288abd6e.js} +31 -30
  32. package/ChannelProvider-288abd6e.js.map +1 -0
  33. package/ChannelSettings/components/ChannelProfile.js +13 -14
  34. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  35. package/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  36. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  37. package/ChannelSettings/components/EditDetailsModal.js +14 -15
  38. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  39. package/ChannelSettings/components/LeaveChannel.js +12 -11
  40. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  41. package/ChannelSettings/components/ModerationPanel.js +19 -19
  42. package/ChannelSettings/components/UserListItem.js +12 -12
  43. package/ChannelSettings/components/UserPanel.js +14 -14
  44. package/ChannelSettings/context.js +3 -3
  45. package/ChannelSettings/context.js.map +1 -1
  46. package/ChannelSettings.js +23 -23
  47. package/CreateChannel/components/CreateChannelUI.js +16 -16
  48. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  49. package/CreateChannel/components/InviteUsers.js +16 -16
  50. package/CreateChannel/components/SelectChannelType.js +11 -10
  51. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  52. package/CreateChannel/context.js +4 -4
  53. package/CreateChannel.js +16 -16
  54. package/{CreateChannelProvider-1cf4ef27.js → CreateChannelProvider-1d4c08d8.js} +1 -1
  55. package/CreateChannelProvider-1d4c08d8.js.map +1 -0
  56. package/EditUserProfile/components/EditUserProfileUI.js +14 -14
  57. package/EditUserProfile/context.js.map +1 -1
  58. package/EditUserProfile.js +15 -15
  59. package/{LocalizationContext-61a4a931.js → LocalizationContext-7d740b0a.js} +3 -3
  60. package/LocalizationContext-7d740b0a.js.map +1 -0
  61. package/{MemberList-24ad6b63.js → MemberList-8bc3c1e1.js} +6 -6
  62. package/{MemberList-24ad6b63.js.map → MemberList-8bc3c1e1.js.map} +1 -1
  63. package/MessageSearch/components/MessageSearchUI.js +13 -12
  64. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  65. package/MessageSearch/context.js +4 -3
  66. package/MessageSearch/context.js.map +1 -1
  67. package/MessageSearch.js +13 -12
  68. package/MessageSearch.js.map +1 -1
  69. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  70. package/OpenChannel/components/OpenChannelHeader.js +17 -17
  71. package/OpenChannel/components/OpenChannelInput.js +21 -21
  72. package/OpenChannel/components/OpenChannelMessage.js +29 -29
  73. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  74. package/OpenChannel/components/OpenChannelMessageList.js +28 -28
  75. package/OpenChannel/components/OpenChannelUI.js +28 -28
  76. package/OpenChannel/context.js +14 -14
  77. package/OpenChannel.js +28 -28
  78. package/{OpenChannelProvider-9b3a6eb1.js → OpenChannelProvider-2e64f2d2.js} +15 -14
  79. package/{OpenChannelProvider-9b3a6eb1.js.map → OpenChannelProvider-2e64f2d2.js.map} +1 -1
  80. package/OpenChannelSettings/components/EditDetailsModal.js +18 -19
  81. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  82. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
  83. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  84. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  85. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  86. package/OpenChannelSettings/components/OperatorUI.js +20 -20
  87. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  88. package/OpenChannelSettings/components/ParticipantUI.js +20 -20
  89. package/OpenChannelSettings/context.js +6 -6
  90. package/OpenChannelSettings/context.js.map +1 -1
  91. package/OpenChannelSettings.js +21 -21
  92. package/SendbirdProvider.js +15 -15
  93. package/{UserProfileContext-3524e64c.js → UserProfileContext-9b7b1d4f.js} +1 -1
  94. package/{UserProfileContext-3524e64c.js.map → UserProfileContext-9b7b1d4f.js.map} +1 -1
  95. package/{__bundle-6316ce22-b659cee1.js → __bundle-6316ce22-41ee43fe.js} +1 -1
  96. package/{__bundle-6316ce22-b659cee1.js.map → __bundle-6316ce22-41ee43fe.js.map} +1 -1
  97. package/{__bundle-7dfccc8c-37d3f8ab.js → __bundle-7dfccc8c-c1f95345.js} +2 -2
  98. package/{__bundle-7dfccc8c-37d3f8ab.js.map → __bundle-7dfccc8c-c1f95345.js.map} +1 -1
  99. package/{__bundle-fbda47dd-ef31252f.js → __bundle-fbda47dd-ee456253.js} +2 -2
  100. package/{__bundle-fbda47dd-ef31252f.js.map → __bundle-fbda47dd-ee456253.js.map} +1 -1
  101. package/{_rollupPluginBabelHelpers-30d122aa.js → _rollupPluginBabelHelpers-4e546dea.js} +2 -105
  102. package/_rollupPluginBabelHelpers-4e546dea.js.map +1 -0
  103. package/{actionTypes-d5d5ac7b.js → actionTypes-f1946e3f.js} +1 -1
  104. package/{actionTypes-d5d5ac7b.js.map → actionTypes-f1946e3f.js.map} +1 -1
  105. package/cjs/App.js +36 -35
  106. package/cjs/App.js.map +1 -1
  107. package/cjs/Channel/components/ChannelHeader.js +19 -19
  108. package/cjs/Channel/components/ChannelUI.js +26 -26
  109. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  110. package/cjs/Channel/components/FileViewer.js +18 -18
  111. package/cjs/Channel/components/FrozenNotification.js +5 -5
  112. package/cjs/Channel/components/Message.js +23 -23
  113. package/cjs/Channel/components/MessageInput.js +20 -20
  114. package/cjs/Channel/components/MessageList.js +25 -25
  115. package/cjs/Channel/components/RemoveMessageModal.js +22 -23
  116. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  117. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  118. package/cjs/Channel/components/TypingIndicator.js +18 -18
  119. package/cjs/Channel/components/UnreadCount.js +5 -5
  120. package/cjs/Channel/context.js +17 -17
  121. package/cjs/Channel.js +26 -26
  122. package/cjs/ChannelList/components/AddChannel.js +14 -14
  123. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  124. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  125. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  126. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  127. package/cjs/ChannelList/components/ChannelPreview.js +23 -23
  128. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  129. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -18
  130. package/cjs/ChannelList/context.js +12 -12
  131. package/cjs/ChannelList.js +30 -30
  132. package/cjs/{ChannelListProvider-e7756677.js → ChannelListProvider-40eb170c.js} +9 -9
  133. package/cjs/ChannelListProvider-40eb170c.js.map +1 -0
  134. package/cjs/{ChannelProvider-c179835a.js → ChannelProvider-e1a06efe.js} +31 -30
  135. package/cjs/ChannelProvider-e1a06efe.js.map +1 -0
  136. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -14
  137. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  138. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  139. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  140. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -15
  141. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  142. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -11
  143. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  144. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -19
  145. package/cjs/ChannelSettings/components/UserListItem.js +12 -12
  146. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  147. package/cjs/ChannelSettings/context.js +3 -3
  148. package/cjs/ChannelSettings/context.js.map +1 -1
  149. package/cjs/ChannelSettings.js +23 -23
  150. package/cjs/CreateChannel/components/CreateChannelUI.js +16 -16
  151. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  152. package/cjs/CreateChannel/components/InviteUsers.js +16 -16
  153. package/cjs/CreateChannel/components/SelectChannelType.js +11 -10
  154. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  155. package/cjs/CreateChannel/context.js +4 -4
  156. package/cjs/CreateChannel.js +16 -16
  157. package/cjs/{CreateChannelProvider-a7ca5511.js → CreateChannelProvider-4acaac2e.js} +1 -1
  158. package/cjs/CreateChannelProvider-4acaac2e.js.map +1 -0
  159. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  160. package/cjs/EditUserProfile/context.js.map +1 -1
  161. package/cjs/EditUserProfile.js +15 -15
  162. package/cjs/{LocalizationContext-f05328b8.js → LocalizationContext-a4d8d6fa.js} +3 -3
  163. package/cjs/LocalizationContext-a4d8d6fa.js.map +1 -0
  164. package/cjs/{MemberList-bfaafb40.js → MemberList-b5653b8e.js} +6 -6
  165. package/cjs/{MemberList-bfaafb40.js.map → MemberList-b5653b8e.js.map} +1 -1
  166. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -12
  167. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  168. package/cjs/MessageSearch/context.js +4 -3
  169. package/cjs/MessageSearch/context.js.map +1 -1
  170. package/cjs/MessageSearch.js +13 -12
  171. package/cjs/MessageSearch.js.map +1 -1
  172. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  173. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -17
  174. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  175. package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -29
  176. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  177. package/cjs/OpenChannel/components/OpenChannelMessageList.js +28 -28
  178. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
  179. package/cjs/OpenChannel/context.js +14 -14
  180. package/cjs/OpenChannel.js +28 -28
  181. package/cjs/{OpenChannelProvider-12e0412f.js → OpenChannelProvider-3d3298fd.js} +15 -14
  182. package/cjs/{OpenChannelProvider-12e0412f.js.map → OpenChannelProvider-3d3298fd.js.map} +1 -1
  183. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -19
  184. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  185. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
  186. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  187. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  188. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  189. package/cjs/OpenChannelSettings/components/OperatorUI.js +20 -20
  190. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  191. package/cjs/OpenChannelSettings/components/ParticipantUI.js +20 -20
  192. package/cjs/OpenChannelSettings/context.js +6 -6
  193. package/cjs/OpenChannelSettings/context.js.map +1 -1
  194. package/cjs/OpenChannelSettings.js +21 -21
  195. package/cjs/SendbirdProvider.js +15 -15
  196. package/cjs/{UserProfileContext-87ebb4a4.js → UserProfileContext-9fb4f747.js} +1 -1
  197. package/cjs/{UserProfileContext-87ebb4a4.js.map → UserProfileContext-9fb4f747.js.map} +1 -1
  198. package/cjs/{__bundle-6316ce22-c57c6fe0.js → __bundle-6316ce22-e09a7a94.js} +1 -1
  199. package/cjs/{__bundle-6316ce22-c57c6fe0.js.map → __bundle-6316ce22-e09a7a94.js.map} +1 -1
  200. package/cjs/{__bundle-7dfccc8c-205c0e66.js → __bundle-7dfccc8c-3af98778.js} +2 -2
  201. package/cjs/{__bundle-7dfccc8c-205c0e66.js.map → __bundle-7dfccc8c-3af98778.js.map} +1 -1
  202. package/cjs/{__bundle-fbda47dd-f6e08be2.js → __bundle-fbda47dd-a50b4334.js} +2 -2
  203. package/cjs/{__bundle-fbda47dd-f6e08be2.js.map → __bundle-fbda47dd-a50b4334.js.map} +1 -1
  204. package/cjs/{_rollupPluginBabelHelpers-92e5e012.js → _rollupPluginBabelHelpers-e3f84a90.js} +1 -110
  205. package/cjs/_rollupPluginBabelHelpers-e3f84a90.js.map +1 -0
  206. package/cjs/{actionTypes-331e63c2.js → actionTypes-8907b806.js} +1 -1
  207. package/cjs/{actionTypes-331e63c2.js.map → actionTypes-8907b806.js.map} +1 -1
  208. package/cjs/color-047cfbdf.js +45 -0
  209. package/cjs/color-047cfbdf.js.map +1 -0
  210. package/cjs/{compareIds-2df40a8f.js → compareIds-a4c74921.js} +1 -1
  211. package/cjs/{compareIds-2df40a8f.js.map → compareIds-a4c74921.js.map} +1 -1
  212. package/cjs/{const-77f608c8.js → const-66e78150.js} +1 -1
  213. package/cjs/{const-77f608c8.js.map → const-66e78150.js.map} +1 -1
  214. package/cjs/{const-e0dbad82.js → const-b4516fd9.js} +1 -1
  215. package/cjs/{const-e0dbad82.js.map → const-b4516fd9.js.map} +1 -1
  216. package/cjs/{context-5e7ba41f.js → context-24f7ccd5.js} +2 -2
  217. package/cjs/{context-5e7ba41f.js.map → context-24f7ccd5.js.map} +1 -1
  218. package/cjs/dist/index.css +50 -72
  219. package/cjs/dist/index.css.map +1 -1
  220. package/cjs/{groupChannel-ddd470ad.js → groupChannel-ab450f40.js} +4 -4
  221. package/cjs/{groupChannel-ddd470ad.js.map → groupChannel-ab450f40.js.map} +1 -1
  222. package/cjs/handlers/ConnectionHandler.js +3 -3
  223. package/cjs/handlers/GroupChannelHandler.js +4 -4
  224. package/cjs/handlers/OpenChannelHandler.js +3 -3
  225. package/cjs/handlers/UserEventHandler.js +3 -3
  226. package/cjs/{index-cce2b8c0.js → index-13532266.js} +3 -3
  227. package/cjs/{index-cce2b8c0.js.map → index-13532266.js.map} +1 -1
  228. package/cjs/{index-1c009ee9.js → index-4f96bea7.js} +15 -27
  229. package/cjs/{index-1c009ee9.js.map → index-4f96bea7.js.map} +1 -1
  230. package/cjs/index-65aaad9e.js +90 -0
  231. package/cjs/index-65aaad9e.js.map +1 -0
  232. package/cjs/{index-4bebe375.js → index-6d74425b.js} +1 -1
  233. package/cjs/{index-4bebe375.js.map → index-6d74425b.js.map} +1 -1
  234. package/cjs/{index-4911c708.js → index-83f6a684.js} +2 -2
  235. package/cjs/{index-4911c708.js.map → index-83f6a684.js.map} +1 -1
  236. package/cjs/{index-52631939.js → index-9a12fc25.js} +11 -10
  237. package/cjs/{index-52631939.js.map → index-9a12fc25.js.map} +1 -1
  238. package/cjs/{index-39372722.js → index-9aaba1c0.js} +2 -2
  239. package/cjs/{index-39372722.js.map → index-9aaba1c0.js.map} +1 -1
  240. package/cjs/{index-10b68ab4.js → index-bf23b757.js} +2 -2
  241. package/cjs/{index-10b68ab4.js.map → index-bf23b757.js.map} +1 -1
  242. package/cjs/{index-2dacade8.js → index-df5b04e6.js} +1 -1
  243. package/cjs/{index-2dacade8.js.map → index-df5b04e6.js.map} +1 -1
  244. package/cjs/{index-b1ed74bd.js → index-f4dec25b.js} +4 -4
  245. package/cjs/{index-b1ed74bd.js.map → index-f4dec25b.js.map} +1 -1
  246. package/cjs/{index-edd379fd.js → index-f6ccdc07.js} +7 -7
  247. package/cjs/index-f6ccdc07.js.map +1 -0
  248. package/cjs/index.js +40 -39
  249. package/cjs/index.js.map +1 -1
  250. package/cjs/{openChannel-865f6910.js → openChannel-bb5e32ba.js} +3 -3
  251. package/cjs/{openChannel-865f6910.js.map → openChannel-bb5e32ba.js.map} +1 -1
  252. package/cjs/{openChannelUtils-341c5ad7.js → openChannelUtils-ea9b884a.js} +1 -1
  253. package/cjs/{openChannelUtils-341c5ad7.js.map → openChannelUtils-ea9b884a.js.map} +1 -1
  254. package/cjs/{sendbird-313241e2.js → sendbird-f219ad11.js} +3 -3
  255. package/cjs/{sendbird-313241e2.js.map → sendbird-f219ad11.js.map} +1 -1
  256. package/cjs/sendbirdSelectors.js +2 -2
  257. package/cjs/{stringSet-afc1ff3b.js → stringSet-0e48356d.js} +3 -2
  258. package/cjs/stringSet-0e48356d.js.map +1 -0
  259. package/cjs/{topics-57ad0394.js → topics-6314d5b3.js} +1 -1
  260. package/cjs/{topics-57ad0394.js.map → topics-6314d5b3.js.map} +1 -1
  261. package/cjs/{tslib.es6-12c25052.js → tslib.es6-4d92f5f1.js} +1 -1
  262. package/cjs/{tslib.es6-12c25052.js.map → tslib.es6-4d92f5f1.js.map} +1 -1
  263. package/cjs/ui/Accordion.js +4 -4
  264. package/cjs/ui/AccordionGroup.js +2 -2
  265. package/cjs/ui/AdminMessage.js +14 -24
  266. package/cjs/ui/AdminMessage.js.map +1 -1
  267. package/cjs/ui/Avatar.js +3 -3
  268. package/cjs/ui/Avatar.js.map +1 -1
  269. package/cjs/ui/Badge.js +15 -25
  270. package/cjs/ui/Badge.js.map +1 -1
  271. package/cjs/ui/Button.js +5 -4
  272. package/cjs/ui/Button.js.map +1 -1
  273. package/cjs/ui/ChannelAvatar.js +4 -4
  274. package/cjs/ui/ChannelPreview.js +16 -12
  275. package/cjs/ui/ChannelPreview.js.map +1 -1
  276. package/cjs/ui/ChatHeader.js +42 -74
  277. package/cjs/ui/ChatHeader.js.map +1 -1
  278. package/cjs/ui/ConnectionStatus.js +6 -8
  279. package/cjs/ui/ConnectionStatus.js.map +1 -1
  280. package/cjs/ui/ContextMenu.js +186 -290
  281. package/cjs/ui/ContextMenu.js.map +1 -1
  282. package/cjs/ui/DateSeparator.js +18 -25
  283. package/cjs/ui/DateSeparator.js.map +1 -1
  284. package/cjs/ui/EmojiReactions.js +8 -7
  285. package/cjs/ui/EmojiReactions.js.map +1 -1
  286. package/cjs/ui/FileMessageItemBody.js +7 -7
  287. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  288. package/cjs/ui/FileViewer.js +46 -83
  289. package/cjs/ui/FileViewer.js.map +1 -1
  290. package/cjs/ui/Icon.js +1 -1
  291. package/cjs/ui/IconButton.js +45 -68
  292. package/cjs/ui/IconButton.js.map +1 -1
  293. package/cjs/ui/ImageRenderer.js +43 -78
  294. package/cjs/ui/ImageRenderer.js.map +1 -1
  295. package/cjs/ui/Input.js +11 -30
  296. package/cjs/ui/Input.js.map +1 -1
  297. package/cjs/ui/Label.js +3 -3
  298. package/cjs/ui/LinkLabel.js +3 -3
  299. package/cjs/ui/Loader.js +15 -24
  300. package/cjs/ui/Loader.js.map +1 -1
  301. package/cjs/ui/MentionLabel.js +12 -12
  302. package/cjs/ui/MessageContent.js +15 -15
  303. package/cjs/ui/MessageInput.js +10 -10
  304. package/cjs/ui/MessageItemMenu.js +9 -8
  305. package/cjs/ui/MessageItemMenu.js.map +1 -1
  306. package/cjs/ui/MessageItemReactionMenu.js +7 -6
  307. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  308. package/cjs/ui/MessageSearchFileItem.js +10 -10
  309. package/cjs/ui/MessageSearchItem.js +11 -11
  310. package/cjs/ui/MessageStatus.js +8 -8
  311. package/cjs/ui/Modal.js +36 -68
  312. package/cjs/ui/Modal.js.map +1 -1
  313. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  314. package/cjs/ui/OGMessageItemBody.js +11 -11
  315. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  316. package/cjs/ui/OpenChannelAvatar.js +8 -8
  317. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  318. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  319. package/cjs/ui/OpenchannelOGMessage.js +15 -15
  320. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  321. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  322. package/cjs/ui/PlaceHolder.js +8 -7
  323. package/cjs/ui/PlaceHolder.js.map +1 -1
  324. package/cjs/ui/QuoteMessage.js +7 -7
  325. package/cjs/ui/QuoteMessageInput.js +7 -7
  326. package/cjs/ui/ReactionBadge.js +16 -26
  327. package/cjs/ui/ReactionBadge.js.map +1 -1
  328. package/cjs/ui/ReactionButton.js +4 -21
  329. package/cjs/ui/ReactionButton.js.map +1 -1
  330. package/cjs/ui/SortByRow.js +16 -26
  331. package/cjs/ui/SortByRow.js.map +1 -1
  332. package/cjs/ui/TextButton.js +22 -29
  333. package/cjs/ui/TextButton.js.map +1 -1
  334. package/cjs/ui/TextMessageItemBody.js +11 -11
  335. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  336. package/cjs/ui/Tooltip.js +11 -17
  337. package/cjs/ui/Tooltip.js.map +1 -1
  338. package/cjs/ui/TooltipWrapper.js +10 -20
  339. package/cjs/ui/TooltipWrapper.js.map +1 -1
  340. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  341. package/cjs/ui/UserListItem.js +12 -12
  342. package/cjs/ui/UserProfile.js +11 -11
  343. package/cjs/ui/Word.js +11 -11
  344. package/cjs/useSendbirdStateContext.js +1 -1
  345. package/cjs/{utils-1a8a0b72.js → utils-1cdb42c0.js} +1 -1
  346. package/cjs/{utils-1a8a0b72.js.map → utils-1cdb42c0.js.map} +1 -1
  347. package/cjs/{utils-71bd80e8.js → utils-b6436b0d.js} +1 -1
  348. package/cjs/{utils-71bd80e8.js.map → utils-b6436b0d.js.map} +1 -1
  349. package/cjs/{utils-6f828dbd.js → utils-b8eff714.js} +1 -1
  350. package/cjs/{utils-6f828dbd.js.map → utils-b8eff714.js.map} +1 -1
  351. package/cjs/{uuid-920ae00d.js → uuid-6fae7fc4.js} +1 -1
  352. package/cjs/{uuid-920ae00d.js.map → uuid-6fae7fc4.js.map} +1 -1
  353. package/cjs/withSendbird.js +1 -1
  354. package/{color-f6548425.js → color-7a9e9046.js} +16 -12
  355. package/color-7a9e9046.js.map +1 -0
  356. package/{compareIds-8402fa74.js → compareIds-b5421ba2.js} +1 -1
  357. package/{compareIds-8402fa74.js.map → compareIds-b5421ba2.js.map} +1 -1
  358. package/{const-c81e2d08.js → const-2017fde0.js} +1 -1
  359. package/{const-c81e2d08.js.map → const-2017fde0.js.map} +1 -1
  360. package/{const-9039e539.js → const-43ed4c6f.js} +1 -1
  361. package/{const-9039e539.js.map → const-43ed4c6f.js.map} +1 -1
  362. package/{context-3629064f.js → context-d85e90c3.js} +2 -2
  363. package/{context-3629064f.js.map → context-d85e90c3.js.map} +1 -1
  364. package/dist/index.css +50 -72
  365. package/dist/index.css.map +1 -1
  366. package/{groupChannel-fc842dca.js → groupChannel-1ce183d5.js} +4 -4
  367. package/{groupChannel-fc842dca.js.map → groupChannel-1ce183d5.js.map} +1 -1
  368. package/handlers/ConnectionHandler.js +4 -4
  369. package/handlers/GroupChannelHandler.js +5 -5
  370. package/handlers/OpenChannelHandler.js +4 -4
  371. package/handlers/UserEventHandler.js +4 -4
  372. package/{index-2034978f.js → index-00ac1d60.js} +15 -26
  373. package/index-00ac1d60.js.map +1 -0
  374. package/{index-191d1d43.js → index-3d519005.js} +1 -1
  375. package/{index-191d1d43.js.map → index-3d519005.js.map} +1 -1
  376. package/{index-5428ab4f.js → index-47b8d0ce.js} +2 -2
  377. package/{index-5428ab4f.js.map → index-47b8d0ce.js.map} +1 -1
  378. package/{index-07cd4778.js → index-5efc096b.js} +3 -3
  379. package/{index-07cd4778.js.map → index-5efc096b.js.map} +1 -1
  380. package/{index-b1f9e3f9.js → index-62f1a209.js} +4 -4
  381. package/{index-b1f9e3f9.js.map → index-62f1a209.js.map} +1 -1
  382. package/{index-fc480728.js → index-6e4da943.js} +11 -10
  383. package/{index-fc480728.js.map → index-6e4da943.js.map} +1 -1
  384. package/{index-42b2527f.js → index-7965b338.js} +1 -1
  385. package/{index-42b2527f.js.map → index-7965b338.js.map} +1 -1
  386. package/index-9ba00bc1.js +82 -0
  387. package/index-9ba00bc1.js.map +1 -0
  388. package/{index-17024830.js → index-cdcfdf8f.js} +7 -7
  389. package/index-cdcfdf8f.js.map +1 -0
  390. package/{index-aa2d32cc.js → index-d4e18807.js} +2 -2
  391. package/{index-aa2d32cc.js.map → index-d4e18807.js.map} +1 -1
  392. package/{index-65007eeb.js → index-f37bc955.js} +2 -2
  393. package/{index-65007eeb.js.map → index-f37bc955.js.map} +1 -1
  394. package/index.d.ts +116 -109
  395. package/index.js +40 -39
  396. package/index.js.map +1 -1
  397. package/{openChannel-2b51e3d3.js → openChannel-654409d7.js} +3 -3
  398. package/{openChannel-2b51e3d3.js.map → openChannel-654409d7.js.map} +1 -1
  399. package/{openChannelUtils-6a414996.js → openChannelUtils-1ae6ef95.js} +1 -1
  400. package/{openChannelUtils-6a414996.js.map → openChannelUtils-1ae6ef95.js.map} +1 -1
  401. package/package-lock.json +2 -2
  402. package/package.json +1 -1
  403. package/{sendbird-d625a809.js → sendbird-ae433167.js} +3 -3
  404. package/{sendbird-d625a809.js.map → sendbird-ae433167.js.map} +1 -1
  405. package/sendbirdSelectors.js +2 -2
  406. package/{stringSet-92f53c6e.js → stringSet-53204a58.js} +3 -2
  407. package/stringSet-53204a58.js.map +1 -0
  408. package/{topics-71b67878.js → topics-3dbd69e2.js} +1 -1
  409. package/{topics-71b67878.js.map → topics-3dbd69e2.js.map} +1 -1
  410. package/{tslib.es6-c793443a.js → tslib.es6-5c8a20bb.js} +1 -1
  411. package/{tslib.es6-c793443a.js.map → tslib.es6-5c8a20bb.js.map} +1 -1
  412. package/ui/Accordion.js +4 -4
  413. package/ui/AccordionGroup.js +2 -2
  414. package/ui/AdminMessage.js +14 -23
  415. package/ui/AdminMessage.js.map +1 -1
  416. package/ui/Avatar.js +3 -3
  417. package/ui/Avatar.js.map +1 -1
  418. package/ui/Badge.js +15 -24
  419. package/ui/Badge.js.map +1 -1
  420. package/ui/Button.js +5 -4
  421. package/ui/Button.js.map +1 -1
  422. package/ui/ChannelAvatar.js +4 -4
  423. package/ui/ChannelPreview.js +17 -13
  424. package/ui/ChannelPreview.js.map +1 -1
  425. package/ui/ChatHeader.js +43 -74
  426. package/ui/ChatHeader.js.map +1 -1
  427. package/ui/ConnectionStatus.js +6 -8
  428. package/ui/ConnectionStatus.js.map +1 -1
  429. package/ui/ContextMenu.js +188 -291
  430. package/ui/ContextMenu.js.map +1 -1
  431. package/ui/DateSeparator.js +18 -24
  432. package/ui/DateSeparator.js.map +1 -1
  433. package/ui/EmojiReactions.js +8 -7
  434. package/ui/EmojiReactions.js.map +1 -1
  435. package/ui/FileMessageItemBody.js +7 -7
  436. package/ui/FileMessageItemBody.js.map +1 -1
  437. package/ui/FileViewer.js +47 -83
  438. package/ui/FileViewer.js.map +1 -1
  439. package/ui/Icon.js +1 -1
  440. package/ui/IconButton.js +43 -65
  441. package/ui/IconButton.js.map +1 -1
  442. package/ui/ImageRenderer.js +43 -77
  443. package/ui/ImageRenderer.js.map +1 -1
  444. package/ui/Input.js +11 -29
  445. package/ui/Input.js.map +1 -1
  446. package/ui/Label.js +3 -3
  447. package/ui/LinkLabel.js +3 -3
  448. package/ui/Loader.js +15 -23
  449. package/ui/Loader.js.map +1 -1
  450. package/ui/MentionLabel.js +12 -12
  451. package/ui/MessageContent.js +15 -15
  452. package/ui/MessageInput.js +10 -10
  453. package/ui/MessageItemMenu.js +9 -8
  454. package/ui/MessageItemMenu.js.map +1 -1
  455. package/ui/MessageItemReactionMenu.js +7 -6
  456. package/ui/MessageItemReactionMenu.js.map +1 -1
  457. package/ui/MessageSearchFileItem.js +10 -10
  458. package/ui/MessageSearchItem.js +11 -11
  459. package/ui/MessageStatus.js +8 -8
  460. package/ui/Modal.js +36 -67
  461. package/ui/Modal.js.map +1 -1
  462. package/ui/MutedAvatarOverlay.js +1 -1
  463. package/ui/OGMessageItemBody.js +11 -11
  464. package/ui/OpenChannelAdminMessage.js +4 -4
  465. package/ui/OpenChannelAvatar.js +8 -8
  466. package/ui/OpenchannelConversationHeader.js +7 -7
  467. package/ui/OpenchannelFileMessage.js +15 -15
  468. package/ui/OpenchannelOGMessage.js +15 -15
  469. package/ui/OpenchannelThumbnailMessage.js +14 -14
  470. package/ui/OpenchannelUserMessage.js +15 -15
  471. package/ui/PlaceHolder.js +8 -7
  472. package/ui/PlaceHolder.js.map +1 -1
  473. package/ui/QuoteMessage.js +7 -7
  474. package/ui/QuoteMessageInput.js +7 -7
  475. package/ui/ReactionBadge.js +16 -25
  476. package/ui/ReactionBadge.js.map +1 -1
  477. package/ui/ReactionButton.js +4 -20
  478. package/ui/ReactionButton.js.map +1 -1
  479. package/ui/SortByRow.js +15 -24
  480. package/ui/SortByRow.js.map +1 -1
  481. package/ui/TextButton.js +22 -28
  482. package/ui/TextButton.js.map +1 -1
  483. package/ui/TextMessageItemBody.js +11 -11
  484. package/ui/ThumbnailMessageItemBody.js +3 -3
  485. package/ui/Tooltip.js +11 -16
  486. package/ui/Tooltip.js.map +1 -1
  487. package/ui/TooltipWrapper.js +10 -19
  488. package/ui/TooltipWrapper.js.map +1 -1
  489. package/ui/UnknownMessageItemBody.js +7 -7
  490. package/ui/UserListItem.js +12 -12
  491. package/ui/UserProfile.js +11 -11
  492. package/ui/Word.js +11 -11
  493. package/useSendbirdStateContext.js +1 -1
  494. package/{utils-b69f7583.js → utils-e0115d03.js} +1 -1
  495. package/{utils-b69f7583.js.map → utils-e0115d03.js.map} +1 -1
  496. package/{utils-972c4edb.js → utils-ea818d4c.js} +1 -1
  497. package/{utils-972c4edb.js.map → utils-ea818d4c.js.map} +1 -1
  498. package/{utils-b37c6db3.js → utils-edeb25c5.js} +1 -1
  499. package/{utils-b37c6db3.js.map → utils-edeb25c5.js.map} +1 -1
  500. package/{uuid-7c3f59a3.js → uuid-8d849862.js} +1 -1
  501. package/{uuid-7c3f59a3.js.map → uuid-8d849862.js.map} +1 -1
  502. package/withSendbird.js +1 -1
  503. package/ChannelListProvider-bdac2e90.js.map +0 -1
  504. package/ChannelProvider-0174d0f3.js.map +0 -1
  505. package/CreateChannelProvider-1cf4ef27.js.map +0 -1
  506. package/LocalizationContext-61a4a931.js.map +0 -1
  507. package/_rollupPluginBabelHelpers-30d122aa.js.map +0 -1
  508. package/cjs/ChannelListProvider-e7756677.js.map +0 -1
  509. package/cjs/ChannelProvider-c179835a.js.map +0 -1
  510. package/cjs/CreateChannelProvider-a7ca5511.js.map +0 -1
  511. package/cjs/LocalizationContext-f05328b8.js.map +0 -1
  512. package/cjs/_rollupPluginBabelHelpers-92e5e012.js.map +0 -1
  513. package/cjs/color-2f811855.js +0 -42
  514. package/cjs/color-2f811855.js.map +0 -1
  515. package/cjs/index-188e8e7f.js +0 -97
  516. package/cjs/index-188e8e7f.js.map +0 -1
  517. package/cjs/index-edd379fd.js.map +0 -1
  518. package/cjs/stringSet-afc1ff3b.js.map +0 -1
  519. package/cjs/ui/Dropdown.js +0 -107
  520. package/cjs/ui/Dropdown.js.map +0 -1
  521. package/color-f6548425.js.map +0 -1
  522. package/index-17024830.js.map +0 -1
  523. package/index-2034978f.js.map +0 -1
  524. package/index-d3358aa9.js +0 -87
  525. package/index-d3358aa9.js.map +0 -1
  526. package/stringSet-92f53c6e.js.map +0 -1
  527. package/ui/Dropdown.js +0 -97
  528. package/ui/Dropdown.js.map +0 -1
@@ -1 +1 @@
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 }\n\n componentWillUnmount() {\n this.cleanUpEvents();\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","closeDropdown","menuRef","handleClickOutside","event","current","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","cleanUpEvents","children","style","createPortal","display","position","Math","round","getElementById","Component","propTypes","PropTypes","func","isRequired","oneOfType","element","arrayOf","shape","instanceOf","Element","bool","defaultProps","EmojiListItems","parentContainRef","classList","add","remove","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","showParent","hideParent","SortByRow","number","ENTER","MenuItems_","EmojiListItems_","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","string","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","useState","showMenu","setShowMenu"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../../src/ui/ContextMenu/MenuItems.tsx","../../../src/ui/ContextMenu/EmojiListItems.tsx","../../../src/ui/ContextMenu/index.tsx"],"sourcesContent":["import React, { ReactElement, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\ntype MenuStyle = { left: number, top: number };\nexport interface MenuItemsProps {\n className?: string | Array<string>;\n children?: ReactElement;\n style?: { [key: string]: string };\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef?: RefObject<HTMLDivElement>;\n openLeft?: boolean;\n closeDropdown: () => void;\n}\n\nconst MenuItems = ({\n className,\n children,\n style = {},\n parentRef,\n parentContainRef,\n openLeft = false,\n closeDropdown,\n}: MenuItemsProps): ReactElement => {\n const menuRef = useRef(null);\n const [menuStyle, setMenuStyle] = useState<MenuStyle>({ left: 0, top: 0 });\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (menuRef?.current && !menuRef?.current.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n /* getMenuPosition */\n useEffect(() => {\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 if (!menuRef?.current) {\n setMenuStyle(menuStyle);\n } else {\n const { innerWidth, innerHeight } = window;\n const rect = menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\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 setMenuStyle(menuStyle);\n }\n }, []);\n\n return createPortal(\n (\n <div className={Array.isArray(className) ? className.join(' ') : className}>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={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 </div>\n ),\n document.getElementById('sendbird-dropdown-portal')\n );\n};\n\nexport default MenuItems;\n","import React, { ReactElement, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport SortByRow from '../SortByRow';\n\ntype SpaceFromTrigger = { x: number, y: number };\ntype ReactionStyle = { left: number, top: number };\nexport interface EmojiListItemsProps {\n closeDropdown: () => void;\n children: ReactElement;\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef: RefObject<HTMLDivElement>;\n spaceFromTrigger?: SpaceFromTrigger;\n}\n\nconst EmojiListItems = ({\n children,\n parentRef,\n parentContainRef,\n spaceFromTrigger = { x: 0, y: 0 },\n closeDropdown,\n}: EmojiListItemsProps): ReactElement => {\n const [reactionStyle, setReactionStyle] = useState<ReactionStyle>({ left: 0, top: 0 });\n const reactionRef = useRef(null);\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutSide = (event) => {\n if (reactionRef?.current && !reactionRef?.current?.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutSide);\n return () => {\n document.removeEventListener('mousedown', handleClickOutSide);\n };\n }, []);\n\n /* getBarPosition */\n useEffect(() => {\n const spaceFromTriggerX = spaceFromTrigger?.x || 0;\n const spaceFromTriggerY = spaceFromTrigger?.y || 0;\n const parentRect = parentRef?.current?.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const reactionStyle = {\n top: y,\n left: x,\n };\n if (!reactionRef?.current) {\n setReactionStyle(reactionStyle);\n } else {\n const rect = reactionRef?.current?.getBoundingClientRect();\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 reactionStyle.left -= rect.width / 2;\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\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 setReactionStyle(reactionStyle);\n }\n }, []);\n\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={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\nexport default EmojiListItems;\n","import React, { ReactElement, MouseEvent, useState } from 'react';\nimport './index.scss';\n\nimport _MenuItems from './MenuItems';\nimport _EmojiListItems from './EmojiListItems';\n\nimport { getClassName } from '../../utils';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nconst ENTER_KEY = 13;\n\nexport const MenuItems = _MenuItems;\nexport const EmojiListItems = _EmojiListItems;\n\nexport interface MenuItemProps {\n className?: string | Array<string>;\n children: ReactElement;\n onClick?: (e: MouseEvent<HTMLLIElement>) => void;\n disable?: boolean;\n}\nexport const MenuItem = ({\n className = '',\n children,\n onClick,\n disable = false,\n}: MenuItemProps): ReactElement => {\n const handleClickEvent = (e) => {\n if (!disable && onClick) {\n onClick?.(e);\n }\n };\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_KEY) 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\nexport const MenuRoot = (): ReactElement => <div id=\"sendbird-dropdown-portal\" />;\nexport const EmojiReactionListRoot = (): ReactElement => <div id=\"sendbird-emoji-list-portal\" />;\n\ntype MenuDisplayingFunc = () => void;\nexport interface ContextMenuProps {\n menuTrigger: (MenuDisplayingFunc) => ReactElement;\n menuItems: (MenuDisplayingFunc) => ReactElement;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n}: ContextMenuProps): ReactElement {\n const [showMenu, setShowMenu] = useState(false);\n return (\n <div className=\"sendbird-context-menu\">\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n"],"names":["MenuItems","_a","className","children","_b","style","parentRef","parentContainRef","_c","openLeft","closeDropdown","menuRef","useRef","_d","useState","left","top","menuStyle","setMenuStyle","useEffect","current","classList","add","remove","handleClickOutside","event","contains","target","document","addEventListener","removeEventListener","parentRect","getBoundingClientRect","x","y","innerWidth_1","window","innerHeight_1","rect","height","width","padding","Number","isNaN","createPortal","React","Array","isArray","join","display","position","Math","round","getElementById","EmojiListItems","spaceFromTrigger","reactionStyle","setReactionStyle","reactionRef","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","innerWidth","SortByRow","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","onClick","disable","handleClickEvent","e","getClassName","keyCode","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu"],"mappings":"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"}
@@ -1,43 +1,36 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-92e5e012.js');
3
+ var tslib_es6 = require('../tslib.es6-4d92f5f1.js');
4
4
  var React = require('react');
5
- var PropTypes = require('prop-types');
6
- var color = require('../color-2f811855.js');
7
- var ui_Label = require('../index-cce2b8c0.js');
8
- require('../stringSet-afc1ff3b.js');
5
+ var color = require('../color-047cfbdf.js');
6
+ var ui_Label = require('../index-13532266.js');
7
+ require('../_rollupPluginBabelHelpers-e3f84a90.js');
8
+ require('prop-types');
9
+ require('../stringSet-0e48356d.js');
9
10
 
10
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
12
 
12
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
14
14
 
15
- function DateSeparator(_ref) {
16
- var className = _ref.className,
17
- children = _ref.children,
18
- separatorColor = _ref.separatorColor;
15
+ var DateSeparator = function DateSeparator(_a) {
16
+ var _b = _a.children,
17
+ children = _b === void 0 ? null : _b,
18
+ _c = _a.className,
19
+ className = _c === void 0 ? '' : _c,
20
+ _d = _a.separatorColor,
21
+ separatorColor = _d === void 0 ? color.Colors.ONBACKGROUND_4 : _d;
19
22
  return /*#__PURE__*/React__default["default"].createElement("div", {
20
- className: [].concat(_rollupPluginBabelHelpers._toConsumableArray(Array.isArray(className) ? className : [className]), ['sendbird-separator']).join(' ')
23
+ className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-separator'], false).join(' ')
21
24
  }, /*#__PURE__*/React__default["default"].createElement("div", {
22
25
  className: ['sendbird-separator__left', "".concat(color.changeColorToClassName(separatorColor), "--background-color")].join(' ')
23
26
  }), /*#__PURE__*/React__default["default"].createElement("div", {
24
27
  className: "sendbird-separator__text"
25
- }, children), /*#__PURE__*/React__default["default"].createElement("div", {
26
- className: ['sendbird-separator__right', "".concat(color.changeColorToClassName(separatorColor), "--background-color")].join(' ')
27
- }));
28
- }
29
- DateSeparator.propTypes = {
30
- className: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)]),
31
- children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].arrayOf(PropTypes__default["default"].string), PropTypes__default["default"].element]),
32
- separatorColor: PropTypes__default["default"].oneOf(['ONBACKGROUND_1', 'ONBACKGROUND_2', 'ONBACKGROUND_3', 'ONBACKGROUND_4', 'ONCONTENT_1', 'PRIMARY', 'ERROR'])
33
- };
34
- DateSeparator.defaultProps = {
35
- className: '',
36
- children: /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
28
+ }, children || /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
37
29
  type: ui_Label.LabelTypography.CAPTION_2,
38
30
  color: ui_Label.LabelColors.ONBACKGROUND_2
39
- }, "Date Separator"),
40
- separatorColor: color.Colors.ONBACKGROUND_4
31
+ }, "Date Separator")), /*#__PURE__*/React__default["default"].createElement("div", {
32
+ className: ['sendbird-separator__right', "".concat(color.changeColorToClassName(separatorColor), "--background-color")].join(' ')
33
+ }));
41
34
  };
42
35
 
43
36
  module.exports = DateSeparator;
@@ -1 +1 @@
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.oneOf([\n 'ONBACKGROUND_1',\n 'ONBACKGROUND_2',\n 'ONBACKGROUND_3',\n 'ONBACKGROUND_4',\n 'ONCONTENT_1',\n 'PRIMARY',\n 'ERROR',\n ]),\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","oneOf","defaultProps","Label","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,uDACLC,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,4BAAsB,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,4BAAsB,CAACL,cAAD,CAAvD,yBAA6FI,IAA7F,CAAkG,GAAlG;AAAhB,IARF,CADF;AAYD;AAEDP,aAAa,CAACS,SAAd,GAA0B;AACxBR,EAAAA,SAAS,EAAES,6BAAS,CAACC,SAAV,CAAoB,CAC7BD,6BAAS,CAACE,MADmB,EAE7BF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACE,MAA5B,CAF6B,CAApB,CADa;AAKxBV,EAAAA,QAAQ,EAAEQ,6BAAS,CAACC,SAAV,CAAoB,CAC5BD,6BAAS,CAACE,MADkB,EAE5BF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACE,MAA5B,CAF4B,EAG5BF,6BAAS,CAACI,OAHkB,CAApB,CALc;AAUxBX,EAAAA,cAAc,EAAEO,6BAAS,CAACK,KAAV,CAAgB,CAC9B,gBAD8B,EAE9B,gBAF8B,EAG9B,gBAH8B,EAI9B,gBAJ8B,EAK9B,aAL8B,EAM9B,SAN8B,EAO9B,OAP8B,CAAhB;AAVQ,CAA1B;AAqBAf,aAAa,CAACgB,YAAd,GAA6B;AAC3Bf,EAAAA,SAAS,EAAE,EADgB;AAE3BC,EAAAA,QAAQ,eACNE,wCAACa,cAAD;AAAO,IAAA,IAAI,EAAEC,wBAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAA3D,sBAHyB;AAO3BlB,EAAAA,cAAc,EAAEmB,YAAM,CAACC;AAPI,CAA7B;;;;"}
1
+ {"version":3,"file":"DateSeparator.js","sources":["../../../src/ui/DateSeparator/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\n\nimport './index.scss';\n\nimport {\n Colors,\n changeColorToClassName,\n} from '../../utils/color';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface DateSeparatorProps {\n children?: string | ReactElement;\n className?: string | Array<string>;\n separatorColor?: Colors;\n}\nconst DateSeparator = ({\n children = null,\n className = '',\n separatorColor = Colors.ONBACKGROUND_4,\n}: DateSeparatorProps): ReactElement => {\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\">\n {\n children\n || (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n )\n }\n </div>\n <div className={['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n </div>\n );\n};\n\nexport default DateSeparator;\n"],"names":["DateSeparator","_a","_b","children","_c","className","_d","separatorColor","Colors","ONBACKGROUND_4","React","__spreadArray","Array","isArray","join","changeColorToClassName","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":";;;;;;;;;;;;;;IAgBMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,EAAD;MACpBC;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,SAAS,mBAAG;MACZC;MAAAC,cAAc,mBAAGC,YAAM,CAACC;AAExB,sBACEC;AACE,IAAA,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAcR,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,6BAFS,CAGTS,IAHS,CAGJ,GAHI;AADb,kBAMEJ;AAAK,IAAA,SAAS,EAAE,CAAC,0BAAD,EAA6B,SAAA,CAAGK,4BAAsB,CAACR,cAAD,CAAzB,sBAAA,CAA7B,EAA4FO,IAA5F,CAAiG,GAAjG;AAAhB,IANF,eAOEJ;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIP,QAAQ,iBAENO,wCAACM,cAAD;AAAO,IAAA,IAAI,EAAEC,wBAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAA3D,sBAJN,CAPF,eAiBEV;AAAK,IAAA,SAAS,EAAE,CAAC,2BAAD,EAA8B,SAAA,CAAGK,4BAAsB,CAACR,cAAD,CAAzB,sBAAA,CAA9B,EAA6FO,IAA7F,CAAkG,GAAlG;AAAhB,IAjBF,CADF;AAqBD;;;;"}
@@ -8,16 +8,17 @@ var ui_ReactionButton = require('./ReactionButton.js');
8
8
  var ui_ImageRenderer = require('./ImageRenderer.js');
9
9
  var ui_Icon = require('./Icon.js');
10
10
  var ui_ContextMenu = require('./ContextMenu.js');
11
- var index = require('../index-10b68ab4.js');
12
- var LocalizationContext = require('../LocalizationContext-f05328b8.js');
13
- require('../_rollupPluginBabelHelpers-92e5e012.js');
11
+ var index = require('../index-bf23b757.js');
12
+ var LocalizationContext = require('../LocalizationContext-a4d8d6fa.js');
13
+ require('../tslib.es6-4d92f5f1.js');
14
+ require('../index-13532266.js');
15
+ require('../_rollupPluginBabelHelpers-e3f84a90.js');
14
16
  require('prop-types');
15
- require('../index-cce2b8c0.js');
16
- require('../stringSet-afc1ff3b.js');
17
+ require('../stringSet-0e48356d.js');
17
18
  require('react-dom');
18
19
  require('./SortByRow.js');
19
- require('../tslib.es6-12c25052.js');
20
- require('../index-2dacade8.js');
20
+ require('../uuid-6fae7fc4.js');
21
+ require('../index-df5b04e6.js');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiReactions.js","sources":["../../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\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\nconst EmojiReactions = ({\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\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_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","TooltipWrapper","key","userIds","Tooltip","getEmojiTooltipString","ReactionBadge","ImageRenderer","get","url","Icon","IconTypes","QUESTION","size","ContextMenu","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","EmojiListItems","getEmojiListAll","emoji","isReacted","filter","some","reactorId","ReactionButton","style"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiReactions.js","sources":["../../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\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\nconst EmojiReactions = ({\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\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_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","TooltipWrapper","key","userIds","Tooltip","getEmojiTooltipString","ReactionBadge","ImageRenderer","get","url","Icon","IconTypes","QUESTION","size","ContextMenu","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","EmojiListItems","getEmojiListAll","emoji","isReacted","filter","some","reactorId","ReactionButton","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IA2BMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD;;;MACrBC,SAAS;MACTC,MAAM;MACNC,OAAO;MACPC,cAAc;MACdC,kBAAkB;MAClBC;MAAAC,gBAAgB,mBAAG;MACnBC;MAAAC,MAAM,mBAAG;MACTC,cAAc;AAEN,MAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AACR,MAAMC,SAAS,GAAGC,oBAAc,CAACX,cAAD,CAAhC;AACA,MAAMY,cAAc,GAAGC,YAAM,CAAC,IAAD,CAA7B;AAEA,sBACEC;AAAK,IAAA,SAAS,EAAEC,kBAAY,CAAC,CAC3BlB,SAD2B,EAChB,0BADgB,EAE3BQ,MAAM,GAAG,UAAH,GAAgB,UAFK,CAAD;AAA5B,KAII,CAAA,MAAAN,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEiB,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAA9B,IACClB,OAAO,CAACiB,SAAR,CAAkBE,GAAlB,CAAsB,UAACC,QAAD;;;AACpB,QAAMC,WAAW,GAAGC,iBAAW,CAACvB,MAAD,EAASqB,QAAT,CAA/B;AACA,wBACEL,wCAACQ,iBAAD;AACE,MAAA,SAAS,EAAC,0CADZ;AAEE,MAAA,GAAG,EAAEH,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEI,GAFjB;AAGE,MAAA,YAAY,EAAG,CAAA,MAAAJ,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEK,OAAV,UAAA,iBAAA,SAAA,MAAmBP,MAAnB,IAA4B,CAA7B,iBACZH,wCAACW,UAAD,QACGC,2BAAqB,CAACP,QAAD,EAAWrB,MAAX,EAAmBG,kBAAnB,EAAuCM,SAAvC,CADxB;AAJJ,oBASEO,wCAACa,gBAAD;AACE,MAAA,KAAK,EAAER,QAAQ,CAACK,OAAT,CAAiBP,MAD1B;AAEE,MAAA,QAAQ,EAAEG,WAFZ;AAGE,MAAA,OAAO,EAAE;AAAM,eAAAd,cAAc,CAACP,OAAD,EAAUoB,QAAQ,CAACI,GAAnB,EAAwBH,WAAxB,CAAd;AAAkD;AAHnE,oBAKEN,wCAACc,gBAAD;AACE,MAAA,MAAM,MADR;AAEE,MAAA,GAAG,EAAE,CAAA,MAAAlB,SAAS,CAACmB,GAAV,CAAcV,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEI,GAAxB,CAAA,UAAA,iBAAA,SAAA,MAA8BO,GAA9B,KAAqC,EAF5C;AAGE,MAAA,KAAK,EAAC,MAHR;AAIE,MAAA,MAAM,EAAC,MAJT;AAKE,MAAA,gBAAgB,eACdhB,wCAACiB,kBAAD;AAAM,QAAA,KAAK,EAAC,MAAZ;AAAmB,QAAA,MAAM,EAAC,MAA1B;AAAiC,QAAA,IAAI,EAAEC,iBAAS,CAACC;AAAjD;AANJ,MALF,CATF,CADF;AA2BD,GA7BD,CALJ,EAoCI,CAAA,MAAAlC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEiB,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6BP,SAAS,CAACwB,IAAxC,iBACCpB,wCAACqB,yBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAA8C,0BACzDtB,wCAACa,gBAAD;AACE,QAAA,SAAS,EAAC,8CADZ;AAEE,QAAA,GAAG,EAAEf,cAFP;AAGE,QAAA,KAAK,MAHP;AAIE,QAAA,OAAO,EAAEwB;AAJX,sBAMEtB,wCAACiB,kBAAD;AACE,QAAA,IAAI,EAAEC,iBAAS,CAACK,UADlB;AAEE,QAAA,SAAS,EAAEC,kBAAU,CAACC,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC;AAJT,QANF,CADyD;AAc1D,KAfH;AAgBE,IAAA,SAAS,EAAE,mBAACC,aAAD;AAA6C,0BACtD1B,wCAAC2B,6BAAD;AACE,QAAA,SAAS,EAAE7B,cADb;AAEE,QAAA,gBAAgB,EAAEA,cAFpB;AAGE,QAAA,aAAa,EAAE4B,aAHjB;AAIE,QAAA,gBAAgB,EAAErC;AAJpB,SAMGuC,qBAAe,CAAC1C,cAAD,CAAf,CAAgCkB,GAAhC,CAAoC,UAACyB,KAAD;;;AACnC,YAAMC,SAAS,GAAY,MAAA,MAAA,MAAA7C,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEiB,SAAT,UAAA,iBAAA,SAAA,MACzB6B,OAAO,UAAC1B,QAAD;AAAiC,iBAAAA,QAAQ,CAACI,GAAT,KAAiBoB,KAAK,CAACpB,GAAvB;AAA0B,WAAE,EAD3C,UAAA,iBAAA,SAAA,MAC+CC,OAD/C,UAAA,iBAAA,SAAA,MAEzBsB,KAAK,UAACC,SAAD;AAAgC,iBAAAA,SAAS,KAAKjD,MAAd;AAAoB,UAF3D;AAGA,4BACEgB,wCAACkC,iBAAD;AACE,UAAA,GAAG,EAAEL,KAAK,CAACpB,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,QAAQ,EAAEqB,SAJZ;AAKE,UAAA,OAAO,EAAE;AACPJ,YAAAA,aAAa;AACblC,YAAAA,cAAc,CAACP,OAAD,EAAU4C,KAAK,CAACpB,GAAhB,EAAqBqB,SAArB,CAAd;AACD;AARH,wBAUE9B,wCAACc,gBAAD;AACE,UAAA,GAAG,EAAE,CAAAe,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEb,GAAP,KAAc,EADrB;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,WAAW,EAAE,qBAACmB,KAAD;AAAkD,gCAC7DnC;AAAK,cAAA,KAAK,EAAEmC;AAAZ,4BACEnC,wCAACiB,kBAAD;AACE,cAAA,IAAI,EAAEC,iBAAS,CAACC,QADlB;AAEE,cAAA,SAAS,EAAEK,kBAAU,CAACC,eAFxB;AAGE,cAAA,KAAK,EAAC,MAHR;AAIE,cAAA,MAAM,EAAC;AAJT,cADF,CAD6D;AAS9D;AAbH,UAVF,CADF;AA4BD,OAhCA,CANH,CADsD;AAyCvD;AAzDH,IArCJ,CADF;AAoGD;;;;"}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ui_Label = require('../index-cce2b8c0.js');
4
+ var ui_Label = require('../index-13532266.js');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  var ui_TextButton = require('./TextButton.js');
7
- var index = require('../index-10b68ab4.js');
8
- require('../_rollupPluginBabelHelpers-92e5e012.js');
7
+ var index = require('../index-bf23b757.js');
8
+ var color = require('../color-047cfbdf.js');
9
+ require('../_rollupPluginBabelHelpers-e3f84a90.js');
9
10
  require('prop-types');
10
- require('../stringSet-afc1ff3b.js');
11
- require('../color-2f811855.js');
12
- require('../tslib.es6-12c25052.js');
11
+ require('../stringSet-0e48356d.js');
12
+ require('../tslib.es6-4d92f5f1.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -45,7 +45,7 @@ function FileMessageItemBody(_a) {
45
45
  onClick: function onClick() {
46
46
  window.open(message === null || message === void 0 ? void 0 : message.url);
47
47
  },
48
- color: isByMe ? ui_Label.LabelColors.ONCONTENT_1 : ui_Label.LabelColors.ONBACKGROUND_1
48
+ color: isByMe ? color.Colors.ONCONTENT_1 : color.Colors.ONBACKGROUND_1
49
49
  }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
50
50
  className: "sendbird-file-message-item-body__file-name__text",
51
51
  type: ui_Label.LabelTypography.BODY_1,
@@ -1 +1 @@
1
- {"version":3,"file":"FileMessageItemBody.js","sources":["../../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\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","Icon","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","TextButton","window","open","url","LabelColors","ONCONTENT_1","ONBACKGROUND_1","Label","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,kBAAY,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,wCAACI,kBAAD;AACE,IAAA,SAAS,EAAE,kDADb;AAEE,IAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAEC,iBAAS,CAACC,KADb;AAEJC,MAAAA,KAAK,EAAEF,iBAAS,CAACG,IAFb;AAGJC,MAAAA,KAAK,EAAEJ,iBAAS,CAACK,UAHb;AAIJC,MAAAA,GAAG,EAAEN,iBAAS,CAACM,GAJX;AAKJC,MAAAA,MAAM,EAAEP,iBAAS,CAACQ;AALd,MAMJC,sBAAgB,CAACpB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEqB,IAAV,CANZ,CAFR;AASE,IAAA,SAAS,EAAEC,kBAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC;AAXT,IADF,CAPF,eAsBElB,wCAACmB,aAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE;AAAQC,MAAAA,MAAM,CAACC,IAAP,CAAY1B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2B,GAArB;AAA2B,KAF9C;AAGE,IAAA,KAAK,EAAEzB,MAAM,GAAG0B,oBAAW,CAACC,WAAf,GAA6BD,oBAAW,CAACE;AAHxD,kBAKEzB,wCAAC0B,cAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,MAFxB;AAGE,IAAA,KAAK,EAAE/B,MAAM,GAAG0B,oBAAW,CAACC,WAAf,GAA6BD,oBAAW,CAACE;AAHxD,KAKGI,oBAAc,CAAC,CAAAlC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEmC,IAAT,MAAiBnC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2B,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF;AAsCD;;;;"}
1
+ {"version":3,"file":"FileMessageItemBody.js","sources":["../../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\nimport { Colors } from '../../utils/color';\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 ? Colors.ONCONTENT_1 : Colors.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","Icon","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","TextButton","window","open","url","Colors","ONCONTENT_1","ONBACKGROUND_1","Label","LabelTypography","BODY_1","LabelColors","truncateString","name"],"mappings":";;;;;;;;;;;;;;;;;SAiBwBA,oBAAoBC;;;MAC1CC,SAAS;MACTC,OAAO;MACPC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,UAAU,mBAAG;AAGb,sBACEC;AAAK,IAAA,SAAS,EAAEC,kBAAY,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,wCAACI,kBAAD;AACE,IAAA,SAAS,EAAE,kDADb;AAEE,IAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAEC,iBAAS,CAACC,KADb;AAEJC,MAAAA,KAAK,EAAEF,iBAAS,CAACG,IAFb;AAGJC,MAAAA,KAAK,EAAEJ,iBAAS,CAACK,UAHb;AAIJC,MAAAA,GAAG,EAAEN,iBAAS,CAACM,GAJX;AAKJC,MAAAA,MAAM,EAAEP,iBAAS,CAACQ;AALd,MAMJC,sBAAgB,CAACpB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEqB,IAAV,CANZ,CAFR;AASE,IAAA,SAAS,EAAEC,kBAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC;AAXT,IADF,CAPF,eAsBElB,wCAACmB,aAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE;AAAQC,MAAAA,MAAM,CAACC,IAAP,CAAY1B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2B,GAArB;AAA2B,KAF9C;AAGE,IAAA,KAAK,EAAEzB,MAAM,GAAG0B,YAAM,CAACC,WAAV,GAAwBD,YAAM,CAACE;AAH9C,kBAKEzB,wCAAC0B,cAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,MAFxB;AAGE,IAAA,KAAK,EAAE/B,MAAM,GAAGgC,oBAAW,CAACL,WAAf,GAA6BK,oBAAW,CAACJ;AAHxD,KAKGK,oBAAc,CAAC,CAAAnC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoC,IAAT,MAAiBpC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2B,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF;AAsCD;;;;"}
@@ -3,34 +3,38 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var PropTypes = require('prop-types');
7
6
  var reactDom = require('react-dom');
7
+ var LocalizationContext = require('../LocalizationContext-a4d8d6fa.js');
8
+ var index = require('../index-6d74425b.js');
9
+ var index$1 = require('../index-bf23b757.js');
8
10
  var ui_Avatar = require('./Avatar.js');
9
- var ui_Label = require('../index-cce2b8c0.js');
11
+ var ui_Label = require('../index-13532266.js');
10
12
  var ui_Icon = require('./Icon.js');
11
- var index = require('../index-4bebe375.js');
12
- var index$1 = require('../index-10b68ab4.js');
13
- require('../tslib.es6-12c25052.js');
13
+ require('../stringSet-0e48356d.js');
14
+ require('../index-df5b04e6.js');
15
+ require('../tslib.es6-4d92f5f1.js');
14
16
  require('./ImageRenderer.js');
15
- require('../_rollupPluginBabelHelpers-92e5e012.js');
16
- require('../uuid-920ae00d.js');
17
- require('../stringSet-afc1ff3b.js');
17
+ require('../uuid-6fae7fc4.js');
18
+ require('../_rollupPluginBabelHelpers-e3f84a90.js');
19
+ require('prop-types');
18
20
 
19
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
22
 
21
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
23
24
 
24
- var FileViewerComponent = function FileViewerComponent(_ref) {
25
- var profileUrl = _ref.profileUrl,
26
- nickname = _ref.nickname,
27
- name = _ref.name,
28
- type = _ref.type,
29
- url = _ref.url,
30
- isByMe = _ref.isByMe,
31
- onClose = _ref.onClose,
32
- onDelete = _ref.onDelete,
33
- disableDelete = _ref.disableDelete;
25
+ var FileViewerComponent = function FileViewerComponent(_a) {
26
+ var profileUrl = _a.profileUrl,
27
+ nickname = _a.nickname,
28
+ name = _a.name,
29
+ type = _a.type,
30
+ url = _a.url,
31
+ _b = _a.isByMe,
32
+ isByMe = _b === void 0 ? true : _b,
33
+ _c = _a.disableDelete,
34
+ disableDelete = _c === void 0 ? false : _c,
35
+ onClose = _a.onClose,
36
+ onDelete = _a.onDelete;
37
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
34
38
  return /*#__PURE__*/React__default["default"].createElement("div", {
35
39
  className: "sendbird-fileviewer"
36
40
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -73,9 +77,9 @@ var FileViewerComponent = function FileViewerComponent(_ref) {
73
77
  fillColor: disableDelete ? ui_Icon.IconColors.GRAY : ui_Icon.IconColors.ON_BACKGROUND_1,
74
78
  height: "24px",
75
79
  width: "24px",
76
- onClick: function onClick() {
80
+ onClick: function onClick(e) {
77
81
  if (!disableDelete) {
78
- onDelete();
82
+ onDelete === null || onDelete === void 0 ? void 0 : onDelete(e);
79
83
  }
80
84
  }
81
85
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -85,13 +89,12 @@ var FileViewerComponent = function FileViewerComponent(_ref) {
85
89
  fillColor: ui_Icon.IconColors.ON_BACKGROUND_1,
86
90
  height: "24px",
87
91
  width: "24px",
88
- onClick: onClose
92
+ onClick: function onClick(e) {
93
+ return onClose === null || onClose === void 0 ? void 0 : onClose(e);
94
+ }
89
95
  })))), /*#__PURE__*/React__default["default"].createElement("div", {
90
96
  className: "sendbird-fileviewer__content"
91
- }, index$1.isVideo(type) &&
92
- /*#__PURE__*/
93
- // eslint-disable-next-line jsx-a11y/media-has-caption
94
- React__default["default"].createElement("video", {
97
+ }, index$1.isVideo(type) && /*#__PURE__*/React__default["default"].createElement("video", {
95
98
  controls: true,
96
99
  className: "sendbird-fileviewer__content__video"
97
100
  }, /*#__PURE__*/React__default["default"].createElement("source", {
@@ -106,68 +109,28 @@ var FileViewerComponent = function FileViewerComponent(_ref) {
106
109
  }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
107
110
  type: ui_Label.LabelTypography.H_1,
108
111
  color: ui_Label.LabelColors.ONBACKGROUND_1
109
- }, "Unsupoprted message"))));
110
- };
111
- FileViewerComponent.propTypes = {
112
- profileUrl: PropTypes__default["default"].string.isRequired,
113
- nickname: PropTypes__default["default"].string.isRequired,
114
- type: PropTypes__default["default"].string.isRequired,
115
- url: PropTypes__default["default"].string.isRequired,
116
- name: PropTypes__default["default"].string.isRequired,
117
- onClose: PropTypes__default["default"].func.isRequired,
118
- onDelete: PropTypes__default["default"].func.isRequired,
119
- isByMe: PropTypes__default["default"].bool,
120
- disableDelete: PropTypes__default["default"].bool
112
+ }, (stringSet === null || stringSet === void 0 ? void 0 : stringSet.UI__FILE_VIEWER__UNSUPPORT) || 'Unsupported message'))));
121
113
  };
122
- FileViewerComponent.defaultProps = {
123
- isByMe: true,
124
- disableDelete: false
125
- };
126
- function FileViewer(props) {
127
- var message = props.message,
128
- isByMe = props.isByMe,
129
- onClose = props.onClose,
130
- onDelete = props.onDelete;
131
- var sender = message.sender,
132
- type = message.type,
133
- url = message.url,
134
- _message$name = message.name,
135
- name = _message$name === void 0 ? '' : _message$name,
136
- _message$threadInfo = message.threadInfo,
137
- threadInfo = _message$threadInfo === void 0 ? {} : _message$threadInfo;
138
- var disableDelete = (threadInfo === null || threadInfo === void 0 ? void 0 : threadInfo.replyCount) > 0;
139
- var profileUrl = sender.profileUrl,
140
- _sender$nickname = sender.nickname,
141
- nickname = _sender$nickname === void 0 ? '' : _sender$nickname;
114
+ function FileViewer(_a) {
115
+ var _b, _c, _d;
116
+
117
+ var message = _a.message,
118
+ _e = _a.isByMe,
119
+ isByMe = _e === void 0 ? false : _e,
120
+ onClose = _a.onClose,
121
+ onDelete = _a.onDelete;
142
122
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(FileViewerComponent, {
143
- profileUrl: profileUrl,
144
- nickname: nickname,
145
- type: type,
146
- url: url,
147
- name: name,
148
- onClose: onClose,
149
- onDelete: onDelete,
123
+ profileUrl: (_b = message === null || message === void 0 ? void 0 : message.sender) === null || _b === void 0 ? void 0 : _b.profileUrl,
124
+ nickname: (_c = message === null || message === void 0 ? void 0 : message.sender) === null || _c === void 0 ? void 0 : _c.nickname,
125
+ name: message === null || message === void 0 ? void 0 : message.name,
126
+ type: message === null || message === void 0 ? void 0 : message.type,
127
+ url: message === null || message === void 0 ? void 0 : message.url,
150
128
  isByMe: isByMe,
151
- disableDelete: disableDelete
129
+ disableDelete: ((_d = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _d === void 0 ? void 0 : _d.replyCount) > 0,
130
+ onClose: onClose,
131
+ onDelete: onDelete
152
132
  }), document.getElementById(index.MODAL_ROOT));
153
133
  }
154
- FileViewer.propTypes = {
155
- message: PropTypes__default["default"].shape({
156
- sender: PropTypes__default["default"].shape({
157
- profileUrl: PropTypes__default["default"].string,
158
- nickname: PropTypes__default["default"].string
159
- }),
160
- type: PropTypes__default["default"].string,
161
- url: PropTypes__default["default"].string,
162
- name: PropTypes__default["default"].string
163
- }).isRequired,
164
- isByMe: PropTypes__default["default"].bool,
165
- onClose: PropTypes__default["default"].func.isRequired,
166
- onDelete: PropTypes__default["default"].func.isRequired
167
- };
168
- FileViewer.defaultProps = {
169
- isByMe: true
170
- };
171
134
 
172
135
  exports.FileViewerComponent = FileViewerComponent;
173
136
  exports["default"] = FileViewer;
@@ -1 +1 @@
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","Avatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","Icon","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":";;;;;;;;;;;;;;;;;;;;;;;IAYaA,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,MAEjCC,UAFiC,QAEjCA,UAFiC;AAAA,MAGjCC,QAHiC,QAGjCA,QAHiC;AAAA,MAKjCC,IALiC,QAKjCA,IALiC;AAAA,MAMjCC,IANiC,QAMjCA,IANiC;AAAA,MAOjCC,GAPiC,QAOjCA,GAPiC;AAAA,MASjCC,MATiC,QASjCA,MATiC;AAAA,MAUjCC,OAViC,QAUjCA,OAViC;AAAA,MAWjCC,QAXiC,QAWjCA,QAXiC;AAAA,MAYjCC,aAZiC,QAYjCA,aAZiC;AAAA,sBAcjCC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACC,oBAAD;AAAQ,IAAA,MAAM,EAAC,MAAf;AAAsB,IAAA,KAAK,EAAC,MAA5B;AAAmC,IAAA,GAAG,EAAEV;AAAxC,IADF,CADF,eAIES,wCAACE,cAAD;AACE,IAAA,SAAS,EAAC,6CADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,GAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGb,IALH,CAJF,eAWEO,wCAACE,cAAD;AACE,IAAA,SAAS,EAAC,gDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACI,MAFxB;AAGE,IAAA,KAAK,EAAEF,oBAAW,CAACG;AAHrB,KAKGhB,QALH,CAXF,CADF,eAoBEQ;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIS,2BAAmB,CAACf,IAAD,CAAnB,iBACEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,GAAG,EAAC,qBAFN;AAGE,IAAA,IAAI,EAAEL,GAHR;AAIE,IAAA,MAAM,EAAC;AAJT,kBAMEK,wCAACU,kBAAD;AACE,IAAA,IAAI,EAAEC,iBAAS,CAACC,QADlB;AAEE,IAAA,SAAS,EAAEC,kBAAU,CAACC,eAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC;AAJR,IANF,CADF,EAeIhB,QAAQ,IAAIF,MAAZ,iBACEI;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACU,kBAAD;AACE,IAAA,SAAS,EAAEX,aAAa,GAAG,UAAH,GAAgB,EAD1C;AAEE,IAAA,IAAI,EAAEY,iBAAS,CAACI,MAFlB;AAGE,IAAA,SAAS,EAAEhB,aAAa,GAAGc,kBAAU,CAACG,IAAd,GAAqBH,kBAAU,CAACC,eAH1D;AAIE,IAAA,MAAM,EAAC,MAJT;AAKE,IAAA,KAAK,EAAC,MALR;AAME,IAAA,OAAO,EAAE,mBAAM;AAAE,UAAI,CAACf,aAAL,EAAoB;AAAED,QAAAA,QAAQ;AAAK;AAAE;AANxD,IADF,CAhBN,CAHN,eAkCEE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACU,kBAAD;AACE,IAAA,IAAI,EAAEC,iBAAS,CAACM,KADlB;AAEE,IAAA,SAAS,EAAEJ,kBAAU,CAACC,eAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,OAAO,EAAEjB;AALX,IADF,CAlCF,CApBF,CADF,eAkEEG;AAAK,IAAA,SAAS,EAAC;AAAf,KACGkB,eAAO,CAACxB,IAAD,CAAP;AAAA;AACC;AACA;AAAO,IAAA,QAAQ,MAAf;AAAgB,IAAA,SAAS,EAAC;AAA1B,kBACEM;AAAQ,IAAA,GAAG,EAAEL,GAAb;AAAkB,IAAA,IAAI,EAAED;AAAxB,IADF,CAHJ,EAQIyB,eAAO,CAACzB,IAAD,CAAP,iBACEM;AACE,IAAA,GAAG,EAAEL,GADP;AAEE,IAAA,GAAG,EAAEF,IAFP;AAGE,IAAA,SAAS,EAAC;AAHZ,IATN,EAiBI,CAACgB,2BAAmB,CAACf,IAAD,CAApB,iBACEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACE,cAAD;AAAO,IAAA,IAAI,EAAEC,wBAAe,CAACiB,GAA7B;AAAkC,IAAA,KAAK,EAAEf,oBAAW,CAACC;AAArD,2BADF,CAlBN,CAlEF,CAdiC;AAAA;AA6GnChB,mBAAmB,CAAC+B,SAApB,GAAgC;AAC9B9B,EAAAA,UAAU,EAAE+B,6BAAS,CAACC,MAAV,CAAiBC,UADC;AAE9BhC,EAAAA,QAAQ,EAAE8B,6BAAS,CAACC,MAAV,CAAiBC,UAFG;AAG9B9B,EAAAA,IAAI,EAAE4B,6BAAS,CAACC,MAAV,CAAiBC,UAHO;AAI9B7B,EAAAA,GAAG,EAAE2B,6BAAS,CAACC,MAAV,CAAiBC,UAJQ;AAK9B/B,EAAAA,IAAI,EAAE6B,6BAAS,CAACC,MAAV,CAAiBC,UALO;AAM9B3B,EAAAA,OAAO,EAAEyB,6BAAS,CAACG,IAAV,CAAeD,UANM;AAO9B1B,EAAAA,QAAQ,EAAEwB,6BAAS,CAACG,IAAV,CAAeD,UAPK;AAQ9B5B,EAAAA,MAAM,EAAE0B,6BAAS,CAACI,IARY;AAS9B3B,EAAAA,aAAa,EAAEuB,6BAAS,CAACI;AATK,CAAhC;AAYApC,mBAAmB,CAACqC,YAApB,GAAmC;AACjC/B,EAAAA,MAAM,EAAE,IADyB;AAEjCG,EAAAA,aAAa,EAAE;AAFkB,CAAnC;AAKe,SAAS6B,UAAT,CAAoBC,KAApB,EAA2B;AACxC,MACEC,OADF,GAKID,KALJ,CACEC,OADF;AAAA,MAEElC,MAFF,GAKIiC,KALJ,CAEEjC,MAFF;AAAA,MAGEC,OAHF,GAKIgC,KALJ,CAGEhC,OAHF;AAAA,MAIEC,QAJF,GAKI+B,KALJ,CAIE/B,QAJF;AAMA,MACEiC,MADF,GAMID,OANJ,CACEC,MADF;AAAA,MAEErC,IAFF,GAMIoC,OANJ,CAEEpC,IAFF;AAAA,MAGEC,GAHF,GAMImC,OANJ,CAGEnC,GAHF;AAAA,sBAMImC,OANJ,CAIErC,IAJF;AAAA,MAIEA,IAJF,8BAIS,EAJT;AAAA,4BAMIqC,OANJ,CAKEE,UALF;AAAA,MAKEA,UALF,oCAKe,EALf;AAOA,MAAMjC,aAAa,GAAG,CAAAiC,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEC,UAAZ,IAAyB,CAA/C;AACA,MAAQ1C,UAAR,GAAsCwC,MAAtC,CAAQxC,UAAR;AAAA,yBAAsCwC,MAAtC,CAAoBvC,QAApB;AAAA,MAAoBA,QAApB,iCAA+B,EAA/B;AACA,sBAAO0C,qBAAY,eAEflC,wCAAC,mBAAD;AACE,IAAA,UAAU,EAAET,UADd;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,GAAG,EAAEC,GAJP;AAKE,IAAA,IAAI,EAAEF,IALR;AAME,IAAA,OAAO,EAAEI,OANX;AAOE,IAAA,QAAQ,EAAEC,QAPZ;AAQE,IAAA,MAAM,EAAEF,MARV;AASE,IAAA,aAAa,EAAEG;AATjB,IAFe,EAcjBoC,QAAQ,CAACC,cAAT,CAAwBC,gBAAxB,CAdiB,CAAnB;AAgBD;AAEDT,UAAU,CAACP,SAAX,GAAuB;AACrBS,EAAAA,OAAO,EAAER,6BAAS,CAACgB,KAAV,CAAgB;AACvBP,IAAAA,MAAM,EAAET,6BAAS,CAACgB,KAAV,CAAgB;AACtB/C,MAAAA,UAAU,EAAE+B,6BAAS,CAACC,MADA;AAEtB/B,MAAAA,QAAQ,EAAE8B,6BAAS,CAACC;AAFE,KAAhB,CADe;AAKvB7B,IAAAA,IAAI,EAAE4B,6BAAS,CAACC,MALO;AAMvB5B,IAAAA,GAAG,EAAE2B,6BAAS,CAACC,MANQ;AAOvB9B,IAAAA,IAAI,EAAE6B,6BAAS,CAACC;AAPO,GAAhB,EAQNC,UATkB;AAUrB5B,EAAAA,MAAM,EAAE0B,6BAAS,CAACI,IAVG;AAWrB7B,EAAAA,OAAO,EAAEyB,6BAAS,CAACG,IAAV,CAAeD,UAXH;AAYrB1B,EAAAA,QAAQ,EAAEwB,6BAAS,CAACG,IAAV,CAAeD;AAZJ,CAAvB;AAeAI,UAAU,CAACD,YAAX,GAA0B;AACxB/B,EAAAA,MAAM,EAAE;AADgB,CAA1B;;;;;"}
1
+ {"version":3,"file":"FileViewer.js","sources":["../../../src/ui/FileViewer/index.tsx"],"sourcesContent":["import React, { MouseEvent, ReactElement, useContext } from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\n\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\ninterface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\ninterface FileInfo {\n name: string;\n type: string;\n url: string;\n}\nexport interface FileViewerComponentProps extends SenderInfo, FileInfo {\n isByMe?: boolean;\n disableDelete?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport const FileViewerComponent = ({\n profileUrl,\n nickname,\n name,\n type,\n url,\n isByMe = true,\n disableDelete = false,\n onClose,\n onDelete,\n}: FileViewerComponentProps): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n return (\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={(e) => { if (!disableDelete) { onDelete?.(e); } }}\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={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\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 {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message: FileMessage;\n isByMe?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function FileViewer({\n message,\n isByMe = false,\n onClose,\n onDelete,\n}: FileViewerProps): ReactElement {\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={message?.sender?.profileUrl}\n nickname={message?.sender?.nickname}\n name={message?.name}\n type={message?.type}\n url={message?.url}\n isByMe={isByMe}\n disableDelete={message?.threadInfo?.replyCount > 0}\n onClose={onClose}\n onDelete={onDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","_b","isByMe","_c","disableDelete","onClose","onDelete","stringSet","useContext","LocalizationContext","React","Avatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","Icon","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","e","CLOSE","isVideo","isImage","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","_e","createPortal","sender","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":"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"}
package/cjs/ui/Icon.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-92e5e012.js');
5
+ var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-e3f84a90.js');
6
6
  var React = require('react');
7
7
  var PropTypes = require('prop-types');
8
8