@sendbird/uikit-react 3.0.0-beta.6 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/App.js +47 -46
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +107 -0
  4. package/Channel/components/ChannelHeader.js +25 -21
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +29 -28
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +18 -16
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +31 -28
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +21 -20
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +31 -30
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +21 -19
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +43 -38
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +37 -33
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +6 -6
  24. package/Channel/components/UnreadCount.js.map +1 -1
  25. package/Channel/context.js +16 -14
  26. package/Channel/context.js.map +1 -1
  27. package/Channel.js +29 -28
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +17 -17
  30. package/ChannelList/components/ChannelListHeader.js +8 -8
  31. package/ChannelList/components/ChannelListUI.js +44 -45
  32. package/ChannelList/components/ChannelListUI.js.map +1 -1
  33. package/ChannelList/components/ChannelPreview.js +36 -32
  34. package/ChannelList/components/ChannelPreview.js.map +1 -1
  35. package/ChannelList/components/ChannelPreviewAction.js +18 -16
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  37. package/ChannelList/context.js +11 -9
  38. package/ChannelList/context.js.map +1 -1
  39. package/ChannelList.js +31 -29
  40. package/ChannelList.js.map +1 -1
  41. package/{ChannelListProvider-737ee36f.js → ChannelListProvider-fec439b3.js} +219 -198
  42. package/ChannelListProvider-fec439b3.js.map +1 -0
  43. package/{ChannelProvider-34834493.js → ChannelProvider-1f56082e.js} +380 -419
  44. package/ChannelProvider-1f56082e.js.map +1 -0
  45. package/ChannelSettings/components/ChannelProfile.js +17 -17
  46. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  47. package/ChannelSettings/components/ChannelSettingsUI.js +24 -24
  48. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  49. package/ChannelSettings/components/EditDetailsModal.js +23 -19
  50. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  51. package/ChannelSettings/components/LeaveChannel.js +14 -14
  52. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  53. package/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +88 -142
  54. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  55. package/ChannelSettings/components/UserListItem.js +19 -18
  56. package/ChannelSettings/components/UserListItem.js.map +1 -1
  57. package/ChannelSettings/components/UserPanel.js +20 -20
  58. package/ChannelSettings/components/UserPanel.js.map +1 -1
  59. package/ChannelSettings/context.js +11 -11
  60. package/ChannelSettings/context.js.map +1 -1
  61. package/ChannelSettings.js +21 -21
  62. package/CreateChannel/components/CreateChannelUI.js +18 -18
  63. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  64. package/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +24 -28
  65. package/CreateChannel/components/InviteUsers.js.map +1 -0
  66. package/CreateChannel/components/SelectChannelType.js +13 -13
  67. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  68. package/CreateChannel/context.js +6 -5
  69. package/CreateChannel/context.js.map +1 -1
  70. package/CreateChannel.js +17 -17
  71. package/{CreateChannelProvider-3d3e4a7c.js → CreateChannelProvider-2746c280.js} +3 -3
  72. package/CreateChannelProvider-2746c280.js.map +1 -0
  73. package/EditUserProfile/components/EditUserProfileUI.js +14 -14
  74. package/EditUserProfile/context.js +2 -2
  75. package/EditUserProfile/context.js.map +1 -1
  76. package/EditUserProfile.js +14 -14
  77. package/LICENSE +21 -0
  78. package/{LocalizationContext-5b0a9339.js → LocalizationContext-3dbcc9d8.js} +3 -3
  79. package/{LocalizationContext-5b0a9339.js.map → LocalizationContext-3dbcc9d8.js.map} +1 -1
  80. package/{MemberList-6e33a562.js → MemberList-f1c78686.js} +47 -68
  81. package/MemberList-f1c78686.js.map +1 -0
  82. package/MessageSearch/components/MessageSearchUI.js +16 -16
  83. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  84. package/MessageSearch/context.js +56 -61
  85. package/MessageSearch/context.js.map +1 -1
  86. package/MessageSearch.js +22 -22
  87. package/MessageSearch.js.map +1 -1
  88. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  89. package/OpenChannel/components/OpenChannelHeader.js +17 -15
  90. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  91. package/OpenChannel/components/OpenChannelInput.js +20 -19
  92. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  93. package/OpenChannel/components/OpenChannelMessage.js +44 -40
  94. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  95. package/OpenChannel/components/OpenChannelMessageList.js +38 -38
  96. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  97. package/OpenChannel/components/OpenChannelUI.js +28 -27
  98. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  99. package/OpenChannel/context.js +12 -10
  100. package/OpenChannel/context.js.map +1 -1
  101. package/OpenChannel.js +28 -27
  102. package/OpenChannel.js.map +1 -1
  103. package/{OpenChannelProvider-9ef0d52a.js → OpenChannelProvider-5ecafbb1.js} +629 -694
  104. package/OpenChannelProvider-5ecafbb1.js.map +1 -0
  105. package/OpenChannelSettings/components/EditDetailsModal.js +30 -36
  106. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  107. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
  108. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  109. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -23
  110. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  111. package/OpenChannelSettings/components/OperatorUI.js +46 -31
  112. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  113. package/OpenChannelSettings/components/ParticipantUI.js +30 -57
  114. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  115. package/OpenChannelSettings/context.js +16 -16
  116. package/OpenChannelSettings/context.js.map +1 -1
  117. package/OpenChannelSettings.js +19 -19
  118. package/README.md +128 -0
  119. package/SendbirdProvider.js +43 -38
  120. package/SendbirdProvider.js.map +1 -1
  121. package/{UserProfileContext-b6d89d0d.js → UserProfileContext-f0ef00c0.js} +1 -1
  122. package/{UserProfileContext-b6d89d0d.js.map → UserProfileContext-f0ef00c0.js.map} +1 -1
  123. package/__bundle-7dfccc8c-c503198e.js +24 -0
  124. package/__bundle-7dfccc8c-c503198e.js.map +1 -0
  125. package/{_rollupPluginBabelHelpers-d10f91b9.js → _rollupPluginBabelHelpers-8ba74698.js} +1 -1
  126. package/{_rollupPluginBabelHelpers-d10f91b9.js.map → _rollupPluginBabelHelpers-8ba74698.js.map} +1 -1
  127. package/{actionTypes-17920f59.js → actionTypes-1444365b.js} +1 -1
  128. package/{actionTypes-17920f59.js.map → actionTypes-1444365b.js.map} +1 -1
  129. package/cjs/App.js +47 -46
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +25 -21
  132. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  133. package/cjs/Channel/components/ChannelUI.js +29 -28
  134. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  135. package/cjs/Channel/components/FileViewer.js +18 -16
  136. package/cjs/Channel/components/FileViewer.js.map +1 -1
  137. package/cjs/Channel/components/FrozenNotification.js +5 -5
  138. package/cjs/Channel/components/Message.js +31 -28
  139. package/cjs/Channel/components/Message.js.map +1 -1
  140. package/cjs/Channel/components/MessageInput.js +21 -20
  141. package/cjs/Channel/components/MessageInput.js.map +1 -1
  142. package/cjs/Channel/components/MessageList.js +31 -30
  143. package/cjs/Channel/components/MessageList.js.map +1 -1
  144. package/cjs/Channel/components/RemoveMessageModal.js +21 -19
  145. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  146. package/cjs/Channel/components/SuggestedMentionList.js +43 -38
  147. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  148. package/cjs/Channel/components/TypingIndicator.js +37 -33
  149. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  150. package/cjs/Channel/components/UnreadCount.js +6 -6
  151. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  152. package/cjs/Channel/context.js +17 -15
  153. package/cjs/Channel/context.js.map +1 -1
  154. package/cjs/Channel.js +29 -28
  155. package/cjs/Channel.js.map +1 -1
  156. package/cjs/ChannelList/components/AddChannel.js +17 -17
  157. package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
  158. package/cjs/ChannelList/components/ChannelListUI.js +44 -45
  159. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  160. package/cjs/ChannelList/components/ChannelPreview.js +36 -32
  161. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -16
  163. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  164. package/cjs/ChannelList/context.js +11 -10
  165. package/cjs/ChannelList/context.js.map +1 -1
  166. package/cjs/ChannelList.js +31 -29
  167. package/cjs/ChannelList.js.map +1 -1
  168. package/cjs/{ChannelListProvider-f910e236.js → ChannelListProvider-94d4c78c.js} +218 -198
  169. package/cjs/ChannelListProvider-94d4c78c.js.map +1 -0
  170. package/cjs/{ChannelProvider-86e2e68c.js → ChannelProvider-190bd453.js} +380 -419
  171. package/cjs/ChannelProvider-190bd453.js.map +1 -0
  172. package/cjs/ChannelSettings/components/ChannelProfile.js +16 -16
  173. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  174. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +23 -23
  175. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js +22 -18
  177. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  178. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  179. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  180. package/cjs/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +87 -141
  181. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  182. package/cjs/ChannelSettings/components/UserListItem.js +19 -18
  183. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  184. package/cjs/ChannelSettings/components/UserPanel.js +19 -19
  185. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  186. package/cjs/ChannelSettings/context.js +11 -11
  187. package/cjs/ChannelSettings/context.js.map +1 -1
  188. package/cjs/ChannelSettings.js +21 -21
  189. package/cjs/CreateChannel/components/CreateChannelUI.js +18 -18
  190. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  191. package/cjs/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +24 -28
  192. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  193. package/cjs/CreateChannel/components/SelectChannelType.js +13 -13
  194. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  195. package/cjs/CreateChannel/context.js +6 -5
  196. package/cjs/CreateChannel/context.js.map +1 -1
  197. package/cjs/CreateChannel.js +17 -17
  198. package/cjs/{CreateChannelProvider-07992a6d.js → CreateChannelProvider-9fa1d794.js} +3 -3
  199. package/cjs/CreateChannelProvider-9fa1d794.js.map +1 -0
  200. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  201. package/cjs/EditUserProfile/context.js +2 -2
  202. package/cjs/EditUserProfile/context.js.map +1 -1
  203. package/cjs/EditUserProfile.js +14 -14
  204. package/cjs/{LocalizationContext-79514649.js → LocalizationContext-65b97b58.js} +3 -3
  205. package/cjs/{LocalizationContext-79514649.js.map → LocalizationContext-65b97b58.js.map} +1 -1
  206. package/cjs/{MemberList-015c1075.js → MemberList-3e3448b2.js} +46 -67
  207. package/cjs/MemberList-3e3448b2.js.map +1 -0
  208. package/cjs/MessageSearch/components/MessageSearchUI.js +15 -15
  209. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  210. package/cjs/MessageSearch/context.js +56 -61
  211. package/cjs/MessageSearch/context.js.map +1 -1
  212. package/cjs/MessageSearch.js +22 -22
  213. package/cjs/MessageSearch.js.map +1 -1
  214. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  215. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -15
  216. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  217. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -19
  218. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  219. package/cjs/OpenChannel/components/OpenChannelMessage.js +44 -40
  220. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  221. package/cjs/OpenChannel/components/OpenChannelMessageList.js +38 -38
  222. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  223. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -27
  224. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  225. package/cjs/OpenChannel/context.js +13 -11
  226. package/cjs/OpenChannel/context.js.map +1 -1
  227. package/cjs/OpenChannel.js +28 -27
  228. package/cjs/OpenChannel.js.map +1 -1
  229. package/cjs/{OpenChannelProvider-445f214c.js → OpenChannelProvider-5c81bdb4.js} +629 -694
  230. package/cjs/OpenChannelProvider-5c81bdb4.js.map +1 -0
  231. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +29 -35
  232. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  233. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  234. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  235. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +38 -22
  236. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  237. package/cjs/OpenChannelSettings/components/OperatorUI.js +43 -28
  238. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  239. package/cjs/OpenChannelSettings/components/ParticipantUI.js +29 -56
  240. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  241. package/cjs/OpenChannelSettings/context.js +16 -16
  242. package/cjs/OpenChannelSettings/context.js.map +1 -1
  243. package/cjs/OpenChannelSettings.js +19 -19
  244. package/cjs/SendbirdProvider.js +44 -40
  245. package/cjs/SendbirdProvider.js.map +1 -1
  246. package/cjs/{UserProfileContext-12cfee31.js → UserProfileContext-9f3727c8.js} +1 -1
  247. package/cjs/{UserProfileContext-12cfee31.js.map → UserProfileContext-9f3727c8.js.map} +1 -1
  248. package/cjs/__bundle-7dfccc8c-d9262ff8.js +151 -0
  249. package/cjs/__bundle-7dfccc8c-d9262ff8.js.map +1 -0
  250. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js → _rollupPluginBabelHelpers-0d29c748.js} +1 -1
  251. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js.map → _rollupPluginBabelHelpers-0d29c748.js.map} +1 -1
  252. package/cjs/{actionTypes-93161807.js → actionTypes-5dc3015b.js} +1 -1
  253. package/cjs/{actionTypes-93161807.js.map → actionTypes-5dc3015b.js.map} +1 -1
  254. package/cjs/{color-c53ac792.js → color-51e4fff0.js} +1 -1
  255. package/cjs/{color-c53ac792.js.map → color-51e4fff0.js.map} +1 -1
  256. package/cjs/{compareIds-37e8380c.js → compareIds-7f5ab4de.js} +1 -1
  257. package/cjs/{compareIds-37e8380c.js.map → compareIds-7f5ab4de.js.map} +1 -1
  258. package/cjs/{const-3024c719.js → const-63ed85a4.js} +1 -1
  259. package/cjs/{const-3024c719.js.map → const-63ed85a4.js.map} +1 -1
  260. package/cjs/{const-489c46b6.js → const-ffda0b97.js} +1 -1
  261. package/cjs/{const-489c46b6.js.map → const-ffda0b97.js.map} +1 -1
  262. package/cjs/{context-961d5b11.js → context-0aa8e3f8.js} +2 -2
  263. package/cjs/{context-961d5b11.js.map → context-0aa8e3f8.js.map} +1 -1
  264. package/cjs/dist/index.css +169 -47
  265. package/cjs/dist/index.css.map +1 -1
  266. package/cjs/groupChannel-8023bd09.js +9 -0
  267. package/cjs/groupChannel-8023bd09.js.map +1 -0
  268. package/cjs/{index-07623c8b.js → index-119a7a34.js} +2 -2
  269. package/cjs/{index-07623c8b.js.map → index-119a7a34.js.map} +1 -1
  270. package/cjs/{index-5eaebc66.js → index-22c82558.js} +12 -9
  271. package/cjs/index-22c82558.js.map +1 -0
  272. package/cjs/{index-bc563d47.js → index-32f8310c.js} +32 -29
  273. package/cjs/index-32f8310c.js.map +1 -0
  274. package/cjs/{index-cb53adf5.js → index-481324b7.js} +2 -2
  275. package/cjs/{index-cb53adf5.js.map → index-481324b7.js.map} +1 -1
  276. package/cjs/{index-a20b40c4.js → index-574ef41e.js} +5 -5
  277. package/cjs/index-574ef41e.js.map +1 -0
  278. package/cjs/{index-2180f74f.js → index-7ef68704.js} +5 -5
  279. package/cjs/index-7ef68704.js.map +1 -0
  280. package/cjs/{index-d70ac86e.js → index-97c28907.js} +1 -1
  281. package/cjs/{index-d70ac86e.js.map → index-97c28907.js.map} +1 -1
  282. package/cjs/{index-5615eab4.js → index-a372cc51.js} +4 -4
  283. package/cjs/{index-5615eab4.js.map → index-a372cc51.js.map} +1 -1
  284. package/cjs/{index-d25a7cbf.js → index-a66b1af1.js} +4 -4
  285. package/cjs/{index-d25a7cbf.js.map → index-a66b1af1.js.map} +1 -1
  286. package/cjs/{index-0b2e2c2a.js → index-bf350acc.js} +1 -1
  287. package/cjs/{index-0b2e2c2a.js.map → index-bf350acc.js.map} +1 -1
  288. package/cjs/index.js +42 -41
  289. package/cjs/index.js.map +1 -1
  290. package/cjs/openChannel-146282ad.js +13 -0
  291. package/cjs/openChannel-146282ad.js.map +1 -0
  292. package/cjs/{openChannelUtils-7fb1abc6.js → openChannelUtils-6a8fb5bf.js} +10 -5
  293. package/cjs/openChannelUtils-6a8fb5bf.js.map +1 -0
  294. package/cjs/sendbirdSelectors.js +696 -0
  295. package/cjs/sendbirdSelectors.js.map +1 -0
  296. package/cjs/{stringSet-ae448472.js → stringSet-da976cc5.js} +1 -1
  297. package/cjs/{stringSet-ae448472.js.map → stringSet-da976cc5.js.map} +1 -1
  298. package/cjs/{topics-bdbff23e.js → topics-a595e22a.js} +1 -1
  299. package/cjs/{topics-bdbff23e.js.map → topics-a595e22a.js.map} +1 -1
  300. package/cjs/{tslib.es6-a7af7bb8.js → tslib.es6-4b76ba01.js} +1 -1
  301. package/cjs/{tslib.es6-a7af7bb8.js.map → tslib.es6-4b76ba01.js.map} +1 -1
  302. package/cjs/ui/Accordion.js +4 -4
  303. package/cjs/ui/AccordionGroup.js +2 -2
  304. package/cjs/ui/AccordionGroup.js.map +1 -1
  305. package/cjs/ui/AdminMessage.js +4 -3
  306. package/cjs/ui/AdminMessage.js.map +1 -1
  307. package/cjs/ui/Avatar.js +3 -3
  308. package/cjs/ui/Badge.js +5 -5
  309. package/cjs/ui/Button.js +4 -4
  310. package/cjs/ui/ChannelAvatar.js +8 -8
  311. package/cjs/ui/ChannelAvatar.js.map +1 -1
  312. package/cjs/ui/ChannelPreview.js +28 -21
  313. package/cjs/ui/ChannelPreview.js.map +1 -1
  314. package/cjs/ui/ChatHeader.js +19 -12
  315. package/cjs/ui/ChatHeader.js.map +1 -1
  316. package/cjs/ui/Checkbox.js +1 -1
  317. package/cjs/ui/ConnectionStatus.js +5 -5
  318. package/cjs/ui/ContextMenu.js +9 -30
  319. package/cjs/ui/ContextMenu.js.map +1 -1
  320. package/cjs/ui/DateSeparator.js +5 -5
  321. package/cjs/ui/DateSeparator.js.map +1 -1
  322. package/cjs/ui/Dropdown.js +3 -3
  323. package/cjs/ui/EmojiReactions.js +10 -10
  324. package/cjs/ui/EmojiReactions.js.map +1 -1
  325. package/cjs/ui/FileMessageItemBody.js +6 -6
  326. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  327. package/cjs/ui/FileViewer.js +7 -7
  328. package/cjs/ui/Icon.js +5 -1
  329. package/cjs/ui/Icon.js.map +1 -1
  330. package/cjs/ui/IconButton.js +1 -1
  331. package/cjs/ui/ImageRenderer.js +1 -1
  332. package/cjs/ui/Input.js +3 -3
  333. package/cjs/ui/Label.js +3 -3
  334. package/cjs/ui/LinkLabel.js +3 -3
  335. package/cjs/ui/Loader.js +1 -1
  336. package/cjs/ui/MentionLabel.js +20 -18
  337. package/cjs/ui/MentionLabel.js.map +1 -1
  338. package/cjs/ui/MentionUserLabel.js +1 -1
  339. package/cjs/ui/MentionUserLabel.js.map +1 -1
  340. package/cjs/ui/MessageContent.js +53 -48
  341. package/cjs/ui/MessageContent.js.map +1 -1
  342. package/cjs/ui/MessageInput.js +5341 -14
  343. package/cjs/ui/MessageInput.js.map +1 -1
  344. package/cjs/ui/MessageItemMenu.js +14 -18
  345. package/cjs/ui/MessageItemMenu.js.map +1 -1
  346. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  347. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  348. package/cjs/ui/MessageSearchFileItem.js +12 -11
  349. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  350. package/cjs/ui/MessageSearchItem.js +10 -10
  351. package/cjs/ui/MessageSearchItem.js.map +1 -1
  352. package/cjs/ui/MessageStatus.js +11 -11
  353. package/cjs/ui/MessageStatus.js.map +1 -1
  354. package/cjs/ui/Modal.js +8 -8
  355. package/cjs/ui/MutedAvatarOverlay.js +7 -7
  356. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  357. package/cjs/ui/OGMessageItemBody.js +18 -17
  358. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  359. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  360. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  361. package/cjs/ui/OpenChannelAvatar.js +11 -11
  362. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  363. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  364. package/cjs/ui/OpenchannelFileMessage.js +17 -16
  365. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  366. package/cjs/ui/OpenchannelOGMessage.js +17 -16
  367. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  368. package/cjs/ui/OpenchannelThumbnailMessage.js +18 -17
  369. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  370. package/cjs/ui/OpenchannelUserMessage.js +18 -17
  371. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  372. package/cjs/ui/PlaceHolder.js +6 -6
  373. package/cjs/ui/QuoteMessage.js +24 -24
  374. package/cjs/ui/QuoteMessage.js.map +1 -1
  375. package/cjs/ui/QuoteMessageInput.js +11 -13
  376. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  377. package/cjs/ui/ReactionBadge.js +3 -3
  378. package/cjs/ui/ReactionButton.js +1 -1
  379. package/cjs/ui/SortByRow.js +1 -1
  380. package/cjs/ui/TextButton.js +2 -2
  381. package/cjs/ui/TextMessageItemBody.js +17 -16
  382. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  383. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  384. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  385. package/cjs/ui/Tooltip.js +3 -3
  386. package/cjs/ui/TooltipWrapper.js +1 -1
  387. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  388. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  389. package/cjs/ui/UserListItem.js +14 -13
  390. package/cjs/ui/UserListItem.js.map +1 -1
  391. package/cjs/ui/UserProfile.js +19 -18
  392. package/cjs/ui/UserProfile.js.map +1 -1
  393. package/cjs/{index-4e8b61f7.js → ui/Word.js} +31 -10
  394. package/cjs/ui/Word.js.map +1 -0
  395. package/cjs/useSendbirdStateContext.js +3 -3
  396. package/cjs/useSendbirdStateContext.js.map +1 -1
  397. package/cjs/{utils-03155980.js → utils-4d87243e.js} +8 -8
  398. package/cjs/utils-4d87243e.js.map +1 -0
  399. package/cjs/{utils-0d5ecf05.js → utils-52a504d9.js} +1 -1
  400. package/cjs/{utils-0d5ecf05.js.map → utils-52a504d9.js.map} +1 -1
  401. package/cjs/{utils-139469a5.js → utils-f0f90fdf.js} +1 -1
  402. package/cjs/{utils-139469a5.js.map → utils-f0f90fdf.js.map} +1 -1
  403. package/cjs/{uuid-03009a31.js → uuid-d0e513e8.js} +1 -1
  404. package/cjs/{uuid-03009a31.js.map → uuid-d0e513e8.js.map} +1 -1
  405. package/cjs/{withSendBird.js → withSendbird.js} +2 -2
  406. package/cjs/{withSendBird.js.map → withSendbird.js.map} +1 -1
  407. package/{color-6b259e40.js → color-b580a421.js} +1 -1
  408. package/{color-6b259e40.js.map → color-b580a421.js.map} +1 -1
  409. package/{compareIds-982972e8.js → compareIds-1114d2b7.js} +1 -1
  410. package/{compareIds-982972e8.js.map → compareIds-1114d2b7.js.map} +1 -1
  411. package/{const-e3d1e0ec.js → const-a11ccf78.js} +1 -1
  412. package/{const-e3d1e0ec.js.map → const-a11ccf78.js.map} +1 -1
  413. package/{const-da3968a5.js → const-b72fa505.js} +1 -1
  414. package/{const-da3968a5.js.map → const-b72fa505.js.map} +1 -1
  415. package/{context-3d5505d0.js → context-d867aec7.js} +2 -2
  416. package/{context-3d5505d0.js.map → context-d867aec7.js.map} +1 -1
  417. package/dist/index.css +169 -47
  418. package/dist/index.css.map +1 -1
  419. package/groupChannel-9a1eb726.js +6 -0
  420. package/groupChannel-9a1eb726.js.map +1 -0
  421. package/{index-94489c17.js → index-21a0df21.js} +1 -1
  422. package/{index-94489c17.js.map → index-21a0df21.js.map} +1 -1
  423. package/{index-db6a4860.js → index-3ea848a1.js} +1 -1
  424. package/{index-db6a4860.js.map → index-3ea848a1.js.map} +1 -1
  425. package/{index-902c2068.js → index-4c5351e9.js} +33 -30
  426. package/index-4c5351e9.js.map +1 -0
  427. package/{index-92160328.js → index-5ba00ba3.js} +2 -2
  428. package/{index-92160328.js.map → index-5ba00ba3.js.map} +1 -1
  429. package/{index-691dc8da.js → index-64bb5b19.js} +4 -4
  430. package/{index-691dc8da.js.map → index-64bb5b19.js.map} +1 -1
  431. package/{index-9deb1389.js → index-905615b2.js} +5 -5
  432. package/index-905615b2.js.map +1 -0
  433. package/{index-95677caf.js → index-93e3dce0.js} +2 -2
  434. package/{index-95677caf.js.map → index-93e3dce0.js.map} +1 -1
  435. package/{index-065ef420.js → index-9c121a8c.js} +12 -9
  436. package/index-9c121a8c.js.map +1 -0
  437. package/{index-17cf7808.js → index-d1179659.js} +5 -5
  438. package/index-d1179659.js.map +1 -0
  439. package/{index-a755675d.js → index-eebcc3d0.js} +4 -4
  440. package/{index-a755675d.js.map → index-eebcc3d0.js.map} +1 -1
  441. package/index.d.ts +1026 -902
  442. package/index.d.ts____ +1883 -0
  443. package/index.js +40 -39
  444. package/index.js.map +1 -1
  445. package/openChannel-f429ff22.js +8 -0
  446. package/openChannel-f429ff22.js.map +1 -0
  447. package/{openChannelUtils-2cd370a7.js → openChannelUtils-a232a39f.js} +10 -5
  448. package/openChannelUtils-a232a39f.js.map +1 -0
  449. package/package-lock.json +26318 -0
  450. package/package.json +5 -5
  451. package/sendbirdSelectors.js +671 -0
  452. package/sendbirdSelectors.js.map +1 -0
  453. package/{stringSet-5a85ff4b.js → stringSet-3a2b916e.js} +1 -1
  454. package/{stringSet-5a85ff4b.js.map → stringSet-3a2b916e.js.map} +1 -1
  455. package/{topics-24a660ee.js → topics-19b96cc7.js} +2 -2
  456. package/{topics-24a660ee.js.map → topics-19b96cc7.js.map} +1 -1
  457. package/{tslib.es6-2c4d01e9.js → tslib.es6-9548150b.js} +1 -1
  458. package/{tslib.es6-2c4d01e9.js.map → tslib.es6-9548150b.js.map} +1 -1
  459. package/ui/Accordion.js +4 -4
  460. package/ui/AccordionGroup.js +2 -2
  461. package/ui/AccordionGroup.js.map +1 -1
  462. package/ui/AdminMessage.js +4 -3
  463. package/ui/AdminMessage.js.map +1 -1
  464. package/ui/Avatar.js +3 -3
  465. package/ui/Badge.js +5 -5
  466. package/ui/Button.js +4 -4
  467. package/ui/ChannelAvatar.js +8 -8
  468. package/ui/ChannelAvatar.js.map +1 -1
  469. package/ui/ChannelPreview.js +28 -21
  470. package/ui/ChannelPreview.js.map +1 -1
  471. package/ui/ChatHeader.js +19 -12
  472. package/ui/ChatHeader.js.map +1 -1
  473. package/ui/Checkbox.js +1 -1
  474. package/ui/ConnectionStatus.js +5 -5
  475. package/ui/ContextMenu.js +9 -30
  476. package/ui/ContextMenu.js.map +1 -1
  477. package/ui/DateSeparator.js +5 -5
  478. package/ui/DateSeparator.js.map +1 -1
  479. package/ui/Dropdown.js +3 -3
  480. package/ui/EmojiReactions.js +10 -10
  481. package/ui/EmojiReactions.js.map +1 -1
  482. package/ui/FileMessageItemBody.js +6 -6
  483. package/ui/FileMessageItemBody.js.map +1 -1
  484. package/ui/FileViewer.js +7 -7
  485. package/ui/Icon.js +5 -1
  486. package/ui/Icon.js.map +1 -1
  487. package/ui/IconButton.js +1 -1
  488. package/ui/ImageRenderer.js +1 -1
  489. package/ui/Input.js +3 -3
  490. package/ui/Label.js +3 -3
  491. package/ui/LinkLabel.js +3 -3
  492. package/ui/Loader.js +1 -1
  493. package/ui/MentionLabel.js +20 -18
  494. package/ui/MentionLabel.js.map +1 -1
  495. package/ui/MentionUserLabel.js +1 -1
  496. package/ui/MentionUserLabel.js.map +1 -1
  497. package/ui/MessageContent.js +55 -50
  498. package/ui/MessageContent.js.map +1 -1
  499. package/ui/MessageInput.js +5339 -11
  500. package/ui/MessageInput.js.map +1 -1
  501. package/ui/MessageItemMenu.js +14 -18
  502. package/ui/MessageItemMenu.js.map +1 -1
  503. package/ui/MessageItemReactionMenu.js +5 -5
  504. package/ui/MessageItemReactionMenu.js.map +1 -1
  505. package/ui/MessageSearchFileItem.js +12 -11
  506. package/ui/MessageSearchFileItem.js.map +1 -1
  507. package/ui/MessageSearchItem.js +10 -10
  508. package/ui/MessageSearchItem.js.map +1 -1
  509. package/ui/MessageStatus.js +11 -11
  510. package/ui/MessageStatus.js.map +1 -1
  511. package/ui/Modal.js +8 -8
  512. package/ui/MutedAvatarOverlay.js +7 -7
  513. package/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/ui/OGMessageItemBody.js +16 -15
  515. package/ui/OGMessageItemBody.js.map +1 -1
  516. package/ui/OpenChannelAdminMessage.js +4 -4
  517. package/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/ui/OpenChannelAvatar.js +11 -11
  519. package/ui/OpenChannelAvatar.js.map +1 -1
  520. package/ui/OpenchannelConversationHeader.js +7 -7
  521. package/ui/OpenchannelFileMessage.js +17 -16
  522. package/ui/OpenchannelFileMessage.js.map +1 -1
  523. package/ui/OpenchannelOGMessage.js +17 -16
  524. package/ui/OpenchannelOGMessage.js.map +1 -1
  525. package/ui/OpenchannelThumbnailMessage.js +18 -17
  526. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  527. package/ui/OpenchannelUserMessage.js +18 -17
  528. package/ui/OpenchannelUserMessage.js.map +1 -1
  529. package/ui/PlaceHolder.js +6 -6
  530. package/ui/QuoteMessage.js +24 -24
  531. package/ui/QuoteMessage.js.map +1 -1
  532. package/ui/QuoteMessageInput.js +11 -13
  533. package/ui/QuoteMessageInput.js.map +1 -1
  534. package/ui/ReactionBadge.js +3 -3
  535. package/ui/ReactionButton.js +1 -1
  536. package/ui/SortByRow.js +1 -1
  537. package/ui/TextButton.js +2 -2
  538. package/ui/TextMessageItemBody.js +16 -15
  539. package/ui/TextMessageItemBody.js.map +1 -1
  540. package/ui/ThumbnailMessageItemBody.js +3 -3
  541. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  542. package/ui/Tooltip.js +3 -3
  543. package/ui/TooltipWrapper.js +1 -1
  544. package/ui/UnknownMessageItemBody.js +7 -7
  545. package/ui/UnknownMessageItemBody.js.map +1 -1
  546. package/ui/UserListItem.js +14 -13
  547. package/ui/UserListItem.js.map +1 -1
  548. package/ui/UserProfile.js +17 -16
  549. package/ui/UserProfile.js.map +1 -1
  550. package/ui/Word.js +70 -0
  551. package/ui/Word.js.map +1 -0
  552. package/useSendbirdStateContext.js +2 -2
  553. package/useSendbirdStateContext.js.map +1 -1
  554. package/{utils-b3b6f503.js → utils-29691dff.js} +8 -8
  555. package/utils-29691dff.js.map +1 -0
  556. package/{utils-57c79308.js → utils-8222d5cb.js} +1 -1
  557. package/{utils-57c79308.js.map → utils-8222d5cb.js.map} +1 -1
  558. package/{utils-85d3d94c.js → utils-83135175.js} +1 -1
  559. package/{utils-85d3d94c.js.map → utils-83135175.js.map} +1 -1
  560. package/{uuid-0ab81e67.js → uuid-c5e7a9dd.js} +1 -1
  561. package/{uuid-0ab81e67.js.map → uuid-c5e7a9dd.js.map} +1 -1
  562. package/{withSendBird.js → withSendbird.js} +2 -2
  563. package/{withSendBird.js.map → withSendbird.js.map} +1 -1
  564. package/ChannelListProvider-737ee36f.js.map +0 -1
  565. package/ChannelProvider-34834493.js.map +0 -1
  566. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  567. package/CreateChannel/components/InviteMembers.js.map +0 -1
  568. package/CreateChannelProvider-3d3e4a7c.js.map +0 -1
  569. package/MemberList-6e33a562.js.map +0 -1
  570. package/OpenChannelProvider-9ef0d52a.js.map +0 -1
  571. package/cjs/ChannelListProvider-f910e236.js.map +0 -1
  572. package/cjs/ChannelProvider-86e2e68c.js.map +0 -1
  573. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  574. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  575. package/cjs/CreateChannelProvider-07992a6d.js.map +0 -1
  576. package/cjs/MemberList-015c1075.js.map +0 -1
  577. package/cjs/OpenChannelProvider-445f214c.js.map +0 -1
  578. package/cjs/index-2180f74f.js.map +0 -1
  579. package/cjs/index-4e8b61f7.js.map +0 -1
  580. package/cjs/index-5eaebc66.js.map +0 -1
  581. package/cjs/index-a20b40c4.js.map +0 -1
  582. package/cjs/index-bc563d47.js.map +0 -1
  583. package/cjs/openChannelUtils-7fb1abc6.js.map +0 -1
  584. package/cjs/sendBirdSelectors.js +0 -741
  585. package/cjs/sendBirdSelectors.js.map +0 -1
  586. package/cjs/ui/OpenChannelMessageContent.js +0 -14
  587. package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  588. package/cjs/utils-03155980.js.map +0 -1
  589. package/index-065ef420.js.map +0 -1
  590. package/index-17cf7808.js.map +0 -1
  591. package/index-81a93b05.js +0 -49
  592. package/index-81a93b05.js.map +0 -1
  593. package/index-902c2068.js.map +0 -1
  594. package/index-9deb1389.js.map +0 -1
  595. package/openChannelUtils-2cd370a7.js.map +0 -1
  596. package/sendBirdSelectors.js +0 -713
  597. package/sendBirdSelectors.js.map +0 -1
  598. package/ui/OpenChannelMessageContent.js +0 -8
  599. package/ui/OpenChannelMessageContent.js.map +0 -1
  600. package/utils-b3b6f503.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelPreview.js","sources":["../../src/ui/ChannelPreview/utils.js","../../src/ui/ChannelPreview/index.jsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel, locale) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel && channel.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\n// Legacy\nexport default function ChannelPreview({\n channel,\n currentUser,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n}) {\n const {\n userId,\n } = currentUser;\n const { isBroadcast, isFrozen } = channel;\n const { dateLocale, stringSet } = useLocalization();\n return (\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n onClick={onClick}\n onKeyPress={onClick}\n tabIndex={tabIndex}\n >\n <div\n className=\"sendbird-channel-preview__avatar\"\n >\n <ChannelAvatar\n channel={channel}\n userId={userId}\n theme={theme}\n />\n </div>\n <div className=\"sendbird-channel-preview__content\">\n <div className=\"sendbird-channel-preview__content__upper\">\n <div className=\"sendbird-channel-preview__content__upper__header\">\n {\n isBroadcast\n && (\n <div className=\"sendbird-channel-preview__content__upper__header__broadcast-icon\">\n <Icon\n type={IconTypes.BROADCAST}\n fillColor={IconColors.SECONDARY}\n height=\"16px\"\n width=\"16px\"\n />\n </div>\n )\n }\n <Label\n className=\"sendbird-channel-preview__content__upper__header__channel-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(channel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-channel-preview__content__upper__header__total-members\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getTotalMembers(channel)}\n </Label>\n {\n isFrozen\n && (\n <div title=\"Frozen\" className=\"sendbird-channel-preview__content__upper__header__frozen-icon\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n height={12}\n width={12}\n />\n </div>\n )\n }\n </div>\n <Label\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getLastMessageCreatedAt(channel, dateLocale)}\n </Label>\n </div>\n <div className=\"sendbird-channel-preview__content__lower\">\n <Label\n className=\"sendbird-channel-preview__content__lower__last-message\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {utils.getLastMessage(channel)}\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n utils.getChannelUnreadMessageCount(channel) // return number\n ? <Badge count={utils.getChannelUnreadMessageCount(channel)} />\n : null\n }\n </div>\n </div>\n </div>\n <div\n className=\"sendbird-channel-preview__action\"\n >\n {ChannelAction}\n </div>\n </div>\n );\n}\n\nChannelPreview.propTypes = {\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n isActive: PropTypes.bool,\n ChannelAction: PropTypes.element.isRequired,\n theme: PropTypes.string,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n currentUser: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","formatRelative","Date","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","ChannelPreview","currentUser","isActive","ChannelAction","theme","onClick","tabIndex","isBroadcast","isFrozen","useLocalization","dateLocale","React","IconTypes","BROADCAST","IconColors","SECONDARY","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","propTypes","PropTypes","shape","arrayOf","coverUrl","string","bool","element","isRequired","func","number","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelPreview.js","sources":["../../src/ui/ChannelPreview/utils.js","../../src/ui/ChannelPreview/index.jsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel, locale) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel?.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\n// Legacy\nexport default function ChannelPreview({\n channel,\n currentUser,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n}) {\n const {\n userId,\n } = currentUser;\n const isFrozen = channel?.isFrozen;\n const isBroadcast = channel?.isBroadcast;\n const { dateLocale, stringSet } = useLocalization();\n return (\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n onClick={onClick}\n onKeyPress={onClick}\n tabIndex={tabIndex}\n >\n <div\n className=\"sendbird-channel-preview__avatar\"\n >\n <ChannelAvatar\n channel={channel}\n userId={userId}\n theme={theme}\n />\n </div>\n <div className=\"sendbird-channel-preview__content\">\n <div className=\"sendbird-channel-preview__content__upper\">\n <div className=\"sendbird-channel-preview__content__upper__header\">\n {\n isBroadcast\n && (\n <div className=\"sendbird-channel-preview__content__upper__header__broadcast-icon\">\n <Icon\n type={IconTypes.BROADCAST}\n fillColor={IconColors.SECONDARY}\n height=\"16px\"\n width=\"16px\"\n />\n </div>\n )\n }\n <Label\n className=\"sendbird-channel-preview__content__upper__header__channel-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(channel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-channel-preview__content__upper__header__total-members\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getTotalMembers(channel)}\n </Label>\n {\n isFrozen\n && (\n <div title=\"Frozen\" className=\"sendbird-channel-preview__content__upper__header__frozen-icon\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n height={12}\n width={12}\n />\n </div>\n )\n }\n </div>\n <Label\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getLastMessageCreatedAt(channel, dateLocale)}\n </Label>\n </div>\n <div className=\"sendbird-channel-preview__content__lower\">\n <Label\n className=\"sendbird-channel-preview__content__lower__last-message\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {utils.getLastMessage(channel)}\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n utils.getChannelUnreadMessageCount(channel) // return number\n ? <Badge count={utils.getChannelUnreadMessageCount(channel)} />\n : null\n }\n </div>\n </div>\n </div>\n <div\n className=\"sendbird-channel-preview__action\"\n >\n {ChannelAction}\n </div>\n </div>\n );\n}\n\nChannelPreview.propTypes = {\n /** Type: GroupChannel / OpenChannel(Not tested) */\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n /** Type: User */\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n isActive: PropTypes.bool,\n /** To render dropdown menu */\n ChannelAction: PropTypes.element.isRequired,\n theme: PropTypes.string,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n currentUser: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","formatRelative","Date","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","ChannelPreview","currentUser","isActive","ChannelAction","theme","onClick","tabIndex","isFrozen","isBroadcast","useLocalization","dateLocale","React","IconTypes","BROADCAST","IconColors","SECONDARY","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","propTypes","PropTypes","shape","arrayOf","coverUrl","string","bool","element","isRequired","func","number","defaultProps"],"mappings":"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"}
package/ui/ChatHeader.js CHANGED
@@ -1,37 +1,39 @@
1
1
  import React__default, { useContext } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../index-17cf7808.js';
4
- import { a as LocalizationContext } from '../LocalizationContext-5b0a9339.js';
3
+ import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../index-d1179659.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-3dbcc9d8.js';
5
5
  import Icon, { IconTypes, IconColors } from './Icon.js';
6
6
  import IconButton from './IconButton.js';
7
7
  import ChannelAvatar from './ChannelAvatar.js';
8
- import '../_rollupPluginBabelHelpers-d10f91b9.js';
9
- import '../stringSet-5a85ff4b.js';
10
- import '../index-94489c17.js';
8
+ import '../_rollupPluginBabelHelpers-8ba74698.js';
9
+ import '../stringSet-3a2b916e.js';
10
+ import '../index-21a0df21.js';
11
11
  import './Avatar.js';
12
- import '../tslib.es6-2c4d01e9.js';
12
+ import '../tslib.es6-9548150b.js';
13
13
  import './ImageRenderer.js';
14
- import '../uuid-0ab81e67.js';
15
- import '../utils-b3b6f503.js';
14
+ import '../uuid-c5e7a9dd.js';
15
+ import '../utils-29691dff.js';
16
16
 
17
17
  var getChannelTitle = function getChannelTitle() {
18
+ var _channel$members;
19
+
18
20
  var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
21
  var currentUserId = arguments.length > 1 ? arguments[1] : undefined;
20
22
  var stringSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LabelStringSet;
21
23
 
22
- if (!channel || !channel.name && !channel.members) {
24
+ if (!(channel !== null && channel !== void 0 && channel.name) && !(channel !== null && channel !== void 0 && channel.members)) {
23
25
  return stringSet.NO_TITLE;
24
26
  }
25
27
 
26
- if (channel.name && channel.name !== 'Group Channel') {
28
+ if (channel !== null && channel !== void 0 && channel.name && channel.name !== 'Group Channel') {
27
29
  return channel.name;
28
30
  }
29
31
 
30
- if (channel.members.length === 1) {
32
+ if ((channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) === 1) {
31
33
  return stringSet.NO_MEMBERS;
32
34
  }
33
35
 
34
- return channel.members.filter(function (_ref) {
36
+ return ((channel === null || channel === void 0 ? void 0 : channel.members) || []).filter(function (_ref) {
35
37
  var userId = _ref.userId;
36
38
  return userId !== currentUserId;
37
39
  }).map(function (_ref2) {
@@ -107,10 +109,13 @@ function ChatHeader(props) {
107
109
  }))));
108
110
  }
109
111
  ChatHeader.propTypes = {
112
+ /** Type: GroupChannel */
110
113
  currentGroupChannel: PropTypes.shape({
111
114
  members: PropTypes.arrayOf(PropTypes.shape({})),
112
115
  coverUrl: PropTypes.string
113
116
  }),
117
+
118
+ /** Type: User */
114
119
  currentUser: PropTypes.shape({
115
120
  userId: PropTypes.string
116
121
  }),
@@ -120,6 +125,8 @@ ChatHeader.propTypes = {
120
125
  theme: PropTypes.string,
121
126
  showSearchIcon: PropTypes.bool,
122
127
  onSearchClick: PropTypes.func,
128
+
129
+ /** For clicking the info button */
123
130
  onActionClick: PropTypes.func
124
131
  };
125
132
  ChatHeader.defaultProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHeader.js","sources":["../../src/ui/ChatHeader/utils.js","../../src/ui/ChatHeader/index.jsx"],"sourcesContent":["import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","// delete\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nconst noop = () => { };\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isMuted,\n theme,\n showSearchIcon,\n onSearchClick,\n onActionClick,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nChatHeader.propTypes = {\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n theme: PropTypes.string,\n showSearchIcon: PropTypes.bool,\n onSearchClick: PropTypes.func,\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n currentUser: {},\n title: '',\n subTitle: '',\n isMuted: false,\n theme: 'light',\n showSearchIcon: false,\n onSearchClick: noop,\n onActionClick: noop,\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","noop","ChatHeader","props","currentGroupChannel","currentUser","title","subTitle","isMuted","theme","showSearchIcon","onSearchClick","onActionClick","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","IconTypes","NOTIFICATIONS_OFF_FILLED","SEARCH","IconColors","PRIMARY","INFO","propTypes","PropTypes","shape","arrayOf","coverUrl","string","oneOfType","bool","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"ChatHeader.js","sources":["../../src/ui/ChatHeader/utils.js","../../src/ui/ChatHeader/index.jsx"],"sourcesContent":["import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","// delete\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nconst noop = () => { };\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isMuted,\n theme,\n showSearchIcon,\n onSearchClick,\n onActionClick,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nChatHeader.propTypes = {\n /** Type: GroupChannel */\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n /** Type: User */\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n theme: PropTypes.string,\n showSearchIcon: PropTypes.bool,\n onSearchClick: PropTypes.func,\n /** For clicking the info button */\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n currentUser: {},\n title: '',\n subTitle: '',\n isMuted: false,\n theme: 'light',\n showSearchIcon: false,\n onSearchClick: noop,\n onActionClick: noop,\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","noop","ChatHeader","props","currentGroupChannel","currentUser","title","subTitle","isMuted","theme","showSearchIcon","onSearchClick","onActionClick","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","IconTypes","NOTIFICATIONS_OFF_FILLED","SEARCH","IconColors","PRIMARY","INFO","propTypes","PropTypes","shape","arrayOf","coverUrl","string","oneOfType","bool","func","defaultProps"],"mappings":"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"}
package/ui/Checkbox.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-d10f91b9.js';
1
+ import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-8ba74698.js';
2
2
  import React__default, { useState } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
 
@@ -1,11 +1,11 @@
1
1
  import React__default, { useContext } from 'react';
2
2
  import Icon, { IconTypes, IconColors } from './Icon.js';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-17cf7808.js';
4
- import { a as LocalizationContext } from '../LocalizationContext-5b0a9339.js';
5
- import '../_rollupPluginBabelHelpers-d10f91b9.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d1179659.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-3dbcc9d8.js';
5
+ import '../_rollupPluginBabelHelpers-8ba74698.js';
6
6
  import 'prop-types';
7
- import '../stringSet-5a85ff4b.js';
8
- import '../index-94489c17.js';
7
+ import '../stringSet-3a2b916e.js';
8
+ import '../index-21a0df21.js';
9
9
 
10
10
  function ConnectionStatus() {
11
11
  var _useContext = useContext(LocalizationContext),
package/ui/ContextMenu.js CHANGED
@@ -1,12 +1,12 @@
1
- import { c as _inherits, d as _createSuper, e as _createClass, f as _classCallCheck, g as _defineProperty, h as _assertThisInitialized, _ as _objectSpread2, a as _slicedToArray } from '../_rollupPluginBabelHelpers-d10f91b9.js';
1
+ import { c as _inherits, d as _createSuper, e as _createClass, f as _classCallCheck, g as _defineProperty, h as _assertThisInitialized, _ as _objectSpread2, a as _slicedToArray } from '../_rollupPluginBabelHelpers-8ba74698.js';
2
2
  import React__default, { Component, useState } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-17cf7808.js';
5
- import { j as getClassName } from '../index-902c2068.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d1179659.js';
5
+ import { k as getClassName } from '../index-4c5351e9.js';
6
6
  import { createPortal } from 'react-dom';
7
7
  import SortByRow from './SortByRow.js';
8
- import '../stringSet-5a85ff4b.js';
9
- import '../tslib.es6-2c4d01e9.js';
8
+ import '../stringSet-3a2b916e.js';
9
+ import '../tslib.es6-9548150b.js';
10
10
 
11
11
  var MenuItems$1 = /*#__PURE__*/function (_Component) {
12
12
  _inherits(MenuItems, _Component);
@@ -20,26 +20,6 @@ var MenuItems$1 = /*#__PURE__*/function (_Component) {
20
20
 
21
21
  _this = _super.call(this, props);
22
22
 
23
- _defineProperty(_assertThisInitialized(_this), "showParent", function () {
24
- var _this$props$parentCon = _this.props.parentContainRef,
25
- parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon;
26
- var current = parentContainRef.current;
27
-
28
- if (parentContainRef && current) {
29
- current.classList.add('sendbird-icon--pressed');
30
- }
31
- });
32
-
33
- _defineProperty(_assertThisInitialized(_this), "hideParent", function () {
34
- var _this$props$parentCon2 = _this.props.parentContainRef,
35
- parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2;
36
- var current = parentContainRef.current;
37
-
38
- if (parentContainRef && current) {
39
- current.classList.remove('sendbird-icon--pressed');
40
- }
41
- });
42
-
43
23
  _defineProperty(_assertThisInitialized(_this), "setupEvents", function () {
44
24
  var closeDropdown = _this.props.closeDropdown;
45
25
 
@@ -124,13 +104,11 @@ var MenuItems$1 = /*#__PURE__*/function (_Component) {
124
104
  value: function componentDidMount() {
125
105
  this.setupEvents();
126
106
  this.getMenuPosition();
127
- this.showParent();
128
107
  }
129
108
  }, {
130
109
  key: "componentWillUnmount",
131
110
  value: function componentWillUnmount() {
132
111
  this.cleanUpEvents();
133
- this.hideParent();
134
112
  }
135
113
  }, {
136
114
  key: "render",
@@ -164,9 +142,10 @@ MenuItems$1.propTypes = {
164
142
  parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
165
143
  current: PropTypes.instanceOf(Element)
166
144
  })]).isRequired,
167
- parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
168
- current: PropTypes.instanceOf(Element)
169
- })]).isRequired,
145
+ // parentContainRef: PropTypes.oneOfType([
146
+ // PropTypes.func,
147
+ // PropTypes.shape({ current: PropTypes.instanceOf(Element) }),
148
+ // ]).isRequired,
170
149
  openLeft: PropTypes.bool
171
150
  };
172
151
  MenuItems$1.defaultProps = {
@@ -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 this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-icon--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-icon--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef.current && !menuRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = () => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef.current.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const menuStyle = {\n top: y,\n left: x,\n };\n\n if (!this.menuRef.current) return menuStyle;\n\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n\n return this.setState({ menuStyle });\n }\n\n render() {\n const { menuStyle } = this.state;\n const { children, style } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\nMenuItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n style: PropTypes.shape({}),\n // https://stackoverflow.com/a/51127130\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n openLeft: PropTypes.bool,\n};\nMenuItems.defaultProps = {\n style: {},\n openLeft: false,\n};\n","import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\n\nimport SortByRow from '../../SortByRow';\n\nexport default class EmojiListItems extends Component {\n constructor(props) {\n super(props);\n this.reactionRef = React.createRef();\n this.state = {\n reactionStyle: {},\n handleClickOutside: () => { },\n };\n }\n\n componentDidMount() {\n this.setupEvents();\n this.getBarPosition();\n this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-reactions--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-reactions--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { reactionRef } = this;\n const handleClickOutside = (event) => {\n if (reactionRef.current && !reactionRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getBarPosition = () => {\n // calculate the location that the context menu should be\n const {\n parentRef,\n spaceFromTrigger,\n } = this.props;\n const spaceFromTriggerX = spaceFromTrigger.x || 0;\n const spaceFromTriggerY = spaceFromTrigger.y || 0;\n\n const parentRect = parentRef.current.getBoundingClientRect();\n\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n\n const reactionStyle = {\n top: y,\n left: x,\n };\n\n if (!this.reactionRef.current) return reactionStyle;\n const rect = this.reactionRef.current.getBoundingClientRect();\n\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n\n reactionStyle.left -= (rect.width / 2);\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n\n const maximumLeft = (window.innerWidth - rect.width);\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n\n return this.setState({ reactionStyle });\n }\n\n render() {\n const { reactionStyle } = this.state;\n const { children } = this.props;\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={this.reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n }\n}\nEmojiListItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n spaceFromTrigger: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n};\nEmojiListItems.defaultProps = {\n spaceFromTrigger: {},\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { getClassName } from '../../utils';\n\nimport MenuItems_ from './items/MenuItems';\nimport EmojiListItems_ from './items/EmojiListItems';\n\nconst ENTER = 13;\n\nexport const MenuItems = MenuItems_;\nexport const EmojiListItems = EmojiListItems_;\n\nexport const MenuItem = ({\n className,\n children,\n onClick,\n disable,\n}) => {\n const handleClickEvent = (e) => { if (!disable) onClick(e); };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nMenuItem.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n onClick: PropTypes.func.isRequired,\n disable: PropTypes.bool,\n};\n\nMenuItem.defaultProps = {\n className: '',\n disable: false,\n};\n\n// Root components should be appended before ContextMenu is rendered\nexport const MenuRoot = () => (\n <div id=\"sendbird-dropdown-portal\" />\n);\nexport const EmojiReactionListRoot = () => (\n <div id=\"sendbird-emoji-list-portal\" />\n);\n\nexport default function ContextMenu({ menuTrigger, menuItems }) {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n <div className=\"sendbird-context-menu\" style={{ display: 'inline' }}>\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n\nContextMenu.propTypes = {\n menuTrigger: PropTypes.func.isRequired,\n menuItems: PropTypes.func.isRequired,\n};\n"],"names":["MenuItems","props","parentContainRef","current","classList","add","remove","closeDropdown","menuRef","handleClickOutside","event","contains","target","setState","document","addEventListener","state","removeEventListener","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","window","innerWidth","innerHeight","rect","height","width","padding","Number","isNaN","React","createRef","setupEvents","getMenuPosition","showParent","cleanUpEvents","hideParent","children","style","createPortal","display","position","Math","round","getElementById","Component","propTypes","PropTypes","func","isRequired","oneOfType","element","arrayOf","shape","instanceOf","Element","bool","defaultProps","EmojiListItems","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","number","ENTER","MenuItems_","EmojiListItems_","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","string","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","useState","showMenu","setShowMenu"],"mappings":"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"}
1
+ {"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","number","ENTER","MenuItems_","EmojiListItems_","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","string","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","useState","showMenu","setShowMenu"],"mappings":";;;;;;;;;;IAIqBA;;;;;AACnB,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;;AADiB,kEAkBL,YAAM;AAClB,UAAQC,aAAR,GAA0B,MAAKD,KAA/B,CAAQC,aAAR;;AACA;AAAA,UAAQC,OAAR,yBAAQA,OAAR;;AACA,UAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAW;AACpC,YAAIF,OAAO,CAACG,OAAR,IAAmB,CAACH,OAAO,CAACG,OAAR,CAAgBC,QAAhB,CAAyBF,KAAK,CAACG,MAA/B,CAAxB,EAAgE;AAC9DN,UAAAA,aAAa;AACd;AACF,OAJD;;AAKA,YAAKO,QAAL,CAAc;AACZL,QAAAA,kBAAkB,EAAlBA;AADY,OAAd;;AAIAM,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCP,kBAAvC;AACD,KA/BkB;;AAAA,oEAiCH,YAAM;AACpB,UACEA,kBADF,GAEI,MAAKQ,KAFT,CACER,kBADF;AAGAM,MAAAA,QAAQ,CAACG,mBAAT,CAA6B,WAA7B,EAA0CT,kBAA1C;AACD,KAtCkB;;AAAA,sEAwCD,YAAM;AACtB,wBAAgC,MAAKH,KAArC;AAAA,UAAQa,SAAR,eAAQA,SAAR;AAAA,UAAmBC,QAAnB,eAAmBA,QAAnB;AACA,UAAMC,UAAU,GAAGF,SAAS,CAACR,OAAV,CAAkBW,qBAAlB,EAAnB;AACA,UAAMC,CAAC,GAAGF,UAAU,CAACE,CAAX,IAAgBF,UAAU,CAACG,IAArC;AACA,UAAMC,CAAC,GAAGJ,UAAU,CAACI,CAAX,IAAgBJ,UAAU,CAACK,GAArC;AACA,UAAMC,SAAS,GAAG;AAChBD,QAAAA,GAAG,EAAED,CADW;AAEhBD,QAAAA,IAAI,EAAED;AAFU,OAAlB;AAKA,UAAI,CAAC,MAAKf,OAAL,CAAaG,OAAlB,EAA2B,OAAOgB,SAAP;AAE3B,oBAAoCC,MAApC;AAAA,UAAQC,UAAR,WAAQA,UAAR;AAAA,UAAoBC,WAApB,WAAoBA,WAApB;;AACA,UAAMC,IAAI,GAAG,MAAKvB,OAAL,CAAaG,OAAb,CAAqBW,qBAArB,EAAb;;AACA,UAAIG,CAAC,GAAGM,IAAI,CAACC,MAAT,GAAkBF,WAAtB,EAAmC;AACjCH,QAAAA,SAAS,CAACD,GAAV,IAAiBK,IAAI,CAACC,MAAtB;AACD;;AAED,UAAIT,CAAC,GAAGQ,IAAI,CAACE,KAAT,GAAiBJ,UAAjB,IAA+B,CAACT,QAApC,EAA8C;AAC5CO,QAAAA,SAAS,CAACH,IAAV,IAAkBO,IAAI,CAACE,KAAvB;AACD;;AAED,UAAIN,SAAS,CAACD,GAAV,GAAgB,CAApB,EAAuB;AACrBC,QAAAA,SAAS,CAACD,GAAV,GAAgBK,IAAI,CAACC,MAAL,GAAcF,WAAd,GAA4B,CAACA,WAAW,GAAGC,IAAI,CAACC,MAApB,IAA8B,CAA1D,GAA8D,CAA9E;AACD;;AAED,UAAIL,SAAS,CAACH,IAAV,GAAiB,CAArB,EAAwB;AACtBG,QAAAA,SAAS,CAACH,IAAV,GAAiBO,IAAI,CAACE,KAAL,GAAaJ,UAAb,GAA0B,CAACA,UAAU,GAAGE,IAAI,CAACE,KAAnB,IAA4B,CAAtD,GAA0D,CAA3E;AACD;;AAEDN,MAAAA,SAAS,CAACD,GAAV,IAAiB,EAAjB;;AACA,UAAIN,QAAJ,EAAc;AACZ,YAAMc,OAAO,GAAGC,MAAM,CAACC,KAAP,CAAaL,IAAI,CAACE,KAAL,GAAa,EAA1B,IACZ,GADY;AAAA,UAEZF,IAAI,CAACE,KAAL,GAAa,EAFjB;AAGAN,QAAAA,SAAS,CAACH,IAAV,IAAkBU,OAAlB;AACD;;AAED,aAAO,MAAKpB,QAAL,CAAc;AAAEa,QAAAA,SAAS,EAATA;AAAF,OAAd,CAAP;AACD,KA/EkB;;AAEjB,UAAKnB,OAAL,gBAAe6B,cAAK,CAACC,SAAN,EAAf;AACA,UAAKrB,KAAL,GAAa;AACXU,MAAAA,SAAS,EAAE,EADA;AAEXlB,MAAAA,kBAAkB,EAAE,8BAAM;AAFf,KAAb;AAHiB;AAOlB;;;;WAED,6BAAoB;AAClB,WAAK8B,WAAL;AACA,WAAKC,eAAL;AACD;;;WAED,gCAAuB;AACrB,WAAKC,aAAL;AACD;;;WAiED,kBAAS;AACP,UAAQd,SAAR,GAAsB,KAAKV,KAA3B,CAAQU,SAAR;AACA,yBAA4B,KAAKrB,KAAjC;AAAA,UAAQoC,QAAR,gBAAQA,QAAR;AAAA,UAAkBC,KAAlB,gBAAkBA,KAAlB;AACA,0BACEC,YAAY,eAERP,yEACEA;AAAK,QAAA,SAAS,EAAC;AAAf,QADF,eAEEA;AACE,QAAA,SAAS,EAAC,yBADZ;AAEE,QAAA,GAAG,EAAE,KAAK7B,OAFZ;AAGE,QAAA,KAAK;AACHqC,UAAAA,OAAO,EAAE,cADN;AAEHC,UAAAA,QAAQ,EAAE,OAFP;AAGHtB,UAAAA,IAAI,YAAKuB,IAAI,CAACC,KAAL,CAAWrB,SAAS,CAACH,IAArB,CAAL,OAHD;AAIHE,UAAAA,GAAG,YAAKqB,IAAI,CAACC,KAAL,CAAWrB,SAAS,CAACD,GAArB,CAAL;AAJA,WAKAiB,KALA;AAHP,SAWGD,QAXH,CAFF,CAFQ,EAmBV3B,QAAQ,CAACkC,cAAT,CAAwB,0BAAxB,CAnBU,CADd;AAuBD;;;;EA5GoCC;AA8GvC7C,WAAS,CAAC8C,SAAV,GAAsB;AACpB5C,EAAAA,aAAa,EAAE6C,SAAS,CAACC,IAAV,CAAeC,UADV;AAEpBZ,EAAAA,QAAQ,EAAEU,SAAS,CAACG,SAAV,CAAoB,CAC5BH,SAAS,CAACI,OADkB,EAE5BJ,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACI,OAA5B,CAF4B,CAApB,EAGPF,UALiB;AAMpBX,EAAAA,KAAK,EAAES,SAAS,CAACM,KAAV,CAAgB,EAAhB,CANa;AAOpB;AACAvC,EAAAA,SAAS,EAAEiC,SAAS,CAACG,SAAV,CAAoB,CAC7BH,SAAS,CAACC,IADmB,EAE7BD,SAAS,CAACM,KAAV,CAAgB;AAAE/C,IAAAA,OAAO,EAAEyC,SAAS,CAACO,UAAV,CAAqBC,OAArB;AAAX,GAAhB,CAF6B,CAApB,EAGRN,UAXiB;AAYpB;AACA;AACA;AACA;AACAlC,EAAAA,QAAQ,EAAEgC,SAAS,CAACS;AAhBA,CAAtB;AAkBAxD,WAAS,CAACyD,YAAV,GAAyB;AACvBnB,EAAAA,KAAK,EAAE,EADgB;AAEvBvB,EAAAA,QAAQ,EAAE;AAFa,CAAzB;;IC9HqB2C;;;;;AACnB,0BAAYzD,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;;AADiB,iEAoBN,YAAM;AACjB,kCAAkC,MAAKA,KAAvC,CAAQ0D,gBAAR;AAAA,UAAQA,gBAAR,sCAA2B,EAA3B;AACA,UAAQrD,OAAR,GAAoBqD,gBAApB,CAAQrD,OAAR;;AACA,UAAIqD,gBAAgB,IAAIrD,OAAxB,EAAiC;AAC/BA,QAAAA,OAAO,CAACsD,SAAR,CAAkBC,GAAlB,CAAsB,6BAAtB;AACD;AACF,KA1BkB;;AAAA,iEA4BN,YAAM;AACjB,mCAAkC,MAAK5D,KAAvC,CAAQ0D,gBAAR;AAAA,UAAQA,gBAAR,uCAA2B,EAA3B;AACA,UAAQrD,OAAR,GAAoBqD,gBAApB,CAAQrD,OAAR;;AACA,UAAIqD,gBAAgB,IAAIrD,OAAxB,EAAiC;AAC/BA,QAAAA,OAAO,CAACsD,SAAR,CAAkBE,MAAlB,CAAyB,6BAAzB;AACD;AACF,KAlCkB;;AAAA,kEAoCL,YAAM;AAClB,UAAQ5D,aAAR,GAA0B,MAAKD,KAA/B,CAAQC,aAAR;;AACA;AAAA,UAAQ6D,WAAR,yBAAQA,WAAR;;AACA,UAAM3D,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAW;AACpC,YAAI0D,WAAW,CAACzD,OAAZ,IAAuB,CAACyD,WAAW,CAACzD,OAAZ,CAAoBC,QAApB,CAA6BF,KAAK,CAACG,MAAnC,CAA5B,EAAwE;AACtEN,UAAAA,aAAa;AACd;AACF,OAJD;;AAKA,YAAKO,QAAL,CAAc;AACZL,QAAAA,kBAAkB,EAAlBA;AADY,OAAd;;AAGAM,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCP,kBAAvC;AACD,KAhDkB;;AAAA,oEAkDH,YAAM;AACpB,UACEA,kBADF,GAEI,MAAKQ,KAFT,CACER,kBADF;AAGAM,MAAAA,QAAQ,CAACG,mBAAT,CAA6B,WAA7B,EAA0CT,kBAA1C;AACD,KAvDkB;;AAAA,qEAyDF,YAAM;AACrB;AACA,wBAGI,MAAKH,KAHT;AAAA,UACEa,SADF,eACEA,SADF;AAAA,UAEEkD,gBAFF,eAEEA,gBAFF;AAIA,UAAMC,iBAAiB,GAAGD,gBAAgB,CAAC9C,CAAjB,IAAsB,CAAhD;AACA,UAAMgD,iBAAiB,GAAGF,gBAAgB,CAAC5C,CAAjB,IAAsB,CAAhD;AAEA,UAAMJ,UAAU,GAAGF,SAAS,CAACR,OAAV,CAAkBW,qBAAlB,EAAnB;AAEA,UAAMC,CAAC,GAAGF,UAAU,CAACE,CAAX,IAAgBF,UAAU,CAACG,IAArC;AACA,UAAMC,CAAC,GAAGJ,UAAU,CAACI,CAAX,IAAgBJ,UAAU,CAACK,GAArC;AAEA,UAAM8C,aAAa,GAAG;AACpB9C,QAAAA,GAAG,EAAED,CADe;AAEpBD,QAAAA,IAAI,EAAED;AAFc,OAAtB;AAKA,UAAI,CAAC,MAAK6C,WAAL,CAAiBzD,OAAtB,EAA+B,OAAO6D,aAAP;;AAC/B,UAAMzC,IAAI,GAAG,MAAKqC,WAAL,CAAiBzD,OAAjB,CAAyBW,qBAAzB,EAAb;;AAEA,UAAIkD,aAAa,CAAC9C,GAAd,GAAoBK,IAAI,CAACC,MAA7B,EAAqC;AACnCwC,QAAAA,aAAa,CAAC9C,GAAd,IAAqBL,UAAU,CAACW,MAAhC;AACAwC,QAAAA,aAAa,CAAC9C,GAAd,IAAqB6C,iBAArB;AACD,OAHD,MAGO;AACLC,QAAAA,aAAa,CAAC9C,GAAd,IAAqBK,IAAI,CAACC,MAA1B;AACAwC,QAAAA,aAAa,CAAC9C,GAAd,IAAqB6C,iBAArB;AACD;;AAEDC,MAAAA,aAAa,CAAChD,IAAd,IAAuBO,IAAI,CAACE,KAAL,GAAa,CAApC;AACAuC,MAAAA,aAAa,CAAChD,IAAd,IAAuBH,UAAU,CAACW,MAAX,GAAoB,CAArB,GAA0B,CAAhD;AACAwC,MAAAA,aAAa,CAAChD,IAAd,IAAsB8C,iBAAtB;AAEA,UAAMG,WAAW,GAAI7C,MAAM,CAACC,UAAP,GAAoBE,IAAI,CAACE,KAA9C;;AACA,UAAIwC,WAAW,GAAGD,aAAa,CAAChD,IAAhC,EAAsC;AACpCgD,QAAAA,aAAa,CAAChD,IAAd,GAAqBiD,WAArB;AACD;;AACD,UAAID,aAAa,CAAChD,IAAd,GAAqB,CAAzB,EAA4B;AAC1BgD,QAAAA,aAAa,CAAChD,IAAd,GAAqB,CAArB;AACD;;AAED,aAAO,MAAKV,QAAL,CAAc;AAAE0D,QAAAA,aAAa,EAAbA;AAAF,OAAd,CAAP;AACD,KApGkB;;AAEjB,UAAKJ,WAAL,gBAAmB/B,cAAK,CAACC,SAAN,EAAnB;AACA,UAAKrB,KAAL,GAAa;AACXuD,MAAAA,aAAa,EAAE,EADJ;AAEX/D,MAAAA,kBAAkB,EAAE,8BAAM;AAFf,KAAb;AAHiB;AAOlB;;;;WAED,6BAAoB;AAClB,WAAK8B,WAAL;AACA,WAAKmC,cAAL;AACA,WAAKC,UAAL;AACD;;;WAED,gCAAuB;AACrB,WAAKlC,aAAL;AACA,WAAKmC,UAAL;AACD;;;WAoFD,kBAAS;AACP,UAAQJ,aAAR,GAA0B,KAAKvD,KAA/B,CAAQuD,aAAR;AACA,UAAQ9B,QAAR,GAAqB,KAAKpC,KAA1B,CAAQoC,QAAR;AACA,0BACEE,YAAY,eACVP,yEACEA;AAAK,QAAA,SAAS,EAAC;AAAf,QADF,eAEEA;AACE,QAAA,SAAS,EAAC,iCADZ;AAEE,QAAA,GAAG,EAAE,KAAK+B,WAFZ;AAGE,QAAA,KAAK,EAAE;AACLvB,UAAAA,OAAO,EAAE,cADJ;AAELC,UAAAA,QAAQ,EAAE,OAFL;AAGLtB,UAAAA,IAAI,YAAKuB,IAAI,CAACC,KAAL,CAAWwB,aAAa,CAAChD,IAAzB,CAAL,OAHC;AAILE,UAAAA,GAAG,YAAKqB,IAAI,CAACC,KAAL,CAAWwB,aAAa,CAAC9C,GAAzB,CAAL;AAJE;AAHT,sBAUEW,6BAAC,SAAD;AACE,QAAA,SAAS,EAAC,sCADZ;AAEE,QAAA,YAAY,EAAE,CAFhB;AAGE,QAAA,SAAS,EAAE,EAHb;AAIE,QAAA,UAAU,EAAE;AAJd,SAMGK,QANH,CAVF,CAFF,CADU,EAuBV3B,QAAQ,CAACkC,cAAT,CAAwB,4BAAxB,CAvBU,CADd;AA2BD;;;;EArIyCC;AAuI5Ca,gBAAc,CAACZ,SAAf,GAA2B;AACzB5C,EAAAA,aAAa,EAAE6C,SAAS,CAACC,IAAV,CAAeC,UADL;AAEzBZ,EAAAA,QAAQ,EAAEU,SAAS,CAACG,SAAV,CAAoB,CAC5BH,SAAS,CAACI,OADkB,EAE5BJ,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACI,OAA5B,CAF4B,CAApB,EAGPF,UALsB;AAMzBnC,EAAAA,SAAS,EAAEiC,SAAS,CAACG,SAAV,CAAoB,CAC7BH,SAAS,CAACC,IADmB,EAE7BD,SAAS,CAACM,KAAV,CAAgB;AAAE/C,IAAAA,OAAO,EAAEyC,SAAS,CAACO,UAAV,CAAqBC,OAArB;AAAX,GAAhB,CAF6B,CAApB,EAGRN,UATsB;AAUzBU,EAAAA,gBAAgB,EAAEZ,SAAS,CAACG,SAAV,CAAoB,CACpCH,SAAS,CAACC,IAD0B,EAEpCD,SAAS,CAACM,KAAV,CAAgB;AAAE/C,IAAAA,OAAO,EAAEyC,SAAS,CAACO,UAAV,CAAqBC,OAArB;AAAX,GAAhB,CAFoC,CAApB,EAGfN,UAbsB;AAczBe,EAAAA,gBAAgB,EAAEjB,SAAS,CAACM,KAAV,CAAgB;AAChCnC,IAAAA,CAAC,EAAE6B,SAAS,CAACyB,MADmB;AAEhCpD,IAAAA,CAAC,EAAE2B,SAAS,CAACyB;AAFmB,GAAhB;AAdO,CAA3B;AAmBAd,gBAAc,CAACD,YAAf,GAA8B;AAC5BO,EAAAA,gBAAgB,EAAE;AADU,CAA9B;;ACrJA,IAAMS,KAAK,GAAG,EAAd;IAEazE,SAAS,GAAG0E;IACZhB,cAAc,GAAGiB;IAEjBC,QAAQ,GAAG,SAAXA,QAAW,OAKlB;AAAA,MAJJC,SAII,QAJJA,SAII;AAAA,MAHJxC,QAGI,QAHJA,QAGI;AAAA,MAFJyC,OAEI,QAFJA,OAEI;AAAA,MADJC,OACI,QADJA,OACI;;AACJ,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,CAAD,EAAO;AAAE,QAAI,CAACF,OAAL,EAAcD,OAAO,CAACG,CAAD,CAAP;AAAa,GAA7D;;AACA,sBACEjD;AACE,IAAA,SAAS,EAAEkD,YAAY,CAAC,CAACL,SAAD,EAAY,8BAAZ,EAA4CE,OAAO,GAAG,SAAH,GAAe,EAAlE,CAAD,CADzB;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,OAAO,EAAEC,gBAHX;AAIE,IAAA,UAAU,EAAE,oBAACC,CAAD,EAAO;AAAE,UAAIA,CAAC,CAACE,OAAF,KAAcV,KAAlB,EAAyBO,gBAAgB,CAACC,CAAD,CAAhB;AAAsB,KAJtE;AAKE,IAAA,QAAQ,EAAE;AALZ,kBAOEjD,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,oCADZ;AAEE,IAAA,IAAI,EAAEoD,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEN,OAAO,GAAGO,WAAW,CAACC,cAAf,GAAgCD,WAAW,CAACE;AAH5D,KAKGnD,QALH,CAPF,CADF;AAiBD;AAEDuC,QAAQ,CAAC9B,SAAT,GAAqB;AACnB+B,EAAAA,SAAS,EAAE9B,SAAS,CAACG,SAAV,CAAoB,CAC7BH,SAAS,CAAC0C,MADmB,EAE7B1C,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAAC0C,MAA5B,CAF6B,CAApB,CADQ;AAKnBpD,EAAAA,QAAQ,EAAEU,SAAS,CAACG,SAAV,CAAoB,CAC5BH,SAAS,CAAC0C,MADkB,EAE5B1C,SAAS,CAACI,OAFkB,CAApB,EAGPF,UARgB;AASnB6B,EAAAA,OAAO,EAAE/B,SAAS,CAACC,IAAV,CAAeC,UATL;AAUnB8B,EAAAA,OAAO,EAAEhC,SAAS,CAACS;AAVA,CAArB;AAaAoB,QAAQ,CAACnB,YAAT,GAAwB;AACtBoB,EAAAA,SAAS,EAAE,EADW;AAEtBE,EAAAA,OAAO,EAAE;AAFa,CAAxB;;IAMaW,QAAQ,GAAG,SAAXA,QAAW;AAAA,sBACtB1D;AAAK,IAAA,EAAE,EAAC;AAAR,IADsB;AAAA;IAGX2D,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,sBACnC3D;AAAK,IAAA,EAAE,EAAC;AAAR,IADmC;AAAA;AAItB,SAAS4D,WAAT,QAAiD;AAAA,MAA1BC,WAA0B,SAA1BA,WAA0B;AAAA,MAAbC,SAAa,SAAbA,SAAa;;AAC9D,kBAAgCC,QAAQ,CAAC,KAAD,CAAxC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AAEA,sBACEjE;AAAK,IAAA,SAAS,EAAC,uBAAf;AAAuC,IAAA,KAAK,EAAE;AAAEQ,MAAAA,OAAO,EAAE;AAAX;AAA9C,KACGqD,WAAW,CAAC;AAAA,WAAMI,WAAW,CAAC,CAACD,QAAF,CAAjB;AAAA,GAAD,CADd,EAEGA,QAAQ,IAAIF,SAAS,CAAC;AAAA,WAAMG,WAAW,CAAC,KAAD,CAAjB;AAAA,GAAD,CAFxB,CADF;AAMD;AAEDL,WAAW,CAAC9C,SAAZ,GAAwB;AACtB+C,EAAAA,WAAW,EAAE9C,SAAS,CAACC,IAAV,CAAeC,UADN;AAEtB6C,EAAAA,SAAS,EAAE/C,SAAS,CAACC,IAAV,CAAeC;AAFJ,CAAxB;;;;"}
@@ -1,9 +1,9 @@
1
- import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-d10f91b9.js';
1
+ import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-8ba74698.js';
2
2
  import React__default from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { C as Colors, c as changeColorToClassName } from '../color-6b259e40.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-17cf7808.js';
6
- import '../stringSet-5a85ff4b.js';
4
+ import { c as changeColorToClassName, C as Colors } from '../color-b580a421.js';
5
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d1179659.js';
6
+ import '../stringSet-3a2b916e.js';
7
7
 
8
8
  function DateSeparator(_ref) {
9
9
  var className = _ref.className,
@@ -22,7 +22,7 @@ function DateSeparator(_ref) {
22
22
  DateSeparator.propTypes = {
23
23
  className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
24
24
  children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.element]),
25
- separatorColor: PropTypes.string
25
+ separatorColor: PropTypes.oneOf(['ONBACKGROUND_1', 'ONBACKGROUND_2', 'ONBACKGROUND_3', 'ONBACKGROUND_4', 'ONCONTENT_1', 'PRIMARY', 'ERROR'])
26
26
  };
27
27
  DateSeparator.defaultProps = {
28
28
  className: '',
@@ -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.string,\n};\n\nDateSeparator.defaultProps = {\n className: '',\n children: (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n ),\n separatorColor: Colors.ONBACKGROUND_4,\n};\n"],"names":["DateSeparator","className","children","separatorColor","React","Array","isArray","join","changeColorToClassName","propTypes","PropTypes","oneOfType","string","arrayOf","element","defaultProps","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4"],"mappings":";;;;;;;AAOe,SAASA,aAAT,OAIZ;AAAA,MAHDC,SAGC,QAHDA,SAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,cACC,QADDA,cACC;AACD,sBACEC;AACE,IAAA,SAAS,EAAE,6BACLC,KAAK,CAACC,OAAN,CAAcL,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,IAET,oBAFS,GAGTM,IAHS,CAGJ,GAHI;AADb,kBAMEH;AAAK,IAAA,SAAS,EAAE,CAAC,0BAAD,YAAgCI,sBAAsB,CAACL,cAAD,CAAtD,yBAA4FI,IAA5F,CAAiG,GAAjG;AAAhB,IANF,eAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,KAA2CF,QAA3C,CAPF,eAQEE;AAAK,IAAA,SAAS,EAAE,CAAC,2BAAD,YAAiCI,sBAAsB,CAACL,cAAD,CAAvD,yBAA6FI,IAA7F,CAAkG,GAAlG;AAAhB,IARF,CADF;AAYD;AAEDP,aAAa,CAACS,SAAd,GAA0B;AACxBR,EAAAA,SAAS,EAAES,SAAS,CAACC,SAAV,CAAoB,CAC7BD,SAAS,CAACE,MADmB,EAE7BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF6B,CAApB,CADa;AAKxBV,EAAAA,QAAQ,EAAEQ,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF4B,EAG5BF,SAAS,CAACI,OAHkB,CAApB,CALc;AAUxBX,EAAAA,cAAc,EAAEO,SAAS,CAACE;AAVF,CAA1B;AAaAZ,aAAa,CAACe,YAAd,GAA6B;AAC3Bd,EAAAA,SAAS,EAAE,EADgB;AAE3BC,EAAAA,QAAQ,eACNE,6BAAC,KAAD;AAAO,IAAA,IAAI,EAAEY,eAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,WAAW,CAACC;AAA3D,sBAHyB;AAO3BhB,EAAAA,cAAc,EAAEiB,MAAM,CAACC;AAPI,CAA7B;;;;"}
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","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4"],"mappings":";;;;;;;AAOe,SAASA,aAAT,OAIZ;AAAA,MAHDC,SAGC,QAHDA,SAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,cACC,QADDA,cACC;AACD,sBACEC;AACE,IAAA,SAAS,EAAE,6BACLC,KAAK,CAACC,OAAN,CAAcL,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,IAET,oBAFS,GAGTM,IAHS,CAGJ,GAHI;AADb,kBAMEH;AAAK,IAAA,SAAS,EAAE,CAAC,0BAAD,YAAgCI,sBAAsB,CAACL,cAAD,CAAtD,yBAA4FI,IAA5F,CAAiG,GAAjG;AAAhB,IANF,eAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,KAA2CF,QAA3C,CAPF,eAQEE;AAAK,IAAA,SAAS,EAAE,CAAC,2BAAD,YAAiCI,sBAAsB,CAACL,cAAD,CAAvD,yBAA6FI,IAA7F,CAAkG,GAAlG;AAAhB,IARF,CADF;AAYD;AAEDP,aAAa,CAACS,SAAd,GAA0B;AACxBR,EAAAA,SAAS,EAAES,SAAS,CAACC,SAAV,CAAoB,CAC7BD,SAAS,CAACE,MADmB,EAE7BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF6B,CAApB,CADa;AAKxBV,EAAAA,QAAQ,EAAEQ,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF4B,EAG5BF,SAAS,CAACI,OAHkB,CAApB,CALc;AAUxBX,EAAAA,cAAc,EAAEO,SAAS,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,6BAAC,KAAD;AAAO,IAAA,IAAI,EAAEa,eAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,WAAW,CAACC;AAA3D,sBAHyB;AAO3BjB,EAAAA,cAAc,EAAEkB,MAAM,CAACC;AAPI,CAA7B;;;;"}
package/ui/Dropdown.js CHANGED
@@ -1,8 +1,8 @@
1
- import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-d10f91b9.js';
1
+ import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-8ba74698.js';
2
2
  import React__default, { useEffect, useState, useRef } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-17cf7808.js';
5
- import '../stringSet-5a85ff4b.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d1179659.js';
5
+ import '../stringSet-3a2b916e.js';
6
6
 
7
7
  function useOutsideAlerter(_ref) {
8
8
  var ref = _ref.ref,
@@ -6,18 +6,18 @@ import ReactionButton from './ReactionButton.js';
6
6
  import ImageRenderer from './ImageRenderer.js';
7
7
  import Icon, { IconTypes, IconColors } from './Icon.js';
8
8
  import ContextMenu, { EmojiListItems } from './ContextMenu.js';
9
- import { H as getEmojiMapAll, j as getClassName, I as isReactedBy, J as getEmojiTooltipString, G as getEmojiListAll } from '../index-902c2068.js';
10
- import { a as LocalizationContext } from '../LocalizationContext-5b0a9339.js';
11
- import '../_rollupPluginBabelHelpers-d10f91b9.js';
9
+ import { I as getEmojiMapAll, k as getClassName, J as isReactedBy, K as getEmojiTooltipString, H as getEmojiListAll } from '../index-4c5351e9.js';
10
+ import { a as LocalizationContext } from '../LocalizationContext-3dbcc9d8.js';
11
+ import '../_rollupPluginBabelHelpers-8ba74698.js';
12
12
  import 'prop-types';
13
- import '../index-17cf7808.js';
14
- import '../stringSet-5a85ff4b.js';
13
+ import '../index-d1179659.js';
14
+ import '../stringSet-3a2b916e.js';
15
15
  import 'react-dom';
16
16
  import './SortByRow.js';
17
- import '../tslib.es6-2c4d01e9.js';
18
- import '../index-94489c17.js';
17
+ import '../tslib.es6-9548150b.js';
18
+ import '../index-21a0df21.js';
19
19
 
20
- function EmojiReactions2(_a) {
20
+ var EmojiReactions = function EmojiReactions(_a) {
21
21
  var _b, _c;
22
22
 
23
23
  var className = _a.className,
@@ -115,7 +115,7 @@ function EmojiReactions2(_a) {
115
115
  }));
116
116
  }
117
117
  }));
118
- }
118
+ };
119
119
 
120
- export { EmojiReactions2 as default };
120
+ export { EmojiReactions as default };
121
121
  //# sourceMappingURL=EmojiReactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiReactions.js","sources":["../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import React, { ReactElement, useContext, useRef } from 'react';\nimport { Emoji, EmojiContainer, FileMessage, Reaction, UserMessage } from 'sendbird';\nimport './index.scss';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: Record<string, unknown>;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nexport default function EmojiReactions2({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = {},\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={() => toggleReaction(message, reaction.key, reactedByMe)}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n </div>\n );\n}\n"],"names":["EmojiReactions2","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","reactions","length","map","reaction","reactedByMe","isReactedBy","key","userIds","getEmojiTooltipString","get","url","IconTypes","QUESTION","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","filter","some","reactorId","style"],"mappings":"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"}
1
+ {"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","key","userIds","getEmojiTooltipString","get","url","IconTypes","QUESTION","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","filter","some","reactorId","style"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import React__default from 'react';
2
- import { b as LabelColors, L as Label, a as LabelTypography } from '../index-17cf7808.js';
2
+ import { b as LabelColors, L as Label, a as LabelTypography } from '../index-d1179659.js';
3
3
  import Icon, { IconTypes, IconColors } from './Icon.js';
4
4
  import TextButton from './TextButton.js';
5
- import { j as getClassName, L as getUIKitFileType, t as truncateString } from '../index-902c2068.js';
6
- import '../_rollupPluginBabelHelpers-d10f91b9.js';
5
+ import { k as getClassName, L as getUIKitFileType, t as truncateString } from '../index-4c5351e9.js';
6
+ import '../_rollupPluginBabelHelpers-8ba74698.js';
7
7
  import 'prop-types';
8
- import '../stringSet-5a85ff4b.js';
9
- import '../color-6b259e40.js';
10
- import '../tslib.es6-2c4d01e9.js';
8
+ import '../stringSet-3a2b916e.js';
9
+ import '../color-b580a421.js';
10
+ import '../tslib.es6-9548150b.js';
11
11
 
12
12
  function FileMessageItemBody(_a) {
13
13
  var _b;
@@ -1 +1 @@
1
- {"version":3,"file":"FileMessageItemBody.js","sources":["../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { FileMessage } from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n}: Props): ReactElement {\n\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n message?.reactions?.length > 0 ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className={'sendbird-file-message-item-body__file-icon__icon'}\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {truncateString(message?.name || message?.url)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","React","getClassName","reactions","length","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","window","open","url","LabelColors","ONCONTENT_1","ONBACKGROUND_1","LabelTypography","BODY_1","truncateString","name"],"mappings":";;;;;;;;;;;SAgBwBA,oBAAoBC;;;MAC1CC,SAAS;MACTC,OAAO;MACPC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,UAAU,mBAAG;AAGb,sBACEC;AAAK,IAAA,SAAS,EAAEC,YAAY,CAAC,CAC3BP,SAD2B,EAE3B,iCAF2B,EAG3BG,MAAM,GAAG,UAAH,GAAgB,UAHK,EAI3BE,UAAU,GAAG,aAAH,GAAmB,EAJF,EAK3B,CAAA,MAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEO,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAA7B,GAAiC,WAAjC,GAA+C,EALpB,CAAD;AAA5B,kBAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,IAAD;AACE,IAAA,SAAS,EAAE,kDADb;AAEE,IAAA,IAAI,EAAE;AACJI,MAAAA,KAAK,EAAEC,SAAS,CAACC,KADb;AAEJC,MAAAA,KAAK,EAAEF,SAAS,CAACG,IAFb;AAGJC,MAAAA,KAAK,EAAEJ,SAAS,CAACK,UAHb;AAIJC,MAAAA,GAAG,EAAEN,SAAS,CAACM,GAJX;AAKJC,MAAAA,MAAM,EAAEP,SAAS,CAACQ;AALd,MAMJC,gBAAgB,CAACnB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoB,IAAV,CANZ,CAFR;AASE,IAAA,SAAS,EAAEC,UAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC;AAXT,IADF,CAPF,eAsBEjB,6BAAC,UAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE;AAAQkB,MAAAA,MAAM,CAACC,IAAP,CAAYxB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAArB;AAA2B,KAF9C;AAGE,IAAA,KAAK,EAAEvB,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,kBAKEvB,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEwB,eAAe,CAACC,MAFxB;AAGE,IAAA,KAAK,EAAE5B,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,KAKGG,cAAc,CAAC,CAAA/B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgC,IAAT,MAAiBhC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF;AAsCD;;;;"}
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","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","window","open","url","LabelColors","ONCONTENT_1","ONBACKGROUND_1","LabelTypography","BODY_1","truncateString","name"],"mappings":";;;;;;;;;;;SAgBwBA,oBAAoBC;;;MAC1CC,SAAS;MACTC,OAAO;MACPC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,UAAU,mBAAG;AAGb,sBACEC;AAAK,IAAA,SAAS,EAAEC,YAAY,CAAC,CAC3BP,SAD2B,EAE3B,iCAF2B,EAG3BG,MAAM,GAAG,UAAH,GAAgB,UAHK,EAI3BE,UAAU,GAAG,aAAH,GAAmB,EAJF,EAK3B,CAAA,MAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEO,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAA7B,GAAiC,WAAjC,GAA+C,EALpB,CAAD;AAA5B,kBAOEH;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,IAAD;AACE,IAAA,SAAS,EAAE,kDADb;AAEE,IAAA,IAAI,EAAE;AACJI,MAAAA,KAAK,EAAEC,SAAS,CAACC,KADb;AAEJC,MAAAA,KAAK,EAAEF,SAAS,CAACG,IAFb;AAGJC,MAAAA,KAAK,EAAEJ,SAAS,CAACK,UAHb;AAIJC,MAAAA,GAAG,EAAEN,SAAS,CAACM,GAJX;AAKJC,MAAAA,MAAM,EAAEP,SAAS,CAACQ;AALd,MAMJC,gBAAgB,CAACnB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoB,IAAV,CANZ,CAFR;AASE,IAAA,SAAS,EAAEC,UAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC;AAXT,IADF,CAPF,eAsBEjB,6BAAC,UAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE;AAAQkB,MAAAA,MAAM,CAACC,IAAP,CAAYxB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAArB;AAA2B,KAF9C;AAGE,IAAA,KAAK,EAAEvB,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,kBAKEvB,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEwB,eAAe,CAACC,MAFxB;AAGE,IAAA,KAAK,EAAE5B,MAAM,GAAGwB,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE;AAHxD,KAKGG,cAAc,CAAC,CAAA/B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgC,IAAT,MAAiBhC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF;AAsCD;;;;"}