@sendbird/uikit-react 3.2.6 → 3.3.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 (529) hide show
  1. package/App.js +163 -71
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +40 -0
  4. package/Channel/components/ChannelHeader.js +18 -43
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -23
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -14
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +49 -24
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +21 -16
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +30 -32
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +16 -16
  17. package/Channel/components/SuggestedMentionList.js +54 -48
  18. package/Channel/components/SuggestedMentionList.js.map +1 -1
  19. package/Channel/components/TypingIndicator.js +14 -14
  20. package/Channel/components/UnreadCount.js +4 -4
  21. package/Channel/context.js +13 -13
  22. package/Channel.js +35 -24
  23. package/Channel.js.map +1 -1
  24. package/ChannelList/components/AddChannel.js +14 -14
  25. package/ChannelList/components/ChannelListHeader.js +7 -7
  26. package/ChannelList/components/ChannelListUI.js +28 -27
  27. package/ChannelList/components/ChannelListUI.js.map +1 -1
  28. package/ChannelList/components/ChannelPreview.js +26 -24
  29. package/ChannelList/components/ChannelPreview.js.map +1 -1
  30. package/ChannelList/components/ChannelPreviewAction.js +32 -25
  31. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +27 -27
  34. package/{ChannelListProvider-6596e633.js → ChannelListProvider-6916e880.js} +8 -8
  35. package/{ChannelListProvider-6596e633.js.map → ChannelListProvider-6916e880.js.map} +1 -1
  36. package/{ChannelProvider-5e995fe8.js → ChannelProvider-8be62d5d.js} +90 -47
  37. package/ChannelProvider-8be62d5d.js.map +1 -0
  38. package/ChannelSettings/components/ChannelProfile.js +12 -12
  39. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  40. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  41. package/ChannelSettings/components/LeaveChannel.js +12 -12
  42. package/ChannelSettings/components/ModerationPanel.js +24 -19
  43. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  44. package/ChannelSettings/components/UserListItem.js +13 -13
  45. package/ChannelSettings/components/UserListItem.js.map +1 -1
  46. package/ChannelSettings/components/UserPanel.js +14 -14
  47. package/ChannelSettings/context.js +3 -3
  48. package/ChannelSettings.js +18 -18
  49. package/CreateChannel/components/CreateChannelUI.js +14 -14
  50. package/CreateChannel/components/InviteUsers.js +14 -14
  51. package/CreateChannel/components/SelectChannelType.js +11 -11
  52. package/CreateChannel/context.js +4 -4
  53. package/CreateChannel.js +14 -14
  54. package/{CreateChannelProvider-fc0268d6.js → CreateChannelProvider-4604e579.js} +1 -1
  55. package/{CreateChannelProvider-fc0268d6.js.map → CreateChannelProvider-4604e579.js.map} +1 -1
  56. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  57. package/CreateOpenChannel/context.js +1 -1
  58. package/CreateOpenChannel.js +10 -10
  59. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  60. package/EditUserProfile.js +13 -13
  61. package/{LocalizationContext-a90809c7.js → LocalizationContext-5920dafc.js} +3 -3
  62. package/{LocalizationContext-a90809c7.js.map → LocalizationContext-5920dafc.js.map} +1 -1
  63. package/{MediaQueryContext-280871f5.js → MediaQueryContext-9c1bb79f.js} +1 -1
  64. package/{MediaQueryContext-280871f5.js.map → MediaQueryContext-9c1bb79f.js.map} +1 -1
  65. package/{MemberList-25c34d5b.js → MemberList-743b0708.js} +7 -6
  66. package/MemberList-743b0708.js.map +1 -0
  67. package/MessageSearch/components/MessageSearchUI.js +11 -11
  68. package/MessageSearch/context.js +2 -2
  69. package/MessageSearch.js +11 -11
  70. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  71. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  72. package/OpenChannel/components/OpenChannelInput.js +15 -15
  73. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  74. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  75. package/OpenChannel/components/OpenChannelUI.js +24 -24
  76. package/OpenChannel/context.js +9 -9
  77. package/OpenChannel.js +24 -24
  78. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  79. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  80. package/OpenChannelList/context.js +4 -4
  81. package/OpenChannelList.js +13 -13
  82. package/{OpenChannelListProvider-9b77cf19.js → OpenChannelListProvider-8f97ace6.js} +3 -3
  83. package/{OpenChannelListProvider-9b77cf19.js.map → OpenChannelListProvider-8f97ace6.js.map} +1 -1
  84. package/{OpenChannelProvider-911f3536.js → OpenChannelProvider-1438b899.js} +7 -7
  85. package/OpenChannelProvider-1438b899.js.map +1 -0
  86. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  87. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  88. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  89. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  90. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  91. package/OpenChannelSettings/context.js +3 -3
  92. package/OpenChannelSettings.js +18 -18
  93. package/RemoveMessageModal-0ce1f978.js +31 -0
  94. package/RemoveMessageModal-0ce1f978.js.map +1 -0
  95. package/SendbirdProvider.js +18 -14
  96. package/SendbirdProvider.js.map +1 -1
  97. package/Thread/components/ParentMessageInfo.js +360 -0
  98. package/Thread/components/ParentMessageInfo.js.map +1 -0
  99. package/Thread/components/ParentMessageInfoItem.js +197 -0
  100. package/Thread/components/ParentMessageInfoItem.js.map +1 -0
  101. package/Thread/components/ThreadHeader.js +61 -0
  102. package/Thread/components/ThreadHeader.js.map +1 -0
  103. package/Thread/components/ThreadList.js +139 -0
  104. package/Thread/components/ThreadList.js.map +1 -0
  105. package/Thread/components/ThreadListItem.js +522 -0
  106. package/Thread/components/ThreadListItem.js.map +1 -0
  107. package/Thread/components/ThreadMessageInput.js +193 -0
  108. package/Thread/components/ThreadMessageInput.js.map +1 -0
  109. package/Thread/components/ThreadUI.js +314 -0
  110. package/Thread/components/ThreadUI.js.map +1 -0
  111. package/Thread/context/types.js +30 -0
  112. package/Thread/context/types.js.map +1 -0
  113. package/Thread/context.js +18 -0
  114. package/Thread/context.js.map +1 -0
  115. package/Thread.js +112 -0
  116. package/Thread.js.map +1 -0
  117. package/ThreadProvider-4640c6fb.js +1644 -0
  118. package/ThreadProvider-4640c6fb.js.map +1 -0
  119. package/{UserProfileContext-4e70ef73.js → UserProfileContext-749db4f6.js} +1 -1
  120. package/{UserProfileContext-4e70ef73.js.map → UserProfileContext-749db4f6.js.map} +1 -1
  121. package/{_rollupPluginBabelHelpers-51c9f5c3.js → _rollupPluginBabelHelpers-636e674b.js} +1 -1
  122. package/_rollupPluginBabelHelpers-636e674b.js.map +1 -0
  123. package/{actionTypes-3dc172c6.js → actionTypes-9bf40e56.js} +1 -1
  124. package/{actionTypes-3dc172c6.js.map → actionTypes-9bf40e56.js.map} +1 -1
  125. package/cjs/App.js +163 -71
  126. package/cjs/App.js.map +1 -1
  127. package/cjs/Channel/components/ChannelHeader.js +20 -45
  128. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  129. package/cjs/Channel/components/ChannelUI.js +28 -23
  130. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  131. package/cjs/Channel/components/FileViewer.js +14 -14
  132. package/cjs/Channel/components/FrozenNotification.js +4 -4
  133. package/cjs/Channel/components/Message.js +49 -24
  134. package/cjs/Channel/components/Message.js.map +1 -1
  135. package/cjs/Channel/components/MessageInput.js +21 -16
  136. package/cjs/Channel/components/MessageInput.js.map +1 -1
  137. package/cjs/Channel/components/MessageList.js +30 -32
  138. package/cjs/Channel/components/MessageList.js.map +1 -1
  139. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  140. package/cjs/Channel/components/SuggestedMentionList.js +54 -48
  141. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  142. package/cjs/Channel/components/TypingIndicator.js +14 -14
  143. package/cjs/Channel/components/UnreadCount.js +4 -4
  144. package/cjs/Channel/context.js +14 -13
  145. package/cjs/Channel/context.js.map +1 -1
  146. package/cjs/Channel.js +35 -24
  147. package/cjs/Channel.js.map +1 -1
  148. package/cjs/ChannelList/components/AddChannel.js +14 -14
  149. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  150. package/cjs/ChannelList/components/ChannelListUI.js +28 -27
  151. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelPreview.js +26 -24
  153. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  154. package/cjs/ChannelList/components/ChannelPreviewAction.js +32 -25
  155. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  156. package/cjs/ChannelList/context.js +8 -8
  157. package/cjs/ChannelList.js +27 -27
  158. package/cjs/{ChannelListProvider-a61b57d9.js → ChannelListProvider-d04a3815.js} +8 -8
  159. package/cjs/{ChannelListProvider-a61b57d9.js.map → ChannelListProvider-d04a3815.js.map} +1 -1
  160. package/cjs/{ChannelProvider-4dd6e426.js → ChannelProvider-6fd99b0a.js} +90 -46
  161. package/cjs/ChannelProvider-6fd99b0a.js.map +1 -0
  162. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  163. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  164. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  165. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  166. package/cjs/ChannelSettings/components/ModerationPanel.js +24 -19
  167. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  168. package/cjs/ChannelSettings/components/UserListItem.js +13 -13
  169. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  170. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  171. package/cjs/ChannelSettings/context.js +3 -3
  172. package/cjs/ChannelSettings.js +18 -18
  173. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  174. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  175. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  176. package/cjs/CreateChannel/context.js +4 -4
  177. package/cjs/CreateChannel.js +14 -14
  178. package/cjs/{CreateChannelProvider-29af9e9c.js → CreateChannelProvider-a096e766.js} +1 -1
  179. package/cjs/{CreateChannelProvider-29af9e9c.js.map → CreateChannelProvider-a096e766.js.map} +1 -1
  180. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  181. package/cjs/CreateOpenChannel/context.js +1 -1
  182. package/cjs/CreateOpenChannel.js +10 -10
  183. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  184. package/cjs/EditUserProfile.js +13 -13
  185. package/cjs/{LocalizationContext-3c85c616.js → LocalizationContext-9c61d945.js} +3 -3
  186. package/cjs/{LocalizationContext-3c85c616.js.map → LocalizationContext-9c61d945.js.map} +1 -1
  187. package/cjs/{MediaQueryContext-c8f557d1.js → MediaQueryContext-19197e12.js} +1 -1
  188. package/cjs/{MediaQueryContext-c8f557d1.js.map → MediaQueryContext-19197e12.js.map} +1 -1
  189. package/cjs/{MemberList-0861d5f8.js → MemberList-82cd8a28.js} +7 -6
  190. package/cjs/MemberList-82cd8a28.js.map +1 -0
  191. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  192. package/cjs/MessageSearch/context.js +2 -2
  193. package/cjs/MessageSearch.js +11 -11
  194. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  195. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  196. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  197. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  198. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  199. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  200. package/cjs/OpenChannel/context.js +9 -9
  201. package/cjs/OpenChannel.js +24 -24
  202. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  203. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  204. package/cjs/OpenChannelList/context.js +4 -4
  205. package/cjs/OpenChannelList.js +13 -13
  206. package/cjs/{OpenChannelListProvider-934729b4.js → OpenChannelListProvider-3998074a.js} +3 -3
  207. package/cjs/{OpenChannelListProvider-934729b4.js.map → OpenChannelListProvider-3998074a.js.map} +1 -1
  208. package/cjs/{OpenChannelProvider-c05255cc.js → OpenChannelProvider-7bd784c2.js} +7 -7
  209. package/cjs/OpenChannelProvider-7bd784c2.js.map +1 -0
  210. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  211. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  212. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  213. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  214. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  215. package/cjs/OpenChannelSettings/context.js +3 -3
  216. package/cjs/OpenChannelSettings.js +18 -18
  217. package/cjs/RemoveMessageModal-81ca8cf7.js +37 -0
  218. package/cjs/RemoveMessageModal-81ca8cf7.js.map +1 -0
  219. package/cjs/SendbirdProvider.js +18 -14
  220. package/cjs/SendbirdProvider.js.map +1 -1
  221. package/cjs/Thread/components/ParentMessageInfo.js +366 -0
  222. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
  223. package/cjs/Thread/components/ParentMessageInfoItem.js +203 -0
  224. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -0
  225. package/cjs/Thread/components/ThreadHeader.js +67 -0
  226. package/cjs/Thread/components/ThreadHeader.js.map +1 -0
  227. package/cjs/Thread/components/ThreadList.js +145 -0
  228. package/cjs/Thread/components/ThreadList.js.map +1 -0
  229. package/cjs/Thread/components/ThreadListItem.js +528 -0
  230. package/cjs/Thread/components/ThreadListItem.js.map +1 -0
  231. package/cjs/Thread/components/ThreadMessageInput.js +199 -0
  232. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
  233. package/cjs/Thread/components/ThreadUI.js +320 -0
  234. package/cjs/Thread/components/ThreadUI.js.map +1 -0
  235. package/cjs/Thread/context/types.js +32 -0
  236. package/cjs/Thread/context/types.js.map +1 -0
  237. package/cjs/Thread/context.js +27 -0
  238. package/cjs/Thread/context.js.map +1 -0
  239. package/cjs/Thread.js +118 -0
  240. package/cjs/Thread.js.map +1 -0
  241. package/cjs/ThreadProvider-acb1ddb1.js +1653 -0
  242. package/cjs/ThreadProvider-acb1ddb1.js.map +1 -0
  243. package/cjs/{UserProfileContext-c16bb529.js → UserProfileContext-637e5f40.js} +1 -1
  244. package/cjs/{UserProfileContext-c16bb529.js.map → UserProfileContext-637e5f40.js.map} +1 -1
  245. package/cjs/{_rollupPluginBabelHelpers-23c0e950.js → _rollupPluginBabelHelpers-20ad87c1.js} +1 -1
  246. package/cjs/_rollupPluginBabelHelpers-20ad87c1.js.map +1 -0
  247. package/cjs/{actionTypes-d80c4fb6.js → actionTypes-7ba29408.js} +1 -1
  248. package/cjs/{actionTypes-d80c4fb6.js.map → actionTypes-7ba29408.js.map} +1 -1
  249. package/cjs/{color-03c2ecf2.js → color-da1f2f09.js} +1 -1
  250. package/cjs/{color-03c2ecf2.js.map → color-da1f2f09.js.map} +1 -1
  251. package/cjs/{compareIds-c670ae57.js → compareIds-a7a8f34b.js} +1 -1
  252. package/cjs/{compareIds-c670ae57.js.map → compareIds-a7a8f34b.js.map} +1 -1
  253. package/cjs/{const-fe6f002d.js → const-5f50d896.js} +1 -1
  254. package/cjs/{const-fe6f002d.js.map → const-5f50d896.js.map} +1 -1
  255. package/cjs/{const-0095baf3.js → const-c5332da3.js} +7 -1
  256. package/cjs/const-c5332da3.js.map +1 -0
  257. package/cjs/{context-0fb617f1.js → context-3063790f.js} +2 -2
  258. package/cjs/{context-0fb617f1.js.map → context-3063790f.js.map} +1 -1
  259. package/cjs/dist/index.css +1044 -191
  260. package/cjs/dist/index.css.map +1 -1
  261. package/cjs/{index-1218eab2.js → index-0418c426.js} +7 -7
  262. package/cjs/index-0418c426.js.map +1 -0
  263. package/cjs/{index-1042f264.js → index-566a2b96.js} +2 -2
  264. package/cjs/{index-1042f264.js.map → index-566a2b96.js.map} +1 -1
  265. package/cjs/{index-fab17fef.js → index-568f12d2.js} +4 -4
  266. package/cjs/{index-fab17fef.js.map → index-568f12d2.js.map} +1 -1
  267. package/cjs/{index-0854d1ea.js → index-5d551bb1.js} +2 -2
  268. package/cjs/{index-0854d1ea.js.map → index-5d551bb1.js.map} +1 -1
  269. package/cjs/{index-1b69f7d2.js → index-6a32eea2.js} +1 -1
  270. package/cjs/{index-1b69f7d2.js.map → index-6a32eea2.js.map} +1 -1
  271. package/cjs/{index-b1a4b6f0.js → index-795706d2.js} +2 -2
  272. package/cjs/{index-b1a4b6f0.js.map → index-795706d2.js.map} +1 -1
  273. package/cjs/{index-039012c4.js → index-94a96213.js} +4 -4
  274. package/cjs/{index-039012c4.js.map → index-94a96213.js.map} +1 -1
  275. package/cjs/{index-475ae379.js → index-99943583.js} +5 -5
  276. package/cjs/{index-475ae379.js.map → index-99943583.js.map} +1 -1
  277. package/cjs/{index-97e2a887.js → index-ac7ef6d8.js} +9 -9
  278. package/cjs/index-ac7ef6d8.js.map +1 -0
  279. package/cjs/{index-607cb4ff.js → index-b82af371.js} +1 -1
  280. package/cjs/{index-607cb4ff.js.map → index-b82af371.js.map} +1 -1
  281. package/cjs/{index-27c6a6bc.js → index-d0d7cb2e.js} +2 -2
  282. package/cjs/{index-27c6a6bc.js.map → index-d0d7cb2e.js.map} +1 -1
  283. package/cjs/index.js +82 -68
  284. package/cjs/index.js.map +1 -1
  285. package/cjs/sendbirdSelectors.js +2 -2
  286. package/cjs/{stringSet-da2fe019.js → stringSet-520996cb.js} +17 -3
  287. package/cjs/stringSet-520996cb.js.map +1 -0
  288. package/cjs/{topics-fd2124f5.js → topics-e5734128.js} +1 -1
  289. package/cjs/{topics-fd2124f5.js.map → topics-e5734128.js.map} +1 -1
  290. package/cjs/tslib.es6-29ba80a6.js +97 -0
  291. package/cjs/{tslib.es6-bce345aa.js.map → tslib.es6-29ba80a6.js.map} +1 -1
  292. package/cjs/ui/Accordion.js +3 -3
  293. package/cjs/ui/AccordionGroup.js +2 -2
  294. package/cjs/ui/AdminMessage.js +3 -3
  295. package/cjs/ui/AdminMessage.js.map +1 -1
  296. package/cjs/ui/Avatar.js +2 -2
  297. package/cjs/ui/Badge.js +5 -5
  298. package/cjs/ui/BottomSheet.js +1 -1
  299. package/cjs/ui/Button.js +3 -3
  300. package/cjs/ui/ChannelAvatar.js +3 -3
  301. package/cjs/ui/ConnectionStatus.js +4 -4
  302. package/cjs/ui/ContextMenu.js +15 -11
  303. package/cjs/ui/ContextMenu.js.map +1 -1
  304. package/cjs/ui/DateSeparator.js +4 -4
  305. package/cjs/ui/EmojiReactions.js +26 -14
  306. package/cjs/ui/EmojiReactions.js.map +1 -1
  307. package/cjs/ui/FileMessageItemBody.js +11 -8
  308. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  309. package/cjs/ui/FileViewer.js +8 -8
  310. package/cjs/ui/IconButton.js +1 -1
  311. package/cjs/ui/ImageRenderer.js +1 -1
  312. package/cjs/ui/Input.js +2 -2
  313. package/cjs/ui/Label.js +2 -2
  314. package/cjs/ui/LinkLabel.js +2 -2
  315. package/cjs/ui/Loader.js +1 -1
  316. package/cjs/ui/MentionLabel.js +15 -14
  317. package/cjs/ui/MentionLabel.js.map +1 -1
  318. package/cjs/ui/MessageContent.js +104 -56
  319. package/cjs/ui/MessageContent.js.map +1 -1
  320. package/cjs/ui/MessageInput.js +17 -13
  321. package/cjs/ui/MessageInput.js.map +1 -1
  322. package/cjs/ui/MessageItemMenu.js +40 -16
  323. package/cjs/ui/MessageItemMenu.js.map +1 -1
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +9 -9
  326. package/cjs/ui/MessageSearchItem.js +9 -9
  327. package/cjs/ui/MessageStatus.js +11 -11
  328. package/cjs/ui/MessageStatus.js.map +1 -1
  329. package/cjs/ui/Modal.js +7 -7
  330. package/cjs/ui/Modal.js.map +1 -1
  331. package/cjs/ui/OGMessageItemBody.js +11 -13
  332. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  333. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  334. package/cjs/ui/OpenChannelAvatar.js +6 -6
  335. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  336. package/cjs/ui/OpenchannelFileMessage.js +21 -19
  337. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  338. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  339. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  340. package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
  341. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  342. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  343. package/cjs/ui/PlaceHolder.js +6 -6
  344. package/cjs/ui/QuoteMessage.js +34 -16
  345. package/cjs/ui/QuoteMessage.js.map +1 -1
  346. package/cjs/ui/QuoteMessageInput.js +6 -6
  347. package/cjs/ui/ReactionBadge.js +3 -3
  348. package/cjs/ui/ReactionButton.js +1 -1
  349. package/cjs/ui/SortByRow.js +2 -2
  350. package/cjs/ui/SortByRow.js.map +1 -1
  351. package/cjs/ui/TextButton.js +2 -2
  352. package/cjs/ui/TextMessageItemBody.js +11 -11
  353. package/cjs/ui/ThreadReplies.js +82 -0
  354. package/cjs/ui/ThreadReplies.js.map +1 -0
  355. package/cjs/ui/ThumbnailMessageItemBody.js +14 -12
  356. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  357. package/cjs/ui/Tooltip.js +3 -3
  358. package/cjs/ui/TooltipWrapper.js +1 -1
  359. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  360. package/cjs/ui/UserListItem.js +17 -17
  361. package/cjs/ui/UserListItem.js.map +1 -1
  362. package/cjs/ui/UserProfile.js +14 -12
  363. package/cjs/ui/UserProfile.js.map +1 -1
  364. package/cjs/ui/Word.js +11 -11
  365. package/cjs/{useLongPress-698416e4.js → useLongPress-9c1d0d7e.js} +3 -3
  366. package/cjs/{useLongPress-698416e4.js.map → useLongPress-9c1d0d7e.js.map} +1 -1
  367. package/cjs/useSendbirdStateContext.js +1 -1
  368. package/cjs/utils-88f4aff4.js +32 -0
  369. package/cjs/utils-88f4aff4.js.map +1 -0
  370. package/cjs/{utils-0d32641e.js → utils-c137a361.js} +1 -1
  371. package/cjs/{utils-0d32641e.js.map → utils-c137a361.js.map} +1 -1
  372. package/cjs/{utils-557bb5d2.js → utils-ee8b0f03.js} +1 -1
  373. package/cjs/{utils-557bb5d2.js.map → utils-ee8b0f03.js.map} +1 -1
  374. package/cjs/{utils-8a793976.js → utils-f215ace1.js} +1 -1
  375. package/cjs/{utils-8a793976.js.map → utils-f215ace1.js.map} +1 -1
  376. package/cjs/{uuid-2a459d4b.js → uuid-ed079835.js} +1 -1
  377. package/cjs/{uuid-2a459d4b.js.map → uuid-ed079835.js.map} +1 -1
  378. package/cjs/withSendbird.js +1 -1
  379. package/{color-e740c17f.js → color-253fcdc4.js} +1 -1
  380. package/{color-e740c17f.js.map → color-253fcdc4.js.map} +1 -1
  381. package/{compareIds-e84966df.js → compareIds-5494c074.js} +1 -1
  382. package/{compareIds-e84966df.js.map → compareIds-5494c074.js.map} +1 -1
  383. package/{const-3c9680d2.js → const-2aae43f2.js} +1 -1
  384. package/{const-3c9680d2.js.map → const-2aae43f2.js.map} +1 -1
  385. package/const-8bb8cc10.js +14 -0
  386. package/const-8bb8cc10.js.map +1 -0
  387. package/{context-3adaf9b3.js → context-8c660706.js} +2 -2
  388. package/{context-3adaf9b3.js.map → context-8c660706.js.map} +1 -1
  389. package/dist/index.css +1044 -191
  390. package/dist/index.css.map +1 -1
  391. package/{index-ca3ba8a0.js → index-1a59aaa9.js} +7 -7
  392. package/index-1a59aaa9.js.map +1 -0
  393. package/{index-fb4777a9.js → index-358a6180.js} +4 -4
  394. package/{index-fb4777a9.js.map → index-358a6180.js.map} +1 -1
  395. package/{index-64740116.js → index-4a23e6ff.js} +2 -2
  396. package/{index-64740116.js.map → index-4a23e6ff.js.map} +1 -1
  397. package/{index-041c94d3.js → index-4f51d577.js} +2 -2
  398. package/{index-041c94d3.js.map → index-4f51d577.js.map} +1 -1
  399. package/{index-0fa44537.js → index-8b94db1e.js} +2 -2
  400. package/{index-0fa44537.js.map → index-8b94db1e.js.map} +1 -1
  401. package/{index-cfdf3b6d.js → index-a6dbcbe1.js} +2 -2
  402. package/{index-cfdf3b6d.js.map → index-a6dbcbe1.js.map} +1 -1
  403. package/{index-8e0d1cc6.js → index-b5b56cb7.js} +1 -1
  404. package/{index-8e0d1cc6.js.map → index-b5b56cb7.js.map} +1 -1
  405. package/{index-8ce0c4b6.js → index-b932b49d.js} +5 -5
  406. package/{index-8ce0c4b6.js.map → index-b932b49d.js.map} +1 -1
  407. package/{index-873ffa33.js → index-cb6348b0.js} +4 -4
  408. package/{index-873ffa33.js.map → index-cb6348b0.js.map} +1 -1
  409. package/{index-8d74bd4b.js → index-d2dd3ae2.js} +1 -1
  410. package/{index-8d74bd4b.js.map → index-d2dd3ae2.js.map} +1 -1
  411. package/{index-05c36d6c.js → index-d5896de7.js} +9 -9
  412. package/index-d5896de7.js.map +1 -0
  413. package/index.d.ts +224 -13
  414. package/index.js +82 -68
  415. package/index.js.map +1 -1
  416. package/package.json +1 -1
  417. package/sendbirdSelectors.js +2 -2
  418. package/{stringSet-e413411d.js → stringSet-f0e25f08.js} +17 -3
  419. package/stringSet-f0e25f08.js.map +1 -0
  420. package/{topics-b81e5b9b.js → topics-d2e15fe6.js} +1 -1
  421. package/{topics-b81e5b9b.js.map → topics-d2e15fe6.js.map} +1 -1
  422. package/tslib.es6-279bc71d.js +92 -0
  423. package/{tslib.es6-e592f653.js.map → tslib.es6-279bc71d.js.map} +1 -1
  424. package/ui/Accordion.js +3 -3
  425. package/ui/AccordionGroup.js +2 -2
  426. package/ui/AdminMessage.js +3 -3
  427. package/ui/AdminMessage.js.map +1 -1
  428. package/ui/Avatar.js +2 -2
  429. package/ui/Badge.js +5 -5
  430. package/ui/BottomSheet.js +1 -1
  431. package/ui/Button.js +3 -3
  432. package/ui/ChannelAvatar.js +3 -3
  433. package/ui/ConnectionStatus.js +4 -4
  434. package/ui/ContextMenu.js +15 -11
  435. package/ui/ContextMenu.js.map +1 -1
  436. package/ui/DateSeparator.js +4 -4
  437. package/ui/EmojiReactions.js +26 -14
  438. package/ui/EmojiReactions.js.map +1 -1
  439. package/ui/FileMessageItemBody.js +11 -8
  440. package/ui/FileMessageItemBody.js.map +1 -1
  441. package/ui/FileViewer.js +8 -8
  442. package/ui/IconButton.js +1 -1
  443. package/ui/ImageRenderer.js +1 -1
  444. package/ui/Input.js +2 -2
  445. package/ui/Label.js +2 -2
  446. package/ui/LinkLabel.js +2 -2
  447. package/ui/Loader.js +1 -1
  448. package/ui/MentionLabel.js +15 -14
  449. package/ui/MentionLabel.js.map +1 -1
  450. package/ui/MessageContent.js +104 -56
  451. package/ui/MessageContent.js.map +1 -1
  452. package/ui/MessageInput.js +17 -13
  453. package/ui/MessageInput.js.map +1 -1
  454. package/ui/MessageItemMenu.js +40 -16
  455. package/ui/MessageItemMenu.js.map +1 -1
  456. package/ui/MessageItemReactionMenu.js +5 -5
  457. package/ui/MessageSearchFileItem.js +9 -9
  458. package/ui/MessageSearchItem.js +9 -9
  459. package/ui/MessageStatus.js +11 -11
  460. package/ui/MessageStatus.js.map +1 -1
  461. package/ui/Modal.js +7 -7
  462. package/ui/Modal.js.map +1 -1
  463. package/ui/OGMessageItemBody.js +11 -13
  464. package/ui/OGMessageItemBody.js.map +1 -1
  465. package/ui/OpenChannelAdminMessage.js +3 -3
  466. package/ui/OpenChannelAvatar.js +6 -6
  467. package/ui/OpenchannelConversationHeader.js +6 -6
  468. package/ui/OpenchannelFileMessage.js +21 -19
  469. package/ui/OpenchannelFileMessage.js.map +1 -1
  470. package/ui/OpenchannelOGMessage.js +18 -18
  471. package/ui/OpenchannelOGMessage.js.map +1 -1
  472. package/ui/OpenchannelThumbnailMessage.js +17 -17
  473. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  474. package/ui/OpenchannelUserMessage.js +16 -16
  475. package/ui/PlaceHolder.js +6 -6
  476. package/ui/QuoteMessage.js +34 -16
  477. package/ui/QuoteMessage.js.map +1 -1
  478. package/ui/QuoteMessageInput.js +6 -6
  479. package/ui/ReactionBadge.js +3 -3
  480. package/ui/ReactionButton.js +1 -1
  481. package/ui/SortByRow.js +2 -2
  482. package/ui/SortByRow.js.map +1 -1
  483. package/ui/TextButton.js +2 -2
  484. package/ui/TextMessageItemBody.js +11 -11
  485. package/ui/ThreadReplies.js +76 -0
  486. package/ui/ThreadReplies.js.map +1 -0
  487. package/ui/ThumbnailMessageItemBody.js +14 -12
  488. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  489. package/ui/Tooltip.js +3 -3
  490. package/ui/TooltipWrapper.js +1 -1
  491. package/ui/UnknownMessageItemBody.js +6 -6
  492. package/ui/UserListItem.js +17 -17
  493. package/ui/UserListItem.js.map +1 -1
  494. package/ui/UserProfile.js +14 -12
  495. package/ui/UserProfile.js.map +1 -1
  496. package/ui/Word.js +11 -11
  497. package/{useLongPress-8cda7590.js → useLongPress-53f7929a.js} +3 -3
  498. package/{useLongPress-8cda7590.js.map → useLongPress-53f7929a.js.map} +1 -1
  499. package/useSendbirdStateContext.js +1 -1
  500. package/{utils-f95bafde.js → utils-128b3636.js} +1 -1
  501. package/{utils-f95bafde.js.map → utils-128b3636.js.map} +1 -1
  502. package/{utils-c2438081.js → utils-5a4995e3.js} +1 -1
  503. package/{utils-c2438081.js.map → utils-5a4995e3.js.map} +1 -1
  504. package/utils-ad636dfd.js +30 -0
  505. package/utils-ad636dfd.js.map +1 -0
  506. package/{utils-90964f90.js → utils-afd23bb8.js} +1 -1
  507. package/{utils-90964f90.js.map → utils-afd23bb8.js.map} +1 -1
  508. package/{uuid-c41826f3.js → uuid-636df95b.js} +1 -1
  509. package/{uuid-c41826f3.js.map → uuid-636df95b.js.map} +1 -1
  510. package/withSendbird.js +1 -1
  511. package/ChannelProvider-5e995fe8.js.map +0 -1
  512. package/MemberList-25c34d5b.js.map +0 -1
  513. package/OpenChannelProvider-911f3536.js.map +0 -1
  514. package/_rollupPluginBabelHelpers-51c9f5c3.js.map +0 -1
  515. package/cjs/ChannelProvider-4dd6e426.js.map +0 -1
  516. package/cjs/MemberList-0861d5f8.js.map +0 -1
  517. package/cjs/OpenChannelProvider-c05255cc.js.map +0 -1
  518. package/cjs/_rollupPluginBabelHelpers-23c0e950.js.map +0 -1
  519. package/cjs/const-0095baf3.js.map +0 -1
  520. package/cjs/index-1218eab2.js.map +0 -1
  521. package/cjs/index-97e2a887.js.map +0 -1
  522. package/cjs/stringSet-da2fe019.js.map +0 -1
  523. package/cjs/tslib.es6-bce345aa.js +0 -57
  524. package/const-630a8129.js +0 -8
  525. package/const-630a8129.js.map +0 -1
  526. package/index-05c36d6c.js.map +0 -1
  527. package/index-ca3ba8a0.js.map +0 -1
  528. package/stringSet-e413411d.js.map +0 -1
  529. package/tslib.es6-e592f653.js +0 -54
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-d5896de7.js","sources":["../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n {\n participants.map((p) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n )\n })\n }\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: User;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n { action({ actionRef }) }\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: User) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n })\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n )\n}\n"],"names":["ParticipantsModal","_a","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","_e","useState","participants","setParticipants","_f","participantListQuery","setParticipantListQuery","userId","_b","config","sdk","_d","_c","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","currentUser","actionRef","parentRef","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","user","action","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","currentUserId","close","UserProfile","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","concat","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Type Definitions for @sendbird/uikit-react@3.2.6
2
+ * Type Definitions for @sendbird/uikit-react@3.3.0-rc.0
3
3
  * homepage: https://sendbird.com/
4
4
  * git: https://github.com/sendbird/sendbird-uikit-react
5
5
  */
@@ -12,6 +12,7 @@ declare module "SendbirdUIKitGlobal" {
12
12
  SessionHandler,
13
13
  User,
14
14
  ApplicationUserListQueryParams,
15
+ EmojiContainer,
15
16
  } from '@sendbird/chat';
16
17
  import type {
17
18
  GroupChannel,
@@ -24,6 +25,7 @@ declare module "SendbirdUIKitGlobal" {
24
25
  } from '@sendbird/chat/groupChannel';
25
26
  import type {
26
27
  AdminMessage,
28
+ BaseMessage,
27
29
  FailedMessageHandler,
28
30
  FileMessage,
29
31
  FileMessageCreateParams,
@@ -268,6 +270,9 @@ declare module "SendbirdUIKitGlobal" {
268
270
  resizingWidth?: number | string,
269
271
  resizingHeight?: number | string,
270
272
  };
273
+ isTypingIndicatorEnabledOnChannelList?: boolean;
274
+ isMessageReceiptStatusEnabledOnChannelList?: boolean;
275
+ replyType: ReplyType;
271
276
  }
272
277
  export interface SdkStore {
273
278
  error: boolean;
@@ -453,6 +458,11 @@ declare module "SendbirdUIKitGlobal" {
453
458
  messageListParams?: MessageListParams;
454
459
  };
455
460
 
461
+ export enum ThreadReplySelectType {
462
+ PARENT = 'PARENT',
463
+ THREAD = 'THREAD',
464
+ }
465
+
456
466
  export type ChannelContextProps = {
457
467
  children?: React.ReactElement;
458
468
  channelUrl: string;
@@ -468,6 +478,7 @@ declare module "SendbirdUIKitGlobal" {
468
478
  onSearchClick?(): void;
469
479
  onBackClick?(): void;
470
480
  replyType?: ReplyType;
481
+ threadReplySelectType?: ThreadReplySelectType;
471
482
  queries?: ChannelQueries;
472
483
  renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode | React.ReactElement;
473
484
  disableUserProfile?: boolean;
@@ -868,6 +879,131 @@ declare module "SendbirdUIKitGlobal" {
868
879
  onCloseClick?: () => void;
869
880
  }
870
881
 
882
+ /**
883
+ * Thread
884
+ */
885
+ export enum ChannelStateTypes {
886
+ NIL = 'NIL',
887
+ LOADING = 'LOADING',
888
+ INVALID = 'INVALID',
889
+ INITIALIZED = 'INITIALIZED',
890
+ }
891
+ export enum ParentMessageInfoStateTypes {
892
+ NIL = 'NIL',
893
+ LOADING = 'LOADING',
894
+ INVALID = 'INVALID',
895
+ INITIALIZED = 'INITIALIZED',
896
+ }
897
+ export enum ThreadListStateTypes {
898
+ NIL = 'NIL',
899
+ LOADING = 'LOADING',
900
+ INVALID = 'INVALID',
901
+ INITIALIZED = 'INITIALIZED',
902
+ }
903
+
904
+ export interface ThreadProps extends ThreadProviderProps, ThreadContextInitialState {
905
+ className?: string;
906
+ }
907
+
908
+ export interface ThreadProviderInterface extends ThreadProviderProps, ThreadContextInitialState {
909
+ fetchPrevThreads: (callback?: (messages?: Array<BaseMessage>) => void) => void;
910
+ fetchNextThreads: (callback?: (messages?: Array<BaseMessage>) => void) => void;
911
+ toggleReaction: (message, key, isReacted) => void;
912
+ sendMessage: (props: {
913
+ message: UserMessage,
914
+ quoteMessage?: UserMessage | FileMessage,
915
+ mentionTemplate?: string,
916
+ mentionedUsers?: Array<User>,
917
+ }) => void;
918
+ sendFileMessage: (file: File, quoteMessage: UserMessage | FileMessage) => void;
919
+ resendMessage: (failedMessage: UserMessage | FileMessage) => void;
920
+ updateMessage: (props, callback?: () => void) => void;
921
+ deleteMessage: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;
922
+ nicknamesMap: Map<string, string>;
923
+ }
924
+
925
+ export type ThreadProviderProps = {
926
+ children?: React.ReactElement;
927
+ channelUrl: string;
928
+ message: UserMessage | FileMessage;
929
+ onHeaderActionClick?: () => void;
930
+ onMoveToParentMessage?: (props: { message: UserMessage | FileMessage, channel: GroupChannel }) => void;
931
+ disableUserProfile?: boolean;
932
+ renderUserProfile?: (props: { user: User, close: () => void }) => React.ReactElement;
933
+ onUserProfileMessage?: (channel: GroupChannel) => void;
934
+ }
935
+
936
+ export interface ThreadContextInitialState {
937
+ currentChannel: GroupChannel;
938
+ allThreadMessages: Array<BaseMessage>;
939
+ parentMessage: UserMessage | FileMessage;
940
+ channelStatus: ChannelStateTypes;
941
+ parentMessageInfoStatus: ParentMessageInfoStateTypes;
942
+ threadListStatus: ThreadListStateTypes;
943
+ hasMorePrev: boolean;
944
+ hasMoreNext: boolean;
945
+ emojiContainer: EmojiContainer;
946
+ isMuted: boolean;
947
+ isChannelFrozen: boolean;
948
+ currentUserId: string;
949
+ }
950
+
951
+ export interface ThreadUIProps {
952
+ renderHeader?: () => React.ReactElement;
953
+ renderParentMessageInfo?: () => React.ReactElement;
954
+ renderMessage?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
955
+ renderMessageInput?: () => React.ReactElement;
956
+ renderCustomSeparator?: () => React.ReactElement;
957
+ renderParentMessageInfoPlaceholder?: (type: ParentMessageInfoStateTypes) => React.ReactElement;
958
+ renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;
959
+ }
960
+
961
+ type EventType = React.MouseEvent<HTMLDivElement | HTMLButtonElement> | React.KeyboardEvent<HTMLDivElement>;
962
+ export interface ThreadHeaderProps {
963
+ className?: string;
964
+ channelName: string;
965
+ renderActionIcon?: (props: { onActionIconClick: (e: EventType) => void }) => React.ReactElement;
966
+ onActionIconClick?: (e: EventType) => void;
967
+ onChannelNameClick?: (e: EventType) => void;
968
+ }
969
+
970
+ export interface ParentMessageInfoProps {
971
+ className?: string;
972
+ }
973
+
974
+ export interface ParentMessageInfoItemProps {
975
+ className?: string;
976
+ message: UserMessage | FileMessage;
977
+ showFileViewer?: (bool: boolean) => void;
978
+ }
979
+
980
+ export interface ThreadListProps {
981
+ className?: string;
982
+ allThreadMessages: Array<UserMessage | FileMessage | BaseMessage>;
983
+ renderMessage?: (props: {
984
+ message: UserMessage | FileMessage,
985
+ chainTop: boolean,
986
+ chainBottom: boolean,
987
+ hasSeparator: boolean,
988
+ }) => React.ReactElement;
989
+ renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
990
+ scrollRef?: React.RefObject<HTMLDivElement>;
991
+ scrollBottom?: number;
992
+ }
993
+ export interface ThreadListItemProps {
994
+ className?: string;
995
+ message: UserMessage | FileMessage;
996
+ chainTop?: boolean;
997
+ chainBottom?: boolean;
998
+ hasSeparator?: boolean;
999
+ renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
1000
+ handleScroll?: () => void;
1001
+ }
1002
+
1003
+ export interface ThreadMessageInputProps {
1004
+ className?: string;
1005
+ }
1006
+
871
1007
  /**
872
1008
  * CreateChannel
873
1009
  */
@@ -1122,6 +1258,7 @@ declare module '@sendbird/uikit-react/Channel/context' {
1122
1258
  import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1123
1259
  export const ChannelProvider: React.FunctionComponent<SendbirdUIKitGlobal.ChannelContextProps>;
1124
1260
  export function useChannelContext(): SendbirdUIKitGlobal.ChannelProviderInterface;
1261
+ export const ThreadReplySelectType: SendbirdUIKitGlobal.ThreadReplySelectType;
1125
1262
  }
1126
1263
 
1127
1264
  declare module '@sendbird/uikit-react/Channel/components/ChannelHeader' {
@@ -1343,6 +1480,64 @@ declare module '@sendbird/uikit-react/MessageSearch/components/MessageSearchUI'
1343
1480
  export default MessageSearchUI;
1344
1481
  }
1345
1482
 
1483
+ /**
1484
+ * Thread
1485
+ */
1486
+ declare module '@sendbird/uikit-react/Thread' {
1487
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1488
+ const Thread: React.FC<SendbirdUIKitGlobal.ThreadProviderProps>;
1489
+ export default Thread;
1490
+ }
1491
+
1492
+ declare module '@sendbird/uikit-react/Thread/context' {
1493
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1494
+ export const useThreadContext: () => SendbirdUIKitGlobal.ThreadProviderInterface;
1495
+ export const ThreadProvider: React.FC<SendbirdUIKitGlobal.ThreadProviderProps>;
1496
+ }
1497
+
1498
+ declare module '@sendbird/uikit-react/Thread/context/types' {
1499
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1500
+ export const ChannelStateTypes: SendbirdUIKitGlobal.ChannelStateTypes;
1501
+ export const ParentMessageInfoStateTypes: SendbirdUIKitGlobal.ParentMessageInfoStateTypes;
1502
+ export const ThreadListStateTypes: SendbirdUIKitGlobal.ThreadListStateTypes;
1503
+ }
1504
+
1505
+ declare module '@sendbird/uikit-react/Thread/components/ThreadUI' {
1506
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1507
+ const ThreadUI: React.FC<SendbirdUIKitGlobal.ThreadUIProps>;
1508
+ export default ThreadUI;
1509
+ }
1510
+ declare module '@sendbird/uikit-react/Thread/components/ThreadHeader' {
1511
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1512
+ const ThreadHeader: React.FC<SendbirdUIKitGlobal.ThreadHeaderProps>;
1513
+ export default ThreadHeader;
1514
+ }
1515
+ declare module '@sendbird/uikit-react/Thread/components/ParentMessageInfo' {
1516
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1517
+ const ParentMessageInfo: React.FC<SendbirdUIKitGlobal.ParentMessageInfoProps>;
1518
+ export default ParentMessageInfo;
1519
+ }
1520
+ declare module '@sendbird/uikit-react/Thread/components/ParentMessageInfoItem' {
1521
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1522
+ const ParentMessageInfoItem: React.FC<SendbirdUIKitGlobal.ParentMessageInfoItemProps>;
1523
+ export default ParentMessageInfoItem;
1524
+ }
1525
+ declare module '@sendbird/uikit-react/Thread/components/ThreadList' {
1526
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1527
+ const ThreadList: React.FC<SendbirdUIKitGlobal.ThreadListProps>;
1528
+ export default ThreadList;
1529
+ }
1530
+ declare module '@sendbird/uikit-react/Thread/components/ThreadListItem' {
1531
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1532
+ const ThreadListItem: React.FC<SendbirdUIKitGlobal.ThreadListItemProps>;
1533
+ export default ThreadListItem;
1534
+ }
1535
+ declare module '@sendbird/uikit-react/Thread/components/ThreadMessageInput' {
1536
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1537
+ const ThreadMessageInput: React.FC<SendbirdUIKitGlobal.ThreadMessageInputProps>;
1538
+ export default ThreadMessageInput;
1539
+ }
1540
+
1346
1541
  /**
1347
1542
  * CreateChannel
1348
1543
  */
@@ -1633,16 +1828,17 @@ declare module '@sendbird/uikit-react/ui/IconButton' {
1633
1828
 
1634
1829
  declare module '@sendbird/uikit-react/ui/ImageRenderer' {
1635
1830
  interface ImageRendererProps {
1636
- className?: string | Array<string>,
1637
- defaultComponent?: () => React.ReactElement,
1638
- placeHolder?: () => React.ReactElement,
1639
- alt?: string,
1640
- width?: number,
1641
- height?: number,
1642
- fixedSize?: boolean,
1643
- circle?: boolean,
1644
- onLoad?: () => void,
1645
- onError?: () => void,
1831
+ className?: string | Array<string>;
1832
+ url: string;
1833
+ alt?: string;
1834
+ width?: string | number;
1835
+ height?: string | number;
1836
+ circle?: boolean;
1837
+ fixedSize?: boolean;
1838
+ placeHolder?: ((props: { style: { [key: string]: string | number } }) => React.ReactElement) | React.ReactElement;
1839
+ defaultComponent?: (() => React.ReactElement) | React.ReactElement;
1840
+ onLoad?: () => void;
1841
+ onError?: () => void;
1646
1842
  }
1647
1843
  const ImageRenderer: React.FC<ImageRendererProps>;
1648
1844
  export default ImageRenderer;
@@ -1778,7 +1974,7 @@ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1778
1974
  import type { GroupChannel } from '@sendbird/chat/groupChannel';
1779
1975
  import type { FileMessage, UserMessage } from '@sendbird/chat/message';
1780
1976
  import type { OpenChannel } from '@sendbird/chat/openChannel';
1781
- import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1977
+ type ReplyType = "NONE" | "QUOTE_REPLY" | "THREAD";
1782
1978
 
1783
1979
  interface MessageItemMenuProps {
1784
1980
  className?: string | Array<string>;
@@ -1786,12 +1982,15 @@ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1786
1982
  channel: GroupChannel | OpenChannel;
1787
1983
  isByMe?: boolean;
1788
1984
  disabled?: boolean;
1789
- replyType?: SenbirdUIKitGlobal.ReplyType;
1985
+ replyType?: ReplyType;
1986
+ disableDeleteMessage?: boolean;
1790
1987
  showEdit?: (bool: boolean) => void;
1791
1988
  showRemove?: (bool: boolean) => void;
1792
1989
  resendMessage?: (message: UserMessage | FileMessage) => void;
1793
1990
  setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1794
1991
  setSupposedHover?: (bool: boolean) => void;
1992
+ onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;
1993
+ onMoveToParentMessage?: () => void;
1795
1994
  }
1796
1995
  const MessageItemMenu: React.FC<MessageItemMenuProps>;
1797
1996
  export default MessageItemMenu;
@@ -2087,6 +2286,17 @@ declare module '@sendbird/uikit-react/ui/TextMessageItemBody' {
2087
2286
  export default TextMessageItemBody;
2088
2287
  }
2089
2288
 
2289
+ declare module '@sendbird/uikit-react/ui/ThreadReplies' {
2290
+ import type { ThreadInfo } from '@sendbird/chat/message';
2291
+ interface ThreadRepliesProps {
2292
+ className?: string;
2293
+ threadInfo: ThreadInfo;
2294
+ onClick?: (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;
2295
+ }
2296
+ const ThreadReplies: React.FC<ThreadRepliesProps>;
2297
+ export default ThreadReplies;
2298
+ }
2299
+
2090
2300
  declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
2091
2301
  import type { FileMessage } from '@sendbird/chat/message';
2092
2302
  interface ThumbnailMessageItemBodyProps {
@@ -2096,6 +2306,7 @@ declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
2096
2306
  mouseHover?: boolean;
2097
2307
  isReactionEnabled?: boolean;
2098
2308
  showFileViewer?: (bool: boolean) => void;
2309
+ style?: Record<string, any>;
2099
2310
  }
2100
2311
  const ThumbnailMessageItemBody: React.FC<ThumbnailMessageItemBodyProps>;
2101
2312
  export default ThumbnailMessageItemBody;
package/index.js CHANGED
@@ -3,119 +3,134 @@ export { default as App } from './App.js';
3
3
  export { default as ChannelSettings } from './ChannelSettings.js';
4
4
  export { default as ChannelList } from './ChannelList.js';
5
5
  export { default as Channel } from './Channel.js';
6
- export { g as getStringSet } from './stringSet-e413411d.js';
6
+ export { g as getStringSet } from './stringSet-f0e25f08.js';
7
7
  export { default as OpenChannel } from './OpenChannel.js';
8
8
  export { default as OpenChannelSettings } from './OpenChannelSettings.js';
9
9
  export { default as MessageSearch } from './MessageSearch.js';
10
10
  export { default as withSendBird } from './withSendbird.js';
11
11
  export { default as sendBirdSelectors, default as sendbirdSelectors } from './sendbirdSelectors.js';
12
12
  export { default as useSendbirdStateContext } from './useSendbirdStateContext.js';
13
- import './_rollupPluginBabelHelpers-51c9f5c3.js';
13
+ import './_rollupPluginBabelHelpers-636e674b.js';
14
14
  import 'react';
15
15
  import 'prop-types';
16
16
  import '@sendbird/chat';
17
17
  import '@sendbird/chat/openChannel';
18
18
  import '@sendbird/chat/groupChannel';
19
- import './actionTypes-3dc172c6.js';
20
- import './index-ca3ba8a0.js';
21
- import './tslib.es6-e592f653.js';
19
+ import './actionTypes-9bf40e56.js';
20
+ import './index-1a59aaa9.js';
21
+ import './tslib.es6-279bc71d.js';
22
22
  import './utils/message/getOutgoingMessageState.js';
23
23
  import 'css-vars-ponyfill';
24
- import './uuid-c41826f3.js';
25
- import './LocalizationContext-a90809c7.js';
26
- import './index-8e0d1cc6.js';
27
- import './MediaQueryContext-280871f5.js';
28
- import './ChannelSettings/components/ChannelSettingsUI.js';
29
- import './ChannelSettings/context.js';
30
- import './UserProfileContext-4e70ef73.js';
31
- import './index-873ffa33.js';
24
+ import './uuid-636df95b.js';
25
+ import './LocalizationContext-5920dafc.js';
26
+ import './index-b5b56cb7.js';
27
+ import './MediaQueryContext-9c1bb79f.js';
28
+ import './Thread.js';
29
+ import './ThreadProvider-4640c6fb.js';
30
+ import './index-4f51d577.js';
31
+ import './UserProfileContext-749db4f6.js';
32
+ import './Thread/context/types.js';
33
+ import './topics-d2e15fe6.js';
34
+ import '@sendbird/chat/message';
35
+ import './Thread/components/ThreadUI.js';
36
+ import './utils-ad636dfd.js';
37
+ import './index-4a23e6ff.js';
38
+ import './Thread/components/ParentMessageInfo.js';
39
+ import './RemoveMessageModal-0ce1f978.js';
40
+ import './ui/Modal.js';
41
+ import 'react-dom';
42
+ import './index-d2dd3ae2.js';
43
+ import './ui/Button.js';
32
44
  import './ui/Icon.js';
33
- import './index-64740116.js';
34
- import './ui/Loader.js';
35
45
  import './ui/IconButton.js';
36
- import './ChannelSettings/components/ChannelProfile.js';
37
- import './ui/ChannelAvatar.js';
46
+ import './Thread/components/ParentMessageInfoItem.js';
47
+ import './ui/Word.js';
48
+ import './ui/LinkLabel.js';
49
+ import './ui/MentionLabel.js';
50
+ import './ui/ContextMenu.js';
51
+ import './ui/SortByRow.js';
52
+ import './ui/UserProfile.js';
38
53
  import './ui/Avatar.js';
39
54
  import './ui/ImageRenderer.js';
40
- import './utils-90964f90.js';
41
55
  import './ui/TextButton.js';
42
- import './color-e740c17f.js';
56
+ import './color-253fcdc4.js';
57
+ import './ui/EmojiReactions.js';
58
+ import './ui/Tooltip.js';
59
+ import './ui/TooltipWrapper.js';
60
+ import './ui/ReactionBadge.js';
61
+ import './ui/ReactionButton.js';
62
+ import './Channel/components/SuggestedMentionList.js';
63
+ import './ChannelProvider-8be62d5d.js';
64
+ import './compareIds-5494c074.js';
65
+ import './const-8bb8cc10.js';
66
+ import './const-2aae43f2.js';
67
+ import './ui/FileViewer.js';
68
+ import './ui/MessageItemMenu.js';
69
+ import './ui/MessageItemReactionMenu.js';
70
+ import './ui/MessageInput.js';
71
+ import 'react-dom/server';
72
+ import './ui/MentionUserLabel.js';
73
+ import './Thread/components/ThreadHeader.js';
74
+ import './Thread/components/ThreadList.js';
75
+ import './Thread/components/ThreadListItem.js';
76
+ import './ui/DateSeparator.js';
77
+ import './ui/MessageStatus.js';
78
+ import './ui/Loader.js';
79
+ import './ui/TextMessageItemBody.js';
80
+ import './ui/OGMessageItemBody.js';
81
+ import './ui/FileMessageItemBody.js';
82
+ import './ui/ThumbnailMessageItemBody.js';
83
+ import './ui/UnknownMessageItemBody.js';
84
+ import 'date-fns';
85
+ import './Thread/components/ThreadMessageInput.js';
86
+ import './index-cb6348b0.js';
87
+ import './ChannelSettings/components/ChannelSettingsUI.js';
88
+ import './ChannelSettings/context.js';
89
+ import './ChannelSettings/components/ChannelProfile.js';
90
+ import './ui/ChannelAvatar.js';
91
+ import './utils-afd23bb8.js';
43
92
  import './ChannelSettings/components/EditDetailsModal.js';
44
- import './ui/Modal.js';
45
- import 'react-dom';
46
- import './index-8d74bd4b.js';
47
- import './ui/Button.js';
48
93
  import './ui/Input.js';
49
94
  import './ChannelSettings/components/ModerationPanel.js';
50
95
  import './ui/Accordion.js';
51
96
  import './ui/AccordionGroup.js';
52
- import './context-3adaf9b3.js';
53
- import './utils-c2438081.js';
97
+ import './context-8c660706.js';
98
+ import './utils-5a4995e3.js';
54
99
  import './ui/Badge.js';
55
- import './ui/ContextMenu.js';
56
- import './ui/SortByRow.js';
57
100
  import './ChannelSettings/components/UserListItem.js';
58
101
  import './ui/MutedAvatarOverlay.js';
59
- import './ui/UserProfile.js';
60
102
  import './ui/UserListItem.js';
61
103
  import './ui/Checkbox.js';
62
- import './MemberList-25c34d5b.js';
104
+ import './MemberList-743b0708.js';
63
105
  import './ChannelSettings/components/LeaveChannel.js';
64
106
  import './ChannelSettings/components/UserPanel.js';
65
- import './ChannelListProvider-6596e633.js';
66
- import './topics-b81e5b9b.js';
107
+ import './ChannelListProvider-6916e880.js';
67
108
  import './ChannelList/components/ChannelListUI.js';
68
109
  import './ChannelList/components/ChannelListHeader.js';
69
110
  import './ChannelList/components/AddChannel.js';
70
111
  import './CreateChannel.js';
71
112
  import './CreateChannel/components/CreateChannelUI.js';
72
- import './CreateChannelProvider-fc0268d6.js';
113
+ import './CreateChannelProvider-4604e579.js';
73
114
  import './CreateChannel/components/InviteUsers.js';
74
115
  import './CreateChannel/components/SelectChannelType.js';
75
116
  import './ChannelList/components/ChannelPreview.js';
76
- import './index-fb4777a9.js';
77
- import './index-0fa44537.js';
78
- import './index-041c94d3.js';
79
- import './ui/MentionUserLabel.js';
117
+ import './index-358a6180.js';
118
+ import './index-8b94db1e.js';
80
119
  import './Channel/components/TypingIndicator.js';
81
- import './ChannelProvider-5e995fe8.js';
82
- import './compareIds-e84966df.js';
83
- import './const-630a8129.js';
84
- import '@sendbird/chat/message';
85
- import './ui/ReactionButton.js';
86
- import './ui/MessageStatus.js';
87
- import './useLongPress-8cda7590.js';
120
+ import './useLongPress-53f7929a.js';
88
121
  import './ChannelList/components/ChannelPreviewAction.js';
89
122
  import './EditUserProfile.js';
90
- import './index-8ce0c4b6.js';
123
+ import './index-b932b49d.js';
91
124
  import './Channel/components/ChannelUI.js';
92
125
  import './ui/ConnectionStatus.js';
93
126
  import './Channel/components/ChannelHeader.js';
94
127
  import './Channel/components/MessageList.js';
95
128
  import './Channel/components/Message.js';
96
- import './Channel/components/SuggestedMentionList.js';
97
- import './const-3c9680d2.js';
98
- import './ui/DateSeparator.js';
99
- import './ui/MessageInput.js';
100
- import 'react-dom/server';
101
129
  import './ui/MessageContent.js';
102
- import './ui/MessageItemMenu.js';
103
- import './ui/MessageItemReactionMenu.js';
104
- import './ui/EmojiReactions.js';
105
- import './ui/Tooltip.js';
106
- import './ui/TooltipWrapper.js';
107
- import './ui/ReactionBadge.js';
108
130
  import './ui/AdminMessage.js';
109
- import './ui/TextMessageItemBody.js';
110
- import './ui/Word.js';
111
- import './ui/LinkLabel.js';
112
- import './ui/MentionLabel.js';
113
- import './ui/FileMessageItemBody.js';
114
- import './ui/ThumbnailMessageItemBody.js';
115
- import './ui/OGMessageItemBody.js';
116
- import './ui/UnknownMessageItemBody.js';
117
131
  import './ui/QuoteMessage.js';
118
132
  import './ui/BottomSheet.js';
133
+ import './ui/ThreadReplies.js';
119
134
  import './Channel/components/FileViewer.js';
120
135
  import './Channel/components/RemoveMessageModal.js';
121
136
  import './Channel/components/FrozenNotification.js';
@@ -123,27 +138,26 @@ import './Channel/components/UnreadCount.js';
123
138
  import './Channel/components/MessageInput.js';
124
139
  import './ui/QuoteMessageInput.js';
125
140
  import './OpenChannel/components/OpenChannelUI.js';
126
- import './OpenChannelProvider-911f3536.js';
141
+ import './OpenChannelProvider-1438b899.js';
127
142
  import './OpenChannel/components/OpenChannelInput.js';
128
143
  import './OpenChannel/components/FrozenChannelNotification.js';
129
144
  import './OpenChannel/components/OpenChannelHeader.js';
130
145
  import './OpenChannel/components/OpenChannelMessageList.js';
131
146
  import './OpenChannel/components/OpenChannelMessage.js';
132
147
  import './ui/OpenchannelUserMessage.js';
133
- import './utils-f95bafde.js';
134
- import './index-cfdf3b6d.js';
148
+ import './utils-128b3636.js';
149
+ import './index-a6dbcbe1.js';
135
150
  import './ui/OpenChannelAdminMessage.js';
136
151
  import './ui/OpenchannelOGMessage.js';
137
152
  import './ui/OpenchannelThumbnailMessage.js';
138
153
  import './ui/OpenchannelFileMessage.js';
139
- import './ui/FileViewer.js';
140
154
  import './OpenChannelSettings/components/OpenChannelSettingsUI.js';
141
155
  import './OpenChannelSettings/context.js';
142
156
  import './OpenChannelSettings/components/OperatorUI.js';
143
157
  import './OpenChannelSettings/components/OpenChannelProfile.js';
144
158
  import './ui/OpenChannelAvatar.js';
145
159
  import './OpenChannelSettings/components/EditDetailsModal.js';
146
- import './index-05c36d6c.js';
160
+ import './index-d5896de7.js';
147
161
  import './MessageSearch/components/MessageSearchUI.js';
148
162
  import './MessageSearch/context.js';
149
163
  import './ui/MessageSearchItem.js';