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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/App.js +316 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +121 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +182 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +153 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +364 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +214 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +242 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +55 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +306 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +102 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +26 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +109 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +235 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +216 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +133 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +15 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +91 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-76b1ec23.js +944 -0
  45. package/ChannelListProvider-76b1ec23.js.map +1 -0
  46. package/ChannelProvider-c0ed5fae.js +2075 -0
  47. package/ChannelProvider-c0ed5fae.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +102 -0
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  52. package/ChannelSettings/components/EditDetailsModal.js +158 -0
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  54. package/ChannelSettings/components/LeaveChannel.js +53 -0
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  56. package/ChannelSettings/components/ModerationPanel.js +851 -0
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +106 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteUsers.js +180 -0
  69. package/CreateChannel/components/InviteUsers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +9 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-8c72aa06.js +53 -0
  77. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-fb3dafcd.js +22 -0
  85. package/LocalizationContext-fb3dafcd.js.map +1 -0
  86. package/MemberList-01d3c8bf.js +404 -0
  87. package/MemberList-01d3c8bf.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +387 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +80 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +58 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +287 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +158 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +111 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +16 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +82 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-0fb27972.js +1946 -0
  111. package/OpenChannelProvider-0fb27972.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +199 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +145 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +0 -1
  127. package/SendbirdProvider.js +782 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-6a387a08.js +38 -0
  130. package/UserProfileContext-6a387a08.js.map +1 -0
  131. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  132. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  133. package/_rollupPluginBabelHelpers-084fb589.js +233 -0
  134. package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
  135. package/actionTypes-302a2801.js +6 -0
  136. package/actionTypes-302a2801.js.map +1 -0
  137. package/cjs/App.js +323 -0
  138. package/cjs/App.js.map +1 -0
  139. package/cjs/Channel/components/ChannelHeader.js +127 -0
  140. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  141. package/cjs/Channel/components/ChannelUI.js +188 -0
  142. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  143. package/cjs/Channel/components/FileViewer.js +162 -0
  144. package/cjs/Channel/components/FileViewer.js.map +1 -0
  145. package/cjs/Channel/components/FrozenNotification.js +26 -0
  146. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  147. package/cjs/Channel/components/Message.js +370 -0
  148. package/cjs/Channel/components/Message.js.map +1 -0
  149. package/cjs/Channel/components/MessageInput.js +220 -0
  150. package/cjs/Channel/components/MessageInput.js.map +1 -0
  151. package/cjs/Channel/components/MessageList.js +248 -0
  152. package/cjs/Channel/components/MessageList.js.map +1 -0
  153. package/cjs/Channel/components/RemoveMessageModal.js +61 -0
  154. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  155. package/cjs/Channel/components/SuggestedMentionList.js +312 -0
  156. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  157. package/cjs/Channel/components/TypingIndicator.js +111 -0
  158. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  159. package/cjs/Channel/components/UnreadCount.js +47 -0
  160. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  161. package/cjs/Channel/context.js +35 -0
  162. package/cjs/Channel/context.js.map +1 -0
  163. package/cjs/Channel.js +115 -0
  164. package/cjs/Channel.js.map +1 -0
  165. package/cjs/ChannelList/components/AddChannel.js +79 -0
  166. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  168. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelListUI.js +241 -0
  170. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreview.js +222 -0
  172. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  173. package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  175. package/cjs/ChannelList/context.js +24 -0
  176. package/cjs/ChannelList/context.js.map +1 -0
  177. package/cjs/ChannelList.js +97 -0
  178. package/cjs/ChannelList.js.map +1 -0
  179. package/cjs/ChannelListProvider-7d1c0466.js +956 -0
  180. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  181. package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
  182. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
  192. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserListItem.js +112 -0
  194. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  195. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  196. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  197. package/cjs/ChannelSettings/context.js +102 -0
  198. package/cjs/ChannelSettings/context.js.map +1 -0
  199. package/cjs/ChannelSettings.js +77 -0
  200. package/cjs/ChannelSettings.js.map +1 -0
  201. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  202. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  203. package/cjs/CreateChannel/components/InviteUsers.js +186 -0
  204. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  205. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  206. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  207. package/cjs/CreateChannel/context.js +18 -0
  208. package/cjs/CreateChannel/context.js.map +1 -0
  209. package/cjs/CreateChannel.js +59 -0
  210. package/cjs/CreateChannel.js.map +1 -0
  211. package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
  212. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  213. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  215. package/cjs/EditUserProfile/context.js +36 -0
  216. package/cjs/EditUserProfile/context.js.map +1 -0
  217. package/cjs/EditUserProfile.js +45 -0
  218. package/cjs/EditUserProfile.js.map +1 -0
  219. package/cjs/LocalizationContext-5a6a0f67.js +30 -0
  220. package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
  221. package/cjs/MemberList-bfecdd64.js +410 -0
  222. package/cjs/MemberList-bfecdd64.js.map +1 -0
  223. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  224. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  225. package/cjs/MessageSearch/context.js +396 -0
  226. package/cjs/MessageSearch/context.js.map +1 -0
  227. package/cjs/MessageSearch.js +152 -0
  228. package/cjs/MessageSearch.js.map +1 -0
  229. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
  234. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  239. package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
  240. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  241. package/cjs/OpenChannel/context.js +25 -0
  242. package/cjs/OpenChannel/context.js.map +1 -0
  243. package/cjs/OpenChannel.js +88 -0
  244. package/cjs/OpenChannel.js.map +1 -0
  245. package/cjs/OpenChannelProvider-e8247193.js +1955 -0
  246. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  257. package/cjs/OpenChannelSettings/context.js +73 -0
  258. package/cjs/OpenChannelSettings/context.js.map +1 -0
  259. package/cjs/OpenChannelSettings.js +70 -0
  260. package/cjs/OpenChannelSettings.js.map +1 -0
  261. package/cjs/SendbirdProvider.js +790 -0
  262. package/cjs/SendbirdProvider.js.map +1 -0
  263. package/cjs/UserProfileContext-17c8f75c.js +46 -0
  264. package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
  265. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  266. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  267. package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
  268. package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
  269. package/cjs/actionTypes-7a330bec.js +10 -0
  270. package/cjs/actionTypes-7a330bec.js.map +1 -0
  271. package/cjs/color-b30f84a2.js +42 -0
  272. package/cjs/color-b30f84a2.js.map +1 -0
  273. package/cjs/compareIds-d8053014.js +20 -0
  274. package/cjs/compareIds-d8053014.js.map +1 -0
  275. package/cjs/const-2623fae1.js +22 -0
  276. package/cjs/const-2623fae1.js.map +1 -0
  277. package/cjs/const-6aa26f9f.js +14 -0
  278. package/cjs/const-6aa26f9f.js.map +1 -0
  279. package/cjs/context-83ecdafd.js +19 -0
  280. package/cjs/context-83ecdafd.js.map +1 -0
  281. package/cjs/dist/index.css +4603 -0
  282. package/cjs/dist/index.css.map +1 -0
  283. package/cjs/groupChannel-e311e26a.js +9 -0
  284. package/cjs/groupChannel-e311e26a.js.map +1 -0
  285. package/cjs/index-1e14c5b9.js +130 -0
  286. package/cjs/index-1e14c5b9.js.map +1 -0
  287. package/cjs/index-2537cbc7.js +284 -0
  288. package/cjs/index-2537cbc7.js.map +1 -0
  289. package/cjs/index-40d245a3.js +729 -0
  290. package/cjs/index-40d245a3.js.map +1 -0
  291. package/cjs/index-5e7b82c2.js +178 -0
  292. package/cjs/index-5e7b82c2.js.map +1 -0
  293. package/cjs/index-72479c2a.js +514 -0
  294. package/cjs/index-72479c2a.js.map +1 -0
  295. package/cjs/index-ab5d906d.js +67 -0
  296. package/cjs/index-ab5d906d.js.map +1 -0
  297. package/cjs/index-cdcd27bc.js +1880 -0
  298. package/cjs/index-cdcd27bc.js.map +1 -0
  299. package/cjs/index-ce679d41.js +9 -0
  300. package/cjs/index-ce679d41.js.map +1 -0
  301. package/cjs/index-df05e765.js +142 -0
  302. package/cjs/index-df05e765.js.map +1 -0
  303. package/cjs/index-f9677913.js +97 -0
  304. package/cjs/index-f9677913.js.map +1 -0
  305. package/cjs/index.js +165 -0
  306. package/cjs/index.js.map +1 -0
  307. package/cjs/openChannel-e9f65946.js +13 -0
  308. package/cjs/openChannel-e9f65946.js.map +1 -0
  309. package/cjs/openChannelUtils-4b7d2697.js +97 -0
  310. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  311. package/cjs/sendbirdSelectors.js +696 -0
  312. package/cjs/sendbirdSelectors.js.map +1 -0
  313. package/cjs/stringSet-2f3588b5.js +118 -0
  314. package/cjs/stringSet-2f3588b5.js.map +1 -0
  315. package/cjs/topics-582e38dc.js +18 -0
  316. package/cjs/topics-582e38dc.js.map +1 -0
  317. package/cjs/tslib.es6-d9c7aa8b.js +40 -0
  318. package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
  319. package/cjs/ui/Accordion.js +74 -0
  320. package/cjs/ui/Accordion.js.map +1 -0
  321. package/cjs/ui/AccordionGroup.js +32 -0
  322. package/cjs/ui/AccordionGroup.js.map +1 -0
  323. package/cjs/ui/AdminMessage.js +45 -0
  324. package/cjs/ui/AdminMessage.js.map +1 -0
  325. package/cjs/ui/Avatar.js +226 -0
  326. package/cjs/ui/Avatar.js.map +1 -0
  327. package/cjs/ui/Badge.js +45 -0
  328. package/cjs/ui/Badge.js.map +1 -0
  329. package/cjs/ui/Button.js +17 -0
  330. package/cjs/ui/Button.js.map +1 -0
  331. package/cjs/ui/ChannelAvatar.js +59 -0
  332. package/cjs/ui/ChannelAvatar.js.map +1 -0
  333. package/cjs/ui/ChannelPreview.js +208 -0
  334. package/cjs/ui/ChannelPreview.js.map +1 -0
  335. package/cjs/ui/ChatHeader.js +152 -0
  336. package/cjs/ui/ChatHeader.js.map +1 -0
  337. package/cjs/ui/Checkbox.js +49 -0
  338. package/cjs/ui/Checkbox.js.map +1 -0
  339. package/cjs/ui/ConnectionStatus.js +34 -0
  340. package/cjs/ui/ConnectionStatus.js.map +1 -0
  341. package/cjs/ui/ContextMenu.js +410 -0
  342. package/cjs/ui/ContextMenu.js.map +1 -0
  343. package/cjs/ui/DateSeparator.js +44 -0
  344. package/cjs/ui/DateSeparator.js.map +1 -0
  345. package/cjs/ui/Dropdown.js +107 -0
  346. package/cjs/ui/Dropdown.js.map +1 -0
  347. package/cjs/ui/EmojiReactions.js +127 -0
  348. package/cjs/ui/EmojiReactions.js.map +1 -0
  349. package/cjs/ui/FileMessageItemBody.js +57 -0
  350. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  351. package/cjs/ui/FileViewer.js +174 -0
  352. package/cjs/ui/FileViewer.js.map +1 -0
  353. package/cjs/ui/Icon.js +1466 -0
  354. package/cjs/ui/Icon.js.map +1 -0
  355. package/cjs/ui/IconButton.js +83 -0
  356. package/cjs/ui/IconButton.js.map +1 -0
  357. package/cjs/ui/ImageRenderer.js +138 -0
  358. package/cjs/ui/ImageRenderer.js.map +1 -0
  359. package/cjs/ui/Input.js +74 -0
  360. package/cjs/ui/Input.js.map +1 -0
  361. package/cjs/ui/Label.js +17 -0
  362. package/cjs/ui/Label.js.map +1 -0
  363. package/cjs/ui/LinkLabel.js +51 -0
  364. package/cjs/ui/LinkLabel.js.map +1 -0
  365. package/cjs/ui/Loader.js +44 -0
  366. package/cjs/ui/Loader.js.map +1 -0
  367. package/cjs/ui/MentionLabel.js +100 -0
  368. package/cjs/ui/MentionLabel.js.map +1 -0
  369. package/cjs/ui/MentionUserLabel.js +25 -0
  370. package/cjs/ui/MentionUserLabel.js.map +1 -0
  371. package/cjs/ui/MessageContent.js +297 -0
  372. package/cjs/ui/MessageContent.js.map +1 -0
  373. package/cjs/ui/MessageInput.js +5052 -0
  374. package/cjs/ui/MessageInput.js.map +1 -0
  375. package/cjs/ui/MessageItemMenu.js +137 -0
  376. package/cjs/ui/MessageItemMenu.js.map +1 -0
  377. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  378. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  379. package/cjs/ui/MessageSearchFileItem.js +131 -0
  380. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  381. package/cjs/ui/MessageSearchItem.js +93 -0
  382. package/cjs/ui/MessageSearchItem.js.map +1 -0
  383. package/cjs/ui/MessageStatus.js +66 -0
  384. package/cjs/ui/MessageStatus.js.map +1 -0
  385. package/cjs/ui/Modal.js +140 -0
  386. package/cjs/ui/Modal.js.map +1 -0
  387. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  388. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  389. package/cjs/ui/OGMessageItemBody.js +119 -0
  390. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  391. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  392. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  393. package/cjs/ui/OpenChannelAvatar.js +41 -0
  394. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  395. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  396. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  397. package/cjs/ui/OpenchannelFileMessage.js +231 -0
  398. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  399. package/cjs/ui/OpenchannelOGMessage.js +346 -0
  400. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  401. package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
  402. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  403. package/cjs/ui/OpenchannelUserMessage.js +265 -0
  404. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  405. package/cjs/ui/PlaceHolder.js +20 -0
  406. package/cjs/ui/PlaceHolder.js.map +1 -0
  407. package/cjs/ui/QuoteMessage.js +131 -0
  408. package/cjs/ui/QuoteMessage.js.map +1 -0
  409. package/cjs/ui/QuoteMessageInput.js +97 -0
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  411. package/cjs/ui/ReactionBadge.js +68 -0
  412. package/cjs/ui/ReactionBadge.js.map +1 -0
  413. package/cjs/ui/ReactionButton.js +55 -0
  414. package/cjs/ui/ReactionButton.js.map +1 -0
  415. package/cjs/ui/SortByRow.js +57 -0
  416. package/cjs/ui/SortByRow.js.map +1 -0
  417. package/cjs/ui/TextButton.js +45 -0
  418. package/cjs/ui/TextButton.js.map +1 -0
  419. package/cjs/ui/TextMessageItemBody.js +76 -0
  420. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  421. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  422. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  423. package/cjs/ui/Tooltip.js +35 -0
  424. package/cjs/ui/Tooltip.js.map +1 -0
  425. package/cjs/ui/TooltipWrapper.js +65 -0
  426. package/cjs/ui/TooltipWrapper.js.map +1 -0
  427. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  428. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  429. package/cjs/ui/UserListItem.js +159 -0
  430. package/cjs/ui/UserListItem.js.map +1 -0
  431. package/cjs/ui/UserProfile.js +88 -0
  432. package/cjs/ui/UserProfile.js.map +1 -0
  433. package/cjs/ui/Word.js +76 -0
  434. package/cjs/ui/Word.js.map +1 -0
  435. package/cjs/useSendbirdStateContext.js +22 -0
  436. package/cjs/useSendbirdStateContext.js.map +1 -0
  437. package/cjs/utils-031aba48.js +6 -0
  438. package/cjs/utils-031aba48.js.map +1 -0
  439. package/cjs/utils-510b93ac.js +38 -0
  440. package/cjs/utils-510b93ac.js.map +1 -0
  441. package/cjs/utils-689065e6.js +32 -0
  442. package/cjs/utils-689065e6.js.map +1 -0
  443. package/cjs/uuid-099485ae.js +19 -0
  444. package/cjs/uuid-099485ae.js.map +1 -0
  445. package/cjs/withSendBird.js +35 -0
  446. package/cjs/withSendBird.js.map +1 -0
  447. package/color-9bf8c922.js +39 -0
  448. package/color-9bf8c922.js.map +1 -0
  449. package/compareIds-b78d7cd6.js +18 -0
  450. package/compareIds-b78d7cd6.js.map +1 -0
  451. package/const-40b58d8b.js +18 -0
  452. package/const-40b58d8b.js.map +1 -0
  453. package/const-99800b8d.js +8 -0
  454. package/const-99800b8d.js.map +1 -0
  455. package/context-bedea43b.js +12 -0
  456. package/context-bedea43b.js.map +1 -0
  457. package/dist/index.css +292 -152
  458. package/dist/index.css.map +1 -1
  459. package/groupChannel-96502de7.js +6 -0
  460. package/groupChannel-96502de7.js.map +1 -0
  461. package/index-13729368.js +512 -0
  462. package/index-13729368.js.map +1 -0
  463. package/index-16bed610.js +64 -0
  464. package/index-16bed610.js.map +1 -0
  465. package/index-1d112ad4.js +7 -0
  466. package/index-1d112ad4.js.map +1 -0
  467. package/index-71ad343b.js +171 -0
  468. package/index-71ad343b.js.map +1 -0
  469. package/index-71e2bf26.js +131 -0
  470. package/index-71e2bf26.js.map +1 -0
  471. package/index-8e6a607b.js +688 -0
  472. package/index-8e6a607b.js.map +1 -0
  473. package/index-a5e8849a.js +280 -0
  474. package/index-a5e8849a.js.map +1 -0
  475. package/index-b574cc8e.js +87 -0
  476. package/index-b574cc8e.js.map +1 -0
  477. package/index-c95d2aab.js +121 -0
  478. package/index-c95d2aab.js.map +1 -0
  479. package/index-ccd99cfe.js +1873 -0
  480. package/index-ccd99cfe.js.map +1 -0
  481. package/index.d.ts +1965 -0
  482. package/index.d.ts_bkup +1883 -0
  483. package/index.js +146 -0
  484. package/index.js.map +1 -0
  485. package/openChannel-dd5c9246.js +8 -0
  486. package/openChannel-dd5c9246.js.map +1 -0
  487. package/openChannelUtils-211a679a.js +86 -0
  488. package/openChannelUtils-211a679a.js.map +1 -0
  489. package/package.json +11 -33
  490. package/sendbirdSelectors.js +671 -0
  491. package/sendbirdSelectors.js.map +1 -0
  492. package/stringSet-d3a8a2a0.js +116 -0
  493. package/stringSet-d3a8a2a0.js.map +1 -0
  494. package/topics-f941ba80.js +10 -0
  495. package/topics-f941ba80.js.map +1 -0
  496. package/tslib.es6-a7db0cc5.js +38 -0
  497. package/tslib.es6-a7db0cc5.js.map +1 -0
  498. package/ui/Accordion.js +65 -0
  499. package/ui/Accordion.js.map +1 -0
  500. package/ui/AccordionGroup.js +26 -0
  501. package/ui/AccordionGroup.js.map +1 -0
  502. package/ui/AdminMessage.js +38 -0
  503. package/ui/AdminMessage.js.map +1 -0
  504. package/ui/Avatar.js +217 -0
  505. package/ui/Avatar.js.map +1 -0
  506. package/ui/Badge.js +38 -0
  507. package/ui/Badge.js.map +1 -0
  508. package/ui/Button.js +7 -0
  509. package/ui/Button.js.map +1 -0
  510. package/ui/ChannelAvatar.js +53 -0
  511. package/ui/ChannelAvatar.js.map +1 -0
  512. package/ui/ChannelPreview.js +201 -0
  513. package/ui/ChannelPreview.js.map +1 -0
  514. package/ui/ChatHeader.js +145 -0
  515. package/ui/ChatHeader.js.map +1 -0
  516. package/ui/Checkbox.js +42 -0
  517. package/ui/Checkbox.js.map +1 -0
  518. package/ui/ConnectionStatus.js +28 -0
  519. package/ui/ConnectionStatus.js.map +1 -0
  520. package/ui/ContextMenu.js +396 -0
  521. package/ui/ContextMenu.js.map +1 -0
  522. package/ui/DateSeparator.js +37 -0
  523. package/ui/DateSeparator.js.map +1 -0
  524. package/ui/Dropdown.js +97 -0
  525. package/ui/Dropdown.js.map +1 -0
  526. package/ui/EmojiReactions.js +121 -0
  527. package/ui/EmojiReactions.js.map +1 -0
  528. package/ui/FileMessageItemBody.js +51 -0
  529. package/ui/FileMessageItemBody.js.map +1 -0
  530. package/ui/FileViewer.js +164 -0
  531. package/ui/FileViewer.js.map +1 -0
  532. package/ui/Icon.js +1436 -0
  533. package/ui/Icon.js.map +1 -0
  534. package/ui/IconButton.js +76 -0
  535. package/ui/IconButton.js.map +1 -0
  536. package/ui/ImageRenderer.js +131 -0
  537. package/ui/ImageRenderer.js.map +1 -0
  538. package/ui/Input.js +64 -0
  539. package/ui/Input.js.map +1 -0
  540. package/ui/Label.js +6 -0
  541. package/ui/Label.js.map +1 -0
  542. package/ui/LinkLabel.js +40 -0
  543. package/ui/LinkLabel.js.map +1 -0
  544. package/ui/Loader.js +37 -0
  545. package/ui/Loader.js.map +1 -0
  546. package/ui/MentionLabel.js +94 -0
  547. package/ui/MentionLabel.js.map +1 -0
  548. package/ui/MentionUserLabel.js +19 -0
  549. package/ui/MentionUserLabel.js.map +1 -0
  550. package/ui/MessageContent.js +291 -0
  551. package/ui/MessageContent.js.map +1 -0
  552. package/ui/MessageInput.js +5044 -0
  553. package/ui/MessageInput.js.map +1 -0
  554. package/ui/MessageItemMenu.js +131 -0
  555. package/ui/MessageItemMenu.js.map +1 -0
  556. package/ui/MessageItemReactionMenu.js +106 -0
  557. package/ui/MessageItemReactionMenu.js.map +1 -0
  558. package/ui/MessageSearchFileItem.js +125 -0
  559. package/ui/MessageSearchFileItem.js.map +1 -0
  560. package/ui/MessageSearchItem.js +87 -0
  561. package/ui/MessageSearchItem.js.map +1 -0
  562. package/ui/MessageStatus.js +57 -0
  563. package/ui/MessageStatus.js.map +1 -0
  564. package/ui/Modal.js +128 -0
  565. package/ui/Modal.js.map +1 -0
  566. package/ui/MutedAvatarOverlay.js +34 -0
  567. package/ui/MutedAvatarOverlay.js.map +1 -0
  568. package/ui/OGMessageItemBody.js +113 -0
  569. package/ui/OGMessageItemBody.js.map +1 -0
  570. package/ui/OpenChannelAdminMessage.js +21 -0
  571. package/ui/OpenChannelAdminMessage.js.map +1 -0
  572. package/ui/OpenChannelAvatar.js +35 -0
  573. package/ui/OpenChannelAvatar.js.map +1 -0
  574. package/ui/OpenchannelConversationHeader.js +67 -0
  575. package/ui/OpenchannelConversationHeader.js.map +1 -0
  576. package/ui/OpenchannelFileMessage.js +225 -0
  577. package/ui/OpenchannelFileMessage.js.map +1 -0
  578. package/ui/OpenchannelOGMessage.js +340 -0
  579. package/ui/OpenchannelOGMessage.js.map +1 -0
  580. package/ui/OpenchannelThumbnailMessage.js +300 -0
  581. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  582. package/ui/OpenchannelUserMessage.js +259 -0
  583. package/ui/OpenchannelUserMessage.js.map +1 -0
  584. package/ui/PlaceHolder.js +11 -0
  585. package/ui/PlaceHolder.js.map +1 -0
  586. package/ui/QuoteMessage.js +125 -0
  587. package/ui/QuoteMessage.js.map +1 -0
  588. package/ui/QuoteMessageInput.js +91 -0
  589. package/ui/QuoteMessageInput.js.map +1 -0
  590. package/ui/ReactionBadge.js +61 -0
  591. package/ui/ReactionBadge.js.map +1 -0
  592. package/ui/ReactionButton.js +48 -0
  593. package/ui/ReactionButton.js.map +1 -0
  594. package/ui/SortByRow.js +50 -0
  595. package/ui/SortByRow.js.map +1 -0
  596. package/ui/TextButton.js +38 -0
  597. package/ui/TextButton.js.map +1 -0
  598. package/ui/TextMessageItemBody.js +70 -0
  599. package/ui/TextMessageItemBody.js.map +1 -0
  600. package/ui/ThumbnailMessageItemBody.js +76 -0
  601. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  602. package/ui/Tooltip.js +28 -0
  603. package/ui/Tooltip.js.map +1 -0
  604. package/ui/TooltipWrapper.js +58 -0
  605. package/ui/TooltipWrapper.js.map +1 -0
  606. package/ui/UnknownMessageItemBody.js +35 -0
  607. package/ui/UnknownMessageItemBody.js.map +1 -0
  608. package/ui/UserListItem.js +152 -0
  609. package/ui/UserListItem.js.map +1 -0
  610. package/ui/UserProfile.js +82 -0
  611. package/ui/UserProfile.js.map +1 -0
  612. package/ui/Word.js +70 -0
  613. package/ui/Word.js.map +1 -0
  614. package/useSendbirdStateContext.js +20 -0
  615. package/useSendbirdStateContext.js.map +1 -0
  616. package/utils-2e3623c0.js +30 -0
  617. package/utils-2e3623c0.js.map +1 -0
  618. package/utils-cadde06a.js +4 -0
  619. package/utils-cadde06a.js.map +1 -0
  620. package/utils-d9325ddf.js +34 -0
  621. package/utils-d9325ddf.js.map +1 -0
  622. package/uuid-748dae7a.js +17 -0
  623. package/uuid-748dae7a.js.map +1 -0
  624. package/withSendBird.js +26 -0
  625. package/withSendBird.js.map +1 -0
package/ui/Avatar.js ADDED
@@ -0,0 +1,217 @@
1
+ import { a as __spreadArray } from '../tslib.es6-a7db0cc5.js';
2
+ import React__default from 'react';
3
+ import ImageRenderer from './ImageRenderer.js';
4
+ import Icon, { IconTypes, IconColors } from './Icon.js';
5
+ import { u as uuidv4 } from '../uuid-748dae7a.js';
6
+ import '../_rollupPluginBabelHelpers-084fb589.js';
7
+ import 'prop-types';
8
+
9
+ var pxToNumber = (function (px) {
10
+ if (typeof px === 'number') {
11
+ return px;
12
+ }
13
+
14
+ if (typeof px === 'string') {
15
+ var parsed = Number.parseFloat(px);
16
+
17
+ if (!Number.isNaN(parsed)) {
18
+ return parsed;
19
+ }
20
+ }
21
+
22
+ return null;
23
+ });
24
+
25
+ var imageRendererClassName = 'sendbird-avatar-img';
26
+
27
+ var DefaultComponent = function DefaultComponent(_a) {
28
+ var width = _a.width,
29
+ height = _a.height;
30
+ var iconWidth = pxToNumber(width);
31
+ var iconHeight = pxToNumber(height);
32
+
33
+ if (typeof iconWidth === 'number') {
34
+ iconWidth *= 0.575;
35
+ }
36
+
37
+ if (typeof iconHeight === 'number') {
38
+ iconHeight *= 0.575;
39
+ }
40
+
41
+ return /*#__PURE__*/React__default.createElement("div", {
42
+ className: "sendbird-avatar-img--default",
43
+ style: {
44
+ width: width,
45
+ height: height
46
+ }
47
+ }, /*#__PURE__*/React__default.createElement(Icon, {
48
+ type: IconTypes.USER,
49
+ fillColor: IconColors.CONTENT,
50
+ width: iconWidth,
51
+ height: iconHeight
52
+ }));
53
+ };
54
+
55
+ var _defaultComponent = function _defaultComponent(_a) {
56
+ var width = _a.width,
57
+ height = _a.height;
58
+ return /*#__PURE__*/React__default.createElement(DefaultComponent, {
59
+ width: width,
60
+ height: height
61
+ });
62
+ };
63
+
64
+ var AvatarInner = function AvatarInner(_a) {
65
+ var _b = _a.src,
66
+ src = _b === void 0 ? '' : _b,
67
+ _c = _a.alt,
68
+ alt = _c === void 0 ? '' : _c,
69
+ height = _a.height,
70
+ width = _a.width,
71
+ customDefaultComponent = _a.customDefaultComponent;
72
+
73
+ var defaultComponent = function defaultComponent() {
74
+ return customDefaultComponent ? customDefaultComponent({
75
+ width: width,
76
+ height: height
77
+ }) : _defaultComponent({
78
+ width: width,
79
+ height: height
80
+ });
81
+ };
82
+
83
+ if (typeof src === 'string') {
84
+ return /*#__PURE__*/React__default.createElement(ImageRenderer, {
85
+ className: imageRendererClassName,
86
+ url: src,
87
+ height: height,
88
+ width: width,
89
+ alt: alt,
90
+ defaultComponent: defaultComponent
91
+ });
92
+ }
93
+
94
+ if (src && src.length) {
95
+ if (src.length === 1) {
96
+ return /*#__PURE__*/React__default.createElement(ImageRenderer, {
97
+ className: imageRendererClassName,
98
+ url: src[0],
99
+ height: height,
100
+ width: width,
101
+ alt: alt,
102
+ defaultComponent: defaultComponent
103
+ });
104
+ }
105
+
106
+ if (src.length === 2) {
107
+ return /*#__PURE__*/React__default.createElement("div", {
108
+ className: "sendbird-avatar--inner__two-child"
109
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
110
+ className: imageRendererClassName,
111
+ url: src[0],
112
+ height: height,
113
+ width: width,
114
+ alt: alt,
115
+ defaultComponent: defaultComponent
116
+ }), /*#__PURE__*/React__default.createElement(ImageRenderer, {
117
+ className: imageRendererClassName,
118
+ url: src[1],
119
+ height: height,
120
+ width: width,
121
+ alt: alt,
122
+ defaultComponent: defaultComponent
123
+ }));
124
+ }
125
+
126
+ if (src.length === 3) {
127
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
128
+ className: "sendbird-avatar--inner__three-child--upper"
129
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
130
+ className: imageRendererClassName,
131
+ url: src[0],
132
+ height: height,
133
+ width: width,
134
+ alt: alt,
135
+ defaultComponent: defaultComponent
136
+ })), /*#__PURE__*/React__default.createElement("div", {
137
+ className: "sendbird-avatar--inner__three-child--lower"
138
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
139
+ className: imageRendererClassName,
140
+ url: src[1],
141
+ height: height,
142
+ width: width,
143
+ alt: alt,
144
+ defaultComponent: defaultComponent
145
+ }), /*#__PURE__*/React__default.createElement(ImageRenderer, {
146
+ className: imageRendererClassName,
147
+ url: src[2],
148
+ height: height,
149
+ width: width,
150
+ alt: alt,
151
+ defaultComponent: defaultComponent
152
+ })));
153
+ }
154
+
155
+ return /*#__PURE__*/React__default.createElement("div", {
156
+ className: "sendbird-avatar--inner__four-child"
157
+ }, src.slice(0, 4).map(function (i) {
158
+ return /*#__PURE__*/React__default.createElement(ImageRenderer, {
159
+ className: imageRendererClassName,
160
+ url: i,
161
+ height: height,
162
+ width: width,
163
+ alt: alt,
164
+ key: uuidv4(),
165
+ defaultComponent: defaultComponent
166
+ });
167
+ }));
168
+ } // default img
169
+
170
+
171
+ return /*#__PURE__*/React__default.createElement(ImageRenderer, {
172
+ className: imageRendererClassName,
173
+ url: "",
174
+ height: height,
175
+ width: width,
176
+ alt: alt,
177
+ defaultComponent: defaultComponent
178
+ });
179
+ };
180
+
181
+ function Avatar(_a, ref) {
182
+ var _b = _a.className,
183
+ className = _b === void 0 ? '' : _b,
184
+ _c = _a.src,
185
+ src = _c === void 0 ? '' : _c,
186
+ _d = _a.alt,
187
+ alt = _d === void 0 ? '' : _d,
188
+ _e = _a.width,
189
+ width = _e === void 0 ? '56px' : _e,
190
+ _f = _a.height,
191
+ height = _f === void 0 ? '56px' : _f,
192
+ onClick = _a.onClick,
193
+ customDefaultComponent = _a.customDefaultComponent;
194
+ return /*#__PURE__*/React__default.createElement("div", {
195
+ className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-avatar'], false).join(' '),
196
+ role: "button",
197
+ ref: ref,
198
+ style: {
199
+ height: height,
200
+ width: width
201
+ },
202
+ onClick: onClick,
203
+ onKeyDown: onClick,
204
+ tabIndex: 0
205
+ }, /*#__PURE__*/React__default.createElement(AvatarInner, {
206
+ src: src,
207
+ width: width,
208
+ height: height,
209
+ alt: alt,
210
+ customDefaultComponent: customDefaultComponent
211
+ }));
212
+ }
213
+
214
+ var Avatar$1 = /*#__PURE__*/React__default.forwardRef(Avatar);
215
+
216
+ export { AvatarInner, Avatar$1 as default };
217
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","sources":["../../src/utils/pxToNumber.ts","../../src/ui/Avatar/index.tsx"],"sourcesContent":["export default (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { ReactElement } from 'react';\n\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\nimport { uuidv4 } from '../../utils/uuid';\nimport pxToNumber from '../../utils/pxToNumber';\n\nconst imageRendererClassName = 'sendbird-avatar-img';\n\ninterface DefaultComponentProps {\n width: string | number,\n height: string | number,\n}\n\nconst DefaultComponent = ({ width, height }: DefaultComponentProps): ReactElement => {\n let iconWidth = pxToNumber(width);\n let iconHeight = pxToNumber(height);\n if (typeof iconWidth === 'number') {\n iconWidth *= 0.575;\n }\n if (typeof iconHeight === 'number') {\n iconHeight *= 0.575;\n }\n\n return (\n <div className=\"sendbird-avatar-img--default\" style={{ width, height }}>\n <Icon\n type={IconTypes.USER}\n fillColor={IconColors.CONTENT}\n width={iconWidth}\n height={iconHeight}\n />\n </div>\n );\n};\n\nconst _defaultComponent = ({\n width,\n height,\n}: DefaultComponentProps) => (\n <DefaultComponent width={width} height={height} />\n);\n\ninterface AvatarInnerProps {\n height: string | number,\n width: string | number,\n src?: string | Array<string>,\n alt?: string,\n customDefaultComponent?({ width, height }: { width: number | string, height: number | string }): ReactElement;\n}\n\nexport const AvatarInner = ({\n src = '',\n alt = '',\n height,\n width,\n customDefaultComponent,\n}: AvatarInnerProps): ReactElement => {\n const defaultComponent = () => customDefaultComponent ? customDefaultComponent({ width, height }) : _defaultComponent({ width, height });\n\n if (typeof src === 'string') {\n return (\n <ImageRenderer\n className={imageRendererClassName}\n url={src}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n );\n }\n\n if (src && src.length) {\n if (src.length === 1) {\n return (\n <ImageRenderer\n className={imageRendererClassName}\n url={src[0]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n );\n }\n\n if (src.length === 2) {\n return (\n <div className=\"sendbird-avatar--inner__two-child\">\n <ImageRenderer\n className={imageRendererClassName}\n url={src[0]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n <ImageRenderer\n className={imageRendererClassName}\n url={src[1]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n </div>\n );\n }\n\n if (src.length === 3) {\n return (\n <>\n <div className=\"sendbird-avatar--inner__three-child--upper\">\n <ImageRenderer\n className={imageRendererClassName}\n url={src[0]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n </div>\n <div className=\"sendbird-avatar--inner__three-child--lower\">\n <ImageRenderer\n className={imageRendererClassName}\n url={src[1]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n <ImageRenderer\n className={imageRendererClassName}\n url={src[2]}\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n </div>\n </>\n );\n }\n\n return (\n <div className=\"sendbird-avatar--inner__four-child\">\n {\n src.slice(0, 4)\n .map((i) => (\n <ImageRenderer\n className={imageRendererClassName}\n url={i}\n height={height}\n width={width}\n alt={alt}\n key={uuidv4()}\n defaultComponent={defaultComponent}\n />\n ))\n }\n </div>\n );\n }\n // default img\n return (\n <ImageRenderer\n className={imageRendererClassName}\n url=\"\"\n height={height}\n width={width}\n alt={alt}\n defaultComponent={defaultComponent}\n />\n );\n};\n\ninterface AvatarProps {\n className?: string | Array<string>,\n height?: string | number,\n width?: string | number,\n src?: string | Array<string>,\n alt?: string,\n onClick?(): void,\n customDefaultComponent?({ width, height }: { width: number | string, height: number | string }): ReactElement;\n}\n\nfunction Avatar(\n {\n className = '',\n src = '',\n alt = '',\n width = '56px',\n height = '56px',\n onClick,\n customDefaultComponent,\n }: AvatarProps,\n ref: React.Ref<HTMLDivElement>,\n): ReactElement {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-avatar',\n ].join(' ')}\n role=\"button\"\n ref={ref}\n style={{ height, width }}\n onClick={onClick}\n onKeyDown={onClick}\n tabIndex={0}\n >\n <AvatarInner\n src={src}\n width={width}\n height={height}\n alt={alt}\n customDefaultComponent={customDefaultComponent}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(Avatar);\n"],"names":["px","parsed","Number","parseFloat","isNaN","imageRendererClassName","DefaultComponent","_a","width","height","iconWidth","pxToNumber","iconHeight","React","IconTypes","USER","IconColors","CONTENT","_defaultComponent","AvatarInner","_b","src","_c","alt","customDefaultComponent","defaultComponent","length","slice","map","i","uuidv4","Avatar","ref","className","_d","_e","_f","onClick","__spreadArray","Array","isArray","join","forwardRef"],"mappings":"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"}
package/ui/Badge.js ADDED
@@ -0,0 +1,38 @@
1
+ import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-084fb589.js';
2
+ import React__default, { useContext } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-71e2bf26.js';
5
+ import { a as LocalizationContext } from '../LocalizationContext-fb3dafcd.js';
6
+ import '../stringSet-d3a8a2a0.js';
7
+ import '../index-13729368.js';
8
+
9
+ function Badge(_ref) {
10
+ var count = _ref.count,
11
+ maxLevel = _ref.maxLevel,
12
+ className = _ref.className;
13
+
14
+ var _useContext = useContext(LocalizationContext),
15
+ stringSet = _useContext.stringSet;
16
+
17
+ var maximumNumber = parseInt('9'.repeat(maxLevel > 6 ? 6 : maxLevel), 10);
18
+ return /*#__PURE__*/React__default.createElement("div", {
19
+ className: [].concat(_toConsumableArray(Array.isArray(className) ? className : [className]), ['sendbird-badge']).join(' ')
20
+ }, /*#__PURE__*/React__default.createElement("div", {
21
+ className: "sendbird-badge__text"
22
+ }, /*#__PURE__*/React__default.createElement(Label, {
23
+ type: LabelTypography.CAPTION_2,
24
+ color: LabelColors.ONCONTENT_1
25
+ }, count > maximumNumber ? "".concat(maximumNumber).concat(stringSet.BADGE__OVER) : count)));
26
+ }
27
+ Badge.propTypes = {
28
+ count: PropTypes.number.isRequired,
29
+ maxLevel: PropTypes.number,
30
+ className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)])
31
+ };
32
+ Badge.defaultProps = {
33
+ maxLevel: 2,
34
+ className: []
35
+ };
36
+
37
+ export { Badge as default };
38
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sources":["../../src/ui/Badge/index.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function Badge({\n count,\n maxLevel,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const maximumNumber = parseInt('9'.repeat((maxLevel > 6) ? 6 : maxLevel), 10);\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-badge',\n ].join(' ')}\n >\n <div className=\"sendbird-badge__text\">\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONCONTENT_1}\n >\n {\n (count > maximumNumber)\n ? `${maximumNumber}${stringSet.BADGE__OVER}`\n : count\n }\n </Label>\n </div>\n </div>\n );\n}\n\nBadge.propTypes = {\n count: PropTypes.number.isRequired,\n maxLevel: PropTypes.number,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nBadge.defaultProps = {\n maxLevel: 2,\n className: [],\n};\n"],"names":["Badge","count","maxLevel","className","useContext","LocalizationContext","stringSet","maximumNumber","parseInt","repeat","React","Array","isArray","join","LabelTypography","CAPTION_2","LabelColors","ONCONTENT_1","BADGE__OVER","propTypes","PropTypes","number","isRequired","oneOfType","string","arrayOf","defaultProps"],"mappings":";;;;;;;;AAOe,SAASA,KAAT,OAIZ;AAAA,MAHDC,KAGC,QAHDA,KAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,SACC,QADDA,SACC;;AACD,oBAAsBC,UAAU,CAACC,mBAAD,CAAhC;AAAA,MAAQC,SAAR,eAAQA,SAAR;;AACA,MAAMC,aAAa,GAAGC,QAAQ,CAAC,IAAIC,MAAJ,CAAYP,QAAQ,GAAG,CAAZ,GAAiB,CAAjB,GAAqBA,QAAhC,CAAD,EAA4C,EAA5C,CAA9B;AACA,sBACEQ;AACE,IAAA,SAAS,EAAE,6BACLC,KAAK,CAACC,OAAN,CAAcT,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,IAET,gBAFS,GAGTU,IAHS,CAGJ,GAHI;AADb,kBAMEH;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,KAAD;AACE,IAAA,IAAI,EAAEI,eAAe,CAACC,SADxB;AAEE,IAAA,KAAK,EAAEC,WAAW,CAACC;AAFrB,KAKKhB,KAAK,GAAGM,aAAT,aACOA,aADP,SACuBD,SAAS,CAACY,WADjC,IAEIjB,KAPR,CADF,CANF,CADF;AAqBD;AAEDD,KAAK,CAACmB,SAAN,GAAkB;AAChBlB,EAAAA,KAAK,EAAEmB,SAAS,CAACC,MAAV,CAAiBC,UADR;AAEhBpB,EAAAA,QAAQ,EAAEkB,SAAS,CAACC,MAFJ;AAGhBlB,EAAAA,SAAS,EAAEiB,SAAS,CAACG,SAAV,CAAoB,CAC7BH,SAAS,CAACI,MADmB,EAE7BJ,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACI,MAA5B,CAF6B,CAApB;AAHK,CAAlB;AASAxB,KAAK,CAAC0B,YAAN,GAAqB;AACnBxB,EAAAA,QAAQ,EAAE,CADS;AAEnBC,EAAAA,SAAS,EAAE;AAFQ,CAArB;;;;"}
package/ui/Button.js ADDED
@@ -0,0 +1,7 @@
1
+ import '../_rollupPluginBabelHelpers-084fb589.js';
2
+ import 'react';
3
+ import 'prop-types';
4
+ import '../index-71e2bf26.js';
5
+ export { b as ButtonSizes, a as ButtonTypes, B as default } from '../index-b574cc8e.js';
6
+ import '../stringSet-d3a8a2a0.js';
7
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,53 @@
1
+ import React__default, { useMemo } from 'react';
2
+ import Avatar from './Avatar.js';
3
+ import Icon, { IconTypes, IconColors } from './Icon.js';
4
+ import { g as generateDefaultAvatar, a as getChannelAvatarSource } from '../utils-d9325ddf.js';
5
+ import '../tslib.es6-a7db0cc5.js';
6
+ import './ImageRenderer.js';
7
+ import '../_rollupPluginBabelHelpers-084fb589.js';
8
+ import 'prop-types';
9
+ import '../uuid-748dae7a.js';
10
+
11
+ function ChannelAvatar(_a) {
12
+ var channel = _a.channel,
13
+ userId = _a.userId,
14
+ theme = _a.theme,
15
+ _b = _a.width,
16
+ width = _b === void 0 ? 56 : _b,
17
+ _c = _a.height,
18
+ height = _c === void 0 ? 56 : _c;
19
+ var isBroadcast = channel === null || channel === void 0 ? void 0 : channel.isBroadcast;
20
+ var memoizedAvatar = useMemo(function () {
21
+ return isBroadcast ? generateDefaultAvatar(channel) ? /*#__PURE__*/React__default.createElement("div", {
22
+ className: "sendbird-chat-header--default-avatar",
23
+ style: {
24
+ width: width,
25
+ height: height,
26
+ display: 'flex',
27
+ justifyContent: 'center',
28
+ alignItems: 'center'
29
+ }
30
+ }, /*#__PURE__*/React__default.createElement(Icon, {
31
+ type: IconTypes.BROADCAST,
32
+ fillColor: IconColors.CONTENT,
33
+ width: width * 0.575,
34
+ height: height * 0.575
35
+ })) : /*#__PURE__*/React__default.createElement(Avatar, {
36
+ className: "sendbird-chat-header--avatar--broadcast-channel",
37
+ src: getChannelAvatarSource(channel, userId),
38
+ width: width,
39
+ height: height,
40
+ alt: channel === null || channel === void 0 ? void 0 : channel.name
41
+ }) : /*#__PURE__*/React__default.createElement(Avatar, {
42
+ className: "sendbird-chat-header--avatar--group-channel",
43
+ src: getChannelAvatarSource(channel, userId),
44
+ width: "".concat(width, "px"),
45
+ height: "".concat(height, "px"),
46
+ alt: channel === null || channel === void 0 ? void 0 : channel.name
47
+ });
48
+ }, [channel === null || channel === void 0 ? void 0 : channel.members, channel === null || channel === void 0 ? void 0 : channel.coverUrl, theme]);
49
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, memoizedAvatar);
50
+ }
51
+
52
+ export { ChannelAvatar as default };
53
+ //# sourceMappingURL=ChannelAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAvatar.js","sources":["../../src/ui/ChannelAvatar/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { useMemo } from 'react';\n\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: GroupChannel;\n userId: string;\n theme: string;\n width?: number,\n height?: number,\n}\n\nfunction ChannelAvatar({\n channel,\n userId,\n theme,\n width = 56,\n height = 56,\n}: Props): JSX.Element{\n const isBroadcast = channel?.isBroadcast;\n const memoizedAvatar = useMemo(() => (\n isBroadcast\n ? (\n utils.generateDefaultAvatar(channel)\n ? (\n <div\n className=\"sendbird-chat-header--default-avatar\"\n style={{\n width,\n height,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Icon\n type={IconTypes.BROADCAST}\n fillColor={IconColors.CONTENT}\n width={width * 0.575}\n height={height * 0.575}\n />\n </div>\n )\n : (\n <Avatar\n className=\"sendbird-chat-header--avatar--broadcast-channel\"\n src={utils.getChannelAvatarSource(channel, userId)}\n width={width}\n height={height}\n alt={channel?.name}\n />\n )\n )\n : (\n <Avatar\n className=\"sendbird-chat-header--avatar--group-channel\"\n src={utils.getChannelAvatarSource(channel, userId)}\n width={`${width}px`}\n height={`${height}px`}\n alt={channel?.name}\n />\n )\n ),[channel?.members, channel?.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }</>\n );\n}\n\nexport default ChannelAvatar;\n"],"names":["ChannelAvatar","_a","channel","userId","theme","_b","width","_c","height","isBroadcast","memoizedAvatar","useMemo","utils","React","display","justifyContent","alignItems","IconTypes","BROADCAST","IconColors","CONTENT","name","members","coverUrl"],"mappings":";;;;;;;;;;AAkBA,SAASA,aAAT,CAAuBC,EAAvB;MACEC,OAAO;MACPC,MAAM;MACNC,KAAK;MACLC;MAAAC,KAAK,mBAAG;MACRC;MAAAC,MAAM,mBAAG;AAET,MAAMC,WAAW,GAAGP,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEO,WAA7B;AACA,MAAMC,cAAc,GAAGC,OAAO,CAAC;AAAM,WACnCF,WAAW,GAEPG,qBAAA,CAA4BV,OAA5B,iBAEIW;AACE,MAAA,SAAS,EAAC,sCADZ;AAEE,MAAA,KAAK,EAAE;AACLP,QAAAA,KAAK,OADA;AAELE,QAAAA,MAAM,QAFD;AAGLM,QAAAA,OAAO,EAAE,MAHJ;AAILC,QAAAA,cAAc,EAAE,QAJX;AAKLC,QAAAA,UAAU,EAAE;AALP;AAFT,oBAUEH,6BAAC,IAAD;AACE,MAAA,IAAI,EAAEI,SAAS,CAACC,SADlB;AAEE,MAAA,SAAS,EAAEC,UAAU,CAACC,OAFxB;AAGE,MAAA,KAAK,EAAEd,KAAK,GAAG,KAHjB;AAIE,MAAA,MAAM,EAAEE,MAAM,GAAG;AAJnB,MAVF,CAFJ,gBAqBIK,6BAAC,MAAD;AACE,MAAA,SAAS,EAAC,iDADZ;AAEE,MAAA,GAAG,EAAED,sBAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAEG,KAHT;AAIE,MAAA,MAAM,EAAEE,MAJV;AAKE,MAAA,GAAG,EAAEN,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEmB;AALhB,MAvBG,gBAiCPR,6BAAC,MAAD;AACE,MAAA,SAAS,EAAC,6CADZ;AAEE,MAAA,GAAG,EAAED,sBAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAE,SAAA,CAAGG,KAAH,MAAA,CAHT;AAIE,MAAA,MAAM,EAAE,SAAA,CAAGE,MAAH,MAAA,CAJV;AAKE,MAAA,GAAG,EAAEN,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEmB;AALhB,MAlC+B;AA0CpC,GA1C6B,EA0C5B,CAACnB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoB,OAAV,EAAmBpB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEqB,QAA5B,EAAsCnB,KAAtC,CA1C4B,CAA9B;AA2CA,sBACES,4DAAIH,cAAJ,CADF;AAGD;;;;"}
@@ -0,0 +1,201 @@
1
+ import React__default from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import ChannelAvatar from './ChannelAvatar.js';
4
+ import Badge from './Badge.js';
5
+ import Icon, { IconTypes, IconColors } from './Icon.js';
6
+ import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../index-71e2bf26.js';
7
+ import { u as useLocalization } from '../LocalizationContext-fb3dafcd.js';
8
+ import { i as isToday, a as isYesterday, f as formatRelative } from '../index-a5e8849a.js';
9
+ import { f as format } from '../index-ccd99cfe.js';
10
+ import { t as truncateString } from '../index-8e6a607b.js';
11
+ import './Avatar.js';
12
+ import '../tslib.es6-a7db0cc5.js';
13
+ import './ImageRenderer.js';
14
+ import '../_rollupPluginBabelHelpers-084fb589.js';
15
+ import '../uuid-748dae7a.js';
16
+ import '../utils-d9325ddf.js';
17
+ import '../stringSet-d3a8a2a0.js';
18
+ import '../index-13729368.js';
19
+ import '../index-16bed610.js';
20
+
21
+ var getChannelTitle = function getChannelTitle() {
22
+ var _channel$members;
23
+
24
+ var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
+ var currentUserId = arguments.length > 1 ? arguments[1] : undefined;
26
+ var stringSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LabelStringSet;
27
+
28
+ if (!(channel !== null && channel !== void 0 && channel.name) && !(channel !== null && channel !== void 0 && channel.members)) {
29
+ return stringSet.NO_TITLE;
30
+ }
31
+
32
+ if (channel !== null && channel !== void 0 && channel.name && channel.name !== 'Group Channel') {
33
+ return channel.name;
34
+ }
35
+
36
+ if ((channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) === 1) {
37
+ return stringSet.NO_MEMBERS;
38
+ }
39
+
40
+ return ((channel === null || channel === void 0 ? void 0 : channel.members) || []).filter(function (_ref) {
41
+ var userId = _ref.userId;
42
+ return userId !== currentUserId;
43
+ }).map(function (_ref2) {
44
+ var nickname = _ref2.nickname;
45
+ return nickname || stringSet.NO_NAME;
46
+ }).join(', ');
47
+ };
48
+ var getLastMessageCreatedAt = function getLastMessageCreatedAt(channel, locale) {
49
+ var _channel$lastMessage;
50
+
51
+ var createdAt = channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.createdAt;
52
+ var optionalParam = locale ? {
53
+ locale: locale
54
+ } : null;
55
+
56
+ if (!createdAt) {
57
+ return '';
58
+ }
59
+
60
+ if (isToday(createdAt)) {
61
+ return format(createdAt, 'p', optionalParam);
62
+ }
63
+
64
+ if (isYesterday(createdAt)) {
65
+ return formatRelative(createdAt, new Date(), optionalParam);
66
+ }
67
+
68
+ return format(createdAt, 'MMM dd', optionalParam);
69
+ };
70
+ var getTotalMembers = function getTotalMembers(channel) {
71
+ return channel !== null && channel !== void 0 && channel.memberCount ? channel.memberCount : 0;
72
+ };
73
+
74
+ var getPrettyLastMessage = function getPrettyLastMessage() {
75
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+ var MAXLEN = 30;
77
+ var messageType = message.messageType,
78
+ name = message.name;
79
+
80
+ if (messageType === 'file') {
81
+ return truncateString(name, MAXLEN);
82
+ }
83
+
84
+ return message.message;
85
+ };
86
+
87
+ var getLastMessage = function getLastMessage(channel) {
88
+ return channel !== null && channel !== void 0 && channel.lastMessage ? getPrettyLastMessage(channel.lastMessage) : '';
89
+ };
90
+ var getChannelUnreadMessageCount = function getChannelUnreadMessageCount(channel) {
91
+ return channel !== null && channel !== void 0 && channel.unreadMessageCount ? channel.unreadMessageCount : 0;
92
+ };
93
+
94
+ function ChannelPreview(_ref) {
95
+ var channel = _ref.channel,
96
+ currentUser = _ref.currentUser,
97
+ isActive = _ref.isActive,
98
+ ChannelAction = _ref.ChannelAction,
99
+ theme = _ref.theme,
100
+ onClick = _ref.onClick,
101
+ tabIndex = _ref.tabIndex;
102
+ var userId = currentUser.userId;
103
+ var isFrozen = channel === null || channel === void 0 ? void 0 : channel.isFrozen;
104
+ var isBroadcast = channel === null || channel === void 0 ? void 0 : channel.isBroadcast;
105
+
106
+ var _useLocalization = useLocalization(),
107
+ dateLocale = _useLocalization.dateLocale,
108
+ stringSet = _useLocalization.stringSet;
109
+
110
+ return /*#__PURE__*/React__default.createElement("div", {
111
+ className: ['sendbird-channel-preview', isActive ? 'sendbird-channel-preview--active' : ''].join(' '),
112
+ role: "link",
113
+ onClick: onClick,
114
+ onKeyPress: onClick,
115
+ tabIndex: tabIndex
116
+ }, /*#__PURE__*/React__default.createElement("div", {
117
+ className: "sendbird-channel-preview__avatar"
118
+ }, /*#__PURE__*/React__default.createElement(ChannelAvatar, {
119
+ channel: channel,
120
+ userId: userId,
121
+ theme: theme
122
+ })), /*#__PURE__*/React__default.createElement("div", {
123
+ className: "sendbird-channel-preview__content"
124
+ }, /*#__PURE__*/React__default.createElement("div", {
125
+ className: "sendbird-channel-preview__content__upper"
126
+ }, /*#__PURE__*/React__default.createElement("div", {
127
+ className: "sendbird-channel-preview__content__upper__header"
128
+ }, isBroadcast && /*#__PURE__*/React__default.createElement("div", {
129
+ className: "sendbird-channel-preview__content__upper__header__broadcast-icon"
130
+ }, /*#__PURE__*/React__default.createElement(Icon, {
131
+ type: IconTypes.BROADCAST,
132
+ fillColor: IconColors.SECONDARY,
133
+ height: "16px",
134
+ width: "16px"
135
+ })), /*#__PURE__*/React__default.createElement(Label, {
136
+ className: "sendbird-channel-preview__content__upper__header__channel-name",
137
+ type: LabelTypography.SUBTITLE_2,
138
+ color: LabelColors.ONBACKGROUND_1
139
+ }, getChannelTitle(channel, userId, stringSet)), /*#__PURE__*/React__default.createElement(Label, {
140
+ className: "sendbird-channel-preview__content__upper__header__total-members",
141
+ type: LabelTypography.CAPTION_2,
142
+ color: LabelColors.ONBACKGROUND_2
143
+ }, getTotalMembers(channel)), isFrozen && /*#__PURE__*/React__default.createElement("div", {
144
+ title: "Frozen",
145
+ className: "sendbird-channel-preview__content__upper__header__frozen-icon"
146
+ }, /*#__PURE__*/React__default.createElement(Icon, {
147
+ type: IconTypes.FREEZE,
148
+ fillColor: IconColors.PRIMARY,
149
+ height: 12,
150
+ width: 12
151
+ }))), /*#__PURE__*/React__default.createElement(Label, {
152
+ className: "sendbird-channel-preview__content__upper__last-message-at",
153
+ type: LabelTypography.CAPTION_3,
154
+ color: LabelColors.ONBACKGROUND_2
155
+ }, getLastMessageCreatedAt(channel, dateLocale))), /*#__PURE__*/React__default.createElement("div", {
156
+ className: "sendbird-channel-preview__content__lower"
157
+ }, /*#__PURE__*/React__default.createElement(Label, {
158
+ className: "sendbird-channel-preview__content__lower__last-message",
159
+ type: LabelTypography.BODY_2,
160
+ color: LabelColors.ONBACKGROUND_3
161
+ }, getLastMessage(channel)), /*#__PURE__*/React__default.createElement("div", {
162
+ className: "sendbird-channel-preview__content__lower__unread-message-count"
163
+ }, getChannelUnreadMessageCount(channel) // return number
164
+ ? /*#__PURE__*/React__default.createElement(Badge, {
165
+ count: getChannelUnreadMessageCount(channel)
166
+ }) : null))), /*#__PURE__*/React__default.createElement("div", {
167
+ className: "sendbird-channel-preview__action"
168
+ }, ChannelAction));
169
+ }
170
+ ChannelPreview.propTypes = {
171
+ /** Type: GroupChannel / OpenChannel(Not tested) */
172
+ channel: PropTypes.shape({
173
+ members: PropTypes.arrayOf(PropTypes.shape({})),
174
+ coverUrl: PropTypes.string,
175
+ isBroadcast: PropTypes.bool,
176
+ isFrozen: PropTypes.bool
177
+ }),
178
+
179
+ /** Type: User */
180
+ currentUser: PropTypes.shape({
181
+ userId: PropTypes.string
182
+ }),
183
+ isActive: PropTypes.bool,
184
+
185
+ /** To render dropdown menu */
186
+ ChannelAction: PropTypes.element.isRequired,
187
+ theme: PropTypes.string,
188
+ onClick: PropTypes.func,
189
+ tabIndex: PropTypes.number
190
+ };
191
+ ChannelPreview.defaultProps = {
192
+ channel: {},
193
+ currentUser: {},
194
+ isActive: false,
195
+ theme: 'light',
196
+ onClick: function onClick() {},
197
+ tabIndex: 0
198
+ };
199
+
200
+ export { ChannelPreview as default };
201
+ //# sourceMappingURL=ChannelPreview.js.map
@@ -0,0 +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?.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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"}