@sendbird/uikit-react-native 2.1.0 → 2.2.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 (388) hide show
  1. package/lib/commonjs/components/ChatFlatList.js +2 -1
  2. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  3. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  4. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  5. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  6. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  7. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +25 -10
  8. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  9. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
  10. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  11. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +99 -14
  12. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  13. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
  14. package/lib/commonjs/components/MessageRenderer/index.js +22 -3
  15. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
  16. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
  17. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  18. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
  19. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  20. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
  21. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  22. package/lib/commonjs/components/ReactionAddons/index.js +19 -0
  23. package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
  24. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
  25. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  26. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
  27. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  28. package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
  29. package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
  30. package/lib/commonjs/constants.js +3 -1
  31. package/lib/commonjs/constants.js.map +1 -1
  32. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
  33. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  34. package/lib/commonjs/containers/SendbirdUIKitContainer.js +118 -78
  35. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  36. package/lib/commonjs/contexts/ReactionCtx.js +107 -0
  37. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
  38. package/lib/commonjs/contexts/SendbirdChatCtx.js +18 -6
  39. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  40. package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
  41. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  42. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
  43. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  44. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +28 -11
  45. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  46. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +120 -31
  47. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  48. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +31 -12
  49. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  50. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
  51. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  52. package/lib/commonjs/domain/groupChannel/index.js +8 -0
  53. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  54. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
  55. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  56. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
  57. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  58. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  59. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
  60. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  61. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
  62. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  63. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
  64. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  65. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
  66. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  67. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
  68. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  69. package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
  70. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
  71. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
  72. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  73. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
  74. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  75. package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
  76. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
  77. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
  78. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  79. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
  80. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  81. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +9 -14
  82. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  83. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  84. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  85. package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
  86. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  87. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  88. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  89. package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
  90. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  91. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  92. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
  93. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  94. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
  95. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  96. package/lib/commonjs/hooks/useConnection.js +3 -0
  97. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  98. package/lib/commonjs/hooks/useContext.js +11 -1
  99. package/lib/commonjs/hooks/useContext.js.map +1 -1
  100. package/lib/commonjs/hooks/useKeyboardStatus.js +93 -0
  101. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
  102. package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
  103. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
  104. package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
  105. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
  106. package/lib/commonjs/index.js +95 -40
  107. package/lib/commonjs/index.js.map +1 -1
  108. package/lib/commonjs/libs/EmojiManager.js +100 -0
  109. package/lib/commonjs/libs/EmojiManager.js.map +1 -0
  110. package/lib/commonjs/libs/MentionConfig.js +47 -0
  111. package/lib/commonjs/libs/MentionConfig.js.map +1 -0
  112. package/lib/commonjs/libs/MentionManager.js +235 -0
  113. package/lib/commonjs/libs/MentionManager.js.map +1 -0
  114. package/lib/commonjs/localization/StringSet.type.js +17 -5
  115. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  116. package/lib/commonjs/types.js.map +1 -1
  117. package/lib/commonjs/utils/common.js +19 -0
  118. package/lib/commonjs/utils/common.js.map +1 -0
  119. package/lib/commonjs/version.js +1 -1
  120. package/lib/commonjs/version.js.map +1 -1
  121. package/lib/module/components/ChatFlatList.js +3 -2
  122. package/lib/module/components/ChatFlatList.js.map +1 -1
  123. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  124. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  125. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  126. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  127. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +25 -10
  128. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  129. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
  130. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  131. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +101 -17
  132. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  133. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  134. package/lib/module/components/MessageRenderer/index.js +21 -4
  135. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  136. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
  137. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  138. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
  139. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  140. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
  141. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  142. package/lib/module/components/ReactionAddons/index.js +7 -0
  143. package/lib/module/components/ReactionAddons/index.js.map +1 -0
  144. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
  145. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  146. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
  147. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  148. package/lib/module/components/ReactionBottomSheets/index.js +7 -0
  149. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
  150. package/lib/module/constants.js +1 -0
  151. package/lib/module/constants.js.map +1 -1
  152. package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
  153. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  154. package/lib/module/containers/SendbirdUIKitContainer.js +116 -80
  155. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  156. package/lib/module/contexts/ReactionCtx.js +85 -0
  157. package/lib/module/contexts/ReactionCtx.js.map +1 -0
  158. package/lib/module/contexts/SendbirdChatCtx.js +18 -6
  159. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  160. package/lib/module/contexts/UserProfileCtx.js +7 -0
  161. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  162. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
  163. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  164. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +24 -13
  165. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  166. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +117 -33
  167. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  168. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +32 -14
  169. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  170. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
  171. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  172. package/lib/module/domain/groupChannel/index.js +1 -0
  173. package/lib/module/domain/groupChannel/index.js.map +1 -1
  174. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
  175. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  176. package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
  177. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  178. package/lib/module/domain/groupChannel/types.js.map +1 -1
  179. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
  180. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  181. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
  182. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  183. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
  184. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  185. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
  186. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  187. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
  188. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  189. package/lib/module/domain/groupChannelNotifications/index.js +5 -0
  190. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
  191. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
  192. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  193. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
  194. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  195. package/lib/module/domain/groupChannelNotifications/types.js +2 -0
  196. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
  197. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
  198. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  199. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
  200. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  201. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +10 -15
  202. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  203. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  204. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  205. package/lib/module/domain/userList/component/UserListList.js +3 -1
  206. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  207. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  208. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  209. package/lib/module/fragments/createGroupChannelFragment.js +11 -4
  210. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  211. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  212. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
  213. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  214. package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
  215. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  216. package/lib/module/hooks/useConnection.js +3 -0
  217. package/lib/module/hooks/useConnection.js.map +1 -1
  218. package/lib/module/hooks/useContext.js +6 -0
  219. package/lib/module/hooks/useContext.js.map +1 -1
  220. package/lib/module/hooks/useKeyboardStatus.js +75 -0
  221. package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
  222. package/lib/module/hooks/useMentionSuggestion.js +100 -0
  223. package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
  224. package/lib/module/hooks/useMentionTextInput.js +128 -0
  225. package/lib/module/hooks/useMentionTextInput.js.map +1 -0
  226. package/lib/module/index.js +8 -3
  227. package/lib/module/index.js.map +1 -1
  228. package/lib/module/libs/EmojiManager.js +90 -0
  229. package/lib/module/libs/EmojiManager.js.map +1 -0
  230. package/lib/module/libs/MentionConfig.js +39 -0
  231. package/lib/module/libs/MentionConfig.js.map +1 -0
  232. package/lib/module/libs/MentionManager.js +223 -0
  233. package/lib/module/libs/MentionManager.js.map +1 -0
  234. package/lib/module/localization/StringSet.type.js +18 -6
  235. package/lib/module/localization/StringSet.type.js.map +1 -1
  236. package/lib/module/types.js.map +1 -1
  237. package/lib/module/utils/common.js +7 -0
  238. package/lib/module/utils/common.js.map +1 -0
  239. package/lib/module/version.js +1 -1
  240. package/lib/module/version.js.map +1 -1
  241. package/lib/typescript/__template__/types.d.ts +3 -3
  242. package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
  243. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
  244. package/lib/typescript/src/components/FileViewer.d.ts +1 -1
  245. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
  246. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
  247. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
  248. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
  249. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
  250. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
  251. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
  252. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
  253. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
  254. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
  255. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
  256. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
  257. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
  258. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
  259. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
  260. package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
  261. package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
  262. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
  263. package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
  264. package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
  265. package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
  266. package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
  267. package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
  268. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  269. package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
  270. package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
  271. package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
  272. package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
  273. package/lib/typescript/src/constants.d.ts +1 -0
  274. package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
  275. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +12 -3
  276. package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
  277. package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +1 -1
  278. package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
  279. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +10 -2
  280. package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
  281. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
  282. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
  283. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
  284. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
  285. package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
  286. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
  287. package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
  288. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
  289. package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
  290. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
  291. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
  292. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
  293. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
  294. package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
  295. package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
  296. package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
  297. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
  298. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
  299. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  300. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
  301. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
  302. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
  303. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
  304. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
  305. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
  306. package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
  307. package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
  308. package/lib/typescript/src/hooks/useContext.d.ts +4 -0
  309. package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
  310. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
  311. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
  312. package/lib/typescript/src/index.d.ts +7 -2
  313. package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
  314. package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
  315. package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
  316. package/lib/typescript/src/localization/StringSet.type.d.ts +16 -2
  317. package/lib/typescript/src/platform/createMediaService.expo.d.ts +1 -1
  318. package/lib/typescript/src/platform/createMediaService.native.d.ts +1 -1
  319. package/lib/typescript/src/platform/dynamicModule.d.ts +1 -1
  320. package/lib/typescript/src/platform/types.d.ts +5 -5
  321. package/lib/typescript/src/types.d.ts +13 -4
  322. package/lib/typescript/src/utils/common.d.ts +1 -0
  323. package/lib/typescript/src/version.d.ts +1 -1
  324. package/package.json +6 -6
  325. package/src/components/ChatFlatList.tsx +2 -1
  326. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
  327. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +25 -18
  328. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +20 -10
  329. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
  330. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +135 -61
  331. package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
  332. package/src/components/MessageRenderer/index.tsx +39 -7
  333. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
  334. package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
  335. package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
  336. package/src/components/ReactionAddons/index.tsx +7 -0
  337. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
  338. package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
  339. package/src/components/ReactionBottomSheets/index.tsx +24 -0
  340. package/src/constants.ts +2 -0
  341. package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
  342. package/src/containers/SendbirdUIKitContainer.tsx +141 -83
  343. package/src/contexts/ReactionCtx.tsx +102 -0
  344. package/src/contexts/SendbirdChatCtx.tsx +24 -2
  345. package/src/contexts/UserProfileCtx.tsx +9 -0
  346. package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
  347. package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +48 -19
  348. package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +137 -43
  349. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +27 -10
  350. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
  351. package/src/domain/groupChannel/index.ts +1 -0
  352. package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
  353. package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
  354. package/src/domain/groupChannel/types.ts +28 -5
  355. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
  356. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
  357. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
  358. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
  359. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
  360. package/src/domain/groupChannelNotifications/index.ts +4 -0
  361. package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
  362. package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
  363. package/src/domain/groupChannelNotifications/types.ts +38 -0
  364. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
  365. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
  366. package/src/domain/groupChannelSettings/module/moduleContext.tsx +9 -12
  367. package/src/domain/groupChannelSettings/types.ts +2 -0
  368. package/src/domain/groupChannelUserList/types.ts +7 -2
  369. package/src/domain/userList/component/UserListList.tsx +5 -1
  370. package/src/domain/userList/module/createUserListModule.tsx +3 -1
  371. package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
  372. package/src/fragments/createGroupChannelFragment.tsx +19 -6
  373. package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
  374. package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
  375. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  376. package/src/hooks/useConnection.ts +3 -1
  377. package/src/hooks/useContext.ts +7 -0
  378. package/src/hooks/useKeyboardStatus.ts +54 -0
  379. package/src/hooks/useMentionSuggestion.ts +106 -0
  380. package/src/hooks/useMentionTextInput.ts +139 -0
  381. package/src/index.ts +13 -2
  382. package/src/libs/EmojiManager.ts +80 -0
  383. package/src/libs/MentionConfig.ts +40 -0
  384. package/src/libs/MentionManager.tsx +240 -0
  385. package/src/localization/StringSet.type.ts +38 -8
  386. package/src/types.ts +12 -0
  387. package/src/utils/common.ts +8 -0
  388. package/src/version.ts +1 -1
@@ -1,3 +1,3 @@
1
- const VERSION = '2.1.0';
1
+ const VERSION = '2.2.0';
2
2
  export default VERSION;
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.1.0';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAhB;AACA,eAAeA,OAAf"}
1
+ {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.2.0';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAhB;AACA,eAAeA,OAAf"}
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { CommonComponent } from '../../types';
3
- export declare type __domain__Props = {
3
+ export type __domain__Props = {
4
4
  Fragment: {
5
5
  onPressHeaderLeft: __domain__Props['Header']['onPressHeaderLeft'];
6
6
  };
@@ -16,7 +16,7 @@ export declare type __domain__Props = {
16
16
  * For example, the developer can create a custom header
17
17
  * with getting data from the domain context
18
18
  * */
19
- export declare type __domain__ContextsType = {
19
+ export type __domain__ContextsType = {
20
20
  Fragment: React.Context<{
21
21
  headerTitle: string;
22
22
  }>;
@@ -28,4 +28,4 @@ export interface __domain__Module {
28
28
  StatusEmpty: CommonComponent;
29
29
  StatusLoading: CommonComponent;
30
30
  }
31
- export declare type __domain__Fragment = CommonComponent<__domain__Props['Fragment']>;
31
+ export type __domain__Fragment = CommonComponent<__domain__Props['Fragment']>;
@@ -1,6 +1,6 @@
1
1
  import type { StyleProp, ViewStyle } from 'react-native';
2
2
  import { SendbirdGroupChannel } from '@sendbird/uikit-utils';
3
- declare type Props = {
3
+ type Props = {
4
4
  channel: SendbirdGroupChannel;
5
5
  size: number;
6
6
  containerStyle?: StyleProp<ViewStyle>;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { FlatListProps } from 'react-native';
3
3
  import { SendbirdMessage } from '@sendbird/uikit-utils';
4
- export declare type ChatFlatListRef = {
4
+ export type ChatFlatListRef = {
5
5
  scrollToBottom: (animated?: boolean) => void;
6
6
  };
7
7
  declare const ChatFlatList: React.ForwardRefExoticComponent<Omit<FlatListProps<SendbirdMessage>, "onEndReached"> & {
@@ -1,5 +1,5 @@
1
1
  import type { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
- declare type Props = {
2
+ type Props = {
3
3
  fileMessage: SendbirdFileMessage;
4
4
  deleteMessage: () => Promise<void>;
5
5
  onClose: () => void;
@@ -1,5 +1,5 @@
1
1
  import type { SendbirdAdminMessage } from '@sendbird/uikit-utils';
2
2
  import type { MessageRendererInterface } from '../index';
3
- export declare type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;
3
+ export type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;
4
4
  declare const AdminMessage: ({ message, nextMessage }: AdminMessageProps) => JSX.Element;
5
5
  export default AdminMessage;
@@ -1,6 +1,6 @@
1
1
  import type { FileMessageProps } from './index';
2
- declare type Props = FileMessageProps & {
2
+ type Props = FileMessageProps & {
3
3
  type: 'image' | 'audio' | 'video' | 'file';
4
4
  };
5
- declare const BaseFileMessage: ({ message, variant, pressed, type }: Props) => JSX.Element;
5
+ declare const BaseFileMessage: ({ message, variant, pressed, type, children }: Props) => JSX.Element;
6
6
  export default BaseFileMessage;
@@ -1,3 +1,3 @@
1
1
  import type { FileMessageProps } from './index';
2
- declare const ImageFileMessage: ({ message }: FileMessageProps) => JSX.Element;
2
+ declare const ImageFileMessage: ({ message, children, variant }: FileMessageProps) => JSX.Element;
3
3
  export default ImageFileMessage;
@@ -1,3 +1,3 @@
1
1
  import type { FileMessageProps } from './index';
2
- declare const VideoFileMessage: ({ message }: FileMessageProps) => JSX.Element;
2
+ declare const VideoFileMessage: ({ message, variant, children }: FileMessageProps) => JSX.Element;
3
3
  export default VideoFileMessage;
@@ -1,6 +1,15 @@
1
1
  import React from 'react';
2
2
  import { SendbirdFileMessage } from '@sendbird/uikit-utils';
3
3
  import type { MessageRendererInterface } from '../index';
4
- export declare type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;
5
- declare const _default: React.MemoExoticComponent<(props: FileMessageProps) => JSX.Element>;
4
+ export type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;
5
+ declare const _default: React.MemoExoticComponent<(props: {
6
+ message: import("@sendbird/chat/message").FileMessage;
7
+ prevMessage?: import("@sendbird/uikit-utils").SendbirdMessage | undefined;
8
+ nextMessage?: import("@sendbird/uikit-utils").SendbirdMessage | undefined;
9
+ variant: "incoming" | "outgoing";
10
+ groupWithPrev: boolean;
11
+ groupWithNext: boolean;
12
+ pressed: boolean;
13
+ children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | null | undefined;
14
+ }) => JSX.Element>;
6
15
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
- declare type Props = {
2
+ type Props = {
3
3
  message: SendbirdMessage;
4
4
  prevMessage?: SendbirdMessage;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
- declare type Props = {
2
+ type Props = {
3
3
  message: SendbirdMessage;
4
4
  grouping: boolean;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
- declare type Props = {
2
+ type Props = {
3
3
  message: SendbirdMessage;
4
4
  grouping: boolean;
5
5
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { SendbirdGroupChannel, SendbirdMessage } from '@sendbird/uikit-utils';
3
- declare type Props = {
3
+ type Props = {
4
4
  channel: SendbirdGroupChannel;
5
5
  message: SendbirdMessage;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { StyleProp, ViewStyle } from 'react-native';
2
2
  import type { SendbirdMessage } from '@sendbird/uikit-utils';
3
- declare type Props = {
3
+ type Props = {
4
4
  message: SendbirdMessage;
5
5
  grouping: boolean;
6
6
  style?: StyleProp<ViewStyle>;
@@ -1,4 +1,4 @@
1
1
  import type { MessageRendererInterface } from '../index';
2
- export declare type UnknownMessageProps = MessageRendererInterface;
2
+ export type UnknownMessageProps = MessageRendererInterface;
3
3
  declare const UnknownMessage: ({ message, variant, pressed }: UnknownMessageProps) => JSX.Element;
4
4
  export default UnknownMessage;
@@ -1,3 +1,3 @@
1
1
  import type { UserMessageProps } from './index';
2
- declare const BaseUserMessage: ({ message, variant, pressed }: UserMessageProps) => JSX.Element;
2
+ declare const BaseUserMessage: ({ message, variant, pressed, children, onLongPressMentionedUser, onLongPressURL, }: UserMessageProps) => JSX.Element;
3
3
  export default BaseUserMessage;
@@ -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,14 +2,22 @@ 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 { MentionConfigInterface } from '../libs/MentionConfig';
5
6
  import type { StringSet } from '../localization/StringSet.type';
6
7
  import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface } from '../platform/types';
7
8
  import type { ErrorBoundaryProps, LocalCacheStorage } from '../types';
8
9
  export declare const SendbirdUIKit: Readonly<{
9
- VERSION: "2.1.0";
10
+ VERSION: "2.2.0";
10
11
  PLATFORM: string;
12
+ DEFAULT: {
13
+ AUTO_PUSH_TOKEN_REGISTRATION: boolean;
14
+ CHANNEL_LIST_TYPING_INDICATOR: boolean;
15
+ CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: boolean;
16
+ USE_USER_ID_FOR_NICKNAME: boolean;
17
+ USER_MENTION: boolean;
18
+ };
11
19
  }>;
12
- export declare type SendbirdUIKitContainerProps = React.PropsWithChildren<{
20
+ export type SendbirdUIKitContainerProps = React.PropsWithChildren<{
13
21
  appId: string;
14
22
  platformServices: {
15
23
  file: FileServiceInterface;
@@ -38,10 +46,11 @@ export declare type SendbirdUIKitContainerProps = React.PropsWithChildren<{
38
46
  onCreateChannel: (channel: SendbirdBaseChannel) => void;
39
47
  onBeforeCreateChannel?: (channelParams: SendbirdGroupChannelCreateParams, users: SendbirdUser[] | SendbirdMember[]) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;
40
48
  };
49
+ userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;
41
50
  errorBoundary?: {
42
51
  onError?: (props: ErrorBoundaryProps) => void;
43
52
  ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;
44
53
  };
45
54
  }>;
46
- declare const SendbirdUIKitContainer: ({ children, appId, chatOptions, platformServices, localization, styles, toast, userProfile, errorBoundary, }: SendbirdUIKitContainerProps) => JSX.Element;
55
+ declare const SendbirdUIKitContainer: ({ children, appId, chatOptions, platformServices, localization, styles, toast, userProfile, userMention, errorBoundary, }: SendbirdUIKitContainerProps) => JSX.Element;
47
56
  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,6 +1,6 @@
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;
@@ -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,24 @@
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 MentionManager from '../libs/MentionManager';
3
5
  import type { FileType } from '../platform/types';
4
6
  export interface UIKitFeaturesInSendbirdChatContext {
5
7
  enableAutoPushTokenRegistration: boolean;
6
8
  enableChannelListTypingIndicator: boolean;
7
9
  enableChannelListMessageReceiptStatus: boolean;
8
10
  enableUseUserIdForNickname: boolean;
11
+ enableUserMention: boolean;
9
12
  }
10
13
  interface Props extends UIKitFeaturesInSendbirdChatContext, React.PropsWithChildren {
11
14
  sdkInstance: SendbirdChatSDK;
15
+ emojiManager: EmojiManager;
16
+ mentionManager: MentionManager;
12
17
  }
13
- declare type Context = {
18
+ type Context = {
14
19
  sdk: SendbirdChatSDK;
20
+ emojiManager: EmojiManager;
21
+ mentionManager: MentionManager;
15
22
  currentUser?: SendbirdUser;
16
23
  setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;
17
24
  updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;
@@ -21,6 +28,7 @@ declare type Context = {
21
28
  channelListTypingIndicatorEnabled: boolean;
22
29
  channelListMessageReceiptStatusEnabled: boolean;
23
30
  useUserIdForNicknameEnabled: boolean;
31
+ userMentionEnabled: boolean;
24
32
  deliveryReceiptEnabled: boolean;
25
33
  broadcastChannelEnabled: boolean;
26
34
  superGroupChannelEnabled: boolean;
@@ -28,5 +36,5 @@ declare type Context = {
28
36
  };
29
37
  };
30
38
  export declare const SendbirdChatContext: React.Context<Context | null>;
31
- export declare const SendbirdChatProvider: ({ children, sdkInstance, enableAutoPushTokenRegistration, enableChannelListMessageReceiptStatus, enableChannelListTypingIndicator, enableUseUserIdForNickname, }: Props) => JSX.Element;
39
+ export declare const SendbirdChatProvider: ({ children, sdkInstance, emojiManager, mentionManager, enableAutoPushTokenRegistration, enableChannelListMessageReceiptStatus, enableChannelListTypingIndicator, enableUseUserIdForNickname, enableUserMention, }: Props) => JSX.Element;
32
40
  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;