@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
@@ -0,0 +1,312 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_Label = require('../../index-df05e765.js');
5
+ var ui_Icon = require('../../ui/Icon.js');
6
+ var ui_Avatar = require('../../ui/Avatar.js');
7
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
8
+ var uuid = require('../../uuid-099485ae.js');
9
+ var Channel_context = require('../../ChannelProvider-a3ec5a56.js');
10
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
11
+ var _const$1 = require('../../const-6aa26f9f.js');
12
+ var _const = require('../../const-2623fae1.js');
13
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
14
+ require('prop-types');
15
+ require('../../stringSet-2f3588b5.js');
16
+ require('../../tslib.es6-d9c7aa8b.js');
17
+ require('../../ui/ImageRenderer.js');
18
+ require('../../index-72479c2a.js');
19
+ require('../../UserProfileContext-17c8f75c.js');
20
+ require('../../index-cdcd27bc.js');
21
+ require('../../topics-582e38dc.js');
22
+ require('../../index-40d245a3.js');
23
+ require('../../compareIds-d8053014.js');
24
+ require('../../groupChannel-e311e26a.js');
25
+ require('../../__bundle-7dfccc8c-c3c55861.js');
26
+ require('../../ui/ContextMenu.js');
27
+ require('react-dom');
28
+ require('../../ui/SortByRow.js');
29
+ require('../../ui/ReactionButton.js');
30
+ require('../../withSendBird.js');
31
+
32
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
+
34
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
+
36
+ function SuggestedUserMentionItem(props) {
37
+ var member = props.member,
38
+ _a = props.isFocused,
39
+ isFocused = _a === void 0 ? false : _a,
40
+ parentScrollRef = props.parentScrollRef,
41
+ _onClick = props.onClick,
42
+ _onMouseOver = props.onMouseOver,
43
+ _onMouseMove = props.onMouseMove,
44
+ renderUserMentionItem = props.renderUserMentionItem;
45
+ var scrollRef = React.useRef(null);
46
+ var _b = React.useContext(LocalizationContext.LocalizationContext).stringSet,
47
+ stringSet = _b === void 0 ? {} : _b;
48
+ React.useEffect(function () {
49
+ var _a, _b, _c, _d, _e, _f, _g;
50
+
51
+ if (isFocused) {
52
+ if (((_a = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) >= ((_b = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _b === void 0 ? void 0 : _b.offsetTop)) {
53
+ (_c = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _c === void 0 ? void 0 : _c.scrollIntoView({
54
+ block: "nearest",
55
+ inline: "nearest"
56
+ });
57
+ } else if (((_d = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _d === void 0 ? void 0 : _d.scrollTop) + ((_e = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _e === void 0 ? void 0 : _e.clientHeight) <= ((_f = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _f === void 0 ? void 0 : _f.offsetTop)) {
58
+ (_g = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _g === void 0 ? void 0 : _g.scrollIntoView({
59
+ block: "nearest",
60
+ inline: "nearest"
61
+ });
62
+ }
63
+ }
64
+ }, [isFocused]);
65
+ var customMentionItem = React.useMemo(function () {
66
+ if (renderUserMentionItem) {
67
+ return /*#__PURE__*/React__default["default"].createElement("div", {
68
+ className: "sendbird-mention-suggest-list__user-item",
69
+ onClick: function onClick(event) {
70
+ return _onClick === null || _onClick === void 0 ? void 0 : _onClick({
71
+ event: event,
72
+ member: member,
73
+ itemRef: scrollRef
74
+ });
75
+ },
76
+ onMouseOver: function onMouseOver(event) {
77
+ return _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver({
78
+ event: event,
79
+ member: member,
80
+ itemRef: scrollRef
81
+ });
82
+ },
83
+ onMouseMove: function onMouseMove(event) {
84
+ return _onMouseMove === null || _onMouseMove === void 0 ? void 0 : _onMouseMove({
85
+ event: event,
86
+ member: member,
87
+ itemRef: scrollRef
88
+ });
89
+ },
90
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuid.uuidv4(),
91
+ ref: scrollRef
92
+ }, renderUserMentionItem({
93
+ user: member
94
+ }));
95
+ }
96
+ }, [renderUserMentionItem]);
97
+
98
+ if (customMentionItem) {
99
+ return customMentionItem;
100
+ }
101
+
102
+ return /*#__PURE__*/React__default["default"].createElement("div", {
103
+ className: "sendbird-mention-suggest-list__user-item ".concat(isFocused ? 'focused' : ''),
104
+ onClick: function onClick(event) {
105
+ return _onClick === null || _onClick === void 0 ? void 0 : _onClick({
106
+ event: event,
107
+ member: member,
108
+ itemRef: scrollRef
109
+ });
110
+ },
111
+ onMouseOver: function onMouseOver(event) {
112
+ return _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver({
113
+ event: event,
114
+ member: member,
115
+ itemRef: scrollRef
116
+ });
117
+ },
118
+ onMouseMove: function onMouseMove(event) {
119
+ return _onMouseMove === null || _onMouseMove === void 0 ? void 0 : _onMouseMove({
120
+ event: event,
121
+ member: member,
122
+ itemRef: scrollRef
123
+ });
124
+ },
125
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuid.uuidv4(),
126
+ ref: scrollRef
127
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
128
+ className: "sendbird-mention-suggest-list__user-item__avatar",
129
+ src: member === null || member === void 0 ? void 0 : member.profileUrl,
130
+ alt: "user-profile",
131
+ width: "24px",
132
+ height: "24px"
133
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
134
+ className: "sendbird-mention-suggest-list__user-item__nickname",
135
+ type: ui_Label.LabelTypography.SUBTITLE_2,
136
+ color: (member === null || member === void 0 ? void 0 : member.nickname) ? ui_Label.LabelColors.ONBACKGROUND_1 : ui_Label.LabelColors.ONBACKGROUND_3
137
+ }, (member === null || member === void 0 ? void 0 : member.nickname) || (stringSet === null || stringSet === void 0 ? void 0 : stringSet.MENTION_NAME__NO_NAME)), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
138
+ className: "sendbird-mention-suggest-list__user-item__user-id",
139
+ type: ui_Label.LabelTypography.SUBTITLE_2,
140
+ color: ui_Label.LabelColors.ONBACKGROUND_2
141
+ }, member === null || member === void 0 ? void 0 : member.userId));
142
+ }
143
+
144
+ var DEBOUNCING_TIME = 300;
145
+
146
+ function SuggestedMentionList(props) {
147
+ var _a, _b, _c;
148
+
149
+ var _d = props.targetNickname,
150
+ targetNickname = _d === void 0 ? '' : _d,
151
+ // memberListQuery,
152
+ onUserItemClick = props.onUserItemClick,
153
+ onFocusItemChange = props.onFocusItemChange,
154
+ onFetchUsers = props.onFetchUsers,
155
+ renderUserMentionItem = props.renderUserMentionItem,
156
+ inputEvent = props.inputEvent,
157
+ _e = props.ableAddMention,
158
+ ableAddMention = _e === void 0 ? true : _e,
159
+ _f = props.maxMentionCount,
160
+ maxMentionCount = _f === void 0 ? _const$1.MAX_USER_MENTION_COUNT : _f,
161
+ _g = props.maxSuggestionCount,
162
+ maxSuggestionCount = _g === void 0 ? _const$1.MAX_USER_SUGGESTION_COUNT : _g;
163
+
164
+ var _h = useSendbirdStateContext(),
165
+ config = _h.config,
166
+ stores = _h.stores;
167
+
168
+ var logger = config.logger;
169
+ var currentUserId = ((_c = (_b = (_a = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _a === void 0 ? void 0 : _a.sdk) === null || _b === void 0 ? void 0 : _b.currentUser) === null || _c === void 0 ? void 0 : _c.userId) || '';
170
+ var currentGroupChannel = Channel_context.useChannelContext().currentGroupChannel;
171
+ var scrollRef = React.useRef(null);
172
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
173
+
174
+ var _j = React.useState(null),
175
+ timer = _j[0],
176
+ setTimer = _j[1];
177
+
178
+ var _k = React.useState(''),
179
+ searchString = _k[0],
180
+ setSearchString = _k[1];
181
+
182
+ var _l = React.useState(''),
183
+ lastSearchString = _l[0],
184
+ setLastSearchString = _l[1];
185
+
186
+ var _m = React.useState(null),
187
+ currentUser = _m[0],
188
+ setCurrentUser = _m[1];
189
+
190
+ var _o = React.useState([]),
191
+ currentMemberList = _o[0],
192
+ setCurrentMemberList = _o[1];
193
+
194
+ React.useEffect(function () {
195
+ clearTimeout(timer);
196
+ setTimer(setTimeout(function () {
197
+ setSearchString(targetNickname);
198
+ }, DEBOUNCING_TIME));
199
+ }, [targetNickname]);
200
+ React.useEffect(function () {
201
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.Enter) {
202
+ if (currentMemberList.length > 0) {
203
+ onUserItemClick(currentUser);
204
+ }
205
+ }
206
+
207
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowUp) {
208
+ var currentUserIndex = currentMemberList.findIndex(function (member) {
209
+ return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
210
+ });
211
+
212
+ if (0 < currentUserIndex) {
213
+ setCurrentUser(currentMemberList[currentUserIndex - 1]);
214
+ onFocusItemChange(currentMemberList[currentUserIndex - 1]);
215
+ }
216
+ }
217
+
218
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowDown) {
219
+ var currentUserIndex = currentMemberList.findIndex(function (member) {
220
+ return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
221
+ });
222
+
223
+ if (currentUserIndex < currentMemberList.length - 1) {
224
+ setCurrentUser(currentMemberList[currentUserIndex + 1]);
225
+ onFocusItemChange(currentMemberList[currentUserIndex + 1]);
226
+ }
227
+ }
228
+ }, [inputEvent]);
229
+ /* Fetch member list */
230
+
231
+ React.useEffect(function () {
232
+ if (!(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.createMemberListQuery)) {
233
+ logger.warning('SuggestedMentionList: Creating member list query failed');
234
+ return;
235
+ }
236
+
237
+ if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {
238
+ // Don't need to request query again
239
+ return;
240
+ }
241
+
242
+ var query = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.createMemberListQuery({
243
+ limit: maxSuggestionCount + 1,
244
+ nicknameStartsWithFilter: searchString.slice(_const$1.USER_MENTION_TEMP_CHAR.length)
245
+ }); // Add member list query for customization
246
+
247
+ query.next().then(function (memberList) {
248
+ var suggestingMembers = memberList.filter(function (member) {
249
+ return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
250
+ }).slice(0, maxSuggestionCount);
251
+
252
+ if (suggestingMembers.length < 1) {
253
+ logger.info('SuggestedMentionList: Fetched member list is empty');
254
+ } else {
255
+ logger.info('SuggestedMentionList: Fetching member list succeeded', {
256
+ memberListQuery: query,
257
+ memberList: suggestingMembers
258
+ });
259
+ setCurrentUser(suggestingMembers[0]);
260
+ }
261
+
262
+ setLastSearchString(searchString);
263
+ onFetchUsers(suggestingMembers);
264
+ setCurrentMemberList(suggestingMembers);
265
+ }).catch(function (error) {
266
+ if (error) {
267
+ logger.error('SuggestedMentionList: Fetching member list failed', error);
268
+ }
269
+ });
270
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, searchString]);
271
+
272
+ if (!ableAddMention && currentMemberList.length === 0) {
273
+ return null;
274
+ }
275
+
276
+ return /*#__PURE__*/React__default["default"].createElement("div", {
277
+ className: "sendbird-mention-suggest-list",
278
+ key: "sendbird-mention-suggest-list",
279
+ ref: scrollRef
280
+ }, ableAddMention && (currentMemberList === null || currentMemberList === void 0 ? void 0 : currentMemberList.map(function (member) {
281
+ return /*#__PURE__*/React__default["default"].createElement(SuggestedUserMentionItem, {
282
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuid.uuidv4(),
283
+ member: member,
284
+ isFocused: (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId),
285
+ parentScrollRef: scrollRef,
286
+ onClick: function onClick(_a) {
287
+ var member = _a.member;
288
+ onUserItemClick(member);
289
+ },
290
+ onMouseOver: function onMouseOver(_a) {
291
+ var member = _a.member;
292
+ setCurrentUser(member);
293
+ },
294
+ renderUserMentionItem: renderUserMentionItem
295
+ });
296
+ })), !ableAddMention && /*#__PURE__*/React__default["default"].createElement("div", {
297
+ className: "sendbird-mention-suggest-list__notice-item"
298
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
299
+ className: "sendbird-mention-suggest-list__notice-item__icon",
300
+ type: ui_Icon.IconTypes.INFO,
301
+ fillColor: ui_Icon.IconColors.ON_BACKGROUND_2,
302
+ width: "20px",
303
+ height: "20px"
304
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
305
+ className: "sendbird-mention-suggest-list__notice-item__text",
306
+ type: ui_Label.LabelTypography.SUBTITLE_2,
307
+ color: ui_Label.LabelColors.ONBACKGROUND_2
308
+ }, stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount))));
309
+ }
310
+
311
+ module.exports = SuggestedMentionList;
312
+ //# sourceMappingURL=SuggestedMentionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannelContext();\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [currentGroupChannel?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","scrollIntoView","block","inline","clientHeight","customMentionItem","useMemo","React","event","itemRef","userId","uuidv4","user","Avatar","profileUrl","Label","LabelTypography","SUBTITLE_2","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannelContext","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","Icon","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var groupChannel = require('../../groupChannel-e311e26a.js');
7
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
8
+ var uuid = require('../../uuid-099485ae.js');
9
+ var ui_Label = require('../../index-df05e765.js');
10
+ var Channel_context = require('../../ChannelProvider-a3ec5a56.js');
11
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
12
+ require('../../__bundle-7dfccc8c-c3c55861.js');
13
+ require('../../stringSet-2f3588b5.js');
14
+ require('../../index-72479c2a.js');
15
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
16
+ require('prop-types');
17
+ require('../../UserProfileContext-17c8f75c.js');
18
+ require('../../index-cdcd27bc.js');
19
+ require('../../topics-582e38dc.js');
20
+ require('../../index-40d245a3.js');
21
+ require('../../tslib.es6-d9c7aa8b.js');
22
+ require('../../compareIds-d8053014.js');
23
+ require('../../const-6aa26f9f.js');
24
+ require('../../ui/ContextMenu.js');
25
+ require('react-dom');
26
+ require('../../ui/SortByRow.js');
27
+ require('../../ui/ReactionButton.js');
28
+ require('../../ui/ImageRenderer.js');
29
+ require('../../ui/Icon.js');
30
+ require('../../withSendBird.js');
31
+
32
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
+
34
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
+
36
+ var TypingIndicatorText = function TypingIndicatorText(_a) {
37
+ var members = _a.members;
38
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
39
+
40
+ if (!members || members.length === 0) {
41
+ return '';
42
+ }
43
+
44
+ if (members && members.length === 1) {
45
+ return "".concat(members[0].nickname, " ").concat(stringSet.TYPING_INDICATOR__IS_TYPING);
46
+ }
47
+
48
+ if (members && members.length === 2) {
49
+ return "".concat(members[0].nickname, " ").concat(stringSet.TYPING_INDICATOR__AND, " ").concat(members[1].nickname, " ").concat(stringSet.TYPING_INDICATOR__ARE_TYPING);
50
+ }
51
+
52
+ return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;
53
+ };
54
+
55
+ var TypingIndicator = function TypingIndicator() {
56
+ var _a, _b, _c;
57
+
58
+ var channelUrl = Channel_context.useChannelContext().channelUrl;
59
+ var globalStore = useSendbirdStateContext();
60
+ var sb = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
61
+ var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
62
+
63
+ var _d = React.useState(uuid.uuidv4()),
64
+ handlerId = _d[0],
65
+ setHandlerId = _d[1];
66
+
67
+ var _e = React.useState([]),
68
+ typingMembers = _e[0],
69
+ setTypingMembers = _e[1];
70
+
71
+ React.useEffect(function () {
72
+ var _a;
73
+
74
+ if ((_a = sb === null || sb === void 0 ? void 0 : sb.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) {
75
+ sb.groupChannel.removeGroupChannelHandler(handlerId);
76
+ var newHandlerId = uuid.uuidv4();
77
+ var handler = new groupChannel.Yr({
78
+ onTypingStatusUpdated: function onTypingStatusUpdated(groupChannel) {
79
+ // there is a possible warning in here - setState called after unmount
80
+ logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);
81
+
82
+ if (groupChannel.url === channelUrl) {
83
+ var members = groupChannel.getTypingUsers();
84
+ setTypingMembers(members);
85
+ }
86
+ }
87
+ });
88
+ sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);
89
+ setHandlerId(newHandlerId);
90
+ }
91
+
92
+ return function () {
93
+ setTypingMembers([]);
94
+
95
+ if (sb) {
96
+ sb.groupChannel.removeGroupChannelHandler(handlerId);
97
+ }
98
+ };
99
+ }, [channelUrl]);
100
+ return /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
101
+ className: "sendbird-conversation__footer__typing-indicator__text",
102
+ type: ui_Label.LabelTypography.CAPTION_2,
103
+ color: ui_Label.LabelColors.ONBACKGROUND_2
104
+ }, /*#__PURE__*/React__default["default"].createElement(TypingIndicatorText, {
105
+ members: typingMembers
106
+ }));
107
+ };
108
+
109
+ exports.TypingIndicatorText = TypingIndicatorText;
110
+ exports["default"] = TypingIndicator;
111
+ //# sourceMappingURL=TypingIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.js","sources":["../../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n }\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","React","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
5
+ var ui_Label = require('../../index-df05e765.js');
6
+ var ui_Icon = require('../../ui/Icon.js');
7
+ require('../../stringSet-2f3588b5.js');
8
+ require('../../index-72479c2a.js');
9
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
10
+ require('prop-types');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
+
16
+ var UnreadCount = function UnreadCount(props) {
17
+ var _a, _b;
18
+
19
+ var count = props.count,
20
+ _c = props.time,
21
+ time = _c === void 0 ? '' : _c,
22
+ onClick = props.onClick;
23
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
24
+ var timeArray = ((_b = (_a = time === null || time === void 0 ? void 0 : time.toString) === null || _a === void 0 ? void 0 : _a.call(time)) === null || _b === void 0 ? void 0 : _b.split(' ')) || [];
25
+ timeArray === null || timeArray === void 0 ? void 0 : timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);
26
+
27
+ if (count < 1) {
28
+ return;
29
+ }
30
+
31
+ return /*#__PURE__*/React__default["default"].createElement("div", {
32
+ className: "sendbird-notification",
33
+ onClick: onClick
34
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
35
+ className: "sendbird-notification__text",
36
+ color: ui_Label.LabelColors.ONCONTENT_1,
37
+ type: ui_Label.LabelTypography.CAPTION_2
38
+ }, "".concat(count, " "), stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE, " ".concat(timeArray.join(' '))), /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
39
+ width: "24px",
40
+ height: "24px",
41
+ type: ui_Icon.IconTypes.CHEVRON_DOWN,
42
+ fillColor: ui_Icon.IconColors.CONTENT
43
+ }));
44
+ };
45
+
46
+ module.exports = UnreadCount;
47
+ //# sourceMappingURL=UnreadCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnreadCount.js","sources":["../../../../src/smart-components/Channel/components/UnreadCount/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './unread-count.scss';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\n\nexport interface UnreadCountProps {\n count: number;\n time: string;\n onClick(): void;\n}\n\nconst UnreadCount: React.FC<UnreadCountProps> = (props: UnreadCountProps) => {\n const {\n count,\n time = '',\n onClick,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time?.toString?.()?.split(' ') || [];\n timeArray?.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n\n if (count < 1) {\n return;\n }\n\n return (\n <div className=\"sendbird-notification\" onClick={onClick}>\n <Label className=\"sendbird-notification__text\" color={LabelColors.ONCONTENT_1} type={LabelTypography.CAPTION_2}>\n {`${count} `}\n {stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE}\n {` ${timeArray.join(' ')}`}\n </Label>\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.CONTENT}\n />\n </div>\n );\n}\n\nexport default UnreadCount;\n"],"names":["UnreadCount","props","count","_c","time","onClick","stringSet","useContext","LocalizationContext","timeArray","toString","split","splice","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","React","Label","LabelColors","ONCONTENT_1","LabelTypography","CAPTION_2","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","join","Icon","IconTypes","CHEVRON_DOWN","IconColors","CONTENT"],"mappings":";;;;;;;;;;;;;;;IAaMA,WAAW,GAA+B,SAA1CA,WAA0C,CAACC,KAAD;;;AAE5C,MAAAC,KAAK,GAGHD,KAAK,MAHP;AAAA,MACAE,KAEEF,KAAK,KAHP;AAAA,MACAG,IAAI,mBAAG,OADP;AAAA,MAEAC,OAAO,GACLJ,KAAK,QAHP;AAKM,MAAAK,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AACR,MAAMC,SAAS,GAAG,CAAA,MAAA,MAAAL,IAAI,SAAJ,IAAAA,IAAI,WAAJ,SAAA,GAAAA,IAAI,CAAEM,QAAN,UAAA,iBAAA,SAAA,gBAAA,UAAA,iBAAA,SAAA,MAAoBC,MAAM,IAA1B,KAAkC,EAApD;AACAF,EAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEG,MAAX,CAAkB,CAAC,CAAnB,EAAsB,CAAtB,EAAyBN,SAAS,CAACO,uCAAnC,CAAA;;AAEA,MAAIX,KAAK,GAAG,CAAZ,EAAe;AACb;AACD;;AAED,sBACEY;AAAK,IAAA,SAAS,EAAC,uBAAf;AAAuC,IAAA,OAAO,EAAET;AAAhD,kBACES,wCAACC,cAAD;AAAO,IAAA,SAAS,EAAC,6BAAjB;AAA+C,IAAA,KAAK,EAAEC,oBAAW,CAACC,WAAlE;AAA+E,IAAA,IAAI,EAAEC,wBAAe,CAACC;AAArG,KACG,SAAA,CAAGjB,KAAH,KAAA,CADH,EAEGI,SAAS,CAACc,gDAFb,EAGG,UAAA,CAAIX,SAAS,CAACY,IAAV,CAAe,GAAf,CAAJ,CAHH,CADF,eAMEP,wCAACQ,kBAAD;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,IAAI,EAAEC,iBAAS,CAACC,YAHlB;AAIE,IAAA,SAAS,EAAEC,kBAAU,CAACC;AAJxB,IANF,CADF;AAeD;;;;"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('react');
6
+ require('../UserProfileContext-17c8f75c.js');
7
+ require('../useSendbirdStateContext.js');
8
+ var Channel_context = require('../ChannelProvider-a3ec5a56.js');
9
+ require('prop-types');
10
+ require('../withSendBird.js');
11
+ require('../_rollupPluginBabelHelpers-d984e855.js');
12
+ require('../index-cdcd27bc.js');
13
+ require('../index-72479c2a.js');
14
+ require('../topics-582e38dc.js');
15
+ require('../index-40d245a3.js');
16
+ require('../tslib.es6-d9c7aa8b.js');
17
+ require('../compareIds-d8053014.js');
18
+ require('../const-6aa26f9f.js');
19
+ require('../groupChannel-e311e26a.js');
20
+ require('../__bundle-7dfccc8c-c3c55861.js');
21
+ require('../uuid-099485ae.js');
22
+ require('../ui/ContextMenu.js');
23
+ require('../index-df05e765.js');
24
+ require('../stringSet-2f3588b5.js');
25
+ require('react-dom');
26
+ require('../ui/SortByRow.js');
27
+ require('../ui/ReactionButton.js');
28
+ require('../ui/ImageRenderer.js');
29
+ require('../ui/Icon.js');
30
+
31
+
32
+
33
+ exports.ChannelProvider = Channel_context.ChannelProvider;
34
+ exports.useChannelContext = Channel_context.useChannelContext;
35
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}