@sendbird/uikit-react 3.0.0-beta.5 → 3.0.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 (601) hide show
  1. package/App.js +48 -45
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +25 -21
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +30 -27
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +18 -16
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +36 -27
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +32 -20
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +32 -29
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +21 -19
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +119 -63
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +37 -33
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +6 -6
  24. package/Channel/components/UnreadCount.js.map +1 -1
  25. package/Channel/context.js +16 -14
  26. package/Channel/context.js.map +1 -1
  27. package/Channel.js +30 -27
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +17 -17
  30. package/ChannelList/components/ChannelListHeader.js +8 -8
  31. package/ChannelList/components/ChannelListUI.js +44 -45
  32. package/ChannelList/components/ChannelListUI.js.map +1 -1
  33. package/ChannelList/components/ChannelPreview.js +38 -33
  34. package/ChannelList/components/ChannelPreview.js.map +1 -1
  35. package/ChannelList/components/ChannelPreviewAction.js +18 -16
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  37. package/ChannelList/context.js +11 -9
  38. package/ChannelList/context.js.map +1 -1
  39. package/ChannelList.js +31 -29
  40. package/ChannelList.js.map +1 -1
  41. package/{ChannelListProvider-a7bdd63a.js → ChannelListProvider-c3810392.js} +219 -198
  42. package/ChannelListProvider-c3810392.js.map +1 -0
  43. package/{ChannelProvider-923b58df.js → ChannelProvider-03ec9238.js} +384 -423
  44. package/ChannelProvider-03ec9238.js.map +1 -0
  45. package/ChannelSettings/components/ChannelProfile.js +17 -17
  46. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  47. package/ChannelSettings/components/ChannelSettingsUI.js +24 -24
  48. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  49. package/ChannelSettings/components/EditDetailsModal.js +23 -19
  50. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  51. package/ChannelSettings/components/LeaveChannel.js +14 -14
  52. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  53. package/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +88 -142
  54. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  55. package/ChannelSettings/components/UserListItem.js +19 -18
  56. package/ChannelSettings/components/UserListItem.js.map +1 -1
  57. package/ChannelSettings/components/UserPanel.js +20 -20
  58. package/ChannelSettings/components/UserPanel.js.map +1 -1
  59. package/ChannelSettings/context.js +11 -11
  60. package/ChannelSettings/context.js.map +1 -1
  61. package/ChannelSettings.js +21 -21
  62. package/CreateChannel/components/CreateChannelUI.js +18 -18
  63. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  64. package/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +24 -28
  65. package/CreateChannel/components/InviteUsers.js.map +1 -0
  66. package/CreateChannel/components/SelectChannelType.js +13 -13
  67. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  68. package/CreateChannel/context.js +6 -5
  69. package/CreateChannel/context.js.map +1 -1
  70. package/CreateChannel.js +17 -17
  71. package/{CreateChannelProvider-e491613f.js → CreateChannelProvider-adb7afa8.js} +3 -3
  72. package/CreateChannelProvider-adb7afa8.js.map +1 -0
  73. package/EditUserProfile/components/EditUserProfileUI.js +14 -14
  74. package/EditUserProfile/context.js +2 -2
  75. package/EditUserProfile/context.js.map +1 -1
  76. package/EditUserProfile.js +14 -14
  77. package/{LocalizationContext-0e05ddca.js → LocalizationContext-0293a3fd.js} +3 -3
  78. package/{LocalizationContext-0e05ddca.js.map → LocalizationContext-0293a3fd.js.map} +1 -1
  79. package/{MemberList-ed7da941.js → MemberList-4e057ef8.js} +47 -68
  80. package/MemberList-4e057ef8.js.map +1 -0
  81. package/MessageSearch/components/MessageSearchUI.js +16 -16
  82. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  83. package/MessageSearch/context.js +56 -61
  84. package/MessageSearch/context.js.map +1 -1
  85. package/MessageSearch.js +22 -22
  86. package/MessageSearch.js.map +1 -1
  87. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  88. package/OpenChannel/components/OpenChannelHeader.js +17 -15
  89. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  90. package/OpenChannel/components/OpenChannelInput.js +20 -18
  91. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  92. package/OpenChannel/components/OpenChannelMessage.js +44 -39
  93. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  94. package/OpenChannel/components/OpenChannelMessageList.js +38 -37
  95. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  96. package/OpenChannel/components/OpenChannelUI.js +28 -26
  97. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  98. package/OpenChannel/context.js +12 -10
  99. package/OpenChannel/context.js.map +1 -1
  100. package/OpenChannel.js +28 -26
  101. package/OpenChannel.js.map +1 -1
  102. package/{OpenChannelProvider-45a848a3.js → OpenChannelProvider-0572862e.js} +629 -694
  103. package/OpenChannelProvider-0572862e.js.map +1 -0
  104. package/OpenChannelSettings/components/EditDetailsModal.js +30 -36
  105. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  106. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
  107. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  108. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -23
  109. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  110. package/OpenChannelSettings/components/OperatorUI.js +46 -31
  111. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  112. package/OpenChannelSettings/components/ParticipantUI.js +30 -57
  113. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  114. package/OpenChannelSettings/context.js +16 -16
  115. package/OpenChannelSettings/context.js.map +1 -1
  116. package/OpenChannelSettings.js +19 -19
  117. package/README.md +1 -2
  118. package/SendbirdProvider.js +60 -40
  119. package/SendbirdProvider.js.map +1 -1
  120. package/{UserProfileContext-90704c73.js → UserProfileContext-bcfe2804.js} +1 -1
  121. package/{UserProfileContext-90704c73.js.map → UserProfileContext-bcfe2804.js.map} +1 -1
  122. package/__bundle-7dfccc8c-a0cba188.js +24 -0
  123. package/__bundle-7dfccc8c-a0cba188.js.map +1 -0
  124. package/{_rollupPluginBabelHelpers-c7eeba03.js → _rollupPluginBabelHelpers-38569358.js} +1 -1
  125. package/{_rollupPluginBabelHelpers-c7eeba03.js.map → _rollupPluginBabelHelpers-38569358.js.map} +1 -1
  126. package/{actionTypes-e0f4e19c.js → actionTypes-c12e9c30.js} +1 -1
  127. package/{actionTypes-e0f4e19c.js.map → actionTypes-c12e9c30.js.map} +1 -1
  128. package/cjs/App.js +48 -45
  129. package/cjs/App.js.map +1 -1
  130. package/cjs/Channel/components/ChannelHeader.js +25 -21
  131. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  132. package/cjs/Channel/components/ChannelUI.js +30 -27
  133. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  134. package/cjs/Channel/components/FileViewer.js +18 -16
  135. package/cjs/Channel/components/FileViewer.js.map +1 -1
  136. package/cjs/Channel/components/FrozenNotification.js +5 -5
  137. package/cjs/Channel/components/Message.js +36 -27
  138. package/cjs/Channel/components/Message.js.map +1 -1
  139. package/cjs/Channel/components/MessageInput.js +32 -20
  140. package/cjs/Channel/components/MessageInput.js.map +1 -1
  141. package/cjs/Channel/components/MessageList.js +32 -29
  142. package/cjs/Channel/components/MessageList.js.map +1 -1
  143. package/cjs/Channel/components/RemoveMessageModal.js +21 -19
  144. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  145. package/cjs/Channel/components/SuggestedMentionList.js +119 -63
  146. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  147. package/cjs/Channel/components/TypingIndicator.js +37 -33
  148. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  149. package/cjs/Channel/components/UnreadCount.js +6 -6
  150. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  151. package/cjs/Channel/context.js +17 -15
  152. package/cjs/Channel/context.js.map +1 -1
  153. package/cjs/Channel.js +30 -27
  154. package/cjs/Channel.js.map +1 -1
  155. package/cjs/ChannelList/components/AddChannel.js +17 -17
  156. package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
  157. package/cjs/ChannelList/components/ChannelListUI.js +44 -45
  158. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  159. package/cjs/ChannelList/components/ChannelPreview.js +38 -33
  160. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  161. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -16
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  163. package/cjs/ChannelList/context.js +11 -10
  164. package/cjs/ChannelList/context.js.map +1 -1
  165. package/cjs/ChannelList.js +31 -29
  166. package/cjs/ChannelList.js.map +1 -1
  167. package/cjs/{ChannelListProvider-01864e22.js → ChannelListProvider-8f421c0d.js} +218 -198
  168. package/cjs/ChannelListProvider-8f421c0d.js.map +1 -0
  169. package/cjs/{ChannelProvider-3ef2a755.js → ChannelProvider-397c5f03.js} +384 -423
  170. package/cjs/ChannelProvider-397c5f03.js.map +1 -0
  171. package/cjs/ChannelSettings/components/ChannelProfile.js +16 -16
  172. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  173. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +23 -23
  174. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  175. package/cjs/ChannelSettings/components/EditDetailsModal.js +22 -18
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  177. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  178. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  179. package/cjs/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +87 -141
  180. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  181. package/cjs/ChannelSettings/components/UserListItem.js +19 -18
  182. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  183. package/cjs/ChannelSettings/components/UserPanel.js +19 -19
  184. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  185. package/cjs/ChannelSettings/context.js +11 -11
  186. package/cjs/ChannelSettings/context.js.map +1 -1
  187. package/cjs/ChannelSettings.js +21 -21
  188. package/cjs/CreateChannel/components/CreateChannelUI.js +18 -18
  189. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  190. package/cjs/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +24 -28
  191. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  192. package/cjs/CreateChannel/components/SelectChannelType.js +13 -13
  193. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  194. package/cjs/CreateChannel/context.js +6 -5
  195. package/cjs/CreateChannel/context.js.map +1 -1
  196. package/cjs/CreateChannel.js +17 -17
  197. package/cjs/{CreateChannelProvider-0d01dcbf.js → CreateChannelProvider-adb49afd.js} +3 -3
  198. package/cjs/CreateChannelProvider-adb49afd.js.map +1 -0
  199. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  200. package/cjs/EditUserProfile/context.js +2 -2
  201. package/cjs/EditUserProfile/context.js.map +1 -1
  202. package/cjs/EditUserProfile.js +14 -14
  203. package/cjs/{LocalizationContext-4c0a4a70.js → LocalizationContext-af3a239a.js} +3 -3
  204. package/cjs/{LocalizationContext-4c0a4a70.js.map → LocalizationContext-af3a239a.js.map} +1 -1
  205. package/cjs/{MemberList-b917d2b8.js → MemberList-a507429a.js} +46 -67
  206. package/cjs/MemberList-a507429a.js.map +1 -0
  207. package/cjs/MessageSearch/components/MessageSearchUI.js +15 -15
  208. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  209. package/cjs/MessageSearch/context.js +56 -61
  210. package/cjs/MessageSearch/context.js.map +1 -1
  211. package/cjs/MessageSearch.js +22 -22
  212. package/cjs/MessageSearch.js.map +1 -1
  213. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  214. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -15
  215. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  216. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -18
  217. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelMessage.js +44 -39
  219. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  220. package/cjs/OpenChannel/components/OpenChannelMessageList.js +38 -37
  221. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  222. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -26
  223. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  224. package/cjs/OpenChannel/context.js +13 -11
  225. package/cjs/OpenChannel/context.js.map +1 -1
  226. package/cjs/OpenChannel.js +28 -26
  227. package/cjs/OpenChannel.js.map +1 -1
  228. package/cjs/{OpenChannelProvider-862a55ec.js → OpenChannelProvider-e0ff3593.js} +629 -694
  229. package/cjs/OpenChannelProvider-e0ff3593.js.map +1 -0
  230. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +29 -35
  231. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  232. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  233. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  234. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +38 -22
  235. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  236. package/cjs/OpenChannelSettings/components/OperatorUI.js +43 -28
  237. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  238. package/cjs/OpenChannelSettings/components/ParticipantUI.js +29 -56
  239. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  240. package/cjs/OpenChannelSettings/context.js +16 -16
  241. package/cjs/OpenChannelSettings/context.js.map +1 -1
  242. package/cjs/OpenChannelSettings.js +19 -19
  243. package/cjs/SendbirdProvider.js +61 -42
  244. package/cjs/SendbirdProvider.js.map +1 -1
  245. package/cjs/{UserProfileContext-0081d7b2.js → UserProfileContext-1a32d7da.js} +1 -1
  246. package/cjs/{UserProfileContext-0081d7b2.js.map → UserProfileContext-1a32d7da.js.map} +1 -1
  247. package/cjs/__bundle-7dfccc8c-3aa3a536.js +151 -0
  248. package/cjs/__bundle-7dfccc8c-3aa3a536.js.map +1 -0
  249. package/cjs/{_rollupPluginBabelHelpers-08d1d0ec.js → _rollupPluginBabelHelpers-1be0417a.js} +1 -1
  250. package/cjs/{_rollupPluginBabelHelpers-08d1d0ec.js.map → _rollupPluginBabelHelpers-1be0417a.js.map} +1 -1
  251. package/cjs/{actionTypes-03bdd863.js → actionTypes-9635e2a1.js} +1 -1
  252. package/cjs/{actionTypes-03bdd863.js.map → actionTypes-9635e2a1.js.map} +1 -1
  253. package/cjs/{color-37edcf95.js → color-79441155.js} +1 -1
  254. package/cjs/{color-37edcf95.js.map → color-79441155.js.map} +1 -1
  255. package/cjs/{compareIds-1cb14940.js → compareIds-9e929882.js} +1 -1
  256. package/cjs/{compareIds-1cb14940.js.map → compareIds-9e929882.js.map} +1 -1
  257. package/cjs/{const-21636adb.js → const-3ec42b99.js} +1 -1
  258. package/cjs/{const-21636adb.js.map → const-3ec42b99.js.map} +1 -1
  259. package/cjs/{const-64185108.js → const-c45b3772.js} +1 -1
  260. package/cjs/{const-64185108.js.map → const-c45b3772.js.map} +1 -1
  261. package/cjs/{context-8f183eb3.js → context-7f20c4fc.js} +2 -2
  262. package/cjs/{context-8f183eb3.js.map → context-7f20c4fc.js.map} +1 -1
  263. package/{index.css → cjs/dist/index.css} +243 -103
  264. package/cjs/dist/index.css.map +1 -0
  265. package/cjs/groupChannel-57828c97.js +9 -0
  266. package/cjs/groupChannel-57828c97.js.map +1 -0
  267. package/cjs/{index-30e8e785.js → index-101e25b6.js} +5 -5
  268. package/cjs/index-101e25b6.js.map +1 -0
  269. package/cjs/{index-1a6c1893.js → index-7b1f120b.js} +1 -1
  270. package/cjs/{index-1a6c1893.js.map → index-7b1f120b.js.map} +1 -1
  271. package/cjs/{index-7532e1ca.js → index-82b738a4.js} +4 -4
  272. package/cjs/{index-7532e1ca.js.map → index-82b738a4.js.map} +1 -1
  273. package/cjs/{index-4e4d7494.js → index-c3d974a8.js} +1 -1
  274. package/cjs/{index-4e4d7494.js.map → index-c3d974a8.js.map} +1 -1
  275. package/cjs/{index-8479199c.js → index-c42f8ea9.js} +12 -9
  276. package/cjs/index-c42f8ea9.js.map +1 -0
  277. package/cjs/{index-6d82098c.js → index-c4440bd2.js} +4 -4
  278. package/cjs/{index-6d82098c.js.map → index-c4440bd2.js.map} +1 -1
  279. package/cjs/{index-630f8d1b.js → index-ebb83a37.js} +5 -5
  280. package/cjs/index-ebb83a37.js.map +1 -0
  281. package/cjs/{index-dcd38046.js → index-f21d728f.js} +2 -2
  282. package/cjs/{index-dcd38046.js.map → index-f21d728f.js.map} +1 -1
  283. package/cjs/{index-a40d57a5.js → index-f3cc1992.js} +36 -29
  284. package/cjs/index-f3cc1992.js.map +1 -0
  285. package/cjs/{index-23c51d89.js → index-fddacd70.js} +2 -2
  286. package/cjs/{index-23c51d89.js.map → index-fddacd70.js.map} +1 -1
  287. package/cjs/index.js +43 -40
  288. package/cjs/index.js.map +1 -1
  289. package/cjs/openChannel-19ee9ebe.js +13 -0
  290. package/cjs/openChannel-19ee9ebe.js.map +1 -0
  291. package/cjs/{openChannelUtils-46a3a403.js → openChannelUtils-d4258320.js} +10 -5
  292. package/cjs/openChannelUtils-d4258320.js.map +1 -0
  293. package/cjs/sendbirdSelectors.js +696 -0
  294. package/cjs/sendbirdSelectors.js.map +1 -0
  295. package/cjs/{stringSet-d9121aa6.js → stringSet-ed353b6e.js} +1 -1
  296. package/cjs/{stringSet-d9121aa6.js.map → stringSet-ed353b6e.js.map} +1 -1
  297. package/cjs/{topics-4fc933cb.js → topics-1e190fcd.js} +1 -1
  298. package/cjs/{topics-4fc933cb.js.map → topics-1e190fcd.js.map} +1 -1
  299. package/cjs/{tslib.es6-571bbfc9.js → tslib.es6-4b07fef2.js} +1 -1
  300. package/cjs/{tslib.es6-571bbfc9.js.map → tslib.es6-4b07fef2.js.map} +1 -1
  301. package/cjs/ui/Accordion.js +4 -4
  302. package/cjs/ui/AccordionGroup.js +2 -2
  303. package/cjs/ui/AccordionGroup.js.map +1 -1
  304. package/cjs/ui/AdminMessage.js +4 -3
  305. package/cjs/ui/AdminMessage.js.map +1 -1
  306. package/cjs/ui/Avatar.js +3 -3
  307. package/cjs/ui/Badge.js +5 -5
  308. package/cjs/ui/Button.js +4 -4
  309. package/cjs/ui/ChannelAvatar.js +8 -8
  310. package/cjs/ui/ChannelAvatar.js.map +1 -1
  311. package/cjs/ui/ChannelPreview.js +28 -21
  312. package/cjs/ui/ChannelPreview.js.map +1 -1
  313. package/cjs/ui/ChatHeader.js +19 -12
  314. package/cjs/ui/ChatHeader.js.map +1 -1
  315. package/cjs/ui/Checkbox.js +1 -1
  316. package/cjs/ui/ConnectionStatus.js +5 -5
  317. package/cjs/ui/ContextMenu.js +9 -30
  318. package/cjs/ui/ContextMenu.js.map +1 -1
  319. package/cjs/ui/DateSeparator.js +5 -5
  320. package/cjs/ui/DateSeparator.js.map +1 -1
  321. package/cjs/ui/Dropdown.js +3 -3
  322. package/cjs/ui/EmojiReactions.js +10 -10
  323. package/cjs/ui/EmojiReactions.js.map +1 -1
  324. package/cjs/ui/FileMessageItemBody.js +6 -6
  325. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  326. package/cjs/ui/FileViewer.js +7 -7
  327. package/cjs/ui/Icon.js +5 -1
  328. package/cjs/ui/Icon.js.map +1 -1
  329. package/cjs/ui/IconButton.js +1 -1
  330. package/cjs/ui/ImageRenderer.js +1 -1
  331. package/cjs/ui/Input.js +3 -3
  332. package/cjs/ui/Label.js +3 -3
  333. package/cjs/ui/LinkLabel.js +3 -3
  334. package/cjs/ui/Loader.js +1 -1
  335. package/cjs/ui/MentionLabel.js +100 -0
  336. package/cjs/ui/MentionLabel.js.map +1 -0
  337. package/cjs/ui/MentionUserLabel.js +1 -1
  338. package/cjs/ui/MentionUserLabel.js.map +1 -1
  339. package/cjs/ui/MessageContent.js +54 -48
  340. package/cjs/ui/MessageContent.js.map +1 -1
  341. package/cjs/ui/MessageInput.js +18 -14
  342. package/cjs/ui/MessageInput.js.map +1 -1
  343. package/cjs/ui/MessageItemMenu.js +14 -18
  344. package/cjs/ui/MessageItemMenu.js.map +1 -1
  345. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  346. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  347. package/cjs/ui/MessageSearchFileItem.js +12 -11
  348. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  349. package/cjs/ui/MessageSearchItem.js +10 -10
  350. package/cjs/ui/MessageSearchItem.js.map +1 -1
  351. package/cjs/ui/MessageStatus.js +11 -11
  352. package/cjs/ui/MessageStatus.js.map +1 -1
  353. package/cjs/ui/Modal.js +8 -8
  354. package/cjs/ui/MutedAvatarOverlay.js +7 -7
  355. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  356. package/cjs/ui/OGMessageItemBody.js +25 -13
  357. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  358. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  359. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  360. package/cjs/ui/OpenChannelAvatar.js +11 -11
  361. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  362. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  363. package/cjs/ui/OpenchannelFileMessage.js +17 -16
  364. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  365. package/cjs/ui/OpenchannelOGMessage.js +17 -16
  366. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  367. package/cjs/ui/OpenchannelThumbnailMessage.js +18 -17
  368. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  369. package/cjs/ui/OpenchannelUserMessage.js +18 -17
  370. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  371. package/cjs/ui/PlaceHolder.js +6 -6
  372. package/cjs/ui/QuoteMessage.js +24 -24
  373. package/cjs/ui/QuoteMessage.js.map +1 -1
  374. package/cjs/ui/QuoteMessageInput.js +11 -13
  375. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  376. package/cjs/ui/ReactionBadge.js +3 -3
  377. package/cjs/ui/ReactionButton.js +1 -1
  378. package/cjs/ui/SortByRow.js +1 -1
  379. package/cjs/ui/TextButton.js +2 -2
  380. package/cjs/ui/TextMessageItemBody.js +26 -12
  381. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  382. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  383. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  384. package/cjs/ui/Tooltip.js +3 -3
  385. package/cjs/ui/TooltipWrapper.js +1 -1
  386. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  387. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  388. package/cjs/ui/UserListItem.js +14 -13
  389. package/cjs/ui/UserListItem.js.map +1 -1
  390. package/cjs/ui/UserProfile.js +22 -21
  391. package/cjs/ui/UserProfile.js.map +1 -1
  392. package/cjs/{index-94e8cf13.js → ui/Word.js} +35 -13
  393. package/cjs/ui/Word.js.map +1 -0
  394. package/cjs/useSendbirdStateContext.js +3 -3
  395. package/cjs/useSendbirdStateContext.js.map +1 -1
  396. package/cjs/{utils-b88eb3e0.js → utils-6ff87257.js} +1 -1
  397. package/cjs/{utils-b88eb3e0.js.map → utils-6ff87257.js.map} +1 -1
  398. package/cjs/{utils-63225dc9.js → utils-88672f3d.js} +1 -1
  399. package/cjs/{utils-63225dc9.js.map → utils-88672f3d.js.map} +1 -1
  400. package/cjs/{utils-f734965d.js → utils-c15722aa.js} +8 -8
  401. package/cjs/utils-c15722aa.js.map +1 -0
  402. package/cjs/{uuid-086f0c34.js → uuid-c63c6c5a.js} +1 -1
  403. package/cjs/{uuid-086f0c34.js.map → uuid-c63c6c5a.js.map} +1 -1
  404. package/cjs/{withSendBird.js → withSendbird.js} +2 -2
  405. package/cjs/{withSendBird.js.map → withSendbird.js.map} +1 -1
  406. package/{color-a3d3742c.js → color-8ef428b9.js} +1 -1
  407. package/{color-a3d3742c.js.map → color-8ef428b9.js.map} +1 -1
  408. package/{compareIds-2bfd667a.js → compareIds-d0f57b59.js} +1 -1
  409. package/{compareIds-2bfd667a.js.map → compareIds-d0f57b59.js.map} +1 -1
  410. package/{const-9f83647a.js → const-c751cfe7.js} +1 -1
  411. package/{const-9f83647a.js.map → const-c751cfe7.js.map} +1 -1
  412. package/{const-a8df15de.js → const-da7e79d6.js} +1 -1
  413. package/{const-a8df15de.js.map → const-da7e79d6.js.map} +1 -1
  414. package/{context-ae164d45.js → context-64a89b1b.js} +2 -2
  415. package/{context-ae164d45.js.map → context-64a89b1b.js.map} +1 -1
  416. package/dist/index.css +243 -103
  417. package/dist/index.css.map +1 -1
  418. package/groupChannel-45ccdf2b.js +6 -0
  419. package/groupChannel-45ccdf2b.js.map +1 -0
  420. package/{index-df459121.js → index-03332d0e.js} +4 -4
  421. package/{index-df459121.js.map → index-03332d0e.js.map} +1 -1
  422. package/{index-d7840fad.js → index-244760b9.js} +4 -4
  423. package/{index-d7840fad.js.map → index-244760b9.js.map} +1 -1
  424. package/{index-e1b93b3a.js → index-5729e2f0.js} +5 -5
  425. package/index-5729e2f0.js.map +1 -0
  426. package/{index-e7c0bc26.js → index-6924378b.js} +1 -1
  427. package/{index-e7c0bc26.js.map → index-6924378b.js.map} +1 -1
  428. package/{index-89f5a4ba.js → index-87a997c3.js} +12 -9
  429. package/index-87a997c3.js.map +1 -0
  430. package/{index-f78ebc31.js → index-b9a1f38d.js} +5 -5
  431. package/index-b9a1f38d.js.map +1 -0
  432. package/{index-2c56786f.js → index-c3d16dc1.js} +2 -2
  433. package/{index-2c56786f.js.map → index-c3d16dc1.js.map} +1 -1
  434. package/{index-29563598.js → index-e0ff03bb.js} +2 -2
  435. package/{index-29563598.js.map → index-e0ff03bb.js.map} +1 -1
  436. package/{index-03baba6a.js → index-f1c7b834.js} +36 -30
  437. package/index-f1c7b834.js.map +1 -0
  438. package/{index-80e330a9.js → index-f6405407.js} +1 -1
  439. package/{index-80e330a9.js.map → index-f6405407.js.map} +1 -1
  440. package/index.d.ts +1035 -900
  441. package/index.d.ts_bkup +1883 -0
  442. package/index.js +41 -38
  443. package/index.js.map +1 -1
  444. package/openChannel-a604a724.js +8 -0
  445. package/openChannel-a604a724.js.map +1 -0
  446. package/{openChannelUtils-ae1d6038.js → openChannelUtils-d9f15020.js} +10 -5
  447. package/openChannelUtils-d9f15020.js.map +1 -0
  448. package/package.json +5 -5
  449. package/sendbirdSelectors.js +671 -0
  450. package/sendbirdSelectors.js.map +1 -0
  451. package/{stringSet-6c9c68ae.js → stringSet-6bcac8f5.js} +1 -1
  452. package/{stringSet-6c9c68ae.js.map → stringSet-6bcac8f5.js.map} +1 -1
  453. package/{topics-d347c996.js → topics-997dc2ef.js} +2 -2
  454. package/{topics-d347c996.js.map → topics-997dc2ef.js.map} +1 -1
  455. package/{tslib.es6-61821688.js → tslib.es6-528d1472.js} +1 -1
  456. package/{tslib.es6-61821688.js.map → tslib.es6-528d1472.js.map} +1 -1
  457. package/ui/Accordion.js +4 -4
  458. package/ui/AccordionGroup.js +2 -2
  459. package/ui/AccordionGroup.js.map +1 -1
  460. package/ui/AdminMessage.js +4 -3
  461. package/ui/AdminMessage.js.map +1 -1
  462. package/ui/Avatar.js +3 -3
  463. package/ui/Badge.js +5 -5
  464. package/ui/Button.js +4 -4
  465. package/ui/ChannelAvatar.js +8 -8
  466. package/ui/ChannelAvatar.js.map +1 -1
  467. package/ui/ChannelPreview.js +28 -21
  468. package/ui/ChannelPreview.js.map +1 -1
  469. package/ui/ChatHeader.js +19 -12
  470. package/ui/ChatHeader.js.map +1 -1
  471. package/ui/Checkbox.js +1 -1
  472. package/ui/ConnectionStatus.js +5 -5
  473. package/ui/ContextMenu.js +9 -30
  474. package/ui/ContextMenu.js.map +1 -1
  475. package/ui/DateSeparator.js +5 -5
  476. package/ui/DateSeparator.js.map +1 -1
  477. package/ui/Dropdown.js +3 -3
  478. package/ui/EmojiReactions.js +10 -10
  479. package/ui/EmojiReactions.js.map +1 -1
  480. package/ui/FileMessageItemBody.js +6 -6
  481. package/ui/FileMessageItemBody.js.map +1 -1
  482. package/ui/FileViewer.js +7 -7
  483. package/ui/Icon.js +5 -1
  484. package/ui/Icon.js.map +1 -1
  485. package/ui/IconButton.js +1 -1
  486. package/ui/ImageRenderer.js +1 -1
  487. package/ui/Input.js +3 -3
  488. package/ui/Label.js +3 -3
  489. package/ui/LinkLabel.js +3 -3
  490. package/ui/Loader.js +1 -1
  491. package/ui/MentionLabel.js +94 -0
  492. package/ui/MentionLabel.js.map +1 -0
  493. package/ui/MentionUserLabel.js +1 -1
  494. package/ui/MentionUserLabel.js.map +1 -1
  495. package/ui/MessageContent.js +56 -50
  496. package/ui/MessageContent.js.map +1 -1
  497. package/ui/MessageInput.js +18 -14
  498. package/ui/MessageInput.js.map +1 -1
  499. package/ui/MessageItemMenu.js +14 -18
  500. package/ui/MessageItemMenu.js.map +1 -1
  501. package/ui/MessageItemReactionMenu.js +5 -5
  502. package/ui/MessageItemReactionMenu.js.map +1 -1
  503. package/ui/MessageSearchFileItem.js +12 -11
  504. package/ui/MessageSearchFileItem.js.map +1 -1
  505. package/ui/MessageSearchItem.js +10 -10
  506. package/ui/MessageSearchItem.js.map +1 -1
  507. package/ui/MessageStatus.js +11 -11
  508. package/ui/MessageStatus.js.map +1 -1
  509. package/ui/Modal.js +8 -8
  510. package/ui/MutedAvatarOverlay.js +7 -7
  511. package/ui/MutedAvatarOverlay.js.map +1 -1
  512. package/ui/OGMessageItemBody.js +23 -11
  513. package/ui/OGMessageItemBody.js.map +1 -1
  514. package/ui/OpenChannelAdminMessage.js +4 -4
  515. package/ui/OpenChannelAdminMessage.js.map +1 -1
  516. package/ui/OpenChannelAvatar.js +11 -11
  517. package/ui/OpenChannelAvatar.js.map +1 -1
  518. package/ui/OpenchannelConversationHeader.js +7 -7
  519. package/ui/OpenchannelFileMessage.js +17 -16
  520. package/ui/OpenchannelFileMessage.js.map +1 -1
  521. package/ui/OpenchannelOGMessage.js +17 -16
  522. package/ui/OpenchannelOGMessage.js.map +1 -1
  523. package/ui/OpenchannelThumbnailMessage.js +18 -17
  524. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  525. package/ui/OpenchannelUserMessage.js +18 -17
  526. package/ui/OpenchannelUserMessage.js.map +1 -1
  527. package/ui/PlaceHolder.js +6 -6
  528. package/ui/QuoteMessage.js +24 -24
  529. package/ui/QuoteMessage.js.map +1 -1
  530. package/ui/QuoteMessageInput.js +11 -13
  531. package/ui/QuoteMessageInput.js.map +1 -1
  532. package/ui/ReactionBadge.js +3 -3
  533. package/ui/ReactionButton.js +1 -1
  534. package/ui/SortByRow.js +1 -1
  535. package/ui/TextButton.js +2 -2
  536. package/ui/TextMessageItemBody.js +25 -11
  537. package/ui/TextMessageItemBody.js.map +1 -1
  538. package/ui/ThumbnailMessageItemBody.js +3 -3
  539. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  540. package/ui/Tooltip.js +3 -3
  541. package/ui/TooltipWrapper.js +1 -1
  542. package/ui/UnknownMessageItemBody.js +7 -7
  543. package/ui/UnknownMessageItemBody.js.map +1 -1
  544. package/ui/UserListItem.js +14 -13
  545. package/ui/UserListItem.js.map +1 -1
  546. package/ui/UserProfile.js +20 -19
  547. package/ui/UserProfile.js.map +1 -1
  548. package/ui/Word.js +70 -0
  549. package/ui/Word.js.map +1 -0
  550. package/useSendbirdStateContext.js +2 -2
  551. package/useSendbirdStateContext.js.map +1 -1
  552. package/{utils-aed86fb8.js → utils-77d4fd35.js} +1 -1
  553. package/{utils-aed86fb8.js.map → utils-77d4fd35.js.map} +1 -1
  554. package/{utils-5e25aca3.js → utils-91321bf8.js} +8 -8
  555. package/utils-91321bf8.js.map +1 -0
  556. package/{utils-4e85584a.js → utils-d0e53d6f.js} +1 -1
  557. package/{utils-4e85584a.js.map → utils-d0e53d6f.js.map} +1 -1
  558. package/{uuid-6e6389e2.js → uuid-ae0ebd46.js} +1 -1
  559. package/{uuid-6e6389e2.js.map → uuid-ae0ebd46.js.map} +1 -1
  560. package/{withSendBird.js → withSendbird.js} +2 -2
  561. package/{withSendBird.js.map → withSendbird.js.map} +1 -1
  562. package/ChannelListProvider-a7bdd63a.js.map +0 -1
  563. package/ChannelProvider-923b58df.js.map +0 -1
  564. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  565. package/CreateChannel/components/InviteMembers.js.map +0 -1
  566. package/CreateChannelProvider-e491613f.js.map +0 -1
  567. package/MemberList-ed7da941.js.map +0 -1
  568. package/OpenChannelProvider-45a848a3.js.map +0 -1
  569. package/cjs/ChannelListProvider-01864e22.js.map +0 -1
  570. package/cjs/ChannelProvider-3ef2a755.js.map +0 -1
  571. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  572. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  573. package/cjs/CreateChannelProvider-0d01dcbf.js.map +0 -1
  574. package/cjs/MemberList-b917d2b8.js.map +0 -1
  575. package/cjs/OpenChannelProvider-862a55ec.js.map +0 -1
  576. package/cjs/index-30e8e785.js.map +0 -1
  577. package/cjs/index-630f8d1b.js.map +0 -1
  578. package/cjs/index-8479199c.js.map +0 -1
  579. package/cjs/index-94e8cf13.js.map +0 -1
  580. package/cjs/index-a40d57a5.js.map +0 -1
  581. package/cjs/index.css +0 -4463
  582. package/cjs/index.css.map +0 -1
  583. package/cjs/openChannelUtils-46a3a403.js.map +0 -1
  584. package/cjs/sendBirdSelectors.js +0 -741
  585. package/cjs/sendBirdSelectors.js.map +0 -1
  586. package/cjs/ui/OpenChannelMessageContent.js +0 -14
  587. package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  588. package/cjs/utils-f734965d.js.map +0 -1
  589. package/index-03baba6a.js.map +0 -1
  590. package/index-13eb0f5e.js +0 -48
  591. package/index-13eb0f5e.js.map +0 -1
  592. package/index-89f5a4ba.js.map +0 -1
  593. package/index-e1b93b3a.js.map +0 -1
  594. package/index-f78ebc31.js.map +0 -1
  595. package/index.css.map +0 -1
  596. package/openChannelUtils-ae1d6038.js.map +0 -1
  597. package/sendBirdSelectors.js +0 -713
  598. package/sendBirdSelectors.js.map +0 -1
  599. package/ui/OpenChannelMessageContent.js +0 -8
  600. package/ui/OpenChannelMessageContent.js.map +0 -1
  601. package/utils-5e25aca3.js.map +0 -1
package/index.d.ts CHANGED
@@ -3,1105 +3,1179 @@
3
3
  * homepage: https://sendbird.com/
4
4
  * git: https://github.com/sendbird/sendbird-uikit-react
5
5
  */
6
- type ReplyType = "NONE" | "QUOTE_REPLY" | "THREAD";
6
+ declare module "SendbirdUIKitGlobal" {
7
+ import type React from 'react';
8
+ import type Locale from 'date-fns';
9
+ import type SendbirdChat from '@sendbird/chat';
10
+ import type { SendbirdError, SessionHandler, User } from '@sendbird/chat';
11
+ import type { GroupChannel, GroupChannelCreateParams, GroupChannelUpdateParams, Member, SendbirdGroupChat } from '@sendbird/chat/groupChannel';
12
+ import type { AdminMessage, FileMessage, FileMessageCreateParams, MessageListParams, MessageSearchQuery, UserMessage, UserMessageCreateParams, UserMessageUpdateParams } from '@sendbird/chat/message';
13
+ import type { OpenChannel, OpenChannelCreateParams, OpenChannelUpdateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';
14
+
15
+ export type ReplyType = "NONE" | "QUOTE_REPLY" | "THREAD";
16
+ export interface AppProps {
17
+ appId: string;
18
+ userId: string;
19
+ accessToken?: string;
20
+ theme?: 'light' | 'dark';
21
+ userListQuery?(): UserListQuery;
22
+ nickname?: string;
23
+ profileUrl?: string;
24
+ dateLocale?: Locale;
25
+ allowProfileEdit?: boolean;
26
+ disableUserProfile?: boolean;
27
+ showSearchIcon?: boolean;
28
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
29
+ onProfileEditSuccess?(user: User): void;
30
+ config?: SendbirdProviderConfig;
31
+ useReaction?: boolean;
32
+ useMessageGrouping?: boolean;
33
+ stringSet?: Record<string, string>;
34
+ colorSet?: Record<string, string>;
35
+ imageCompression?: {
36
+ compressionRate?: number,
37
+ resizingWidth?: number | string,
38
+ resizingHeight?: number | string,
39
+ };
40
+ replyType?: ReplyType;
41
+ disableAutoSelect?: boolean;
42
+ }
7
43
 
8
- type Logger = {
9
- info?(title?: unknown, description?: unknown): void;
10
- error?(title?: unknown, description?: unknown): void;
11
- warning?(title?: unknown, description?: unknown): void;
12
- };
44
+ export type Logger = {
45
+ info?(title?: unknown, description?: unknown): void;
46
+ error?(title?: unknown, description?: unknown): void;
47
+ warning?(title?: unknown, description?: unknown): void;
48
+ }
13
49
 
14
- interface UserListQuery {
15
- hasNext?: boolean;
16
- next(callback: unknown): void;
17
- }
50
+ export type MessageHandler = (message: UserMessage | FileMessage) => void;
18
51
 
19
- interface RenderUserProfileProps {
20
- user: SendBird.User | SendBird.Member;
21
- currentUserId: string;
22
- close(): void;
23
- }
52
+ export interface UikitMessageHandler {
53
+ onPending: (handler: MessageHandler) => UikitMessageHandler;
54
+ onFailed: (handler: MessageHandler) => UikitMessageHandler;
55
+ onSucceeded: (handler: MessageHandler) => UikitMessageHandler;
56
+ }
57
+
58
+ export interface UserListQuery {
59
+ hasNext?: boolean;
60
+ next(callback: unknown): void;
61
+ }
62
+
63
+ export interface RenderUserProfileProps {
64
+ user: User | Member;
65
+ currentUserId: string;
66
+ close(): void;
67
+ }
68
+
69
+ export interface SendbirdProviderConfig {
70
+ logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | Array<string>;
71
+ userMention?: {
72
+ maxMentionCount?: number,
73
+ maxSuggestionCount?: number,
74
+ };
75
+ }
76
+
77
+ export interface ClientMessage {
78
+ reqId: string;
79
+ file?: File;
80
+ localUrl?: string;
81
+ _sender: User;
82
+ }
83
+
84
+ export interface RenderMessageProps {
85
+ message: EveryMessage;
86
+ chainTop: boolean;
87
+ chainBottom: boolean;
88
+ }
89
+
90
+ export interface ClientUserMessage extends UserMessage, ClientMessage { }
91
+ export interface ClientFileMessage extends FileMessage, ClientMessage { }
92
+ export interface ClientAdminMessage extends AdminMessage, ClientMessage { }
93
+ export type EveryMessage = ClientUserMessage | ClientFileMessage | ClientAdminMessage;
94
+ export type ClientSentMessages = ClientUserMessage | ClientFileMessage;
95
+
96
+ export type GetSdk = SendbirdChat | undefined;
97
+ export type GetConnect = (
98
+ userId: string,
99
+ accessToken?: string
100
+ ) => Promise<User>;
101
+ export type GetDisconnect = () => Promise<void>;
102
+ export type GetUpdateUserInfo = (
103
+ nickName: string,
104
+ profileUrl?: string
105
+ ) => Promise<User>;
106
+ export type GetCreateGroupChannel = (channelParams: GroupChannelCreateParams) => Promise<GroupChannel>;
107
+ export type GetCreateOpenChannel = (channelParams: OpenChannelCreateParams) => Promise<OpenChannel>;
108
+ export type GetGetGroupChannel = (
109
+ channelUrl: string,
110
+ isSelected?: boolean,
111
+ ) => Promise<GroupChannel>;
112
+ export type GetGetOpenChannel = (
113
+ channelUrl: string,
114
+ ) => Promise<OpenChannel>;
115
+ export type GetLeaveGroupChannel = (channel: GroupChannel) => Promise<void>;
116
+ export type GetEnterOpenChannel = (channel: OpenChannel) => Promise<OpenChannel>;
117
+ export type GetExitOpenChannel = (channel: OpenChannel) => Promise<void>;
118
+ export type GetFreezeChannel = (channel: GroupChannel | OpenChannel) => Promise<void>;
119
+ export type GetUnFreezeChannel = (channel: GroupChannel | OpenChannel) => Promise<void>;
120
+ export type GetSendUserMessage = (
121
+ channel: GroupChannel | OpenChannel,
122
+ UserMessageCreateParams: UserMessageCreateParams,
123
+ ) => UikitMessageHandler;
124
+ export type GetSendFileMessage = (
125
+ channel: GroupChannel | OpenChannel,
126
+ FileMessageCreateParams: FileMessageCreateParams
127
+ ) => UikitMessageHandler;
128
+ export type GetUpdateUserMessage = (
129
+ channel: GroupChannel | OpenChannel,
130
+ messageId: string | number,
131
+ params: UserMessageUpdateParams
132
+ ) => Promise<UserMessage>;
133
+ // type getUpdateFileMessage = (
134
+ // channel: GroupChannel | OpenChannel,
135
+ // messageId: string | number,
136
+ // params: FileMessageUpdateParams,
137
+ // ) => Promise<FileMessage>;
138
+ export type GetDeleteMessage = (
139
+ channel: GroupChannel | OpenChannel,
140
+ message: UserMessage | FileMessage
141
+ ) => Promise<void>;
142
+ export type GetResendUserMessage = (
143
+ channel: GroupChannel | OpenChannel,
144
+ failedMessage: UserMessage
145
+ ) => Promise<UserMessage>;
146
+ export type GetResendFileMessage = (
147
+ channel: GroupChannel | OpenChannel,
148
+ failedMessage: FileMessage
149
+ ) => Promise<FileMessage>;
150
+
151
+ export interface sendbirdSelectorsInterface {
152
+ getSdk: (store: SendBirdState) => GetSdk;
153
+ getConnect: (store: SendBirdState) => GetConnect
154
+ getDisconnect: (store: SendBirdState) => GetDisconnect;
155
+ getUpdateUserInfo: (store: SendBirdState) => GetUpdateUserInfo;
156
+ getCreateGroupChannel: (store: SendBirdState) => GetCreateGroupChannel;
157
+ getCreateOpenChannel: (store: SendBirdState) => GetCreateOpenChannel;
158
+ getGetGroupChannel: (store: SendBirdState) => GetGetGroupChannel;
159
+ getGetOpenChannel: (store: SendBirdState) => GetGetOpenChannel;
160
+ getLeaveChannel: (store: SendBirdState) => GetLeaveGroupChannel;
161
+ getEnterOpenChannel: (store: SendBirdState) => GetEnterOpenChannel;
162
+ getExitOpenChannel: (store: SendBirdState) => GetExitOpenChannel;
163
+ getFreezeChannel: (store: SendBirdState) => GetFreezeChannel;
164
+ getUnFreezeChannel: (store: SendBirdState) => GetUnFreezeChannel;
165
+ getSendUserMessage: (store: SendBirdState) => GetSendUserMessage;
166
+ getSendFileMessage: (store: SendBirdState) => GetSendFileMessage;
167
+ getUpdateUserMessage: (store: SendBirdState) => GetUpdateUserMessage;
168
+ // getUpdateFileMessage: (store: SendBirdState) => GetUpdateFileMessage;
169
+ getDeleteMessage: (store: SendBirdState) => GetDeleteMessage;
170
+ getResendUserMessage: (store: SendBirdState) => GetResendUserMessage;
171
+ getResendFileMessage: (store: SendBirdState) => GetResendFileMessage;
172
+ }
173
+ export interface SendbirdProviderProps {
174
+ userId: string;
175
+ appId: string;
176
+ accessToken?: string;
177
+ configureSession?: (sdk: SendbirdGroupChat | SendbirdOpenChat) => SessionHandler;
178
+ children?: React.ReactNode;
179
+ theme?: 'light' | 'dark';
180
+ nickname?: string;
181
+ profileUrl?: string;
182
+ dateLocale?: Locale;
183
+ disableUserProfile?: boolean;
184
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
185
+ allowProfileEdit?: boolean;
186
+ userListQuery?(): UserListQuery;
187
+ config?: SendbirdProviderConfig;
188
+ stringSet?: Record<string, string>;
189
+ colorSet?: Record<string, string>;
190
+ isMentionEnabled?: boolean;
191
+ imageCompression?: {
192
+ compressionRate?: number,
193
+ resizingWidth?: number | string,
194
+ resizingHeight?: number | string,
195
+ };
196
+ }
197
+
198
+ export interface SendBirdStateConfig {
199
+ disableUserProfile: boolean;
200
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
201
+ allowProfileEdit: boolean;
202
+ isOnline: boolean;
203
+ isMentionEnabled: boolean;
204
+ userMention: {
205
+ maxMentionCount: number;
206
+ maxSuggestionCount: number;
207
+ };
208
+ userId: string;
209
+ appId: string;
210
+ accessToken: string;
211
+ theme: string;
212
+ pubSub: any;
213
+ logger: Logger;
214
+ setCurrenttheme: (theme: string) => void;
215
+ userListQuery?(): UserListQuery;
216
+ imageCompression?: {
217
+ compressionRate?: number,
218
+ resizingWidth?: number | string,
219
+ resizingHeight?: number | string,
220
+ };
221
+ }
222
+ export interface SdkStore {
223
+ error: boolean;
224
+ initialized: boolean;
225
+ loading: boolean;
226
+ sdk: SendbirdGroupChat | SendbirdOpenChat;
227
+ }
228
+ export interface UserStore {
229
+ initialized: boolean;
230
+ loading: boolean;
231
+ user: User;
232
+ }
233
+ export interface SendBirdStateStore {
234
+ sdkStore: SdkStore;
235
+ userStore: UserStore;
236
+ }
237
+
238
+ export type SendBirdState = {
239
+ config: SendBirdStateConfig;
240
+ stores: SendBirdStateStore;
241
+ dispatchers: {
242
+ userDispatcher: UserDispatcher,
243
+ },
244
+ }
24
245
 
25
- interface SendBirdProviderConfig {
26
- logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | Array<string>;
27
- userMention?: {
28
- maxMentionCount?: number,
29
- maxSuggestionCount?: number,
246
+ export type UserDispatcherParams = {
247
+ type: string,
248
+ payload: User;
30
249
  };
31
- }
32
250
 
33
- interface ClientMessage {
34
- reqId: string;
35
- file?: File;
36
- localUrl?: string;
37
- _sender: SendBird.User;
38
- }
39
-
40
- interface RenderMessageProps {
41
- message: EveryMessage;
42
- chainTop: boolean;
43
- chainBottom: boolean;
44
- }
45
-
46
- interface ClientUserMessage extends SendBird.UserMessage, ClientMessage { }
47
- interface ClientFileMessage extends SendBird.FileMessage, ClientMessage { }
48
- interface ClientAdminMessage extends SendBird.AdminMessage, ClientMessage { }
49
- type EveryMessage = ClientUserMessage | ClientFileMessage | ClientAdminMessage;
50
- type ClientSentMessages = ClientUserMessage | ClientFileMessage;
51
-
52
- interface SendBirdProviderProps {
53
- userId: string;
54
- appId: string;
55
- accessToken?: string;
56
- children?: React.ReactNode;
57
- theme?: 'light' | 'dark';
58
- nickname?: string;
59
- profileUrl?: string;
60
- dateLocale?: Locale;
61
- disableUserProfile?: boolean;
62
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
63
- allowProfileEdit?: boolean;
64
- userListQuery?(): UserListQuery;
65
- config?: SendBirdProviderConfig;
66
- stringSet?: Record<string, string>;
67
- colorSet?: Record<string, string>;
68
- isMentionEnabled?: boolean;
69
- imageCompression?: {
70
- compressionRate?: number,
71
- resizingWidth?: number | string,
72
- resizingHeight?: number | string,
251
+ export type UserDispatcher = (params: UserDispatcherParams) => void;
252
+
253
+
254
+ export interface ApplicationUserListQuery {
255
+ limit?: number;
256
+ userIdsFilter?: Array<string>;
257
+ metaDataKeyFilter?: string;
258
+ metaDataValuesFilter?: Array<string>;
259
+ }
260
+
261
+ export interface GroupChannelListQuery {
262
+ limit?: number;
263
+ includeEmpty?: boolean;
264
+ order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';
265
+ userIdsExactFilter?: Array<string>;
266
+ userIdsIncludeFilter?: Array<string>;
267
+ userIdsIncludeFilterQueryType?: 'AND' | 'OR';
268
+ nicknameContainsFilter?: string;
269
+ channelNameContainsFilter?: string;
270
+ customTypesFilter?: Array<string>;
271
+ customTypeStartsWithFilter?: string;
272
+ channelUrlsFilter?: Array<string>;
273
+ superChannelFilter?: 'all' | 'super' | 'nonsuper';
274
+ publicChannelFilter?: 'all' | 'public' | 'private';
275
+ metadataOrderKeyFilter?: string;
276
+ memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';
277
+ hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';
278
+ unreadChannelFilter?: 'all' | 'unread_message';
279
+ includeFrozen?: boolean;
280
+ }
281
+ export interface ChannelListQueries {
282
+ applicationUserListQuery?: ApplicationUserListQuery;
283
+ channelListQuery?: GroupChannelListQuery;
284
+ }
285
+
286
+ export interface ChannelListProviderProps {
287
+ allowProfileEdit?: boolean;
288
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
289
+ onThemeChange?(theme: string): void;
290
+ onProfileEditSuccess?(user: User): void;
291
+ onChannelSelect?(channel: GroupChannel): void;
292
+ sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];
293
+ queries?: ChannelListQueries;
294
+ children?: React.ReactNode;
295
+ className?: string | string[];
296
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
297
+ disableUserProfile?: boolean;
298
+ disableAutoSelect?: boolean;
299
+ }
300
+
301
+ export interface ChannelListProviderInterface extends ChannelListProviderProps {
302
+ initialized: boolean;
303
+ loading: boolean;
304
+ allChannels: GroupChannel[];
305
+ currentChannel: GroupChannel;
306
+ showSettings: boolean;
307
+ channelListQuery: GroupChannelListQuery;
308
+ currentUserId: string;
309
+ // channelListDispatcher: CustomUseReducerDispatcher;
310
+ channelSource: GroupChannelListQuery;
311
+ }
312
+
313
+ export interface RenderChannelPreviewProps {
314
+ channel: GroupChannel;
315
+ onLeaveChannel(
316
+ channel: GroupChannel,
317
+ onLeaveChannelCb?: (c: GroupChannel) => void,
318
+ );
319
+ }
320
+
321
+ export interface ChannelListUIProps {
322
+ renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactNode;
323
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
324
+ renderHeader?: (props: void) => React.ReactNode;
325
+ renderPlaceHolderError?: (props: void) => React.ReactNode;
326
+ renderPlaceHolderLoading?: (props: void) => React.ReactNode;
327
+ renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
328
+ }
329
+
330
+ export interface ChannelListProps extends ChannelListProviderInterface, ChannelListUIProps {}
331
+
332
+ export interface ChannelListHeaderInterface {
333
+ renderHeader?: (props: void) => React.ReactNode;
334
+ renderIconButton?: (props: void) => React.ReactNode;
335
+ onEdit?: (props: void) => void;
336
+ allowProfileEdit?: boolean;
337
+ }
338
+
339
+ export interface ChannelPreviewInterface {
340
+ channel: GroupChannel;
341
+ isActive?: boolean;
342
+ onClick: () => void;
343
+ renderChannelAction: (props: { channel: GroupChannel }) => React.ReactNode;
344
+ tabIndex: number;
345
+ }
346
+
347
+ export interface ChannelPreviewActionInterface {
348
+ disabled?: boolean;
349
+ onLeaveChannel?: () => void;
350
+ }
351
+
352
+ export interface ChannelSettingsProviderInterface {
353
+ channelUrl: string;
354
+ onCloseClick?(): void;
355
+ onChannelModified?(channel: GroupChannel): void;
356
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;
357
+ queries?: ChannelSettingsQueries;
358
+ forceUpdateUI(): void;
359
+ channel: GroupChannel;
360
+ invalidChannel: boolean;
361
+ }
362
+
363
+ export interface ChannelSettingsUIProps {
364
+ renderPlaceholderError?: () => React.ReactNode;
365
+ renderChannelProfile?: () => React.ReactNode;
366
+ renderModerationPanel?: () => React.ReactNode;
367
+ renderLeaveChannel?: () => React.ReactNode;
368
+ }
369
+
370
+ export interface ApplicationUserListQuery {
371
+ limit?: number;
372
+ userIdsFilter?: Array<string>;
373
+ metaDataKeyFilter?: string;
374
+ metaDataValuesFilter?: Array<string>;
375
+ }
376
+
377
+ export interface ChannelSettingsQueries {
378
+ applicationUserListQuery?: ApplicationUserListQuery;
379
+ }
380
+
381
+ export type ChannelSettingsContextProps = {
382
+ children: React.ReactNode;
383
+ channelUrl: string;
384
+ className?: string;
385
+ onCloseClick?(): void;
386
+ onChannelModified?(channel: GroupChannel): void;
387
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;
388
+ queries?: ChannelSettingsQueries;
389
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
390
+ disableUserProfile?: boolean;
391
+ }
392
+
393
+ export interface ChannelSettingsProps extends ChannelSettingsUIProps, ChannelSettingsContextProps {
394
+ }
395
+
396
+ export type ChannelSettingsEditDetailsProps = {
397
+ onSubmit: () => void;
398
+ onCancel: () => void;
399
+ }
400
+
401
+ export type CustomUser = User & {
402
+ isMuted: boolean;
403
+ role: string;
404
+ }
405
+
406
+ export interface UserListItemActionProps {
407
+ actionRef: React.RefObject<HTMLInputElement>;
408
+ parentRef: React.RefObject<HTMLInputElement>;
409
+ }
410
+
411
+ export interface UserListItemProps {
412
+ user: CustomUser;
413
+ currentUser?: string;
414
+ className?: string;
415
+ action?(props: UserListItemActionProps): React.ReactElement;
416
+ }
417
+
418
+ export type LeaveChannelProps = {
419
+ onSubmit: () => void;
420
+ onCancel: () => void;
73
421
  };
74
- }
75
422
 
76
- interface SendBirdStateConfig {
77
- disableUserProfile: boolean;
78
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
79
- allowProfileEdit: boolean;
80
- isOnline: boolean;
81
- isMentionEnabled: boolean;
82
- userMention: {
83
- maxMentionCount: number;
84
- maxSuggestionCount: number;
423
+ /**
424
+ * Channel
425
+ */
426
+ export interface RenderMessageProps {
427
+ message: EveryMessage;
428
+ chainTop: boolean;
429
+ chainBottom: boolean;
430
+ }
431
+
432
+ export type ChannelQueries = {
433
+ messageListParams?: MessageListParams;
85
434
  };
86
- userId: string;
87
- appId: string;
88
- accessToken: string;
89
- theme: string;
90
- pubSub: any;
91
- logger: Logger;
92
- setCurrenttheme: (theme: string) => void;
93
- userListQuery?(): UserListQuery;
94
- imageCompression?: {
95
- compressionRate?: number,
96
- resizingWidth?: number | string,
97
- resizingHeight?: number | string,
435
+
436
+ export type ChannelContextProps = {
437
+ channelUrl: string;
438
+ children?: React.ReactNode;
439
+ useMessageGrouping?: boolean;
440
+ useReaction?: boolean;
441
+ showSearchIcon?: boolean;
442
+ highlightedMessage?: number;
443
+ startingPoint?: number;
444
+ onBeforeSendUserMessage?(text: string, quotedMessage?: UserMessage | FileMessage): UserMessageCreateParams;
445
+ onBeforeSendFileMessage?(file: File, quotedMessage?: UserMessage | FileMessage): FileMessageCreateParams;
446
+ onBeforeUpdateUserMessage?(text: string): UserMessageUpdateParams;
447
+ onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement>): void;
448
+ onSearchClick?(): void;
449
+ replyType?: ReplyType;
450
+ queries?: ChannelQueries;
451
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
452
+ disableUserProfile?: boolean;
98
453
  };
99
- }
100
- interface SdkStore {
101
- error: boolean;
102
- initialized: boolean;
103
- loading: boolean;
104
- sdk: SendBird.SendBirdInstance;
105
- }
106
- interface UserStore {
107
- initialized: boolean;
108
- loading: boolean;
109
- user: SendBird.User;
110
- }
111
- interface SendBirdStateStore {
112
- sdkStore: SdkStore;
113
- userStore: UserStore;
114
- }
115
-
116
- interface MessageSearchQueryType extends SendBird.MessageSearchQueryOptions {
117
- key: string;
118
- hasNext?: boolean;
119
- }
120
-
121
- type SendBirdState = {
122
- config: SendBirdStateConfig;
123
- stores: SendBirdStateStore;
124
- dispatchers: {
125
- userDispatcher: UserDispatcher,
126
- },
127
- }
128
-
129
- type UserDispatcherParams = {
130
- type: string,
131
- payload: SendBird.User
132
- };
133
-
134
- type UserDispatcher = (params: UserDispatcherParams) => void;
135
-
136
- type GetSdk = SendBird.SendBirdInstance | undefined;
137
- type GetConnect = (
138
- userId: string,
139
- accessToken?: string
140
- ) => Promise<SendBird.User>;
141
- type GetDisconnect = () => Promise<void>;
142
- type GetUpdateUserInfo = (
143
- nickName: string,
144
- profileUrl?: string
145
- ) => Promise<SendBird.User>;
146
- type GetSendUserMessage = (
147
- channelUrl: string,
148
- userMessageParams: SendBird.UserMessageParams
149
- ) => Promise<SendBird.UserMessage>;
150
- type GetSendFileMessage = (
151
- channelUrl: string,
152
- fileMessageParams: SendBird.FileMessageParams
153
- ) => Promise<SendBird.FileMessage>;
154
- type GetUpdateUserMessage = (
155
- channelUrl: string,
156
- messageId: string | number,
157
- params: SendBird.UserMessageParams
158
- ) => Promise<SendBird.UserMessage>;
159
- type GetDeleteMessage = (
160
- channelUrl: string,
161
- message: SendBird.AdminMessage | SendBird.UserMessage | SendBird.FileMessage
162
- ) => Promise<void>;
163
- type GetResendUserMessage = (
164
- channelUrl: string,
165
- failedMessage: SendBird.UserMessage
166
- ) => Promise<SendBird.UserMessage>;
167
- type GetResendFileMessage = (
168
- channelUrl: string,
169
- failedMessage: SendBird.FileMessage
170
- ) => Promise<SendBird.FileMessage>;
171
- type GetFreezeChannel = (channelUrl: string) => Promise<SendBird.GroupChannel>;
172
- type GetUnFreezeChannel = (channelUrl: string) => Promise<SendBird.GroupChannel>;
173
- type GetCreateChannel = (channelParams: SendBird.GroupChannelParams) => Promise<SendBird.GroupChannel>;
174
- type GetLeaveChannel = (channelUrl: string) => Promise<SendBird.GroupChannel>;
175
- type GetCreateOpenChannel = (channelParams: SendBird.OpenChannelParams) => Promise<SendBird.OpenChannel>;
176
- type GetEnterOpenChannel = (channelUrl: string) => Promise<null>;
177
- type GetExitOpenChannel = (channelUrl: string) => Promise<null>;
178
- type GetOpenChannelSendUserMessage = (
179
- channelUrl: string,
180
- params: SendBird.UserMessageParams,
181
- ) => Promise<SendBird.UserMessage>;
182
- type GetOpenChannelSendFileMessage = (
183
- channelUrl: string,
184
- params: SendBird.FileMessageParams,
185
- ) => Promise<SendBird.FileMessage>;
186
- type GetOpenChannelUpdateUserMessage = (
187
- channelUrl: string,
188
- messageId: string,
189
- params: SendBird.UserMessageParams,
190
- ) => Promise<SendBird.UserMessage>;
191
- type GetOpenChannelDeleteMessage = (
192
- channelUrl: string,
193
- message: SendBird.UserMessage | SendBird.FileMessage,
194
- ) => Promise<SendBird.UserMessage | SendBird.FileMessage>;
195
- type GetOpenChannelResendUserMessage = (
196
- channelUrl: string,
197
- failedMessage: SendBird.UserMessage,
198
- ) => Promise<SendBird.UserMessage>;
199
- type GetOpenChannelResendFileMessage = (
200
- channelUrl: string,
201
- failedMessage: SendBird.FileMessage,
202
- ) => Promise<SendBird.FileMessage>;
203
-
204
-
205
- interface sendBirdSelectorsInterface {
206
- getSdk: (store: SendBirdState) => GetSdk;
207
- getConnect: (store: SendBirdState) => GetConnect
208
- getDisconnect: (store: SendBirdState) => GetDisconnect;
209
- getUpdateUserInfo: (store: SendBirdState) => GetUpdateUserInfo;
210
- getSendUserMessage: (store: SendBirdState) => GetSendUserMessage;
211
- getSendFileMessage: (store: SendBirdState) => GetSendFileMessage;
212
- getUpdateUserMessage: (store: SendBirdState) => GetUpdateUserMessage;
213
- getDeleteMessage: (store: SendBirdState) => GetDeleteMessage;
214
- getResendUserMessage: (store: SendBirdState) => GetResendUserMessage;
215
- getResendFileMessage: (store: SendBirdState) => GetResendFileMessage;
216
- getFreezeChannel: (store: SendBirdState) => GetFreezeChannel;
217
- getUnFreezeChannel: (store: SendBirdState) => GetUnFreezeChannel;
218
- getCreateChannel: (store: SendBirdState) => GetCreateChannel;
219
- getLeaveChannel: (store: SendBirdState) => GetLeaveChannel;
220
- getCreateOpenChannel: (store: SendBirdState) => GetCreateOpenChannel;
221
- getEnterOpenChannel: (store: SendBirdState) => GetEnterOpenChannel;
222
- getExitOpenChannel: (store: SendBirdState) => GetExitOpenChannel;
223
- enterOpenChannel: (store: SendBirdState) => GetEnterOpenChannel;
224
- exitOpenChannel: (store: SendBirdState) => GetExitOpenChannel;
225
- getOpenChannelSendUserMessage: (store: SendBirdState) => GetOpenChannelSendUserMessage;
226
- getOpenChannelSendFileMessage: (store: SendBirdState) => GetOpenChannelSendFileMessage;
227
- getOpenChannelUpdateUserMessage: (store: SendBirdState) => GetOpenChannelUpdateUserMessage;
228
- getOpenChannelDeleteMessage: (store: SendBirdState) => GetOpenChannelDeleteMessage;
229
- getOpenChannelResendUserMessage: (store: SendBirdState) => GetOpenChannelResendUserMessage;
230
- getOpenChannelResendFileMessage: (store: SendBirdState) => GetOpenChannelResendFileMessage;
231
- }
232
-
233
- interface AppProps {
234
- appId: string;
235
- userId: string;
236
- accessToken?: string;
237
- theme?: 'light' | 'dark';
238
- userListQuery?(): UserListQuery;
239
- nickname?: string;
240
- profileUrl?: string;
241
- dateLocale?: Locale;
242
- allowProfileEdit?: boolean;
243
- disableUserProfile?: boolean;
244
- showSearchIcon?: boolean;
245
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
246
- onProfileEditSuccess?(user: SendBird.User): void;
247
- config?: SendBirdProviderConfig;
248
- useReaction?: boolean;
249
- useMessageGrouping?: boolean;
250
- stringSet?: Record<string, string>;
251
- colorSet?: Record<string, string>;
252
- imageCompression?: {
253
- compressionRate?: number,
254
- resizingWidth?: number | string,
255
- resizingHeight?: number | string,
454
+
455
+ export interface ChannelUIProps {
456
+ renderPlaceholderLoader?: () => React.ReactNode;
457
+ renderPlaceholderInvalid?: () => React.ReactNode;
458
+ renderPlaceholderEmpty?: () => React.ReactNode;
459
+ renderChannelHeader?: () => React.ReactNode;
460
+ renderMessage?: (props: RenderMessageProps) => React.ComponentType;
461
+ renderMessageInput?: () => React.ReactNode;
462
+ renderTypingIndicator?: () => React.ReactNode;
463
+ renderCustomSeperator?: () => React.ReactNode;
464
+ }
465
+
466
+ export type CoreMessageType = AdminMessage | UserMessage | FileMessage;
467
+
468
+ export interface MessageStoreInterface {
469
+ allMessages: CoreMessageType[];
470
+ loading: boolean;
471
+ initialized: boolean;
472
+ unreadSince: string;
473
+ isInvalid: boolean;
474
+ currentGroupChannel: GroupChannel;
475
+ hasMorePrev: boolean;
476
+ oldestMessageTimeStamp: number;
477
+ hasMoreNext: boolean;
478
+ latestMessageTimeStamp: number;
479
+ emojiContainer: any;
480
+ readStatus: any;
481
+ }
482
+
483
+ export interface ChannelProviderInterface extends ChannelContextProps, ChannelContextProps {
484
+ scrollToMessage?(createdAt: number, messageId: number): void;
485
+ messageActionTypes: Record<string ,string>;
486
+ quoteMessage: CoreMessageType;
487
+ setQuoteMessage: React.Dispatch<React.SetStateAction<CoreMessageType>>;
488
+ initialTimeStamp: number;
489
+ setInitialTimeStamp: React.Dispatch<React.SetStateAction<number>>;
490
+ animatedMessageId: number;
491
+ highLightedMessageId: number;
492
+ nicknamesMap: Map<string, string>;
493
+ scrollRef: React.MutableRefObject<HTMLDivElement>;
494
+ setAnimatedMessageId: React.Dispatch<React.SetStateAction<number>>;
495
+ setHighLightedMessageId: React.Dispatch<React.SetStateAction<number>>;
496
+ messageInputRef: React.MutableRefObject<HTMLInputElement>,
497
+ toggleReaction(message: UserMessage | FileMessage, emojiKey: string, isReacted: boolean): void,
498
+ }
499
+
500
+ export type FileViewerProps = {
501
+ onCancel:() => void;
502
+ message: ClientFileMessage;
503
+ }
504
+
505
+ export type MessageUIProps = {
506
+ message: EveryMessage;
507
+ hasSeparator?: boolean;
508
+ chainTop?: boolean;
509
+ chainBottom?: boolean;
510
+ handleScroll: () => void;
511
+ // for extending
512
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
513
+ renderCustomSeperator?: () => React.ReactNode;
514
+ renderEditInput?: () => React.ReactNode;
515
+ renderMessageContent?: () => React.ReactNode;
256
516
  };
257
- replyType?: ReplyType;
258
- disableAutoSelect?: boolean;
259
- }
260
-
261
- interface ApplicationUserListQuery {
262
- limit?: number;
263
- userIdsFilter?: Array<string>;
264
- metaDataKeyFilter?: string;
265
- metaDataValuesFilter?: Array<string>;
266
- }
267
-
268
- interface GroupChannelListQuery {
269
- limit?: number;
270
- includeEmpty?: boolean;
271
- order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';
272
- userIdsExactFilter?: Array<string>;
273
- userIdsIncludeFilter?: Array<string>;
274
- userIdsIncludeFilterQueryType?: 'AND' | 'OR';
275
- nicknameContainsFilter?: string;
276
- channelNameContainsFilter?: string;
277
- customTypesFilter?: Array<string>;
278
- customTypeStartsWithFilter?: string;
279
- channelUrlsFilter?: Array<string>;
280
- superChannelFilter?: 'all' | 'super' | 'nonsuper';
281
- publicChannelFilter?: 'all' | 'public' | 'private';
282
- metadataOrderKeyFilter?: string;
283
- memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';
284
- hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';
285
- unreadChannelFilter?: 'all' | 'unread_message';
286
- includeFrozen?: boolean;
287
- }
288
- interface ChannelListQueries {
289
- applicationUserListQuery?: ApplicationUserListQuery;
290
- channelListQuery?: GroupChannelListQuery;
291
- }
292
-
293
- interface ChannelListProviderProps {
294
- allowProfileEdit?: boolean;
295
- onBeforeCreateChannel?(users: Array<string>): SendBird.GroupChannelParams;
296
- onThemeChange?(theme: string): void;
297
- onProfileEditSuccess?(user: SendBird.User): void;
298
- onChannelSelect?(channel: SendBird.GroupChannel): void;
299
- sortChannelList?: (channels: SendBird.GroupChannel[]) => SendBird.GroupChannel[];
300
- queries?: ChannelListQueries;
301
- children?: React.ReactNode;
302
- className?: string | string[];
303
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
304
- disableUserProfile?: boolean;
305
- disableAutoSelect?: boolean;
306
- }
307
-
308
- interface ChannelListProviderInterface extends ChannelListProviderProps {
309
- initialized: boolean;
310
- loading: boolean;
311
- allChannels: SendBird.GroupChannel[];
312
- currentChannel: SendBird.GroupChannel;
313
- showSettings: boolean;
314
- channelListQuery: GroupChannelListQuery;
315
- currentUserId: string;
316
- // channelListDispatcher: CustomUseReducerDispatcher;
317
- channelSource: SendBird.GroupChannelListQuery;
318
- }
319
517
 
320
- interface RenderChannelPreviewProps {
321
- channel: SendBird.GroupChannel;
322
- onLeaveChannel(
323
- channel: SendBird.GroupChannel,
324
- onLeaveChannelCb?: (c: SendBird.GroupChannel) => void,
325
- );
326
- }
518
+ export type MessageListProps = {
519
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
520
+ renderPlaceholderEmpty?: () => React.ReactNode;
521
+ renderCustomSeperator?: () => React.ReactNode;
522
+ };
327
523
 
328
- interface ChannelListUIProps {
329
- renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactNode;
330
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
331
- renderHeader?: (props: void) => React.ReactNode;
332
- renderPlaceHolderError?: (props: void) => React.ReactNode;
333
- renderPlaceHolderLoading?: (props: void) => React.ReactNode;
334
- renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
335
- }
524
+ export type SuggestedMentionListProps = {
525
+ targetNickname: string;
526
+ memberListQuery?: Record<string, string>;
527
+ onUserItemClick?: (member: User) => void;
528
+ onFocusItemChange?: (member: User) => void;
529
+ onFetchUsers?: (users: Array<User>) => void;
530
+ renderUserMentionItem?: (props: { user: User }) => JSX.Element;
531
+ ableAddMention: boolean;
532
+ maxMentionCount?: number;
533
+ maxSuggestionCount?: number;
534
+ inputEvent?: React.KeyboardEvent<HTMLDivElement>;
535
+ };
336
536
 
337
- interface ChannelListProps extends ChannelListProviderInterface, ChannelListUIProps {}
537
+ export type SuggestedUserMentionItemProps = {
538
+ member: User | Member;
539
+ isFocused?: boolean;
540
+ onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
541
+ onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
542
+ renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;
543
+ };
338
544
 
339
- interface ChannelListHeaderInterface {
340
- renderHeader?: (props: void) => React.ReactNode;
341
- renderIconButton?: (props: void) => React.ReactNode;
342
- onEdit?: (props: void) => void;
343
- allowProfileEdit?: boolean;
344
- }
545
+ export interface UnreadCountProps {
546
+ count: number;
547
+ time: string;
548
+ onClick(): void;
549
+ }
345
550
 
346
- interface ChannelPreviewInterface {
347
- channel: SendBird.GroupChannel;
348
- isActive?: boolean;
349
- onClick: () => void;
350
- renderChannelAction: (props: { channel: SendBird.GroupChannel }) => React.ReactNode;
351
- tabIndex: number;
352
- }
551
+ export interface ChannelProps extends ChannelContextProps, ChannelUIProps {
552
+ }
353
553
 
354
- interface ChannelPreviewActionInterface {
355
- disabled?: boolean;
356
- onLeaveChannel?: () => void;
357
- }
554
+ export interface RemoveMessageProps {
555
+ onCancel: () => void;
556
+ message: EveryMessage;
557
+ }
358
558
 
359
- interface ChannelSettingsProviderInterface {
360
- channelUrl: string;
361
- onCloseClick?(): void;
362
- onChannelModified?(channel: SendBird.GroupChannel): void;
363
- onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): SendBird.GroupChannelParams;
364
- queries?: ChannelSettingsQueries;
365
- forceUpdateUI(): void;
366
- channel: SendBird.GroupChannel;
367
- invalidChannel: boolean;
368
- }
369
-
370
- interface ChannelSettingsUIProps {
371
- renderPlaceholderError?: () => React.ReactNode;
372
- renderChannelProfile?: () => React.ReactNode;
373
- renderModerationPanel?: () => React.ReactNode;
374
- renderLeaveChannel?: () => React.ReactNode;
375
- }
559
+ /**
560
+ * OpenChannel
561
+ */
562
+ export type OpenChannelQueries = {
563
+ // https://sendbird.github.io/core-sdk-javascript/module-model_params_messageListParams-MessageListParams.html
564
+ messageListParams?: {
565
+ replyType?: string,
566
+ messageType?: string,
567
+ prevResultSize?: number,
568
+ nextResultSize?: number,
569
+ reverse?: boolean,
570
+ isInclusive?: boolean,
571
+ includeMetaArray?: boolean,
572
+ // UIKit doesn't support emoji reaction in OpenChannel
573
+ // includeReactions?: boolean,
574
+ // UIKit doesn't support message threading in OpenChannel
575
+ // includeThreadInfo?: boolean,
576
+ includePollDetails?: boolean,
577
+ includeParentMessageInfo?: boolean,
578
+ showSubchannelMessagesOnly?: boolean,
579
+ customTypes?: Array<string>,
580
+ senderUserIds?: Array<string>,
581
+ },
582
+ };
376
583
 
377
- interface ApplicationUserListQuery {
378
- limit?: number;
379
- userIdsFilter?: Array<string>;
380
- metaDataKeyFilter?: string;
381
- metaDataValuesFilter?: Array<string>;
382
- }
584
+ export interface OpenChannelProviderProps {
585
+ channelUrl: string;
586
+ children?: React.ReactNode;
587
+ useMessageGrouping?: boolean;
588
+ queries?: OpenChannelQueries;
589
+ messageLimit?: number;
590
+ onBeforeSendUserMessage?(text: string): UserMessageCreateParams;
591
+ onBeforeSendFileMessage?(file_: File): FileMessageCreateParams;
592
+ onChatHeaderActionClick?(): void;
593
+ disableUserProfile?: boolean;
594
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
595
+ }
383
596
 
384
- interface ChannelSettingsQueries {
385
- applicationUserListQuery?: ApplicationUserListQuery;
386
- }
597
+ export interface OpenChannelMessagesState {
598
+ allMessages: Array<EveryMessage>;
599
+ loading: boolean;
600
+ initialized: boolean;
601
+ currentOpenChannel: OpenChannel;
602
+ isInvalid: boolean;
603
+ hasMore: boolean;
604
+ lastMessageTimestamp: number;
605
+ frozen: boolean;
606
+ operators: Array<User>;
607
+ participants: Array<User>;
608
+ bannedParticipantIds: Array<string>;
609
+ mutedParticipantIds: Array<string>;
610
+ }
387
611
 
388
- type ChannelSettingsContextProps = {
389
- children: React.ReactNode;
390
- channelUrl: string;
391
- className?: string;
392
- onCloseClick?(): void;
393
- onChannelModified?(channel: SendBird.GroupChannel): void;
394
- onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): SendBird.GroupChannelParams;
395
- queries?: ChannelSettingsQueries;
396
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
397
- disableUserProfile?: boolean;
398
- }
612
+ export interface OpenChannelInterface extends OpenChannelProviderProps, OpenChannelMessagesState {
613
+ // derived/utils
614
+ messageInputRef: React.RefObject<HTMLInputElement>;
615
+ conversationScrollRef: React.RefObject<HTMLDivElement>;
616
+ disabled: boolean;
617
+ amIBanned: boolean;
618
+ amIMuted: boolean;
619
+ amIOperator: boolean;
620
+ fetchMore: boolean;
621
+ checkScrollBottom: () => boolean;
622
+ onScroll: (callback: () => void) => void;
623
+ }
399
624
 
400
- interface ChannelSettingsProps extends ChannelSettingsUIProps, ChannelSettingsContextProps {
401
- }
625
+ export interface OpenChannelUIProps {
626
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
627
+ renderHeader?: () => React.ReactNode;
628
+ renderInput?: () => React.ReactNode;
629
+ renderPlaceHolderEmptyList?: () => React.ReactNode;
630
+ renderPlaceHolderError?: () => React.ReactNode;
631
+ renderPlaceHolderLoading?: () => React.ReactNode;
632
+ }
402
633
 
403
- type ChannelSettingsEditDetailsProps = {
404
- onSubmit: () => void;
405
- onCancel: () => void;
406
- }
634
+ export interface OpenChannelProps extends OpenChannelProviderProps, OpenChannelUIProps {
635
+ }
407
636
 
408
- type CustomUser = SendBird.User & {
409
- isMuted: boolean;
410
- role: string;
411
- }
637
+ export type OpenchannelMessageListProps = {
638
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
639
+ renderPlaceHolderEmptyList?: () => React.ReactNode;
640
+ }
412
641
 
413
- interface UserListItemActionProps {
414
- actionRef: React.RefObject<HTMLInputElement>;
415
- parentRef: React.RefObject<HTMLInputElement>;
416
- }
642
+ export type OpenChannelMessageProps = {
643
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
644
+ message: EveryMessage;
645
+ chainTop?: boolean;
646
+ chainBottom?: boolean;
647
+ hasSeparator?: boolean;
648
+ editDisabled?: boolean;
649
+ };
417
650
 
418
- interface UserListItemProps {
419
- user: CustomUser;
420
- currentUser?: string;
421
- className?: string;
422
- action?(props: UserListItemActionProps): React.ReactElement;
423
- }
651
+ /**
652
+ * OpenChannelSettings
653
+ */
654
+ export interface OpenChannelSettingsContextProps {
655
+ channelUrl: string;
656
+ children?: React.ReactNode;
657
+ onCloseClick?(): void;
658
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;
659
+ onChannelModified?(channel: OpenChannel): void;
660
+ onDeleteChannel?(channel: OpenChannel): void;
661
+ disableUserProfile?: boolean;
662
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
663
+ }
664
+
665
+ export interface OpenChannelSettingsUIProps {
666
+ renderOperatorUI?: () => React.ReactNode;
667
+ renderParticipantList?: () => React.ReactNode;
668
+ }
424
669
 
425
- type LeaveChannelProps = {
426
- onSubmit: () => void;
427
- onCancel: () => void;
428
- };
670
+ export interface OpenChannelSettingsProps extends OpenChannelSettingsContextProps, OpenChannelSettingsUIProps {
671
+ }
672
+
673
+ export interface OpenChannelSettingsContextType extends OpenChannelSettingsContextProps {
674
+ channelUrl: string;
675
+ channel?: OpenChannel;
676
+ setChannel?: React.Dispatch<React.SetStateAction<OpenChannel>>;
677
+ }
678
+
679
+ export interface OperatorUIProps {
680
+ renderChannelProfile?: () => React.ReactNode;
681
+ }
682
+
683
+ export interface OpenChannelEditDetailsProps {
684
+ onCancel(): void;
685
+ }
686
+
687
+ /**
688
+ * MessageSearch
689
+ */
690
+ export interface MessageSearchProviderProps {
691
+ channelUrl: string;
692
+ children?: React.ReactNode;
693
+ searchString?: string;
694
+ requestString?: string;
695
+ messageSearchQuery?: MessageSearchQuery;
696
+ onResultLoaded?(messages?: Array<ClientSentMessages>, error?: SendbirdError): void;
697
+ onResultClick?(message: ClientSentMessages): void;
698
+ }
699
+
700
+ export type MessageSearchScrollCallbackReturn = (
701
+ callback: (
702
+ messages: Array<UserMessage | FileMessage | AdminMessage>,
703
+ /* eslint-disable @typescript-eslint/no-explicit-any*/
704
+ error: any,
705
+ ) => void
706
+ ) => void;
707
+
708
+ export type MessageSearchDispatcherType = { type: string, payload: any };
709
+ export interface MessageSearchProviderInterface extends MessageSearchProviderProps {
710
+ retryCount: number;
711
+ setRetryCount: React.Dispatch<React.SetStateAction<number>>;
712
+ selectedMessageId: number;
713
+ setSelectedMessageId: React.Dispatch<React.SetStateAction<number>>;
714
+ messageSearchDispatcher: (diapatcher: MessageSearchDispatcherType) => void;
715
+ scrollRef: React.MutableRefObject<HTMLDivElement>;
716
+ allMessages: Array<ClientFileMessage | ClientUserMessage>;
717
+ loading: boolean;
718
+ isInvalid: boolean;
719
+ currentChannel: GroupChannel;
720
+ currentMessageSearchQuery: MessageSearchQuery;
721
+ hasMoreResult: boolean;
722
+ onScroll: MessageSearchScrollCallbackReturn;
723
+ handleRetryToConnect: () => void;
724
+ handleOnScroll: (e: React.BaseSyntheticEvent) => void;
725
+ }
726
+
727
+ export interface MessageSearchUIProps {
728
+ renderPlaceHolderError?: (props: void) => React.ReactNode;
729
+ renderPlaceHolderLoading?: (props: void) => React.ReactNode;
730
+ renderPlaceHolderNoString?: (props: void) => React.ReactNode;
731
+ renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
732
+ renderSearchItem?(
733
+ {
734
+ message,
735
+ onResultClick,
736
+ }: {
737
+ message: ClientSentMessages,
738
+ onResultClick?: (message: ClientSentMessages) => void,
739
+ }
740
+ ): JSX.Element;
741
+ }
742
+
743
+ export interface MessageSearchProps extends MessageSearchUIProps, MessageSearchProviderProps {}
744
+
745
+ /**
746
+ * CreateChannel
747
+ */
748
+ export interface CreateChannelProviderProps {
749
+ children?: React.ReactNode;
750
+ onCreateChannel(channel: GroupChannel): void;
751
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
752
+ userListQuery?(): UserListQuery;
753
+ }
754
+
755
+ export interface CreateChannelContextInterface {
756
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
757
+ createChannel: (channelParams: GroupChannelCreateParams) => Promise<GroupChannel>;
758
+ sdk: SendbirdGroupChat | SendbirdOpenChat;
759
+ userListQuery?(): UserListQuery;
760
+ onCreateChannel?(channel: GroupChannel): void;
761
+ step: number,
762
+ setStep: React.Dispatch<React.SetStateAction<number>>,
763
+ type: 'group' | 'supergroup' | 'broadcast',
764
+ setType: React.Dispatch<React.SetStateAction<'group' | 'supergroup' | 'broadcast'>>,
765
+ }
766
+
767
+ export interface CreateChannelUIProps {
768
+ onCancel?(): void;
769
+ renderStepOne?:(props: void) => React.ReactNode;
770
+ }
771
+
772
+ export interface CreateChannelProps extends CreateChannelProviderProps, CreateChannelUIProps {}
773
+
774
+ export interface InviteUsersProps {
775
+ onCancel?: () => void;
776
+ }
777
+
778
+ export interface SelectChannelTypeProps {
779
+ onCancel?(): void;
780
+ }
781
+
782
+ /**
783
+ * EditUserProfile
784
+ */
785
+ export interface EditUserProfileProps {
786
+ children?: React.ReactNode;
787
+ onCancel?(): void;
788
+ onThemeChange?(theme: string): void;
789
+ onEditProfile?(updatedUser: User): void;
790
+ }
791
+
792
+ export interface EditUserProfileProviderInterface {
793
+ onCancel?(): void;
794
+ onThemeChange?(theme: string): void;
795
+ onEditProfile?(updatedUser: User): void;
796
+ }
797
+ }
429
798
 
430
799
  declare module '@sendbird/uikit-react' {
431
- export const App: React.FunctionComponent<AppProps>;
432
- export const SendBirdProvider: React.FunctionComponent<SendBirdProviderProps>;
433
- export const sendBirdSelectors: sendBirdSelectorsInterface;
434
- export const ChannelList: React.FunctionComponent<ChannelListProps>;
435
- export const ChannelSettings: React.FunctionComponent<ChannelSettingsProps>;
436
- export const Channel: React.FunctionComponent<ChannelProps>
437
- export const OpenChannel: React.FunctionComponent<OpenChannelProps>
438
- export const OpenChannelSettings: React.FunctionComponent<OpenChannelSettingsProps>
439
- export const MessageSearch: React.FunctionComponent<MessageSearchProps>
800
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
801
+ export const App: React.FunctionComponent<SendbirdUIKitGlobal.AppProps>;
802
+ export const SendBirdProvider: React.FunctionComponent<SendbirdUIKitGlobal.SendbirdProviderProps>;
803
+ export const sendBirdSelectors: SendbirdUIKitGlobal.sendbirdSelectorsInterface;
804
+ export const ChannelList: React.FunctionComponent<SendbirdUIKitGlobal.ChannelListProps>;
805
+ export const ChannelSettings: React.FunctionComponent<SendbirdUIKitGlobal.ChannelSettingsProps>;
806
+ export const Channel: React.FunctionComponent<SendbirdUIKitGlobal.ChannelProps>
807
+ export const OpenChannel: React.FunctionComponent<SendbirdUIKitGlobal.OpenChannelProps>
808
+ export const OpenChannelSettings: React.FunctionComponent<SendbirdUIKitGlobal.OpenChannelSettingsProps>
809
+ export const MessageSearch: React.FunctionComponent<SendbirdUIKitGlobal.MessageSearchProps>
440
810
  export function withSendBird(
441
811
  ChildComp: React.Component | React.ElementType,
442
- mapStoreToProps?: (store: SendBirdState) => unknown
812
+ mapStoreToProps?: (store: SendbirdUIKitGlobal.SendBirdState) => unknown
443
813
  ): (props: unknown) => React.ReactNode;
444
- export function useSendbirdStateContext(): SendBirdState;
814
+ export function useSendbirdStateContext(): SendbirdUIKitGlobal.SendBirdState;
445
815
  }
446
816
 
447
817
  declare module '@sendbird/uikit-react/App' {
448
- const App: React.FunctionComponent<AppProps>
818
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
819
+ const App: React.FunctionComponent<SendbirdUIKitGlobal.AppProps>
449
820
  export default App;
450
821
  }
451
822
 
452
823
  declare module '@sendbird/uikit-react/SendbirdProvider' {
453
- const SendbirdProvider: React.FunctionComponent<SendBirdProviderProps>;
824
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
825
+ const SendbirdProvider: React.FunctionComponent<SendbirdUIKitGlobal.SendbirdProviderProps>;
454
826
  export default SendbirdProvider;
455
827
  }
456
828
 
457
- declare module '@sendbird/uikit-react/sendBirdSelectors' {
458
- const sendBirdSelectors: sendBirdSelectorsInterface;
829
+ declare module '@sendbird/uikit-react/sendbirdSelectors' {
830
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
831
+ const sendBirdSelectors: SendbirdUIKitGlobal.sendbirdSelectorsInterface;
459
832
  export default sendBirdSelectors;
460
833
  }
461
834
 
462
835
  declare module '@sendbird/uikit-react/useSendbirdStateContext' {
463
- function useSendbirdStateContext(): SendBirdState;
836
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
837
+ function useSendbirdStateContext(): SendbirdUIKitGlobal.SendBirdState;
464
838
  export default useSendbirdStateContext;
465
839
  }
466
840
 
467
- declare module '@sendbird/uikit-react/withSendBird' {
468
- function withSendBird(
841
+ declare module '@sendbird/uikit-react/withSendbird' {
842
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
843
+ function withSendbird(
469
844
  ChildComp: React.Component | React.ElementType,
470
- mapStoreToProps?: (store: SendBirdState) => unknown
845
+ mapStoreToProps?: (store: SendbirdUIKitGlobal.SendBirdState) => unknown
471
846
  ): (props: unknown) => React.ReactNode;
472
- export default withSendBird;
847
+ export default withSendbird;
473
848
  }
474
849
 
850
+ /** ChannelList */
475
851
  declare module '@sendbird/uikit-react/ChannelList' {
476
- const ChannelList: React.FunctionComponent<ChannelListProps>;
852
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
853
+ const ChannelList: React.FunctionComponent<SendbirdUIKitGlobal.ChannelListProps>;
477
854
  export default ChannelList;
478
855
  }
479
856
 
480
857
  declare module '@sendbird/uikit-react/ChannelList/context' {
481
- export const ChannelListProvider: React.FunctionComponent<ChannelListProviderProps>;
482
- export function useChannelListContext (): ChannelListProviderInterface;
483
- export function useChannelList (): ChannelListProviderInterface;
858
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
859
+ export const ChannelListProvider: React.FunctionComponent<SendbirdUIKitGlobal.ChannelListProviderProps>;
860
+ export function useChannelListContext (): SendbirdUIKitGlobal.ChannelListProviderInterface;
861
+ export function useChannelList (): SendbirdUIKitGlobal.ChannelListProviderInterface;
484
862
  }
485
863
 
486
864
  declare module '@sendbird/uikit-react/ChannelList/components/AddChannel' {
487
- const AddChannel: React.VoidFunctionComponent;
865
+ const AddChannel: React.FunctionComponent;
488
866
  export default AddChannel;
489
867
  }
490
868
 
491
869
  declare module '@sendbird/uikit-react/ChannelList/components/ChannelListUI' {
492
- const ChannelListUI: React.FunctionComponent<ChannelListUIProps>;
870
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
871
+ const ChannelListUI: React.FunctionComponent<SendbirdUIKitGlobal.ChannelListUIProps>;
493
872
  export default ChannelListUI;
494
873
  }
495
874
 
496
875
  declare module '@sendbird/uikit-react/ChannelList/components/ChannelListHeader' {
497
- const ChannelListHeader: React.FunctionComponent<ChannelListUIProps>;
876
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
877
+ const ChannelListHeader: React.FunctionComponent<SendbirdUIKitGlobal.ChannelListHeaderInterface>;
498
878
  export default ChannelListHeader;
499
879
  }
500
880
 
501
881
  declare module '@sendbird/uikit-react/ChannelList/components/ChannelPreview' {
502
- const ChannelPreview: React.FunctionComponent<ChannelPreviewInterface>;
882
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
883
+ const ChannelPreview: React.FunctionComponent<SendbirdUIKitGlobal.ChannelPreviewInterface>;
503
884
  export default ChannelPreview;
504
885
  }
505
886
 
506
887
  declare module '@sendbird/uikit-react/ChannelList/components/ChannelPreviewAction' {
507
- const ChannelPreviewAction: React.FunctionComponent<ChannelPreviewActionInterface>;
888
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
889
+ const ChannelPreviewAction: React.FunctionComponent<SendbirdUIKitGlobal.ChannelPreviewActionInterface>;
508
890
  export default ChannelPreviewAction;
509
891
  }
510
892
 
511
893
  declare module '@sendbird/uikit-react/ChannelSettings' {
512
- const ChannelSettings: React.FunctionComponent<ChannelSettingsProps>;
894
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
895
+ const ChannelSettings: React.FunctionComponent<SendbirdUIKitGlobal.ChannelSettingsProps>;
513
896
  export default ChannelSettings;
514
897
  }
515
898
 
516
899
  declare module '@sendbird/uikit-react/ChannelSettings/context' {
517
- export const ChannelSettingsProvider: React.FC<ChannelSettingsContextProps>;
518
- export const UseChannelSettingsType: () => ChannelSettingsProviderInterface;
900
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
901
+ export const ChannelSettingsProvider: React.FC<SendbirdUIKitGlobal.ChannelSettingsContextProps>;
902
+ export const useChannelSettingsContext: () => SendbirdUIKitGlobal.ChannelSettingsProviderInterface;
519
903
  }
520
904
 
521
- declare module '@sendbird/uikit-react/ChannelSettings/components/AdminPanel' {
522
- const AdminPanel: React.VoidFunctionComponent;
523
- export default AdminPanel;
905
+ declare module '@sendbird/uikit-react/ChannelSettings/components/ModerationPanel' {
906
+ const ModerationPanel: React.FunctionComponent;
907
+ export default ModerationPanel;
524
908
  }
525
909
 
526
910
  declare module '@sendbird/uikit-react/ChannelSettings/components/ChannelProfile' {
527
- const ChannelProfile: React.VoidFunctionComponent;
911
+ const ChannelProfile: React.FunctionComponent;
528
912
  export default ChannelProfile;
529
913
  }
530
914
 
531
915
  declare module '@sendbird/uikit-react/ChannelSettings/components/ChannelSettingsUI' {
532
- const ChannelSettingsUI: React.FC<ChannelSettingsUIProps>;
916
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
917
+ const ChannelSettingsUI: React.FC<SendbirdUIKitGlobal.ChannelSettingsUIProps>;
533
918
  export default ChannelSettingsUI;
534
919
  }
535
920
 
536
921
  declare module '@sendbird/uikit-react/ChannelSettings/components/EditDetailsModal' {
537
- const EditDetailsModal: React.FC<ChannelSettingsEditDetailsProps>;
922
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
923
+ const EditDetailsModal: React.FC<SendbirdUIKitGlobal.ChannelSettingsEditDetailsProps>;
538
924
  export default EditDetailsModal;
539
925
  }
540
926
 
541
927
  declare module '@sendbird/uikit-react/ChannelSettings/components/LeaveChannel' {
542
- const LeaveChannel: React.FC<LeaveChannelProps>;
928
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
929
+ const LeaveChannel: React.FC<SendbirdUIKitGlobal.LeaveChannelProps>;
543
930
  export default LeaveChannel;
544
931
  }
545
932
 
546
933
  declare module '@sendbird/uikit-react/ChannelSettings/components/UserListItem' {
547
- const UserListItem: React.FC<UserListItemProps>;
934
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
935
+ const UserListItem: React.FC<SendbirdUIKitGlobal.UserListItemProps>;
548
936
  export default UserListItem;
549
937
  }
550
938
 
551
939
  declare module '@sendbird/uikit-react/ChannelSettings/components/UserPanel' {
552
- const UserPanel: React.VoidFunctionComponent;
940
+ const UserPanel: React.FunctionComponent;
553
941
  export default UserPanel;
554
942
  }
555
943
 
556
944
  /**
557
945
  * Channel
558
946
  */
559
- interface RenderMessageProps {
560
- message: EveryMessage;
561
- chainTop: boolean;
562
- chainBottom: boolean;
563
- }
564
-
565
- type ChannelQueries = {
566
- messageListParams?: SendBird.MessageListParams;
567
- };
568
-
569
- type ChannelContextProps = {
570
- channelUrl: string;
571
- children?: React.ReactNode;
572
- useMessageGrouping?: boolean;
573
- useReaction?: boolean;
574
- showSearchIcon?: boolean;
575
- highlightedMessage?: number;
576
- startingPoint?: number;
577
- onBeforeSendUserMessage?(text: string, quotedMessage?: SendBird.UserMessage | SendBird.FileMessage): SendBird.UserMessageParams;
578
- onBeforeSendFileMessage?(file: File, quotedMessage?: SendBird.UserMessage | SendBird.FileMessage): SendBird.FileMessageParams;
579
- onBeforeUpdateUserMessage?(text: string): SendBird.UserMessageParams;
580
- onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement>): void;
581
- onSearchClick?(): void;
582
- replyType?: ReplyType;
583
- queries?: ChannelQueries;
584
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
585
- disableUserProfile?: boolean;
586
- };
587
-
588
- interface ChannelUIProps {
589
- renderPlaceholderLoader?: () => React.ReactNode;
590
- renderPlaceholderInvalid?: () => React.ReactNode;
591
- renderPlaceholderEmpty?: () => React.ReactNode;
592
- renderChannelHeader?: () => React.ReactNode;
593
- renderMessage?: (props: RenderMessageProps) => React.ComponentType;
594
- renderMessageInput?: () => React.ReactNode;
595
- renderTypingIndicator?: () => React.ReactNode;
596
- renderCustomSeperator?: () => React.ReactNode;
597
- }
598
-
599
- type CoreMessageType = SendBird.AdminMessage | SendBird.UserMessage | SendBird.FileMessage;
600
-
601
- interface MessageStoreInterface {
602
- allMessages: CoreMessageType[];
603
- loading: boolean;
604
- initialized: boolean;
605
- unreadSince: string;
606
- isInvalid: boolean;
607
- currentGroupChannel: SendBird.GroupChannel;
608
- hasMorePrev: boolean;
609
- oldestMessageTimeStamp: number;
610
- hasMoreNext: boolean;
611
- latestMessageTimeStamp: number;
612
- emojiContainer: any;
613
- readStatus: any;
614
- }
615
-
616
- interface ChannelProviderInterface extends ChannelContextProps, ChannelContextProps {
617
- scrollToMessage?(createdAt: number, messageId: number): void;
618
- messageActionTypes: Record<string ,string>;
619
- quoteMessage: CoreMessageType;
620
- setQuoteMessage: React.Dispatch<React.SetStateAction<CoreMessageType>>;
621
- initialTimeStamp: number;
622
- setInitialTimeStamp: React.Dispatch<React.SetStateAction<number>>;
623
- animatedMessageId: number;
624
- highLightedMessageId: number;
625
- nicknamesMap: Map<string, string>;
626
- scrollRef: React.MutableRefObject<HTMLDivElement>;
627
- setAnimatedMessageId: React.Dispatch<React.SetStateAction<number>>;
628
- setHighLightedMessageId: React.Dispatch<React.SetStateAction<number>>;
629
- messageInputRef: React.MutableRefObject<HTMLInputElement>,
630
- toggleReaction(message: SendBird.UserMessage | SendBird.FileMessage, emojiKey: string, isReacted: boolean): void,
631
- }
632
-
633
- type FileViewerProps = {
634
- onCancel:() => void;
635
- message: ClientFileMessage;
636
- }
637
-
638
- type MessageUIProps = {
639
- message: EveryMessage;
640
- hasSeparator?: boolean;
641
- chainTop?: boolean;
642
- chainBottom?: boolean;
643
- handleScroll: () => void;
644
- // for extending
645
- renderMessage?: (props: RenderMessageProps) => React.ReactNode;
646
- renderCustomSeperator?: () => React.ReactNode;
647
- renderEditInput?: () => React.ReactNode;
648
- renderMessageContent?: () => React.ReactNode;
649
- };
650
-
651
- type MessageListProps = {
652
- renderMessage?: (props: RenderMessageProps) => React.ReactNode;
653
- renderPlaceholderEmpty?: () => React.ReactNode;
654
- renderCustomSeperator?: () => React.ReactNode;
655
- };
656
-
657
- type SuggestedMentionListProps = {
658
- targetNickname: string;
659
- memberListQuery?: Record<string, string>;
660
- onUserItemClick?: (member: SendBird.User) => void;
661
- onFocusItemChange?: (member: SendBird.User) => void;
662
- onFetchUsers?: (users: Array<SendBird.User>) => void;
663
- renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;
664
- ableAddMention: boolean;
665
- maxMentionCount?: number;
666
- maxSuggestionCount?: number;
667
- inputEvent?: React.KeyboardEvent<HTMLDivElement>;
668
- };
669
-
670
- type SuggestedUserMentionItemProps = {
671
- member: SendBird.User;
672
- isFocused?: boolean;
673
- onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
674
- onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
675
- renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;
676
- };
677
-
678
- interface UnreadCountProps {
679
- count: number;
680
- time: string;
681
- onClick(): void;
682
- }
683
-
684
- interface ChannelProps extends ChannelContextProps, ChannelUIProps {
685
- }
686
-
687
- interface RemoveMessageProps {
688
- onCancel: () => void;
689
- message: EveryMessage;
690
- }
691
-
692
947
  declare module '@sendbird/uikit-react/Channel' {
693
- const Channel: React.FC<ChannelProps>;
948
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
949
+ const Channel: React.FC<SendbirdUIKitGlobal.ChannelProps>;
694
950
  export default Channel;
695
951
  }
696
952
 
697
953
  declare module '@sendbird/uikit-react/Channel/context' {
698
- export const ChannelProvider: React.FunctionComponent<ChannelContextProps>;
699
- export function useChannel(): ChannelProviderInterface;
954
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
955
+ export const ChannelProvider: React.FunctionComponent<SendbirdUIKitGlobal.ChannelContextProps>;
956
+ export function useChannelContext(): SendbirdUIKitGlobal.ChannelProviderInterface;
700
957
  }
701
958
 
702
959
  declare module '@sendbird/uikit-react/Channel/components/ChannelHeader' {
703
- const ChannelHeader: React.VoidFunctionComponent;
960
+ const ChannelHeader: React.FunctionComponent;
704
961
  export default ChannelHeader;
705
962
  }
706
963
 
707
964
  declare module '@sendbird/uikit-react/Channel/components/ChannelUI' {
708
- const ChannelUI: React.FunctionComponent<ChannelUIProps>;
965
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
966
+ const ChannelUI: React.FunctionComponent<SendbirdUIKitGlobal.ChannelUIProps>;
709
967
  export default ChannelUI;
710
968
  }
711
969
 
712
970
  declare module '@sendbird/uikit-react/Channel/components/FileViewer' {
713
- const FileViewer: React.FunctionComponent<FileViewerProps>;
971
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
972
+ const FileViewer: React.FunctionComponent<SendbirdUIKitGlobal.FileViewerProps>;
714
973
  export default FileViewer;
715
974
  }
716
975
 
717
976
  declare module '@sendbird/uikit-react/Channel/components/FrozenNotification' {
718
- const FrozenNotification: React.VoidFunctionComponent;
977
+ const FrozenNotification: React.FunctionComponent;
719
978
  export default FrozenNotification;
720
979
  }
721
980
 
722
981
  declare module '@sendbird/uikit-react/Channel/components/Message' {
723
- const Message: React.FunctionComponent<MessageUIProps>;
982
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
983
+ const Message: React.FunctionComponent<SendbirdUIKitGlobal.MessageUIProps>;
724
984
  export default Message;
725
985
  }
726
986
 
727
987
  declare module '@sendbird/uikit-react/Channel/components/MessageInput' {
728
- const MessageInput: React.VoidFunctionComponent;
988
+ const MessageInput: React.FunctionComponent;
729
989
  export default MessageInput;
730
990
  }
731
991
 
732
992
  declare module '@sendbird/uikit-react/Channel/components/MessageList' {
733
- const MessageList: React.FunctionComponent<MessageListProps>;
993
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
994
+ const MessageList: React.FunctionComponent<SendbirdUIKitGlobal.MessageListProps>;
734
995
  export default MessageList;
735
996
  }
736
997
 
737
998
  declare module '@sendbird/uikit-react/Channel/components/SuggestedMentionList' {
738
- const SuggestedMentionList: React.FunctionComponent<SuggestedMentionListProps>;
999
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1000
+ const SuggestedMentionList: React.FunctionComponent<SendbirdUIKitGlobal.SuggestedMentionListProps>;
739
1001
  export default SuggestedMentionList;
740
1002
  }
741
1003
 
742
1004
  declare module '@sendbird/uikit-react/Channel/components/RemoveMessageModal' {
743
- const RemoveMessageModal: React.FunctionComponent<RemoveMessageProps>;
1005
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1006
+ const RemoveMessageModal: React.FunctionComponent<SendbirdUIKitGlobal.RemoveMessageProps>;
744
1007
  export default RemoveMessageModal;
745
1008
  }
746
1009
 
747
1010
  declare module '@sendbird/uikit-react/Channel/components/TypingIndicator' {
748
- const TypingIndicator: React.VoidFunctionComponent;
1011
+ const TypingIndicator: React.FunctionComponent;
749
1012
  export default TypingIndicator;
750
1013
  }
751
1014
 
752
1015
  declare module '@sendbird/uikit-react/Channel/components/UnreadCount' {
753
- const UnreadCount: React.FunctionComponent<UnreadCountProps>;
1016
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1017
+ const UnreadCount: React.FunctionComponent<SendbirdUIKitGlobal.UnreadCountProps>;
754
1018
  export default UnreadCount;
755
1019
  }
756
1020
 
757
- type OpenChannelQueries = {
758
- // https://sendbird.github.io/core-sdk-javascript/module-model_params_messageListParams-MessageListParams.html
759
- messageListParams?: {
760
- replyType?: string,
761
- messageType?: string,
762
- prevResultSize?: number,
763
- nextResultSize?: number,
764
- reverse?: boolean,
765
- isInclusive?: boolean,
766
- includeMetaArray?: boolean,
767
- // UIKit doesn't support emoji reaction in OpenChannel
768
- // includeReactions?: boolean,
769
- // UIKit doesn't support message threading in OpenChannel
770
- // includeThreadInfo?: boolean,
771
- includePollDetails?: boolean,
772
- includeParentMessageInfo?: boolean,
773
- showSubchannelMessagesOnly?: boolean,
774
- customTypes?: Array<string>,
775
- senderUserIds?: Array<string>,
776
- },
777
- };
778
-
779
- interface OpenChannelProviderProps {
780
- channelUrl: string;
781
- children?: React.ReactNode;
782
- useMessageGrouping?: boolean;
783
- queries?: OpenChannelQueries;
784
- messageLimit?: number;
785
- onBeforeSendUserMessage?(text: string): SendBird.UserMessageParams;
786
- onBeforeSendFileMessage?(file_: File): SendBird.FileMessageParams;
787
- onChatHeaderActionClick?(): void;
788
- disableUserProfile?: boolean;
789
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
790
- }
791
-
792
- interface OpenChannelMessagesState {
793
- allMessages: Array<EveryMessage>;
794
- loading: boolean;
795
- initialized: boolean;
796
- currentOpenChannel: SendBird.OpenChannel;
797
- isInvalid: boolean;
798
- hasMore: boolean;
799
- lastMessageTimestamp: number;
800
- frozen: boolean;
801
- operators: Array<SendBird.User>;
802
- participants: Array<SendBird.User>;
803
- bannedParticipantIds: Array<string>;
804
- mutedParticipantIds: Array<string>;
805
- }
806
-
807
- interface OpenChannelInterface extends OpenChannelProviderProps, OpenChannelMessagesState {
808
- // derived/utils
809
- messageInputRef: React.RefObject<HTMLInputElement>;
810
- conversationScrollRef: React.RefObject<HTMLDivElement>;
811
- disabled: boolean;
812
- amIBanned: boolean;
813
- amIMuted: boolean;
814
- amIOperator: boolean;
815
- fetchMore: boolean;
816
- checkScrollBottom: () => boolean;
817
- onScroll: (callback: () => void) => void;
818
- }
819
-
820
- interface OpenChannelUIProps {
821
- renderMessage?: (props: RenderMessageProps) => React.ReactNode;
822
- renderHeader?: () => React.ReactNode;
823
- renderInput?: () => React.ReactNode;
824
- renderPlaceHolderEmptyList?: () => React.ReactNode;
825
- renderPlaceHolderError?: () => React.ReactNode;
826
- renderPlaceHolderLoading?: () => React.ReactNode;
827
- }
828
-
829
- interface OpenChannelProps extends OpenChannelProviderProps, OpenChannelUIProps {
830
- }
831
-
832
- type OpenchannelMessageListProps = {
833
- renderMessage?: (props: RenderMessageProps) => React.ReactNode;
834
- renderPlaceHolderEmptyList?: () => React.ReactNode;
835
- }
836
-
837
- type OpenChannelMessageProps = {
838
- renderMessage?: (props: RenderMessageProps) => React.ReactNode;
839
- message: EveryMessage;
840
- chainTop?: boolean;
841
- chainBottom?: boolean;
842
- hasSeparator?: boolean;
843
- editDisabled?: boolean;
844
- };
845
-
1021
+ /**
1022
+ * OpenChannel
1023
+ */
846
1024
  declare module '@sendbird/uikit-react/OpenChannel' {
847
- const OpenChannel: React.FC<OpenChannelProps>;
1025
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1026
+ const OpenChannel: React.FC<SendbirdUIKitGlobal.OpenChannelProps>;
848
1027
  export default OpenChannel;
849
1028
  }
850
1029
 
851
1030
  declare module '@sendbird/uikit-react/OpenChannel/context' {
852
- export const OpenChannelProvider: React.FunctionComponent<OpenChannelProviderProps>;
853
- export function useOpenChannel(): OpenChannelInterface;
1031
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1032
+ export const OpenChannelProvider: React.FunctionComponent<SendbirdUIKitGlobal.OpenChannelProviderProps>;
1033
+ export function useOpenChannelContext(): SendbirdUIKitGlobal.OpenChannelInterface;
854
1034
  }
855
1035
 
856
1036
  declare module '@sendbird/uikit-react/OpenChannel/components/FrozenChannelNotification' {
857
- const FrozenChannelNotification: React.VoidFunctionComponent;
1037
+ const FrozenChannelNotification: React.FunctionComponent;
858
1038
  export default FrozenChannelNotification;
859
1039
  }
860
1040
 
861
1041
  declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelHeader' {
862
- const OpenChannelHeader: React.VoidFunctionComponent;
1042
+ const OpenChannelHeader: React.FunctionComponent;
863
1043
  export default OpenChannelHeader;
864
1044
  }
865
1045
 
866
1046
  declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelInput' {
867
- const OpenChannelInput: React.VoidFunctionComponent;
1047
+ const OpenChannelInput: React.FunctionComponent;
868
1048
  export default OpenChannelInput;
869
1049
 
870
1050
  }
871
1051
 
872
1052
  declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelMessage' {
873
- const OpenChannelMessage: React.FC<OpenChannelMessageProps>;
1053
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1054
+ const OpenChannelMessage: React.FC<SendbirdUIKitGlobal.OpenChannelMessageProps>;
874
1055
  export default OpenChannelMessage;
875
-
876
1056
  }
877
1057
 
878
1058
  declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelMessageList' {
879
- const OpenChannelMessageList: React.FC<OpenchannelMessageListProps>;
1059
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1060
+ const OpenChannelMessageList: React.FC<SendbirdUIKitGlobal.OpenchannelMessageListProps>;
880
1061
  export default OpenChannelMessageList;
881
1062
  }
882
1063
 
883
1064
  declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelUI' {
884
- const OpenChannelUI: React.FC<OpenChannelUIProps>;
1065
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1066
+ const OpenChannelUI: React.FC<SendbirdUIKitGlobal.OpenChannelUIProps>;
885
1067
  export default OpenChannelUI;
886
1068
  }
887
1069
 
888
- interface OpenChannelSettingsContextProps {
889
- channelUrl: string;
890
- children?: React.ReactNode;
891
- onCloseClick?(): void;
892
- onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): SendBird.OpenChannelParams;
893
- onChannelModified?(channel: SendBird.OpenChannel): void;
894
- onDeleteChannel?(channel: SendBird.OpenChannel): void;
895
- disableUserProfile?: boolean;
896
- renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
897
- }
898
-
899
- interface OpenChannelSettingsUIProps {
900
- renderOperatorUI?: () => React.ReactNode;
901
- renderParticipantList?: () => React.ReactNode;
902
- }
903
-
904
- interface OpenChannelSettingsProps extends OpenChannelSettingsContextProps, OpenChannelSettingsUIProps {
905
- }
906
-
907
- interface OpenChannelSettingsContextType extends OpenChannelSettingsContextProps {
908
- channelUrl: string;
909
- channel?: SendBird.OpenChannel;
910
- setChannel?: React.Dispatch<React.SetStateAction<SendBird.OpenChannel>>;
911
- }
912
-
913
- interface OperatorUIProps {
914
- renderChannelProfile?: () => React.ReactNode;
915
- }
916
-
917
- interface OpenChannelEditDetailsProps {
918
- onCancel(): void;
919
- }
920
-
1070
+ /**
1071
+ * OpenChannelSettings
1072
+ */
921
1073
  declare module '@sendbird/uikit-react/OpenChannelSettings' {
922
- const OpenChannelSettings: React.FC<OpenChannelSettingsProps>;
1074
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1075
+ const OpenChannelSettings: React.FC<SendbirdUIKitGlobal.OpenChannelSettingsProps>;
923
1076
  export default OpenChannelSettings;
924
1077
  }
925
1078
 
926
1079
  declare module '@sendbird/uikit-react/OpenChannelSettings/context' {
927
- export const useOpenChannelSettings: () => OpenChannelSettingsContextType;
928
- export const OpenChannelSettingsProvider: React.FC<OpenChannelSettingsContextProps>;
1080
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1081
+ export const useOpenChannelSettingsContext: () => SendbirdUIKitGlobal.OpenChannelSettingsContextType;
1082
+ export const OpenChannelSettingsProvider: React.FC<SendbirdUIKitGlobal.OpenChannelSettingsContextProps>;
929
1083
  }
930
1084
 
931
1085
  declare module '@sendbird/uikit-react/OpenChannelSettings/components/EditDetailsModal' {
932
- const EditDetailsModal: React.FC<OpenChannelEditDetailsProps>;
1086
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1087
+ const EditDetailsModal: React.FC<SendbirdUIKitGlobal.OpenChannelEditDetailsProps>;
933
1088
  export default EditDetailsModal;
934
1089
  }
935
1090
 
936
1091
  declare module '@sendbird/uikit-react/OpenChannelSettings/components/OpenChannelSettingsUI' {
937
- const OpenChannelSettingsUI: React.FC<OpenChannelSettingsUIProps>;
1092
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1093
+ const OpenChannelSettingsUI: React.FC<SendbirdUIKitGlobal.OpenChannelSettingsUIProps>;
938
1094
  export default OpenChannelSettingsUI;
939
1095
  }
940
1096
 
941
1097
  declare module '@sendbird/uikit-react/OpenChannelSettings/components/OperatorUI' {
942
- const OperatorUI: React.FC<OperatorUIProps>;
1098
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1099
+ const OperatorUI: React.FC<SendbirdUIKitGlobal.OperatorUIProps>;
943
1100
  export default OperatorUI;
944
1101
  }
945
1102
 
946
1103
  declare module '@sendbird/uikit-react/OpenChannelSettings/components/ParticipantUI' {
947
- const ParticipantUI: React.VoidFunctionComponent;
1104
+ const ParticipantUI: React.FunctionComponent;
948
1105
  export default ParticipantUI;
949
1106
  }
950
1107
 
951
- interface MessageSearchProviderProps {
952
- channelUrl: string;
953
- children?: React.ReactNode;
954
- searchString?: string;
955
- requestString?: string;
956
- messageSearchQuery?: SendBird.MessageSearchQueryOptions;
957
- onResultLoaded?(messages?: Array<ClientSentMessages>, error?: SendBird.SendBirdError): void;
958
- onResultClick?(message: ClientSentMessages): void;
959
- }
960
-
961
- type MessageSearchScrollCallbackReturn = (
962
- callback: (
963
- messages: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage>,
964
- /* eslint-disable @typescript-eslint/no-explicit-any*/
965
- error: any,
966
- ) => void
967
- ) => void;
968
-
969
- interface MessageSearchProviderInterface extends MessageSearchProviderProps {
970
- retryCount: number;
971
- setRetryCount: React.Dispatch<React.SetStateAction<number>>;
972
- selectedMessageId: number;
973
- setSelectedMessageId: React.Dispatch<React.SetStateAction<number>>;
974
- messageSearchDispatcher: ({ type: string, payload: any }) => void;
975
- scrollRef: React.MutableRefObject<HTMLDivElement>;
976
- allMessages: Array<ClientFileMessage | ClientUserMessage>;
977
- loading: boolean;
978
- isInvalid: boolean;
979
- currentChannel: SendBird.GroupChannel;
980
- currentMessageSearchQuery: SendBird.MessageSearchQuery;
981
- hasMoreResult: boolean;
982
- onScroll: MessageSearchScrollCallbackReturn;
983
- handleRetryToConnect: () => void;
984
- handleOnScroll: (e: React.BaseSyntheticEvent) => void;
985
- }
986
-
987
- interface MessageSearchUIProps {
988
- renderPlaceHolderError?: (props: void) => React.ReactNode;
989
- renderPlaceHolderLoading?: (props: void) => React.ReactNode;
990
- renderPlaceHolderNoString?: (props: void) => React.ReactNode;
991
- renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
992
- renderSearchItem?(
993
- {
994
- message,
995
- onResultClick,
996
- }: {
997
- message: ClientSentMessages,
998
- onResultClick?: (message: ClientSentMessages) => void,
999
- }
1000
- ): JSX.Element;
1001
- }
1002
-
1003
- interface MessageSearchProps extends MessageSearchUIProps, MessageSearchProviderProps {}
1004
-
1108
+ /**
1109
+ * MessageSearch
1110
+ */
1005
1111
  declare module '@sendbird/uikit-react/MessageSearch' {
1006
- const MessageSearch: React.FC<MessageSearchProps>;
1112
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1113
+ const MessageSearch: React.FC<SendbirdUIKitGlobal.MessageSearchProps>;
1007
1114
  export default MessageSearch;
1008
1115
  }
1009
1116
 
1010
1117
  declare module '@sendbird/uikit-react/MessageSearch/context' {
1011
- export const useMessageSearch: () => MessageSearchProviderInterface;
1012
- export const MessageSearchProvider: React.FC<MessageSearchProviderProps>;
1118
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1119
+ export const useMessageSearchContext: () => SendbirdUIKitGlobal.MessageSearchProviderInterface;
1120
+ export const MessageSearchProvider: React.FC<SendbirdUIKitGlobal.MessageSearchProviderProps>;
1013
1121
  }
1014
1122
 
1015
1123
  declare module '@sendbird/uikit-react/MessageSearch/components/MessageSearchUI' {
1016
- const MessageSearchUI: React.FC<MessageSearchUIProps>;
1124
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1125
+ const MessageSearchUI: React.FC<SendbirdUIKitGlobal.MessageSearchUIProps>;
1017
1126
  export default MessageSearchUI;
1018
1127
  }
1019
1128
 
1020
- interface CreateChannelProviderProps {
1021
- children?: React.ReactNode;
1022
- onCreateChannel(channel: SendBird.GroupChannel): void;
1023
- onBeforeCreateChannel?(users: Array<string>): SendBird.GroupChannelParams;
1024
- userListQuery?(): UserListQuery;
1025
- }
1026
-
1027
-
1028
- interface CreateChannelContextInterface {
1029
- onBeforeCreateChannel?(users: Array<string>): SendBird.GroupChannelParams;
1030
- createChannel: (channelParams: SendBird.GroupChannelParams) => Promise<SendBird.GroupChannel>;
1031
- sdk: SendBird.SendBirdInstance;
1032
- userListQuery?(): UserListQuery;
1033
- onCreateChannel?(channel: SendBird.GroupChannel): void;
1034
- step: number,
1035
- setStep: React.Dispatch<React.SetStateAction<number>>,
1036
- type: 'group' | 'supergroup' | 'broadcast',
1037
- setType: React.Dispatch<React.SetStateAction<'group' | 'supergroup' | 'broadcast'>>,
1038
- }
1039
-
1040
- interface CreateChannelUIProps {
1041
- onCancel?(): void;
1042
- renderStepOne?:(props: void) => React.ReactNode;
1043
- }
1044
-
1045
- interface CreateChannelProps extends CreateChannelProviderProps, CreateChannelUIProps {}
1046
-
1047
- interface InviteMembersProps {
1048
- onCancel?: () => void;
1049
- }
1050
-
1051
- interface SelectChannelTypeProps {
1052
- onCancel?(): void;
1053
- }
1054
-
1129
+ /**
1130
+ * CreateChannel
1131
+ */
1055
1132
  declare module '@sendbird/uikit-react/CreateChannel' {
1056
- const CreateChannel: React.FC<CreateChannelProps>;
1133
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1134
+ const CreateChannel: React.FC<SendbirdUIKitGlobal.CreateChannelProps>;
1057
1135
  export default CreateChannel;
1058
1136
  }
1059
1137
 
1060
1138
  declare module '@sendbird/uikit-react/CreateChannel/context' {
1061
- export const CreateChannelProvider: React.FC<CreateChannelProviderProps>;
1062
- export function useCreateChannelContext (): CreateChannelContextInterface;
1139
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1140
+ export const CreateChannelProvider: React.FC<SendbirdUIKitGlobal.CreateChannelProviderProps>;
1141
+ export function useCreateChannelContext (): SendbirdUIKitGlobal.CreateChannelContextInterface;
1063
1142
  }
1064
1143
 
1065
1144
  declare module '@sendbird/uikit-react/CreateChannel/components/CreateChannelUI' {
1066
- const CreateChannelUI: React.FC<CreateChannelUIProps>;
1145
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1146
+ const CreateChannelUI: React.FC<SendbirdUIKitGlobal.CreateChannelUIProps>;
1067
1147
  export default CreateChannelUI;
1068
1148
  }
1069
1149
 
1070
- declare module '@sendbird/uikit-react/CreateChannel/components/InviteMembers' {
1071
- const InviteMembers: React.FC<InviteMembersProps>;
1072
- export default InviteMembers;
1150
+ declare module '@sendbird/uikit-react/CreateChannel/components/InviteUsers' {
1151
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1152
+ const InviteUsers: React.FC<SendbirdUIKitGlobal.InviteUsersProps>;
1153
+ export default InviteUsers;
1073
1154
  }
1074
1155
 
1075
1156
  declare module '@sendbird/uikit-react/CreateChannel/components/SelectChannelType' {
1076
- const SelectChannelType: React.FC<SelectChannelTypeProps>;
1157
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1158
+ const SelectChannelType: React.FC<SendbirdUIKitGlobal.SelectChannelTypeProps>;
1077
1159
  export default SelectChannelType;
1078
1160
  }
1079
1161
 
1080
- interface EditUserProfileProps {
1081
- children?: React.ReactNode;
1082
- onCancel?(): void;
1083
- onThemeChange?(theme: string): void;
1084
- onEditProfile?(updatedUser: SendBird.User): void;
1085
- }
1086
-
1087
- interface EditUserProfileProviderInterface {
1088
- onCancel?(): void;
1089
- onThemeChange?(theme: string): void;
1090
- onEditProfile?(updatedUser: SendBird.User): void;
1091
- }
1092
-
1162
+ /**
1163
+ * EditUserProfile
1164
+ */
1093
1165
  declare module '@sendbird/uikit-react/EditUserProfile' {
1094
- const EditProfile: React.FC<EditUserProfileProps>;
1166
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1167
+ const EditProfile: React.FC<SendbirdUIKitGlobal.EditUserProfileProps>;
1095
1168
  export default EditProfile;
1096
1169
  }
1097
1170
 
1098
1171
  declare module '@sendbird/uikit-react/EditUserProfile/context' {
1099
- export const EditUserProfileProvider: React.FC<EditUserProfileProps>;
1100
- export function useEditUserProfileProvider (): EditUserProfileProviderInterface;
1172
+ import SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1173
+ export const EditUserProfileProvider: React.FC<SendbirdUIKitGlobal.EditUserProfileProps>;
1174
+ export function useEditUserProfileProviderContext (): SendbirdUIKitGlobal.EditUserProfileProviderInterface;
1101
1175
  }
1102
1176
 
1103
1177
  declare module '@sendbird/uikit-react/EditUserProfile/components/EditUserProfileUI' {
1104
- const EditUserProfileUI: React.VoidFunctionComponent;
1178
+ const EditUserProfileUI: React.FunctionComponent;
1105
1179
  export default EditUserProfileUI;
1106
1180
  }
1107
1181
 
@@ -1128,12 +1202,13 @@ declare module '@sendbird/uikit-react/ui/AccordionGroup' {
1128
1202
  }
1129
1203
 
1130
1204
  declare module '@sendbird/uikit-react/ui/AdminMessage' {
1205
+ import type { AdminMessage } from '@sendbird/chat/message';
1131
1206
  interface AdminMessageProps {
1132
1207
  className?: string,
1133
- message: SendBird.AdminMessage,
1208
+ message: AdminMessage,
1134
1209
  }
1135
- const AdminMessage: React.FC<AdminMessageProps>;
1136
- export default AdminMessage;
1210
+ const AdminMessageComponent: React.FC<AdminMessageProps>;
1211
+ export default AdminMessageComponent;
1137
1212
  }
1138
1213
 
1139
1214
  declare module '@sendbird/uikit-react/ui/Avatar' {
@@ -1183,8 +1258,9 @@ declare module '@sendbird/uikit-react/ui/Button' {
1183
1258
  }
1184
1259
 
1185
1260
  declare module '@sendbird/uikit-react/ui/ChannelAvatar' {
1261
+ import type { GroupChannel } from '@sendbird/chat/groupChannel'
1186
1262
  interface ChannelAvatarProps {
1187
- channel: SendBird.GroupChannel;
1263
+ channel: GroupChannel;
1188
1264
  userId: string;
1189
1265
  theme: string;
1190
1266
  width?: number,
@@ -1195,8 +1271,9 @@ declare module '@sendbird/uikit-react/ui/ChannelAvatar' {
1195
1271
  }
1196
1272
 
1197
1273
  declare module '@sendbird/uikit-react/ui/OpenChannelAvatar' {
1274
+ import type { OpenChannel } from '@sendbird/chat/OpenChannel'
1198
1275
  interface OpenChannelAvatarProps {
1199
- channel: SendBird.OpenChannel;
1276
+ channel: OpenChannel;
1200
1277
  theme: string;
1201
1278
  height?: number;
1202
1279
  width?: number;
@@ -1206,9 +1283,11 @@ declare module '@sendbird/uikit-react/ui/OpenChannelAvatar' {
1206
1283
  }
1207
1284
 
1208
1285
  declare module '@sendbird/uikit-react/ui/ChannelPreview' {
1286
+ import type { User } from '@sendbird/chat';
1287
+ import type { GroupChannel } from '@sendbird/chat/groupChannel';
1209
1288
  interface ChannelPreviewProps {
1210
- channel?: SendBird.GroupChannel,
1211
- currentUser?: SendBird.User,
1289
+ channel?: GroupChannel,
1290
+ currentUser?: User,
1212
1291
  isActive?: boolean,
1213
1292
  ChannelAction: React.ReactElement,
1214
1293
  theme?: 'light' | 'dark',
@@ -1220,9 +1299,11 @@ declare module '@sendbird/uikit-react/ui/ChannelPreview' {
1220
1299
  }
1221
1300
 
1222
1301
  declare module '@sendbird/uikit-react/ui/ChatHeader' {
1302
+ import type { User } from '@sendbird/chat';
1303
+ import type { GroupChannel } from '@sendbird/chat/groupChannel';
1223
1304
  interface ChatHeaderProps {
1224
- currentGroupChannel?: SendBird.GroupChannel;
1225
- currentUser?: SendBird.User;
1305
+ currentGroupChannel?: GroupChannel;
1306
+ currentUser?: User;
1226
1307
  title?: string;
1227
1308
  subTitle?: string;
1228
1309
  isMuted?: boolean;
@@ -1246,7 +1327,7 @@ declare module '@sendbird/uikit-react/ui/Checkbox' {
1246
1327
  }
1247
1328
 
1248
1329
  declare module '@sendbird/uikit-react/ui/ConnectionStatus' {
1249
- const ConnectionStatus: React.VoidFunctionComponent;
1330
+ const ConnectionStatus: React.FunctionComponent;
1250
1331
  export default ConnectionStatus;
1251
1332
  }
1252
1333
 
@@ -1290,19 +1371,22 @@ declare module '@sendbird/uikit-react/ui/Dropdown' {
1290
1371
  }
1291
1372
 
1292
1373
  declare module '@sendbird/uikit-react/ui/EmojiReactions' {
1374
+ import type { EmojiCategory } from '@sendbird/chat';
1375
+ import type { FileMessage, UserMessage } from '@sendbird/chat/message';
1376
+
1293
1377
  interface EmojiContainer {
1294
- emojiCategories: Array<SendBird.EmojiCategory>;
1378
+ emojiCategories: Array<EmojiCategory>;
1295
1379
  emojiHash: string;
1296
1380
  }
1297
1381
  interface EmojiReactionsProps {
1298
1382
  className?: string | Array<string>;
1299
1383
  userId: string;
1300
- message: SendBird.UserMessage | SendBird.FileMessage;
1384
+ message: UserMessage | FileMessage;
1301
1385
  emojiContainer: EmojiContainer;
1302
1386
  memberNicknamesMap: Map<string, string>;
1303
1387
  spaceFromTrigger?: Record<string, unknown>;
1304
1388
  isByMe?: boolean;
1305
- toggleReaction?: (message: SendBird.UserMessage | SendBird.FileMessage, key: string, byMe: boolean) => void;
1389
+ toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;
1306
1390
  }
1307
1391
  const EmojiReactions: React.FC<EmojiReactionsProps>;
1308
1392
  export default EmojiReactions;
@@ -1310,9 +1394,11 @@ declare module '@sendbird/uikit-react/ui/EmojiReactions' {
1310
1394
  }
1311
1395
 
1312
1396
  declare module '@sendbird/uikit-react/ui/FileMessageItemBody' {
1397
+ import type { FileMessage } from '@sendbird/chat/message';
1398
+
1313
1399
  interface FileMessageItemBodyProps {
1314
1400
  className?: string | Array<string>;
1315
- message: SendBird.FileMessage;
1401
+ message: FileMessage;
1316
1402
  isByMe?: boolean;
1317
1403
  mouseHover?: boolean;
1318
1404
  }
@@ -1322,8 +1408,10 @@ declare module '@sendbird/uikit-react/ui/FileMessageItemBody' {
1322
1408
  }
1323
1409
 
1324
1410
  declare module '@sendbird/uikit-react/ui/FileViewer' {
1411
+ import type { FileMessage } from '@sendbird/chat/message';
1412
+
1325
1413
  interface FileViewerBodyProps {
1326
- message: SendBird.FileMessage;
1414
+ message: FileMessage;
1327
1415
  isByMe?: boolean;
1328
1416
  onClose?: () => void,
1329
1417
  onDelete?: () => void,
@@ -1435,32 +1523,48 @@ declare module '@sendbird/uikit-react/ui/MentionUserLabel' {
1435
1523
  export default MentionUserLabel;
1436
1524
  }
1437
1525
 
1526
+ declare module '@sendbird/uikit-react/ui/MentionLabel' {
1527
+ interface MentionLabelProps {
1528
+ mentionTemplate: string;
1529
+ mentionedUserId: string;
1530
+ isByMe: boolean;
1531
+ }
1532
+ const MentionUserLabel: React.FC<MentionLabelProps>;
1533
+ export default MentionUserLabel;
1534
+ }
1535
+
1438
1536
  declare module '@sendbird/uikit-react/ui/MessageContent' {
1537
+ import type { GroupChannel, Member } from '@sendbird/chat/groupChannel';
1538
+ import type { EmojiContainer } from '@sendbird/chat';
1539
+ import type { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';
1540
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1439
1541
  interface MessageContentProps {
1440
1542
  className?: string | Array<string>;
1441
1543
  userId: string;
1442
- channel: SendBird.GroupChannel;
1443
- message: CoreMessageType;
1544
+ channel: GroupChannel;
1545
+ message: AdminMessage | FileMessage | UserMessage;
1444
1546
  disabled?: boolean;
1445
1547
  chainTop?: boolean;
1446
1548
  chainBottom?: boolean;
1447
1549
  useReaction?: boolean;
1448
- replyType?: ReplyType;
1550
+ replyType?: SenbirdUIKitGlobal.ReplyType;
1449
1551
  nicknamesMap?: Map<string, string>;
1450
- emojiContainer?: SendBird.EmojiContainer;
1552
+ emojiContainer?: EmojiContainer;
1451
1553
  scrollToMessage?: (createdAt: number, messageId: number) => void;
1452
1554
  showEdit?: (bool: boolean) => void;
1453
1555
  showRemove?: (bool: boolean) => void;
1454
1556
  showFileViewer?: (bool: boolean) => void;
1455
- resendMessage?: (message: SendBird.UserMessage | SendBird.FileMessage) => void;
1456
- toggleReaction?: (message: SendBird.UserMessage | SendBird.FileMessage, reactionKey: string, isReacted: boolean) => void;
1457
- setQuoteMessage?: (message: SendBird.UserMessage | SendBird.FileMessage) => void;
1557
+ resendMessage?: (message: UserMessage | FileMessage) => void;
1558
+ toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;
1559
+ setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1458
1560
  }
1459
1561
  const MessageContent: React.FC<MessageContentProps>;
1460
1562
  export default MessageContent;
1461
1563
  }
1462
1564
 
1463
1565
  declare module '@sendbird/uikit-react/ui/MessageInput' {
1566
+ import type { User } from '@sendbird/chat';
1567
+
1464
1568
  interface MessageInputProps {
1465
1569
  className?: string[],
1466
1570
  isEdit?: boolean,
@@ -1475,8 +1579,8 @@ declare module '@sendbird/uikit-react/ui/MessageInput' {
1475
1579
  onCancelEdit?: () => void,
1476
1580
  onStartTyping?: () => void,
1477
1581
  channelUrl: string,
1478
- mentionSelectedUser?: Array<SendBird.User>,
1479
- onUserMentioned?: (user: SendBird.User) => void,
1582
+ mentionSelectedUser?: Array<User>,
1583
+ onUserMentioned?: (user: User) => void,
1480
1584
  onMentionStringChange?: (str: string) => void,
1481
1585
  onMentionedUserIdsUpdated?: (userIds: Array<string>) => void,
1482
1586
  onKeyUp?: (e: React.KeyboardEvent<HTMLDivElement>) => void,
@@ -1487,17 +1591,22 @@ declare module '@sendbird/uikit-react/ui/MessageInput' {
1487
1591
  }
1488
1592
 
1489
1593
  declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1594
+ import type { GroupChannel } from '@sendbird/chat/groupChannel';
1595
+ import type { FileMessage, UserMessage } from '@sendbird/chat/message';
1596
+ import type { OpenChannel } from '@sendbird/chat/openChannel';
1597
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1598
+
1490
1599
  interface MessageItemMenuProps {
1491
1600
  className?: string | Array<string>;
1492
- message: SendBird.UserMessage | SendBird.FileMessage;
1493
- channel: SendBird.GroupChannel | SendBird.OpenChannel;
1601
+ message: UserMessage | FileMessage;
1602
+ channel: GroupChannel | OpenChannel;
1494
1603
  isByMe?: boolean;
1495
1604
  disabled?: boolean;
1496
- replyType?: ReplyType;
1605
+ replyType?: SenbirdUIKitGlobal.ReplyType;
1497
1606
  showEdit?: (bool: boolean) => void;
1498
1607
  showRemove?: (bool: boolean) => void;
1499
- resendMessage?: (message: SendBird.UserMessage | SendBird.FileMessage) => void;
1500
- setQuoteMessage?: (message: SendBird.UserMessage | SendBird.FileMessage) => void;
1608
+ resendMessage?: (message: UserMessage | FileMessage) => void;
1609
+ setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1501
1610
  setSupposedHover?: (bool: boolean) => void;
1502
1611
  }
1503
1612
  const MessageItemMenu: React.FC<MessageItemMenuProps>;
@@ -1506,13 +1615,16 @@ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1506
1615
  }
1507
1616
 
1508
1617
  declare module '@sendbird/uikit-react/ui/MessageItemReactionMenu' {
1618
+ import type { EmojiContainer } from '@sendbird/chat';
1619
+ import type { FileMessage, UserMessage } from '@sendbird/chat/message';
1620
+
1509
1621
  interface MessageItemReactionMenuProps {
1510
1622
  className?: string | Array<string>;
1511
- message: SendBird.UserMessage | SendBird.FileMessage;
1623
+ message: UserMessage | FileMessage;
1512
1624
  userId: string;
1513
1625
  spaceFromTrigger?: Record<string, unknown>;
1514
- emojiContainer?: SendBird.EmojiContainer;
1515
- toggleReaction?: (message: SendBird.UserMessage | SendBird.FileMessage, reactionKey: string, isReacted: boolean) => void;
1626
+ emojiContainer?: EmojiContainer;
1627
+ toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;
1516
1628
  setSupposedHover?: (bool: boolean) => void;
1517
1629
  }
1518
1630
  const MessageItemReactionMenu: React.FC<MessageItemReactionMenuProps>;
@@ -1520,11 +1632,13 @@ declare module '@sendbird/uikit-react/ui/MessageItemReactionMenu' {
1520
1632
  }
1521
1633
 
1522
1634
  declare module '@sendbird/uikit-react/ui/MessageSearchFileItem' {
1635
+ import type SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1636
+
1523
1637
  interface MessageSearchFileItemProps {
1524
1638
  className?: string | Array<string>;
1525
- message: ClientFileMessage;
1639
+ message: SendbirdUIKitGlobal.ClientFileMessage;
1526
1640
  selected?: boolean;
1527
- onClick?: (message: ClientFileMessage) => void;
1641
+ onClick?: (message: SendbirdUIKitGlobal.ClientFileMessage) => void;
1528
1642
  }
1529
1643
  const MessageSearchFileItem: React.FC<MessageSearchFileItemProps>;
1530
1644
  export default MessageSearchFileItem;
@@ -1532,11 +1646,13 @@ declare module '@sendbird/uikit-react/ui/MessageSearchFileItem' {
1532
1646
  }
1533
1647
 
1534
1648
  declare module '@sendbird/uikit-react/ui/MessageSearchItem' {
1649
+ import type SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1650
+
1535
1651
  interface MessageSearchItemProps {
1536
1652
  className?: string | Array<string>;
1537
- message: ClientUserMessage;
1653
+ message: SendbirdUIKitGlobal.ClientUserMessage;
1538
1654
  selected?: boolean;
1539
- onClick?: (message: ClientMessage) => void;
1655
+ onClick?: (message: SendbirdUIKitGlobal.ClientMessage) => void;
1540
1656
  }
1541
1657
  const MessageSearchItem: React.FC<MessageSearchItemProps>;
1542
1658
  export default MessageSearchItem;
@@ -1544,10 +1660,13 @@ declare module '@sendbird/uikit-react/ui/MessageSearchItem' {
1544
1660
  }
1545
1661
 
1546
1662
  declare module '@sendbird/uikit-react/ui/MessageStatus' {
1663
+ import type { UserMessage, FileMessage } from '@sendbird/chat/message';
1664
+ import type { GroupChannel } from '@sendbird/chat/groupChannel';
1665
+
1547
1666
  interface MessageStatusProps {
1548
1667
  className?: string;
1549
- message: SendBird.UserMessage | SendBird.FileMessage;
1550
- channel: SendBird.GroupChannel;
1668
+ message: UserMessage | FileMessage;
1669
+ channel: GroupChannel;
1551
1670
  }
1552
1671
  const MessageStatus: React.FC<MessageStatusProps>;
1553
1672
  export default MessageStatus;
@@ -1569,9 +1688,10 @@ declare module '@sendbird/uikit-react/ui/Modal' {
1569
1688
  }
1570
1689
 
1571
1690
  declare module '@sendbird/uikit-react/ui/OGMessageItemBody' {
1691
+ import type { UserMessage } from '@sendbird/chat/message';
1572
1692
  interface OGMessageItemBodyProps {
1573
1693
  className?: string | Array<string>;
1574
- message: SendBird.UserMessage;
1694
+ message: UserMessage;
1575
1695
  isByMe?: boolean;
1576
1696
  mouseHover?: boolean;
1577
1697
  }
@@ -1580,9 +1700,10 @@ declare module '@sendbird/uikit-react/ui/OGMessageItemBody' {
1580
1700
  }
1581
1701
 
1582
1702
  declare module '@sendbird/uikit-react/ui/OpenChannelAdminMessage' {
1703
+ import type { AdminMessage } from '@sendbird/chat/message';
1583
1704
  interface OpenChannelAdminMessageProps {
1584
1705
  className?: string | Array<string>;
1585
- message: ClientAdminMessage;
1706
+ message: AdminMessage;
1586
1707
  }
1587
1708
  const OpenChannelAdminMessage: React.FC<OpenChannelAdminMessageProps>;
1588
1709
  export default OpenChannelAdminMessage;
@@ -1601,28 +1722,30 @@ declare module '@sendbird/uikit-react/ui/OpenChannelConversationHeader' {
1601
1722
  }
1602
1723
 
1603
1724
  declare module '@sendbird/uikit-react/ui/OpenChannelFileMessage' {
1725
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1604
1726
  interface OpenChannelFileMessageProps {
1605
1727
  className?: string | Array<string>;
1606
- message: ClientFileMessage;
1728
+ message: SenbirdUIKitGlobal.ClientFileMessage;
1607
1729
  userId: string;
1608
1730
  disabled?: boolean;
1609
1731
  chainTop?: boolean;
1610
1732
  chainBottom?: boolean;
1611
1733
  showRemove(bool: boolean): void;
1612
- resendMessage(message: ClientFileMessage): void;
1734
+ resendMessage(message: SenbirdUIKitGlobal.ClientFileMessage): void;
1613
1735
  }
1614
1736
  const OpenChannelFileMessage: React.FC<OpenChannelFileMessageProps>;
1615
1737
  export default OpenChannelFileMessage;
1616
1738
  }
1617
1739
 
1618
1740
  declare module '@sendbird/uikit-react/ui/OpenChannelOGMessage' {
1741
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1619
1742
  interface OOpenChannelOGMessageProps {
1620
- message: ClientUserMessage;
1743
+ message: SenbirdUIKitGlobal.ClientUserMessage;
1621
1744
  className?: string | Array<string>;
1622
1745
  disabled?: boolean;
1623
1746
  showEdit(bool: boolean): void;
1624
1747
  showRemove(bool: boolean): void;
1625
- resendMessage(message: ClientUserMessage): void;
1748
+ resendMessage(message: SenbirdUIKitGlobal.ClientUserMessage): void;
1626
1749
  chainTop?: boolean;
1627
1750
  chainBottom?: boolean;
1628
1751
  userId: string;
@@ -1632,30 +1755,32 @@ declare module '@sendbird/uikit-react/ui/OpenChannelOGMessage' {
1632
1755
  }
1633
1756
 
1634
1757
  declare module '@sendbird/uikit-react/ui/OpenChannelThumbnailMessage' {
1758
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1635
1759
  interface OpenChannelThumbnailMessageProps {
1636
1760
  className?: string | Array<string>;
1637
- message: ClientFileMessage;
1761
+ message: SenbirdUIKitGlobal.ClientFileMessage;
1638
1762
  disabled: boolean;
1639
1763
  userId: string;
1640
1764
  chainTop: boolean;
1641
1765
  chainBottom: boolean;
1642
1766
  onClick(bool: boolean): void,
1643
1767
  showRemove(bool: boolean): void,
1644
- resendMessage(message: ClientFileMessage): void;
1768
+ resendMessage(message: SenbirdUIKitGlobal.ClientFileMessage): void;
1645
1769
  }
1646
1770
  const OpenChannelThumbnailMessage: React.FC<OpenChannelThumbnailMessageProps>;
1647
1771
  export default OpenChannelThumbnailMessage;
1648
1772
  }
1649
1773
 
1650
1774
  declare module '@sendbird/uikit-react/ui/OpenChannelUserMessage' {
1775
+ import type SenbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1651
1776
  interface OpenChannelUserMessageProps {
1652
1777
  className?: string | Array<string>;
1653
- message: ClientUserMessage;
1778
+ message: SenbirdUIKitGlobal.ClientUserMessage;
1654
1779
  userId: string;
1655
1780
  disabled?: boolean;
1656
1781
  showEdit(bool: boolean): void;
1657
1782
  showRemove(bool: boolean): void;
1658
- resendMessage(message: ClientUserMessage): void;
1783
+ resendMessage(message: SenbirdUIKitGlobal.ClientUserMessage): void;
1659
1784
  chainTop?: boolean;
1660
1785
  chainBottom?: boolean;
1661
1786
  }
@@ -1675,8 +1800,9 @@ declare module '@sendbird/uikit-react/ui/PlaceHolder' {
1675
1800
  }
1676
1801
 
1677
1802
  declare module '@sendbird/uikit-react/ui/QuoteMessage' {
1803
+ import type { UserMessage, FileMessage } from '@sendbird/chat/message';
1678
1804
  interface QuoteMessageProps {
1679
- message?: SendBird.UserMessage | SendBird.FileMessage;
1805
+ message?: UserMessage | FileMessage;
1680
1806
  userId?: string;
1681
1807
  isByMe?: boolean;
1682
1808
  className?: string | Array<string>;
@@ -1687,10 +1813,11 @@ declare module '@sendbird/uikit-react/ui/QuoteMessage' {
1687
1813
  }
1688
1814
 
1689
1815
  declare module '@sendbird/uikit-react/ui/QuoteMessageInput' {
1816
+ import type SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1690
1817
  interface QuoteMessageInputProps {
1691
1818
  className?: string | Array<string>;
1692
- replyingMessage: CoreMessageType;
1693
- onClose?: (message: CoreMessageType) => void;
1819
+ replyingMessage: SendbirdUIKitGlobal.CoreMessageType;
1820
+ onClose?: (message: SendbirdUIKitGlobal.CoreMessageType) => void;
1694
1821
  }
1695
1822
  const QuoteMessageInput: React.FC<QuoteMessageInputProps>;
1696
1823
  export default QuoteMessageInput;
@@ -1748,9 +1875,10 @@ declare module '@sendbird/uikit-react/ui/TextButton' {
1748
1875
  }
1749
1876
 
1750
1877
  declare module '@sendbird/uikit-react/ui/TextMessageItemBody' {
1878
+ import type { UserMessage } from '@sendbird/chat/message';
1751
1879
  interface TextMessageItemBodyProps {
1752
1880
  className?: string | Array<string>;
1753
- message: SendBird.UserMessage;
1881
+ message: UserMessage;
1754
1882
  isByMe?: boolean;
1755
1883
  mouseHover?: boolean;
1756
1884
  }
@@ -1759,9 +1887,10 @@ declare module '@sendbird/uikit-react/ui/TextMessageItemBody' {
1759
1887
  }
1760
1888
 
1761
1889
  declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
1890
+ import type { FileMessage } from '@sendbird/chat/message';
1762
1891
  interface ThumbnailMessageItemBodyProps {
1763
1892
  className?: string | Array<string>;
1764
- message: SendBird.FileMessage;
1893
+ message: FileMessage;
1765
1894
  isByMe?: boolean;
1766
1895
  mouseHover?: boolean;
1767
1896
  showFileViewer?: (bool: boolean) => void;
@@ -1790,10 +1919,11 @@ declare module '@sendbird/uikit-react/ui/TooltipWrapper' {
1790
1919
  }
1791
1920
 
1792
1921
  declare module '@sendbird/uikit-react/ui/UnknownMessageItemBody' {
1922
+ import type SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1793
1923
  interface UnknownMessageItemBodyProps {
1794
1924
  className?: string | Array<string>;
1795
1925
  isByMe?: boolean;
1796
- message: CoreMessageType;
1926
+ message: SendbirdUIKitGlobal.CoreMessageType;
1797
1927
  mouseHover?: boolean;
1798
1928
  }
1799
1929
  const UnknownMessageItemBody: React.FC<UnknownMessageItemBodyProps>;
@@ -1801,9 +1931,10 @@ declare module '@sendbird/uikit-react/ui/UnknownMessageItemBody' {
1801
1931
  }
1802
1932
 
1803
1933
  declare module '@sendbird/uikit-react/ui/UserListItem' {
1934
+ import type { User } from '@sendbird/chat';
1804
1935
  interface UserListItemProps {
1805
1936
  className?: string | Array<string>;
1806
- user?: SendBird.User,
1937
+ user?: User,
1807
1938
  checkBox?: boolean,
1808
1939
  disableMessaging?: boolean,
1809
1940
  currentUser?: string,
@@ -1816,13 +1947,17 @@ declare module '@sendbird/uikit-react/ui/UserListItem' {
1816
1947
  }
1817
1948
 
1818
1949
  declare module '@sendbird/uikit-react/ui/UserProfile' {
1950
+ import type { User } from '@sendbird/chat';
1951
+ import type { SendbirdGroupChat, GroupChannelCreateParams, GroupChannel } from '@sendbird/chat/groupChannel';
1952
+ import type { SendbirdOpenChat } from '@sendbird/chat/openChannel';
1953
+ import type SendbirdUIKitGlobal from 'SendbirdUIKitGlobal';
1819
1954
  interface UserProfileProps {
1820
- user: SendBird.User;
1955
+ user: User;
1821
1956
  currentUserId?: string;
1822
- sdk?: SendBird.SendBirdInstance;
1823
- logger?: Logger;
1957
+ sdk?: SendbirdGroupChat | SendbirdOpenChat;
1958
+ logger?: SendbirdUIKitGlobal.Logger;
1824
1959
  disableMessaging?: boolean;
1825
- createChannel?(params: SendBird.GroupChannelParams): Promise<SendBird.GroupChannel>;
1960
+ createChannel?(params: GroupChannelCreateParams): Promise<GroupChannel>;
1826
1961
  onSuccess?(): void;
1827
1962
  }
1828
1963
  const UserProfile: React.FC<UserProfileProps>;