@sendbird/uikit-react-native 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +42 -17
  2. package/lib/commonjs/components/ChatFlatList.js +2 -1
  3. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  4. package/lib/commonjs/components/FileViewer.js +2 -5
  5. package/lib/commonjs/components/FileViewer.js.map +1 -1
  6. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  7. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  8. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  9. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  10. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
  11. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  12. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +1 -6
  13. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -1
  14. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
  15. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  16. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +102 -15
  17. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  18. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
  19. package/lib/commonjs/components/MessageRenderer/index.js +22 -3
  20. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
  21. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
  22. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  23. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
  24. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  25. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
  26. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  27. package/lib/commonjs/components/ReactionAddons/index.js +19 -0
  28. package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
  29. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
  30. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  31. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
  32. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  33. package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
  34. package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
  35. package/lib/commonjs/constants.js +3 -1
  36. package/lib/commonjs/constants.js.map +1 -1
  37. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
  38. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  39. package/lib/commonjs/containers/SendbirdUIKitContainer.js +130 -79
  40. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  41. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
  42. package/lib/commonjs/contexts/ReactionCtx.js +107 -0
  43. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
  44. package/lib/commonjs/contexts/SendbirdChatCtx.js +26 -18
  45. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  46. package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
  47. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  48. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
  49. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  50. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +95 -23
  51. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  52. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +121 -31
  53. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  54. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +34 -13
  55. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  56. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
  57. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  58. package/lib/commonjs/domain/groupChannel/index.js +8 -0
  59. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  60. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
  61. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  62. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
  63. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  64. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  65. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
  66. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  67. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
  68. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  69. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
  70. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  71. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
  72. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  73. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
  74. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  75. package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
  76. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
  77. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
  78. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  79. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
  80. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  81. package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
  82. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
  83. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
  84. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  85. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
  86. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  87. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +11 -16
  88. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  89. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  90. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  91. package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
  92. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  93. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  94. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  95. package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
  96. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  97. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  98. package/lib/commonjs/fragments/createGroupChannelListFragment.js +4 -14
  99. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  100. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
  101. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  102. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
  103. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  104. package/lib/commonjs/hooks/useConnection.js +3 -0
  105. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  106. package/lib/commonjs/hooks/useContext.js +11 -1
  107. package/lib/commonjs/hooks/useContext.js.map +1 -1
  108. package/lib/commonjs/hooks/useKeyboardStatus.js +97 -0
  109. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
  110. package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
  111. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
  112. package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
  113. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
  114. package/lib/commonjs/index.js +95 -40
  115. package/lib/commonjs/index.js.map +1 -1
  116. package/lib/commonjs/libs/EmojiManager.js +100 -0
  117. package/lib/commonjs/libs/EmojiManager.js.map +1 -0
  118. package/lib/commonjs/libs/ImageCompressionConfig.js +38 -0
  119. package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -0
  120. package/lib/commonjs/libs/MentionConfig.js +47 -0
  121. package/lib/commonjs/libs/MentionConfig.js.map +1 -0
  122. package/lib/commonjs/libs/MentionManager.js +235 -0
  123. package/lib/commonjs/libs/MentionManager.js.map +1 -0
  124. package/lib/commonjs/libs/SBUUtils.js +27 -0
  125. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  126. package/lib/commonjs/localization/StringSet.type.js +20 -5
  127. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  128. package/lib/commonjs/platform/createMediaService.expo.js +35 -1
  129. package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
  130. package/lib/commonjs/platform/createMediaService.native.js +41 -6
  131. package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
  132. package/lib/commonjs/platform/dynamicModule.js +9 -57
  133. package/lib/commonjs/platform/dynamicModule.js.map +1 -1
  134. package/lib/commonjs/platform/types.js.map +1 -1
  135. package/lib/commonjs/types.js.map +1 -1
  136. package/lib/commonjs/version.js +1 -1
  137. package/lib/commonjs/version.js.map +1 -1
  138. package/lib/module/components/ChatFlatList.js +3 -2
  139. package/lib/module/components/ChatFlatList.js.map +1 -1
  140. package/lib/module/components/FileViewer.js +2 -5
  141. package/lib/module/components/FileViewer.js.map +1 -1
  142. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  143. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  144. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  145. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  146. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
  147. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  148. package/lib/module/components/MessageRenderer/FileMessage/index.js +1 -5
  149. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -1
  150. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
  151. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  152. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +103 -19
  153. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  154. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  155. package/lib/module/components/MessageRenderer/index.js +21 -4
  156. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  157. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
  158. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  159. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
  160. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  161. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
  162. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  163. package/lib/module/components/ReactionAddons/index.js +7 -0
  164. package/lib/module/components/ReactionAddons/index.js.map +1 -0
  165. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
  166. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  167. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
  168. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  169. package/lib/module/components/ReactionBottomSheets/index.js +7 -0
  170. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
  171. package/lib/module/constants.js +1 -0
  172. package/lib/module/constants.js.map +1 -1
  173. package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
  174. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  175. package/lib/module/containers/SendbirdUIKitContainer.js +127 -81
  176. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  177. package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
  178. package/lib/module/contexts/ReactionCtx.js +85 -0
  179. package/lib/module/contexts/ReactionCtx.js.map +1 -0
  180. package/lib/module/contexts/SendbirdChatCtx.js +28 -18
  181. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  182. package/lib/module/contexts/UserProfileCtx.js +7 -0
  183. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  184. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
  185. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  186. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +92 -26
  187. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  188. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +118 -33
  189. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  190. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +35 -16
  191. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  192. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
  193. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  194. package/lib/module/domain/groupChannel/index.js +1 -0
  195. package/lib/module/domain/groupChannel/index.js.map +1 -1
  196. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
  197. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  198. package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
  199. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  200. package/lib/module/domain/groupChannel/types.js.map +1 -1
  201. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
  202. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  203. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
  204. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  205. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
  206. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  207. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
  208. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  209. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
  210. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  211. package/lib/module/domain/groupChannelNotifications/index.js +5 -0
  212. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
  213. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
  214. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  215. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
  216. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  217. package/lib/module/domain/groupChannelNotifications/types.js +2 -0
  218. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
  219. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
  220. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  221. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
  222. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  223. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +12 -17
  224. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  225. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  226. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  227. package/lib/module/domain/userList/component/UserListList.js +3 -1
  228. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  229. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  230. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  231. package/lib/module/fragments/createGroupChannelFragment.js +11 -4
  232. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  233. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  234. package/lib/module/fragments/createGroupChannelListFragment.js +5 -9
  235. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  236. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
  237. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  238. package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
  239. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  240. package/lib/module/hooks/useConnection.js +3 -0
  241. package/lib/module/hooks/useConnection.js.map +1 -1
  242. package/lib/module/hooks/useContext.js +6 -0
  243. package/lib/module/hooks/useContext.js.map +1 -1
  244. package/lib/module/hooks/useKeyboardStatus.js +78 -0
  245. package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
  246. package/lib/module/hooks/useMentionSuggestion.js +100 -0
  247. package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
  248. package/lib/module/hooks/useMentionTextInput.js +128 -0
  249. package/lib/module/hooks/useMentionTextInput.js.map +1 -0
  250. package/lib/module/index.js +8 -3
  251. package/lib/module/index.js.map +1 -1
  252. package/lib/module/libs/EmojiManager.js +90 -0
  253. package/lib/module/libs/EmojiManager.js.map +1 -0
  254. package/lib/module/libs/ImageCompressionConfig.js +30 -0
  255. package/lib/module/libs/ImageCompressionConfig.js.map +1 -0
  256. package/lib/module/libs/MentionConfig.js +39 -0
  257. package/lib/module/libs/MentionConfig.js.map +1 -0
  258. package/lib/module/libs/MentionManager.js +223 -0
  259. package/lib/module/libs/MentionManager.js.map +1 -0
  260. package/lib/module/libs/SBUUtils.js +26 -1
  261. package/lib/module/libs/SBUUtils.js.map +1 -1
  262. package/lib/module/localization/StringSet.type.js +21 -6
  263. package/lib/module/localization/StringSet.type.js.map +1 -1
  264. package/lib/module/platform/createMediaService.expo.js +33 -1
  265. package/lib/module/platform/createMediaService.expo.js.map +1 -1
  266. package/lib/module/platform/createMediaService.native.js +38 -5
  267. package/lib/module/platform/createMediaService.native.js.map +1 -1
  268. package/lib/module/platform/dynamicModule.js +10 -56
  269. package/lib/module/platform/dynamicModule.js.map +1 -1
  270. package/lib/module/platform/types.js.map +1 -1
  271. package/lib/module/types.js.map +1 -1
  272. package/lib/module/version.js +1 -1
  273. package/lib/module/version.js.map +1 -1
  274. package/lib/typescript/__template__/types.d.ts +3 -3
  275. package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
  276. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
  277. package/lib/typescript/src/components/FileViewer.d.ts +1 -1
  278. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
  279. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
  280. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
  281. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
  282. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
  283. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
  284. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
  285. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
  286. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
  287. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
  288. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
  289. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
  290. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
  291. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
  292. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
  293. package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
  294. package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
  295. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
  296. package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
  297. package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
  298. package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
  299. package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
  300. package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
  301. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  302. package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
  303. package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
  304. package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
  305. package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
  306. package/lib/typescript/src/constants.d.ts +1 -0
  307. package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
  308. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +20 -8
  309. package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
  310. package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +9 -3
  311. package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
  312. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +16 -3
  313. package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
  314. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
  315. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
  316. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
  317. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
  318. package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
  319. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
  320. package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
  321. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
  322. package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
  323. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
  324. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
  325. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
  326. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
  327. package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
  328. package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
  329. package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
  330. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
  331. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
  332. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  333. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
  334. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
  335. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
  336. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
  337. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
  338. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
  339. package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
  340. package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
  341. package/lib/typescript/src/hooks/useContext.d.ts +3 -26
  342. package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
  343. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
  344. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
  345. package/lib/typescript/src/index.d.ts +8 -3
  346. package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
  347. package/lib/typescript/src/libs/ImageCompressionConfig.d.ts +16 -0
  348. package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
  349. package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
  350. package/lib/typescript/src/libs/SBUUtils.d.ts +6 -0
  351. package/lib/typescript/src/localization/StringSet.type.d.ts +19 -2
  352. package/lib/typescript/src/platform/createMediaService.expo.d.ts +6 -2
  353. package/lib/typescript/src/platform/createMediaService.native.d.ts +8 -6
  354. package/lib/typescript/src/platform/dynamicModule.d.ts +8 -13
  355. package/lib/typescript/src/platform/types.d.ts +33 -8
  356. package/lib/typescript/src/types.d.ts +13 -4
  357. package/lib/typescript/src/version.d.ts +1 -1
  358. package/package.json +16 -6
  359. package/src/components/ChatFlatList.tsx +2 -1
  360. package/src/components/FileViewer.tsx +2 -5
  361. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
  362. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +30 -18
  363. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +21 -11
  364. package/src/components/MessageRenderer/FileMessage/index.tsx +1 -4
  365. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
  366. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +136 -62
  367. package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
  368. package/src/components/MessageRenderer/index.tsx +39 -7
  369. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
  370. package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
  371. package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
  372. package/src/components/ReactionAddons/index.tsx +7 -0
  373. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
  374. package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
  375. package/src/components/ReactionBottomSheets/index.tsx +24 -0
  376. package/src/constants.ts +2 -0
  377. package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
  378. package/src/containers/SendbirdUIKitContainer.tsx +165 -88
  379. package/src/contexts/PlatformServiceCtx.tsx +9 -2
  380. package/src/contexts/ReactionCtx.tsx +102 -0
  381. package/src/contexts/SendbirdChatCtx.tsx +46 -21
  382. package/src/contexts/UserProfileCtx.tsx +9 -0
  383. package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
  384. package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +129 -32
  385. package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +138 -43
  386. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +30 -12
  387. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
  388. package/src/domain/groupChannel/index.ts +1 -0
  389. package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
  390. package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
  391. package/src/domain/groupChannel/types.ts +28 -5
  392. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
  393. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
  394. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
  395. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
  396. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
  397. package/src/domain/groupChannelNotifications/index.ts +4 -0
  398. package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
  399. package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
  400. package/src/domain/groupChannelNotifications/types.ts +38 -0
  401. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
  402. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
  403. package/src/domain/groupChannelSettings/module/moduleContext.tsx +17 -14
  404. package/src/domain/groupChannelSettings/types.ts +2 -0
  405. package/src/domain/groupChannelUserList/types.ts +7 -2
  406. package/src/domain/userList/component/UserListList.tsx +5 -1
  407. package/src/domain/userList/module/createUserListModule.tsx +3 -1
  408. package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
  409. package/src/fragments/createGroupChannelFragment.tsx +19 -6
  410. package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
  411. package/src/fragments/createGroupChannelListFragment.tsx +5 -9
  412. package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
  413. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  414. package/src/hooks/useConnection.ts +3 -1
  415. package/src/hooks/useContext.ts +7 -0
  416. package/src/hooks/useKeyboardStatus.ts +59 -0
  417. package/src/hooks/useMentionSuggestion.ts +106 -0
  418. package/src/hooks/useMentionTextInput.ts +139 -0
  419. package/src/index.ts +14 -2
  420. package/src/libs/EmojiManager.ts +80 -0
  421. package/src/libs/ImageCompressionConfig.ts +31 -0
  422. package/src/libs/MentionConfig.ts +40 -0
  423. package/src/libs/MentionManager.tsx +240 -0
  424. package/src/libs/SBUUtils.ts +28 -1
  425. package/src/localization/StringSet.type.ts +45 -8
  426. package/src/platform/createMediaService.expo.tsx +24 -1
  427. package/src/platform/createMediaService.native.tsx +31 -9
  428. package/src/platform/dynamicModule.ts +17 -59
  429. package/src/platform/types.ts +29 -7
  430. package/src/types.ts +12 -0
  431. package/src/version.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import type { OGMetaData } from '@sendbird/chat/message';
2
2
  import type { UserMessageProps } from './index';
3
- declare type Props = UserMessageProps & {
3
+ type Props = UserMessageProps & {
4
4
  ogMetaData: OGMetaData;
5
5
  };
6
- declare const OpenGraphUserMessage: ({ message, variant, pressed, ogMetaData }: Props) => JSX.Element;
6
+ declare const OpenGraphUserMessage: ({ message, variant, pressed, ogMetaData, children, onLongPressMentionedUser, onLongPressURL, }: Props) => JSX.Element;
7
7
  export default OpenGraphUserMessage;
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
3
3
  import type { MessageRendererInterface } from '../index';
4
- export declare type UserMessageProps = MessageRendererInterface<SendbirdUserMessage>;
4
+ export type UserMessageProps = MessageRendererInterface<SendbirdUserMessage, {
5
+ onLongPressMentionedUser?: () => void;
6
+ onLongPressURL?: () => void;
7
+ }>;
5
8
  declare const _default: React.MemoExoticComponent<(props: UserMessageProps) => JSX.Element>;
6
9
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
3
- declare type MessageStyleVariant = 'outgoing' | 'incoming';
4
- export interface MessageRendererInterface<T = SendbirdMessage> {
3
+ type MessageStyleVariant = 'outgoing' | 'incoming';
4
+ export type MessageRendererInterface<T = SendbirdMessage, AdditionalProps = unknown> = {
5
5
  message: T;
6
6
  prevMessage?: SendbirdMessage;
7
7
  nextMessage?: SendbirdMessage;
@@ -9,7 +9,8 @@ export interface MessageRendererInterface<T = SendbirdMessage> {
9
9
  groupWithPrev: boolean;
10
10
  groupWithNext: boolean;
11
11
  pressed: boolean;
12
- }
12
+ children?: React.ReactElement | null;
13
+ } & AdditionalProps;
13
14
  declare const _default: React.MemoExoticComponent<(props: {
14
15
  message: SendbirdMessage;
15
16
  prevMessage?: SendbirdMessage | undefined;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
3
- declare type Props = {
3
+ type Props = {
4
4
  newMessages: SendbirdMessage[];
5
5
  visible: boolean;
6
6
  onPress: () => void;
@@ -0,0 +1,8 @@
1
+ import { SendbirdBaseChannel, SendbirdBaseMessage } from '@sendbird/uikit-utils';
2
+ type Props = {
3
+ onClose: () => Promise<void>;
4
+ channel: SendbirdBaseChannel;
5
+ message: SendbirdBaseMessage;
6
+ };
7
+ declare const BottomSheetReactionAddon: ({ onClose, message, channel }: Props) => JSX.Element;
8
+ export default BottomSheetReactionAddon;
@@ -0,0 +1,6 @@
1
+ import type { SendbirdBaseChannel, SendbirdBaseMessage } from '@sendbird/uikit-utils';
2
+ declare const MessageReactionAddon: ({ channel, message }: {
3
+ channel: SendbirdBaseChannel;
4
+ message: SendbirdBaseMessage;
5
+ }) => JSX.Element | null;
6
+ export default MessageReactionAddon;
@@ -0,0 +1,14 @@
1
+ import { StyleProp, ViewStyle } from 'react-native';
2
+ type Props = {
3
+ url: string;
4
+ count: number;
5
+ reacted: boolean;
6
+ style: StyleProp<ViewStyle>;
7
+ };
8
+ declare const ReactionRoundedButton: {
9
+ ({ url, count, reacted, style }: Props): JSX.Element;
10
+ More({ pressed }: {
11
+ pressed: boolean;
12
+ }): JSX.Element;
13
+ };
14
+ export default ReactionRoundedButton;
@@ -0,0 +1,11 @@
1
+ export declare const ReactionAddons: {
2
+ BottomSheet: ({ onClose, message, channel }: {
3
+ onClose: () => Promise<void>;
4
+ channel: import("@sendbird/chat").BaseChannel;
5
+ message: import("@sendbird/chat/message").BaseMessage;
6
+ }) => JSX.Element;
7
+ Message: ({ channel, message }: {
8
+ channel: import("@sendbird/chat").BaseChannel;
9
+ message: import("@sendbird/chat/message").BaseMessage;
10
+ }) => JSX.Element | null;
11
+ };
@@ -0,0 +1,3 @@
1
+ import type { ReactionBottomSheetProps } from './index';
2
+ declare const ReactionListBottomSheet: ({ visible, onClose, onDismiss, reactionCtx, chatCtx }: ReactionBottomSheetProps) => JSX.Element;
3
+ export default ReactionListBottomSheet;
@@ -0,0 +1,3 @@
1
+ import type { ReactionBottomSheetProps } from './index';
2
+ declare const ReactionUserListBottomSheet: ({ visible, onClose, onDismiss, reactionCtx, chatCtx, localizationCtx, userProfileCtx, }: ReactionBottomSheetProps) => JSX.Element;
3
+ export default ReactionUserListBottomSheet;
@@ -0,0 +1,20 @@
1
+ import type React from 'react';
2
+ import type { LocalizationContext } from '../../contexts/LocalizationCtx';
3
+ import type { ReactionContext } from '../../contexts/ReactionCtx';
4
+ import type { SendbirdChatContext } from '../../contexts/SendbirdChatCtx';
5
+ import type { UserProfileContext } from '../../contexts/UserProfileCtx';
6
+ type GetFromContext<T> = T extends React.Context<infer Value> ? NonNullable<Value> : never;
7
+ export type ReactionBottomSheetProps = {
8
+ visible: boolean;
9
+ onDismiss: () => void;
10
+ onClose: () => Promise<void>;
11
+ chatCtx: GetFromContext<typeof SendbirdChatContext>;
12
+ reactionCtx: GetFromContext<typeof ReactionContext>;
13
+ localizationCtx: GetFromContext<typeof LocalizationContext>;
14
+ userProfileCtx: GetFromContext<typeof UserProfileContext>;
15
+ };
16
+ export declare const ReactionBottomSheets: {
17
+ ReactionList: ({ visible, onClose, onDismiss, reactionCtx, chatCtx }: ReactionBottomSheetProps) => JSX.Element;
18
+ UserList: ({ visible, onClose, onDismiss, reactionCtx, chatCtx, localizationCtx, userProfileCtx, }: ReactionBottomSheetProps) => JSX.Element;
19
+ };
20
+ export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type Props = {
2
+ type Props = {
3
3
  visible: boolean;
4
4
  onPress: () => void;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type Props = {
2
+ type Props = {
3
3
  loading?: boolean;
4
4
  LoadingComponent?: JSX.Element;
5
5
  error?: boolean;
@@ -1,4 +1,4 @@
1
- declare type Props = {
1
+ type Props = {
2
2
  type: 'no-muted-members' | 'no-banned-users' | 'no-channels' | 'no-messages' | 'no-users' | 'no-results-found' | 'error-wrong' | 'loading';
3
3
  onPressRetry?: () => void;
4
4
  };
@@ -1,5 +1,5 @@
1
1
  import type { GestureResponderEvent } from 'react-native';
2
- declare type Props = {
2
+ type Props = {
3
3
  uri: string;
4
4
  name: string;
5
5
  label?: string;
@@ -1,4 +1,4 @@
1
- declare type Props = {
1
+ type Props = {
2
2
  uri: string;
3
3
  name: string;
4
4
  selected: boolean;
@@ -4,3 +4,4 @@ export declare const DEPRECATION_WARNING: {
4
4
  readonly ON_PRESS_IMAGE_MESSAGE: "`onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead";
5
5
  };
6
6
  };
7
+ export declare const UNKNOWN_USER_ID = "##__USER_ID_IS_NOT_PROVIDED__##";
@@ -1,5 +1,5 @@
1
1
  import { SendbirdGroupChannel } from '@sendbird/uikit-utils';
2
- declare type Props = {
2
+ type Props = {
3
3
  channel: SendbirdGroupChannel;
4
4
  onPress: () => void;
5
5
  onLongPress: () => void;
@@ -2,20 +2,30 @@ import React from 'react';
2
2
  import type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';
3
3
  import type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdGroupChannelCreateParams, SendbirdMember, SendbirdUser } from '@sendbird/uikit-utils';
4
4
  import type { UIKitFeaturesInSendbirdChatContext } from '../contexts/SendbirdChatCtx';
5
+ import type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';
6
+ import { MentionConfigInterface } from '../libs/MentionConfig';
5
7
  import type { StringSet } from '../localization/StringSet.type';
6
8
  import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface } from '../platform/types';
7
9
  import type { ErrorBoundaryProps, LocalCacheStorage } from '../types';
8
10
  export declare const SendbirdUIKit: Readonly<{
9
- VERSION: "2.1.0";
11
+ VERSION: "2.3.0";
10
12
  PLATFORM: string;
13
+ DEFAULT: {
14
+ AUTO_PUSH_TOKEN_REGISTRATION: boolean;
15
+ CHANNEL_LIST_TYPING_INDICATOR: boolean;
16
+ CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: boolean;
17
+ USE_USER_ID_FOR_NICKNAME: boolean;
18
+ USER_MENTION: boolean;
19
+ IMAGE_COMPRESSION: boolean;
20
+ };
11
21
  }>;
12
- export declare type SendbirdUIKitContainerProps = React.PropsWithChildren<{
22
+ export type SendbirdUIKitContainerProps = React.PropsWithChildren<{
13
23
  appId: string;
14
24
  platformServices: {
15
25
  file: FileServiceInterface;
16
26
  notification: NotificationServiceInterface;
17
27
  clipboard: ClipboardServiceInterface;
18
- media?: MediaServiceInterface;
28
+ media: MediaServiceInterface;
19
29
  };
20
30
  chatOptions?: {
21
31
  localCacheStorage?: LocalCacheStorage;
@@ -31,6 +41,10 @@ export declare type SendbirdUIKitContainerProps = React.PropsWithChildren<{
31
41
  defaultHeaderHeight?: number;
32
42
  HeaderComponent?: HeaderStyleContextType['HeaderComponent'];
33
43
  };
44
+ errorBoundary?: {
45
+ onError?: (props: ErrorBoundaryProps) => void;
46
+ ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;
47
+ };
34
48
  toast?: {
35
49
  dismissTimeout?: number;
36
50
  };
@@ -38,10 +52,8 @@ export declare type SendbirdUIKitContainerProps = React.PropsWithChildren<{
38
52
  onCreateChannel: (channel: SendbirdBaseChannel) => void;
39
53
  onBeforeCreateChannel?: (channelParams: SendbirdGroupChannelCreateParams, users: SendbirdUser[] | SendbirdMember[]) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;
40
54
  };
41
- errorBoundary?: {
42
- onError?: (props: ErrorBoundaryProps) => void;
43
- ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;
44
- };
55
+ userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;
56
+ imageCompression?: Partial<ImageCompressionConfigInterface>;
45
57
  }>;
46
- declare const SendbirdUIKitContainer: ({ children, appId, chatOptions, platformServices, localization, styles, toast, userProfile, errorBoundary, }: SendbirdUIKitContainerProps) => JSX.Element;
58
+ declare const SendbirdUIKitContainer: ({ children, appId, chatOptions, platformServices, localization, styles, errorBoundary, toast, userProfile, userMention, imageCompression, }: SendbirdUIKitContainerProps) => JSX.Element;
47
59
  export default SendbirdUIKitContainer;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { StringSet } from '../localization/StringSet.type';
3
- declare type Props = React.PropsWithChildren<{
3
+ type Props = React.PropsWithChildren<{
4
4
  stringSet: StringSet;
5
5
  }>;
6
- export declare type LocalizationContextType = {
6
+ export type LocalizationContextType = {
7
7
  STRINGS: StringSet;
8
8
  };
9
9
  export declare const LocalizationContext: React.Context<LocalizationContextType | null>;
@@ -1,11 +1,17 @@
1
1
  import React from 'react';
2
2
  import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface } from '../platform/types';
3
- declare type Props = React.PropsWithChildren<{
3
+ type Props = React.PropsWithChildren<{
4
4
  fileService: FileServiceInterface;
5
5
  clipboardService: ClipboardServiceInterface;
6
6
  notificationService: NotificationServiceInterface;
7
- mediaService?: MediaServiceInterface;
7
+ mediaService: MediaServiceInterface;
8
8
  }>;
9
- export declare const PlatformServiceContext: React.Context<Props | null>;
9
+ export type PlatformServiceContextType = {
10
+ fileService: FileServiceInterface;
11
+ clipboardService: ClipboardServiceInterface;
12
+ notificationService: NotificationServiceInterface;
13
+ mediaService: MediaServiceInterface;
14
+ };
15
+ export declare const PlatformServiceContext: React.Context<PlatformServiceContextType | null>;
10
16
  export declare const PlatformServiceProvider: ({ children, fileService, clipboardService, notificationService, mediaService, }: Props) => JSX.Element;
11
17
  export {};
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { SendbirdBaseChannel, SendbirdBaseMessage } from '@sendbird/uikit-utils';
3
+ type State = {
4
+ message?: SendbirdBaseMessage;
5
+ channel?: SendbirdBaseChannel;
6
+ };
7
+ export type ReactionContextType = {
8
+ openReactionList(param: Required<State>): void;
9
+ openReactionUserList(param: Required<State> & {
10
+ focusIndex?: number;
11
+ }): void;
12
+ updateReactionFocusedItem(param?: State): void;
13
+ focusIndex: number;
14
+ } & State;
15
+ type Props = React.PropsWithChildren<{}>;
16
+ export declare const ReactionContext: React.Context<ReactionContextType | null>;
17
+ export declare const ReactionProvider: ({ children }: Props) => JSX.Element;
18
+ export {};
@@ -1,17 +1,28 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdUser } from '@sendbird/uikit-utils';
3
+ import type EmojiManager from '../libs/EmojiManager';
4
+ import type ImageCompressionConfig from '../libs/ImageCompressionConfig';
5
+ import type MentionManager from '../libs/MentionManager';
3
6
  import type { FileType } from '../platform/types';
4
7
  export interface UIKitFeaturesInSendbirdChatContext {
5
8
  enableAutoPushTokenRegistration: boolean;
6
9
  enableChannelListTypingIndicator: boolean;
7
10
  enableChannelListMessageReceiptStatus: boolean;
8
11
  enableUseUserIdForNickname: boolean;
12
+ enableUserMention: boolean;
13
+ enableImageCompression: boolean;
9
14
  }
10
15
  interface Props extends UIKitFeaturesInSendbirdChatContext, React.PropsWithChildren {
11
16
  sdkInstance: SendbirdChatSDK;
17
+ emojiManager: EmojiManager;
18
+ mentionManager: MentionManager;
19
+ imageCompressionConfig: ImageCompressionConfig;
12
20
  }
13
- declare type Context = {
21
+ export type SendbirdChatContextType = {
14
22
  sdk: SendbirdChatSDK;
23
+ emojiManager: EmojiManager;
24
+ mentionManager: MentionManager;
25
+ imageCompressionConfig: ImageCompressionConfig;
15
26
  currentUser?: SendbirdUser;
16
27
  setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;
17
28
  updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;
@@ -21,12 +32,14 @@ declare type Context = {
21
32
  channelListTypingIndicatorEnabled: boolean;
22
33
  channelListMessageReceiptStatusEnabled: boolean;
23
34
  useUserIdForNicknameEnabled: boolean;
35
+ userMentionEnabled: boolean;
36
+ imageCompressionEnabled: boolean;
24
37
  deliveryReceiptEnabled: boolean;
25
38
  broadcastChannelEnabled: boolean;
26
39
  superGroupChannelEnabled: boolean;
27
40
  reactionEnabled: boolean;
28
41
  };
29
42
  };
30
- export declare const SendbirdChatContext: React.Context<Context | null>;
31
- export declare const SendbirdChatProvider: ({ children, sdkInstance, enableAutoPushTokenRegistration, enableChannelListMessageReceiptStatus, enableChannelListTypingIndicator, enableUseUserIdForNickname, }: Props) => JSX.Element;
43
+ export declare const SendbirdChatContext: React.Context<SendbirdChatContextType | null>;
44
+ export declare const SendbirdChatProvider: ({ children, sdkInstance, emojiManager, mentionManager, imageCompressionConfig, enableAutoPushTokenRegistration, enableChannelListMessageReceiptStatus, enableChannelListTypingIndicator, enableUseUserIdForNickname, enableUserMention, enableImageCompression, }: Props) => JSX.Element;
32
45
  export {};
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdGroupChannel, SendbirdGroupChannelCreateParams, SendbirdMember, SendbirdUser } from '@sendbird/uikit-utils';
3
- declare type OnCreateChannel = (channel: SendbirdGroupChannel) => void;
4
- declare type OnBeforeCreateChannel = (channelParams: SendbirdGroupChannelCreateParams, users: SendbirdUser[] | SendbirdMember[]) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;
5
- export declare type UserProfileContextType = {
3
+ type OnCreateChannel = (channel: SendbirdGroupChannel) => void;
4
+ type OnBeforeCreateChannel = (channelParams: SendbirdGroupChannelCreateParams, users: SendbirdUser[] | SendbirdMember[]) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;
5
+ export type UserProfileContextType = {
6
6
  show(user: SendbirdUser | SendbirdMember): void;
7
7
  hide(): void;
8
8
  };
9
- declare type Props = React.PropsWithChildren<{
9
+ type Props = React.PropsWithChildren<{
10
10
  onCreateChannel?: OnCreateChannel;
11
11
  onBeforeCreateChannel?: OnBeforeCreateChannel;
12
12
  }>;
@@ -1,11 +1,39 @@
1
+ import React from 'react';
2
+ import { NativeSyntheticEvent, TextInput as RNTextInput, TextInputSelectionChangeEventData } from 'react-native';
3
+ import { MentionType } from '@sendbird/chat/message';
1
4
  import type { SendbirdFileMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';
2
- import type { GroupChannelProps } from '../../types';
3
- declare type EditInputProps = GroupChannelProps['Input'] & {
5
+ import type { MentionedUser } from '../../../../types';
6
+ declare const EditInput: React.ForwardRefExoticComponent<{
7
+ shouldRenderInput: boolean;
8
+ onSendFileMessage: (file: import("../../../..").FileType) => Promise<void>;
9
+ onSendUserMessage: (text: string, mention?: Required<{
10
+ messageTemplate: string | undefined;
11
+ userIds: string[] | undefined;
12
+ type: MentionType | undefined;
13
+ }> | undefined) => Promise<void>;
14
+ onUpdateFileMessage: (editedFile: import("../../../..").FileType, message: import("@sendbird/chat/message").FileMessage) => Promise<void>;
15
+ onUpdateUserMessage: (editedText: string, message: import("@sendbird/chat/message").UserMessage, mention?: Required<{
16
+ messageTemplate: string | undefined;
17
+ userIds: string[] | undefined;
18
+ type: MentionType | undefined;
19
+ }> | undefined) => Promise<void>;
20
+ SuggestedMentionList: (props: {
21
+ text: string;
22
+ selection: import("../../../../types").Range;
23
+ topInset: number;
24
+ bottomInset: number;
25
+ inputHeight: number;
26
+ onPressToMention: (user: import("@sendbird/chat/groupChannel").Member, searchStringRange: import("../../../../types").Range) => void;
27
+ mentionedUsers: MentionedUser[];
28
+ }) => JSX.Element | null;
29
+ } & {
4
30
  text: string;
5
- setText: (val: string) => void;
6
- editMessage: SendbirdUserMessage | SendbirdFileMessage;
7
- setEditMessage: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;
31
+ onChangeText: (val: string) => void;
32
+ messageToEdit: SendbirdUserMessage | SendbirdFileMessage;
33
+ setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;
34
+ onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;
8
35
  disabled: boolean;
9
- };
10
- declare const EditInput: ({ text, setText, editMessage, setEditMessage, onUpdateUserMessage, disabled }: EditInputProps) => JSX.Element;
36
+ autoFocus: boolean;
37
+ mentionedUsers: MentionedUser[];
38
+ } & React.RefAttributes<RNTextInput>>;
11
39
  export default EditInput;
@@ -1,10 +1,37 @@
1
- import type { GroupChannelProps } from '../../types';
2
- declare type SendInputProps = GroupChannelProps['Input'] & {
1
+ import React from 'react';
2
+ import { NativeSyntheticEvent, TextInput as RNTextInput, TextInputSelectionChangeEventData } from 'react-native';
3
+ import { MentionType } from '@sendbird/chat/message';
4
+ import type { MentionedUser } from '../../../../types';
5
+ declare const SendInput: React.ForwardRefExoticComponent<{
6
+ shouldRenderInput: boolean;
7
+ onSendFileMessage: (file: import("../../../..").FileType) => Promise<void>;
8
+ onSendUserMessage: (text: string, mention?: Required<{
9
+ messageTemplate: string | undefined;
10
+ userIds: string[] | undefined;
11
+ type: MentionType | undefined;
12
+ }> | undefined) => Promise<void>;
13
+ onUpdateFileMessage: (editedFile: import("../../../..").FileType, message: import("@sendbird/chat/message").FileMessage) => Promise<void>;
14
+ onUpdateUserMessage: (editedText: string, message: import("@sendbird/chat/message").UserMessage, mention?: Required<{
15
+ messageTemplate: string | undefined;
16
+ userIds: string[] | undefined;
17
+ type: MentionType | undefined;
18
+ }> | undefined) => Promise<void>;
19
+ SuggestedMentionList: (props: {
20
+ text: string;
21
+ selection: import("../../../../types").Range;
22
+ topInset: number;
23
+ bottomInset: number;
24
+ inputHeight: number;
25
+ onPressToMention: (user: import("@sendbird/chat/groupChannel").Member, searchStringRange: import("../../../../types").Range) => void;
26
+ mentionedUsers: MentionedUser[];
27
+ }) => JSX.Element | null;
28
+ } & {
3
29
  text: string;
4
- setText: (val: string) => void;
30
+ onChangeText: (val: string) => void;
5
31
  frozen: boolean;
6
32
  muted: boolean;
7
33
  disabled: boolean;
8
- };
9
- declare const SendInput: ({ onSendUserMessage, onSendFileMessage, text, setText, disabled, frozen, muted, }: SendInputProps) => JSX.Element;
34
+ onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;
35
+ mentionedUsers: MentionedUser[];
36
+ } & React.RefAttributes<RNTextInput>>;
10
37
  export default SendInput;
@@ -2,8 +2,25 @@ import React from 'react';
2
2
  declare const _default: React.MemoExoticComponent<(props: {
3
3
  shouldRenderInput: boolean;
4
4
  onSendFileMessage: (file: import("../../../..").FileType) => Promise<void>;
5
- onSendUserMessage: (text: string) => Promise<void>;
5
+ onSendUserMessage: (text: string, mention?: Required<{
6
+ messageTemplate: string | undefined;
7
+ userIds: string[] | undefined;
8
+ type: import("@sendbird/chat/message").MentionType | undefined;
9
+ }> | undefined) => Promise<void>;
6
10
  onUpdateFileMessage: (editedFile: import("../../../..").FileType, message: import("@sendbird/chat/message").FileMessage) => Promise<void>;
7
- onUpdateUserMessage: (editedText: string, message: import("@sendbird/chat/message").UserMessage) => Promise<void>;
11
+ onUpdateUserMessage: (editedText: string, message: import("@sendbird/chat/message").UserMessage, mention?: Required<{
12
+ messageTemplate: string | undefined;
13
+ userIds: string[] | undefined;
14
+ type: import("@sendbird/chat/message").MentionType | undefined;
15
+ }> | undefined) => Promise<void>;
16
+ SuggestedMentionList: (props: {
17
+ text: string;
18
+ selection: import("../../../..").Range;
19
+ topInset: number;
20
+ bottomInset: number;
21
+ inputHeight: number;
22
+ onPressToMention: (user: import("@sendbird/chat/groupChannel").Member, searchStringRange: import("../../../..").Range) => void;
23
+ mentionedUsers: import("../../../..").MentionedUser[];
24
+ }) => JSX.Element | null;
8
25
  }) => JSX.Element>;
9
26
  export default _default;
@@ -0,0 +1,3 @@
1
+ import type { GroupChannelProps } from '../types';
2
+ declare const GroupChannelSuggestedMentionList: ({ text, selection, inputHeight, bottomInset, onPressToMention, mentionedUsers, }: GroupChannelProps['SuggestedMentionList']) => JSX.Element;
3
+ export default GroupChannelSuggestedMentionList;
@@ -1,6 +1,7 @@
1
1
  export { default as GroupChannelHeader } from './component/GroupChannelHeader';
2
2
  export { default as GroupChannelMessageList } from './component/GroupChannelMessageList';
3
3
  export { default as GroupChannelInput } from './component/GroupChannelInput';
4
+ export { default as GroupChannelSuggestedMentionList } from './component/GroupChannelSuggestedMentionList';
4
5
  export { default as GroupChannelStatusEmpty } from './component/GroupChannelStatusEmpty';
5
6
  export { default as GroupChannelStatusLoading } from './component/GroupChannelStatusLoading';
6
7
  export { default as createGroupChannelModule } from './module/createGroupChannelModule';
@@ -1,3 +1,3 @@
1
1
  import type { GroupChannelModule } from '../types';
2
- declare const createGroupChannelModule: ({ Header, MessageList, Input, StatusLoading, StatusEmpty, Provider, ...module }?: Partial<GroupChannelModule>) => GroupChannelModule;
2
+ declare const createGroupChannelModule: ({ Header, MessageList, Input, SuggestedMentionList, StatusLoading, StatusEmpty, Provider, ...module }?: Partial<GroupChannelModule>) => GroupChannelModule;
3
3
  export default createGroupChannelModule;
@@ -1,9 +1,14 @@
1
1
  import type React from 'react';
2
2
  import type { FlatListProps } from 'react-native';
3
3
  import type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';
4
- import type { SendbirdFileMessage, SendbirdFileMessageCreateParams, SendbirdGroupChannel, SendbirdMessage, SendbirdUser, SendbirdUserMessage, SendbirdUserMessageCreateParams } from '@sendbird/uikit-utils';
4
+ import type { SendbirdFileMessage, SendbirdFileMessageCreateParams, SendbirdGroupChannel, SendbirdMember, SendbirdMessage, SendbirdUser, SendbirdUserMessage, SendbirdUserMessageCreateParams } from '@sendbird/uikit-utils';
5
5
  import type { FileType } from '../../platform/types';
6
- import type { CommonComponent } from '../../types';
6
+ import type { CommonComponent, MentionedUser, Range } from '../../types';
7
+ type UserMessageMentionParams = Required<{
8
+ messageTemplate: SendbirdUserMessageCreateParams['mentionedMessageTemplate'];
9
+ userIds: SendbirdUserMessageCreateParams['mentionedUserIds'];
10
+ type: SendbirdUserMessageCreateParams['mentionType'];
11
+ }>;
7
12
  export interface GroupChannelProps {
8
13
  Fragment: {
9
14
  channel: SendbirdGroupChannel;
@@ -68,9 +73,19 @@ export interface GroupChannelProps {
68
73
  Input: {
69
74
  shouldRenderInput: boolean;
70
75
  onSendFileMessage: (file: FileType) => Promise<void>;
71
- onSendUserMessage: (text: string) => Promise<void>;
76
+ onSendUserMessage: (text: string, mention?: UserMessageMentionParams) => Promise<void>;
72
77
  onUpdateFileMessage: (editedFile: FileType, message: SendbirdFileMessage) => Promise<void>;
73
- onUpdateUserMessage: (editedText: string, message: SendbirdUserMessage) => Promise<void>;
78
+ onUpdateUserMessage: (editedText: string, message: SendbirdUserMessage, mention?: UserMessageMentionParams) => Promise<void>;
79
+ SuggestedMentionList: (props: GroupChannelProps['SuggestedMentionList']) => JSX.Element | null;
80
+ };
81
+ SuggestedMentionList: {
82
+ text: string;
83
+ selection: Range;
84
+ topInset: number;
85
+ bottomInset: number;
86
+ inputHeight: number;
87
+ onPressToMention: (user: SendbirdMember, searchStringRange: Range) => void;
88
+ mentionedUsers: MentionedUser[];
74
89
  };
75
90
  Provider: {
76
91
  channel: SendbirdGroupChannel;
@@ -87,8 +102,8 @@ export interface GroupChannelContextsType {
87
102
  Fragment: React.Context<{
88
103
  headerTitle: string;
89
104
  channel: SendbirdGroupChannel;
90
- editMessage?: SendbirdUserMessage | SendbirdFileMessage;
91
- setEditMessage: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;
105
+ messageToEdit?: SendbirdUserMessage | SendbirdFileMessage;
106
+ setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;
92
107
  keyboardAvoidOffset?: number;
93
108
  }>;
94
109
  TypingIndicator: React.Context<{
@@ -100,7 +115,9 @@ export interface GroupChannelModule {
100
115
  Header: CommonComponent<GroupChannelProps['Header']>;
101
116
  MessageList: CommonComponent<GroupChannelProps['MessageList']>;
102
117
  Input: CommonComponent<GroupChannelProps['Input']>;
118
+ SuggestedMentionList: CommonComponent<GroupChannelProps['SuggestedMentionList']>;
103
119
  StatusEmpty: CommonComponent;
104
120
  StatusLoading: CommonComponent;
105
121
  }
106
- export declare type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;
122
+ export type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;
123
+ export {};
@@ -1,7 +1,7 @@
1
1
  import type React from 'react';
2
2
  import type { SendbirdGroupChannel, SendbirdRestrictedUser } from '@sendbird/uikit-utils';
3
3
  import type { CommonComponent } from '../../types';
4
- export declare type GroupChannelBannedUsersProps = {
4
+ export type GroupChannelBannedUsersProps = {
5
5
  Fragment: {
6
6
  channel: SendbirdGroupChannel;
7
7
  onPressHeaderLeft: GroupChannelBannedUsersProps['Header']['onPressHeaderLeft'];
@@ -30,7 +30,7 @@ export declare type GroupChannelBannedUsersProps = {
30
30
  * For example, the developer can create a custom header
31
31
  * with getting data from the domain context
32
32
  * */
33
- export declare type GroupChannelBannedUsersContextsType = {
33
+ export type GroupChannelBannedUsersContextsType = {
34
34
  Fragment: React.Context<{
35
35
  headerTitle: string;
36
36
  channel: SendbirdGroupChannel;
@@ -44,4 +44,4 @@ export interface GroupChannelBannedUsersModule {
44
44
  StatusLoading: CommonComponent;
45
45
  StatusError: CommonComponent<GroupChannelBannedUsersProps['StatusError']>;
46
46
  }
47
- export declare type GroupChannelBannedUsersFragment = CommonComponent<GroupChannelBannedUsersProps['Fragment']>;
47
+ export type GroupChannelBannedUsersFragment = CommonComponent<GroupChannelBannedUsersProps['Fragment']>;
@@ -71,5 +71,5 @@ export interface GroupChannelListModule {
71
71
  StatusEmpty: CommonComponent;
72
72
  StatusLoading: CommonComponent;
73
73
  }
74
- export declare type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;
75
- export declare type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';
74
+ export type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;
75
+ export type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';
@@ -2,7 +2,7 @@ import type React from 'react';
2
2
  import type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';
3
3
  import type { SendbirdGroupChannel } from '@sendbird/uikit-utils';
4
4
  import type { CommonComponent } from '../../types';
5
- export declare type GroupChannelModerationProps = {
5
+ export type GroupChannelModerationProps = {
6
6
  Fragment: {
7
7
  channel: SendbirdGroupChannel;
8
8
  onPressHeaderLeft: GroupChannelModerationProps['Header']['onPressHeaderLeft'];
@@ -29,7 +29,7 @@ export declare type GroupChannelModerationProps = {
29
29
  * For example, the developer can create a custom header
30
30
  * with getting data from the domain context
31
31
  * */
32
- export declare type GroupChannelModerationContextsType = {
32
+ export type GroupChannelModerationContextsType = {
33
33
  Fragment: React.Context<{
34
34
  headerTitle: string;
35
35
  channel: SendbirdGroupChannel;
@@ -40,4 +40,4 @@ export interface GroupChannelModerationModule {
40
40
  Header: CommonComponent<GroupChannelModerationProps['Header']>;
41
41
  Menu: CommonComponent<GroupChannelModerationProps['Menu']>;
42
42
  }
43
- export declare type GroupChannelModerationFragment = CommonComponent<GroupChannelModerationProps['Fragment']>;
43
+ export type GroupChannelModerationFragment = CommonComponent<GroupChannelModerationProps['Fragment']>;