@sendbird/uikit-react-native 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/lib/commonjs/components/ChatFlatList.js +2 -1
  2. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  3. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  4. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  5. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  6. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  7. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +25 -10
  8. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  9. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
  10. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  11. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +99 -14
  12. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  13. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
  14. package/lib/commonjs/components/MessageRenderer/index.js +22 -3
  15. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
  16. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
  17. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  18. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
  19. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  20. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
  21. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  22. package/lib/commonjs/components/ReactionAddons/index.js +19 -0
  23. package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
  24. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
  25. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  26. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
  27. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  28. package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
  29. package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
  30. package/lib/commonjs/constants.js +3 -1
  31. package/lib/commonjs/constants.js.map +1 -1
  32. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
  33. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  34. package/lib/commonjs/containers/SendbirdUIKitContainer.js +118 -78
  35. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  36. package/lib/commonjs/contexts/ReactionCtx.js +107 -0
  37. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
  38. package/lib/commonjs/contexts/SendbirdChatCtx.js +18 -6
  39. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  40. package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
  41. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  42. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
  43. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  44. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +28 -11
  45. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  46. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +120 -31
  47. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  48. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +31 -12
  49. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  50. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
  51. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  52. package/lib/commonjs/domain/groupChannel/index.js +8 -0
  53. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  54. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
  55. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  56. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
  57. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  58. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  59. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
  60. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  61. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
  62. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  63. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
  64. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  65. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
  66. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  67. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
  68. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  69. package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
  70. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
  71. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
  72. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  73. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
  74. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  75. package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
  76. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
  77. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
  78. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  79. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
  80. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  81. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +9 -14
  82. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  83. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  84. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  85. package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
  86. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  87. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  88. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  89. package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
  90. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  91. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  92. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
  93. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  94. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
  95. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  96. package/lib/commonjs/hooks/useConnection.js +3 -0
  97. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  98. package/lib/commonjs/hooks/useContext.js +11 -1
  99. package/lib/commonjs/hooks/useContext.js.map +1 -1
  100. package/lib/commonjs/hooks/useKeyboardStatus.js +93 -0
  101. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
  102. package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
  103. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
  104. package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
  105. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
  106. package/lib/commonjs/index.js +95 -40
  107. package/lib/commonjs/index.js.map +1 -1
  108. package/lib/commonjs/libs/EmojiManager.js +100 -0
  109. package/lib/commonjs/libs/EmojiManager.js.map +1 -0
  110. package/lib/commonjs/libs/MentionConfig.js +47 -0
  111. package/lib/commonjs/libs/MentionConfig.js.map +1 -0
  112. package/lib/commonjs/libs/MentionManager.js +235 -0
  113. package/lib/commonjs/libs/MentionManager.js.map +1 -0
  114. package/lib/commonjs/localization/StringSet.type.js +17 -5
  115. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  116. package/lib/commonjs/types.js.map +1 -1
  117. package/lib/commonjs/utils/common.js +19 -0
  118. package/lib/commonjs/utils/common.js.map +1 -0
  119. package/lib/commonjs/version.js +1 -1
  120. package/lib/commonjs/version.js.map +1 -1
  121. package/lib/module/components/ChatFlatList.js +3 -2
  122. package/lib/module/components/ChatFlatList.js.map +1 -1
  123. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  124. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  125. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  126. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  127. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +25 -10
  128. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  129. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
  130. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  131. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +101 -17
  132. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  133. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  134. package/lib/module/components/MessageRenderer/index.js +21 -4
  135. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  136. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
  137. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  138. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
  139. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  140. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
  141. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  142. package/lib/module/components/ReactionAddons/index.js +7 -0
  143. package/lib/module/components/ReactionAddons/index.js.map +1 -0
  144. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
  145. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  146. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
  147. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  148. package/lib/module/components/ReactionBottomSheets/index.js +7 -0
  149. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
  150. package/lib/module/constants.js +1 -0
  151. package/lib/module/constants.js.map +1 -1
  152. package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
  153. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  154. package/lib/module/containers/SendbirdUIKitContainer.js +116 -80
  155. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  156. package/lib/module/contexts/ReactionCtx.js +85 -0
  157. package/lib/module/contexts/ReactionCtx.js.map +1 -0
  158. package/lib/module/contexts/SendbirdChatCtx.js +18 -6
  159. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  160. package/lib/module/contexts/UserProfileCtx.js +7 -0
  161. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  162. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
  163. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  164. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +24 -13
  165. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  166. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +117 -33
  167. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  168. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +32 -14
  169. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  170. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
  171. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  172. package/lib/module/domain/groupChannel/index.js +1 -0
  173. package/lib/module/domain/groupChannel/index.js.map +1 -1
  174. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
  175. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  176. package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
  177. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  178. package/lib/module/domain/groupChannel/types.js.map +1 -1
  179. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
  180. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  181. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
  182. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  183. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
  184. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  185. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
  186. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  187. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
  188. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  189. package/lib/module/domain/groupChannelNotifications/index.js +5 -0
  190. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
  191. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
  192. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  193. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
  194. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  195. package/lib/module/domain/groupChannelNotifications/types.js +2 -0
  196. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
  197. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
  198. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  199. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
  200. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  201. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +10 -15
  202. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  203. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  204. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  205. package/lib/module/domain/userList/component/UserListList.js +3 -1
  206. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  207. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  208. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  209. package/lib/module/fragments/createGroupChannelFragment.js +11 -4
  210. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  211. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  212. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
  213. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  214. package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
  215. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  216. package/lib/module/hooks/useConnection.js +3 -0
  217. package/lib/module/hooks/useConnection.js.map +1 -1
  218. package/lib/module/hooks/useContext.js +6 -0
  219. package/lib/module/hooks/useContext.js.map +1 -1
  220. package/lib/module/hooks/useKeyboardStatus.js +75 -0
  221. package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
  222. package/lib/module/hooks/useMentionSuggestion.js +100 -0
  223. package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
  224. package/lib/module/hooks/useMentionTextInput.js +128 -0
  225. package/lib/module/hooks/useMentionTextInput.js.map +1 -0
  226. package/lib/module/index.js +8 -3
  227. package/lib/module/index.js.map +1 -1
  228. package/lib/module/libs/EmojiManager.js +90 -0
  229. package/lib/module/libs/EmojiManager.js.map +1 -0
  230. package/lib/module/libs/MentionConfig.js +39 -0
  231. package/lib/module/libs/MentionConfig.js.map +1 -0
  232. package/lib/module/libs/MentionManager.js +223 -0
  233. package/lib/module/libs/MentionManager.js.map +1 -0
  234. package/lib/module/localization/StringSet.type.js +18 -6
  235. package/lib/module/localization/StringSet.type.js.map +1 -1
  236. package/lib/module/types.js.map +1 -1
  237. package/lib/module/utils/common.js +7 -0
  238. package/lib/module/utils/common.js.map +1 -0
  239. package/lib/module/version.js +1 -1
  240. package/lib/module/version.js.map +1 -1
  241. package/lib/typescript/__template__/types.d.ts +3 -3
  242. package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
  243. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
  244. package/lib/typescript/src/components/FileViewer.d.ts +1 -1
  245. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
  246. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
  247. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
  248. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
  249. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
  250. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
  251. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
  252. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
  253. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
  254. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
  255. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
  256. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
  257. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
  258. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
  259. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
  260. package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
  261. package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
  262. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
  263. package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
  264. package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
  265. package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
  266. package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
  267. package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
  268. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  269. package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
  270. package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
  271. package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
  272. package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
  273. package/lib/typescript/src/constants.d.ts +1 -0
  274. package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
  275. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +12 -3
  276. package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
  277. package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +1 -1
  278. package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
  279. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +10 -2
  280. package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
  281. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
  282. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
  283. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
  284. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
  285. package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
  286. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
  287. package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
  288. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
  289. package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
  290. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
  291. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
  292. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
  293. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
  294. package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
  295. package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
  296. package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
  297. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
  298. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
  299. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  300. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
  301. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
  302. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
  303. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
  304. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
  305. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
  306. package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
  307. package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
  308. package/lib/typescript/src/hooks/useContext.d.ts +4 -0
  309. package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
  310. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
  311. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
  312. package/lib/typescript/src/index.d.ts +7 -2
  313. package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
  314. package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
  315. package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
  316. package/lib/typescript/src/localization/StringSet.type.d.ts +16 -2
  317. package/lib/typescript/src/platform/createMediaService.expo.d.ts +1 -1
  318. package/lib/typescript/src/platform/createMediaService.native.d.ts +1 -1
  319. package/lib/typescript/src/platform/dynamicModule.d.ts +1 -1
  320. package/lib/typescript/src/platform/types.d.ts +5 -5
  321. package/lib/typescript/src/types.d.ts +13 -4
  322. package/lib/typescript/src/utils/common.d.ts +1 -0
  323. package/lib/typescript/src/version.d.ts +1 -1
  324. package/package.json +6 -6
  325. package/src/components/ChatFlatList.tsx +2 -1
  326. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
  327. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +25 -18
  328. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +20 -10
  329. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
  330. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +135 -61
  331. package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
  332. package/src/components/MessageRenderer/index.tsx +39 -7
  333. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
  334. package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
  335. package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
  336. package/src/components/ReactionAddons/index.tsx +7 -0
  337. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
  338. package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
  339. package/src/components/ReactionBottomSheets/index.tsx +24 -0
  340. package/src/constants.ts +2 -0
  341. package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
  342. package/src/containers/SendbirdUIKitContainer.tsx +141 -83
  343. package/src/contexts/ReactionCtx.tsx +102 -0
  344. package/src/contexts/SendbirdChatCtx.tsx +24 -2
  345. package/src/contexts/UserProfileCtx.tsx +9 -0
  346. package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
  347. package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +48 -19
  348. package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +137 -43
  349. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +27 -10
  350. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
  351. package/src/domain/groupChannel/index.ts +1 -0
  352. package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
  353. package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
  354. package/src/domain/groupChannel/types.ts +28 -5
  355. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
  356. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
  357. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
  358. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
  359. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
  360. package/src/domain/groupChannelNotifications/index.ts +4 -0
  361. package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
  362. package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
  363. package/src/domain/groupChannelNotifications/types.ts +38 -0
  364. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
  365. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
  366. package/src/domain/groupChannelSettings/module/moduleContext.tsx +9 -12
  367. package/src/domain/groupChannelSettings/types.ts +2 -0
  368. package/src/domain/groupChannelUserList/types.ts +7 -2
  369. package/src/domain/userList/component/UserListList.tsx +5 -1
  370. package/src/domain/userList/module/createUserListModule.tsx +3 -1
  371. package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
  372. package/src/fragments/createGroupChannelFragment.tsx +19 -6
  373. package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
  374. package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
  375. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  376. package/src/hooks/useConnection.ts +3 -1
  377. package/src/hooks/useContext.ts +7 -0
  378. package/src/hooks/useKeyboardStatus.ts +54 -0
  379. package/src/hooks/useMentionSuggestion.ts +106 -0
  380. package/src/hooks/useMentionTextInput.ts +139 -0
  381. package/src/index.ts +13 -2
  382. package/src/libs/EmojiManager.ts +80 -0
  383. package/src/libs/MentionConfig.ts +40 -0
  384. package/src/libs/MentionManager.tsx +240 -0
  385. package/src/localization/StringSet.type.ts +38 -8
  386. package/src/types.ts +12 -0
  387. package/src/utils/common.ts +8 -0
  388. package/src/version.ts +1 -1
@@ -57,21 +57,17 @@ const GroupChannelSettingsContextsProvider = _ref => {
57
57
  const {
58
58
  alert
59
59
  } = (0, _uikitReactNativeFoundation.useAlert)();
60
- const {
61
- activeChannel,
62
- setActiveChannel
63
- } = (0, _uikitChatHooks.useActiveGroupChannel)(sdk, channel);
64
60
 
65
- const onChannelChanged = channel => {
66
- if ((0, _uikitUtils.isDifferentChannel)(channel, activeChannel) || !channel.isGroupChannel()) return;
67
- setActiveChannel(channel);
61
+ const onChannelChanged = eventChannel => {
62
+ if ((0, _uikitUtils.isDifferentChannel)(eventChannel, channel)) return;
68
63
  forceUpdate();
69
64
  };
70
65
 
71
66
  (0, _uikitChatHooks.useChannelHandler)(sdk, `${HOOK_NAME}_${uniqId}`, {
72
67
  onChannelChanged: onChannelChanged,
73
68
  onChannelFrozen: onChannelChanged,
74
- onChannelUnfrozen: onChannelChanged
69
+ onChannelUnfrozen: onChannelChanged,
70
+ onUserBanned: onChannelChanged
75
71
  });
76
72
  const toast = (0, _uikitReactNativeFoundation.useToast)();
77
73
  const {
@@ -84,21 +80,20 @@ const GroupChannelSettingsContextsProvider = _ref => {
84
80
  openMenu
85
81
  } = (0, _uikitReactNativeFoundation.useActionMenu)();
86
82
  const updateChannel = (0, _react.useCallback)(async params => {
87
- const updatedChannel = await activeChannel.updateChannel(params);
88
- setActiveChannel(updatedChannel);
83
+ await channel.updateChannel(params);
89
84
  forceUpdate();
90
- }, [activeChannel]);
85
+ }, [channel]);
91
86
  const changeChannelName = (0, _react.useCallback)(() => {
92
87
  openPrompt({
93
88
  title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,
94
89
  submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,
95
90
  placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,
96
- defaultValue: activeChannel.name,
91
+ defaultValue: channel.name,
97
92
  onSubmit: channelName => updateChannel({
98
93
  name: channelName
99
94
  })
100
95
  });
101
- }, [STRINGS, updateChannel, activeChannel.name]);
96
+ }, [STRINGS, updateChannel, channel.name]);
102
97
  const changeChannelImage = (0, _react.useCallback)(() => {
103
98
  openMenu({
104
99
  title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,
@@ -169,7 +164,7 @@ const GroupChannelSettingsContextsProvider = _ref => {
169
164
  }, [STRINGS, changeChannelImage, changeChannelName]);
170
165
  return /*#__PURE__*/_react.default.createElement(_ProviderLayout.default, null, /*#__PURE__*/_react.default.createElement(GroupChannelSettingsContexts.Fragment.Provider, {
171
166
  value: {
172
- channel: activeChannel,
167
+ channel,
173
168
  headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,
174
169
  headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,
175
170
  onPressHeaderRight
@@ -1 +1 @@
1
- {"version":3,"names":["GroupChannelSettingsContexts","Fragment","createContext","channel","headerTitle","headerRight","onPressHeaderRight","NOOP","HOOK_NAME","GroupChannelSettingsContextsProvider","children","uniqId","useUniqId","forceUpdate","useForceUpdate","STRINGS","useLocalization","sdk","useSendbirdChat","fileService","usePlatformService","alert","useAlert","activeChannel","setActiveChannel","useActiveGroupChannel","onChannelChanged","isDifferentChannel","isGroupChannel","useChannelHandler","onChannelFrozen","onChannelUnfrozen","toast","useToast","openSheet","useBottomSheet","openPrompt","usePrompt","openMenu","useActionMenu","updateChannel","useCallback","params","updatedChannel","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","buttons","text","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useActiveGroupChannel, useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useAlert, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdGroupChannelUpdateParams,\n isDifferentChannel,\n useForceUpdate,\n useUniqId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nconst HOOK_NAME = 'GroupChannelSettingsContextsProvider';\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const uniqId = useUniqId(HOOK_NAME);\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n const { alert } = useAlert();\n\n const { activeChannel, setActiveChannel } = useActiveGroupChannel(sdk, channel);\n\n const onChannelChanged = (channel: SendbirdBaseChannel) => {\n if (isDifferentChannel(channel, activeChannel) || !channel.isGroupChannel()) return;\n setActiveChannel(channel);\n forceUpdate();\n };\n\n useChannelHandler(sdk, `${HOOK_NAME}_${uniqId}`, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelUpdateParams) => {\n const updatedChannel = await activeChannel.updateChannel(params);\n setActiveChannel(updatedChannel);\n forceUpdate();\n },\n [activeChannel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: activeChannel.name,\n onSubmit: (channelName) => updateChannel({ name: channelName }),\n });\n }, [STRINGS, updateChannel, activeChannel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n if (!file) return;\n\n await updateChannel({ coverImage: file });\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (!files || !files[0]) return;\n\n await updateChannel({ coverImage: files[0] });\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel: activeChannel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["GroupChannelSettingsContexts","Fragment","createContext","channel","headerTitle","headerRight","onPressHeaderRight","NOOP","HOOK_NAME","GroupChannelSettingsContextsProvider","children","uniqId","useUniqId","forceUpdate","useForceUpdate","STRINGS","useLocalization","sdk","useSendbirdChat","fileService","usePlatformService","alert","useAlert","onChannelChanged","eventChannel","isDifferentChannel","useChannelHandler","onChannelFrozen","onChannelUnfrozen","onUserBanned","toast","useToast","openSheet","useBottomSheet","openPrompt","usePrompt","openMenu","useActionMenu","updateChannel","useCallback","params","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","buttons","text","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useAlert, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdGroupChannelUpdateParams,\n isDifferentChannel,\n useForceUpdate,\n useUniqId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nconst HOOK_NAME = 'GroupChannelSettingsContextsProvider';\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const uniqId = useUniqId(HOOK_NAME);\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n const { alert } = useAlert();\n\n const onChannelChanged = (eventChannel: SendbirdBaseChannel) => {\n if (isDifferentChannel(eventChannel, channel)) return;\n forceUpdate();\n };\n\n useChannelHandler(sdk, `${HOOK_NAME}_${uniqId}`, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n onUserBanned: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelUpdateParams) => {\n await channel.updateChannel(params);\n forceUpdate();\n },\n [channel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: channel.name,\n onSubmit: (channelName) => updateChannel({ name: channelName }),\n });\n }, [STRINGS, updateChannel, channel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n if (!file) return;\n\n await updateChannel({ coverImage: file });\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (!files || !files[0]) return;\n\n await updateChannel({ coverImage: files[0] });\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuLeaveChannel: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n onPressMenuNotification?: GroupChannelSettingsProps['Menu']['onPressMenuNotification'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuLeaveChannel: () => void;\n onPressMenuNotification?: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { UseUserListOptions, UserStruct } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdGroupChannel, SendbirdGroupChannelCreateParams, SendbirdMember } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\nimport type { GroupChannelType } from '../groupChannelList/types';\nimport type { UserListProps } from '../userList/types';\n\nexport interface GroupChannelCreateProps<User extends UserStruct> {\n Fragment: {\n onPressHeaderLeft: () => void;\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n channelType?: GroupChannelType;\n onBeforeCreateChannel?: (\n params: SendbirdGroupChannelCreateParams,\n users: User[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelCreateFragment<User extends UserStruct> = CommonComponent<\n GroupChannelCreateProps<User>['Fragment']\n>;\n\nexport interface GroupChannelInviteProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onInviteMembers: (channel: SendbirdGroupChannel) => void;\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n };\n}\nexport type GroupChannelInviteFragment<User extends UserStruct> = CommonComponent<\n GroupChannelInviteProps<User>['Fragment']\n>;\n\nexport interface GroupChannelMembersProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelMembersFragment<User extends UserStruct> = CommonComponent<\n GroupChannelMembersProps<User>['Fragment']\n>;\n\nexport interface GroupChannelRegisterOperatorProps<User extends UserStruct = SendbirdMember> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: (channel: SendbirdGroupChannel) => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelRegisterOperatorFragment<User extends UserStruct> = CommonComponent<\n GroupChannelRegisterOperatorProps<User>['Fragment']\n>;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { UseUserListOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n UserStruct,\n} from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\nimport type { GroupChannelType } from '../groupChannelList/types';\nimport type { UserListProps } from '../userList/types';\n\nexport interface GroupChannelCreateProps<User extends UserStruct> {\n Fragment: {\n onPressHeaderLeft: () => void;\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n channelType?: GroupChannelType;\n onBeforeCreateChannel?: (\n params: SendbirdGroupChannelCreateParams,\n users: User[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelCreateFragment<User extends UserStruct> = CommonComponent<\n GroupChannelCreateProps<User>['Fragment']\n>;\n\nexport interface GroupChannelInviteProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onInviteMembers: (channel: SendbirdGroupChannel) => void;\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n };\n}\nexport type GroupChannelInviteFragment<User extends UserStruct> = CommonComponent<\n GroupChannelInviteProps<User>['Fragment']\n>;\n\nexport interface GroupChannelMembersProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelMembersFragment<User extends UserStruct> = CommonComponent<\n GroupChannelMembersProps<User>['Fragment']\n>;\n\nexport interface GroupChannelRegisterOperatorProps<User extends UserStruct = SendbirdMember> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: (channel: SendbirdGroupChannel) => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelRegisterOperatorFragment<User extends UserStruct> = CommonComponent<\n GroupChannelRegisterOperatorProps<User>['Fragment']\n>;\n"],"mappings":""}
@@ -11,6 +11,8 @@ var _reactNative = require("react-native");
11
11
 
12
12
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
13
 
14
+ var _uikitUtils = require("@sendbird/uikit-utils");
15
+
14
16
  var _moduleContext = require("../module/moduleContext");
15
17
 
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -48,7 +50,8 @@ const UserListList = _ref => {
48
50
  paddingRight: right,
49
51
  flexGrow: 1
50
52
  },
51
- ListEmptyComponent: ListEmptyComponent
53
+ ListEmptyComponent: ListEmptyComponent,
54
+ keyExtractor: _uikitUtils.getUserUniqId
52
55
  });
53
56
  };
54
57
 
@@ -1 +1 @@
1
- {"version":3,"names":["UserListList","users","onRefresh","refreshing","renderUser","onLoadNext","ListEmptyComponent","context","useContext","UserListContexts","List","renderItem","useCallback","item","selectedUsers","setSelectedUsers","left","right","useSafeAreaInsets","paddingLeft","paddingRight","flexGrow"],"sources":["UserListList.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { UserListContexts } from '../module/moduleContext';\nimport type { UserListContextsType, UserListProps } from '../types';\n\nconst UserListList = <T,>({\n users,\n onRefresh,\n refreshing,\n renderUser,\n onLoadNext,\n ListEmptyComponent,\n}: UserListProps<T>['List']) => {\n const context = useContext(UserListContexts.List as UserListContextsType<T>['List']);\n const renderItem: ListRenderItem<T> = useCallback(\n ({ item }) => renderUser?.(item, context.selectedUsers, context.setSelectedUsers),\n [renderUser, context.selectedUsers, context.setSelectedUsers],\n );\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n data={users}\n refreshing={refreshing}\n onRefresh={onRefresh}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n contentContainerStyle={{ paddingLeft: left, paddingRight: right, flexGrow: 1 }}\n ListEmptyComponent={ListEmptyComponent}\n />\n );\n};\n\nexport default UserListList;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAGA,MAAMA,YAAY,GAAG,QAOW;EAAA,IAPN;IACxBC,KADwB;IAExBC,SAFwB;IAGxBC,UAHwB;IAIxBC,UAJwB;IAKxBC,UALwB;IAMxBC;EANwB,CAOM;EAC9B,MAAMC,OAAO,GAAG,IAAAC,iBAAA,EAAWC,+BAAA,CAAiBC,IAA5B,CAAhB;EACA,MAAMC,UAA6B,GAAG,IAAAC,kBAAA,EACpC;IAAA,IAAC;MAAEC;IAAF,CAAD;IAAA,OAAcT,UAAd,aAAcA,UAAd,uBAAcA,UAAU,CAAGS,IAAH,EAASN,OAAO,CAACO,aAAjB,EAAgCP,OAAO,CAACQ,gBAAxC,CAAxB;EAAA,CADoC,EAEpC,CAACX,UAAD,EAAaG,OAAO,CAACO,aAArB,EAAoCP,OAAO,CAACQ,gBAA5C,CAFoC,CAAtC;EAIA,MAAM;IAAEC,IAAF;IAAQC;EAAR,IAAkB,IAAAC,6CAAA,GAAxB;EAEA,oBACE,6BAAC,qBAAD;IACE,IAAI,EAAEjB,KADR;IAEE,UAAU,EAAEE,UAFd;IAGE,SAAS,EAAED,SAHb;IAIE,UAAU,EAAES,UAJd;IAKE,YAAY,EAAEN,UALhB;IAME,qBAAqB,EAAE;MAAEc,WAAW,EAAEH,IAAf;MAAqBI,YAAY,EAAEH,KAAnC;MAA0CI,QAAQ,EAAE;IAApD,CANzB;IAOE,kBAAkB,EAAEf;EAPtB,EADF;AAWD,CA1BD;;eA4BeN,Y"}
1
+ {"version":3,"names":["UserListList","users","onRefresh","refreshing","renderUser","onLoadNext","ListEmptyComponent","context","useContext","UserListContexts","List","renderItem","useCallback","item","selectedUsers","setSelectedUsers","left","right","useSafeAreaInsets","paddingLeft","paddingRight","flexGrow","getUserUniqId"],"sources":["UserListList.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport type { UserStruct } from '@sendbird/uikit-utils';\nimport { getUserUniqId } from '@sendbird/uikit-utils';\n\nimport { UserListContexts } from '../module/moduleContext';\nimport type { UserListContextsType, UserListProps } from '../types';\n\nconst UserListList = <T extends UserStruct>({\n users,\n onRefresh,\n refreshing,\n renderUser,\n onLoadNext,\n ListEmptyComponent,\n}: UserListProps<T>['List']) => {\n const context = useContext(UserListContexts.List as UserListContextsType<T>['List']);\n const renderItem: ListRenderItem<T> = useCallback(\n ({ item }) => renderUser?.(item, context.selectedUsers, context.setSelectedUsers),\n [renderUser, context.selectedUsers, context.setSelectedUsers],\n );\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n data={users}\n refreshing={refreshing}\n onRefresh={onRefresh}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n contentContainerStyle={{ paddingLeft: left, paddingRight: right, flexGrow: 1 }}\n ListEmptyComponent={ListEmptyComponent}\n keyExtractor={getUserUniqId}\n />\n );\n};\n\nexport default UserListList;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAGA;;AAEA;;;;;;AAGA,MAAMA,YAAY,GAAG,QAOW;EAAA,IAPY;IAC1CC,KAD0C;IAE1CC,SAF0C;IAG1CC,UAH0C;IAI1CC,UAJ0C;IAK1CC,UAL0C;IAM1CC;EAN0C,CAOZ;EAC9B,MAAMC,OAAO,GAAG,IAAAC,iBAAA,EAAWC,+BAAA,CAAiBC,IAA5B,CAAhB;EACA,MAAMC,UAA6B,GAAG,IAAAC,kBAAA,EACpC;IAAA,IAAC;MAAEC;IAAF,CAAD;IAAA,OAAcT,UAAd,aAAcA,UAAd,uBAAcA,UAAU,CAAGS,IAAH,EAASN,OAAO,CAACO,aAAjB,EAAgCP,OAAO,CAACQ,gBAAxC,CAAxB;EAAA,CADoC,EAEpC,CAACX,UAAD,EAAaG,OAAO,CAACO,aAArB,EAAoCP,OAAO,CAACQ,gBAA5C,CAFoC,CAAtC;EAIA,MAAM;IAAEC,IAAF;IAAQC;EAAR,IAAkB,IAAAC,6CAAA,GAAxB;EAEA,oBACE,6BAAC,qBAAD;IACE,IAAI,EAAEjB,KADR;IAEE,UAAU,EAAEE,UAFd;IAGE,SAAS,EAAED,SAHb;IAIE,UAAU,EAAES,UAJd;IAKE,YAAY,EAAEN,UALhB;IAME,qBAAqB,EAAE;MAAEc,WAAW,EAAEH,IAAf;MAAqBI,YAAY,EAAEH,KAAnC;MAA0CI,QAAQ,EAAE;IAApD,CANzB;IAOE,kBAAkB,EAAEf,kBAPtB;IAQE,YAAY,EAAEgB;EARhB,EADF;AAYD,CA3BD;;eA6BetB,Y"}
@@ -1 +1 @@
1
- {"version":3,"names":["createUserListModule","Header","UserListHeader","List","UserListList","StatusLoading","UserListStatusLoading","StatusEmpty","UserListStatusEmpty","StatusError","UserListStatusError","Provider","UserListContextsProvider","module"],"sources":["createUserListModule.tsx"],"sourcesContent":["import UserListHeader from '../component/UserListHeader';\nimport UserListList from '../component/UserListList';\nimport UserListStatusEmpty from '../component/UserListStatusEmpty';\nimport UserListStatusError from '../component/UserListStatusError';\nimport UserListStatusLoading from '../component/UserListStatusLoading';\nimport type { UserListModule } from '../types';\nimport { UserListContextsProvider } from './moduleContext';\n\nconst createUserListModule = <T,>({\n Header = UserListHeader,\n List = UserListList,\n StatusLoading = UserListStatusLoading,\n StatusEmpty = UserListStatusEmpty,\n StatusError = UserListStatusError,\n Provider = UserListContextsProvider,\n ...module\n}: Partial<UserListModule<T>> = {}): UserListModule<T> => {\n return { Header, List, StatusLoading, StatusEmpty, StatusError, Provider, ...module };\n};\n\nexport default createUserListModule;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;AAEA,MAAMA,oBAAoB,GAAG,YAQ6B;EAAA,IARxB;IAChCC,MAAM,GAAGC,uBADuB;IAEhCC,IAAI,GAAGC,qBAFyB;IAGhCC,aAAa,GAAGC,8BAHgB;IAIhCC,WAAW,GAAGC,4BAJkB;IAKhCC,WAAW,GAAGC,4BALkB;IAMhCC,QAAQ,GAAGC,uCANqB;IAOhC,GAAGC;EAP6B,CAQwB,uEAA1B,EAA0B;EACxD,OAAO;IAAEZ,MAAF;IAAUE,IAAV;IAAgBE,aAAhB;IAA+BE,WAA/B;IAA4CE,WAA5C;IAAyDE,QAAzD;IAAmE,GAAGE;EAAtE,CAAP;AACD,CAVD;;eAYeb,oB"}
1
+ {"version":3,"names":["createUserListModule","Header","UserListHeader","List","UserListList","StatusLoading","UserListStatusLoading","StatusEmpty","UserListStatusEmpty","StatusError","UserListStatusError","Provider","UserListContextsProvider","module"],"sources":["createUserListModule.tsx"],"sourcesContent":["import type { UserStruct } from '@sendbird/uikit-utils';\n\nimport UserListHeader from '../component/UserListHeader';\nimport UserListList from '../component/UserListList';\nimport UserListStatusEmpty from '../component/UserListStatusEmpty';\nimport UserListStatusError from '../component/UserListStatusError';\nimport UserListStatusLoading from '../component/UserListStatusLoading';\nimport type { UserListModule } from '../types';\nimport { UserListContextsProvider } from './moduleContext';\n\nconst createUserListModule = <T extends UserStruct>({\n Header = UserListHeader,\n List = UserListList,\n StatusLoading = UserListStatusLoading,\n StatusEmpty = UserListStatusEmpty,\n StatusError = UserListStatusError,\n Provider = UserListContextsProvider,\n ...module\n}: Partial<UserListModule<T>> = {}): UserListModule<T> => {\n return { Header, List, StatusLoading, StatusEmpty, StatusError, Provider, ...module };\n};\n\nexport default createUserListModule;\n"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;AAEA,MAAMA,oBAAoB,GAAG,YAQ6B;EAAA,IARN;IAClDC,MAAM,GAAGC,uBADyC;IAElDC,IAAI,GAAGC,qBAF2C;IAGlDC,aAAa,GAAGC,8BAHkC;IAIlDC,WAAW,GAAGC,4BAJoC;IAKlDC,WAAW,GAAGC,4BALoC;IAMlDC,QAAQ,GAAGC,uCANuC;IAOlD,GAAGC;EAP+C,CAQM,uEAA1B,EAA0B;EACxD,OAAO;IAAEZ,MAAF;IAAUE,IAAV;IAAgBE,aAAhB;IAA+BE,WAA/B;IAA4CE,WAA5C;IAAyDE,QAAzD;IAAmE,GAAGE;EAAtE,CAAP;AACD,CAVD;;eAYeb,oB"}
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","onPressHeaderLeft","onBeforeCreateChannel","PASS","onCreateChannel","sortComparator","queryCreator","channelType","renderUser","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","users","refreshing","loading","error","refresh","next","useUserList","_renderUser","useFreshCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Object","hasOwn","Error","isMe","userId","userIdx","findIndex","u","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_CREATE","HEADER_RIGHT","HEADER_TITLE","params","invitedUserIds","map","it","name","coverUrl","isDistinct","isBroadcast","isSuper","operatorUserIds","processedParams","channel","groupChannel","createChannel","Boolean"],"sources":["createGroupChannelCreateFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { UserStruct, useUserList } from '@sendbird/uikit-chat-hooks';\nimport { PASS, SendbirdGroupChannelCreateParams, SendbirdUser, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelCreateFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelCreateFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelCreateFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({\n onPressHeaderLeft,\n onBeforeCreateChannel = PASS,\n onCreateChannel,\n sortComparator,\n queryCreator,\n channelType = 'GROUP',\n renderUser,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, loading, error, refresh, next } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const _renderUser: NonNullable<typeof renderUser> = useFreshCallback((user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const isMe = user.userId === currentUser?.userId;\n if (isMe) return null;\n\n const userIdx = selectedUsers.findIndex((u) => u.userId === user.userId);\n const isSelected = userIdx > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdx, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isSelected}\n disabled={false}\n />\n </TouchableOpacity>\n );\n });\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_CREATE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_CREATE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const params: SendbirdGroupChannelCreateParams = {\n invitedUserIds: users.map((it) => it.userId),\n name: '',\n coverUrl: '',\n isDistinct: false,\n };\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\n if (currentUser) params.operatorUserIds = [currentUser.userId];\n\n const processedParams = await onBeforeCreateChannel(params, users);\n const channel = await sdk.groupChannel.createChannel(processedParams);\n onCreateChannel(channel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelCreateFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","onPressHeaderLeft","onBeforeCreateChannel","PASS","onCreateChannel","sortComparator","queryCreator","channelType","renderUser","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","users","refreshing","loading","error","refresh","next","useUserList","_renderUser","useFreshCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Object","hasOwn","Error","isMe","userId","userIdx","findIndex","u","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_CREATE","HEADER_RIGHT","HEADER_TITLE","params","invitedUserIds","map","it","name","coverUrl","isDistinct","isBroadcast","isSuper","operatorUserIds","processedParams","channel","groupChannel","createChannel","Boolean"],"sources":["createGroupChannelCreateFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { useUserList } from '@sendbird/uikit-chat-hooks';\nimport {\n PASS,\n SendbirdGroupChannelCreateParams,\n SendbirdUser,\n UserStruct,\n useFreshCallback,\n} from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelCreateFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelCreateFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelCreateFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({\n onPressHeaderLeft,\n onBeforeCreateChannel = PASS,\n onCreateChannel,\n sortComparator,\n queryCreator,\n channelType = 'GROUP',\n renderUser,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, loading, error, refresh, next } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const _renderUser: NonNullable<typeof renderUser> = useFreshCallback((user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const isMe = user.userId === currentUser?.userId;\n if (isMe) return null;\n\n const userIdx = selectedUsers.findIndex((u) => u.userId === user.userId);\n const isSelected = userIdx > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdx, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isSelected}\n disabled={false}\n />\n </TouchableOpacity>\n );\n });\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_CREATE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_CREATE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const params: SendbirdGroupChannelCreateParams = {\n invitedUserIds: users.map((it) => it.userId),\n name: '',\n coverUrl: '',\n isDistinct: false,\n };\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\n if (currentUser) params.operatorUserIds = [currentUser.userId];\n\n const processedParams = await onBeforeCreateChannel(params, users);\n const channel = await sdk.groupChannel.createChannel(processedParams);\n onCreateChannel(channel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelCreateFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAQA;;AACA;;AAEA;;AAEA;;;;AAEA,MAAMA,gCAAgC,GACpCC,UADuC,IAEE;EACzC,MAAMC,cAAc,GAAG,IAAAC,6BAAA,EAA+BF,UAA/B,CAAvB;EAEA,OAAO,QAQD;IAAA,IARE;MACNG,iBADM;MAENC,qBAAqB,GAAGC,gBAFlB;MAGNC,eAHM;MAINC,cAJM;MAKNC,YALM;MAMNC,WAAW,GAAG,OANR;MAONC;IAPM,CAQF;IACJ,MAAM;MAAEC,GAAF;MAAOC;IAAP,IAAuB,IAAAC,2BAAA,GAA7B;IACA,MAAM;MAAEC;IAAF,IAAc,IAAAC,2BAAA,GAApB;IACA,MAAM;MAAEC,KAAF;MAASC,UAAT;MAAqBC,OAArB;MAA8BC,KAA9B;MAAqCC,OAArC;MAA8CC;IAA9C,IAAuD,IAAAC,2BAAA,EAAYX,GAAZ,EAAiB;MAC5EH,YAD4E;MAE5ED;IAF4E,CAAjB,CAA7D;;IAKA,MAAMgB,WAA2C,GAAG,IAAAC,4BAAA,EAAiB,CAACC,IAAD,EAAOC,aAAP,EAAsBC,gBAAtB,KAA2C;MAC9G,IAAInB,YAAY,IAAI,CAACE,UAArB,EAAiC;QAC/B,MAAMkB,cAAc,GAAGC,MAAM,CAACC,MAAP,CAAcL,IAAd,EAAoB,YAApB,KAAqCI,MAAM,CAACC,MAAP,CAAcL,IAAd,EAAoB,UAApB,CAA5D;QACA,IAAI,CAACG,cAAL,EAAqB,MAAM,IAAIG,KAAJ,CAAU,+DAAV,CAAN;MACtB;;MAED,IAAIrB,UAAJ,EAAgB,OAAOA,UAAU,CAACe,IAAD,EAAOC,aAAP,EAAsBC,gBAAtB,CAAjB;MAEhB,MAAMK,IAAI,GAAGP,IAAI,CAACQ,MAAL,MAAgBrB,WAAhB,aAAgBA,WAAhB,uBAAgBA,WAAW,CAAEqB,MAA7B,CAAb;MACA,IAAID,IAAJ,EAAU,OAAO,IAAP;MAEV,MAAME,OAAO,GAAGR,aAAa,CAACS,SAAd,CAAyBC,CAAD,IAAOA,CAAC,CAACH,MAAF,KAAaR,IAAI,CAACQ,MAAjD,CAAhB;MACA,MAAMI,UAAU,GAAGH,OAAO,GAAG,CAAC,CAA9B;MAEA,oBACE,6BAAC,6BAAD;QACE,aAAa,EAAE,GADjB;QAEE,OAAO,EAAE,MAAM;UACbP,gBAAgB,CAAC,SAAgB;YAAA,IAAf,CAAC,GAAGW,KAAJ,CAAe;YAC/B,IAAID,UAAJ,EAAgBC,KAAK,CAACC,MAAN,CAAaL,OAAb,EAAsB,CAAtB,EAAhB,KACKI,KAAK,CAACE,IAAN,CAAWf,IAAX;YACL,OAAOa,KAAP;UACD,CAJe,CAAhB;QAKD;MARH,gBAUE,6BAAC,0BAAD;QACE,GAAG,EAAGb,IAAD,CAAkCgB,UADzC;QAEE,IAAI,EAAGhB,IAAD,CAAkCiB,QAAlC,IAA8C5B,OAAO,CAAC6B,MAAR,CAAeC,YAFrE;QAGE,QAAQ,EAAEP,UAHZ;QAIE,QAAQ,EAAE;MAJZ,EAVF,CADF;IAmBD,CAjCmD,CAApD;;IAmCA,oBACE,6BAAC,cAAD,CAAgB,QAAhB;MACE,WAAW,EAAGX,aAAD,IAAmBZ,OAAO,CAAC+B,oBAAR,CAA6BC,YAA7B,CAA0C;QAAEpB;MAAF,CAA1C,CADlC;MAEE,WAAW,EAAEZ,OAAO,CAAC+B,oBAAR,CAA6BE;IAF5C,gBAIE,6BAAC,cAAD,CAAgB,MAAhB;MACE,iBAAiB,EAAE5C,iBADrB;MAEE,kBAAkB,EAAE,MAAOa,KAAP,IAAiB;QACnC,MAAMgC,MAAwC,GAAG;UAC/CC,cAAc,EAAEjC,KAAK,CAACkC,GAAN,CAAWC,EAAD,IAAQA,EAAE,CAAClB,MAArB,CAD+B;UAE/CmB,IAAI,EAAE,EAFyC;UAG/CC,QAAQ,EAAE,EAHqC;UAI/CC,UAAU,EAAE;QAJmC,CAAjD;QAOA,IAAI7C,WAAW,KAAK,WAApB,EAAiCuC,MAAM,CAACO,WAAP,GAAqB,IAArB;QACjC,IAAI9C,WAAW,KAAK,aAApB,EAAmCuC,MAAM,CAACQ,OAAP,GAAiB,IAAjB;QACnC,IAAI5C,WAAJ,EAAiBoC,MAAM,CAACS,eAAP,GAAyB,CAAC7C,WAAW,CAACqB,MAAb,CAAzB;QAEjB,MAAMyB,eAAe,GAAG,MAAMtD,qBAAqB,CAAC4C,MAAD,EAAShC,KAAT,CAAnD;QACA,MAAM2C,OAAO,GAAG,MAAMhD,GAAG,CAACiD,YAAJ,CAAiBC,aAAjB,CAA+BH,eAA/B,CAAtB;QACApD,eAAe,CAACqD,OAAD,CAAf;MACD;IAjBH,EAJF,eAuBE,6BAAC,0BAAD;MACE,OAAO,EAAEzC,OADX;MAEE,KAAK,EAAE4C,OAAO,CAAC3C,KAAD,CAFhB;MAGE,gBAAgB,eAAE,6BAAC,cAAD,CAAgB,aAAhB,OAHpB;MAIE,cAAc,eAAE,6BAAC,cAAD,CAAgB,WAAhB;QAA4B,YAAY,EAAE,MAAMC,OAAO;MAAvD;IAJlB,gBAME,6BAAC,cAAD,CAAgB,IAAhB;MACE,UAAU,EAAEC,IADd;MAEE,KAAK,EAAEL,KAFT;MAGE,UAAU,EAAEO,WAHd;MAIE,SAAS,EAAEH,OAJb;MAKE,UAAU,EAAEH,UALd;MAME,kBAAkB,eAAE,6BAAC,cAAD,CAAgB,WAAhB;IANtB,EANF,CAvBF,CADF;EAyCD,CA5FD;AA6FD,CAlGD;;eAoGelB,gC"}
@@ -95,9 +95,12 @@ const createGroupChannelFragment = initModule => {
95
95
  });
96
96
  await sendFileMessage(processedParams);
97
97
  });
98
- const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async text => {
98
+ const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async (text, mention) => {
99
99
  const processedParams = await onBeforeSendUserMessage({
100
- message: text
100
+ message: text,
101
+ mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
102
+ mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
103
+ mentionType: mention === null || mention === void 0 ? void 0 : mention.type
101
104
  });
102
105
  await sendUserMessage(processedParams);
103
106
  });
@@ -107,9 +110,12 @@ const createGroupChannelFragment = initModule => {
107
110
  });
108
111
  await updateFileMessage(message.messageId, processedParams);
109
112
  });
110
- const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message) => {
113
+ const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message, mention) => {
111
114
  const processedParams = await onBeforeSendUserMessage({
112
- message: editedText
115
+ message: editedText,
116
+ mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
117
+ mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
118
+ mentionType: mention === null || mention === void 0 ? void 0 : mention.type
113
119
  });
114
120
  await updateUserMessage(message.messageId, processedParams);
115
121
  });
@@ -141,6 +147,7 @@ const createGroupChannelFragment = initModule => {
141
147
  onPressMediaMessage: onPressMediaMessage,
142
148
  flatListProps: memoizedFlatListProps
143
149
  }), /*#__PURE__*/_react.default.createElement(GroupChannelModule.Input, {
150
+ SuggestedMentionList: GroupChannelModule.SuggestedMentionList,
144
151
  shouldRenderInput: shouldRenderInput(channel),
145
152
  onSendFileMessage: onSendFileMessage,
146
153
  onSendUserMessage: onSendUserMessage,
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","renderNewMessagesButton","props","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressImageMessage","onPressMediaMessage","onChannelDeleted","onBeforeSendFileMessage","PASS","onBeforeSendUserMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","useSendbirdChat","messages","nextMessages","newMessagesFromMembers","next","prev","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","contentContainerStyle","flexGrow","onSendFileMessage","file","processedParams","onSendUserMessage","text","message","onUpdateFileMessage","editedFile","messageId","onUpdateUserMessage","editedText","shouldRenderInput","isBroadcast","myRole"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { NOOP, PASS, SendbirdGroupChannel, messageComparator, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport MessageRenderer from '../components/MessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type { GroupChannelFragment, GroupChannelModule, GroupChannelProps } from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator = true,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressImageMessage,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendFileMessage = PASS,\n onBeforeSendUserMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const {\n messages,\n nextMessages,\n newMessagesFromMembers,\n next,\n prev,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <MessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n await sendFileMessage(processedParams);\n });\n const onSendUserMessage: GroupChannelProps['Input']['onSendUserMessage'] = useFreshCallback(async (text) => {\n const processedParams = await onBeforeSendUserMessage({ message: text });\n await sendUserMessage(processedParams);\n });\n const onUpdateFileMessage: GroupChannelProps['Input']['onUpdateFileMessage'] = useFreshCallback(\n async (editedFile, message) => {\n const processedParams = await onBeforeSendFileMessage({ file: editedFile });\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onUpdateUserMessage: GroupChannelProps['Input']['onUpdateUserMessage'] = useFreshCallback(\n async (editedText, message) => {\n const processedParams = await onBeforeSendUserMessage({ message: editedText });\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header onPressHeaderLeft={onPressHeaderLeft} onPressHeaderRight={onPressHeaderRight} />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n nextMessages={nextMessages}\n newMessagesFromMembers={newMessagesFromMembers}\n onTopReached={prev}\n onBottomReached={next}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressImageMessage={onPressImageMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n shouldRenderInput={shouldRenderInput(channel)}\n onSendFileMessage={onSendFileMessage}\n onSendUserMessage={onSendUserMessage}\n onUpdateFileMessage={onUpdateFileMessage}\n onUpdateUserMessage={onUpdateUserMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AAEA,MAAMA,0BAA0B,GAAIC,UAAD,IAAoE;EACrG,MAAMC,kBAAkB,GAAG,IAAAC,iCAAA,EAAyBF,UAAzB,CAA3B;EAEA,OAAO,QAmBD;IAAA,IAnBE;MACNG,uBAAuB,GAAIC,KAAD,iBAAW,6BAAC,0BAAD,EAAuBA,KAAvB,CAD/B;MAENC,0BAA0B,GAAID,KAAD,iBAAW,6BAAC,6BAAD,EAA0BA,KAA1B,CAFlC;MAGNE,aAHM;MAINC,qBAAqB,GAAG,IAJlB;MAKNC,qBAAqB,GAAG,IALlB;MAMNC,iBAAiB,GAAGC,gBANd;MAONC,kBAAkB,GAAGD,gBAPf;MAQNE,mBARM;MASNC,mBAAmB,GAAGH,gBAThB;MAUNI,gBAAgB,GAAGJ,gBAVb;MAWNK,uBAAuB,GAAGC,gBAXpB;MAYNC,uBAAuB,GAAGD,gBAZpB;MAaNE,OAbM;MAcNC,mBAdM;MAeNC,YAfM;MAgBNC,iBAhBM;MAiBNC,cAAc,GAAGC,6BAjBX;MAkBNC;IAlBM,CAmBF;IACJ,MAAM;MAAEC,GAAF;MAAOC;IAAP,IAAuB,IAAAC,2BAAA,GAA7B;IAEA,MAAM;MACJC,QADI;MAEJC,YAFI;MAGJC,sBAHI;MAIJC,IAJI;MAKJC,IALI;MAMJC,eANI;MAOJC,eAPI;MAQJC,iBARI;MASJC,iBATI;MAUJC,aAVI;MAWJC,aAXI;MAYJC;IAZI,IAaF,IAAAC,uCAAA,EAAwBf,GAAxB,EAA6BP,OAA7B,EAAsCQ,WAAtC,aAAsCA,WAAtC,uBAAsCA,WAAW,CAAEe,MAAnD,EAA2D;MAC7DpB,iBAD6D;MAE7DD,YAF6D;MAG7DE,cAH6D;MAI7DR,gBAJ6D;MAK7D4B,iCAAiC,EAAE,CAACtB;IALyB,CAA3D,CAbJ;;IAqBA,MAAMuB,cAAiE,GAAG,IAAAC,4BAAA,EAAkBxC,KAAD,IAAW;MACpG,IAAIE,aAAJ,EAAmB,OAAOA,aAAa,CAACF,KAAD,CAApB;MACnB,oBAAO,6BAAC,wBAAD,EAAqBA,KAArB,CAAP;IACD,CAHyE,CAA1E;;IAKA,MAAMyC,qBAAqB,GAAG,IAAAC,cAAA,EAC5B,OAAO;MACLC,kBAAkB,eAAE,6BAAC,kBAAD,CAAoB,WAApB,OADf;MAELC,qBAAqB,EAAE;QAAEC,QAAQ,EAAE;MAAZ,CAFlB;MAGL,GAAGzB;IAHE,CAAP,CAD4B,EAM5B,CAACe,OAAD,EAAUf,aAAV,CAN4B,CAA9B;IASA,MAAM0B,iBAAkE,GAAG,IAAAN,4BAAA,EAAiB,MAAOO,IAAP,IAAgB;MAC1G,MAAMC,eAAe,GAAG,MAAMrC,uBAAuB,CAAC;QAAEoC;MAAF,CAAD,CAArD;MACA,MAAMlB,eAAe,CAACmB,eAAD,CAArB;IACD,CAH0E,CAA3E;IAIA,MAAMC,iBAAkE,GAAG,IAAAT,4BAAA,EAAiB,MAAOU,IAAP,IAAgB;MAC1G,MAAMF,eAAe,GAAG,MAAMnC,uBAAuB,CAAC;QAAEsC,OAAO,EAAED;MAAX,CAAD,CAArD;MACA,MAAMpB,eAAe,CAACkB,eAAD,CAArB;IACD,CAH0E,CAA3E;IAIA,MAAMI,mBAAsE,GAAG,IAAAZ,4BAAA,EAC7E,OAAOa,UAAP,EAAmBF,OAAnB,KAA+B;MAC7B,MAAMH,eAAe,GAAG,MAAMrC,uBAAuB,CAAC;QAAEoC,IAAI,EAAEM;MAAR,CAAD,CAArD;MACA,MAAMtB,iBAAiB,CAACoB,OAAO,CAACG,SAAT,EAAoBN,eAApB,CAAvB;IACD,CAJ4E,CAA/E;IAMA,MAAMO,mBAAsE,GAAG,IAAAf,4BAAA,EAC7E,OAAOgB,UAAP,EAAmBL,OAAnB,KAA+B;MAC7B,MAAMH,eAAe,GAAG,MAAMnC,uBAAuB,CAAC;QAAEsC,OAAO,EAAEK;MAAX,CAAD,CAArD;MACA,MAAMxB,iBAAiB,CAACmB,OAAO,CAACG,SAAT,EAAoBN,eAApB,CAAvB;IACD,CAJ4E,CAA/E;IAOA,oBACE,6BAAC,kBAAD,CAAoB,QAApB;MACE,OAAO,EAAElC,OADX;MAEE,qBAAqB,EAAEV,qBAFzB;MAGE,mBAAmB,EAAEW;IAHvB,gBAKE,6BAAC,kBAAD,CAAoB,MAApB;MAA2B,iBAAiB,EAAEV,iBAA9C;MAAiE,kBAAkB,EAAEE;IAArF,EALF,eAME,6BAAC,0BAAD;MAAmB,OAAO,EAAE4B,OAA5B;MAAqC,gBAAgB,eAAE,6BAAC,kBAAD,CAAoB,aAApB;IAAvD,gBACE,6BAAC,kBAAD,CAAoB,WAApB;MACE,OAAO,EAAErB,OADX;MAEE,qBAAqB,EAAEX,qBAFzB;MAGE,aAAa,EAAEmB,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAEe,MAH9B;MAIE,aAAa,EAAEE,cAJjB;MAKE,QAAQ,EAAEf,QALZ;MAME,YAAY,EAAEC,YANhB;MAOE,sBAAsB,EAAEC,sBAP1B;MAQE,YAAY,EAAEE,IARhB;MASE,eAAe,EAAED,IATnB;MAUE,uBAAuB,EAAE5B,uBAV3B;MAWE,0BAA0B,EAAEE,0BAX9B;MAYE,qBAAqB,EAAEgC,aAZzB;MAaE,eAAe,EAAEC,aAbnB;MAcE,mBAAmB,EAAE1B,mBAdvB;MAeE,mBAAmB,EAAEC,mBAfvB;MAgBE,aAAa,EAAEgC;IAhBjB,EADF,eAmBE,6BAAC,kBAAD,CAAoB,KAApB;MACE,iBAAiB,EAAEgB,iBAAiB,CAAC3C,OAAD,CADtC;MAEE,iBAAiB,EAAEgC,iBAFrB;MAGE,iBAAiB,EAAEG,iBAHrB;MAIE,mBAAmB,EAAEG,mBAJvB;MAKE,mBAAmB,EAAEG;IALvB,EAnBF,CANF,CADF;EAoCD,CAlHD;AAmHD,CAtHD;;AAwHA,SAASE,iBAAT,CAA2B3C,OAA3B,EAA0D;EACxD,IAAIA,OAAO,CAAC4C,WAAZ,EAAyB;IACvB,OAAO5C,OAAO,CAAC6C,MAAR,KAAmB,UAA1B;EACD;;EAED,OAAO,IAAP;AACD;;eAEchE,0B"}
1
+ {"version":3,"names":["createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","renderNewMessagesButton","props","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressImageMessage","onPressMediaMessage","onChannelDeleted","onBeforeSendFileMessage","PASS","onBeforeSendUserMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","useSendbirdChat","messages","nextMessages","newMessagesFromMembers","next","prev","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","contentContainerStyle","flexGrow","onSendFileMessage","file","processedParams","onSendUserMessage","text","mention","message","mentionedUserIds","userIds","mentionedMessageTemplate","messageTemplate","mentionType","type","onUpdateFileMessage","editedFile","messageId","onUpdateUserMessage","editedText","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { NOOP, PASS, SendbirdGroupChannel, messageComparator, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport MessageRenderer from '../components/MessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type { GroupChannelFragment, GroupChannelModule, GroupChannelProps } from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator = true,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressImageMessage,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendFileMessage = PASS,\n onBeforeSendUserMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const {\n messages,\n nextMessages,\n newMessagesFromMembers,\n next,\n prev,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <MessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n await sendFileMessage(processedParams);\n });\n const onSendUserMessage: GroupChannelProps['Input']['onSendUserMessage'] = useFreshCallback(\n async (text, mention) => {\n const processedParams = await onBeforeSendUserMessage({\n message: text,\n mentionedUserIds: mention?.userIds,\n mentionedMessageTemplate: mention?.messageTemplate,\n mentionType: mention?.type,\n });\n await sendUserMessage(processedParams);\n },\n );\n const onUpdateFileMessage: GroupChannelProps['Input']['onUpdateFileMessage'] = useFreshCallback(\n async (editedFile, message) => {\n const processedParams = await onBeforeSendFileMessage({ file: editedFile });\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onUpdateUserMessage: GroupChannelProps['Input']['onUpdateUserMessage'] = useFreshCallback(\n async (editedText, message, mention) => {\n const processedParams = await onBeforeSendUserMessage({\n message: editedText,\n mentionedUserIds: mention?.userIds,\n mentionedMessageTemplate: mention?.messageTemplate,\n mentionType: mention?.type,\n });\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header onPressHeaderLeft={onPressHeaderLeft} onPressHeaderRight={onPressHeaderRight} />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n nextMessages={nextMessages}\n newMessagesFromMembers={newMessagesFromMembers}\n onTopReached={prev}\n onBottomReached={next}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressImageMessage={onPressImageMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onSendFileMessage={onSendFileMessage}\n onSendUserMessage={onSendUserMessage}\n onUpdateFileMessage={onUpdateFileMessage}\n onUpdateUserMessage={onUpdateUserMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","channel","onPressHeaderLeft","onInviteMembers","sortComparator","queryCreator","renderUser","sdk","useSendbirdChat","STRINGS","useLocalization","users","refreshing","refresh","next","error","loading","useUserList","memberIds","shouldFilterMember","members","map","it","userId","_renderUser","useCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Object","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_INVITE","HEADER_RIGHT","HEADER_TITLE","userIds","updatedChannel","inviteWithUserIds","Boolean","isSuper","isBroadcast"],"sources":["createGroupChannelInviteFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { UserStruct, useUserList } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdGroupChannel, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelInviteFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelInviteFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelInviteFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({ channel, onPressHeaderLeft, onInviteMembers, sortComparator, queryCreator, renderUser }) => {\n const { sdk } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, refresh, next, error, loading } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const memberIds = shouldFilterMember(channel) ? channel.members.map((it) => it.userId) : [];\n\n const _renderUser: NonNullable<typeof renderUser> = useCallback(\n (user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const userIdxInMembers = memberIds.indexOf(user.userId);\n const userIdxInSelectedUsers = selectedUsers.findIndex((it) => it.userId === user.userId);\n\n const isMember = userIdxInMembers > -1;\n const isSelected = userIdxInSelectedUsers > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={isMember}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdxInSelectedUsers, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isMember || isSelected}\n disabled={isMember}\n />\n </TouchableOpacity>\n );\n },\n [channel, renderUser, queryCreator],\n );\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_INVITE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_INVITE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const userIds = users.map((it) => it.userId);\n const updatedChannel = await channel.inviteWithUserIds(userIds);\n onInviteMembers(updatedChannel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nfunction shouldFilterMember(channel: SendbirdGroupChannel) {\n return !channel.isSuper && !channel.isBroadcast;\n}\n\nexport default createGroupChannelInviteFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","channel","onPressHeaderLeft","onInviteMembers","sortComparator","queryCreator","renderUser","sdk","useSendbirdChat","STRINGS","useLocalization","users","refreshing","refresh","next","error","loading","useUserList","memberIds","shouldFilterMember","members","map","it","userId","_renderUser","useCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Object","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_INVITE","HEADER_RIGHT","HEADER_TITLE","userIds","updatedChannel","inviteWithUserIds","Boolean","isSuper","isBroadcast"],"sources":["createGroupChannelInviteFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { useUserList } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdGroupChannel, SendbirdUser, UserStruct } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelInviteFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelInviteFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelInviteFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({ channel, onPressHeaderLeft, onInviteMembers, sortComparator, queryCreator, renderUser }) => {\n const { sdk } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, refresh, next, error, loading } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const memberIds = shouldFilterMember(channel) ? channel.members.map((it) => it.userId) : [];\n\n const _renderUser: NonNullable<typeof renderUser> = useCallback(\n (user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const userIdxInMembers = memberIds.indexOf(user.userId);\n const userIdxInSelectedUsers = selectedUsers.findIndex((it) => it.userId === user.userId);\n\n const isMember = userIdxInMembers > -1;\n const isSelected = userIdxInSelectedUsers > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={isMember}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdxInSelectedUsers, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isMember || isSelected}\n disabled={isMember}\n />\n </TouchableOpacity>\n );\n },\n [channel, renderUser, queryCreator],\n );\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_INVITE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_INVITE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const userIds = users.map((it) => it.userId);\n const updatedChannel = await channel.inviteWithUserIds(userIds);\n onInviteMembers(updatedChannel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nfunction shouldFilterMember(channel: SendbirdGroupChannel) {\n return !channel.isSuper && !channel.isBroadcast;\n}\n\nexport default createGroupChannelInviteFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAGA;;AACA;;AAEA;;AAEA;;;;;;;;AAEA,MAAMA,gCAAgC,GACpCC,UADuC,IAEE;EACzC,MAAMC,cAAc,GAAG,IAAAC,6BAAA,EAA+BF,UAA/B,CAAvB;EAEA,OAAO,QAA+F;IAAA,IAA9F;MAAEG,OAAF;MAAWC,iBAAX;MAA8BC,eAA9B;MAA+CC,cAA/C;MAA+DC,YAA/D;MAA6EC;IAA7E,CAA8F;IACpG,MAAM;MAAEC;IAAF,IAAU,IAAAC,2BAAA,GAAhB;IACA,MAAM;MAAEC;IAAF,IAAc,IAAAC,2BAAA,GAApB;IACA,MAAM;MAAEC,KAAF;MAASC,UAAT;MAAqBC,OAArB;MAA8BC,IAA9B;MAAoCC,KAApC;MAA2CC;IAA3C,IAAuD,IAAAC,2BAAA,EAAYV,GAAZ,EAAiB;MAC5EF,YAD4E;MAE5ED;IAF4E,CAAjB,CAA7D;IAKA,MAAMc,SAAS,GAAGC,kBAAkB,CAAClB,OAAD,CAAlB,GAA8BA,OAAO,CAACmB,OAAR,CAAgBC,GAAhB,CAAqBC,EAAD,IAAQA,EAAE,CAACC,MAA/B,CAA9B,GAAuE,EAAzF;;IAEA,MAAMC,WAA2C,GAAG,IAAAC,kBAAA,EAClD,CAACC,IAAD,EAAOC,aAAP,EAAsBC,gBAAtB,KAA2C;MACzC,IAAIvB,YAAY,IAAI,CAACC,UAArB,EAAiC;QAC/B,MAAMuB,cAAc,GAAGC,MAAM,CAACC,MAAP,CAAcL,IAAd,EAAoB,YAApB,KAAqCI,MAAM,CAACC,MAAP,CAAcL,IAAd,EAAoB,UAApB,CAA5D;QACA,IAAI,CAACG,cAAL,EAAqB,MAAM,IAAIG,KAAJ,CAAU,+DAAV,CAAN;MACtB;;MAED,IAAI1B,UAAJ,EAAgB,OAAOA,UAAU,CAACoB,IAAD,EAAOC,aAAP,EAAsBC,gBAAtB,CAAjB;MAEhB,MAAMK,gBAAgB,GAAGf,SAAS,CAACgB,OAAV,CAAkBR,IAAI,CAACH,MAAvB,CAAzB;MACA,MAAMY,sBAAsB,GAAGR,aAAa,CAACS,SAAd,CAAyBd,EAAD,IAAQA,EAAE,CAACC,MAAH,KAAcG,IAAI,CAACH,MAAnD,CAA/B;MAEA,MAAMc,QAAQ,GAAGJ,gBAAgB,GAAG,CAAC,CAArC;MACA,MAAMK,UAAU,GAAGH,sBAAsB,GAAG,CAAC,CAA7C;MAEA,oBACE,6BAAC,6BAAD;QACE,aAAa,EAAE,GADjB;QAEE,QAAQ,EAAEE,QAFZ;QAGE,OAAO,EAAE,MAAM;UACbT,gBAAgB,CAAC,SAAgB;YAAA,IAAf,CAAC,GAAGW,KAAJ,CAAe;YAC/B,IAAID,UAAJ,EAAgBC,KAAK,CAACC,MAAN,CAAaL,sBAAb,EAAqC,CAArC,EAAhB,KACKI,KAAK,CAACE,IAAN,CAAWf,IAAX;YACL,OAAOa,KAAP;UACD,CAJe,CAAhB;QAKD;MATH,gBAWE,6BAAC,0BAAD;QACE,GAAG,EAAGb,IAAD,CAAkCgB,UADzC;QAEE,IAAI,EAAGhB,IAAD,CAAkCiB,QAAlC,IAA8ClC,OAAO,CAACmC,MAAR,CAAeC,YAFrE;QAGE,QAAQ,EAAER,QAAQ,IAAIC,UAHxB;QAIE,QAAQ,EAAED;MAJZ,EAXF,CADF;IAoBD,CAnCiD,EAoClD,CAACpC,OAAD,EAAUK,UAAV,EAAsBD,YAAtB,CApCkD,CAApD;;IAuCA,oBACE,6BAAC,cAAD,CAAgB,QAAhB;MACE,WAAW,EAAGsB,aAAD,IAAmBlB,OAAO,CAACqC,oBAAR,CAA6BC,YAA7B,CAA0C;QAAEpB;MAAF,CAA1C,CADlC;MAEE,WAAW,EAAElB,OAAO,CAACqC,oBAAR,CAA6BE;IAF5C,gBAIE,6BAAC,cAAD,CAAgB,MAAhB;MACE,iBAAiB,EAAE9C,iBADrB;MAEE,kBAAkB,EAAE,MAAOS,KAAP,IAAiB;QACnC,MAAMsC,OAAO,GAAGtC,KAAK,CAACU,GAAN,CAAWC,EAAD,IAAQA,EAAE,CAACC,MAArB,CAAhB;QACA,MAAM2B,cAAc,GAAG,MAAMjD,OAAO,CAACkD,iBAAR,CAA0BF,OAA1B,CAA7B;QACA9C,eAAe,CAAC+C,cAAD,CAAf;MACD;IANH,EAJF,eAYE,6BAAC,0BAAD;MACE,OAAO,EAAElC,OADX;MAEE,KAAK,EAAEoC,OAAO,CAACrC,KAAD,CAFhB;MAGE,gBAAgB,eAAE,6BAAC,cAAD,CAAgB,aAAhB,OAHpB;MAIE,cAAc,eAAE,6BAAC,cAAD,CAAgB,WAAhB;QAA4B,YAAY,EAAE,MAAMF,OAAO;MAAvD;IAJlB,gBAME,6BAAC,cAAD,CAAgB,IAAhB;MACE,UAAU,EAAEC,IADd;MAEE,KAAK,EAAEH,KAFT;MAGE,UAAU,EAAEa,WAHd;MAIE,SAAS,EAAEX,OAJb;MAKE,UAAU,EAAED,UALd;MAME,kBAAkB,eAAE,6BAAC,cAAD,CAAgB,WAAhB;IANtB,EANF,CAZF,CADF;EA8BD,CA/ED;AAgFD,CArFD;;AAuFA,SAASO,kBAAT,CAA4BlB,OAA5B,EAA2D;EACzD,OAAO,CAACA,OAAO,CAACoD,OAAT,IAAoB,CAACpD,OAAO,CAACqD,WAApC;AACD;;eAEczD,gC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _groupChannelNotifications = require("../domain/groupChannelNotifications");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const createGroupChannelNotificationsFragment = initModule => {
17
+ const GroupChannelNotificationsModule = (0, _groupChannelNotifications.createGroupChannelNotificationsModule)(initModule);
18
+ return _ref => {
19
+ let {
20
+ onPressHeaderLeft = _uikitUtils.NOOP,
21
+ children,
22
+ channel
23
+ } = _ref;
24
+ return /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.Provider, {
25
+ channel: channel
26
+ }, /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.Header, {
27
+ onPressHeaderLeft: onPressHeaderLeft
28
+ }), /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.View, null), children);
29
+ };
30
+ };
31
+
32
+ var _default = createGroupChannelNotificationsFragment;
33
+ exports.default = _default;
34
+ //# sourceMappingURL=createGroupChannelNotificationsFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGroupChannelNotificationsFragment","initModule","GroupChannelNotificationsModule","createGroupChannelNotificationsModule","onPressHeaderLeft","NOOP","children","channel"],"sources":["createGroupChannelNotificationsFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport { createGroupChannelNotificationsModule } from '../domain/groupChannelNotifications';\nimport type {\n GroupChannelNotificationsFragment,\n GroupChannelNotificationsModule,\n} from '../domain/groupChannelNotifications/types';\n\nconst createGroupChannelNotificationsFragment = (\n initModule?: Partial<GroupChannelNotificationsModule>,\n): GroupChannelNotificationsFragment => {\n const GroupChannelNotificationsModule = createGroupChannelNotificationsModule(initModule);\n\n return ({ onPressHeaderLeft = NOOP, children, channel }) => {\n return (\n <GroupChannelNotificationsModule.Provider channel={channel}>\n <GroupChannelNotificationsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <GroupChannelNotificationsModule.View />\n {children}\n </GroupChannelNotificationsModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelNotificationsFragment;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;;;AAMA,MAAMA,uCAAuC,GAC3CC,UAD8C,IAER;EACtC,MAAMC,+BAA+B,GAAG,IAAAC,gEAAA,EAAsCF,UAAtC,CAAxC;EAEA,OAAO,QAAqD;IAAA,IAApD;MAAEG,iBAAiB,GAAGC,gBAAtB;MAA4BC,QAA5B;MAAsCC;IAAtC,CAAoD;IAC1D,oBACE,6BAAC,+BAAD,CAAiC,QAAjC;MAA0C,OAAO,EAAEA;IAAnD,gBACE,6BAAC,+BAAD,CAAiC,MAAjC;MAAwC,iBAAiB,EAAEH;IAA3D,EADF,eAEE,6BAAC,+BAAD,CAAiC,IAAjC,OAFF,EAGGE,QAHH,CADF;EAOD,CARD;AASD,CAdD;;eAgBeN,uC"}
@@ -28,6 +28,7 @@ const createGroupChannelSettingsFragment = initModule => {
28
28
  onPressMenuModeration,
29
29
  onPressMenuMembers,
30
30
  onPressMenuLeaveChannel,
31
+ onPressMenuNotification,
31
32
  menuItemsCreator
32
33
  } = _ref;
33
34
  const {
@@ -53,7 +54,8 @@ const createGroupChannelSettingsFragment = initModule => {
53
54
  menuItemsCreator: menuItemsCreator,
54
55
  onPressMenuModeration: onPressMenuModeration,
55
56
  onPressMenuMembers: onPressMenuMembers,
56
- onPressMenuLeaveChannel: onPressMenuLeaveChannel
57
+ onPressMenuLeaveChannel: onPressMenuLeaveChannel,
58
+ onPressMenuNotification: onPressMenuNotification
57
59
  })));
58
60
  };
59
61
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupChannelSettingsFragment","initModule","GroupChannelSettingsModule","createGroupChannelSettingsModule","onPressHeaderLeft","NOOP","channel","onPressMenuModeration","onPressMenuMembers","onPressMenuLeaveChannel","menuItemsCreator","colors","useUIKitTheme","left","right","useSafeAreaInsets","backgroundColor","background","paddingLeft","styles","viewContainer","paddingHorizontal","paddingRight","createStyleSheet"],"sources":["createGroupChannelSettingsFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport createGroupChannelSettingsModule from '../domain/groupChannelSettings/module/createGroupChannelSettingsModule';\nimport type { GroupChannelSettingsFragment, GroupChannelSettingsModule } from '../domain/groupChannelSettings/types';\n\nconst createGroupChannelSettingsFragment = (\n initModule?: Partial<GroupChannelSettingsModule>,\n): GroupChannelSettingsFragment => {\n const GroupChannelSettingsModule = createGroupChannelSettingsModule(initModule);\n\n return ({\n onPressHeaderLeft = NOOP,\n channel,\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n menuItemsCreator,\n }) => {\n const { colors } = useUIKitTheme();\n const { left, right } = useSafeAreaInsets();\n\n return (\n <GroupChannelSettingsModule.Provider channel={channel}>\n <GroupChannelSettingsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <ScrollView\n style={{ backgroundColor: colors.background }}\n contentContainerStyle={{\n paddingLeft: left + styles.viewContainer.paddingHorizontal,\n paddingRight: right + styles.viewContainer.paddingHorizontal,\n }}\n >\n <GroupChannelSettingsModule.Info />\n <GroupChannelSettingsModule.Menu\n menuItemsCreator={menuItemsCreator}\n onPressMenuModeration={onPressMenuModeration}\n onPressMenuMembers={onPressMenuMembers}\n onPressMenuLeaveChannel={onPressMenuLeaveChannel}\n />\n </ScrollView>\n </GroupChannelSettingsModule.Provider>\n );\n };\n};\n\nconst styles = createStyleSheet({\n viewContainer: {\n paddingHorizontal: 16,\n },\n});\n\nexport default createGroupChannelSettingsFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;;;AAGA,MAAMA,kCAAkC,GACtCC,UADyC,IAER;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,yCAAA,EAAiCF,UAAjC,CAAnC;EAEA,OAAO,QAOD;IAAA,IAPE;MACNG,iBAAiB,GAAGC,gBADd;MAENC,OAFM;MAGNC,qBAHM;MAINC,kBAJM;MAKNC,uBALM;MAMNC;IANM,CAOF;IACJ,MAAM;MAAEC;IAAF,IAAa,IAAAC,yCAAA,GAAnB;IACA,MAAM;MAAEC,IAAF;MAAQC;IAAR,IAAkB,IAAAC,6CAAA,GAAxB;IAEA,oBACE,6BAAC,0BAAD,CAA4B,QAA5B;MAAqC,OAAO,EAAET;IAA9C,gBACE,6BAAC,0BAAD,CAA4B,MAA5B;MAAmC,iBAAiB,EAAEF;IAAtD,EADF,eAEE,6BAAC,uBAAD;MACE,KAAK,EAAE;QAAEY,eAAe,EAAEL,MAAM,CAACM;MAA1B,CADT;MAEE,qBAAqB,EAAE;QACrBC,WAAW,EAAEL,IAAI,GAAGM,MAAM,CAACC,aAAP,CAAqBC,iBADpB;QAErBC,YAAY,EAAER,KAAK,GAAGK,MAAM,CAACC,aAAP,CAAqBC;MAFtB;IAFzB,gBAOE,6BAAC,0BAAD,CAA4B,IAA5B,OAPF,eAQE,6BAAC,0BAAD,CAA4B,IAA5B;MACE,gBAAgB,EAAEX,gBADpB;MAEE,qBAAqB,EAAEH,qBAFzB;MAGE,kBAAkB,EAAEC,kBAHtB;MAIE,uBAAuB,EAAEC;IAJ3B,EARF,CAFF,CADF;EAoBD,CA/BD;AAgCD,CArCD;;AAuCA,MAAMU,MAAM,GAAG,IAAAI,4CAAA,EAAiB;EAC9BH,aAAa,EAAE;IACbC,iBAAiB,EAAE;EADN;AADe,CAAjB,CAAf;eAMerB,kC"}
1
+ {"version":3,"names":["createGroupChannelSettingsFragment","initModule","GroupChannelSettingsModule","createGroupChannelSettingsModule","onPressHeaderLeft","NOOP","channel","onPressMenuModeration","onPressMenuMembers","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","colors","useUIKitTheme","left","right","useSafeAreaInsets","backgroundColor","background","paddingLeft","styles","viewContainer","paddingHorizontal","paddingRight","createStyleSheet"],"sources":["createGroupChannelSettingsFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport createGroupChannelSettingsModule from '../domain/groupChannelSettings/module/createGroupChannelSettingsModule';\nimport type { GroupChannelSettingsFragment, GroupChannelSettingsModule } from '../domain/groupChannelSettings/types';\n\nconst createGroupChannelSettingsFragment = (\n initModule?: Partial<GroupChannelSettingsModule>,\n): GroupChannelSettingsFragment => {\n const GroupChannelSettingsModule = createGroupChannelSettingsModule(initModule);\n\n return ({\n onPressHeaderLeft = NOOP,\n channel,\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator,\n }) => {\n const { colors } = useUIKitTheme();\n const { left, right } = useSafeAreaInsets();\n\n return (\n <GroupChannelSettingsModule.Provider channel={channel}>\n <GroupChannelSettingsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <ScrollView\n style={{ backgroundColor: colors.background }}\n contentContainerStyle={{\n paddingLeft: left + styles.viewContainer.paddingHorizontal,\n paddingRight: right + styles.viewContainer.paddingHorizontal,\n }}\n >\n <GroupChannelSettingsModule.Info />\n <GroupChannelSettingsModule.Menu\n menuItemsCreator={menuItemsCreator}\n onPressMenuModeration={onPressMenuModeration}\n onPressMenuMembers={onPressMenuMembers}\n onPressMenuLeaveChannel={onPressMenuLeaveChannel}\n onPressMenuNotification={onPressMenuNotification}\n />\n </ScrollView>\n </GroupChannelSettingsModule.Provider>\n );\n };\n};\n\nconst styles = createStyleSheet({\n viewContainer: {\n paddingHorizontal: 16,\n },\n});\n\nexport default createGroupChannelSettingsFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;;;AAGA,MAAMA,kCAAkC,GACtCC,UADyC,IAER;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,yCAAA,EAAiCF,UAAjC,CAAnC;EAEA,OAAO,QAQD;IAAA,IARE;MACNG,iBAAiB,GAAGC,gBADd;MAENC,OAFM;MAGNC,qBAHM;MAINC,kBAJM;MAKNC,uBALM;MAMNC,uBANM;MAONC;IAPM,CAQF;IACJ,MAAM;MAAEC;IAAF,IAAa,IAAAC,yCAAA,GAAnB;IACA,MAAM;MAAEC,IAAF;MAAQC;IAAR,IAAkB,IAAAC,6CAAA,GAAxB;IAEA,oBACE,6BAAC,0BAAD,CAA4B,QAA5B;MAAqC,OAAO,EAAEV;IAA9C,gBACE,6BAAC,0BAAD,CAA4B,MAA5B;MAAmC,iBAAiB,EAAEF;IAAtD,EADF,eAEE,6BAAC,uBAAD;MACE,KAAK,EAAE;QAAEa,eAAe,EAAEL,MAAM,CAACM;MAA1B,CADT;MAEE,qBAAqB,EAAE;QACrBC,WAAW,EAAEL,IAAI,GAAGM,MAAM,CAACC,aAAP,CAAqBC,iBADpB;QAErBC,YAAY,EAAER,KAAK,GAAGK,MAAM,CAACC,aAAP,CAAqBC;MAFtB;IAFzB,gBAOE,6BAAC,0BAAD,CAA4B,IAA5B,OAPF,eAQE,6BAAC,0BAAD,CAA4B,IAA5B;MACE,gBAAgB,EAAEX,gBADpB;MAEE,qBAAqB,EAAEJ,qBAFzB;MAGE,kBAAkB,EAAEC,kBAHtB;MAIE,uBAAuB,EAAEC,uBAJ3B;MAKE,uBAAuB,EAAEC;IAL3B,EARF,CAFF,CADF;EAqBD,CAjCD;AAkCD,CAvCD;;AAyCA,MAAMU,MAAM,GAAG,IAAAI,4CAAA,EAAiB;EAC9BH,aAAa,EAAE;IACbC,iBAAiB,EAAE;EADN;AADe,CAAjB,CAAf;eAMetB,kC"}
@@ -20,6 +20,7 @@ const cacheRestrictCodes = [400300, 400301, 400302, 400310];
20
20
  const useConnection = () => {
21
21
  const {
22
22
  sdk,
23
+ emojiManager,
23
24
  setCurrentUser,
24
25
  features
25
26
  } = (0, _useContext.useSendbirdChat)();
@@ -56,6 +57,7 @@ const useConnection = () => {
56
57
  _uikitUtils.Logger.debug('[useConnection]', 'connected! (online)');
57
58
 
58
59
  setCurrentUser(user);
60
+ sdk.getAllEmoji().then(emojiManager.init);
59
61
  return user;
60
62
  } catch (e) {
61
63
  const error = e;
@@ -71,6 +73,7 @@ const useConnection = () => {
71
73
  _uikitUtils.Logger.debug('[useConnection]', 'connected! (offline)');
72
74
 
73
75
  setCurrentUser(sdk.currentUser);
76
+ sdk.getAllEmoji().finally(emojiManager.init);
74
77
  return sdk.currentUser;
75
78
  }
76
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["cacheRestrictCodes","useConnection","sdk","setCurrentUser","features","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","error","isCacheEnabled","some","code","message","clearCachedData","currentUser","disconnect","undefined","reconnect"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Logger, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\n\nconst useConnection = () => {\n const { sdk, setCurrentUser, features } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (features.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (cacheRestrictCodes.some((code) => error.code === code)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":"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"}
1
+ {"version":3,"names":["cacheRestrictCodes","useConnection","sdk","emojiManager","setCurrentUser","features","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","getAllEmoji","init","error","isCacheEnabled","some","code","message","clearCachedData","currentUser","finally","disconnect","undefined","reconnect"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Logger, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\n\nconst useConnection = () => {\n const { sdk, emojiManager, setCurrentUser, features } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (features.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n sdk.getAllEmoji().then(emojiManager.init);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (cacheRestrictCodes.some((code) => error.code === code)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n sdk.getAllEmoji().finally(emojiManager.init);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useUserProfile = exports.useSendbirdChat = exports.usePlatformService = exports.useLocalization = void 0;
6
+ exports.useUserProfile = exports.useSendbirdChat = exports.useReaction = exports.usePlatformService = exports.useLocalization = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
@@ -11,6 +11,8 @@ var _LocalizationCtx = require("../contexts/LocalizationCtx");
11
11
 
12
12
  var _PlatformServiceCtx = require("../contexts/PlatformServiceCtx");
13
13
 
14
+ var _ReactionCtx = require("../contexts/ReactionCtx");
15
+
14
16
  var _SendbirdChatCtx = require("../contexts/SendbirdChatCtx");
15
17
 
16
18
  var _UserProfileCtx = require("../contexts/UserProfileCtx");
@@ -46,4 +48,12 @@ const useUserProfile = () => {
46
48
  };
47
49
 
48
50
  exports.useUserProfile = useUserProfile;
51
+
52
+ const useReaction = () => {
53
+ const value = (0, _react.useContext)(_ReactionCtx.ReactionContext);
54
+ if (!value) throw new Error('ReactionContext is not provided');
55
+ return value;
56
+ };
57
+
58
+ exports.useReaction = useReaction;
49
59
  //# sourceMappingURL=useContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext","useUserProfile","UserProfileContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { PlatformServiceContext } from '../contexts/PlatformServiceCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { UserProfileContext } from '../contexts/UserProfileCtx';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n\nexport const useUserProfile = () => {\n const value = useContext(UserProfileContext);\n if (!value) throw new Error('UserProfileContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,oCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,0CAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,oCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMQ,cAAc,GAAG,MAAM;EAClC,MAAMR,KAAK,GAAG,IAAAC,iBAAA,EAAWQ,kCAAX,CAAd;EACA,IAAI,CAACT,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,oCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}
1
+ {"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext","useUserProfile","UserProfileContext","useReaction","ReactionContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { PlatformServiceContext } from '../contexts/PlatformServiceCtx';\nimport { ReactionContext } from '../contexts/ReactionCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { UserProfileContext } from '../contexts/UserProfileCtx';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n\nexport const useUserProfile = () => {\n const value = useContext(UserProfileContext);\n if (!value) throw new Error('UserProfileContext is not provided');\n return value;\n};\n\nexport const useReaction = () => {\n const value = useContext(ReactionContext);\n if (!value) throw new Error('ReactionContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,oCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,0CAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,oCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMQ,cAAc,GAAG,MAAM;EAClC,MAAMR,KAAK,GAAG,IAAAC,iBAAA,EAAWQ,kCAAX,CAAd;EACA,IAAI,CAACT,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,oCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMU,WAAW,GAAG,MAAM;EAC/B,MAAMV,KAAK,GAAG,IAAAC,iBAAA,EAAWU,4BAAX,CAAd;EACA,IAAI,CAACX,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,iCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}