@sendbird/uikit-react-native 2.0.3 → 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 (677) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/components/ChannelCover.js +22 -1
  3. package/lib/commonjs/components/ChannelCover.js.map +1 -1
  4. package/lib/commonjs/components/ChatFlatList.js +2 -1
  5. package/lib/commonjs/components/ChatFlatList.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 +25 -10
  11. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  12. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +9 -2
  13. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.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 +99 -14
  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 +23 -4
  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/components/TypedPlaceholder.js +2 -2
  36. package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
  37. package/lib/commonjs/components/UserActionBar.js +7 -4
  38. package/lib/commonjs/components/UserActionBar.js.map +1 -1
  39. package/lib/commonjs/constants.js +3 -1
  40. package/lib/commonjs/constants.js.map +1 -1
  41. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +9 -1
  42. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  43. package/lib/commonjs/containers/SendbirdUIKitContainer.js +130 -83
  44. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  45. package/lib/commonjs/contexts/{Localization.js → LocalizationCtx.js} +1 -1
  46. package/lib/commonjs/contexts/LocalizationCtx.js.map +1 -0
  47. package/lib/commonjs/contexts/{PlatformService.js → PlatformServiceCtx.js} +1 -1
  48. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -0
  49. package/lib/commonjs/contexts/ReactionCtx.js +107 -0
  50. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
  51. package/lib/commonjs/contexts/{SendbirdChat.js → SendbirdChatCtx.js} +21 -7
  52. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -0
  53. package/lib/commonjs/contexts/UserProfileCtx.js +125 -0
  54. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -0
  55. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -36
  56. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  57. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +31 -12
  58. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  59. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +129 -35
  60. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  61. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +31 -12
  62. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  63. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
  64. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  65. package/lib/commonjs/domain/groupChannel/index.js +8 -0
  66. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  67. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
  68. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  69. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
  70. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  71. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  72. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +39 -0
  73. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
  74. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +54 -0
  75. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
  76. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +34 -0
  77. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
  78. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +38 -0
  79. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
  80. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +34 -0
  81. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
  82. package/lib/commonjs/domain/groupChannelBannedUsers/index.js +62 -0
  83. package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -0
  84. package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +45 -0
  85. package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
  86. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +45 -0
  87. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
  88. package/lib/commonjs/domain/groupChannelBannedUsers/types.js +6 -0
  89. package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -0
  90. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
  91. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  92. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +32 -30
  93. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  94. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  95. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +39 -0
  96. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
  97. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +103 -0
  98. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
  99. package/lib/commonjs/domain/groupChannelModeration/index.js +46 -0
  100. package/lib/commonjs/domain/groupChannelModeration/index.js.map +1 -0
  101. package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +33 -0
  102. package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
  103. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +46 -0
  104. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
  105. package/lib/commonjs/domain/groupChannelModeration/types.js +6 -0
  106. package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -0
  107. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +39 -0
  108. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
  109. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +52 -0
  110. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
  111. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +34 -0
  112. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
  113. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +38 -0
  114. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
  115. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +34 -0
  116. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
  117. package/lib/commonjs/domain/groupChannelMutedMembers/index.js +70 -0
  118. package/lib/commonjs/domain/groupChannelMutedMembers/index.js.map +1 -0
  119. package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +45 -0
  120. package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
  121. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +45 -0
  122. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
  123. package/lib/commonjs/domain/groupChannelMutedMembers/types.js +6 -0
  124. package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -0
  125. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
  126. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  127. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
  128. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  129. package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
  130. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
  131. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
  132. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  133. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
  134. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  135. package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
  136. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
  137. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +44 -0
  138. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
  139. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +52 -0
  140. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
  141. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +34 -0
  142. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
  143. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +38 -0
  144. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
  145. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +34 -0
  146. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
  147. package/lib/commonjs/domain/groupChannelOperators/index.js +70 -0
  148. package/lib/commonjs/domain/groupChannelOperators/index.js.map +1 -0
  149. package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +45 -0
  150. package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
  151. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +45 -0
  152. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
  153. package/lib/commonjs/domain/groupChannelOperators/types.js +6 -0
  154. package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -0
  155. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -8
  156. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
  157. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +60 -6
  158. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  159. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +9 -14
  160. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  161. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  162. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  163. package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
  164. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  165. package/lib/commonjs/domain/userList/component/UserListStatusError.js +2 -2
  166. package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -1
  167. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  168. package/lib/commonjs/domain/userList/types.js.map +1 -1
  169. package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js +101 -0
  170. package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
  171. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +9 -25
  172. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  173. package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -8
  174. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  175. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +21 -37
  176. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  177. package/lib/commonjs/fragments/createGroupChannelListFragment.js +3 -11
  178. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  179. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +95 -51
  180. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
  181. package/lib/commonjs/fragments/createGroupChannelModerationFragment.js +68 -0
  182. package/lib/commonjs/fragments/createGroupChannelModerationFragment.js.map +1 -0
  183. package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +116 -0
  184. package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
  185. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
  186. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  187. package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +129 -0
  188. package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
  189. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +114 -0
  190. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
  191. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +5 -1
  192. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  193. package/lib/commonjs/hooks/useConnection.js +7 -0
  194. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  195. package/lib/commonjs/hooks/useContext.js +27 -7
  196. package/lib/commonjs/hooks/useContext.js.map +1 -1
  197. package/lib/commonjs/hooks/useKeyboardStatus.js +93 -0
  198. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
  199. package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
  200. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
  201. package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
  202. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
  203. package/lib/commonjs/index.js +165 -42
  204. package/lib/commonjs/index.js.map +1 -1
  205. package/lib/commonjs/libs/EmojiManager.js +100 -0
  206. package/lib/commonjs/libs/EmojiManager.js.map +1 -0
  207. package/lib/commonjs/libs/MentionConfig.js +47 -0
  208. package/lib/commonjs/libs/MentionConfig.js.map +1 -0
  209. package/lib/commonjs/libs/MentionManager.js +235 -0
  210. package/lib/commonjs/libs/MentionManager.js.map +1 -0
  211. package/lib/commonjs/localization/StringSet.type.js +77 -16
  212. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  213. package/lib/commonjs/platform/createFileService.native.js.map +1 -1
  214. package/lib/commonjs/types.js.map +1 -1
  215. package/lib/commonjs/utils/common.js +19 -0
  216. package/lib/commonjs/utils/common.js.map +1 -0
  217. package/lib/commonjs/version.js +1 -1
  218. package/lib/commonjs/version.js.map +1 -1
  219. package/lib/module/components/ChannelCover.js +22 -2
  220. package/lib/module/components/ChannelCover.js.map +1 -1
  221. package/lib/module/components/ChatFlatList.js +3 -2
  222. package/lib/module/components/ChatFlatList.js.map +1 -1
  223. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  224. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  225. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  226. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  227. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +25 -10
  228. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  229. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +9 -3
  230. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
  231. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
  232. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  233. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +101 -17
  234. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  235. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  236. package/lib/module/components/MessageRenderer/index.js +22 -5
  237. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  238. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
  239. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  240. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
  241. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  242. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
  243. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  244. package/lib/module/components/ReactionAddons/index.js +7 -0
  245. package/lib/module/components/ReactionAddons/index.js.map +1 -0
  246. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
  247. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  248. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
  249. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  250. package/lib/module/components/ReactionBottomSheets/index.js +7 -0
  251. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
  252. package/lib/module/components/TypedPlaceholder.js +2 -2
  253. package/lib/module/components/TypedPlaceholder.js.map +1 -1
  254. package/lib/module/components/UserActionBar.js +8 -5
  255. package/lib/module/components/UserActionBar.js.map +1 -1
  256. package/lib/module/constants.js +1 -0
  257. package/lib/module/constants.js.map +1 -1
  258. package/lib/module/containers/GroupChannelPreviewContainer.js +9 -1
  259. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  260. package/lib/module/containers/SendbirdUIKitContainer.js +123 -81
  261. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  262. package/lib/module/contexts/{Localization.js → LocalizationCtx.js} +1 -1
  263. package/lib/module/contexts/LocalizationCtx.js.map +1 -0
  264. package/lib/module/contexts/{PlatformService.js → PlatformServiceCtx.js} +1 -1
  265. package/lib/module/contexts/PlatformServiceCtx.js.map +1 -0
  266. package/lib/module/contexts/ReactionCtx.js +85 -0
  267. package/lib/module/contexts/ReactionCtx.js.map +1 -0
  268. package/lib/module/contexts/{SendbirdChat.js → SendbirdChatCtx.js} +21 -7
  269. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -0
  270. package/lib/module/contexts/UserProfileCtx.js +101 -0
  271. package/lib/module/contexts/UserProfileCtx.js.map +1 -0
  272. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +35 -38
  273. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  274. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +27 -14
  275. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  276. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +126 -37
  277. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  278. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +32 -14
  279. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  280. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
  281. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  282. package/lib/module/domain/groupChannel/index.js +1 -0
  283. package/lib/module/domain/groupChannel/index.js.map +1 -1
  284. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
  285. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  286. package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
  287. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  288. package/lib/module/domain/groupChannel/types.js.map +1 -1
  289. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +25 -0
  290. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
  291. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +41 -0
  292. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
  293. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +21 -0
  294. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
  295. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +25 -0
  296. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
  297. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +21 -0
  298. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
  299. package/lib/module/domain/groupChannelBannedUsers/index.js +7 -0
  300. package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -0
  301. package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +30 -0
  302. package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
  303. package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js +25 -0
  304. package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
  305. package/lib/module/domain/groupChannelBannedUsers/types.js +2 -0
  306. package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -0
  307. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
  308. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  309. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +34 -33
  310. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  311. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  312. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +25 -0
  313. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
  314. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +87 -0
  315. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
  316. package/lib/module/domain/groupChannelModeration/index.js +5 -0
  317. package/lib/module/domain/groupChannelModeration/index.js.map +1 -0
  318. package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +21 -0
  319. package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
  320. package/lib/module/domain/groupChannelModeration/module/moduleContext.js +26 -0
  321. package/lib/module/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
  322. package/lib/module/domain/groupChannelModeration/types.js +2 -0
  323. package/lib/module/domain/groupChannelModeration/types.js.map +1 -0
  324. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +25 -0
  325. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
  326. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +39 -0
  327. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
  328. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +21 -0
  329. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
  330. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +25 -0
  331. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
  332. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +21 -0
  333. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
  334. package/lib/module/domain/groupChannelMutedMembers/index.js +8 -0
  335. package/lib/module/domain/groupChannelMutedMembers/index.js.map +1 -0
  336. package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +30 -0
  337. package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
  338. package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js +25 -0
  339. package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
  340. package/lib/module/domain/groupChannelMutedMembers/types.js +2 -0
  341. package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -0
  342. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
  343. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  344. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
  345. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  346. package/lib/module/domain/groupChannelNotifications/index.js +5 -0
  347. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
  348. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
  349. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  350. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
  351. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  352. package/lib/module/domain/groupChannelNotifications/types.js +2 -0
  353. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
  354. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +30 -0
  355. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
  356. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +39 -0
  357. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
  358. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +21 -0
  359. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
  360. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +25 -0
  361. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
  362. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +21 -0
  363. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
  364. package/lib/module/domain/groupChannelOperators/index.js +8 -0
  365. package/lib/module/domain/groupChannelOperators/index.js.map +1 -0
  366. package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +30 -0
  367. package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
  368. package/lib/module/domain/groupChannelOperators/module/moduleContext.js +25 -0
  369. package/lib/module/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
  370. package/lib/module/domain/groupChannelOperators/types.js +2 -0
  371. package/lib/module/domain/groupChannelOperators/types.js.map +1 -0
  372. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +2 -8
  373. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
  374. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +57 -6
  375. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  376. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +10 -15
  377. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  378. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  379. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  380. package/lib/module/domain/userList/component/UserListList.js +3 -1
  381. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  382. package/lib/module/domain/userList/component/UserListStatusError.js +2 -2
  383. package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -1
  384. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  385. package/lib/module/domain/userList/types.js.map +1 -1
  386. package/lib/module/fragments/createGroupChannelBannedUsersFragment.js +84 -0
  387. package/lib/module/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
  388. package/lib/module/fragments/createGroupChannelCreateFragment.js +10 -26
  389. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  390. package/lib/module/fragments/createGroupChannelFragment.js +22 -8
  391. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  392. package/lib/module/fragments/createGroupChannelInviteFragment.js +22 -37
  393. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  394. package/lib/module/fragments/createGroupChannelListFragment.js +4 -11
  395. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  396. package/lib/module/fragments/createGroupChannelMembersFragment.js +99 -56
  397. package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
  398. package/lib/module/fragments/createGroupChannelModerationFragment.js +53 -0
  399. package/lib/module/fragments/createGroupChannelModerationFragment.js.map +1 -0
  400. package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +98 -0
  401. package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
  402. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
  403. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  404. package/lib/module/fragments/createGroupChannelOperatorsFragment.js +111 -0
  405. package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
  406. package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js +94 -0
  407. package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
  408. package/lib/module/fragments/createGroupChannelSettingsFragment.js +5 -1
  409. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  410. package/lib/module/hooks/useConnection.js +7 -0
  411. package/lib/module/hooks/useConnection.js.map +1 -1
  412. package/lib/module/hooks/useContext.js +15 -3
  413. package/lib/module/hooks/useContext.js.map +1 -1
  414. package/lib/module/hooks/useKeyboardStatus.js +75 -0
  415. package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
  416. package/lib/module/hooks/useMentionSuggestion.js +100 -0
  417. package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
  418. package/lib/module/hooks/useMentionTextInput.js +128 -0
  419. package/lib/module/hooks/useMentionTextInput.js.map +1 -0
  420. package/lib/module/index.js +17 -6
  421. package/lib/module/index.js.map +1 -1
  422. package/lib/module/libs/EmojiManager.js +90 -0
  423. package/lib/module/libs/EmojiManager.js.map +1 -0
  424. package/lib/module/libs/MentionConfig.js +39 -0
  425. package/lib/module/libs/MentionConfig.js.map +1 -0
  426. package/lib/module/libs/MentionManager.js +223 -0
  427. package/lib/module/libs/MentionManager.js.map +1 -0
  428. package/lib/module/localization/StringSet.type.js +78 -17
  429. package/lib/module/localization/StringSet.type.js.map +1 -1
  430. package/lib/module/platform/createFileService.native.js.map +1 -1
  431. package/lib/module/types.js.map +1 -1
  432. package/lib/module/utils/common.js +7 -0
  433. package/lib/module/utils/common.js.map +1 -0
  434. package/lib/module/version.js +1 -1
  435. package/lib/module/version.js.map +1 -1
  436. package/lib/typescript/__template__/types.d.ts +3 -3
  437. package/lib/typescript/src/components/ChannelCover.d.ts +2 -2
  438. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
  439. package/lib/typescript/src/components/FileViewer.d.ts +1 -1
  440. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
  441. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
  442. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
  443. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
  444. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
  445. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
  446. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
  447. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
  448. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
  449. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
  450. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
  451. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
  452. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
  453. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
  454. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
  455. package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
  456. package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
  457. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
  458. package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
  459. package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
  460. package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
  461. package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
  462. package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
  463. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  464. package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
  465. package/lib/typescript/src/components/TypedPlaceholder.d.ts +2 -2
  466. package/lib/typescript/src/components/UserActionBar.d.ts +5 -3
  467. package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
  468. package/lib/typescript/src/constants.d.ts +1 -0
  469. package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
  470. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +19 -8
  471. package/lib/typescript/src/contexts/{Localization.d.ts → LocalizationCtx.d.ts} +2 -2
  472. package/lib/typescript/src/contexts/{PlatformService.d.ts → PlatformServiceCtx.d.ts} +1 -1
  473. package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
  474. package/lib/typescript/src/contexts/{SendbirdChat.d.ts → SendbirdChatCtx.d.ts} +17 -5
  475. package/lib/typescript/src/contexts/UserProfileCtx.d.ts +15 -0
  476. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +36 -7
  477. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +34 -5
  478. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +20 -3
  479. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
  480. package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
  481. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
  482. package/lib/typescript/src/domain/groupChannel/types.d.ts +25 -8
  483. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.d.ts +3 -0
  484. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.d.ts +3 -0
  485. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.d.ts +2 -0
  486. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.d.ts +3 -0
  487. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.d.ts +2 -0
  488. package/lib/typescript/src/domain/groupChannelBannedUsers/index.d.ts +6 -0
  489. package/lib/typescript/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.d.ts +3 -0
  490. package/lib/typescript/src/domain/groupChannelBannedUsers/module/moduleContext.d.ts +3 -0
  491. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +47 -0
  492. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +1 -1
  493. package/lib/typescript/src/domain/groupChannelList/types.d.ts +5 -11
  494. package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.d.ts +3 -0
  495. package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.d.ts +3 -0
  496. package/lib/typescript/src/domain/groupChannelModeration/index.d.ts +4 -0
  497. package/lib/typescript/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.d.ts +3 -0
  498. package/lib/typescript/src/domain/groupChannelModeration/module/moduleContext.d.ts +3 -0
  499. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +43 -0
  500. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.d.ts +3 -0
  501. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +3 -0
  502. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.d.ts +2 -0
  503. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.d.ts +3 -0
  504. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.d.ts +2 -0
  505. package/lib/typescript/src/domain/groupChannelMutedMembers/index.d.ts +7 -0
  506. package/lib/typescript/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.d.ts +3 -0
  507. package/lib/typescript/src/domain/groupChannelMutedMembers/module/moduleContext.d.ts +3 -0
  508. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +47 -0
  509. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
  510. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
  511. package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
  512. package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
  513. package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
  514. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
  515. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.d.ts +3 -0
  516. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +3 -0
  517. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.d.ts +2 -0
  518. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.d.ts +3 -0
  519. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.d.ts +2 -0
  520. package/lib/typescript/src/domain/groupChannelOperators/index.d.ts +7 -0
  521. package/lib/typescript/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.d.ts +3 -0
  522. package/lib/typescript/src/domain/groupChannelOperators/module/moduleContext.d.ts +3 -0
  523. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +49 -0
  524. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +1 -1
  525. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  526. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +5 -1
  527. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +17 -11
  528. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
  529. package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +2 -2
  530. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
  531. package/lib/typescript/src/domain/userList/types.d.ts +4 -3
  532. package/lib/typescript/src/fragments/createGroupChannelBannedUsersFragment.d.ts +3 -0
  533. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +2 -1
  534. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +2 -1
  535. package/lib/typescript/src/fragments/createGroupChannelModerationFragment.d.ts +3 -0
  536. package/lib/typescript/src/fragments/createGroupChannelMutedMembersFragment.d.ts +3 -0
  537. package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
  538. package/lib/typescript/src/fragments/createGroupChannelOperatorsFragment.d.ts +3 -0
  539. package/lib/typescript/src/fragments/createGroupChannelRegisterOperatorFragment.d.ts +5 -0
  540. package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
  541. package/lib/typescript/src/hooks/useContext.d.ts +7 -1
  542. package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
  543. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
  544. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
  545. package/lib/typescript/src/index.d.ts +16 -5
  546. package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
  547. package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
  548. package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
  549. package/lib/typescript/src/localization/StringSet.type.d.ts +63 -9
  550. package/lib/typescript/src/platform/createFileService.native.d.ts +1 -1
  551. package/lib/typescript/src/platform/createMediaService.expo.d.ts +1 -1
  552. package/lib/typescript/src/platform/createMediaService.native.d.ts +1 -1
  553. package/lib/typescript/src/platform/dynamicModule.d.ts +1 -1
  554. package/lib/typescript/src/platform/types.d.ts +5 -5
  555. package/lib/typescript/src/types.d.ts +13 -4
  556. package/lib/typescript/src/utils/common.d.ts +1 -0
  557. package/lib/typescript/src/version.d.ts +1 -1
  558. package/package.json +11 -11
  559. package/src/components/ChannelCover.tsx +23 -3
  560. package/src/components/ChatFlatList.tsx +2 -1
  561. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
  562. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +25 -18
  563. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +20 -10
  564. package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +9 -2
  565. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
  566. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +135 -61
  567. package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
  568. package/src/components/MessageRenderer/index.tsx +40 -8
  569. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
  570. package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
  571. package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
  572. package/src/components/ReactionAddons/index.tsx +7 -0
  573. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
  574. package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
  575. package/src/components/ReactionBottomSheets/index.tsx +24 -0
  576. package/src/components/TypedPlaceholder.tsx +4 -4
  577. package/src/components/UserActionBar.tsx +10 -4
  578. package/src/constants.ts +2 -0
  579. package/src/containers/GroupChannelPreviewContainer.tsx +8 -1
  580. package/src/containers/SendbirdUIKitContainer.tsx +161 -84
  581. package/src/contexts/{Localization.tsx → LocalizationCtx.tsx} +0 -0
  582. package/src/contexts/{PlatformService.tsx → PlatformServiceCtx.tsx} +0 -0
  583. package/src/contexts/ReactionCtx.tsx +102 -0
  584. package/src/contexts/{SendbirdChat.tsx → SendbirdChatCtx.tsx} +34 -6
  585. package/src/contexts/UserProfileCtx.tsx +135 -0
  586. package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +57 -29
  587. package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +56 -13
  588. package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +138 -41
  589. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +27 -10
  590. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
  591. package/src/domain/groupChannel/index.ts +1 -0
  592. package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
  593. package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
  594. package/src/domain/groupChannel/types.ts +29 -6
  595. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.tsx +14 -0
  596. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +33 -0
  597. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.tsx +18 -0
  598. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.tsx +19 -0
  599. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.tsx +18 -0
  600. package/src/domain/groupChannelBannedUsers/index.ts +6 -0
  601. package/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.tsx +21 -0
  602. package/src/domain/groupChannelBannedUsers/module/moduleContext.tsx +30 -0
  603. package/src/domain/groupChannelBannedUsers/types.ts +50 -0
  604. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
  605. package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +37 -43
  606. package/src/domain/groupChannelList/types.ts +3 -9
  607. package/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.tsx +14 -0
  608. package/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.tsx +84 -0
  609. package/src/domain/groupChannelModeration/index.ts +4 -0
  610. package/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.tsx +15 -0
  611. package/src/domain/groupChannelModeration/module/moduleContext.tsx +33 -0
  612. package/src/domain/groupChannelModeration/types.ts +48 -0
  613. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.tsx +14 -0
  614. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +31 -0
  615. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.tsx +18 -0
  616. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.tsx +19 -0
  617. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.tsx +18 -0
  618. package/src/domain/groupChannelMutedMembers/index.ts +7 -0
  619. package/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.tsx +21 -0
  620. package/src/domain/groupChannelMutedMembers/module/moduleContext.tsx +30 -0
  621. package/src/domain/groupChannelMutedMembers/types.ts +50 -0
  622. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
  623. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
  624. package/src/domain/groupChannelNotifications/index.ts +4 -0
  625. package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
  626. package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
  627. package/src/domain/groupChannelNotifications/types.ts +38 -0
  628. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.tsx +25 -0
  629. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +30 -0
  630. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.tsx +18 -0
  631. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.tsx +19 -0
  632. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.tsx +18 -0
  633. package/src/domain/groupChannelOperators/index.ts +7 -0
  634. package/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.tsx +21 -0
  635. package/src/domain/groupChannelOperators/module/moduleContext.tsx +30 -0
  636. package/src/domain/groupChannelOperators/types.ts +52 -0
  637. package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +2 -7
  638. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +51 -3
  639. package/src/domain/groupChannelSettings/module/moduleContext.tsx +9 -12
  640. package/src/domain/groupChannelSettings/types.ts +4 -0
  641. package/src/domain/groupChannelUserList/types.ts +31 -11
  642. package/src/domain/userList/component/UserListList.tsx +5 -1
  643. package/src/domain/userList/component/UserListStatusError.tsx +2 -2
  644. package/src/domain/userList/module/createUserListModule.tsx +3 -1
  645. package/src/domain/userList/types.ts +4 -1
  646. package/src/fragments/createGroupChannelBannedUsersFragment.tsx +80 -0
  647. package/src/fragments/createGroupChannelCreateFragment.tsx +18 -32
  648. package/src/fragments/createGroupChannelFragment.tsx +31 -11
  649. package/src/fragments/createGroupChannelInviteFragment.tsx +28 -50
  650. package/src/fragments/createGroupChannelListFragment.tsx +4 -10
  651. package/src/fragments/createGroupChannelMembersFragment.tsx +110 -67
  652. package/src/fragments/createGroupChannelModerationFragment.tsx +57 -0
  653. package/src/fragments/createGroupChannelMutedMembersFragment.tsx +93 -0
  654. package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
  655. package/src/fragments/createGroupChannelOperatorsFragment.tsx +101 -0
  656. package/src/fragments/createGroupChannelRegisterOperatorFragment.tsx +94 -0
  657. package/src/fragments/createGroupChannelSettingsFragment.tsx +11 -1
  658. package/src/hooks/useConnection.ts +5 -1
  659. package/src/hooks/useContext.ts +17 -3
  660. package/src/hooks/useKeyboardStatus.ts +54 -0
  661. package/src/hooks/useMentionSuggestion.ts +106 -0
  662. package/src/hooks/useMentionTextInput.ts +139 -0
  663. package/src/index.ts +22 -5
  664. package/src/libs/EmojiManager.ts +80 -0
  665. package/src/libs/MentionConfig.ts +40 -0
  666. package/src/libs/MentionManager.tsx +240 -0
  667. package/src/localization/StringSet.type.ts +137 -22
  668. package/src/platform/createFileService.native.ts +1 -1
  669. package/src/types.ts +12 -0
  670. package/src/utils/common.ts +8 -0
  671. package/src/version.ts +1 -1
  672. package/lib/commonjs/contexts/Localization.js.map +0 -1
  673. package/lib/commonjs/contexts/PlatformService.js.map +0 -1
  674. package/lib/commonjs/contexts/SendbirdChat.js.map +0 -1
  675. package/lib/module/contexts/Localization.js.map +0 -1
  676. package/lib/module/contexts/PlatformService.js.map +0 -1
  677. package/lib/module/contexts/SendbirdChat.js.map +0 -1
@@ -2,6 +2,8 @@
2
2
  import { Platform } from 'react-native';
3
3
  import { Logger } from '@sendbird/uikit-utils';
4
4
  export { default as MessageRenderer } from './components/MessageRenderer';
5
+ export { ReactionAddons } from './components/ReactionAddons';
6
+ export { ReactionBottomSheets } from './components/ReactionBottomSheets';
5
7
  export { default as ChannelCover } from './components/ChannelCover';
6
8
  export { default as ChatFlatList } from './components/ChatFlatList';
7
9
  export { default as FileViewer } from './components/FileViewer';
@@ -20,16 +22,23 @@ export { default as createGroupChannelSettingsFragment } from './fragments/creat
20
22
  export { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';
21
23
  export { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';
22
24
  export { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';
25
+ export { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';
26
+ export { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';
27
+ export { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';
28
+ export { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';
29
+ export { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';
30
+ export { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';
23
31
  /** Context **/
24
32
 
25
- export { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChat';
26
- export { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformService';
27
- export { LocalizationContext, LocalizationProvider } from './contexts/Localization';
33
+ export { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';
34
+ export { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';
35
+ export { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';
36
+ export { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';
28
37
  /** Hooks **/
29
38
 
30
39
  export { default as useConnection } from './hooks/useConnection';
31
40
  export { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';
32
- export { useLocalization, usePlatformService, useSendbirdChat } from './hooks/useContext';
41
+ export * from './hooks/useContext';
33
42
  /** Localization **/
34
43
 
35
44
  export { default as StringSetEn } from './localization/StringSet.en';
@@ -49,10 +58,12 @@ export { default as createExpoMediaService } from './platform/createMediaService
49
58
  export * from './domain/groupChannel';
50
59
  export * from './domain/groupChannelSettings';
51
60
  export * from './domain/groupChannelList';
52
- export * from './domain/userList';
61
+ export * from './domain/groupChannelNotifications';
62
+ export { GroupChannelNotificationsProps, GroupChannelNotificationsContextsType, GroupChannelNotificationsFragment, GroupChannelNotificationsModule } from './domain/groupChannelNotifications/types';
53
63
  export * from './domain/groupChannelUserList/types';
54
- /** UIKit **/
64
+ export * from './domain/userList';
55
65
 
66
+ /** UIKit **/
56
67
  export { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';
57
68
  export { default as SBUError } from './libs/SBUError';
58
69
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Logger","default","MessageRenderer","ChannelCover","ChatFlatList","FileViewer","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","useLocalization","usePlatformService","useSendbirdChat","StringSetEn","createBaseStringSet","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","SendbirdUIKitContainer","SendbirdUIKit","SBUError","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChat';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformService';\nexport { LocalizationContext, LocalizationProvider } from './contexts/Localization';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport { useLocalization, usePlatformService, useSendbirdChat } from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\nexport * from './domain/groupChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,cAAzB;AAEA,SAASC,MAAT,QAAuB,uBAAvB;AAEA,SAASC,OAAO,IAAIC,eAApB,QAA2C,8BAA3C;AACA,SAASD,OAAO,IAAIE,YAApB,QAAwC,2BAAxC;AACA,SAASF,OAAO,IAAIG,YAApB,QAAwC,2BAAxC;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,yBAAtC;AACA,SAASJ,OAAO,IAAIK,iBAApB,QAA6C,gCAA7C;AACA,SAASL,OAAO,IAAIM,cAApB,QAA0C,6BAA1C;AACA,SAASN,OAAO,IAAIO,oBAApB,QAAgD,mCAAhD;AACA,SAASP,OAAO,IAAIQ,iBAApB,QAA6C,gCAA7C;AACA,SAASR,OAAO,IAAIS,gBAApB,QAA4C,+BAA5C;AACA,SAAST,OAAO,IAAIU,aAApB,QAAyC,4BAAzC;AACA,SAASV,OAAO,IAAIW,iBAApB,QAA6C,gCAA7C;AAEA;;AACA,SAASX,OAAO,IAAIY,gCAApB,QAA4D,8CAA5D;AACA,SAASZ,OAAO,IAAIa,0BAApB,QAAsD,wCAAtD;AACA,SAASb,OAAO,IAAIc,kCAApB,QAA8D,gDAA9D;AACA,SAASd,OAAO,IAAIe,gCAApB,QAA4D,8CAA5D;AACA,SAASf,OAAO,IAAIgB,8BAApB,QAA0D,4CAA1D;AACA,SAAShB,OAAO,IAAIiB,iCAApB,QAA6D,+CAA7D;AAEA;;AACA,SAASC,mBAAT,EAA8BC,oBAA9B,QAA0D,yBAA1D;AACA,SAASC,sBAAT,EAAiCC,uBAAjC,QAAgE,4BAAhE;AACA,SAASC,mBAAT,EAA8BC,oBAA9B,QAA0D,yBAA1D;AAEA;;AACA,SAASvB,OAAO,IAAIwB,aAApB,QAAyC,uBAAzC;AACA,SAASxB,OAAO,IAAIyB,wBAApB,QAAoD,kCAApD;AACA,SAASC,eAAT,EAA0BC,kBAA1B,EAA8CC,eAA9C,QAAqE,oBAArE;AAEA;;AACA,SAAS5B,OAAO,IAAI6B,WAApB,QAAuC,6BAAvC;AACA,SAASC,mBAAT,QAAoC,+BAApC;;AAGA;AACA,SAAS9B,OAAO,IAAI+B,uBAApB,QAAmD,qCAAnD;AACA,SAAS/B,OAAO,IAAIgC,4BAApB,QAAwD,0CAAxD;AACA,SAAShC,OAAO,IAAIiC,+BAApB,QAA2D,6CAA3D;AACA,SAASjC,OAAO,IAAIkC,wBAApB,QAAoD,sCAApD;AACA,SAASlC,OAAO,IAAImC,qBAApB,QAAiD,mCAAjD;AACA,SAASnC,OAAO,IAAIoC,0BAApB,QAAsD,wCAAtD;AACA,SAASpC,OAAO,IAAIqC,6BAApB,QAAyD,2CAAzD;AACA,SAASrC,OAAO,IAAIsC,sBAApB,QAAkD,oCAAlD;;AAmBA;AACA,cAAc,uBAAd;AAQA,cAAc,+BAAd;AAQA,cAAc,2BAAd;AASA,cAAc,mBAAd;AAEA,cAAc,qCAAd;AAEA;;AACA,SAAStC,OAAO,IAAIuC,sBAApB,EAA4CC,aAA5C,QAAiE,qCAAjE;AAEA,SAASxC,OAAO,IAAIyC,QAApB,QAAoC,iBAApC;AAEA,cAAc,SAAd;AAEA1C,MAAM,CAAC2C,WAAP,CAAmBC,OAAO,GAAG,MAAH,GAAY,MAAtC;AACA5C,MAAM,CAAC6C,QAAP,CAAiB,UAAS9C,QAAQ,CAAC+C,EAAG,GAAtC"}
1
+ {"version":3,"names":["Platform","Logger","default","MessageRenderer","ReactionAddons","ReactionBottomSheets","ChannelCover","ChatFlatList","FileViewer","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","createGroupChannelModerationFragment","createGroupChannelOperatorsFragment","createGroupChannelRegisterOperatorFragment","createGroupChannelMutedMembersFragment","createGroupChannelBannedUsersFragment","createGroupChannelNotificationsFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","UserProfileContext","UserProfileProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","StringSetEn","createBaseStringSet","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","GroupChannelNotificationsProps","GroupChannelNotificationsContextsType","GroupChannelNotificationsFragment","GroupChannelNotificationsModule","SendbirdUIKitContainer","SendbirdUIKit","SBUError","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { ReactionAddons } from './components/ReactionAddons';\nexport { ReactionBottomSheets } from './components/ReactionBottomSheets';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\nexport { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';\nexport { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';\nexport { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';\nexport { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';\nexport { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';\nexport { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport * from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/groupChannelNotifications';\nexport {\n GroupChannelNotificationsProps,\n GroupChannelNotificationsContextsType,\n GroupChannelNotificationsFragment,\n GroupChannelNotificationsModule,\n} from './domain/groupChannelNotifications/types';\n\nexport * from './domain/groupChannelUserList/types';\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import InternalLocalCacheStorage from './InternalLocalCacheStorage';
4
+
5
+ class MemoryStorage {
6
+ constructor() {
7
+ _defineProperty(this, "_data", {});
8
+ }
9
+
10
+ async getAllKeys() {
11
+ return Object.keys(this._data);
12
+ }
13
+
14
+ async getItem(key) {
15
+ return this._data[key];
16
+ }
17
+
18
+ async removeItem(key) {
19
+ delete this._data[key];
20
+ }
21
+
22
+ async setItem(key, value) {
23
+ this._data[key] = value;
24
+ }
25
+
26
+ }
27
+
28
+ class EmojiManager {
29
+ constructor() {
30
+ let internalStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new InternalLocalCacheStorage(new MemoryStorage());
31
+ this.internalStorage = internalStorage;
32
+
33
+ _defineProperty(this, "emojiStorage", {
34
+ data: null,
35
+ get: async () => {
36
+ if (!this.emojiStorage.data) {
37
+ const strItem = await this.internalStorage.getItem(EmojiManager.key);
38
+ if (strItem) this.emojiStorage.data = Object.freeze(JSON.parse(strItem));
39
+ }
40
+
41
+ return this.emojiStorage.data;
42
+ },
43
+ set: async data => {
44
+ this.emojiStorage.data = Object.freeze(data);
45
+ await this.internalStorage.setItem(EmojiManager.key, JSON.stringify(data));
46
+ }
47
+ });
48
+
49
+ _defineProperty(this, "_emojiCategoryMap", {});
50
+
51
+ _defineProperty(this, "_allEmojiMap", {});
52
+
53
+ _defineProperty(this, "_allEmoji", []);
54
+
55
+ _defineProperty(this, "init", async emojiContainer => {
56
+ if (emojiContainer) await this.emojiStorage.set(emojiContainer);
57
+ const container = await this.emojiStorage.get();
58
+
59
+ if (container) {
60
+ for (const category of container.emojiCategories) {
61
+ this._emojiCategoryMap[category.id] = category;
62
+
63
+ for (const emoji of category.emojis) {
64
+ this._allEmojiMap[emoji.key] = emoji;
65
+ }
66
+ }
67
+
68
+ this._allEmoji = Object.values(this._allEmojiMap);
69
+ }
70
+ });
71
+ }
72
+
73
+ get emojiCategoryMap() {
74
+ return this._emojiCategoryMap;
75
+ }
76
+
77
+ get allEmojiMap() {
78
+ return this._allEmojiMap;
79
+ }
80
+
81
+ get allEmoji() {
82
+ return this._allEmoji;
83
+ }
84
+
85
+ }
86
+
87
+ _defineProperty(EmojiManager, "key", 'sendbird-uikit@emoji-manager');
88
+
89
+ export default EmojiManager;
90
+ //# sourceMappingURL=EmojiManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InternalLocalCacheStorage","MemoryStorage","getAllKeys","Object","keys","_data","getItem","key","removeItem","setItem","value","EmojiManager","constructor","internalStorage","data","get","emojiStorage","strItem","freeze","JSON","parse","set","stringify","emojiContainer","container","category","emojiCategories","_emojiCategoryMap","id","emoji","emojis","_allEmojiMap","_allEmoji","values","emojiCategoryMap","allEmojiMap","allEmoji"],"sources":["EmojiManager.ts"],"sourcesContent":["import type { SendbirdEmoji, SendbirdEmojiCategory, SendbirdEmojiContainer } from '@sendbird/uikit-utils';\n\nimport type { LocalCacheStorage } from '../types';\nimport InternalLocalCacheStorage from './InternalLocalCacheStorage';\n\nclass MemoryStorage implements LocalCacheStorage {\n _data: Record<string, string> = {};\n\n async getAllKeys(): Promise<readonly string[] | string[]> {\n return Object.keys(this._data);\n }\n\n async getItem(key: string): Promise<string | null> {\n return this._data[key];\n }\n\n async removeItem(key: string): Promise<void> {\n delete this._data[key];\n }\n\n async setItem(key: string, value: string): Promise<void> {\n this._data[key] = value;\n }\n}\n\nclass EmojiManager {\n static key = 'sendbird-uikit@emoji-manager';\n\n constructor(\n private internalStorage: InternalLocalCacheStorage = new InternalLocalCacheStorage(new MemoryStorage()),\n ) {}\n\n private emojiStorage = {\n data: null as null | SendbirdEmojiContainer,\n get: async () => {\n if (!this.emojiStorage.data) {\n const strItem = await this.internalStorage.getItem(EmojiManager.key);\n if (strItem) this.emojiStorage.data = Object.freeze(JSON.parse(strItem));\n }\n return this.emojiStorage.data;\n },\n set: async (data: SendbirdEmojiContainer) => {\n this.emojiStorage.data = Object.freeze(data);\n await this.internalStorage.setItem(EmojiManager.key, JSON.stringify(data));\n },\n };\n\n private _emojiCategoryMap: Record<string, SendbirdEmojiCategory> = {};\n public get emojiCategoryMap() {\n return this._emojiCategoryMap;\n }\n\n private _allEmojiMap: Record<string, SendbirdEmoji> = {};\n public get allEmojiMap() {\n return this._allEmojiMap;\n }\n\n private _allEmoji: SendbirdEmoji[] = [];\n public get allEmoji() {\n return this._allEmoji;\n }\n\n public init = async (emojiContainer?: SendbirdEmojiContainer) => {\n if (emojiContainer) await this.emojiStorage.set(emojiContainer);\n\n const container = await this.emojiStorage.get();\n\n if (container) {\n for (const category of container.emojiCategories) {\n this._emojiCategoryMap[category.id] = category;\n for (const emoji of category.emojis) {\n this._allEmojiMap[emoji.key] = emoji;\n }\n }\n this._allEmoji = Object.values(this._allEmojiMap);\n }\n };\n}\n\nexport default EmojiManager;\n"],"mappings":";;AAGA,OAAOA,yBAAP,MAAsC,6BAAtC;;AAEA,MAAMC,aAAN,CAAiD;EAAA;IAAA,+BACf,EADe;EAAA;;EAG/B,MAAVC,UAAU,GAA0C;IACxD,OAAOC,MAAM,CAACC,IAAP,CAAY,KAAKC,KAAjB,CAAP;EACD;;EAEY,MAAPC,OAAO,CAACC,GAAD,EAAsC;IACjD,OAAO,KAAKF,KAAL,CAAWE,GAAX,CAAP;EACD;;EAEe,MAAVC,UAAU,CAACD,GAAD,EAA6B;IAC3C,OAAO,KAAKF,KAAL,CAAWE,GAAX,CAAP;EACD;;EAEY,MAAPE,OAAO,CAACF,GAAD,EAAcG,KAAd,EAA4C;IACvD,KAAKL,KAAL,CAAWE,GAAX,IAAkBG,KAAlB;EACD;;AAjB8C;;AAoBjD,MAAMC,YAAN,CAAmB;EAGjBC,WAAW,GAET;IAAA,IADQC,eACR,uEADqD,IAAIb,yBAAJ,CAA8B,IAAIC,aAAJ,EAA9B,CACrD;IAAA,KADQY,eACR,GADQA,eACR;;IAAA,sCAEqB;MACrBC,IAAI,EAAE,IADe;MAErBC,GAAG,EAAE,YAAY;QACf,IAAI,CAAC,KAAKC,YAAL,CAAkBF,IAAvB,EAA6B;UAC3B,MAAMG,OAAO,GAAG,MAAM,KAAKJ,eAAL,CAAqBP,OAArB,CAA6BK,YAAY,CAACJ,GAA1C,CAAtB;UACA,IAAIU,OAAJ,EAAa,KAAKD,YAAL,CAAkBF,IAAlB,GAAyBX,MAAM,CAACe,MAAP,CAAcC,IAAI,CAACC,KAAL,CAAWH,OAAX,CAAd,CAAzB;QACd;;QACD,OAAO,KAAKD,YAAL,CAAkBF,IAAzB;MACD,CARoB;MASrBO,GAAG,EAAE,MAAOP,IAAP,IAAwC;QAC3C,KAAKE,YAAL,CAAkBF,IAAlB,GAAyBX,MAAM,CAACe,MAAP,CAAcJ,IAAd,CAAzB;QACA,MAAM,KAAKD,eAAL,CAAqBJ,OAArB,CAA6BE,YAAY,CAACJ,GAA1C,EAA+CY,IAAI,CAACG,SAAL,CAAeR,IAAf,CAA/C,CAAN;MACD;IAZoB,CAFrB;;IAAA,2CAiBiE,EAjBjE;;IAAA,sCAsBoD,EAtBpD;;IAAA,mCA2BmC,EA3BnC;;IAAA,8BAgCY,MAAOS,cAAP,IAAmD;MAC/D,IAAIA,cAAJ,EAAoB,MAAM,KAAKP,YAAL,CAAkBK,GAAlB,CAAsBE,cAAtB,CAAN;MAEpB,MAAMC,SAAS,GAAG,MAAM,KAAKR,YAAL,CAAkBD,GAAlB,EAAxB;;MAEA,IAAIS,SAAJ,EAAe;QACb,KAAK,MAAMC,QAAX,IAAuBD,SAAS,CAACE,eAAjC,EAAkD;UAChD,KAAKC,iBAAL,CAAuBF,QAAQ,CAACG,EAAhC,IAAsCH,QAAtC;;UACA,KAAK,MAAMI,KAAX,IAAoBJ,QAAQ,CAACK,MAA7B,EAAqC;YACnC,KAAKC,YAAL,CAAkBF,KAAK,CAACtB,GAAxB,IAA+BsB,KAA/B;UACD;QACF;;QACD,KAAKG,SAAL,GAAiB7B,MAAM,CAAC8B,MAAP,CAAc,KAAKF,YAAnB,CAAjB;MACD;IACF,CA9CC;EAAE;;EAkBuB,IAAhBG,gBAAgB,GAAG;IAC5B,OAAO,KAAKP,iBAAZ;EACD;;EAGqB,IAAXQ,WAAW,GAAG;IACvB,OAAO,KAAKJ,YAAZ;EACD;;EAGkB,IAARK,QAAQ,GAAG;IACpB,OAAO,KAAKJ,SAAZ;EACD;;AAnCgB;;gBAAbrB,Y,SACS,8B;;AAqDf,eAAeA,YAAf"}
@@ -0,0 +1,39 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ class MentionConfig {
4
+ constructor(_config) {
5
+ this._config = _config;
6
+ }
7
+
8
+ get mentionLimit() {
9
+ return this._config.mentionLimit;
10
+ }
11
+
12
+ get suggestionLimit() {
13
+ return this._config.suggestionLimit;
14
+ }
15
+
16
+ get delimiter() {
17
+ return this._config.delimiter;
18
+ }
19
+
20
+ get debounceMills() {
21
+ return this._config.debounceMills;
22
+ }
23
+
24
+ get trigger() {
25
+ return this._config.trigger;
26
+ }
27
+
28
+ }
29
+
30
+ _defineProperty(MentionConfig, "DEFAULT", {
31
+ MENTION_LIMIT: 10,
32
+ SUGGESTION_LIMIT: 15,
33
+ DEBOUNCE_MILLS: 300,
34
+ DELIMITER: ' ',
35
+ TRIGGER: '@'
36
+ });
37
+
38
+ export default MentionConfig;
39
+ //# sourceMappingURL=MentionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MentionConfig","constructor","_config","mentionLimit","suggestionLimit","delimiter","debounceMills","trigger","MENTION_LIMIT","SUGGESTION_LIMIT","DEBOUNCE_MILLS","DELIMITER","TRIGGER"],"sources":["MentionConfig.ts"],"sourcesContent":["export interface MentionConfigInterface {\n mentionLimit: number;\n suggestionLimit: number;\n debounceMills: number;\n delimiter: string;\n trigger: string;\n}\n\nclass MentionConfig {\n static DEFAULT = {\n MENTION_LIMIT: 10,\n SUGGESTION_LIMIT: 15,\n DEBOUNCE_MILLS: 300,\n DELIMITER: ' ',\n TRIGGER: '@',\n };\n constructor(private _config: MentionConfigInterface) {}\n\n get mentionLimit() {\n return this._config.mentionLimit;\n }\n\n get suggestionLimit() {\n return this._config.suggestionLimit;\n }\n\n get delimiter() {\n return this._config.delimiter;\n }\n\n get debounceMills() {\n return this._config.debounceMills;\n }\n\n get trigger() {\n return this._config.trigger;\n }\n}\n\nexport default MentionConfig;\n"],"mappings":";;AAQA,MAAMA,aAAN,CAAoB;EAQlBC,WAAW,CAASC,OAAT,EAA0C;IAAA,KAAjCA,OAAiC,GAAjCA,OAAiC;EAAE;;EAEvC,IAAZC,YAAY,GAAG;IACjB,OAAO,KAAKD,OAAL,CAAaC,YAApB;EACD;;EAEkB,IAAfC,eAAe,GAAG;IACpB,OAAO,KAAKF,OAAL,CAAaE,eAApB;EACD;;EAEY,IAATC,SAAS,GAAG;IACd,OAAO,KAAKH,OAAL,CAAaG,SAApB;EACD;;EAEgB,IAAbC,aAAa,GAAG;IAClB,OAAO,KAAKJ,OAAL,CAAaI,aAApB;EACD;;EAEU,IAAPC,OAAO,GAAG;IACZ,OAAO,KAAKL,OAAL,CAAaK,OAApB;EACD;;AA5BiB;;gBAAdP,a,aACa;EACfQ,aAAa,EAAE,EADA;EAEfC,gBAAgB,EAAE,EAFH;EAGfC,cAAc,EAAE,GAHD;EAIfC,SAAS,EAAE,GAJI;EAKfC,OAAO,EAAE;AALM,C;;AA8BnB,eAAeZ,aAAf"}
@@ -0,0 +1,223 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import React from 'react';
4
+ import { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
5
+ import { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';
6
+
7
+ class MentionManager {
8
+ constructor(config, mentionEnabled) {
9
+ var _this = this;
10
+
11
+ this.config = config;
12
+ this.mentionEnabled = mentionEnabled;
13
+
14
+ _defineProperty(this, "_invalidStartsKeywords", void 0);
15
+
16
+ _defineProperty(this, "_templateRegex", void 0);
17
+
18
+ _defineProperty(this, "rangeHelpers", {
19
+ inRangeUnderOver(start, num, end) {
20
+ return start < num && num < end;
21
+ },
22
+
23
+ inRangeUnderMore(start, num, end) {
24
+ return start < num && num <= end;
25
+ },
26
+
27
+ inRangeLessOver(start, num, end) {
28
+ return start <= num && num < end;
29
+ },
30
+
31
+ inRangeLessMore(start, num, end) {
32
+ return start <= num && num <= end;
33
+ },
34
+
35
+ overlaps(a, b) {
36
+ let compare = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'underOver';
37
+ const inRange = {
38
+ underOver: this.inRangeUnderOver,
39
+ underMore: this.inRangeUnderMore,
40
+ lessOver: this.inRangeLessOver,
41
+ lessMore: this.inRangeLessMore
42
+ }[compare];
43
+ return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);
44
+ }
45
+
46
+ });
47
+
48
+ _defineProperty(this, "getSearchString", (text, selectionIndex) => {
49
+ const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';
50
+ const triggerIdx = lastSpan.indexOf(this.config.trigger);
51
+ const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);
52
+ const searchString = mentionSpan.slice(this.config.trigger.length);
53
+ return {
54
+ searchString,
55
+ isTriggered: () => mentionSpan.startsWith(this.config.trigger),
56
+ isValidSearchString: () => this._invalidStartsKeywords.every(it => !searchString.startsWith(it))
57
+ };
58
+ });
59
+
60
+ _defineProperty(this, "reconcileRangeOfMentionedUsers", (offset, selectionIndex, mentionedUsers) => {
61
+ return mentionedUsers.map(it => {
62
+ // Changes only on the right text of selection.
63
+ if (selectionIndex <= it.range.start) {
64
+ return { ...it,
65
+ range: {
66
+ start: it.range.start + offset,
67
+ end: it.range.end + offset
68
+ }
69
+ };
70
+ }
71
+
72
+ return it;
73
+ });
74
+ });
75
+
76
+ _defineProperty(this, "removeMentionedUsersInSelection", (selection, mentionedUsers) => {
77
+ let lastSelection = 0;
78
+ let removedOffset = 0;
79
+ const filtered = mentionedUsers.filter(it => {
80
+ const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');
81
+
82
+ if (shouldRemove) {
83
+ lastSelection = Math.max(lastSelection, it.range.end);
84
+ removedOffset -= it.range.end - it.range.start;
85
+ }
86
+
87
+ return !shouldRemove;
88
+ });
89
+ return {
90
+ filtered,
91
+ lastSelection,
92
+ removedOffset
93
+ };
94
+ });
95
+
96
+ _defineProperty(this, "getSearchStringRangeInText", (selectionIndex, searchString) => {
97
+ return {
98
+ start: selectionIndex - searchString.length - this.config.trigger.length,
99
+ end: selectionIndex
100
+ };
101
+ });
102
+
103
+ _defineProperty(this, "asMentionedMessageTemplate", function (user) {
104
+ let delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
105
+ return `${_this.config.trigger}{${user.userId}}` + (delimiter ? _this.config.delimiter : '');
106
+ });
107
+
108
+ _defineProperty(this, "asMentionedMessageText", function (user) {
109
+ let delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
110
+ return `${_this.config.trigger}${user.nickname}` + (delimiter ? _this.config.delimiter : '');
111
+ });
112
+
113
+ _defineProperty(this, "textToMentionedComponents", (text, mentionedUsers) => {
114
+ if (!this.mentionEnabled || mentionedUsers.length === 0) return text;
115
+ const {
116
+ leftText,
117
+ components
118
+ } = mentionedUsers.sort((a, b) => b.range.start - a.range.start).reduce((_ref, curr, currentIndex) => {
119
+ let {
120
+ leftText,
121
+ components
122
+ } = _ref;
123
+ const leftSpan = leftText.slice(0, curr.range.start);
124
+ const mentionSpan = leftText.slice(curr.range.start, curr.range.end);
125
+ const rightSpan = leftText.slice(curr.range.end);
126
+ return {
127
+ leftText: leftSpan,
128
+ components: [/*#__PURE__*/React.createElement(Text, {
129
+ key: mentionSpan + currentIndex,
130
+ style: styles.mentionedText
131
+ }, mentionSpan), rightSpan, ...components]
132
+ };
133
+ }, {
134
+ leftText: text,
135
+ components: []
136
+ });
137
+ return [leftText, ...components];
138
+ });
139
+
140
+ _defineProperty(this, "textToMentionedMessageTemplate", (text, mentionedUsers) => {
141
+ if (!this.mentionEnabled) return text;
142
+ const {
143
+ leftText,
144
+ strings
145
+ } = mentionedUsers.sort((a, b) => b.range.start - a.range.start).reduce((_ref2, curr) => {
146
+ let {
147
+ leftText,
148
+ strings
149
+ } = _ref2;
150
+ const leftSpan = leftText.slice(0, curr.range.start);
151
+ const templateSpan = this.asMentionedMessageTemplate(curr.user);
152
+ const rightSpan = leftText.slice(curr.range.end);
153
+ return {
154
+ leftText: leftSpan,
155
+ strings: [templateSpan, rightSpan, ...strings]
156
+ };
157
+ }, {
158
+ leftText: text,
159
+ strings: []
160
+ });
161
+ return [leftText, ...strings].join('');
162
+ });
163
+
164
+ _defineProperty(this, "templateToTextAndMentionedUsers", (template, mentionedUsers) => {
165
+ const actualMentionedUsers = [];
166
+ let offsetToMove = 0;
167
+ const mentionedText = replaceWithRegex(template, this.templateRegex, _ref3 => {
168
+ let {
169
+ match,
170
+ matchIndex,
171
+ groups
172
+ } = _ref3;
173
+ const user = mentionedUsers.find(it => it.userId === groups[2]);
174
+
175
+ if (user && typeof matchIndex === 'number') {
176
+ const userIdSpan = match;
177
+ const userNicknameSpan = this.asMentionedMessageText(user);
178
+ const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;
179
+ const originalRange = {
180
+ start: matchIndex,
181
+ end: matchIndex + userIdSpan.length
182
+ };
183
+ const convertedRange = {
184
+ start: Math.max(0, originalRange.start + offsetToMove),
185
+ end: originalRange.end + offsetToMove + offsetAfterConverted
186
+ };
187
+ offsetToMove += offsetAfterConverted;
188
+ actualMentionedUsers.push({
189
+ range: convertedRange,
190
+ user
191
+ });
192
+ return userNicknameSpan;
193
+ }
194
+
195
+ return match;
196
+ }, '').join('');
197
+ return {
198
+ mentionedText,
199
+ mentionedUsers: actualMentionedUsers
200
+ };
201
+ });
202
+
203
+ _defineProperty(this, "shouldUseMentionedMessageTemplate", message => {
204
+ return Boolean(this.mentionEnabled && (message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate) && (message === null || message === void 0 ? void 0 : message.mentionedUsers) && (message === null || message === void 0 ? void 0 : message.mentionedUsers.length) > 0);
205
+ });
206
+
207
+ this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];
208
+ this._templateRegex = createMentionTemplateRegex(this.config.trigger);
209
+ }
210
+
211
+ get templateRegex() {
212
+ return this._templateRegex;
213
+ }
214
+
215
+ }
216
+
217
+ const styles = createStyleSheet({
218
+ mentionedText: {
219
+ fontWeight: 'bold'
220
+ }
221
+ });
222
+ export default MentionManager;
223
+ //# sourceMappingURL=MentionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","createStyleSheet","createMentionTemplateRegex","replaceWithRegex","MentionManager","constructor","config","mentionEnabled","inRangeUnderOver","start","num","end","inRangeUnderMore","inRangeLessOver","inRangeLessMore","overlaps","a","b","compare","inRange","underOver","underMore","lessOver","lessMore","text","selectionIndex","lastSpan","slice","split","delimiter","pop","triggerIdx","indexOf","trigger","mentionSpan","searchString","length","isTriggered","startsWith","isValidSearchString","_invalidStartsKeywords","every","it","offset","mentionedUsers","map","range","selection","lastSelection","removedOffset","filtered","filter","shouldRemove","rangeHelpers","Math","max","user","userId","nickname","leftText","components","sort","reduce","curr","currentIndex","leftSpan","rightSpan","styles","mentionedText","strings","templateSpan","asMentionedMessageTemplate","join","template","actualMentionedUsers","offsetToMove","templateRegex","match","matchIndex","groups","find","userIdSpan","userNicknameSpan","asMentionedMessageText","offsetAfterConverted","originalRange","convertedRange","push","message","Boolean","mentionedMessageTemplate","_templateRegex","fontWeight"],"sources":["MentionManager.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUser, SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser, Range } from '../types';\nimport type { MentionConfigInterface } from './MentionConfig';\n\nclass MentionManager {\n private _invalidStartsKeywords: string[];\n private _templateRegex: RegExp;\n\n constructor(public config: MentionConfigInterface, public mentionEnabled: boolean) {\n this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];\n this._templateRegex = createMentionTemplateRegex(this.config.trigger);\n }\n\n public rangeHelpers = {\n inRangeUnderOver(start: number, num: number, end: number) {\n return start < num && num < end;\n },\n inRangeUnderMore(start: number, num: number, end: number) {\n return start < num && num <= end;\n },\n inRangeLessOver(start: number, num: number, end: number) {\n return start <= num && num < end;\n },\n inRangeLessMore(start: number, num: number, end: number) {\n return start <= num && num <= end;\n },\n overlaps(a: Range, b: Range, compare: 'underOver' | 'underMore' | 'lessOver' | 'lessMore' = 'underOver') {\n const inRange = {\n underOver: this.inRangeUnderOver,\n underMore: this.inRangeUnderMore,\n lessOver: this.inRangeLessOver,\n lessMore: this.inRangeLessMore,\n }[compare];\n\n return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);\n },\n };\n\n public get templateRegex() {\n return this._templateRegex;\n }\n\n public getSearchString = (text: string, selectionIndex: number) => {\n const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';\n const triggerIdx = lastSpan.indexOf(this.config.trigger);\n const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);\n const searchString = mentionSpan.slice(this.config.trigger.length);\n\n return {\n searchString,\n isTriggered: () => mentionSpan.startsWith(this.config.trigger),\n isValidSearchString: () => this._invalidStartsKeywords.every((it) => !searchString.startsWith(it)),\n };\n };\n\n /**\n * @description Reconcile the range by offset in the mentioned users\n * */\n public reconcileRangeOfMentionedUsers = (offset: number, selectionIndex: number, mentionedUsers: MentionedUser[]) => {\n return mentionedUsers.map((it) => {\n // Changes only on the right text of selection.\n if (selectionIndex <= it.range.start) {\n return {\n ...it,\n range: {\n start: it.range.start + offset,\n end: it.range.end + offset,\n },\n };\n }\n\n return it;\n });\n };\n\n /**\n * @description Remove users who in a range\n * */\n public removeMentionedUsersInSelection = (selection: Range, mentionedUsers: MentionedUser[]) => {\n let lastSelection = 0;\n let removedOffset = 0;\n const filtered = mentionedUsers.filter((it) => {\n const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');\n if (shouldRemove) {\n lastSelection = Math.max(lastSelection, it.range.end);\n removedOffset -= it.range.end - it.range.start;\n }\n return !shouldRemove;\n });\n\n return { filtered, lastSelection, removedOffset };\n };\n\n public getSearchStringRangeInText = (selectionIndex: number, searchString: string): Range => {\n return {\n start: selectionIndex - searchString.length - this.config.trigger.length,\n end: selectionIndex,\n };\n };\n\n /**\n * @description User to @{user.id} template format\n * */\n public asMentionedMessageTemplate = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}{${user.userId}}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description User to @user.nickname text format\n * */\n public asMentionedMessageText = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}${user.nickname}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description Bold @user.nickname\n * */\n public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled || mentionedUsers.length === 0) return text;\n\n const { leftText, components } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, components }, curr, currentIndex) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const mentionSpan = leftText.slice(curr.range.start, curr.range.end);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n components: [\n <Text key={mentionSpan + currentIndex} style={styles.mentionedText}>\n {mentionSpan}\n </Text>,\n rightSpan,\n ...components,\n ],\n };\n },\n { leftText: text, components: [] as (string | JSX.Element)[] },\n );\n\n return [leftText, ...components];\n };\n\n public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled) return text;\n\n const { leftText, strings } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, strings }, curr) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const templateSpan = this.asMentionedMessageTemplate(curr.user);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n strings: [templateSpan, rightSpan, ...strings],\n };\n },\n { leftText: text, strings: [] as string[] },\n );\n\n return [leftText, ...strings].join('');\n };\n\n /**\n * @description Convert @{user.id} template to @user.nickname text and MentionedUser[] array.\n * */\n public templateToTextAndMentionedUsers = (template: string, mentionedUsers: SendbirdUser[]) => {\n const actualMentionedUsers: MentionedUser[] = [];\n\n let offsetToMove = 0;\n const mentionedText = replaceWithRegex(\n template,\n this.templateRegex,\n ({ match, matchIndex, groups }) => {\n const user = mentionedUsers.find((it) => it.userId === groups[2]);\n if (user && typeof matchIndex === 'number') {\n const userIdSpan = match;\n const userNicknameSpan = this.asMentionedMessageText(user);\n\n const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;\n\n const originalRange: Range = {\n start: matchIndex,\n end: matchIndex + userIdSpan.length,\n };\n\n const convertedRange: Range = {\n start: Math.max(0, originalRange.start + offsetToMove),\n end: originalRange.end + offsetToMove + offsetAfterConverted,\n };\n\n offsetToMove += offsetAfterConverted;\n\n actualMentionedUsers.push({ range: convertedRange, user });\n return userNicknameSpan;\n }\n return match;\n },\n '',\n ).join('');\n\n return {\n mentionedText,\n mentionedUsers: actualMentionedUsers,\n };\n };\n\n public shouldUseMentionedMessageTemplate = (\n message?: SendbirdUserMessage | SendbirdFileMessage,\n ): message is RequiredSpecific<\n SendbirdUserMessage | SendbirdFileMessage,\n 'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'\n > => {\n return Boolean(\n this.mentionEnabled &&\n message?.mentionedMessageTemplate &&\n message?.mentionedUsers &&\n message?.mentionedUsers.length > 0,\n );\n };\n}\n\ntype RequiredSpecific<T, K extends keyof T> = T & {\n [P in K]-?: T[P];\n};\n\nconst styles = createStyleSheet({\n mentionedText: { fontWeight: 'bold' },\n});\n\nexport default MentionManager;\n"],"mappings":"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"}