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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/App.js +41 -30
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/Channel/components/ChannelHeader.js +15 -14
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -21
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -13
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +178 -62
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +145 -30
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +71 -59
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +17 -16
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +250 -0
  20. package/Channel/components/SuggestedMentionList.js.map +1 -0
  21. package/Channel/components/TypingIndicator.js +14 -13
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +5 -5
  24. package/Channel/context.js +13 -12
  25. package/Channel/context.js.map +1 -1
  26. package/Channel.js +28 -21
  27. package/Channel.js.map +1 -1
  28. package/ChannelList/components/AddChannel.js +14 -14
  29. package/ChannelList/components/ChannelListHeader.js +7 -7
  30. package/ChannelList/components/ChannelListUI.js +24 -23
  31. package/ChannelList/components/ChannelListUI.js.map +1 -1
  32. package/ChannelList/components/ChannelPreview.js +23 -19
  33. package/ChannelList/components/ChannelPreview.js.map +1 -1
  34. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  35. package/ChannelList/context.js +8 -8
  36. package/ChannelList.js +24 -23
  37. package/ChannelList.js.map +1 -1
  38. package/{ChannelListProvider-0b0c2c40.js → ChannelListProvider-7c351968.js} +8 -8
  39. package/{ChannelListProvider-0b0c2c40.js.map → ChannelListProvider-7c351968.js.map} +1 -1
  40. package/{ChannelProvider-459e463f.js → ChannelProvider-d5126903.js} +72 -41
  41. package/ChannelProvider-d5126903.js.map +1 -0
  42. package/ChannelSettings/components/AdminPanel.js +15 -15
  43. package/ChannelSettings/components/ChannelProfile.js +13 -13
  44. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  45. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  46. package/ChannelSettings/components/LeaveChannel.js +10 -10
  47. package/ChannelSettings/components/UserListItem.js +11 -11
  48. package/ChannelSettings/components/UserPanel.js +14 -14
  49. package/ChannelSettings/context.js +3 -3
  50. package/ChannelSettings.js +18 -18
  51. package/CreateChannel/components/CreateChannelUI.js +14 -14
  52. package/CreateChannel/components/InviteMembers.js +14 -14
  53. package/CreateChannel/components/SelectChannelType.js +10 -10
  54. package/CreateChannel/context.js +3 -3
  55. package/CreateChannel.js +14 -14
  56. package/{CreateChannelProvider-c617a1bb.js → CreateChannelProvider-ddfd92e6.js} +1 -1
  57. package/{CreateChannelProvider-c617a1bb.js.map → CreateChannelProvider-ddfd92e6.js.map} +1 -1
  58. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  59. package/EditUserProfile.js +13 -13
  60. package/{LocalizationContext-e4391013.js → LocalizationContext-b021af8f.js} +3 -3
  61. package/{LocalizationContext-e4391013.js.map → LocalizationContext-b021af8f.js.map} +1 -1
  62. package/{MemberList-6655cba0.js → MemberList-323e7517.js} +5 -5
  63. package/{MemberList-6655cba0.js.map → MemberList-323e7517.js.map} +1 -1
  64. package/MessageSearch/components/MessageSearchUI.js +11 -11
  65. package/MessageSearch/context.js +2 -2
  66. package/MessageSearch.js +11 -11
  67. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  68. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  69. package/OpenChannel/components/OpenChannelInput.js +18 -14
  70. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  71. package/OpenChannel/components/OpenChannelMessage.js +23 -19
  72. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  73. package/OpenChannel/components/OpenChannelMessageList.js +25 -21
  74. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  75. package/OpenChannel/components/OpenChannelUI.js +25 -21
  76. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  77. package/OpenChannel/context.js +9 -9
  78. package/OpenChannel.js +25 -21
  79. package/OpenChannel.js.map +1 -1
  80. package/{OpenChannelProvider-a7691eb4.js → OpenChannelProvider-abc4ab98.js} +7 -7
  81. package/{OpenChannelProvider-a7691eb4.js.map → OpenChannelProvider-abc4ab98.js.map} +1 -1
  82. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  83. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  84. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  85. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  86. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  87. package/OpenChannelSettings/context.js +2 -2
  88. package/OpenChannelSettings.js +17 -17
  89. package/README.md +9 -1
  90. package/SendbirdProvider.js +27 -13
  91. package/SendbirdProvider.js.map +1 -1
  92. package/{UserProfileContext-865db5e6.js → UserProfileContext-daa99f9b.js} +1 -1
  93. package/{UserProfileContext-865db5e6.js.map → UserProfileContext-daa99f9b.js.map} +1 -1
  94. package/{_rollupPluginBabelHelpers-20904f21.js → _rollupPluginBabelHelpers-8e4fae98.js} +1 -1
  95. package/{_rollupPluginBabelHelpers-20904f21.js.map → _rollupPluginBabelHelpers-8e4fae98.js.map} +1 -1
  96. package/{actionTypes-1e3a4074.js → actionTypes-189daf51.js} +1 -1
  97. package/{actionTypes-1e3a4074.js.map → actionTypes-189daf51.js.map} +1 -1
  98. package/cjs/App.js +41 -30
  99. package/cjs/App.js.map +1 -1
  100. package/cjs/Channel/components/ChannelHeader.js +15 -14
  101. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  102. package/cjs/Channel/components/ChannelUI.js +28 -21
  103. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  104. package/cjs/Channel/components/FileViewer.js +14 -13
  105. package/cjs/Channel/components/FileViewer.js.map +1 -1
  106. package/cjs/Channel/components/FrozenNotification.js +5 -5
  107. package/cjs/Channel/components/Message.js +177 -61
  108. package/cjs/Channel/components/Message.js.map +1 -1
  109. package/cjs/Channel/components/MessageInput.js +144 -29
  110. package/cjs/Channel/components/MessageInput.js.map +1 -1
  111. package/cjs/Channel/components/MessageList.js +70 -58
  112. package/cjs/Channel/components/MessageList.js.map +1 -1
  113. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  114. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  115. package/cjs/Channel/components/SuggestedMentionList.js +256 -0
  116. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  117. package/cjs/Channel/components/TypingIndicator.js +14 -13
  118. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  119. package/cjs/Channel/components/UnreadCount.js +5 -5
  120. package/cjs/Channel/context.js +13 -12
  121. package/cjs/Channel/context.js.map +1 -1
  122. package/cjs/Channel.js +28 -21
  123. package/cjs/Channel.js.map +1 -1
  124. package/cjs/ChannelList/components/AddChannel.js +14 -14
  125. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  126. package/cjs/ChannelList/components/ChannelListUI.js +24 -23
  127. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  128. package/cjs/ChannelList/components/ChannelPreview.js +23 -19
  129. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  130. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  131. package/cjs/ChannelList/context.js +8 -8
  132. package/cjs/ChannelList.js +24 -23
  133. package/cjs/ChannelList.js.map +1 -1
  134. package/cjs/{ChannelListProvider-5a152618.js → ChannelListProvider-44dde549.js} +8 -8
  135. package/cjs/{ChannelListProvider-5a152618.js.map → ChannelListProvider-44dde549.js.map} +1 -1
  136. package/cjs/{ChannelProvider-f1fb0108.js → ChannelProvider-e0aaab26.js} +79 -48
  137. package/cjs/ChannelProvider-e0aaab26.js.map +1 -0
  138. package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  140. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  141. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  142. package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
  143. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  144. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  145. package/cjs/ChannelSettings/context.js +3 -3
  146. package/cjs/ChannelSettings.js +18 -18
  147. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  148. package/cjs/CreateChannel/components/InviteMembers.js +14 -14
  149. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  150. package/cjs/CreateChannel/context.js +3 -3
  151. package/cjs/CreateChannel.js +14 -14
  152. package/cjs/{CreateChannelProvider-df42106f.js → CreateChannelProvider-bdf9c39b.js} +1 -1
  153. package/cjs/{CreateChannelProvider-df42106f.js.map → CreateChannelProvider-bdf9c39b.js.map} +1 -1
  154. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  155. package/cjs/EditUserProfile.js +13 -13
  156. package/cjs/{LocalizationContext-68e55e2a.js → LocalizationContext-3b5ce8ae.js} +3 -3
  157. package/cjs/{LocalizationContext-68e55e2a.js.map → LocalizationContext-3b5ce8ae.js.map} +1 -1
  158. package/cjs/{MemberList-dc84e303.js → MemberList-ef9e43c3.js} +5 -5
  159. package/cjs/{MemberList-dc84e303.js.map → MemberList-ef9e43c3.js.map} +1 -1
  160. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  161. package/cjs/MessageSearch/context.js +2 -2
  162. package/cjs/MessageSearch.js +11 -11
  163. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  164. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  165. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -14
  166. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -19
  168. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  169. package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -21
  170. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  171. package/cjs/OpenChannel/components/OpenChannelUI.js +25 -21
  172. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  173. package/cjs/OpenChannel/context.js +9 -9
  174. package/cjs/OpenChannel.js +25 -21
  175. package/cjs/OpenChannel.js.map +1 -1
  176. package/cjs/{OpenChannelProvider-7a1a996f.js → OpenChannelProvider-9ce7c998.js} +7 -7
  177. package/cjs/{OpenChannelProvider-7a1a996f.js.map → OpenChannelProvider-9ce7c998.js.map} +1 -1
  178. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  179. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  180. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  181. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  182. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  183. package/cjs/OpenChannelSettings/context.js +2 -2
  184. package/cjs/OpenChannelSettings.js +17 -17
  185. package/cjs/SendbirdProvider.js +27 -13
  186. package/cjs/SendbirdProvider.js.map +1 -1
  187. package/cjs/{UserProfileContext-3533547d.js → UserProfileContext-f0bdfbb8.js} +1 -1
  188. package/cjs/{UserProfileContext-3533547d.js.map → UserProfileContext-f0bdfbb8.js.map} +1 -1
  189. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js → _rollupPluginBabelHelpers-e54d2387.js} +1 -1
  190. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js.map → _rollupPluginBabelHelpers-e54d2387.js.map} +1 -1
  191. package/cjs/{actionTypes-bc47f97a.js → actionTypes-267d4c79.js} +1 -1
  192. package/cjs/{actionTypes-bc47f97a.js.map → actionTypes-267d4c79.js.map} +1 -1
  193. package/cjs/{color-4afb15fb.js → color-0f078673.js} +1 -1
  194. package/cjs/{color-4afb15fb.js.map → color-0f078673.js.map} +1 -1
  195. package/cjs/{compareIds-01306377.js → compareIds-176a582b.js} +1 -1
  196. package/cjs/{compareIds-01306377.js.map → compareIds-176a582b.js.map} +1 -1
  197. package/cjs/const-4bf0e8b4.js +22 -0
  198. package/cjs/const-4bf0e8b4.js.map +1 -0
  199. package/cjs/const-ccf192c5.js +14 -0
  200. package/cjs/const-ccf192c5.js.map +1 -0
  201. package/cjs/{context-c1f9d650.js → context-0cbe196d.js} +2 -2
  202. package/cjs/{context-c1f9d650.js.map → context-0cbe196d.js.map} +1 -1
  203. package/cjs/{index-d4880236.js → index-002a349d.js} +84 -3
  204. package/cjs/index-002a349d.js.map +1 -0
  205. package/cjs/{index-905331fa.js → index-0159bc57.js} +2 -2
  206. package/cjs/{index-905331fa.js.map → index-0159bc57.js.map} +1 -1
  207. package/cjs/{index-4987c8b2.js → index-081c9614.js} +6 -6
  208. package/cjs/{index-4987c8b2.js.map → index-081c9614.js.map} +1 -1
  209. package/cjs/{index-1468d245.js → index-21f31180.js} +3 -3
  210. package/cjs/{index-1468d245.js.map → index-21f31180.js.map} +1 -1
  211. package/cjs/{index-1044f1ed.js → index-22f07209.js} +3 -3
  212. package/cjs/{index-1044f1ed.js.map → index-22f07209.js.map} +1 -1
  213. package/cjs/{index-8becccd8.js → index-46522cf0.js} +4 -4
  214. package/cjs/{index-8becccd8.js.map → index-46522cf0.js.map} +1 -1
  215. package/cjs/index-723733db.js +54 -0
  216. package/cjs/index-723733db.js.map +1 -0
  217. package/cjs/{index-9dc3863f.js → index-c0693be4.js} +2 -2
  218. package/cjs/{index-9dc3863f.js.map → index-c0693be4.js.map} +1 -1
  219. package/cjs/{index-659c9ca5.js → index-d4f42e73.js} +4 -4
  220. package/cjs/{index-659c9ca5.js.map → index-d4f42e73.js.map} +1 -1
  221. package/cjs/{index-e2bb862c.js → index-d9439e95.js} +1 -1
  222. package/cjs/{index-e2bb862c.js.map → index-d9439e95.js.map} +1 -1
  223. package/cjs/{index-aecc8d24.js → index-ed053e45.js} +1 -1
  224. package/cjs/{index-aecc8d24.js.map → index-ed053e45.js.map} +1 -1
  225. package/cjs/index.css +165 -59
  226. package/cjs/index.css.map +1 -1
  227. package/cjs/index.js +38 -31
  228. package/cjs/index.js.map +1 -1
  229. package/cjs/{openChannelUtils-37919a36.js → openChannelUtils-cecaf987.js} +1 -1
  230. package/cjs/{openChannelUtils-37919a36.js.map → openChannelUtils-cecaf987.js.map} +1 -1
  231. package/cjs/sendBirdSelectors.js +1 -1
  232. package/cjs/{stringSet-aa544ce5.js → stringSet-f4da182b.js} +4 -2
  233. package/cjs/stringSet-f4da182b.js.map +1 -0
  234. package/cjs/{topics-8314d425.js → topics-c2c30f09.js} +1 -1
  235. package/cjs/{topics-8314d425.js.map → topics-c2c30f09.js.map} +1 -1
  236. package/cjs/{tslib.es6-4a281a05.js → tslib.es6-d7d0a427.js} +1 -1
  237. package/cjs/{tslib.es6-4a281a05.js.map → tslib.es6-d7d0a427.js.map} +1 -1
  238. package/cjs/ui/Accordion.js +4 -4
  239. package/cjs/ui/AccordionGroup.js +2 -2
  240. package/cjs/ui/AdminMessage.js +3 -3
  241. package/cjs/ui/Avatar.js +3 -3
  242. package/cjs/ui/Badge.js +5 -5
  243. package/cjs/ui/Button.js +4 -4
  244. package/cjs/ui/ChannelAvatar.js +4 -4
  245. package/cjs/ui/ChannelPreview.js +12 -12
  246. package/cjs/ui/ChatHeader.js +8 -8
  247. package/cjs/ui/Checkbox.js +1 -1
  248. package/cjs/ui/ConnectionStatus.js +5 -5
  249. package/cjs/ui/ContextMenu.js +5 -5
  250. package/cjs/ui/DateSeparator.js +4 -4
  251. package/cjs/ui/Dropdown.js +3 -3
  252. package/cjs/ui/EmojiReactions.js +7 -7
  253. package/cjs/ui/FileMessageItemBody.js +6 -6
  254. package/cjs/ui/FileViewer.js +7 -7
  255. package/cjs/ui/Icon.js +1 -1
  256. package/cjs/ui/IconButton.js +1 -1
  257. package/cjs/ui/ImageRenderer.js +1 -1
  258. package/cjs/ui/Input.js +3 -3
  259. package/cjs/ui/Label.js +3 -3
  260. package/cjs/ui/LinkLabel.js +3 -3
  261. package/cjs/ui/Loader.js +1 -1
  262. package/cjs/ui/MentionUserLabel.js +25 -0
  263. package/cjs/ui/MentionUserLabel.js.map +1 -0
  264. package/cjs/ui/MessageContent.js +25 -62
  265. package/cjs/ui/MessageContent.js.map +1 -1
  266. package/cjs/ui/MessageInput.js +4900 -84
  267. package/cjs/ui/MessageInput.js.map +1 -1
  268. package/cjs/ui/MessageItemMenu.js +7 -7
  269. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  270. package/cjs/ui/MessageSearchFileItem.js +10 -10
  271. package/cjs/ui/MessageSearchItem.js +10 -10
  272. package/cjs/ui/MessageStatus.js +66 -0
  273. package/cjs/ui/MessageStatus.js.map +1 -0
  274. package/cjs/ui/Modal.js +8 -8
  275. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  276. package/cjs/ui/OGMessageItemBody.js +38 -28
  277. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  278. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  279. package/cjs/ui/OpenChannelAvatar.js +7 -7
  280. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  281. package/cjs/ui/OpenchannelFileMessage.js +14 -14
  282. package/cjs/ui/OpenchannelOGMessage.js +14 -14
  283. package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
  284. package/cjs/ui/OpenchannelUserMessage.js +14 -14
  285. package/cjs/ui/PlaceHolder.js +6 -6
  286. package/cjs/ui/QuoteMessage.js +7 -7
  287. package/cjs/ui/QuoteMessageInput.js +7 -7
  288. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  289. package/cjs/ui/ReactionBadge.js +3 -3
  290. package/cjs/ui/ReactionButton.js +1 -1
  291. package/cjs/ui/SortByRow.js +1 -1
  292. package/cjs/ui/TextButton.js +2 -2
  293. package/cjs/ui/TextMessageItemBody.js +36 -14
  294. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  295. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  296. package/cjs/ui/Tooltip.js +3 -3
  297. package/cjs/ui/TooltipWrapper.js +1 -1
  298. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  299. package/cjs/ui/UserListItem.js +11 -11
  300. package/cjs/ui/UserProfile.js +9 -9
  301. package/cjs/useSendbirdStateContext.js +1 -1
  302. package/cjs/{utils-cbd3ed99.js → utils-3e73a146.js} +1 -1
  303. package/cjs/{utils-cbd3ed99.js.map → utils-3e73a146.js.map} +1 -1
  304. package/cjs/{utils-66b3f4ec.js → utils-b95288a8.js} +1 -1
  305. package/cjs/{utils-66b3f4ec.js.map → utils-b95288a8.js.map} +1 -1
  306. package/cjs/{utils-3b0815dc.js → utils-c55d20dc.js} +1 -1
  307. package/cjs/{utils-3b0815dc.js.map → utils-c55d20dc.js.map} +1 -1
  308. package/cjs/{uuid-1d5ec8b2.js → uuid-ba6cc3c5.js} +1 -1
  309. package/cjs/{uuid-1d5ec8b2.js.map → uuid-ba6cc3c5.js.map} +1 -1
  310. package/cjs/withSendBird.js +1 -1
  311. package/{color-ee3fc5ee.js → color-2863fbbe.js} +1 -1
  312. package/{color-ee3fc5ee.js.map → color-2863fbbe.js.map} +1 -1
  313. package/{compareIds-808956f2.js → compareIds-48d87cc5.js} +1 -1
  314. package/{compareIds-808956f2.js.map → compareIds-48d87cc5.js.map} +1 -1
  315. package/const-09c22c50.js +18 -0
  316. package/const-09c22c50.js.map +1 -0
  317. package/const-3f63e129.js +8 -0
  318. package/const-3f63e129.js.map +1 -0
  319. package/{context-98ce535c.js → context-7877e5bb.js} +2 -2
  320. package/{context-98ce535c.js.map → context-7877e5bb.js.map} +1 -1
  321. package/dist/index.css +165 -59
  322. package/dist/index.css.map +1 -1
  323. package/{index-942c85a6.js → index-1fd114b0.js} +1 -1
  324. package/{index-942c85a6.js.map → index-1fd114b0.js.map} +1 -1
  325. package/{index-e818a8a3.js → index-303a3b6e.js} +4 -4
  326. package/{index-e818a8a3.js.map → index-303a3b6e.js.map} +1 -1
  327. package/{index-6ebf7894.js → index-353f13f3.js} +1 -1
  328. package/{index-6ebf7894.js.map → index-353f13f3.js.map} +1 -1
  329. package/{index-5c2c81bc.js → index-358226c7.js} +6 -6
  330. package/{index-5c2c81bc.js.map → index-358226c7.js.map} +1 -1
  331. package/{index-acebc2ff.js → index-41a6f4f2.js} +3 -3
  332. package/{index-acebc2ff.js.map → index-41a6f4f2.js.map} +1 -1
  333. package/index-4889e530.js +48 -0
  334. package/index-4889e530.js.map +1 -0
  335. package/{index-770d7112.js → index-4a59a866.js} +2 -2
  336. package/{index-770d7112.js.map → index-4a59a866.js.map} +1 -1
  337. package/{index-1718324d.js → index-86b0a341.js} +4 -4
  338. package/{index-1718324d.js.map → index-86b0a341.js.map} +1 -1
  339. package/{index-7a51bd16.js → index-a611bd38.js} +3 -3
  340. package/{index-7a51bd16.js.map → index-a611bd38.js.map} +1 -1
  341. package/{index-8c72a94a.js → index-ad4c9e58.js} +83 -3
  342. package/index-ad4c9e58.js.map +1 -0
  343. package/{index-cd21929d.js → index-f119413c.js} +2 -2
  344. package/{index-cd21929d.js.map → index-f119413c.js.map} +1 -1
  345. package/index.css +165 -59
  346. package/index.css.map +1 -1
  347. package/index.d.ts +237 -209
  348. package/index.js +38 -31
  349. package/index.js.map +1 -1
  350. package/{openChannelUtils-56a372e7.js → openChannelUtils-024b797a.js} +1 -1
  351. package/{openChannelUtils-56a372e7.js.map → openChannelUtils-024b797a.js.map} +1 -1
  352. package/package.json +2 -2
  353. package/sendBirdSelectors.js +1 -1
  354. package/{stringSet-4f6eaa60.js → stringSet-91746bf1.js} +4 -2
  355. package/stringSet-91746bf1.js.map +1 -0
  356. package/{topics-9442035c.js → topics-17d99dd6.js} +1 -1
  357. package/{topics-9442035c.js.map → topics-17d99dd6.js.map} +1 -1
  358. package/{tslib.es6-e3c44017.js → tslib.es6-83aa13f5.js} +1 -1
  359. package/{tslib.es6-e3c44017.js.map → tslib.es6-83aa13f5.js.map} +1 -1
  360. package/ui/Accordion.js +4 -4
  361. package/ui/AccordionGroup.js +2 -2
  362. package/ui/AdminMessage.js +3 -3
  363. package/ui/Avatar.js +3 -3
  364. package/ui/Badge.js +5 -5
  365. package/ui/Button.js +4 -4
  366. package/ui/ChannelAvatar.js +4 -4
  367. package/ui/ChannelPreview.js +12 -12
  368. package/ui/ChatHeader.js +8 -8
  369. package/ui/Checkbox.js +1 -1
  370. package/ui/ConnectionStatus.js +5 -5
  371. package/ui/ContextMenu.js +5 -5
  372. package/ui/DateSeparator.js +4 -4
  373. package/ui/Dropdown.js +3 -3
  374. package/ui/EmojiReactions.js +7 -7
  375. package/ui/FileMessageItemBody.js +6 -6
  376. package/ui/FileViewer.js +7 -7
  377. package/ui/Icon.js +1 -1
  378. package/ui/IconButton.js +1 -1
  379. package/ui/ImageRenderer.js +1 -1
  380. package/ui/Input.js +3 -3
  381. package/ui/Label.js +3 -3
  382. package/ui/LinkLabel.js +3 -3
  383. package/ui/Loader.js +1 -1
  384. package/ui/MentionUserLabel.js +19 -0
  385. package/ui/MentionUserLabel.js.map +1 -0
  386. package/ui/MessageContent.js +25 -62
  387. package/ui/MessageContent.js.map +1 -1
  388. package/ui/MessageInput.js +4900 -85
  389. package/ui/MessageInput.js.map +1 -1
  390. package/ui/MessageItemMenu.js +7 -7
  391. package/ui/MessageItemReactionMenu.js +5 -5
  392. package/ui/MessageSearchFileItem.js +10 -10
  393. package/ui/MessageSearchItem.js +10 -10
  394. package/ui/MessageStatus.js +57 -0
  395. package/ui/MessageStatus.js.map +1 -0
  396. package/ui/Modal.js +8 -8
  397. package/ui/MutedAvatarOverlay.js +1 -1
  398. package/ui/OGMessageItemBody.js +38 -28
  399. package/ui/OGMessageItemBody.js.map +1 -1
  400. package/ui/OpenChannelAdminMessage.js +4 -4
  401. package/ui/OpenChannelAvatar.js +7 -7
  402. package/ui/OpenchannelConversationHeader.js +7 -7
  403. package/ui/OpenchannelFileMessage.js +14 -14
  404. package/ui/OpenchannelOGMessage.js +14 -14
  405. package/ui/OpenchannelThumbnailMessage.js +13 -13
  406. package/ui/OpenchannelUserMessage.js +14 -14
  407. package/ui/PlaceHolder.js +6 -6
  408. package/ui/QuoteMessage.js +7 -7
  409. package/ui/QuoteMessageInput.js +7 -7
  410. package/ui/QuoteMessageInput.js.map +1 -1
  411. package/ui/ReactionBadge.js +3 -3
  412. package/ui/ReactionButton.js +1 -1
  413. package/ui/SortByRow.js +1 -1
  414. package/ui/TextButton.js +2 -2
  415. package/ui/TextMessageItemBody.js +37 -15
  416. package/ui/TextMessageItemBody.js.map +1 -1
  417. package/ui/ThumbnailMessageItemBody.js +3 -3
  418. package/ui/Tooltip.js +3 -3
  419. package/ui/TooltipWrapper.js +1 -1
  420. package/ui/UnknownMessageItemBody.js +7 -7
  421. package/ui/UserListItem.js +11 -11
  422. package/ui/UserProfile.js +9 -9
  423. package/useSendbirdStateContext.js +1 -1
  424. package/{utils-af1b9829.js → utils-5395ff17.js} +1 -1
  425. package/{utils-af1b9829.js.map → utils-5395ff17.js.map} +1 -1
  426. package/{utils-08c4dbdc.js → utils-7d39b941.js} +1 -1
  427. package/{utils-08c4dbdc.js.map → utils-7d39b941.js.map} +1 -1
  428. package/{utils-c393e880.js → utils-9ef11656.js} +1 -1
  429. package/{utils-c393e880.js.map → utils-9ef11656.js.map} +1 -1
  430. package/{uuid-b0c93400.js → uuid-6d14d007.js} +1 -1
  431. package/{uuid-b0c93400.js.map → uuid-6d14d007.js.map} +1 -1
  432. package/withSendBird.js +1 -1
  433. package/ChannelProvider-459e463f.js.map +0 -1
  434. package/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  435. package/cjs/index-d4880236.js.map +0 -1
  436. package/cjs/stringSet-aa544ce5.js.map +0 -1
  437. package/index-8c72a94a.js.map +0 -1
  438. package/stringSet-4f6eaa60.js.map +0 -1
@@ -2,28 +2,29 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ui_Modal = require('../../ui/Modal.js');
5
- var ui_Button = require('../../index-1044f1ed.js');
6
- var LocalizationContext = require('../../LocalizationContext-68e55e2a.js');
7
- var Channel_context = require('../../ChannelProvider-f1fb0108.js');
5
+ var ui_Button = require('../../index-22f07209.js');
6
+ var LocalizationContext = require('../../LocalizationContext-3b5ce8ae.js');
7
+ var Channel_context = require('../../ChannelProvider-e0aaab26.js');
8
8
  require('prop-types');
9
9
  require('react-dom');
10
- require('../../index-aecc8d24.js');
10
+ require('../../index-ed053e45.js');
11
11
  require('../../ui/IconButton.js');
12
- require('../../_rollupPluginBabelHelpers-fc14118c.js');
12
+ require('../../_rollupPluginBabelHelpers-e54d2387.js');
13
13
  require('../../ui/Icon.js');
14
- require('../../index-1468d245.js');
15
- require('../../stringSet-aa544ce5.js');
16
- require('../../utils-3b0815dc.js');
17
- require('../../index-e2bb862c.js');
18
- require('../../UserProfileContext-3533547d.js');
14
+ require('../../index-21f31180.js');
15
+ require('../../stringSet-f4da182b.js');
16
+ require('../../utils-c55d20dc.js');
17
+ require('../../index-d9439e95.js');
18
+ require('../../UserProfileContext-f0bdfbb8.js');
19
19
  require('../../useSendbirdStateContext.js');
20
20
  require('../../withSendBird.js');
21
- require('../../index-905331fa.js');
22
- require('../../topics-8314d425.js');
23
- require('../../index-d4880236.js');
24
- require('../../tslib.es6-4a281a05.js');
25
- require('../../compareIds-01306377.js');
26
- require('../../uuid-1d5ec8b2.js');
21
+ require('../../index-0159bc57.js');
22
+ require('../../topics-c2c30f09.js');
23
+ require('../../index-002a349d.js');
24
+ require('../../tslib.es6-d7d0a427.js');
25
+ require('../../compareIds-176a582b.js');
26
+ require('../../const-ccf192c5.js');
27
+ require('../../uuid-ba6cc3c5.js');
27
28
  require('../../ui/ContextMenu.js');
28
29
  require('../../ui/SortByRow.js');
29
30
  require('../../ui/ReactionButton.js');
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannel } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannel();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannel","React","Modal","ButtonTypes","DANGER","threadInfo","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,QAAQ,GAEND,KAAK,SAFP;AAAA,MACAE,OAAO,GACLF,KAAK,QAFP;AAGM,MAAAG,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AAEN,MAAAC,aAAa,GACXC,0BAAU,gBADZ;AAEF,sBACEC,wCAACC,mBAAD;AACE,IAAA,IAAI,EAAEC,qBAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAT,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEU,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEZ,QAHZ;AAIE,IAAA,QAAQ,EAAE;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBY,IAAvB,CAA4B;AAC5Cb,QAAAA,QAAQ;AACT,OAFiB;AAEd,KANN;AAOE,IAAA,UAAU,EAAEE,SAAS,CAACY,oBAPxB;AAQE,IAAA,SAAS,EAAEZ,SAAS,CAACa;AARvB,IADF;AAYD;;;;"}
1
+ {"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannel } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannel();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannel","React","Modal","ButtonTypes","DANGER","threadInfo","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,QAAQ,GAEND,KAAK,SAFP;AAAA,MACAE,OAAO,GACLF,KAAK,QAFP;AAGM,MAAAG,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AAEN,MAAAC,aAAa,GACXC,0BAAU,gBADZ;AAEF,sBACEC,wCAACC,mBAAD;AACE,IAAA,IAAI,EAAEC,qBAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAT,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEU,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEZ,QAHZ;AAIE,IAAA,QAAQ,EAAE;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBY,IAAvB,CAA4B;AAC5Cb,QAAAA,QAAQ;AACT,OAFiB;AAEd,KANN;AAOE,IAAA,UAAU,EAAEE,SAAS,CAACY,oBAPxB;AAQE,IAAA,SAAS,EAAEZ,SAAS,CAACa;AARvB,IADF;AAYD;;;;"}
@@ -0,0 +1,256 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ui_Label = require('../../index-21f31180.js');
5
+ var ui_Icon = require('../../ui/Icon.js');
6
+ var ui_Avatar = require('../../ui/Avatar.js');
7
+ var LocalizationContext = require('../../LocalizationContext-3b5ce8ae.js');
8
+ var Channel_context = require('../../ChannelProvider-e0aaab26.js');
9
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
10
+ var _const$1 = require('../../const-ccf192c5.js');
11
+ var _const = require('../../const-4bf0e8b4.js');
12
+ require('../../_rollupPluginBabelHelpers-e54d2387.js');
13
+ require('prop-types');
14
+ require('../../stringSet-f4da182b.js');
15
+ require('../../tslib.es6-d7d0a427.js');
16
+ require('../../ui/ImageRenderer.js');
17
+ require('../../uuid-ba6cc3c5.js');
18
+ require('../../index-d9439e95.js');
19
+ require('../../UserProfileContext-f0bdfbb8.js');
20
+ require('../../index-0159bc57.js');
21
+ require('../../topics-c2c30f09.js');
22
+ require('../../index-002a349d.js');
23
+ require('../../compareIds-176a582b.js');
24
+ require('../../ui/ContextMenu.js');
25
+ require('react-dom');
26
+ require('../../ui/SortByRow.js');
27
+ require('../../ui/ReactionButton.js');
28
+ require('../../withSendBird.js');
29
+
30
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
+
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+
34
+ function SuggestedUserMentionItem(props) {
35
+ var member = props.member,
36
+ _a = props.isFocused,
37
+ isFocused = _a === void 0 ? false : _a,
38
+ onClick = props.onClick,
39
+ onMouseOver = props.onMouseOver,
40
+ renderUserMentionItem = props.renderUserMentionItem;
41
+ var scrollRef = React.useRef(null);
42
+ var _b = React.useContext(LocalizationContext.LocalizationContext).stringSet,
43
+ stringSet = _b === void 0 ? {} : _b;
44
+ React.useEffect(function () {
45
+ var _a;
46
+
47
+ if (isFocused) {
48
+ (_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
49
+ block: 'center',
50
+ inline: 'center'
51
+ });
52
+ }
53
+ }, [isFocused]);
54
+ var customMentionItem = React.useMemo(function () {
55
+ if (renderUserMentionItem) {
56
+ return /*#__PURE__*/React__default["default"].createElement("div", {
57
+ className: "sendbird-mention-suggest-list__user-item",
58
+ onClick: onClick,
59
+ onMouseOver: onMouseOver,
60
+ key: member.nickname,
61
+ ref: scrollRef
62
+ }, renderUserMentionItem({
63
+ user: member
64
+ }));
65
+ }
66
+ }, [renderUserMentionItem]);
67
+
68
+ if (customMentionItem) {
69
+ return customMentionItem;
70
+ }
71
+
72
+ return /*#__PURE__*/React__default["default"].createElement("div", {
73
+ className: "sendbird-mention-suggest-list__user-item " + (isFocused ? 'focused' : ''),
74
+ onClick: onClick,
75
+ onMouseOver: onMouseOver,
76
+ key: member.nickname,
77
+ ref: scrollRef
78
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
79
+ className: "sendbird-mention-suggest-list__user-item__avatar",
80
+ src: member === null || member === void 0 ? void 0 : member.profileUrl,
81
+ alt: "user-profile",
82
+ width: "24px",
83
+ height: "24px"
84
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
85
+ className: "sendbird-mention-suggest-list__user-item__nickname",
86
+ type: ui_Label.LabelTypography.SUBTITLE_2,
87
+ color: (member === null || member === void 0 ? void 0 : member.nickname) ? ui_Label.LabelColors.ONBACKGROUND_1 : ui_Label.LabelColors.ONBACKGROUND_3
88
+ }, (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, {
89
+ className: "sendbird-mention-suggest-list__user-item__user-id",
90
+ type: ui_Label.LabelTypography.SUBTITLE_2,
91
+ color: ui_Label.LabelColors.ONBACKGROUND_2
92
+ }, member === null || member === void 0 ? void 0 : member.userId));
93
+ }
94
+
95
+ var DEBOUNCING_TIME = 300;
96
+
97
+ function SuggestedMentionList(props) {
98
+ var _a, _b, _c;
99
+
100
+ var _d = props.targetNickname,
101
+ targetNickname = _d === void 0 ? '' : _d,
102
+ // memberListQuery,
103
+ onUserItemClick = props.onUserItemClick,
104
+ onFocusItemChange = props.onFocusItemChange,
105
+ onFetchUsers = props.onFetchUsers,
106
+ renderUserMentionItem = props.renderUserMentionItem,
107
+ inputEvent = props.inputEvent,
108
+ _e = props.ableAddMention,
109
+ ableAddMention = _e === void 0 ? true : _e,
110
+ _f = props.maxMentionCount,
111
+ maxMentionCount = _f === void 0 ? _const$1.MAX_USER_MENTION_COUNT : _f,
112
+ _g = props.maxSuggestionCount,
113
+ maxSuggestionCount = _g === void 0 ? _const$1.MAX_USER_SUGGESTION_COUNT : _g;
114
+
115
+ var _h = useSendbirdStateContext(),
116
+ config = _h.config,
117
+ stores = _h.stores;
118
+
119
+ var logger = config.logger;
120
+ 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) || '';
121
+ var currentGroupChannel = Channel_context.useChannel().currentGroupChannel;
122
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
123
+
124
+ var _j = React.useState(null),
125
+ timer = _j[0],
126
+ setTimer = _j[1];
127
+
128
+ var _k = React.useState(''),
129
+ searchString = _k[0],
130
+ setSearchString = _k[1];
131
+
132
+ var _l = React.useState(''),
133
+ lastSearchString = _l[0],
134
+ setLastSearchString = _l[1];
135
+
136
+ var _m = React.useState(null),
137
+ currentUser = _m[0],
138
+ setCurrentUser = _m[1];
139
+
140
+ var _o = React.useState(null),
141
+ mouseOverUser = _o[0],
142
+ setMouseOverUser = _o[1];
143
+
144
+ var _p = React.useState([]),
145
+ currentMemberList = _p[0],
146
+ setCurrentMemberList = _p[1];
147
+
148
+ React.useEffect(function () {
149
+ clearTimeout(timer);
150
+ setTimer(setTimeout(function () {
151
+ setSearchString(targetNickname);
152
+ }, DEBOUNCING_TIME));
153
+ }, [targetNickname]);
154
+ React.useEffect(function () {
155
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.Enter) {
156
+ if (currentMemberList.length > 0) {
157
+ onUserItemClick(currentUser);
158
+ }
159
+ }
160
+
161
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowUp) {
162
+ var currentUserIndex = currentMemberList.findIndex(function (member) {
163
+ return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
164
+ });
165
+
166
+ if (0 < currentUserIndex) {
167
+ setCurrentUser(currentMemberList[currentUserIndex - 1]);
168
+ onFocusItemChange(currentMemberList[currentUserIndex - 1]);
169
+ }
170
+ }
171
+
172
+ if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowDown) {
173
+ var currentUserIndex = currentMemberList.findIndex(function (member) {
174
+ return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
175
+ });
176
+
177
+ if (currentUserIndex < currentMemberList.length - 1) {
178
+ setCurrentUser(currentMemberList[currentUserIndex + 1]);
179
+ onFocusItemChange(currentMemberList[currentUserIndex + 1]);
180
+ }
181
+ }
182
+ }, [inputEvent]);
183
+ /* Fetch member list */
184
+
185
+ React.useEffect(function () {
186
+ if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {
187
+ logger.warning('SuggestedMentionList: Creating member list query failed');
188
+ return;
189
+ }
190
+
191
+ if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {
192
+ // Don't need to request query again
193
+ return;
194
+ }
195
+
196
+ var query = currentGroupChannel.createMemberListQuery();
197
+ query.limit = maxSuggestionCount;
198
+ query.nicknameStartsWithFilter = searchString.slice(_const$1.USER_MENTION_TEMP_CHAR.length); // Add member list query for customization
199
+
200
+ query.next(function (memberList, error) {
201
+ if (error) {
202
+ logger.error('SuggestedMentionList: Fetching member list failed', error);
203
+ }
204
+
205
+ if (memberList.length < 1) {
206
+ logger.info('SuggestedMentionList: Fetched member list is empty');
207
+ } else {
208
+ logger.info('SuggestedMentionList: Fetching member list succeeded', {
209
+ memberListQuery: query,
210
+ memberList: memberList
211
+ });
212
+ setCurrentUser(memberList[0]);
213
+ }
214
+
215
+ setLastSearchString(searchString);
216
+ onFetchUsers(memberList);
217
+ setCurrentMemberList(memberList.filter(function (member) {
218
+ return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
219
+ }));
220
+ });
221
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, searchString]);
222
+ return /*#__PURE__*/React__default["default"].createElement("div", {
223
+ className: "sendbird-mention-suggest-list",
224
+ onMouseLeave: function onMouseLeave() {
225
+ if (mouseOverUser) {
226
+ setCurrentUser(mouseOverUser);
227
+ }
228
+ }
229
+ }, ableAddMention && (currentMemberList === null || currentMemberList === void 0 ? void 0 : currentMemberList.map(function (member) {
230
+ return /*#__PURE__*/React__default["default"].createElement(SuggestedUserMentionItem, {
231
+ key: member === null || member === void 0 ? void 0 : member.nickname,
232
+ member: member,
233
+ isFocused: (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId),
234
+ onClick: function onClick() {
235
+ onUserItemClick(member);
236
+ },
237
+ onMouseOver: function onMouseOver() {
238
+ setMouseOverUser(member);
239
+ },
240
+ renderUserMentionItem: renderUserMentionItem
241
+ });
242
+ })), !ableAddMention && /*#__PURE__*/React__default["default"].createElement("div", {
243
+ className: "sendbird-mention-suggest-list__notice-item"
244
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
245
+ className: "sendbird-mention-suggest-list__notice-item__icon",
246
+ type: ui_Icon.IconTypes.INFO,
247
+ fillColor: ui_Icon.IconColors.ON_BACKGROUND_2
248
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
249
+ className: "sendbird-mention-suggest-list__notice-item__text",
250
+ type: ui_Label.LabelTypography.SUBTITLE_2,
251
+ color: ui_Label.LabelColors.ONBACKGROUND_2
252
+ }, stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount))));
253
+ }
254
+
255
+ module.exports = SuggestedMentionList;
256
+ //# 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';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport SendBird from 'sendbird';\n\ninterface SuggestedUserMentionItemProps {\n member: SendBird.User;\n isFocused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n onClick,\n onMouseOver,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n scrollRef?.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\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={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\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 React, { useState, useEffect, useContext } from 'react';\nimport SendBird from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannel } 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';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: SendBird.User) => void;\n onFocusItemChange?: (member: SendBird.User) => void;\n onFetchUsers?: (users: Array<SendBird.User>) => void;\n renderUserMentionItem?: (props: { user: SendBird.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 } = useChannel();\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<SendBird.User>(null);\n const [mouseOverUser, setMouseOverUser] = useState<SendBird.User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<SendBird.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 || !currentGroupChannel.createMemberListQuery || !ableAddMention) {\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 query.limit = maxSuggestionCount;\n query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length);\n // Add member list query for customization\n query.next((memberList, error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n if (memberList.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList });\n setCurrentUser(memberList[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(memberList);\n setCurrentMemberList(memberList.filter((member) => currentUserId !== member?.userId));\n });\n }, [currentGroupChannel?.url, searchString]);\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n onMouseLeave={() => {\n if (mouseOverUser) {\n setCurrentUser(mouseOverUser);\n }\n }}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.nickname}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n onClick={() => {\n onUserItemClick(member);\n }}\n onMouseOver={() => {\n setMouseOverUser(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 />\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","onClick","onMouseOver","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollIntoView","block","inline","customMentionItem","useMemo","React","nickname","user","Avatar","profileUrl","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","userId","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","useChannel","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","mouseOverUser","setMouseOverUser","_p","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","memberList","error","info","memberListQuery","filter","url","map","Icon","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
@@ -1,21 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-68e55e2a.js');
5
- var uuid = require('../../uuid-1d5ec8b2.js');
6
- var ui_Label = require('../../index-1468d245.js');
7
- var Channel_context = require('../../ChannelProvider-f1fb0108.js');
4
+ var LocalizationContext = require('../../LocalizationContext-3b5ce8ae.js');
5
+ var uuid = require('../../uuid-ba6cc3c5.js');
6
+ var ui_Label = require('../../index-21f31180.js');
7
+ var Channel_context = require('../../ChannelProvider-e0aaab26.js');
8
8
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
9
- require('../../stringSet-aa544ce5.js');
10
- require('../../index-e2bb862c.js');
11
- require('../../_rollupPluginBabelHelpers-fc14118c.js');
9
+ require('../../stringSet-f4da182b.js');
10
+ require('../../index-d9439e95.js');
11
+ require('../../_rollupPluginBabelHelpers-e54d2387.js');
12
12
  require('prop-types');
13
- require('../../UserProfileContext-3533547d.js');
14
- require('../../index-905331fa.js');
15
- require('../../topics-8314d425.js');
16
- require('../../index-d4880236.js');
17
- require('../../tslib.es6-4a281a05.js');
18
- require('../../compareIds-01306377.js');
13
+ require('../../UserProfileContext-f0bdfbb8.js');
14
+ require('../../index-0159bc57.js');
15
+ require('../../topics-c2c30f09.js');
16
+ require('../../index-002a349d.js');
17
+ require('../../tslib.es6-d7d0a427.js');
18
+ require('../../compareIds-176a582b.js');
19
+ require('../../const-ccf192c5.js');
19
20
  require('../../ui/ContextMenu.js');
20
21
  require('react-dom');
21
22
  require('../../ui/SortByRow.js');
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sources":["../../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport SendBird from 'sendbird';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannel } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: SendBird.Member[];\n}\n\nconst 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 } = useChannel();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<SendBird.Member[]>([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingMembers();\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(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","useChannel","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","ChannelHandler","removeChannelHandler","newHandlerId","handler","onTypingStatusUpdated","groupChannel","info","url","getTypingMembers","addChannelHandler","React","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"TypingIndicator.js","sources":["../../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport SendBird from 'sendbird';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannel } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: SendBird.Member[];\n}\n\nconst 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 } = useChannel();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<SendBird.Member[]>([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingMembers();\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(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","useChannel","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","ChannelHandler","removeChannelHandler","newHandlerId","handler","onTypingStatusUpdated","groupChannel","info","url","getTypingMembers","addChannelHandler","React","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-68e55e2a.js');
5
- var ui_Label = require('../../index-1468d245.js');
4
+ var LocalizationContext = require('../../LocalizationContext-3b5ce8ae.js');
5
+ var ui_Label = require('../../index-21f31180.js');
6
6
  var ui_Icon = require('../../ui/Icon.js');
7
- require('../../stringSet-aa544ce5.js');
8
- require('../../index-e2bb862c.js');
9
- require('../../_rollupPluginBabelHelpers-fc14118c.js');
7
+ require('../../stringSet-f4da182b.js');
8
+ require('../../index-d9439e95.js');
9
+ require('../../_rollupPluginBabelHelpers-e54d2387.js');
10
10
  require('prop-types');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -3,22 +3,23 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- require('../UserProfileContext-3533547d.js');
6
+ require('../UserProfileContext-f0bdfbb8.js');
7
7
  require('../useSendbirdStateContext.js');
8
- var Channel_context = require('../ChannelProvider-f1fb0108.js');
8
+ var Channel_context = require('../ChannelProvider-e0aaab26.js');
9
9
  require('prop-types');
10
10
  require('../withSendBird.js');
11
- require('../_rollupPluginBabelHelpers-fc14118c.js');
12
- require('../index-905331fa.js');
13
- require('../index-e2bb862c.js');
14
- require('../topics-8314d425.js');
15
- require('../index-d4880236.js');
16
- require('../tslib.es6-4a281a05.js');
17
- require('../compareIds-01306377.js');
18
- require('../uuid-1d5ec8b2.js');
11
+ require('../_rollupPluginBabelHelpers-e54d2387.js');
12
+ require('../index-0159bc57.js');
13
+ require('../index-d9439e95.js');
14
+ require('../topics-c2c30f09.js');
15
+ require('../index-002a349d.js');
16
+ require('../tslib.es6-d7d0a427.js');
17
+ require('../compareIds-176a582b.js');
18
+ require('../const-ccf192c5.js');
19
+ require('../uuid-ba6cc3c5.js');
19
20
  require('../ui/ContextMenu.js');
20
- require('../index-1468d245.js');
21
- require('../stringSet-aa544ce5.js');
21
+ require('../index-21f31180.js');
22
+ require('../stringSet-f4da182b.js');
22
23
  require('react-dom');
23
24
  require('../ui/SortByRow.js');
24
25
  require('../ui/ReactionButton.js');
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/cjs/Channel.js CHANGED
@@ -1,47 +1,53 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Channel_context = require('./ChannelProvider-f1fb0108.js');
4
+ var Channel_context = require('./ChannelProvider-e0aaab26.js');
5
5
  var Channel_components_ChannelUI = require('./Channel/components/ChannelUI.js');
6
- require('./UserProfileContext-3533547d.js');
6
+ require('./UserProfileContext-f0bdfbb8.js');
7
7
  require('prop-types');
8
8
  require('./useSendbirdStateContext.js');
9
9
  require('./withSendBird.js');
10
- require('./_rollupPluginBabelHelpers-fc14118c.js');
11
- require('./index-905331fa.js');
12
- require('./index-e2bb862c.js');
13
- require('./topics-8314d425.js');
14
- require('./index-d4880236.js');
15
- require('./tslib.es6-4a281a05.js');
16
- require('./compareIds-01306377.js');
17
- require('./uuid-1d5ec8b2.js');
10
+ require('./_rollupPluginBabelHelpers-e54d2387.js');
11
+ require('./index-0159bc57.js');
12
+ require('./index-d9439e95.js');
13
+ require('./topics-c2c30f09.js');
14
+ require('./index-002a349d.js');
15
+ require('./tslib.es6-d7d0a427.js');
16
+ require('./compareIds-176a582b.js');
17
+ require('./const-ccf192c5.js');
18
+ require('./uuid-ba6cc3c5.js');
18
19
  require('./ui/ContextMenu.js');
19
- require('./index-1468d245.js');
20
- require('./stringSet-aa544ce5.js');
20
+ require('./index-21f31180.js');
21
+ require('./stringSet-f4da182b.js');
21
22
  require('react-dom');
22
23
  require('./ui/SortByRow.js');
23
24
  require('./ui/ReactionButton.js');
24
25
  require('./ui/ImageRenderer.js');
25
26
  require('./ui/Icon.js');
26
- require('./index-659c9ca5.js');
27
+ require('./index-d4f42e73.js');
27
28
  require('./ui/Loader.js');
28
- require('./LocalizationContext-68e55e2a.js');
29
+ require('./LocalizationContext-3b5ce8ae.js');
29
30
  require('./ui/ConnectionStatus.js');
30
31
  require('./Channel/components/ChannelHeader.js');
31
32
  require('./ui/IconButton.js');
32
33
  require('./ui/ChannelAvatar.js');
33
34
  require('./ui/Avatar.js');
34
- require('./utils-66b3f4ec.js');
35
+ require('./utils-b95288a8.js');
35
36
  require('./Channel/components/MessageList.js');
36
- require('./index-9dc3863f.js');
37
+ require('./index-c0693be4.js');
37
38
  require('./Channel/components/Message.js');
39
+ require('./Channel/components/SuggestedMentionList.js');
40
+ require('./const-4bf0e8b4.js');
38
41
  require('./ui/DateSeparator.js');
39
- require('./color-4afb15fb.js');
42
+ require('./color-0f078673.js');
40
43
  require('./ui/MessageInput.js');
41
- require('./index-1044f1ed.js');
44
+ require('stream');
45
+ require('./index-22f07209.js');
46
+ require('./ui/MentionUserLabel.js');
42
47
  require('./ui/MessageContent.js');
43
48
  require('./ui/UserProfile.js');
44
49
  require('./sendBirdSelectors.js');
50
+ require('./ui/MessageStatus.js');
45
51
  require('./ui/MessageItemMenu.js');
46
52
  require('./ui/MessageItemReactionMenu.js');
47
53
  require('./ui/EmojiReactions.js');
@@ -50,18 +56,19 @@ require('./ui/TooltipWrapper.js');
50
56
  require('./ui/ReactionBadge.js');
51
57
  require('./ui/AdminMessage.js');
52
58
  require('./ui/TextMessageItemBody.js');
59
+ require('./index-723733db.js');
60
+ require('./ui/LinkLabel.js');
53
61
  require('./ui/FileMessageItemBody.js');
54
62
  require('./ui/TextButton.js');
55
63
  require('./ui/ThumbnailMessageItemBody.js');
56
64
  require('./ui/OGMessageItemBody.js');
57
- require('./ui/LinkLabel.js');
58
65
  require('./ui/UnknownMessageItemBody.js');
59
66
  require('./ui/QuoteMessage.js');
60
67
  require('./Channel/components/FileViewer.js');
61
- require('./index-aecc8d24.js');
68
+ require('./index-ed053e45.js');
62
69
  require('./Channel/components/RemoveMessageModal.js');
63
70
  require('./ui/Modal.js');
64
- require('./utils-3b0815dc.js');
71
+ require('./utils-c55d20dc.js');
65
72
  require('./Channel/components/TypingIndicator.js');
66
73
  require('./Channel/components/FrozenNotification.js');
67
74
  require('./Channel/components/UnreadCount.js');
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.js","sources":["../../src/smart-components/Channel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ChannelProvider,\n ChannelContextProps,\n} from './context/ChannelProvider';\n\nimport ChannelUI, { ChannelUIProps } from './components/ChannelUI';\nexport interface ChannelProps extends ChannelContextProps, ChannelUIProps {\n}\n\nconst Channel: React.FC<ChannelProps> = (props: ChannelProps) => {\n return (\n <ChannelProvider\n channelUrl={props?.channelUrl}\n useMessageGrouping={props?.useMessageGrouping}\n useReaction={props?.useReaction}\n showSearchIcon={props?.showSearchIcon}\n highlightedMessage={props?.highlightedMessage}\n startingPoint={props?.startingPoint}\n onBeforeSendUserMessage={props?.onBeforeSendUserMessage}\n onBeforeSendFileMessage={props?.onBeforeSendFileMessage}\n onBeforeUpdateUserMessage={props?.onBeforeUpdateUserMessage}\n onChatHeaderActionClick={props?.onChatHeaderActionClick}\n onSearchClick={props?.onSearchClick}\n replyType={props?.replyType}\n queries={props?.queries}\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <ChannelUI\n renderPlaceholderLoader={props?.renderPlaceholderLoader}\n renderPlaceholderInvalid={props?.renderPlaceholderInvalid}\n renderPlaceholderEmpty={props?.renderPlaceholderEmpty}\n renderChannelHeader={props?.renderChannelHeader}\n renderMessage={props?.renderMessage}\n renderMessageInput={props?.renderMessageInput}\n renderTypingIndicator={props?.renderTypingIndicator}\n renderCustomSeperator={props?.renderCustomSeperator}\n />\n </ChannelProvider>\n );\n};\n\nexport default Channel;\n"],"names":["Channel","props","React","ChannelProvider","channelUrl","useMessageGrouping","useReaction","showSearchIcon","highlightedMessage","startingPoint","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onChatHeaderActionClick","onSearchClick","replyType","queries","renderUserProfile","disableUserProfile","ChannelUI","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeperator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAA2B,SAAlCA,OAAkC,CAACC,KAAD;AACtC,sBACEC,wCAACC,+BAAD;AACE,IAAA,UAAU,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,UADrB;AAEE,IAAA,kBAAkB,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,kBAF7B;AAGE,IAAA,WAAW,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,WAHtB;AAIE,IAAA,cAAc,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,cAJzB;AAKE,IAAA,kBAAkB,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,kBAL7B;AAME,IAAA,aAAa,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,aANxB;AAOE,IAAA,uBAAuB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,uBAPlC;AAQE,IAAA,uBAAuB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,uBARlC;AASE,IAAA,yBAAyB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,yBATpC;AAUE,IAAA,uBAAuB,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,uBAVlC;AAWE,IAAA,aAAa,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,aAXxB;AAYE,IAAA,SAAS,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,SAZpB;AAaE,IAAA,OAAO,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,OAblB;AAcE,IAAA,iBAAiB,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB,iBAd5B;AAeE,IAAA,kBAAkB,EAAEhB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB;AAf7B,kBAiBEhB,wCAACiB,4BAAD;AACE,IAAA,uBAAuB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB,uBADlC;AAEE,IAAA,wBAAwB,EAAEnB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEoB,wBAFnC;AAGE,IAAA,sBAAsB,EAAEpB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEqB,sBAHjC;AAIE,IAAA,mBAAmB,EAAErB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEsB,mBAJ9B;AAKE,IAAA,aAAa,EAAEtB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEuB,aALxB;AAME,IAAA,kBAAkB,EAAEvB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEwB,kBAN7B;AAOE,IAAA,qBAAqB,EAAExB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEyB,qBAPhC;AAQE,IAAA,qBAAqB,EAAEzB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE0B;AARhC,IAjBF,CADF;AA8BD;;;;"}
1
+ {"version":3,"file":"Channel.js","sources":["../../src/smart-components/Channel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ChannelProvider,\n ChannelContextProps,\n} from './context/ChannelProvider';\n\nimport ChannelUI, { ChannelUIProps } from './components/ChannelUI';\nexport interface ChannelProps extends ChannelContextProps, ChannelUIProps {\n}\n\nconst Channel: React.FC<ChannelProps> = (props: ChannelProps) => {\n return (\n <ChannelProvider\n channelUrl={props?.channelUrl}\n useMessageGrouping={props?.useMessageGrouping}\n useReaction={props?.useReaction}\n showSearchIcon={props?.showSearchIcon}\n highlightedMessage={props?.highlightedMessage}\n startingPoint={props?.startingPoint}\n onBeforeSendUserMessage={props?.onBeforeSendUserMessage}\n onBeforeSendFileMessage={props?.onBeforeSendFileMessage}\n onBeforeUpdateUserMessage={props?.onBeforeUpdateUserMessage}\n onChatHeaderActionClick={props?.onChatHeaderActionClick}\n onSearchClick={props?.onSearchClick}\n replyType={props?.replyType}\n queries={props?.queries}\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <ChannelUI\n renderPlaceholderLoader={props?.renderPlaceholderLoader}\n renderPlaceholderInvalid={props?.renderPlaceholderInvalid}\n renderPlaceholderEmpty={props?.renderPlaceholderEmpty}\n renderChannelHeader={props?.renderChannelHeader}\n renderMessage={props?.renderMessage}\n renderMessageInput={props?.renderMessageInput}\n renderTypingIndicator={props?.renderTypingIndicator}\n renderCustomSeperator={props?.renderCustomSeperator}\n />\n </ChannelProvider>\n );\n};\n\nexport default Channel;\n"],"names":["Channel","props","React","ChannelProvider","channelUrl","useMessageGrouping","useReaction","showSearchIcon","highlightedMessage","startingPoint","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onChatHeaderActionClick","onSearchClick","replyType","queries","renderUserProfile","disableUserProfile","ChannelUI","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeperator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAA2B,SAAlCA,OAAkC,CAACC,KAAD;AACtC,sBACEC,wCAACC,+BAAD;AACE,IAAA,UAAU,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,UADrB;AAEE,IAAA,kBAAkB,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,kBAF7B;AAGE,IAAA,WAAW,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,WAHtB;AAIE,IAAA,cAAc,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,cAJzB;AAKE,IAAA,kBAAkB,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,kBAL7B;AAME,IAAA,aAAa,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,aANxB;AAOE,IAAA,uBAAuB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,uBAPlC;AAQE,IAAA,uBAAuB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,uBARlC;AASE,IAAA,yBAAyB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,yBATpC;AAUE,IAAA,uBAAuB,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,uBAVlC;AAWE,IAAA,aAAa,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,aAXxB;AAYE,IAAA,SAAS,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,SAZpB;AAaE,IAAA,OAAO,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,OAblB;AAcE,IAAA,iBAAiB,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB,iBAd5B;AAeE,IAAA,kBAAkB,EAAEhB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB;AAf7B,kBAiBEhB,wCAACiB,4BAAD;AACE,IAAA,uBAAuB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB,uBADlC;AAEE,IAAA,wBAAwB,EAAEnB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEoB,wBAFnC;AAGE,IAAA,sBAAsB,EAAEpB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEqB,sBAHjC;AAIE,IAAA,mBAAmB,EAAErB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEsB,mBAJ9B;AAKE,IAAA,aAAa,EAAEtB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEuB,aALxB;AAME,IAAA,kBAAkB,EAAEvB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEwB,kBAN7B;AAOE,IAAA,qBAAqB,EAAExB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEyB,qBAPhC;AAQE,IAAA,qBAAqB,EAAEzB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE0B;AARhC,IAjBF,CADF;AA8BD;;;;"}