@sendbird/uikit-react 3.2.6 → 3.3.0-rc.1

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 +57 -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-82fa5abc.js} +8 -8
  35. package/{ChannelListProvider-6596e633.js.map → ChannelListProvider-82fa5abc.js.map} +1 -1
  36. package/{ChannelProvider-5e995fe8.js → ChannelProvider-0c8ccbbf.js} +96 -47
  37. package/ChannelProvider-0c8ccbbf.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-5bd3ebea.js} +1 -1
  55. package/{CreateChannelProvider-fc0268d6.js.map → CreateChannelProvider-5bd3ebea.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-410574e8.js} +3 -3
  62. package/{LocalizationContext-a90809c7.js.map → LocalizationContext-410574e8.js.map} +1 -1
  63. package/{MediaQueryContext-280871f5.js → MediaQueryContext-53329809.js} +1 -1
  64. package/{MediaQueryContext-280871f5.js.map → MediaQueryContext-53329809.js.map} +1 -1
  65. package/{MemberList-25c34d5b.js → MemberList-35d3c304.js} +7 -6
  66. package/MemberList-35d3c304.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-f58761c4.js} +3 -3
  83. package/{OpenChannelListProvider-9b77cf19.js.map → OpenChannelListProvider-f58761c4.js.map} +1 -1
  84. package/{OpenChannelProvider-911f3536.js → OpenChannelProvider-a572410e.js} +7 -7
  85. package/OpenChannelProvider-a572410e.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-13018bc9.js +31 -0
  94. package/RemoveMessageModal-13018bc9.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-b7452f09.js +1644 -0
  118. package/ThreadProvider-b7452f09.js.map +1 -0
  119. package/{UserProfileContext-4e70ef73.js → UserProfileContext-2af91c5b.js} +1 -1
  120. package/{UserProfileContext-4e70ef73.js.map → UserProfileContext-2af91c5b.js.map} +1 -1
  121. package/{_rollupPluginBabelHelpers-51c9f5c3.js → _rollupPluginBabelHelpers-0df8ccf2.js} +1 -1
  122. package/_rollupPluginBabelHelpers-0df8ccf2.js.map +1 -0
  123. package/{actionTypes-3dc172c6.js → actionTypes-56bfddb6.js} +1 -1
  124. package/{actionTypes-3dc172c6.js.map → actionTypes-56bfddb6.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 +17 -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-2b605a05.js} +8 -8
  159. package/cjs/{ChannelListProvider-a61b57d9.js.map → ChannelListProvider-2b605a05.js.map} +1 -1
  160. package/cjs/{ChannelProvider-4dd6e426.js → ChannelProvider-0151b6ec.js} +95 -46
  161. package/cjs/ChannelProvider-0151b6ec.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-67a24a4a.js} +1 -1
  179. package/cjs/{CreateChannelProvider-29af9e9c.js.map → CreateChannelProvider-67a24a4a.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-68ab5e81.js} +3 -3
  186. package/cjs/{LocalizationContext-3c85c616.js.map → LocalizationContext-68ab5e81.js.map} +1 -1
  187. package/cjs/{MediaQueryContext-c8f557d1.js → MediaQueryContext-7bd4247a.js} +1 -1
  188. package/cjs/{MediaQueryContext-c8f557d1.js.map → MediaQueryContext-7bd4247a.js.map} +1 -1
  189. package/cjs/{MemberList-0861d5f8.js → MemberList-61efd673.js} +7 -6
  190. package/cjs/MemberList-61efd673.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-03c75ad9.js} +3 -3
  207. package/cjs/{OpenChannelListProvider-934729b4.js.map → OpenChannelListProvider-03c75ad9.js.map} +1 -1
  208. package/cjs/{OpenChannelProvider-c05255cc.js → OpenChannelProvider-b3dacb85.js} +7 -7
  209. package/cjs/OpenChannelProvider-b3dacb85.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-22d7e167.js +37 -0
  218. package/cjs/RemoveMessageModal-22d7e167.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-06e039df.js +1653 -0
  242. package/cjs/ThreadProvider-06e039df.js.map +1 -0
  243. package/cjs/{UserProfileContext-c16bb529.js → UserProfileContext-a411f7b7.js} +1 -1
  244. package/cjs/{UserProfileContext-c16bb529.js.map → UserProfileContext-a411f7b7.js.map} +1 -1
  245. package/cjs/{_rollupPluginBabelHelpers-23c0e950.js → _rollupPluginBabelHelpers-3886e03a.js} +1 -1
  246. package/cjs/_rollupPluginBabelHelpers-3886e03a.js.map +1 -0
  247. package/cjs/{actionTypes-d80c4fb6.js → actionTypes-898f9ec5.js} +1 -1
  248. package/cjs/{actionTypes-d80c4fb6.js.map → actionTypes-898f9ec5.js.map} +1 -1
  249. package/cjs/{color-03c2ecf2.js → color-4ed3829e.js} +1 -1
  250. package/cjs/{color-03c2ecf2.js.map → color-4ed3829e.js.map} +1 -1
  251. package/cjs/{compareIds-c670ae57.js → compareIds-fc53942c.js} +1 -1
  252. package/cjs/{compareIds-c670ae57.js.map → compareIds-fc53942c.js.map} +1 -1
  253. package/cjs/{const-fe6f002d.js → const-8a65fe1e.js} +1 -1
  254. package/cjs/{const-fe6f002d.js.map → const-8a65fe1e.js.map} +1 -1
  255. package/cjs/{const-0095baf3.js → const-d025f0a2.js} +7 -1
  256. package/cjs/const-d025f0a2.js.map +1 -0
  257. package/cjs/{context-0fb617f1.js → context-48995334.js} +2 -2
  258. package/cjs/{context-0fb617f1.js.map → context-48995334.js.map} +1 -1
  259. package/cjs/dist/index.css +1049 -196
  260. package/cjs/dist/index.css.map +1 -1
  261. package/cjs/{index-607cb4ff.js → index-0cab061c.js} +1 -1
  262. package/cjs/{index-607cb4ff.js.map → index-0cab061c.js.map} +1 -1
  263. package/cjs/{index-97e2a887.js → index-2439032c.js} +9 -9
  264. package/cjs/index-2439032c.js.map +1 -0
  265. package/cjs/{index-b1a4b6f0.js → index-249ae5ae.js} +2 -2
  266. package/cjs/{index-b1a4b6f0.js.map → index-249ae5ae.js.map} +1 -1
  267. package/cjs/{index-fab17fef.js → index-311c564c.js} +4 -4
  268. package/cjs/{index-fab17fef.js.map → index-311c564c.js.map} +1 -1
  269. package/cjs/{index-0854d1ea.js → index-4a58b2e1.js} +2 -2
  270. package/cjs/{index-0854d1ea.js.map → index-4a58b2e1.js.map} +1 -1
  271. package/cjs/{index-039012c4.js → index-79006076.js} +4 -4
  272. package/cjs/{index-039012c4.js.map → index-79006076.js.map} +1 -1
  273. package/cjs/{index-1042f264.js → index-858d4ced.js} +2 -2
  274. package/cjs/{index-1042f264.js.map → index-858d4ced.js.map} +1 -1
  275. package/cjs/{index-27c6a6bc.js → index-9a71cc15.js} +2 -2
  276. package/cjs/{index-27c6a6bc.js.map → index-9a71cc15.js.map} +1 -1
  277. package/cjs/{index-475ae379.js → index-a8e6344b.js} +5 -5
  278. package/cjs/{index-475ae379.js.map → index-a8e6344b.js.map} +1 -1
  279. package/cjs/{index-1218eab2.js → index-c015580f.js} +7 -7
  280. package/cjs/index-c015580f.js.map +1 -0
  281. package/cjs/{index-1b69f7d2.js → index-f31610a5.js} +1 -1
  282. package/cjs/{index-1b69f7d2.js.map → index-f31610a5.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-fd892563.js} +17 -3
  287. package/cjs/stringSet-fd892563.js.map +1 -0
  288. package/cjs/{topics-fd2124f5.js → topics-6a30e46d.js} +1 -1
  289. package/cjs/{topics-fd2124f5.js.map → topics-6a30e46d.js.map} +1 -1
  290. package/cjs/tslib.es6-029d13d0.js +97 -0
  291. package/cjs/{tslib.es6-bce345aa.js.map → tslib.es6-029d13d0.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-40972b66.js} +3 -3
  366. package/cjs/{useLongPress-698416e4.js.map → useLongPress-40972b66.js.map} +1 -1
  367. package/cjs/useSendbirdStateContext.js +1 -1
  368. package/cjs/utils-d43cb0c1.js +32 -0
  369. package/cjs/utils-d43cb0c1.js.map +1 -0
  370. package/cjs/{utils-8a793976.js → utils-d8127210.js} +1 -1
  371. package/cjs/{utils-8a793976.js.map → utils-d8127210.js.map} +1 -1
  372. package/cjs/{utils-557bb5d2.js → utils-db6fb27a.js} +1 -1
  373. package/cjs/{utils-557bb5d2.js.map → utils-db6fb27a.js.map} +1 -1
  374. package/cjs/{utils-0d32641e.js → utils-f90f83c1.js} +1 -1
  375. package/cjs/{utils-0d32641e.js.map → utils-f90f83c1.js.map} +1 -1
  376. package/cjs/{uuid-2a459d4b.js → uuid-de38f276.js} +1 -1
  377. package/cjs/{uuid-2a459d4b.js.map → uuid-de38f276.js.map} +1 -1
  378. package/cjs/withSendbird.js +1 -1
  379. package/{color-e740c17f.js → color-1619c1b7.js} +1 -1
  380. package/{color-e740c17f.js.map → color-1619c1b7.js.map} +1 -1
  381. package/{compareIds-e84966df.js → compareIds-bbc4e959.js} +1 -1
  382. package/{compareIds-e84966df.js.map → compareIds-bbc4e959.js.map} +1 -1
  383. package/{const-3c9680d2.js → const-0751201c.js} +1 -1
  384. package/{const-3c9680d2.js.map → const-0751201c.js.map} +1 -1
  385. package/const-6e3eaa64.js +14 -0
  386. package/const-6e3eaa64.js.map +1 -0
  387. package/{context-3adaf9b3.js → context-0ecfbd98.js} +2 -2
  388. package/{context-3adaf9b3.js.map → context-0ecfbd98.js.map} +1 -1
  389. package/dist/index.css +1049 -196
  390. package/dist/index.css.map +1 -1
  391. package/{index-8ce0c4b6.js → index-2e0b072c.js} +5 -5
  392. package/{index-8ce0c4b6.js.map → index-2e0b072c.js.map} +1 -1
  393. package/{index-873ffa33.js → index-3ade03b5.js} +4 -4
  394. package/{index-873ffa33.js.map → index-3ade03b5.js.map} +1 -1
  395. package/{index-fb4777a9.js → index-43349e3a.js} +4 -4
  396. package/{index-fb4777a9.js.map → index-43349e3a.js.map} +1 -1
  397. package/{index-ca3ba8a0.js → index-468659e6.js} +7 -7
  398. package/index-468659e6.js.map +1 -0
  399. package/{index-8d74bd4b.js → index-4e38f6d5.js} +1 -1
  400. package/{index-8d74bd4b.js.map → index-4e38f6d5.js.map} +1 -1
  401. package/{index-0fa44537.js → index-51219968.js} +2 -2
  402. package/{index-0fa44537.js.map → index-51219968.js.map} +1 -1
  403. package/{index-8e0d1cc6.js → index-51ef2190.js} +1 -1
  404. package/{index-8e0d1cc6.js.map → index-51ef2190.js.map} +1 -1
  405. package/{index-64740116.js → index-59fddbdc.js} +2 -2
  406. package/{index-64740116.js.map → index-59fddbdc.js.map} +1 -1
  407. package/{index-cfdf3b6d.js → index-7ad981b0.js} +2 -2
  408. package/{index-cfdf3b6d.js.map → index-7ad981b0.js.map} +1 -1
  409. package/{index-041c94d3.js → index-dfbeafcd.js} +2 -2
  410. package/{index-041c94d3.js.map → index-dfbeafcd.js.map} +1 -1
  411. package/{index-05c36d6c.js → index-dfc090e4.js} +9 -9
  412. package/index-dfc090e4.js.map +1 -0
  413. package/index.d.ts +230 -14
  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-bd5e1130.js} +17 -3
  419. package/stringSet-bd5e1130.js.map +1 -0
  420. package/{topics-b81e5b9b.js → topics-d58e48df.js} +1 -1
  421. package/{topics-b81e5b9b.js.map → topics-d58e48df.js.map} +1 -1
  422. package/tslib.es6-0f615f78.js +92 -0
  423. package/{tslib.es6-e592f653.js.map → tslib.es6-0f615f78.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-3d0759b4.js} +3 -3
  498. package/{useLongPress-8cda7590.js.map → useLongPress-3d0759b4.js.map} +1 -1
  499. package/useSendbirdStateContext.js +1 -1
  500. package/{utils-c2438081.js → utils-9f07eb45.js} +1 -1
  501. package/{utils-c2438081.js.map → utils-9f07eb45.js.map} +1 -1
  502. package/{utils-f95bafde.js → utils-d76efebb.js} +1 -1
  503. package/{utils-f95bafde.js.map → utils-d76efebb.js.map} +1 -1
  504. package/{utils-90964f90.js → utils-db1bf7d1.js} +1 -1
  505. package/{utils-90964f90.js.map → utils-db1bf7d1.js.map} +1 -1
  506. package/utils-e2976a74.js +30 -0
  507. package/utils-e2976a74.js.map +1 -0
  508. package/{uuid-c41826f3.js → uuid-9f76bbf8.js} +1 -1
  509. package/{uuid-c41826f3.js.map → uuid-9f76bbf8.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
@@ -1,20 +1,20 @@
1
- import { a as __spreadArray } from './tslib.es6-e592f653.js';
1
+ import { a as __spreadArray } from './tslib.es6-0f615f78.js';
2
2
  import React__default, { useContext, useState, useEffect, useRef, useCallback } from 'react';
3
3
  import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
4
4
  import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
5
5
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
6
6
  import IconButton from './ui/IconButton.js';
7
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-64740116.js';
8
- import { a as LocalizationContext } from './LocalizationContext-a90809c7.js';
9
- import { a as UserProfileContext } from './UserProfileContext-4e70ef73.js';
10
- import './context-3adaf9b3.js';
7
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-59fddbdc.js';
8
+ import { a as LocalizationContext } from './LocalizationContext-410574e8.js';
9
+ import { a as UserProfileContext } from './UserProfileContext-2af91c5b.js';
10
+ import './context-0ecfbd98.js';
11
11
  import Avatar from './ui/Avatar.js';
12
12
  import 'react-dom';
13
13
  import ConnectedUserProfile from './ui/UserProfile.js';
14
14
  import '@sendbird/chat/openChannel';
15
15
  import Modal from './ui/Modal.js';
16
16
  import UserListItem$1 from './ui/UserListItem.js';
17
- import { n as noop } from './utils-c2438081.js';
17
+ import { n as noop } from './utils-9f07eb45.js';
18
18
  import { useOpenChannelSettingsContext } from './OpenChannelSettings/context.js';
19
19
  import useSendbirdStateContext from './useSendbirdStateContext.js';
20
20
 
@@ -172,8 +172,8 @@ var UserListItem = function (_a) {
172
172
  ,
173
173
  closeDropdown: closeDropdown,
174
174
  style: {
175
- paddingTop: 0,
176
- paddingBottom: 0
175
+ paddingTop: '0px',
176
+ paddingBottom: '0px'
177
177
  }
178
178
  }, renderUserProfile ? renderUserProfile({
179
179
  user: user,
@@ -350,4 +350,4 @@ function ParticipantList(_a) {
350
350
  }
351
351
 
352
352
  export { ParticipantList as P, UserListItem as U };
353
- //# sourceMappingURL=index-05c36d6c.js.map
353
+ //# sourceMappingURL=index-dfc090e4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-dfc090e4.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.1
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,12 +458,18 @@ 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;
459
469
  isReactionEnabled?: boolean;
460
470
  isMessageGroupingEnabled?: boolean;
461
471
  showSearchIcon?: boolean;
472
+ animatedMessage?: number;
462
473
  highlightedMessage?: number;
463
474
  startingPoint?: number;
464
475
  onBeforeSendUserMessage?(text: string, quotedMessage?: UserMessage | FileMessage): UserMessageCreateParams;
@@ -468,10 +479,15 @@ declare module "SendbirdUIKitGlobal" {
468
479
  onSearchClick?(): void;
469
480
  onBackClick?(): void;
470
481
  replyType?: ReplyType;
482
+ threadReplySelectType?: ThreadReplySelectType;
471
483
  queries?: ChannelQueries;
472
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode | React.ReactElement;
484
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;
473
485
  disableUserProfile?: boolean;
474
486
  disableMarkAsRead?: boolean;
487
+ onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;
488
+ onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;
489
+ onMessageAnimated?: () => void;
490
+ onMessageHighlighted?: () => void;
475
491
  };
476
492
 
477
493
  export interface ChannelUIProps {
@@ -868,6 +884,131 @@ declare module "SendbirdUIKitGlobal" {
868
884
  onCloseClick?: () => void;
869
885
  }
870
886
 
887
+ /**
888
+ * Thread
889
+ */
890
+ export enum ChannelStateTypes {
891
+ NIL = 'NIL',
892
+ LOADING = 'LOADING',
893
+ INVALID = 'INVALID',
894
+ INITIALIZED = 'INITIALIZED',
895
+ }
896
+ export enum ParentMessageInfoStateTypes {
897
+ NIL = 'NIL',
898
+ LOADING = 'LOADING',
899
+ INVALID = 'INVALID',
900
+ INITIALIZED = 'INITIALIZED',
901
+ }
902
+ export enum ThreadListStateTypes {
903
+ NIL = 'NIL',
904
+ LOADING = 'LOADING',
905
+ INVALID = 'INVALID',
906
+ INITIALIZED = 'INITIALIZED',
907
+ }
908
+
909
+ export interface ThreadProps extends ThreadProviderProps, ThreadContextInitialState {
910
+ className?: string;
911
+ }
912
+
913
+ export interface ThreadProviderInterface extends ThreadProviderProps, ThreadContextInitialState {
914
+ fetchPrevThreads: (callback?: (messages?: Array<BaseMessage>) => void) => void;
915
+ fetchNextThreads: (callback?: (messages?: Array<BaseMessage>) => void) => void;
916
+ toggleReaction: (message, key, isReacted) => void;
917
+ sendMessage: (props: {
918
+ message: UserMessage,
919
+ quoteMessage?: UserMessage | FileMessage,
920
+ mentionTemplate?: string,
921
+ mentionedUsers?: Array<User>,
922
+ }) => void;
923
+ sendFileMessage: (file: File, quoteMessage: UserMessage | FileMessage) => void;
924
+ resendMessage: (failedMessage: UserMessage | FileMessage) => void;
925
+ updateMessage: (props, callback?: () => void) => void;
926
+ deleteMessage: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;
927
+ nicknamesMap: Map<string, string>;
928
+ }
929
+
930
+ export type ThreadProviderProps = {
931
+ children?: React.ReactElement;
932
+ channelUrl: string;
933
+ message: UserMessage | FileMessage;
934
+ onHeaderActionClick?: () => void;
935
+ onMoveToParentMessage?: (props: { message: UserMessage | FileMessage, channel: GroupChannel }) => void;
936
+ disableUserProfile?: boolean;
937
+ renderUserProfile?: (props: { user: User, close: () => void }) => React.ReactElement;
938
+ onUserProfileMessage?: (channel: GroupChannel) => void;
939
+ }
940
+
941
+ export interface ThreadContextInitialState {
942
+ currentChannel: GroupChannel;
943
+ allThreadMessages: Array<BaseMessage>;
944
+ parentMessage: UserMessage | FileMessage;
945
+ channelStatus: ChannelStateTypes;
946
+ parentMessageInfoStatus: ParentMessageInfoStateTypes;
947
+ threadListStatus: ThreadListStateTypes;
948
+ hasMorePrev: boolean;
949
+ hasMoreNext: boolean;
950
+ emojiContainer: EmojiContainer;
951
+ isMuted: boolean;
952
+ isChannelFrozen: boolean;
953
+ currentUserId: string;
954
+ }
955
+
956
+ export interface ThreadUIProps {
957
+ renderHeader?: () => React.ReactElement;
958
+ renderParentMessageInfo?: () => React.ReactElement;
959
+ renderMessage?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
960
+ renderMessageInput?: () => React.ReactElement;
961
+ renderCustomSeparator?: () => React.ReactElement;
962
+ renderParentMessageInfoPlaceholder?: (type: ParentMessageInfoStateTypes) => React.ReactElement;
963
+ renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;
964
+ }
965
+
966
+ type EventType = React.MouseEvent<HTMLDivElement | HTMLButtonElement> | React.KeyboardEvent<HTMLDivElement>;
967
+ export interface ThreadHeaderProps {
968
+ className?: string;
969
+ channelName: string;
970
+ renderActionIcon?: (props: { onActionIconClick: (e: EventType) => void }) => React.ReactElement;
971
+ onActionIconClick?: (e: EventType) => void;
972
+ onChannelNameClick?: (e: EventType) => void;
973
+ }
974
+
975
+ export interface ParentMessageInfoProps {
976
+ className?: string;
977
+ }
978
+
979
+ export interface ParentMessageInfoItemProps {
980
+ className?: string;
981
+ message: UserMessage | FileMessage;
982
+ showFileViewer?: (bool: boolean) => void;
983
+ }
984
+
985
+ export interface ThreadListProps {
986
+ className?: string;
987
+ allThreadMessages: Array<UserMessage | FileMessage | BaseMessage>;
988
+ renderMessage?: (props: {
989
+ message: UserMessage | FileMessage,
990
+ chainTop: boolean,
991
+ chainBottom: boolean,
992
+ hasSeparator: boolean,
993
+ }) => React.ReactElement;
994
+ renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
995
+ scrollRef?: React.RefObject<HTMLDivElement>;
996
+ scrollBottom?: number;
997
+ }
998
+ export interface ThreadListItemProps {
999
+ className?: string;
1000
+ message: UserMessage | FileMessage;
1001
+ chainTop?: boolean;
1002
+ chainBottom?: boolean;
1003
+ hasSeparator?: boolean;
1004
+ renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;
1005
+ handleScroll?: () => void;
1006
+ }
1007
+
1008
+ export interface ThreadMessageInputProps {
1009
+ className?: string;
1010
+ }
1011
+
871
1012
  /**
872
1013
  * CreateChannel
873
1014
  */
@@ -1122,6 +1263,7 @@ declare module '@sendbird/uikit-react/Channel/context' {
1122
1263
  import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1123
1264
  export const ChannelProvider: React.FunctionComponent<SendbirdUIKitGlobal.ChannelContextProps>;
1124
1265
  export function useChannelContext(): SendbirdUIKitGlobal.ChannelProviderInterface;
1266
+ export enum ThreadReplySelectType { PARENT, THREAD }
1125
1267
  }
1126
1268
 
1127
1269
  declare module '@sendbird/uikit-react/Channel/components/ChannelHeader' {
@@ -1343,6 +1485,64 @@ declare module '@sendbird/uikit-react/MessageSearch/components/MessageSearchUI'
1343
1485
  export default MessageSearchUI;
1344
1486
  }
1345
1487
 
1488
+ /**
1489
+ * Thread
1490
+ */
1491
+ declare module '@sendbird/uikit-react/Thread' {
1492
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1493
+ const Thread: React.FC<SendbirdUIKitGlobal.ThreadProviderProps>;
1494
+ export default Thread;
1495
+ }
1496
+
1497
+ declare module '@sendbird/uikit-react/Thread/context' {
1498
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1499
+ export const useThreadContext: () => SendbirdUIKitGlobal.ThreadProviderInterface;
1500
+ export const ThreadProvider: React.FC<SendbirdUIKitGlobal.ThreadProviderProps>;
1501
+ }
1502
+
1503
+ declare module '@sendbird/uikit-react/Thread/context/types' {
1504
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1505
+ export const ChannelStateTypes: SendbirdUIKitGlobal.ChannelStateTypes;
1506
+ export const ParentMessageInfoStateTypes: SendbirdUIKitGlobal.ParentMessageInfoStateTypes;
1507
+ export const ThreadListStateTypes: SendbirdUIKitGlobal.ThreadListStateTypes;
1508
+ }
1509
+
1510
+ declare module '@sendbird/uikit-react/Thread/components/ThreadUI' {
1511
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1512
+ const ThreadUI: React.FC<SendbirdUIKitGlobal.ThreadUIProps>;
1513
+ export default ThreadUI;
1514
+ }
1515
+ declare module '@sendbird/uikit-react/Thread/components/ThreadHeader' {
1516
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1517
+ const ThreadHeader: React.FC<SendbirdUIKitGlobal.ThreadHeaderProps>;
1518
+ export default ThreadHeader;
1519
+ }
1520
+ declare module '@sendbird/uikit-react/Thread/components/ParentMessageInfo' {
1521
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1522
+ const ParentMessageInfo: React.FC<SendbirdUIKitGlobal.ParentMessageInfoProps>;
1523
+ export default ParentMessageInfo;
1524
+ }
1525
+ declare module '@sendbird/uikit-react/Thread/components/ParentMessageInfoItem' {
1526
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1527
+ const ParentMessageInfoItem: React.FC<SendbirdUIKitGlobal.ParentMessageInfoItemProps>;
1528
+ export default ParentMessageInfoItem;
1529
+ }
1530
+ declare module '@sendbird/uikit-react/Thread/components/ThreadList' {
1531
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1532
+ const ThreadList: React.FC<SendbirdUIKitGlobal.ThreadListProps>;
1533
+ export default ThreadList;
1534
+ }
1535
+ declare module '@sendbird/uikit-react/Thread/components/ThreadListItem' {
1536
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1537
+ const ThreadListItem: React.FC<SendbirdUIKitGlobal.ThreadListItemProps>;
1538
+ export default ThreadListItem;
1539
+ }
1540
+ declare module '@sendbird/uikit-react/Thread/components/ThreadMessageInput' {
1541
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1542
+ const ThreadMessageInput: React.FC<SendbirdUIKitGlobal.ThreadMessageInputProps>;
1543
+ export default ThreadMessageInput;
1544
+ }
1545
+
1346
1546
  /**
1347
1547
  * CreateChannel
1348
1548
  */
@@ -1633,16 +1833,17 @@ declare module '@sendbird/uikit-react/ui/IconButton' {
1633
1833
 
1634
1834
  declare module '@sendbird/uikit-react/ui/ImageRenderer' {
1635
1835
  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,
1836
+ className?: string | Array<string>;
1837
+ url: string;
1838
+ alt?: string;
1839
+ width?: string | number;
1840
+ height?: string | number;
1841
+ circle?: boolean;
1842
+ fixedSize?: boolean;
1843
+ placeHolder?: ((props: { style: { [key: string]: string | number } }) => React.ReactElement) | React.ReactElement;
1844
+ defaultComponent?: (() => React.ReactElement) | React.ReactElement;
1845
+ onLoad?: () => void;
1846
+ onError?: () => void;
1646
1847
  }
1647
1848
  const ImageRenderer: React.FC<ImageRendererProps>;
1648
1849
  export default ImageRenderer;
@@ -1778,7 +1979,7 @@ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1778
1979
  import type { GroupChannel } from '@sendbird/chat/groupChannel';
1779
1980
  import type { FileMessage, UserMessage } from '@sendbird/chat/message';
1780
1981
  import type { OpenChannel } from '@sendbird/chat/openChannel';
1781
- import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1982
+ type ReplyType = "NONE" | "QUOTE_REPLY" | "THREAD";
1782
1983
 
1783
1984
  interface MessageItemMenuProps {
1784
1985
  className?: string | Array<string>;
@@ -1786,12 +1987,15 @@ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1786
1987
  channel: GroupChannel | OpenChannel;
1787
1988
  isByMe?: boolean;
1788
1989
  disabled?: boolean;
1789
- replyType?: SenbirdUIKitGlobal.ReplyType;
1990
+ replyType?: ReplyType;
1991
+ disableDeleteMessage?: boolean;
1790
1992
  showEdit?: (bool: boolean) => void;
1791
1993
  showRemove?: (bool: boolean) => void;
1792
1994
  resendMessage?: (message: UserMessage | FileMessage) => void;
1793
1995
  setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1794
1996
  setSupposedHover?: (bool: boolean) => void;
1997
+ onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;
1998
+ onMoveToParentMessage?: () => void;
1795
1999
  }
1796
2000
  const MessageItemMenu: React.FC<MessageItemMenuProps>;
1797
2001
  export default MessageItemMenu;
@@ -2087,6 +2291,17 @@ declare module '@sendbird/uikit-react/ui/TextMessageItemBody' {
2087
2291
  export default TextMessageItemBody;
2088
2292
  }
2089
2293
 
2294
+ declare module '@sendbird/uikit-react/ui/ThreadReplies' {
2295
+ import type { ThreadInfo } from '@sendbird/chat/message';
2296
+ interface ThreadRepliesProps {
2297
+ className?: string;
2298
+ threadInfo: ThreadInfo;
2299
+ onClick?: (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;
2300
+ }
2301
+ const ThreadReplies: React.FC<ThreadRepliesProps>;
2302
+ export default ThreadReplies;
2303
+ }
2304
+
2090
2305
  declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
2091
2306
  import type { FileMessage } from '@sendbird/chat/message';
2092
2307
  interface ThumbnailMessageItemBodyProps {
@@ -2096,6 +2311,7 @@ declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
2096
2311
  mouseHover?: boolean;
2097
2312
  isReactionEnabled?: boolean;
2098
2313
  showFileViewer?: (bool: boolean) => void;
2314
+ style?: Record<string, any>;
2099
2315
  }
2100
2316
  const ThumbnailMessageItemBody: React.FC<ThumbnailMessageItemBodyProps>;
2101
2317
  export default ThumbnailMessageItemBody;