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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/App.js +47 -46
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +107 -0
  4. package/Channel/components/ChannelHeader.js +25 -21
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +29 -28
  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 +31 -28
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +21 -20
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +31 -30
  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 +43 -38
  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 +29 -28
  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 +36 -32
  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-737ee36f.js → ChannelListProvider-fec439b3.js} +219 -198
  42. package/ChannelListProvider-fec439b3.js.map +1 -0
  43. package/{ChannelProvider-34834493.js → ChannelProvider-1f56082e.js} +380 -419
  44. package/ChannelProvider-1f56082e.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-3d3e4a7c.js → CreateChannelProvider-2746c280.js} +3 -3
  72. package/CreateChannelProvider-2746c280.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/LICENSE +21 -0
  78. package/{LocalizationContext-5b0a9339.js → LocalizationContext-3dbcc9d8.js} +3 -3
  79. package/{LocalizationContext-5b0a9339.js.map → LocalizationContext-3dbcc9d8.js.map} +1 -1
  80. package/{MemberList-6e33a562.js → MemberList-f1c78686.js} +47 -68
  81. package/MemberList-f1c78686.js.map +1 -0
  82. package/MessageSearch/components/MessageSearchUI.js +16 -16
  83. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  84. package/MessageSearch/context.js +56 -61
  85. package/MessageSearch/context.js.map +1 -1
  86. package/MessageSearch.js +22 -22
  87. package/MessageSearch.js.map +1 -1
  88. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  89. package/OpenChannel/components/OpenChannelHeader.js +17 -15
  90. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  91. package/OpenChannel/components/OpenChannelInput.js +20 -19
  92. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  93. package/OpenChannel/components/OpenChannelMessage.js +44 -40
  94. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  95. package/OpenChannel/components/OpenChannelMessageList.js +38 -38
  96. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  97. package/OpenChannel/components/OpenChannelUI.js +28 -27
  98. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  99. package/OpenChannel/context.js +12 -10
  100. package/OpenChannel/context.js.map +1 -1
  101. package/OpenChannel.js +28 -27
  102. package/OpenChannel.js.map +1 -1
  103. package/{OpenChannelProvider-9ef0d52a.js → OpenChannelProvider-5ecafbb1.js} +629 -694
  104. package/OpenChannelProvider-5ecafbb1.js.map +1 -0
  105. package/OpenChannelSettings/components/EditDetailsModal.js +30 -36
  106. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  107. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
  108. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  109. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -23
  110. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  111. package/OpenChannelSettings/components/OperatorUI.js +46 -31
  112. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  113. package/OpenChannelSettings/components/ParticipantUI.js +30 -57
  114. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  115. package/OpenChannelSettings/context.js +16 -16
  116. package/OpenChannelSettings/context.js.map +1 -1
  117. package/OpenChannelSettings.js +19 -19
  118. package/README.md +128 -0
  119. package/SendbirdProvider.js +43 -38
  120. package/SendbirdProvider.js.map +1 -1
  121. package/{UserProfileContext-b6d89d0d.js → UserProfileContext-f0ef00c0.js} +1 -1
  122. package/{UserProfileContext-b6d89d0d.js.map → UserProfileContext-f0ef00c0.js.map} +1 -1
  123. package/__bundle-7dfccc8c-c503198e.js +24 -0
  124. package/__bundle-7dfccc8c-c503198e.js.map +1 -0
  125. package/{_rollupPluginBabelHelpers-d10f91b9.js → _rollupPluginBabelHelpers-8ba74698.js} +1 -1
  126. package/{_rollupPluginBabelHelpers-d10f91b9.js.map → _rollupPluginBabelHelpers-8ba74698.js.map} +1 -1
  127. package/{actionTypes-17920f59.js → actionTypes-1444365b.js} +1 -1
  128. package/{actionTypes-17920f59.js.map → actionTypes-1444365b.js.map} +1 -1
  129. package/cjs/App.js +47 -46
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +25 -21
  132. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  133. package/cjs/Channel/components/ChannelUI.js +29 -28
  134. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  135. package/cjs/Channel/components/FileViewer.js +18 -16
  136. package/cjs/Channel/components/FileViewer.js.map +1 -1
  137. package/cjs/Channel/components/FrozenNotification.js +5 -5
  138. package/cjs/Channel/components/Message.js +31 -28
  139. package/cjs/Channel/components/Message.js.map +1 -1
  140. package/cjs/Channel/components/MessageInput.js +21 -20
  141. package/cjs/Channel/components/MessageInput.js.map +1 -1
  142. package/cjs/Channel/components/MessageList.js +31 -30
  143. package/cjs/Channel/components/MessageList.js.map +1 -1
  144. package/cjs/Channel/components/RemoveMessageModal.js +21 -19
  145. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  146. package/cjs/Channel/components/SuggestedMentionList.js +43 -38
  147. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  148. package/cjs/Channel/components/TypingIndicator.js +37 -33
  149. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  150. package/cjs/Channel/components/UnreadCount.js +6 -6
  151. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  152. package/cjs/Channel/context.js +17 -15
  153. package/cjs/Channel/context.js.map +1 -1
  154. package/cjs/Channel.js +29 -28
  155. package/cjs/Channel.js.map +1 -1
  156. package/cjs/ChannelList/components/AddChannel.js +17 -17
  157. package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
  158. package/cjs/ChannelList/components/ChannelListUI.js +44 -45
  159. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  160. package/cjs/ChannelList/components/ChannelPreview.js +36 -32
  161. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -16
  163. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  164. package/cjs/ChannelList/context.js +11 -10
  165. package/cjs/ChannelList/context.js.map +1 -1
  166. package/cjs/ChannelList.js +31 -29
  167. package/cjs/ChannelList.js.map +1 -1
  168. package/cjs/{ChannelListProvider-f910e236.js → ChannelListProvider-94d4c78c.js} +218 -198
  169. package/cjs/ChannelListProvider-94d4c78c.js.map +1 -0
  170. package/cjs/{ChannelProvider-86e2e68c.js → ChannelProvider-190bd453.js} +380 -419
  171. package/cjs/ChannelProvider-190bd453.js.map +1 -0
  172. package/cjs/ChannelSettings/components/ChannelProfile.js +16 -16
  173. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  174. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +23 -23
  175. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js +22 -18
  177. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  178. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  179. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  180. package/cjs/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +87 -141
  181. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  182. package/cjs/ChannelSettings/components/UserListItem.js +19 -18
  183. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  184. package/cjs/ChannelSettings/components/UserPanel.js +19 -19
  185. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  186. package/cjs/ChannelSettings/context.js +11 -11
  187. package/cjs/ChannelSettings/context.js.map +1 -1
  188. package/cjs/ChannelSettings.js +21 -21
  189. package/cjs/CreateChannel/components/CreateChannelUI.js +18 -18
  190. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  191. package/cjs/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +24 -28
  192. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  193. package/cjs/CreateChannel/components/SelectChannelType.js +13 -13
  194. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  195. package/cjs/CreateChannel/context.js +6 -5
  196. package/cjs/CreateChannel/context.js.map +1 -1
  197. package/cjs/CreateChannel.js +17 -17
  198. package/cjs/{CreateChannelProvider-07992a6d.js → CreateChannelProvider-9fa1d794.js} +3 -3
  199. package/cjs/CreateChannelProvider-9fa1d794.js.map +1 -0
  200. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  201. package/cjs/EditUserProfile/context.js +2 -2
  202. package/cjs/EditUserProfile/context.js.map +1 -1
  203. package/cjs/EditUserProfile.js +14 -14
  204. package/cjs/{LocalizationContext-79514649.js → LocalizationContext-65b97b58.js} +3 -3
  205. package/cjs/{LocalizationContext-79514649.js.map → LocalizationContext-65b97b58.js.map} +1 -1
  206. package/cjs/{MemberList-015c1075.js → MemberList-3e3448b2.js} +46 -67
  207. package/cjs/MemberList-3e3448b2.js.map +1 -0
  208. package/cjs/MessageSearch/components/MessageSearchUI.js +15 -15
  209. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  210. package/cjs/MessageSearch/context.js +56 -61
  211. package/cjs/MessageSearch/context.js.map +1 -1
  212. package/cjs/MessageSearch.js +22 -22
  213. package/cjs/MessageSearch.js.map +1 -1
  214. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  215. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -15
  216. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  217. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -19
  218. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  219. package/cjs/OpenChannel/components/OpenChannelMessage.js +44 -40
  220. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  221. package/cjs/OpenChannel/components/OpenChannelMessageList.js +38 -38
  222. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  223. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -27
  224. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  225. package/cjs/OpenChannel/context.js +13 -11
  226. package/cjs/OpenChannel/context.js.map +1 -1
  227. package/cjs/OpenChannel.js +28 -27
  228. package/cjs/OpenChannel.js.map +1 -1
  229. package/cjs/{OpenChannelProvider-445f214c.js → OpenChannelProvider-5c81bdb4.js} +629 -694
  230. package/cjs/OpenChannelProvider-5c81bdb4.js.map +1 -0
  231. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +29 -35
  232. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  233. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  234. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  235. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +38 -22
  236. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  237. package/cjs/OpenChannelSettings/components/OperatorUI.js +43 -28
  238. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  239. package/cjs/OpenChannelSettings/components/ParticipantUI.js +29 -56
  240. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  241. package/cjs/OpenChannelSettings/context.js +16 -16
  242. package/cjs/OpenChannelSettings/context.js.map +1 -1
  243. package/cjs/OpenChannelSettings.js +19 -19
  244. package/cjs/SendbirdProvider.js +44 -40
  245. package/cjs/SendbirdProvider.js.map +1 -1
  246. package/cjs/{UserProfileContext-12cfee31.js → UserProfileContext-9f3727c8.js} +1 -1
  247. package/cjs/{UserProfileContext-12cfee31.js.map → UserProfileContext-9f3727c8.js.map} +1 -1
  248. package/cjs/__bundle-7dfccc8c-d9262ff8.js +151 -0
  249. package/cjs/__bundle-7dfccc8c-d9262ff8.js.map +1 -0
  250. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js → _rollupPluginBabelHelpers-0d29c748.js} +1 -1
  251. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js.map → _rollupPluginBabelHelpers-0d29c748.js.map} +1 -1
  252. package/cjs/{actionTypes-93161807.js → actionTypes-5dc3015b.js} +1 -1
  253. package/cjs/{actionTypes-93161807.js.map → actionTypes-5dc3015b.js.map} +1 -1
  254. package/cjs/{color-c53ac792.js → color-51e4fff0.js} +1 -1
  255. package/cjs/{color-c53ac792.js.map → color-51e4fff0.js.map} +1 -1
  256. package/cjs/{compareIds-37e8380c.js → compareIds-7f5ab4de.js} +1 -1
  257. package/cjs/{compareIds-37e8380c.js.map → compareIds-7f5ab4de.js.map} +1 -1
  258. package/cjs/{const-3024c719.js → const-63ed85a4.js} +1 -1
  259. package/cjs/{const-3024c719.js.map → const-63ed85a4.js.map} +1 -1
  260. package/cjs/{const-489c46b6.js → const-ffda0b97.js} +1 -1
  261. package/cjs/{const-489c46b6.js.map → const-ffda0b97.js.map} +1 -1
  262. package/cjs/{context-961d5b11.js → context-0aa8e3f8.js} +2 -2
  263. package/cjs/{context-961d5b11.js.map → context-0aa8e3f8.js.map} +1 -1
  264. package/cjs/dist/index.css +169 -47
  265. package/cjs/dist/index.css.map +1 -1
  266. package/cjs/groupChannel-8023bd09.js +9 -0
  267. package/cjs/groupChannel-8023bd09.js.map +1 -0
  268. package/cjs/{index-07623c8b.js → index-119a7a34.js} +2 -2
  269. package/cjs/{index-07623c8b.js.map → index-119a7a34.js.map} +1 -1
  270. package/cjs/{index-5eaebc66.js → index-22c82558.js} +12 -9
  271. package/cjs/index-22c82558.js.map +1 -0
  272. package/cjs/{index-bc563d47.js → index-32f8310c.js} +32 -29
  273. package/cjs/index-32f8310c.js.map +1 -0
  274. package/cjs/{index-cb53adf5.js → index-481324b7.js} +2 -2
  275. package/cjs/{index-cb53adf5.js.map → index-481324b7.js.map} +1 -1
  276. package/cjs/{index-a20b40c4.js → index-574ef41e.js} +5 -5
  277. package/cjs/index-574ef41e.js.map +1 -0
  278. package/cjs/{index-2180f74f.js → index-7ef68704.js} +5 -5
  279. package/cjs/index-7ef68704.js.map +1 -0
  280. package/cjs/{index-d70ac86e.js → index-97c28907.js} +1 -1
  281. package/cjs/{index-d70ac86e.js.map → index-97c28907.js.map} +1 -1
  282. package/cjs/{index-5615eab4.js → index-a372cc51.js} +4 -4
  283. package/cjs/{index-5615eab4.js.map → index-a372cc51.js.map} +1 -1
  284. package/cjs/{index-d25a7cbf.js → index-a66b1af1.js} +4 -4
  285. package/cjs/{index-d25a7cbf.js.map → index-a66b1af1.js.map} +1 -1
  286. package/cjs/{index-0b2e2c2a.js → index-bf350acc.js} +1 -1
  287. package/cjs/{index-0b2e2c2a.js.map → index-bf350acc.js.map} +1 -1
  288. package/cjs/index.js +42 -41
  289. package/cjs/index.js.map +1 -1
  290. package/cjs/openChannel-146282ad.js +13 -0
  291. package/cjs/openChannel-146282ad.js.map +1 -0
  292. package/cjs/{openChannelUtils-7fb1abc6.js → openChannelUtils-6a8fb5bf.js} +10 -5
  293. package/cjs/openChannelUtils-6a8fb5bf.js.map +1 -0
  294. package/cjs/sendbirdSelectors.js +696 -0
  295. package/cjs/sendbirdSelectors.js.map +1 -0
  296. package/cjs/{stringSet-ae448472.js → stringSet-da976cc5.js} +1 -1
  297. package/cjs/{stringSet-ae448472.js.map → stringSet-da976cc5.js.map} +1 -1
  298. package/cjs/{topics-bdbff23e.js → topics-a595e22a.js} +1 -1
  299. package/cjs/{topics-bdbff23e.js.map → topics-a595e22a.js.map} +1 -1
  300. package/cjs/{tslib.es6-a7af7bb8.js → tslib.es6-4b76ba01.js} +1 -1
  301. package/cjs/{tslib.es6-a7af7bb8.js.map → tslib.es6-4b76ba01.js.map} +1 -1
  302. package/cjs/ui/Accordion.js +4 -4
  303. package/cjs/ui/AccordionGroup.js +2 -2
  304. package/cjs/ui/AccordionGroup.js.map +1 -1
  305. package/cjs/ui/AdminMessage.js +4 -3
  306. package/cjs/ui/AdminMessage.js.map +1 -1
  307. package/cjs/ui/Avatar.js +3 -3
  308. package/cjs/ui/Badge.js +5 -5
  309. package/cjs/ui/Button.js +4 -4
  310. package/cjs/ui/ChannelAvatar.js +8 -8
  311. package/cjs/ui/ChannelAvatar.js.map +1 -1
  312. package/cjs/ui/ChannelPreview.js +28 -21
  313. package/cjs/ui/ChannelPreview.js.map +1 -1
  314. package/cjs/ui/ChatHeader.js +19 -12
  315. package/cjs/ui/ChatHeader.js.map +1 -1
  316. package/cjs/ui/Checkbox.js +1 -1
  317. package/cjs/ui/ConnectionStatus.js +5 -5
  318. package/cjs/ui/ContextMenu.js +9 -30
  319. package/cjs/ui/ContextMenu.js.map +1 -1
  320. package/cjs/ui/DateSeparator.js +5 -5
  321. package/cjs/ui/DateSeparator.js.map +1 -1
  322. package/cjs/ui/Dropdown.js +3 -3
  323. package/cjs/ui/EmojiReactions.js +10 -10
  324. package/cjs/ui/EmojiReactions.js.map +1 -1
  325. package/cjs/ui/FileMessageItemBody.js +6 -6
  326. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  327. package/cjs/ui/FileViewer.js +7 -7
  328. package/cjs/ui/Icon.js +5 -1
  329. package/cjs/ui/Icon.js.map +1 -1
  330. package/cjs/ui/IconButton.js +1 -1
  331. package/cjs/ui/ImageRenderer.js +1 -1
  332. package/cjs/ui/Input.js +3 -3
  333. package/cjs/ui/Label.js +3 -3
  334. package/cjs/ui/LinkLabel.js +3 -3
  335. package/cjs/ui/Loader.js +1 -1
  336. package/cjs/ui/MentionLabel.js +20 -18
  337. package/cjs/ui/MentionLabel.js.map +1 -1
  338. package/cjs/ui/MentionUserLabel.js +1 -1
  339. package/cjs/ui/MentionUserLabel.js.map +1 -1
  340. package/cjs/ui/MessageContent.js +53 -48
  341. package/cjs/ui/MessageContent.js.map +1 -1
  342. package/cjs/ui/MessageInput.js +5341 -14
  343. package/cjs/ui/MessageInput.js.map +1 -1
  344. package/cjs/ui/MessageItemMenu.js +14 -18
  345. package/cjs/ui/MessageItemMenu.js.map +1 -1
  346. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  347. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  348. package/cjs/ui/MessageSearchFileItem.js +12 -11
  349. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  350. package/cjs/ui/MessageSearchItem.js +10 -10
  351. package/cjs/ui/MessageSearchItem.js.map +1 -1
  352. package/cjs/ui/MessageStatus.js +11 -11
  353. package/cjs/ui/MessageStatus.js.map +1 -1
  354. package/cjs/ui/Modal.js +8 -8
  355. package/cjs/ui/MutedAvatarOverlay.js +7 -7
  356. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  357. package/cjs/ui/OGMessageItemBody.js +18 -17
  358. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  359. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  360. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  361. package/cjs/ui/OpenChannelAvatar.js +11 -11
  362. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  363. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  364. package/cjs/ui/OpenchannelFileMessage.js +17 -16
  365. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  366. package/cjs/ui/OpenchannelOGMessage.js +17 -16
  367. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  368. package/cjs/ui/OpenchannelThumbnailMessage.js +18 -17
  369. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  370. package/cjs/ui/OpenchannelUserMessage.js +18 -17
  371. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  372. package/cjs/ui/PlaceHolder.js +6 -6
  373. package/cjs/ui/QuoteMessage.js +24 -24
  374. package/cjs/ui/QuoteMessage.js.map +1 -1
  375. package/cjs/ui/QuoteMessageInput.js +11 -13
  376. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  377. package/cjs/ui/ReactionBadge.js +3 -3
  378. package/cjs/ui/ReactionButton.js +1 -1
  379. package/cjs/ui/SortByRow.js +1 -1
  380. package/cjs/ui/TextButton.js +2 -2
  381. package/cjs/ui/TextMessageItemBody.js +17 -16
  382. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  383. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  384. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  385. package/cjs/ui/Tooltip.js +3 -3
  386. package/cjs/ui/TooltipWrapper.js +1 -1
  387. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  388. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  389. package/cjs/ui/UserListItem.js +14 -13
  390. package/cjs/ui/UserListItem.js.map +1 -1
  391. package/cjs/ui/UserProfile.js +19 -18
  392. package/cjs/ui/UserProfile.js.map +1 -1
  393. package/cjs/{index-4e8b61f7.js → ui/Word.js} +31 -10
  394. package/cjs/ui/Word.js.map +1 -0
  395. package/cjs/useSendbirdStateContext.js +3 -3
  396. package/cjs/useSendbirdStateContext.js.map +1 -1
  397. package/cjs/{utils-03155980.js → utils-4d87243e.js} +8 -8
  398. package/cjs/utils-4d87243e.js.map +1 -0
  399. package/cjs/{utils-0d5ecf05.js → utils-52a504d9.js} +1 -1
  400. package/cjs/{utils-0d5ecf05.js.map → utils-52a504d9.js.map} +1 -1
  401. package/cjs/{utils-139469a5.js → utils-f0f90fdf.js} +1 -1
  402. package/cjs/{utils-139469a5.js.map → utils-f0f90fdf.js.map} +1 -1
  403. package/cjs/{uuid-03009a31.js → uuid-d0e513e8.js} +1 -1
  404. package/cjs/{uuid-03009a31.js.map → uuid-d0e513e8.js.map} +1 -1
  405. package/cjs/{withSendBird.js → withSendbird.js} +2 -2
  406. package/cjs/{withSendBird.js.map → withSendbird.js.map} +1 -1
  407. package/{color-6b259e40.js → color-b580a421.js} +1 -1
  408. package/{color-6b259e40.js.map → color-b580a421.js.map} +1 -1
  409. package/{compareIds-982972e8.js → compareIds-1114d2b7.js} +1 -1
  410. package/{compareIds-982972e8.js.map → compareIds-1114d2b7.js.map} +1 -1
  411. package/{const-e3d1e0ec.js → const-a11ccf78.js} +1 -1
  412. package/{const-e3d1e0ec.js.map → const-a11ccf78.js.map} +1 -1
  413. package/{const-da3968a5.js → const-b72fa505.js} +1 -1
  414. package/{const-da3968a5.js.map → const-b72fa505.js.map} +1 -1
  415. package/{context-3d5505d0.js → context-d867aec7.js} +2 -2
  416. package/{context-3d5505d0.js.map → context-d867aec7.js.map} +1 -1
  417. package/dist/index.css +169 -47
  418. package/dist/index.css.map +1 -1
  419. package/groupChannel-9a1eb726.js +6 -0
  420. package/groupChannel-9a1eb726.js.map +1 -0
  421. package/{index-94489c17.js → index-21a0df21.js} +1 -1
  422. package/{index-94489c17.js.map → index-21a0df21.js.map} +1 -1
  423. package/{index-db6a4860.js → index-3ea848a1.js} +1 -1
  424. package/{index-db6a4860.js.map → index-3ea848a1.js.map} +1 -1
  425. package/{index-902c2068.js → index-4c5351e9.js} +33 -30
  426. package/index-4c5351e9.js.map +1 -0
  427. package/{index-92160328.js → index-5ba00ba3.js} +2 -2
  428. package/{index-92160328.js.map → index-5ba00ba3.js.map} +1 -1
  429. package/{index-691dc8da.js → index-64bb5b19.js} +4 -4
  430. package/{index-691dc8da.js.map → index-64bb5b19.js.map} +1 -1
  431. package/{index-9deb1389.js → index-905615b2.js} +5 -5
  432. package/index-905615b2.js.map +1 -0
  433. package/{index-95677caf.js → index-93e3dce0.js} +2 -2
  434. package/{index-95677caf.js.map → index-93e3dce0.js.map} +1 -1
  435. package/{index-065ef420.js → index-9c121a8c.js} +12 -9
  436. package/index-9c121a8c.js.map +1 -0
  437. package/{index-17cf7808.js → index-d1179659.js} +5 -5
  438. package/index-d1179659.js.map +1 -0
  439. package/{index-a755675d.js → index-eebcc3d0.js} +4 -4
  440. package/{index-a755675d.js.map → index-eebcc3d0.js.map} +1 -1
  441. package/index.d.ts +1026 -902
  442. package/index.d.ts____ +1883 -0
  443. package/index.js +40 -39
  444. package/index.js.map +1 -1
  445. package/openChannel-f429ff22.js +8 -0
  446. package/openChannel-f429ff22.js.map +1 -0
  447. package/{openChannelUtils-2cd370a7.js → openChannelUtils-a232a39f.js} +10 -5
  448. package/openChannelUtils-a232a39f.js.map +1 -0
  449. package/package-lock.json +26318 -0
  450. package/package.json +5 -5
  451. package/sendbirdSelectors.js +671 -0
  452. package/sendbirdSelectors.js.map +1 -0
  453. package/{stringSet-5a85ff4b.js → stringSet-3a2b916e.js} +1 -1
  454. package/{stringSet-5a85ff4b.js.map → stringSet-3a2b916e.js.map} +1 -1
  455. package/{topics-24a660ee.js → topics-19b96cc7.js} +2 -2
  456. package/{topics-24a660ee.js.map → topics-19b96cc7.js.map} +1 -1
  457. package/{tslib.es6-2c4d01e9.js → tslib.es6-9548150b.js} +1 -1
  458. package/{tslib.es6-2c4d01e9.js.map → tslib.es6-9548150b.js.map} +1 -1
  459. package/ui/Accordion.js +4 -4
  460. package/ui/AccordionGroup.js +2 -2
  461. package/ui/AccordionGroup.js.map +1 -1
  462. package/ui/AdminMessage.js +4 -3
  463. package/ui/AdminMessage.js.map +1 -1
  464. package/ui/Avatar.js +3 -3
  465. package/ui/Badge.js +5 -5
  466. package/ui/Button.js +4 -4
  467. package/ui/ChannelAvatar.js +8 -8
  468. package/ui/ChannelAvatar.js.map +1 -1
  469. package/ui/ChannelPreview.js +28 -21
  470. package/ui/ChannelPreview.js.map +1 -1
  471. package/ui/ChatHeader.js +19 -12
  472. package/ui/ChatHeader.js.map +1 -1
  473. package/ui/Checkbox.js +1 -1
  474. package/ui/ConnectionStatus.js +5 -5
  475. package/ui/ContextMenu.js +9 -30
  476. package/ui/ContextMenu.js.map +1 -1
  477. package/ui/DateSeparator.js +5 -5
  478. package/ui/DateSeparator.js.map +1 -1
  479. package/ui/Dropdown.js +3 -3
  480. package/ui/EmojiReactions.js +10 -10
  481. package/ui/EmojiReactions.js.map +1 -1
  482. package/ui/FileMessageItemBody.js +6 -6
  483. package/ui/FileMessageItemBody.js.map +1 -1
  484. package/ui/FileViewer.js +7 -7
  485. package/ui/Icon.js +5 -1
  486. package/ui/Icon.js.map +1 -1
  487. package/ui/IconButton.js +1 -1
  488. package/ui/ImageRenderer.js +1 -1
  489. package/ui/Input.js +3 -3
  490. package/ui/Label.js +3 -3
  491. package/ui/LinkLabel.js +3 -3
  492. package/ui/Loader.js +1 -1
  493. package/ui/MentionLabel.js +20 -18
  494. package/ui/MentionLabel.js.map +1 -1
  495. package/ui/MentionUserLabel.js +1 -1
  496. package/ui/MentionUserLabel.js.map +1 -1
  497. package/ui/MessageContent.js +55 -50
  498. package/ui/MessageContent.js.map +1 -1
  499. package/ui/MessageInput.js +5339 -11
  500. package/ui/MessageInput.js.map +1 -1
  501. package/ui/MessageItemMenu.js +14 -18
  502. package/ui/MessageItemMenu.js.map +1 -1
  503. package/ui/MessageItemReactionMenu.js +5 -5
  504. package/ui/MessageItemReactionMenu.js.map +1 -1
  505. package/ui/MessageSearchFileItem.js +12 -11
  506. package/ui/MessageSearchFileItem.js.map +1 -1
  507. package/ui/MessageSearchItem.js +10 -10
  508. package/ui/MessageSearchItem.js.map +1 -1
  509. package/ui/MessageStatus.js +11 -11
  510. package/ui/MessageStatus.js.map +1 -1
  511. package/ui/Modal.js +8 -8
  512. package/ui/MutedAvatarOverlay.js +7 -7
  513. package/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/ui/OGMessageItemBody.js +16 -15
  515. package/ui/OGMessageItemBody.js.map +1 -1
  516. package/ui/OpenChannelAdminMessage.js +4 -4
  517. package/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/ui/OpenChannelAvatar.js +11 -11
  519. package/ui/OpenChannelAvatar.js.map +1 -1
  520. package/ui/OpenchannelConversationHeader.js +7 -7
  521. package/ui/OpenchannelFileMessage.js +17 -16
  522. package/ui/OpenchannelFileMessage.js.map +1 -1
  523. package/ui/OpenchannelOGMessage.js +17 -16
  524. package/ui/OpenchannelOGMessage.js.map +1 -1
  525. package/ui/OpenchannelThumbnailMessage.js +18 -17
  526. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  527. package/ui/OpenchannelUserMessage.js +18 -17
  528. package/ui/OpenchannelUserMessage.js.map +1 -1
  529. package/ui/PlaceHolder.js +6 -6
  530. package/ui/QuoteMessage.js +24 -24
  531. package/ui/QuoteMessage.js.map +1 -1
  532. package/ui/QuoteMessageInput.js +11 -13
  533. package/ui/QuoteMessageInput.js.map +1 -1
  534. package/ui/ReactionBadge.js +3 -3
  535. package/ui/ReactionButton.js +1 -1
  536. package/ui/SortByRow.js +1 -1
  537. package/ui/TextButton.js +2 -2
  538. package/ui/TextMessageItemBody.js +16 -15
  539. package/ui/TextMessageItemBody.js.map +1 -1
  540. package/ui/ThumbnailMessageItemBody.js +3 -3
  541. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  542. package/ui/Tooltip.js +3 -3
  543. package/ui/TooltipWrapper.js +1 -1
  544. package/ui/UnknownMessageItemBody.js +7 -7
  545. package/ui/UnknownMessageItemBody.js.map +1 -1
  546. package/ui/UserListItem.js +14 -13
  547. package/ui/UserListItem.js.map +1 -1
  548. package/ui/UserProfile.js +17 -16
  549. package/ui/UserProfile.js.map +1 -1
  550. package/ui/Word.js +70 -0
  551. package/ui/Word.js.map +1 -0
  552. package/useSendbirdStateContext.js +2 -2
  553. package/useSendbirdStateContext.js.map +1 -1
  554. package/{utils-b3b6f503.js → utils-29691dff.js} +8 -8
  555. package/utils-29691dff.js.map +1 -0
  556. package/{utils-57c79308.js → utils-8222d5cb.js} +1 -1
  557. package/{utils-57c79308.js.map → utils-8222d5cb.js.map} +1 -1
  558. package/{utils-85d3d94c.js → utils-83135175.js} +1 -1
  559. package/{utils-85d3d94c.js.map → utils-83135175.js.map} +1 -1
  560. package/{uuid-0ab81e67.js → uuid-c5e7a9dd.js} +1 -1
  561. package/{uuid-0ab81e67.js.map → uuid-c5e7a9dd.js.map} +1 -1
  562. package/{withSendBird.js → withSendbird.js} +2 -2
  563. package/{withSendBird.js.map → withSendbird.js.map} +1 -1
  564. package/ChannelListProvider-737ee36f.js.map +0 -1
  565. package/ChannelProvider-34834493.js.map +0 -1
  566. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  567. package/CreateChannel/components/InviteMembers.js.map +0 -1
  568. package/CreateChannelProvider-3d3e4a7c.js.map +0 -1
  569. package/MemberList-6e33a562.js.map +0 -1
  570. package/OpenChannelProvider-9ef0d52a.js.map +0 -1
  571. package/cjs/ChannelListProvider-f910e236.js.map +0 -1
  572. package/cjs/ChannelProvider-86e2e68c.js.map +0 -1
  573. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  574. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  575. package/cjs/CreateChannelProvider-07992a6d.js.map +0 -1
  576. package/cjs/MemberList-015c1075.js.map +0 -1
  577. package/cjs/OpenChannelProvider-445f214c.js.map +0 -1
  578. package/cjs/index-2180f74f.js.map +0 -1
  579. package/cjs/index-4e8b61f7.js.map +0 -1
  580. package/cjs/index-5eaebc66.js.map +0 -1
  581. package/cjs/index-a20b40c4.js.map +0 -1
  582. package/cjs/index-bc563d47.js.map +0 -1
  583. package/cjs/openChannelUtils-7fb1abc6.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-03155980.js.map +0 -1
  589. package/index-065ef420.js.map +0 -1
  590. package/index-17cf7808.js.map +0 -1
  591. package/index-81a93b05.js +0 -49
  592. package/index-81a93b05.js.map +0 -1
  593. package/index-902c2068.js.map +0 -1
  594. package/index-9deb1389.js.map +0 -1
  595. package/openChannelUtils-2cd370a7.js.map +0 -1
  596. package/sendBirdSelectors.js +0 -713
  597. package/sendBirdSelectors.js.map +0 -1
  598. package/ui/OpenChannelMessageContent.js +0 -8
  599. package/ui/OpenChannelMessageContent.js.map +0 -1
  600. package/utils-b3b6f503.js.map +0 -1
package/index.d.ts____ ADDED
@@ -0,0 +1,1883 @@
1
+ /**
2
+ * Type Definitions for SendbirdUIKit v3
3
+ * homepage: https://sendbird.com/
4
+ * git: https://github.com/sendbird/sendbird-uikit-react
5
+ */
6
+ import type React from 'react';
7
+ import type { ReactElement } from 'react';
8
+
9
+ import type SendbirdChat from '@sendbird/chat';
10
+ import type {
11
+ User,
12
+ SessionHandler,
13
+ SendbirdError,
14
+ EmojiCategory,
15
+ EmojiContainer,
16
+ } from '@sendbird/chat';
17
+ import type {
18
+ AdminMessage,
19
+ UserMessage,
20
+ FileMessage,
21
+ MessageSearchQuery,
22
+ UserMessageCreateParams,
23
+ FileMessageCreateParams,
24
+ UserMessageUpdateParams,
25
+ MessageListParams,
26
+ } from '@sendbird/chat/message';
27
+ import type {
28
+ Member,
29
+ GroupChannel,
30
+ GroupChannelCreateParams,
31
+ GroupChannelUpdateParams,
32
+ GroupChannelListQuery,
33
+ } from '@sendbird/chat/groupChannel';
34
+
35
+ import type { Locale } from 'date-fns';
36
+ import { OpenChannel, OpenChannelCreateParams, OpenChannelUpdateParams } from '@sendbird/chat/openChannel';
37
+ import { UikitMessageHandler } from './lib/selectors';
38
+
39
+ type ReplyType = "NONE" | "QUOTE_REPLY" | "THREAD";
40
+
41
+ type Logger = {
42
+ info?(title?: unknown, description?: unknown): void;
43
+ error?(title?: unknown, description?: unknown): void;
44
+ warning?(title?: unknown, description?: unknown): void;
45
+ };
46
+
47
+ interface UserListQuery {
48
+ hasNext?: boolean;
49
+ next(): Promise<User[]>;
50
+ }
51
+
52
+ interface RenderUserProfileProps {
53
+ user: User | Member;
54
+ currentUserId: string;
55
+ close(): void;
56
+ }
57
+
58
+ interface SendBirdProviderConfig {
59
+ logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | Array<string>;
60
+ userMention?: {
61
+ maxMentionCount?: number,
62
+ maxSuggestionCount?: number,
63
+ };
64
+ }
65
+
66
+ interface ClientMessage {
67
+ reqId: string;
68
+ file?: File;
69
+ localUrl?: string;
70
+ _sender: User;
71
+ }
72
+
73
+ interface RenderMessageProps {
74
+ message: EveryMessage;
75
+ chainTop: boolean;
76
+ chainBottom: boolean;
77
+ }
78
+
79
+ interface ClientUserMessage extends UserMessage, ClientMessage { }
80
+ interface ClientFileMessage extends FileMessage, ClientMessage { }
81
+ interface ClientAdminMessage extends AdminMessage, ClientMessage { }
82
+ type EveryMessage = ClientUserMessage | ClientFileMessage | ClientAdminMessage;
83
+ type ClientSentMessages = ClientUserMessage | ClientFileMessage;
84
+
85
+ interface SendBirdProviderProps {
86
+ userId: string;
87
+ appId: string;
88
+ accessToken?: string;
89
+ configureSession?: (sdk: SendbirdChat) => SessionHandler;
90
+ children?: React.ReactNode;
91
+ theme?: 'light' | 'dark';
92
+ nickname?: string;
93
+ profileUrl?: string;
94
+ dateLocale?: Locale;
95
+ disableUserProfile?: boolean;
96
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
97
+ allowProfileEdit?: boolean;
98
+ userListQuery?(): UserListQuery;
99
+ config?: SendBirdProviderConfig;
100
+ stringSet?: Record<string, string>;
101
+ colorSet?: Record<string, string>;
102
+ imageCompression?: {
103
+ compressionRate?: number,
104
+ resizingWidth?: number | string,
105
+ resizingHeight?: number | string,
106
+ };
107
+ isMentionEnabled?: boolean;
108
+ // isTypingIndicatorEnabledOnChannelList?: boolean;
109
+ // isMessageReceiptStatusEnabledOnChannelList?: boolean;
110
+ }
111
+
112
+ interface SendBirdStateConfig {
113
+ disableUserProfile: boolean;
114
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
115
+ allowProfileEdit: boolean;
116
+ isOnline: boolean;
117
+ isMentionEnabled: boolean;
118
+ userMention: {
119
+ maxMentionCount: number;
120
+ maxSuggestionCount: number;
121
+ };
122
+ userId: string;
123
+ appId: string;
124
+ accessToken: string;
125
+ theme: string;
126
+ pubSub: any;
127
+ logger: Logger;
128
+ setCurrenttheme: (theme: string) => void;
129
+ userListQuery?(): UserListQuery;
130
+ imageCompression?: {
131
+ compressionRate?: number,
132
+ resizingWidth?: number | string,
133
+ resizingHeight?: number | string,
134
+ };
135
+ isTypingIndicatorEnabledOnChannelList?: boolean;
136
+ isMessageReceiptStatusEnabledOnChannelList?: boolean;
137
+ }
138
+ export interface SdkStore {
139
+ error: boolean;
140
+ initialized: boolean;
141
+ loading: boolean;
142
+ sdk: SendbirdChat;
143
+ }
144
+ interface UserStore {
145
+ initialized: boolean;
146
+ loading: boolean;
147
+ user: User;
148
+ }
149
+ interface SendBirdStateStore {
150
+ sdkStore: SdkStore;
151
+ userStore: UserStore;
152
+ }
153
+
154
+ export interface MessageSearchQueryType extends MessageSearchQuery {
155
+ key?: string;
156
+ }
157
+
158
+ export type SendBirdState = {
159
+ config: SendBirdStateConfig;
160
+ stores: SendBirdStateStore;
161
+ dispatchers: {
162
+ userDispatcher: UserDispatcher,
163
+ },
164
+ }
165
+
166
+ type UserDispatcherParams = {
167
+ type: string,
168
+ payload: User
169
+ };
170
+
171
+ type UserDispatcher = (params: UserDispatcherParams) => void;
172
+
173
+ type GetSdk = SendbirdChat | undefined;
174
+ type GetConnect = (
175
+ userId: string,
176
+ accessToken?: string
177
+ ) => Promise<User>;
178
+ type GetDisconnect = () => Promise<void>;
179
+ type GetUpdateUserInfo = (
180
+ nickName: string,
181
+ profileUrl?: string
182
+ ) => Promise<User>;
183
+ type GetCreateGroupChannel = (channelParams: GroupChannelCreateParams) => Promise<GroupChannel>;
184
+ type GetCreateOpenChannel = (channelParams: OpenChannelCreateParams) => Promise<OpenChannel>;
185
+ type GetGetGroupChannel = (
186
+ channelUrl: string,
187
+ isSelected?: boolean,
188
+ ) => Promise<GroupChannel>;
189
+ type GetGetOpenChannel = (
190
+ channelUrl: string,
191
+ ) => Promise<OpenChannel>;
192
+ type GetLeaveGroupChannel = (channel: GroupChannel) => Promise<void>;
193
+ type GetEnterOpenChannel = (channel: OpenChannel) => Promise<OpenChannel>;
194
+ type GetExitOpenChannel = (channel: OpenChannel) => Promise<void>;
195
+ type GetFreezeChannel = (channel: GroupChannel | OpenChannel) => Promise<void>;
196
+ type GetUnFreezeChannel = (channel: GroupChannel | OpenChannel) => Promise<void>;
197
+ type GetSendUserMessage = (
198
+ channel: GroupChannel | OpenChannel,
199
+ userMessageParams: UserMessageCreateParams,
200
+ ) => UikitMessageHandler;
201
+ type GetSendFileMessage = (
202
+ channel: GroupChannel | OpenChannel,
203
+ fileMessageParams: FileMessageCreateParams
204
+ ) => UikitMessageHandler;
205
+ type GetUpdateUserMessage = (
206
+ channel: GroupChannel | OpenChannel,
207
+ messageId: string | number,
208
+ params: UserMessageUpdateParams
209
+ ) => Promise<UserMessage>;
210
+ // type getUpdateFileMessage = (
211
+ // channel: GroupChannel | OpenChannel,
212
+ // messageId: string | number,
213
+ // params: FileMessageUpdateParams,
214
+ // ) => Promise<FileMessage>;
215
+ type GetDeleteMessage = (
216
+ channel: GroupChannel | OpenChannel,
217
+ message: AdminMessage | UserMessage | FileMessage
218
+ ) => Promise<void>;
219
+ type GetResendUserMessage = (
220
+ channel: GroupChannel | OpenChannel,
221
+ failedMessage: UserMessage
222
+ ) => Promise<UserMessage>;
223
+ type GetResendFileMessage = (
224
+ channel: GroupChannel | OpenChannel,
225
+ failedMessage: FileMessage
226
+ ) => Promise<FileMessage>;
227
+
228
+ interface sendbirdSelectorsInterface {
229
+ getSdk: (store: SendBirdState) => GetSdk;
230
+ getConnect: (store: SendBirdState) => GetConnect
231
+ getDisconnect: (store: SendBirdState) => GetDisconnect;
232
+ getUpdateUserInfo: (store: SendBirdState) => GetUpdateUserInfo;
233
+ getCreateGroupChannel: (store: SendBirdState) => GetCreateGroupChannel;
234
+ getCreateOpenChannel: (store: SendBirdState) => GetCreateOpenChannel;
235
+ getGetGroupChannel: (store: SendBirdState) => GetGetGroupChannel;
236
+ getGetOpenChannel: (store: SendBirdState) => GetGetOpenChannel;
237
+ getLeaveChannel: (store: SendBirdState) => GetLeaveGroupChannel;
238
+ getEnterOpenChannel: (store: SendBirdState) => GetEnterOpenChannel;
239
+ getExitOpenChannel: (store: SendBirdState) => GetExitOpenChannel;
240
+ getFreezeChannel: (store: SendBirdState) => GetFreezeChannel;
241
+ getUnFreezeChannel: (store: SendBirdState) => GetUnFreezeChannel;
242
+ getSendUserMessage: (store: SendBirdState) => GetSendUserMessage;
243
+ getSendFileMessage: (store: SendBirdState) => GetSendFileMessage;
244
+ getUpdateUserMessage: (store: SendBirdState) => GetUpdateUserMessage;
245
+ // getUpdateFileMessage: (store: SendBirdState) => GetUpdateFileMessage;
246
+ getDeleteMessage: (store: SendBirdState) => GetDeleteMessage;
247
+ getResendUserMessage: (store: SendBirdState) => GetResendUserMessage;
248
+ getResendFileMessage: (store: SendBirdState) => GetResendFileMessage;
249
+ }
250
+
251
+ interface AppProps {
252
+ appId: string;
253
+ userId: string;
254
+ accessToken?: string;
255
+ theme?: 'light' | 'dark';
256
+ userListQuery?(): UserListQuery;
257
+ nickname?: string;
258
+ profileUrl?: string;
259
+ dateLocale?: Locale;
260
+ allowProfileEdit?: boolean;
261
+ disableUserProfile?: boolean;
262
+ showSearchIcon?: boolean;
263
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
264
+ onProfileEditSuccess?(user: User): void;
265
+ config?: SendBirdProviderConfig;
266
+ isReactionEnabled?: boolean;
267
+ isMessageGroupingEnabled?: boolean;
268
+ stringSet?: Record<string, string>;
269
+ colorSet?: Record<string, string>;
270
+ imageCompression?: {
271
+ compressionRate?: number,
272
+ resizingWidth?: number | string,
273
+ resizingHeight?: number | string,
274
+ };
275
+ replyType?: ReplyType;
276
+ disableAutoSelect?: boolean;
277
+ isMentionEnabled?: boolean;
278
+ // isTypingIndicatorEnabledOnChannelList?: boolean;
279
+ // isMessageReceiptStatusEnabledOnChannelList?: boolean;
280
+ }
281
+
282
+ interface ApplicationUserListQuery {
283
+ limit?: number;
284
+ userIdsFilter?: Array<string>;
285
+ metaDataKeyFilter?: string;
286
+ metaDataValuesFilter?: Array<string>;
287
+ }
288
+
289
+ // interface GroupChannelListQuery {
290
+ // limit?: number;
291
+ // includeEmpty?: boolean;
292
+ // order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';
293
+ // userIdsExactFilter?: Array<string>;
294
+ // userIdsIncludeFilter?: Array<string>;
295
+ // userIdsIncludeFilterQueryType?: 'AND' | 'OR';
296
+ // nicknameContainsFilter?: string;
297
+ // channelNameContainsFilter?: string;
298
+ // customTypesFilter?: Array<string>;
299
+ // customTypeStartsWithFilter?: string;
300
+ // channelUrlsFilter?: Array<string>;
301
+ // superChannelFilter?: 'all' | 'super' | 'nonsuper';
302
+ // publicChannelFilter?: 'all' | 'public' | 'private';
303
+ // metadataOrderKeyFilter?: string;
304
+ // memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';
305
+ // hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';
306
+ // unreadChannelFilter?: 'all' | 'unread_message';
307
+ // includeFrozen?: boolean;
308
+ // }
309
+ interface ChannelListQueries {
310
+ applicationUserListQuery?: ApplicationUserListQuery;
311
+ channelListQuery?: GroupChannelListQuery;
312
+ }
313
+
314
+ export interface ChannelListProviderProps {
315
+ allowProfileEdit?: boolean;
316
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
317
+ onThemeChange?(theme: string): void;
318
+ onProfileEditSuccess?(user: User): void;
319
+ onChannelSelect?(channel: GroupChannel): void;
320
+ sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];
321
+ queries?: ChannelListQueries;
322
+ children?: React.ReactNode;
323
+ className?: string | string[];
324
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
325
+ disableUserProfile?: boolean;
326
+ disableAutoSelect?: boolean;
327
+ typingChannels?: Array<GroupChannel>;
328
+ isTypingIndicatorEnabled?: boolean;
329
+ isMessageReceiptStatusEnabled?: boolean;
330
+ }
331
+
332
+ export interface ChannelListProviderInterface extends ChannelListProviderProps {
333
+ initialized: boolean;
334
+ loading: boolean;
335
+ allChannels: GroupChannel[];
336
+ currentChannel: GroupChannel;
337
+ showSettings: boolean;
338
+ channelListQuery: GroupChannelListQuery;
339
+ currentUserId: string;
340
+ // channelListDispatcher: CustomUseReducerDispatcher;
341
+ channelSource: GroupChannelListQuery;
342
+ }
343
+
344
+ interface RenderChannelPreviewProps {
345
+ channel: GroupChannel;
346
+ onLeaveChannel(
347
+ channel: GroupChannel,
348
+ onLeaveChannelCb?: (c: GroupChannel) => void,
349
+ );
350
+ }
351
+
352
+ interface ChannelListUIProps {
353
+ renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactNode;
354
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
355
+ renderHeader?: (props: void) => React.ReactNode;
356
+ renderPlaceHolderError?: (props: void) => React.ReactNode;
357
+ renderPlaceHolderLoading?: (props: void) => React.ReactNode;
358
+ renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
359
+ }
360
+
361
+ interface ChannelListProps extends ChannelListProviderInterface, ChannelListUIProps {}
362
+
363
+ interface ChannelListHeaderInterface {
364
+ renderHeader?: (props: void) => React.ReactNode;
365
+ renderIconButton?: (props: void) => React.ReactNode;
366
+ onEdit?: (props: void) => void;
367
+ allowProfileEdit?: boolean;
368
+ }
369
+
370
+ interface ChannelPreviewInterface {
371
+ channel: GroupChannel;
372
+ isActive?: boolean;
373
+ isTyping?: boolean;
374
+ onClick: () => void;
375
+ renderChannelAction: (props: { channel: GroupChannel }) => React.ReactNode;
376
+ tabIndex: number;
377
+ }
378
+
379
+ interface ChannelPreviewActionInterface {
380
+ disabled?: boolean;
381
+ onLeaveChannel?: () => void;
382
+ }
383
+
384
+ interface ChannelSettingsProviderInterface {
385
+ channelUrl: string;
386
+ onCloseClick?(): void;
387
+ onChannelModified?(channel: GroupChannel): void;
388
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;
389
+ queries?: ChannelSettingsQueries;
390
+ forceUpdateUI(): void;
391
+ channel: GroupChannel;
392
+ invalidChannel: boolean;
393
+ }
394
+
395
+ interface ChannelSettingsUIProps {
396
+ renderPlaceholderError?: () => React.ReactNode;
397
+ renderChannelProfile?: () => React.ReactNode;
398
+ renderModerationPanel?: () => React.ReactNode;
399
+ renderLeaveChannel?: () => React.ReactNode;
400
+ }
401
+
402
+ interface ApplicationUserListQuery {
403
+ limit?: number;
404
+ userIdsFilter?: Array<string>;
405
+ metaDataKeyFilter?: string;
406
+ metaDataValuesFilter?: Array<string>;
407
+ }
408
+
409
+ interface ChannelSettingsQueries {
410
+ applicationUserListQuery?: ApplicationUserListQuery;
411
+ }
412
+
413
+ type ChannelSettingsContextProps = {
414
+ children: React.ReactNode;
415
+ channelUrl: string;
416
+ className?: string;
417
+ onCloseClick?(): void;
418
+ onChannelModified?(channel: GroupChannel): void;
419
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;
420
+ queries?: ChannelSettingsQueries;
421
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
422
+ disableUserProfile?: boolean;
423
+ }
424
+
425
+ interface ChannelSettingsProps extends ChannelSettingsUIProps, ChannelSettingsContextProps {
426
+ }
427
+
428
+ type ChannelSettingsEditDetailsProps = {
429
+ onSubmit: () => void;
430
+ onCancel: () => void;
431
+ }
432
+
433
+ type CustomUser = User & {
434
+ isMuted: boolean;
435
+ role: string;
436
+ }
437
+
438
+ interface UserListItemActionProps {
439
+ actionRef: React.RefObject<HTMLInputElement>;
440
+ parentRef: React.RefObject<HTMLInputElement>;
441
+ }
442
+
443
+ interface UserListItemProps {
444
+ user: CustomUser;
445
+ currentUser?: string;
446
+ className?: string;
447
+ action?(props: UserListItemActionProps): React.ReactElement;
448
+ }
449
+
450
+ type LeaveChannelProps = {
451
+ onSubmit: () => void;
452
+ onCancel: () => void;
453
+ };
454
+
455
+ declare module '@sendbird/uikit-react' {
456
+ export type App = React.FunctionComponent<AppProps>;
457
+ export type SendBirdProvider = React.FunctionComponent<SendBirdProviderProps>;
458
+ export type sendbirdSelectors = sendbirdSelectorsInterface;
459
+ export type ChannelList = React.FunctionComponent<ChannelListProps>;
460
+ export type ChannelSettings = React.FunctionComponent<ChannelSettingsProps>;
461
+ export type Channel = React.FunctionComponent<ChannelProps>
462
+ export type OpenChannel = React.FunctionComponent<OpenChannelProps>
463
+ export type OpenChannelSettings = React.FunctionComponent<OpenChannelSettingsProps>
464
+ export type MessageSearch = React.FunctionComponent<MessageSearchProps>
465
+ export function withSendBird(
466
+ ChildComp: React.Component | React.ElementType,
467
+ mapStoreToProps?: (store: SendBirdState) => unknown
468
+ ): (props: unknown) => React.ReactNode;
469
+ export function useSendbirdStateContext(): SendBirdState;
470
+ }
471
+
472
+ declare module '@sendbird/uikit-react/App' {
473
+ type App = React.FunctionComponent<AppProps>;
474
+ export default App;
475
+ }
476
+
477
+ declare module '@sendbird/uikit-react/SendbirdProvider' {
478
+ type SendbirdProvider = React.FunctionComponent<SendBirdProviderProps>;
479
+ export default SendbirdProvider;
480
+ }
481
+
482
+ declare module '@sendbird/uikit-react/sendbirdSelectors' {
483
+ type sendbirdSelectors = sendbirdSelectorsInterface;
484
+ export default sendbirdSelectors;
485
+ }
486
+
487
+ declare module '@sendbird/uikit-react/useSendbirdStateContext' {
488
+ function useSendbirdStateContext(): SendBirdState;
489
+ export default useSendbirdStateContext;
490
+ }
491
+
492
+ declare module '@sendbird/uikit-react/withSendBird' {
493
+ function withSendBird(
494
+ ChildComp: React.Component | React.ElementType,
495
+ mapStoreToProps?: (store: SendBirdState) => unknown
496
+ ): (props: unknown) => React.ReactNode;
497
+ export default withSendBird;
498
+ }
499
+
500
+ declare module '@sendbird/uikit-react/ChannelList' {
501
+ type ChannelList = React.FunctionComponent<ChannelListProps>;
502
+ export default ChannelList;
503
+ }
504
+
505
+ declare module '@sendbird/uikit-react/ChannelList/context' {
506
+ export type ChannelListProvider = React.FunctionComponent<ChannelListProviderProps>;
507
+ export function useChannelListContext (): ChannelListProviderInterface;
508
+ }
509
+
510
+ declare module '@sendbird/uikit-react/ChannelList/components/AddChannel' {
511
+ type AddChannel = React.VoidFunctionComponent;
512
+ export default AddChannel;
513
+ }
514
+
515
+ declare module '@sendbird/uikit-react/ChannelList/components/ChannelListUI' {
516
+ type ChannelListUI = React.FunctionComponent<ChannelListUIProps>;
517
+ export default ChannelListUI;
518
+ }
519
+
520
+ declare module '@sendbird/uikit-react/ChannelList/components/ChannelListHeader' {
521
+ type ChannelListHeader = React.FunctionComponent<ChannelListUIProps>;
522
+ export default ChannelListHeader;
523
+ }
524
+
525
+ declare module '@sendbird/uikit-react/ChannelList/components/ChannelPreview' {
526
+ type ChannelPreview = React.FunctionComponent<ChannelPreviewInterface>;
527
+ export default ChannelPreview;
528
+ }
529
+
530
+ declare module '@sendbird/uikit-react/ChannelList/components/ChannelPreviewAction' {
531
+ type ChannelPreviewAction = React.FunctionComponent<ChannelPreviewActionInterface>;
532
+ export default ChannelPreviewAction;
533
+ }
534
+
535
+ declare module '@sendbird/uikit-react/ChannelSettings' {
536
+ type ChannelSettings = React.FunctionComponent<ChannelSettingsProps>;
537
+ export default ChannelSettings;
538
+ }
539
+
540
+ declare module '@sendbird/uikit-react/ChannelSettings/context' {
541
+ export type ChannelSettingsProvider = React.FC<ChannelSettingsContextProps>;
542
+ export type UseChannelSettingsType = () => ChannelSettingsProviderInterface;
543
+ }
544
+
545
+ declare module '@sendbird/uikit-react/ChannelSettings/components/AdminPanel' {
546
+ type AdminPanel = React.VoidFunctionComponent;
547
+ export default AdminPanel;
548
+ }
549
+
550
+ declare module '@sendbird/uikit-react/ChannelSettings/components/ChannelProfile' {
551
+ type ChannelProfile = React.VoidFunctionComponent;
552
+ export default ChannelProfile;
553
+ }
554
+
555
+ declare module '@sendbird/uikit-react/ChannelSettings/components/ChannelSettingsUI' {
556
+ type ChannelSettingsUI = React.FC<ChannelSettingsUIProps>;
557
+ export default ChannelSettingsUI;
558
+ }
559
+
560
+ declare module '@sendbird/uikit-react/ChannelSettings/components/EditDetailsModal' {
561
+ type EditDetailsModal = React.FC<ChannelSettingsEditDetailsProps>;
562
+ export default EditDetailsModal;
563
+ }
564
+
565
+ declare module '@sendbird/uikit-react/ChannelSettings/components/LeaveChannel' {
566
+ type LeaveChannel = React.FC<LeaveChannelProps>;
567
+ export default LeaveChannel;
568
+ }
569
+
570
+ declare module '@sendbird/uikit-react/ChannelSettings/components/UserListItem' {
571
+ type UserListItem = React.FC<UserListItemProps>;
572
+ export default UserListItem;
573
+ }
574
+
575
+ declare module '@sendbird/uikit-react/ChannelSettings/components/UserPanel' {
576
+ type UserPanel = React.FC<Record<string, unknown>>;
577
+ export default UserPanel;
578
+ }
579
+
580
+ /**
581
+ * Channel
582
+ */
583
+ interface RenderMessageProps {
584
+ message: EveryMessage;
585
+ chainTop: boolean;
586
+ chainBottom: boolean;
587
+ }
588
+
589
+ type ChannelQueries = {
590
+ messageListParams?: MessageListParams;
591
+ };
592
+
593
+ type ChannelContextProps = {
594
+ channelUrl: string;
595
+ children?: React.ReactNode;
596
+ isReactionEnabled?: boolean;
597
+ isMessageGroupingEnabled?: boolean;
598
+ showSearchIcon?: boolean;
599
+ highlightedMessage?: number;
600
+ startingPoint?: number;
601
+ onBeforeSendUserMessage?(text: string, quotedMessage?: UserMessage | FileMessage): UserMessageCreateParams;
602
+ onBeforeSendFileMessage?(file: File, quotedMessage?: UserMessage | FileMessage): FileMessageCreateParams;
603
+ onBeforeUpdateUserMessage?(text: string): UserMessageUpdateParams;
604
+ onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement>): void;
605
+ onSearchClick?(): void;
606
+ replyType?: ReplyType;
607
+ queries?: ChannelQueries;
608
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
609
+ disableUserProfile?: boolean;
610
+ };
611
+
612
+ interface ChannelUIProps {
613
+ renderPlaceholderLoader?: () => React.ReactNode;
614
+ renderPlaceholderInvalid?: () => React.ReactNode;
615
+ renderPlaceholderEmpty?: () => React.ReactNode;
616
+ renderChannelHeader?: () => React.ReactNode;
617
+ renderMessage?: (props: RenderMessageProps) => React.ComponentType;
618
+ renderMessageInput?: () => React.ReactNode;
619
+ renderTypingIndicator?: () => React.ReactNode;
620
+ renderCustomSeparator?: () => React.ReactNode;
621
+ }
622
+
623
+ type CoreMessageType = AdminMessage | UserMessage | FileMessage;
624
+
625
+ interface MessageStoreInterface {
626
+ allMessages: CoreMessageType[];
627
+ loading: boolean;
628
+ initialized: boolean;
629
+ unreadSince: string;
630
+ isInvalid: boolean;
631
+ currentGroupChannel: GroupChannel;
632
+ hasMorePrev: boolean;
633
+ oldestMessageTimeStamp: number;
634
+ hasMoreNext: boolean;
635
+ latestMessageTimeStamp: number;
636
+ emojiContainer: any;
637
+ readStatus: any;
638
+ }
639
+
640
+ interface ChannelProviderInterface extends ChannelContextProps, ChannelContextProps {
641
+ scrollToMessage?(createdAt: number, messageId: number): void;
642
+ messageActionTypes: Record<string ,string>;
643
+ quoteMessage: UserMessage | FileMessage;
644
+ setQuoteMessage: React.Dispatch<React.SetStateAction<UserMessage | FileMessage>>;
645
+ initialTimeStamp: number;
646
+ setInitialTimeStamp: React.Dispatch<React.SetStateAction<number>>;
647
+ animatedMessageId: number;
648
+ highLightedMessageId: number;
649
+ nicknamesMap: Map<string, string>;
650
+ scrollRef: React.MutableRefObject<HTMLDivElement>;
651
+ setAnimatedMessageId: React.Dispatch<React.SetStateAction<number>>;
652
+ setHighLightedMessageId: React.Dispatch<React.SetStateAction<number>>;
653
+ messageInputRef: React.MutableRefObject<HTMLInputElement>,
654
+ toggleReaction(message: UserMessage | FileMessage, emojiKey: string, isReacted: boolean): void,
655
+ }
656
+
657
+ type FileViewerProps = {
658
+ onCancel:() => void;
659
+ message: ClientFileMessage;
660
+ }
661
+
662
+ type MessageUIProps = {
663
+ message: EveryMessage;
664
+ hasSeparator?: boolean;
665
+ chainTop?: boolean;
666
+ chainBottom?: boolean;
667
+ handleScroll: () => void;
668
+ // for extending
669
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
670
+ renderCustomSeparator?: () => React.ReactNode;
671
+ renderEditInput?: () => React.ReactNode;
672
+ renderMessageContent?: () => React.ReactNode;
673
+ };
674
+
675
+ type MessageListProps = {
676
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
677
+ renderPlaceholderEmpty?: () => React.ReactNode;
678
+ renderCustomSeparator?: () => React.ReactNode;
679
+ };
680
+
681
+ type SuggestedMentionListProps = {
682
+ targetNickname: string;
683
+ memberListQuery?: Record<string, string>;
684
+ onUserItemClick?: (member: User) => void;
685
+ onFocusItemChange?: (member: User) => void;
686
+ onFetchUsers?: (users: Array<User>) => void;
687
+ renderUserMentionItem?: (props: { user: User }) => JSX.Element;
688
+ ableAddMention: boolean;
689
+ maxMentionCount?: number;
690
+ maxSuggestionCount?: number;
691
+ inputEvent?: React.KeyboardEvent<HTMLDivElement>;
692
+ };
693
+
694
+ type SuggestedUserMentionItemProps = {
695
+ member: User;
696
+ isFocused?: boolean;
697
+ onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
698
+ onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
699
+ renderUserMentionItem?: (props: { user: User }) => JSX.Element;
700
+ };
701
+
702
+ interface UnreadCountProps {
703
+ count: number;
704
+ time: string;
705
+ onClick(): void;
706
+ }
707
+
708
+ interface ChannelProps extends ChannelContextProps, ChannelUIProps {
709
+ }
710
+
711
+ interface RemoveMessageProps {
712
+ onCancel: () => void;
713
+ message: EveryMessage;
714
+ }
715
+
716
+ interface SendbirdUIKitUIEvent<> {
717
+ event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.KeyboardEvent<HTMLDivElement>;
718
+ }
719
+ export interface MentionItemUIEvent extends SendbirdUIKitUIEvent {
720
+ member: Member;
721
+ itemRef: React.RefObject<HTMLDivElement>;
722
+ }
723
+
724
+ declare module '@sendbird/uikit-react/Channel' {
725
+ type Channel = React.FC<ChannelProps>;
726
+ export default Channel;
727
+ }
728
+
729
+ declare module '@sendbird/uikit-react/Channel/context' {
730
+ export type ChannelProvider = React.FunctionComponent<ChannelContextProps>;
731
+ export function useChannelContext(): ChannelProviderInterface;
732
+ }
733
+
734
+ declare module '@sendbird/uikit-react/Channel/components/ChannelHeader' {
735
+ type ChannelHeader = React.VoidFunctionComponent;
736
+ export default ChannelHeader;
737
+ }
738
+
739
+ declare module '@sendbird/uikit-react/Channel/components/ChannelUI' {
740
+ type ChannelUI = React.FunctionComponent<ChannelUIProps>;
741
+ export default ChannelUI;
742
+ }
743
+
744
+ declare module '@sendbird/uikit-react/Channel/components/FileViewer' {
745
+ type FileViewer = React.FunctionComponent<FileViewerProps>;
746
+ export default FileViewer;
747
+ }
748
+
749
+ declare module '@sendbird/uikit-react/Channel/components/FrozenNotification' {
750
+ type FrozenNotification = React.VoidFunctionComponent;
751
+ export default FrozenNotification;
752
+ }
753
+
754
+ declare module '@sendbird/uikit-react/Channel/components/Message' {
755
+ type Message = React.FunctionComponent<MessageUIProps>;
756
+ export default Message;
757
+ }
758
+
759
+ declare module '@sendbird/uikit-react/Channel/components/MessageInput' {
760
+ type MessageInput = React.VoidFunctionComponent;
761
+ export default MessageInput;
762
+ }
763
+
764
+ declare module '@sendbird/uikit-react/Channel/components/MessageList' {
765
+ type MessageList = React.FunctionComponent<MessageListProps>;
766
+ export default MessageList;
767
+ }
768
+
769
+ declare module '@sendbird/uikit-react/Channel/components/SuggestedMentionList' {
770
+ type SuggestedMentionList = React.FunctionComponent<SuggestedMentionListProps>;
771
+ export default SuggestedMentionList;
772
+ }
773
+
774
+ declare module '@sendbird/uikit-react/Channel/components/RemoveMessageModal' {
775
+ type RemoveMessageModal = React.FunctionComponent<RemoveMessageProps>;
776
+ export default RemoveMessageModal;
777
+ }
778
+
779
+ declare module '@sendbird/uikit-react/Channel/components/TypingIndicator' {
780
+ type TypingIndicator = React.VoidFunctionComponent;
781
+ export default TypingIndicator;
782
+ }
783
+
784
+ declare module '@sendbird/uikit-react/Channel/components/UnreadCount' {
785
+ type UnreadCount = React.FunctionComponent<UnreadCountProps>;
786
+ export default UnreadCount;
787
+ }
788
+
789
+ type OpenChannelQueries = {
790
+ // https://sendbird.github.io/core-sdk-javascript/module-model_params_messageListParams-MessageListParams.html
791
+ messageListParams?: {
792
+ replyType?: string,
793
+ messageType?: string,
794
+ prevResultSize?: number,
795
+ nextResultSize?: number,
796
+ reverse?: boolean,
797
+ isInclusive?: boolean,
798
+ includeMetaArray?: boolean,
799
+ // UIKit doesn't support emoji reaction in OpenChannel
800
+ // includeReactions?: boolean,
801
+ // UIKit doesn't support message threading in OpenChannel
802
+ // includeThreadInfo?: boolean,
803
+ includePollDetails?: boolean,
804
+ includeParentMessageInfo?: boolean,
805
+ showSubchannelMessagesOnly?: boolean,
806
+ customTypes?: Array<string>,
807
+ senderUserIds?: Array<string>,
808
+ },
809
+ };
810
+
811
+ interface OpenChannelProviderProps {
812
+ channelUrl: string;
813
+ children?: React.ReactNode;
814
+ isMessageGroupingEnabled?: boolean;
815
+ queries?: OpenChannelQueries;
816
+ messageLimit?: number;
817
+ onBeforeSendUserMessage?(text: string): UserMessageCreateParams;
818
+ onBeforeSendFileMessage?(file_: File): FileMessageCreateParams;
819
+ onChatHeaderActionClick?(): void;
820
+ disableUserProfile?: boolean;
821
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
822
+ }
823
+
824
+ interface OpenChannelMessagesState {
825
+ allMessages: Array<EveryMessage>;
826
+ loading: boolean;
827
+ initialized: boolean;
828
+ currentOpenChannel: OpenChannel;
829
+ isInvalid: boolean;
830
+ hasMore: boolean;
831
+ lastMessageTimestamp: number;
832
+ frozen: boolean;
833
+ operators: Array<User>;
834
+ participants: Array<User>;
835
+ bannedParticipantIds: Array<string>;
836
+ mutedParticipantIds: Array<string>;
837
+ }
838
+
839
+ interface OpenChannelInterface extends OpenChannelProviderProps, OpenChannelMessagesState {
840
+ // derived/utils
841
+ messageInputRef: React.RefObject<HTMLInputElement>;
842
+ conversationScrollRef: React.RefObject<HTMLDivElement>;
843
+ disabled: boolean;
844
+ amIBanned: boolean;
845
+ amIMuted: boolean;
846
+ amIOperator: boolean;
847
+ fetchMore: boolean;
848
+ checkScrollBottom: () => boolean;
849
+ onScroll: (callback: () => void) => void;
850
+ }
851
+
852
+ interface OpenChannelUIProps {
853
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
854
+ renderHeader?: () => React.ReactNode;
855
+ renderInput?: () => React.ReactNode;
856
+ renderPlaceHolderEmptyList?: () => React.ReactNode;
857
+ renderPlaceHolderError?: () => React.ReactNode;
858
+ renderPlaceHolderLoading?: () => React.ReactNode;
859
+ }
860
+
861
+ interface OpenChannelProps extends OpenChannelProviderProps, OpenChannelUIProps {
862
+ }
863
+
864
+ type OpenchannelMessageListProps = {
865
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
866
+ renderPlaceHolderEmptyList?: () => React.ReactNode;
867
+ }
868
+
869
+ type OpenChannelMessageProps = {
870
+ renderMessage?: (props: RenderMessageProps) => React.ReactNode;
871
+ message: EveryMessage;
872
+ chainTop?: boolean;
873
+ chainBottom?: boolean;
874
+ hasSeparator?: boolean;
875
+ editDisabled?: boolean;
876
+ };
877
+
878
+ declare module '@sendbird/uikit-react/OpenChannel' {
879
+ type OpenChannel = React.FC<OpenChannelProps>;
880
+ export default OpenChannel;
881
+ }
882
+
883
+ declare module '@sendbird/uikit-react/OpenChannel/context' {
884
+ export type OpenChannelProvider = React.FunctionComponent<OpenChannelProviderProps>;
885
+ export function useOpenChannelContext(): OpenChannelInterface;
886
+ }
887
+
888
+ declare module '@sendbird/uikit-react/OpenChannel/components/FrozenChannelNotification' {
889
+ type FrozenChannelNotification = React.FC<Record<string, unknown>>;
890
+ export default FrozenChannelNotification;
891
+ }
892
+
893
+ declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelHeader' {
894
+ type OpenChannelHeader = React.FC<Record<string, unknown>>;
895
+ export default OpenChannelHeader;
896
+ }
897
+
898
+ declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelInput' {
899
+ type OpenChannelInput = React.FC<Record<string, unknown>>;
900
+ export default OpenChannelInput;
901
+
902
+ }
903
+
904
+ declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelMessage' {
905
+ type OpenChannelMessage = React.FC<OpenChannelMessageProps>;
906
+ export default OpenChannelMessage;
907
+
908
+ }
909
+
910
+ declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelMessageList' {
911
+ type OpenChannelMessageList = React.FC<OpenchannelMessageListProps>;
912
+ export default OpenChannelMessageList;
913
+ }
914
+
915
+ declare module '@sendbird/uikit-react/OpenChannel/components/OpenChannelUI' {
916
+ type OpenChannelUI = React.FC<OpenChannelUIProps>;
917
+ export default OpenChannelUI;
918
+ }
919
+
920
+ interface OpenChannelSettingsContextProps {
921
+ channelUrl: string;
922
+ children?: React.ReactNode;
923
+ onCloseClick?(): void;
924
+ onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;
925
+ onChannelModified?(channel: OpenChannel): void;
926
+ onDeleteChannel?(channel: OpenChannel): void;
927
+ disableUserProfile?: boolean;
928
+ renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
929
+ }
930
+
931
+ interface OpenChannelSettingsUIProps {
932
+ renderOperatorUI?: () => React.ReactNode;
933
+ renderParticipantList?: () => React.ReactNode;
934
+ }
935
+
936
+ interface OpenChannelSettingsProps extends OpenChannelSettingsContextProps, OpenChannelSettingsUIProps {
937
+ }
938
+
939
+ interface OpenChannelSettingsContextType extends OpenChannelSettingsContextProps {
940
+ channelUrl: string;
941
+ channel?: OpenChannel;
942
+ setChannel?: React.Dispatch<React.SetStateAction<OpenChannel>>;
943
+ }
944
+
945
+ interface OperatorUIProps {
946
+ renderChannelProfile?: () => React.ReactNode;
947
+ }
948
+
949
+ interface OpenChannelEditDetailsProps {
950
+ onCancel(): void;
951
+ }
952
+
953
+ declare module '@sendbird/uikit-react/OpenChannelSettings' {
954
+ type OpenChannelSettings = React.FC<OpenChannelSettingsProps>;
955
+ export default OpenChannelSettings;
956
+ }
957
+
958
+ declare module '@sendbird/uikit-react/OpenChannelSettings/context' {
959
+ export type useOpenChannelSettings = () => OpenChannelSettingsContextType;
960
+ export type OpenChannelSettingsProvider = React.FC<OpenChannelSettingsContextProps>;
961
+ }
962
+
963
+ declare module '@sendbird/uikit-react/OpenChannelSettings/components/EditDetailsModal' {
964
+ type EditDetailsModal = React.FC<OpenChannelEditDetailsProps>;
965
+ export default EditDetailsModal;
966
+ }
967
+
968
+ declare module '@sendbird/uikit-react/OpenChannelSettings/components/OpenChannelSettingsUI' {
969
+ type OpenChannelSettingsUI = React.FC<OpenChannelSettingsUIProps>;
970
+ export default OpenChannelSettingsUI;
971
+ }
972
+
973
+ declare module '@sendbird/uikit-react/OpenChannelSettings/components/OperatorUI' {
974
+ type OperatorUI = React.FC<OperatorUIProps>;
975
+ export default OperatorUI;
976
+ }
977
+
978
+ declare module '@sendbird/uikit-react/OpenChannelSettings/components/ParticipantUI' {
979
+ type ParticipantUI = React.FC<Record<string, unknown>>;
980
+ export default ParticipantUI;
981
+ }
982
+
983
+ export interface MessageSearchProviderProps {
984
+ channelUrl: string;
985
+ children?: React.ReactNode;
986
+ searchString?: string;
987
+ requestString?: string;
988
+ messageSearchQuery?: MessageSearchQuery;
989
+ onResultLoaded?(messages?: Array<ClientSentMessages>, error?: SendbirdError): void;
990
+ onResultClick?(message: ClientSentMessages): void;
991
+ }
992
+
993
+ type MessageSearchScrollCallbackReturn = (
994
+ callback: (
995
+ messages: Array<UserMessage | FileMessage | AdminMessage>,
996
+ /* eslint-disable @typescript-eslint/no-explicit-any*/
997
+ error: any,
998
+ ) => void
999
+ ) => void;
1000
+
1001
+ interface MessageSearchProviderInterface extends MessageSearchProviderProps {
1002
+ retryCount: number;
1003
+ setRetryCount: React.Dispatch<React.SetStateAction<number>>;
1004
+ selectedMessageId: number;
1005
+ setSelectedMessageId: React.Dispatch<React.SetStateAction<number>>;
1006
+ messageSearchDispatcher: ({ type: string, payload: any }) => void;
1007
+ scrollRef: React.MutableRefObject<HTMLDivElement>;
1008
+ allMessages: Array<ClientFileMessage | ClientUserMessage>;
1009
+ loading: boolean;
1010
+ isInvalid: boolean;
1011
+ currentChannel: GroupChannel;
1012
+ currentMessageSearchQuery: MessageSearchQuery;
1013
+ hasMoreResult: boolean;
1014
+ onScroll: MessageSearchScrollCallbackReturn;
1015
+ handleRetryToConnect: () => void;
1016
+ handleOnScroll: (e: React.BaseSyntheticEvent) => void;
1017
+ }
1018
+
1019
+ interface MessageSearchUIProps {
1020
+ renderPlaceHolderError?: (props: void) => React.ReactNode;
1021
+ renderPlaceHolderLoading?: (props: void) => React.ReactNode;
1022
+ renderPlaceHolderNoString?: (props: void) => React.ReactNode;
1023
+ renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;
1024
+ renderSearchItem?(
1025
+ {
1026
+ message,
1027
+ onResultClick,
1028
+ }: {
1029
+ message: ClientSentMessages,
1030
+ onResultClick?: (message: ClientSentMessages) => void,
1031
+ }
1032
+ ): JSX.Element;
1033
+ }
1034
+
1035
+ interface MessageSearchProps extends MessageSearchUIProps, MessageSearchProviderProps {}
1036
+
1037
+ declare module '@sendbird/uikit-react/MessageSearch' {
1038
+ type MessageSearch = React.FC<MessageSearchProps>;
1039
+ export default MessageSearch;
1040
+ }
1041
+
1042
+ declare module '@sendbird/uikit-react/MessageSearch/context' {
1043
+ export type MessageSearchProvider = React.FC<MessageSearchProviderProps>;
1044
+ export type useMessageSearchContext = () => MessageSearchProviderInterface;
1045
+ }
1046
+
1047
+ declare module '@sendbird/uikit-react/MessageSearch/components/MessageSearchUI' {
1048
+ type MessageSearchUI = React.FC<MessageSearchUIProps>;
1049
+ export default MessageSearchUI;
1050
+ }
1051
+
1052
+ interface CreateChannelProviderProps {
1053
+ children?: React.ReactNode;
1054
+ onCreateChannel(channel: GroupChannel): void;
1055
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
1056
+ userListQuery?(): UserListQuery;
1057
+ }
1058
+
1059
+
1060
+ interface CreateChannelContextInterface {
1061
+ onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;
1062
+ createChannel: (channelParams: GroupChannelCreateParams) => Promise<GroupChannel>;
1063
+ sdk: SendbirdChat;
1064
+ userListQuery?(): UserListQuery;
1065
+ onCreateChannel?(channel: GroupChannel): void;
1066
+ step: number,
1067
+ setStep: React.Dispatch<React.SetStateAction<number>>,
1068
+ type: 'group' | 'supergroup' | 'broadcast',
1069
+ setType: React.Dispatch<React.SetStateAction<'group' | 'supergroup' | 'broadcast'>>,
1070
+ }
1071
+
1072
+ interface CreateChannelUIProps {
1073
+ onCancel?(): void;
1074
+ renderStepOne?:(props: void) => React.ReactNode;
1075
+ }
1076
+
1077
+ interface CreateChannelProps extends CreateChannelProviderProps, CreateChannelUIProps {}
1078
+
1079
+ interface InviteUsersProps {
1080
+ onCancel?: () => void;
1081
+ }
1082
+
1083
+ interface SelectChannelTypeProps {
1084
+ onCancel?(): void;
1085
+ }
1086
+
1087
+ declare module '@sendbird/uikit-react/CreateChannel' {
1088
+ type CreateChannel = React.FC<CreateChannelProps>;
1089
+ export default CreateChannel;
1090
+ }
1091
+
1092
+ declare module '@sendbird/uikit-react/CreateChannel/context' {
1093
+ export type CreateChannelProvider = React.FC<CreateChannelProviderProps>;
1094
+ export function useCreateChannelContext (): CreateChannelContextInterface;
1095
+ }
1096
+
1097
+ declare module '@sendbird/uikit-react/CreateChannel/components/CreateChannelUI' {
1098
+ type CreateChannelUI = React.FC<CreateChannelUIProps>;
1099
+ export default CreateChannelUI;
1100
+ }
1101
+
1102
+ declare module '@sendbird/uikit-react/CreateChannel/components/InviteUsers' {
1103
+ type InviteUsers = React.FC<InviteUsersProps>;
1104
+ export default InviteUsers;
1105
+ }
1106
+
1107
+ declare module '@sendbird/uikit-react/CreateChannel/components/SelectChannelType' {
1108
+ type SelectChannelType = React.FC<SelectChannelTypeProps>;
1109
+ export default SelectChannelType;
1110
+ }
1111
+
1112
+ interface EditUserProfileProps {
1113
+ children?: React.ReactNode;
1114
+ onCancel?(): void;
1115
+ onThemeChange?(theme: string): void;
1116
+ onEditProfile?(updatedUser: User): void;
1117
+ }
1118
+
1119
+ interface EditUserProfileProviderInterface {
1120
+ onCancel?(): void;
1121
+ onThemeChange?(theme: string): void;
1122
+ onEditProfile?(updatedUser: User): void;
1123
+ }
1124
+
1125
+ declare module '@sendbird/uikit-react/EditUserProfile' {
1126
+ type EditProfile = React.FC<EditUserProfileProps>;
1127
+ export default EditProfile;
1128
+ }
1129
+
1130
+ declare module '@sendbird/uikit-react/EditUserProfile/context' {
1131
+ export type EditUserProfileProvider = React.FC<EditUserProfileProps>;
1132
+ export function useEditUserProfileContext (): EditUserProfileProviderInterface;
1133
+ }
1134
+
1135
+ declare module '@sendbird/uikit-react/EditUserProfile/components/EditUserProfileUI' {
1136
+ type EditUserProfileUI = React.FC<Record<string, unknown>>;
1137
+ export default EditUserProfileUI;
1138
+ }
1139
+
1140
+ declare module '@sendbird/uikit-react/ui/Accordion' {
1141
+ interface AccordionProps {
1142
+ className?: string | Array<string>;
1143
+ id: string;
1144
+ renderTitle(): React.ReactElement;
1145
+ renderContent(): React.ReactElement;
1146
+ renderFooter?(): React.ReactElement;
1147
+ }
1148
+ type Accordion = React.FC<AccordionProps>;
1149
+ export default Accordion;
1150
+ }
1151
+
1152
+ declare module '@sendbird/uikit-react/ui/AccordionGroup' {
1153
+ interface AccordionTypeProps {
1154
+ children: Array<React.ReactElement> | React.ReactElement;
1155
+ defaultOpened?: string;
1156
+ className?: string;
1157
+ }
1158
+ type AccordionGroup = React.FC<AccordionTypeProps>;
1159
+ export default AccordionGroup;
1160
+ }
1161
+
1162
+ declare module '@sendbird/uikit-react/ui/AdminMessage' {
1163
+ interface AdminMessageProps {
1164
+ className?: string,
1165
+ message: AdminMessage,
1166
+ }
1167
+ type AdminMessage = React.FC<AdminMessageProps>;
1168
+ export default AdminMessage;
1169
+ }
1170
+
1171
+ declare module '@sendbird/uikit-react/ui/Avatar' {
1172
+ interface AvatarProps {
1173
+ className?: string | Array<string>,
1174
+ height?: string | number,
1175
+ width?: string | number,
1176
+ src?: string | Array<string>,
1177
+ alt?: string,
1178
+ onClick?(): void,
1179
+ customDefaultComponent?({ width, height }: { width: number | string, height: number | string }): ReactElement;
1180
+ }
1181
+ type Avatar = React.FC<AvatarProps>;
1182
+ export default Avatar;
1183
+ }
1184
+
1185
+ declare module '@sendbird/uikit-react/ui/MutedAvatarOverlay' {
1186
+ interface MutedAvatarOverlayProps {
1187
+ height?: number;
1188
+ width?: number;
1189
+ }
1190
+ type MutedAvatarOverlay = React.FC<MutedAvatarOverlayProps>;
1191
+ export default MutedAvatarOverlay;
1192
+ }
1193
+
1194
+ declare module '@sendbird/uikit-react/ui/Badge' {
1195
+ interface BadgeProps {
1196
+ count: number,
1197
+ maxLevel?: number,
1198
+ className?: string | string [],
1199
+ }
1200
+ type Badge = React.FC<BadgeProps>;
1201
+ export default Badge;
1202
+ }
1203
+
1204
+ declare module '@sendbird/uikit-react/ui/Button' {
1205
+ interface ButtonProps {
1206
+ className?: string | string[];
1207
+ type?: 'PRIMARY' | 'SECONDARY' | 'DANGER' | 'DISABLED';
1208
+ size?: 'BIG' | 'SMALL';
1209
+ children?: string | React.ReactElement;
1210
+ disabled?: boolean;
1211
+ onClick?: () => void;
1212
+ }
1213
+ type Button = React.FC<ButtonProps>;
1214
+ export default Button;
1215
+ }
1216
+
1217
+ declare module '@sendbird/uikit-react/ui/ChannelAvatar' {
1218
+ interface ChannelAvatarProps {
1219
+ channel: GroupChannel;
1220
+ userId: string;
1221
+ theme: string;
1222
+ width?: number,
1223
+ height?: number,
1224
+ }
1225
+ type ChannelAvatar = React.FC<ChannelAvatarProps>;
1226
+ export default ChannelAvatar;
1227
+ }
1228
+
1229
+ declare module '@sendbird/uikit-react/ui/OpenChannelAvatar' {
1230
+ interface OpenChannelAvatarProps {
1231
+ channel: OpenChannel;
1232
+ theme: string;
1233
+ height?: number;
1234
+ width?: number;
1235
+ }
1236
+ type OpenChannelAvatar = React.FC<OpenChannelAvatarProps>;
1237
+ export default OpenChannelAvatar;
1238
+ }
1239
+
1240
+ declare module '@sendbird/uikit-react/ui/ChannelPreview' {
1241
+ interface ChannelPreviewProps {
1242
+ channel?: GroupChannel,
1243
+ currentUser?: User,
1244
+ isActive?: boolean,
1245
+ ChannelAction: React.ReactElement,
1246
+ theme?: 'light' | 'dark',
1247
+ onClick?: () => void,
1248
+ tabIndex?: number,
1249
+ }
1250
+ type ChannelPreview = React.FC<ChannelPreviewProps>;
1251
+ export default ChannelPreview;
1252
+ }
1253
+
1254
+ declare module '@sendbird/uikit-react/ui/ChatHeader' {
1255
+ interface ChatHeaderProps {
1256
+ currentGroupChannel?: GroupChannel;
1257
+ currentUser?: User;
1258
+ title?: string;
1259
+ subTitle?: string;
1260
+ isMuted?: boolean;
1261
+ theme?: 'light' | 'dark';
1262
+ showSearchIcon?: false;
1263
+ onSearchClick?: () => void;
1264
+ onActionClick?: () => void;
1265
+ }
1266
+ type ChatHeader = React.FC<ChatHeaderProps>;
1267
+ export default ChatHeader;
1268
+ }
1269
+
1270
+ declare module '@sendbird/uikit-react/ui/Checkbox' {
1271
+ interface CheckboxProps {
1272
+ id?: string,
1273
+ checked?: boolean,
1274
+ onChange?: () => void,
1275
+ }
1276
+ type Checkbox = React.FC<CheckboxProps>;
1277
+ export default Checkbox;
1278
+ }
1279
+
1280
+ declare module '@sendbird/uikit-react/ui/ConnectionStatus' {
1281
+ type ConnectionStatus = React.VoidFunctionComponent;
1282
+ export default ConnectionStatus;
1283
+ }
1284
+
1285
+ declare module '@sendbird/uikit-react/ui/ContextMenu' {
1286
+ interface ContextMenuProps {
1287
+ menuTrigger: () => void;
1288
+ menuItems: () => void;
1289
+ }
1290
+ type ContextMenu = React.FC<ContextMenuProps>;
1291
+ export default ContextMenu;
1292
+ }
1293
+
1294
+ declare module '@sendbird/uikit-react/ui/DateSeparator' {
1295
+ enum COLORS {
1296
+ ONBACKGROUND_1 ='ONBACKGROUND_1',
1297
+ ONBACKGROUND_2 ='ONBACKGROUND_2',
1298
+ ONBACKGROUND_3 ='ONBACKGROUND_3',
1299
+ ONBACKGROUND_4 ='ONBACKGROUND_4',
1300
+ ONCONTENT_1 ='ONCONTENT_1',
1301
+ ONCONTENT_2 ='ONCONTENT_2',
1302
+ PRIMARY ='PRIMARY',
1303
+ ERROR ='ERROR',
1304
+ SECONDARY_3 ='SECONDARY_3',
1305
+ }
1306
+ interface DateSeparatorProps {
1307
+ className?: string | string[];
1308
+ children?: string | React.ReactElement,
1309
+ separatorColor: COLORS,
1310
+ }
1311
+ type DateSeparator = React.FC<DateSeparatorProps>;
1312
+ export default DateSeparator;
1313
+ }
1314
+
1315
+ declare module '@sendbird/uikit-react/ui/Dropdown' {
1316
+ interface DropdownProps {
1317
+ renderButton: () => React.ReactElement,
1318
+ renderItems: () => React.ReactElement,
1319
+ }
1320
+ type Dropdown = React.FC<DropdownProps>;
1321
+ export default Dropdown;
1322
+ }
1323
+
1324
+ declare module '@sendbird/uikit-react/ui/EmojiReactions' {
1325
+ interface EmojiContainer {
1326
+ emojiCategories: Array<EmojiCategory>;
1327
+ emojiHash: string;
1328
+ }
1329
+ interface EmojiReactionsProps {
1330
+ className?: string | Array<string>;
1331
+ userId: string;
1332
+ message: UserMessage | FileMessage;
1333
+ emojiContainer: EmojiContainer;
1334
+ memberNicknamesMap: Map<string, string>;
1335
+ spaceFromTrigger?: Record<string, unknown>;
1336
+ isByMe?: boolean;
1337
+ toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;
1338
+ }
1339
+ type EmojiReactions = React.FC<EmojiReactionsProps>;
1340
+ export default EmojiReactions;
1341
+
1342
+ }
1343
+
1344
+ declare module '@sendbird/uikit-react/ui/FileMessageItemBody' {
1345
+ interface FileMessageItemBodyProps {
1346
+ className?: string | Array<string>;
1347
+ message: FileMessage;
1348
+ isByMe?: boolean;
1349
+ mouseHover?: boolean;
1350
+ }
1351
+ type FileMessageItemBody = React.FC<FileMessageItemBodyProps>;
1352
+ export default FileMessageItemBody;
1353
+
1354
+ }
1355
+
1356
+ declare module '@sendbird/uikit-react/ui/FileViewer' {
1357
+ interface FileViewerBodyProps {
1358
+ message: FileMessage;
1359
+ isByMe?: boolean;
1360
+ onClose?: () => void,
1361
+ onDelete?: () => void,
1362
+ }
1363
+ type FileViewerBody = React.FC<FileViewerBodyProps>;
1364
+ export default FileViewerBody;
1365
+ }
1366
+
1367
+ declare module '@sendbird/uikit-react/ui/Icon' {
1368
+ interface IconProps {
1369
+ className?: string,
1370
+ children?: string | React.ReactElement,
1371
+ fillColor?: string,
1372
+ width?: number,
1373
+ height?: number,
1374
+ onClick?: () => void,
1375
+ }
1376
+ type Icon = React.FC<IconProps>;
1377
+ export default Icon;
1378
+ }
1379
+
1380
+ declare module '@sendbird/uikit-react/ui/IconButton' {
1381
+ interface IconButtonProps {
1382
+ className?: string | string[],
1383
+ children?: string | React.ReactElement,
1384
+ disabled?: boolean,
1385
+ width?: number,
1386
+ height?: number,
1387
+ type: string,
1388
+ onClick?: () => void,
1389
+ onBlur?: () => void,
1390
+ }
1391
+ type IconButton = React.FC<IconButtonProps>;
1392
+ export default IconButton;
1393
+ }
1394
+
1395
+ declare module '@sendbird/uikit-react/ui/ImageRenderer' {
1396
+ interface ImageRendererProps {
1397
+ className?: string | string[],
1398
+ defaultComponent?: () => React.ReactElement,
1399
+ placeHolder?: () => React.ReactElement,
1400
+ alt?: string,
1401
+ width?: number,
1402
+ height?: number,
1403
+ fixedSize?: boolean,
1404
+ circle?: boolean,
1405
+ onLoad?: () => void,
1406
+ onError?: () => void,
1407
+ }
1408
+ type ImageRenderer = React.FC<ImageRendererProps>;
1409
+ export default ImageRenderer;
1410
+ }
1411
+
1412
+ declare module '@sendbird/uikit-react/ui/Input' {
1413
+ interface InputProps {
1414
+ name: string,
1415
+ required?: boolean,
1416
+ disabled?: boolean,
1417
+ placeHolder?: string,
1418
+ value?: string,
1419
+ }
1420
+ type Input = React.FC<InputProps>;
1421
+ export default Input;
1422
+ }
1423
+
1424
+ declare module '@sendbird/uikit-react/ui/Label' {
1425
+ interface LabelProps {
1426
+ className: string[],
1427
+ type: string,
1428
+ color: string,
1429
+ children: React.ReactElement,
1430
+ }
1431
+ type Label = React.FC<LabelProps>;
1432
+ export default Label;
1433
+ }
1434
+
1435
+ declare module '@sendbird/uikit-react/ui/LinkLabel' {
1436
+ interface LinkLabelProps {
1437
+ className?: string[],
1438
+ src: string,
1439
+ type?: string,
1440
+ color?: string,
1441
+ children: React.ReactElement | string,
1442
+ }
1443
+ type LinkLabel = React.FC<LinkLabelProps>;
1444
+ export default LinkLabel;
1445
+ }
1446
+
1447
+ declare module '@sendbird/uikit-react/ui/Loader' {
1448
+ interface LoaderProps {
1449
+ className?: string[],
1450
+ width?: number,
1451
+ height?: number,
1452
+ children: React.ReactElement | string,
1453
+ }
1454
+ type Loader = React.FC<LoaderProps>;
1455
+ export default Loader;
1456
+ }
1457
+
1458
+ declare module '@sendbird/uikit-react/ui/MentionUserLabel' {
1459
+ interface MentionUserLabelProps {
1460
+ className?: string
1461
+ children?: string;
1462
+ isReverse?: boolean;
1463
+ color?: string;
1464
+ userId?: string;
1465
+ }
1466
+ type MentionUserLabel = React.FC<MentionUserLabelProps>;
1467
+ export default MentionUserLabel;
1468
+ }
1469
+
1470
+ declare module '@sendbird/uikit-react/ui/MessageContent' {
1471
+ interface MessageContentProps {
1472
+ className?: string | Array<string>;
1473
+ userId: string;
1474
+ channel: GroupChannel;
1475
+ message: CoreMessageType;
1476
+ disabled?: boolean;
1477
+ chainTop?: boolean;
1478
+ chainBottom?: boolean;
1479
+ isReactionEnabled?: boolean;
1480
+ replyType?: ReplyType;
1481
+ nicknamesMap?: Map<string, string>;
1482
+ emojiContainer?: EmojiContainer;
1483
+ scrollToMessage?: (createdAt: number, messageId: number) => void;
1484
+ showEdit?: (bool: boolean) => void;
1485
+ showRemove?: (bool: boolean) => void;
1486
+ showFileViewer?: (bool: boolean) => void;
1487
+ resendMessage?: (message: UserMessage | FileMessage) => void;
1488
+ toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;
1489
+ setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1490
+ }
1491
+ type MessageContent = React.FC<MessageContentProps>;
1492
+ export default MessageContent;
1493
+ }
1494
+
1495
+ declare module '@sendbird/uikit-react/ui/MessageInput' {
1496
+ interface MessageInputProps {
1497
+ className?: string[],
1498
+ isEdit?: boolean,
1499
+ isMentionEnabled?: boolean;
1500
+ disabled?: boolean,
1501
+ message?: UserMessage;
1502
+ placeholder?: string,
1503
+ maxLength?: number,
1504
+ onFileUpload?: (file: File) => void,
1505
+ onSendMessage?: (props: { message: string, mentionTemplate?: string }) => void,
1506
+ onUpdateMessage?: (props: { messageId: number, message: string, mentionTemplate?: string }) => void,
1507
+ onCancelEdit?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void,
1508
+ onStartTyping?: () => void,
1509
+ channelUrl: string,
1510
+ mentionSelectedUser?: Array<User>,
1511
+ onUserMentioned?: (user: User) => void,
1512
+ onMentionStringChange?: (str: string) => void,
1513
+ onMentionedUserIdsUpdated?: (userIds: Array<string>) => void,
1514
+ onKeyUp?: (e: React.KeyboardEvent<HTMLDivElement>) => void,
1515
+ onKeyDown?: (e: React.KeyboardEvent<HTMLDivElement>) => void,
1516
+ }
1517
+ type MessageInput = React.FC<MessageInputProps>;
1518
+ export default MessageInput;
1519
+
1520
+ }
1521
+
1522
+ declare module '@sendbird/uikit-react/ui/MessageItemMenu' {
1523
+ interface MessageItemMenuProps {
1524
+ className?: string | Array<string>;
1525
+ message: UserMessage | FileMessage;
1526
+ channel: GroupChannel | OpenChannel;
1527
+ isByMe?: boolean;
1528
+ disabled?: boolean;
1529
+ replyType?: ReplyType;
1530
+ showEdit?: (bool: boolean) => void;
1531
+ showRemove?: (bool: boolean) => void;
1532
+ resendMessage?: (message: UserMessage | FileMessage) => void;
1533
+ setQuoteMessage?: (message: UserMessage | FileMessage) => void;
1534
+ setSupposedHover?: (bool: boolean) => void;
1535
+ }
1536
+ type MessageItemMenu = React.FC<MessageItemMenuProps>;
1537
+ export default MessageItemMenu;
1538
+
1539
+ }
1540
+
1541
+ declare module '@sendbird/uikit-react/ui/MessageItemReactionMenu' {
1542
+ interface MessageItemReactionMenuProps {
1543
+ className?: string | Array<string>;
1544
+ message: UserMessage | FileMessage;
1545
+ userId: string;
1546
+ spaceFromTrigger?: Record<string, unknown>;
1547
+ emojiContainer?: EmojiContainer;
1548
+ toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;
1549
+ setSupposedHover?: (bool: boolean) => void;
1550
+ }
1551
+ type MessageItemReactionMenu = React.FC<MessageItemReactionMenuProps>;
1552
+ export default MessageItemReactionMenu;
1553
+ }
1554
+
1555
+ declare module '@sendbird/uikit-react/ui/MessageSearchFileItem' {
1556
+ interface MessageSearchFileItemProps {
1557
+ className?: string | Array<string>;
1558
+ message: ClientFileMessage;
1559
+ selected?: boolean;
1560
+ onClick?: (message: ClientFileMessage) => void;
1561
+ }
1562
+ type MessageSearchFileItem = React.FC<MessageSearchFileItemProps>;
1563
+ export default MessageSearchFileItem;
1564
+
1565
+ }
1566
+
1567
+ declare module '@sendbird/uikit-react/ui/MessageSearchItem' {
1568
+ interface MessageSearchItemProps {
1569
+ className?: string | Array<string>;
1570
+ message: ClientUserMessage;
1571
+ selected?: boolean;
1572
+ onClick?: (message: ClientMessage) => void;
1573
+ }
1574
+ type MessageSearchItem = React.FC<MessageSearchItemProps>;
1575
+ export default MessageSearchItem;
1576
+
1577
+ }
1578
+
1579
+ declare module '@sendbird/uikit-react/ui/MessageStatus' {
1580
+ interface MessageStatusProps {
1581
+ className?: string;
1582
+ message: UserMessage | FileMessage;
1583
+ channel: GroupChannel;
1584
+ }
1585
+ type MessageStatus = React.FC<MessageStatusProps>;
1586
+ export default MessageStatus;
1587
+
1588
+ }
1589
+
1590
+ declare module '@sendbird/uikit-react/ui/Modal' {
1591
+ interface ModalProps {
1592
+ className?: string[],
1593
+ onCancel: () => void,
1594
+ onSubmit: () => void,
1595
+ hideFooter?: boolean,
1596
+ disabled?: boolean,
1597
+ type?: string,
1598
+ children: React.ReactElement | string,
1599
+ }
1600
+ type Modal = React.FC<ModalProps>;
1601
+ export default Modal;
1602
+
1603
+ }
1604
+
1605
+ declare module '@sendbird/uikit-react/ui/OGMessageItemBody' {
1606
+ interface OGMessageItemBodyProps {
1607
+ className?: string | Array<string>;
1608
+ message: UserMessage;
1609
+ isByMe?: boolean;
1610
+ mouseHover?: boolean;
1611
+ }
1612
+ type OGMessageItemBody = React.FC<OGMessageItemBodyProps>;
1613
+ export default OGMessageItemBody;
1614
+
1615
+ }
1616
+
1617
+ declare module '@sendbird/uikit-react/ui/OpenChannelAdminMessage' {
1618
+ interface OpenChannelAdminMessageProps {
1619
+ className?: string | Array<string>;
1620
+ message: ClientAdminMessage;
1621
+ }
1622
+ type OpenChannelAdminMessage = React.FC<OpenChannelAdminMessageProps>;
1623
+ export default OpenChannelAdminMessage;
1624
+ }
1625
+
1626
+ declare module '@sendbird/uikit-react/ui/OpenChannelConversationHeader' {
1627
+ interface OpenChannelConversationHeaderProps {
1628
+ coverImage?: string;
1629
+ title?: string;
1630
+ subTitle?: string;
1631
+ amIOperator?: boolean;
1632
+ onActionClick?(): void;
1633
+ }
1634
+ type OpenChannelConversationHeader = React.FC<OpenChannelConversationHeaderProps>;
1635
+ export default OpenChannelConversationHeader;
1636
+
1637
+ }
1638
+
1639
+ declare module '@sendbird/uikit-react/ui/OpenChannelFileMessage' {
1640
+ interface OpenChannelFileMessageProps {
1641
+ className?: string | Array<string>;
1642
+ message: ClientFileMessage;
1643
+ userId: string;
1644
+ disabled?: boolean;
1645
+ chainTop?: boolean;
1646
+ chainBottom?: boolean;
1647
+ showRemove(bool: boolean): void;
1648
+ resendMessage(message: ClientFileMessage): void;
1649
+ }
1650
+ type OpenChannelFileMessage = React.FC<OpenChannelFileMessageProps>;
1651
+ export default OpenChannelFileMessage;
1652
+
1653
+ }
1654
+
1655
+ declare module '@sendbird/uikit-react/ui/OpenChannelOGMessage' {
1656
+ interface OOpenChannelOGMessageProps {
1657
+ message: ClientUserMessage;
1658
+ className?: string | Array<string>;
1659
+ disabled?: boolean;
1660
+ showEdit(bool: boolean): void;
1661
+ showRemove(bool: boolean): void;
1662
+ resendMessage(message: ClientUserMessage): void;
1663
+ chainTop?: boolean;
1664
+ chainBottom?: boolean;
1665
+ userId: string;
1666
+ }
1667
+ type OOpenChannelOGMessage = React.FC<OOpenChannelOGMessageProps>;
1668
+ export default OOpenChannelOGMessage;
1669
+
1670
+ }
1671
+
1672
+ declare module '@sendbird/uikit-react/ui/OpenChannelThumbnailMessage' {
1673
+ interface OpenChannelThumbnailMessageProps {
1674
+ className?: string | Array<string>;
1675
+ message: ClientFileMessage;
1676
+ disabled: boolean;
1677
+ userId: string;
1678
+ chainTop: boolean;
1679
+ chainBottom: boolean;
1680
+ onClick(bool: boolean): void,
1681
+ showRemove(bool: boolean): void,
1682
+ resendMessage(message: ClientFileMessage): void;
1683
+ }
1684
+ type OpenChannelThumbnailMessage = React.FC<OpenChannelThumbnailMessageProps>;
1685
+ export default OpenChannelThumbnailMessage;
1686
+
1687
+ }
1688
+
1689
+ declare module '@sendbird/uikit-react/ui/OpenChannelUserMessage' {
1690
+ interface OpenChannelUserMessageProps {
1691
+ className?: string | Array<string>;
1692
+ message: ClientUserMessage;
1693
+ userId: string;
1694
+ disabled?: boolean;
1695
+ showEdit(bool: boolean): void;
1696
+ showRemove(bool: boolean): void;
1697
+ resendMessage(message: ClientUserMessage): void;
1698
+ chainTop?: boolean;
1699
+ chainBottom?: boolean;
1700
+ }
1701
+ type OpenChannelUserMessage = React.FC<OpenChannelUserMessageProps>;
1702
+ export default OpenChannelUserMessage;
1703
+
1704
+ }
1705
+
1706
+ declare module '@sendbird/uikit-react/ui/PlaceHolder' {
1707
+ interface PlaceHolderProps {
1708
+ className?: string | Array<string>;
1709
+ type?: 'LOADING' | 'NO_CHANNELS' | 'NO_MESSAGES' | 'WRONG' | 'SEARCH_IN' | 'SEARCHING' | 'NO_RESULT',
1710
+ retryToConnect?: () => void,
1711
+ searchInString?: string,
1712
+ }
1713
+ type PlaceHolder = React.FC<PlaceHolderProps>;
1714
+ export default PlaceHolder;
1715
+
1716
+ }
1717
+
1718
+ declare module '@sendbird/uikit-react/ui/QuoteMessage' {
1719
+ interface QuoteMessageProps {
1720
+ message?: UserMessage | FileMessage;
1721
+ userId?: string;
1722
+ isByMe?: boolean;
1723
+ className?: string | Array<string>;
1724
+ onClick?: () => void;
1725
+ }
1726
+ type QuoteMessage = React.FC<QuoteMessageProps>;
1727
+ export default QuoteMessage;
1728
+
1729
+ }
1730
+
1731
+ declare module '@sendbird/uikit-react/ui/QuoteMessageInput' {
1732
+ interface QuoteMessageInputProps {
1733
+ className?: string | Array<string>;
1734
+ replyingMessage: CoreMessageType;
1735
+ onClose?: (message: CoreMessageType) => void;
1736
+ }
1737
+ type QuoteMessageInput = React.FC<QuoteMessageInputProps>;
1738
+ export default QuoteMessageInput;
1739
+
1740
+ }
1741
+
1742
+ declare module '@sendbird/uikit-react/ui/ReactionBadge' {
1743
+ interface ReactionBadgeProps {
1744
+ className?: string | Array<string>;
1745
+ children?: React.ReactElement;
1746
+ count?: boolean,
1747
+ selected?: boolean,
1748
+ isAdd?: boolean,
1749
+ onClick?: () => void,
1750
+ }
1751
+ type ReactionBadge = React.FC<ReactionBadgeProps>;
1752
+ export default ReactionBadge;
1753
+
1754
+ }
1755
+
1756
+ declare module '@sendbird/uikit-react/ui/ReactionButton' {
1757
+ interface ReactionButtonProps {
1758
+ className?: string | Array<string>;
1759
+ width?: number,
1760
+ height?: number,
1761
+ selected: boolean,
1762
+ onClick?: () => void,
1763
+ children?: React.ReactElement;
1764
+ }
1765
+ type ReactionButton = React.FC<ReactionButtonProps>;
1766
+ export default ReactionButton;
1767
+
1768
+ }
1769
+
1770
+ declare module '@sendbird/uikit-react/ui/SortByRow' {
1771
+ interface SortByRowProps {
1772
+ maxItemCount?: number,
1773
+ itemWidth?: number,
1774
+ itemHeight?: number,
1775
+ children?: React.ReactElement;
1776
+ className?: string | Array<string>;
1777
+ }
1778
+ type SortByRow = React.FC<SortByRowProps>;
1779
+ export default SortByRow;
1780
+
1781
+ }
1782
+
1783
+ declare module '@sendbird/uikit-react/ui/TextButton' {
1784
+ interface TextButtonProps {
1785
+ children?: React.ReactElement;
1786
+ className?: string | Array<string>;
1787
+ color?: 'ONBACKGROUND_1' | 'ONBACKGROUND_2' | 'ONBACKGROUND_3' | 'ONBACKGROUND_4' | 'ONCONTENT_1' | 'PRIMARY' | 'ERROR',
1788
+ disabled?: boolean,
1789
+ notUnderline?: boolean,
1790
+ onClick?: () => void,
1791
+ }
1792
+ type TextButton = React.FC<TextButtonProps>;
1793
+ export default TextButton;
1794
+
1795
+ }
1796
+
1797
+ declare module '@sendbird/uikit-react/ui/TextMessageItemBody' {
1798
+ interface TextMessageItemBodyProps {
1799
+ className?: string | Array<string>;
1800
+ message: UserMessage;
1801
+ isByMe?: boolean;
1802
+ mouseHover?: boolean;
1803
+ }
1804
+ type TextMessageItemBody = React.FC<TextMessageItemBodyProps>;
1805
+ export default TextMessageItemBody;
1806
+
1807
+ }
1808
+
1809
+ declare module '@sendbird/uikit-react/ui/ThumbnailMessageItemBody' {
1810
+ interface ThumbnailMessageItemBodyProps {
1811
+ className?: string | Array<string>;
1812
+ message: FileMessage;
1813
+ isByMe?: boolean;
1814
+ mouseHover?: boolean;
1815
+ showFileViewer?: (bool: boolean) => void;
1816
+ }
1817
+ type ThumbnailMessageItemBody = React.FC<ThumbnailMessageItemBodyProps>;
1818
+ export default ThumbnailMessageItemBody;
1819
+
1820
+ }
1821
+
1822
+ declare module '@sendbird/uikit-react/ui/Tooltip' {
1823
+ interface TooltipProps {
1824
+ children?: React.ReactElement;
1825
+ className?: string | Array<string>;
1826
+ }
1827
+ type Tooltip = React.FC<TooltipProps>;
1828
+ export default Tooltip;
1829
+
1830
+ }
1831
+
1832
+ declare module '@sendbird/uikit-react/ui/TooltipWrapper' {
1833
+ interface OpenChannelFileMessageProps {
1834
+ hoverTooltip?: React.ReactElement;
1835
+ children?: React.ReactElement;
1836
+ className?: string | Array<string>;
1837
+ }
1838
+ type OpenChannelFileMessage = React.FC<OpenChannelFileMessageProps>;
1839
+ export default OpenChannelFileMessage;
1840
+
1841
+ }
1842
+
1843
+ declare module '@sendbird/uikit-react/ui/UnknownMessageItemBody' {
1844
+ interface UnknownMessageItemBodyProps {
1845
+ className?: string | Array<string>;
1846
+ isByMe?: boolean;
1847
+ message: CoreMessageType;
1848
+ mouseHover?: boolean;
1849
+ }
1850
+ type UnknownMessageItemBody = React.FC<UnknownMessageItemBodyProps>;
1851
+ export default UnknownMessageItemBody;
1852
+
1853
+ }
1854
+
1855
+ declare module '@sendbird/uikit-react/ui/UserListItem' {
1856
+ interface UserListItemProps {
1857
+ className?: string | Array<string>;
1858
+ user?: User,
1859
+ checkBox?: boolean,
1860
+ disableMessaging?: boolean,
1861
+ currentUser?: string,
1862
+ checked?: boolean,
1863
+ onChange?: () => void,
1864
+ action?: () => React.ReactElement,
1865
+ }
1866
+ type UserListItem = React.FC<UserListItemProps>;
1867
+ export default UserListItem;
1868
+
1869
+ }
1870
+
1871
+ declare module '@sendbird/uikit-react/ui/UserProfile' {
1872
+ interface UserProfileProps {
1873
+ user: User;
1874
+ currentUserId?: string;
1875
+ sdk?: SendbirdChat;
1876
+ logger?: Logger;
1877
+ disableMessaging?: boolean;
1878
+ createChannel?(params: GroupChannelCreateParams): Promise<GroupChannel>;
1879
+ onSuccess?(): void;
1880
+ }
1881
+ type UserProfile = React.FC<UserProfileProps>;
1882
+ export default UserProfile;
1883
+ }