@sendbird/uikit-react-native 2.5.0 → 3.0.0-rc.1

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 (326) hide show
  1. package/README.md +6 -1
  2. package/lib/commonjs/components/{MessageRenderer/MessageTime.js → ChannelInput/AttachmentsButton.js} +20 -17
  3. package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -0
  4. package/lib/commonjs/components/ChannelInput/EditInput.js +10 -18
  5. package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
  6. package/lib/commonjs/components/ChannelInput/SendInput.js +220 -163
  7. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  8. package/lib/commonjs/components/ChannelInput/index.js +5 -3
  9. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  10. package/lib/commonjs/components/ChannelMessageList/index.js +27 -27
  11. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  12. package/lib/commonjs/components/ChatFlatList/FlatListInternal.js +33 -0
  13. package/lib/commonjs/components/ChatFlatList/FlatListInternal.js.map +1 -0
  14. package/lib/commonjs/components/{ChatFlatList.js → ChatFlatList/index.js} +5 -7
  15. package/lib/commonjs/components/ChatFlatList/index.js.map +1 -0
  16. package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  17. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  18. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
  19. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  20. package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
  21. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  22. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
  23. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
  24. package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
  25. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
  26. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
  27. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
  28. package/lib/commonjs/constants.js +1 -7
  29. package/lib/commonjs/constants.js.map +1 -1
  30. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
  31. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  32. package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
  33. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  34. package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
  35. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  36. package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
  37. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  38. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
  39. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  40. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  41. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
  42. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  43. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  44. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  45. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  46. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  47. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  48. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
  49. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  50. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  51. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
  52. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  53. package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
  54. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
  55. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  56. package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
  57. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  58. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
  59. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  60. package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
  61. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  62. package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
  63. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
  64. package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
  65. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  66. package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
  67. package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
  68. package/lib/commonjs/hooks/useConnection.js +11 -7
  69. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  70. package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
  71. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
  72. package/lib/commonjs/index.js +20 -4
  73. package/lib/commonjs/index.js.map +1 -1
  74. package/lib/commonjs/libs/MentionManager.js +8 -9
  75. package/lib/commonjs/libs/MentionManager.js.map +1 -1
  76. package/lib/commonjs/libs/SBUUtils.js +7 -3
  77. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  78. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  79. package/lib/commonjs/localization/createBaseStringSet.js +20 -62
  80. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  81. package/lib/commonjs/version.js +1 -1
  82. package/lib/commonjs/version.js.map +1 -1
  83. package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
  84. package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
  85. package/lib/module/components/ChannelInput/EditInput.js +10 -18
  86. package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
  87. package/lib/module/components/ChannelInput/SendInput.js +221 -164
  88. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  89. package/lib/module/components/ChannelInput/index.js +5 -3
  90. package/lib/module/components/ChannelInput/index.js.map +1 -1
  91. package/lib/module/components/ChannelMessageList/index.js +28 -28
  92. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  93. package/lib/module/components/ChatFlatList/FlatListInternal.js +26 -0
  94. package/lib/module/components/ChatFlatList/FlatListInternal.js.map +1 -0
  95. package/lib/module/components/{ChatFlatList.js → ChatFlatList/index.js} +4 -7
  96. package/lib/module/components/ChatFlatList/index.js.map +1 -0
  97. package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  98. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  99. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
  100. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  101. package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
  102. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  103. package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
  104. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
  105. package/lib/module/components/MessageSearchResultItem.js +2 -1
  106. package/lib/module/components/MessageSearchResultItem.js.map +1 -1
  107. package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
  108. package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
  109. package/lib/module/constants.js +0 -5
  110. package/lib/module/constants.js.map +1 -1
  111. package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
  112. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  113. package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
  114. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  115. package/lib/module/contexts/SendbirdChatCtx.js +17 -14
  116. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  117. package/lib/module/contexts/UserProfileCtx.js +6 -4
  118. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  119. package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
  120. package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  121. package/lib/module/domain/groupChannel/types.js.map +1 -1
  122. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
  123. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  124. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  125. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  126. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  127. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  128. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  129. package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
  130. package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  131. package/lib/module/domain/openChannel/types.js.map +1 -1
  132. package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
  133. package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  134. package/lib/module/domain/openChannelList/types.js.map +1 -1
  135. package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
  136. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  137. package/lib/module/fragments/createGroupChannelFragment.js +24 -102
  138. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  139. package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
  140. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  141. package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
  142. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  143. package/lib/module/fragments/createMessageSearchFragment.js +1 -1
  144. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
  145. package/lib/module/fragments/createOpenChannelFragment.js +2 -8
  146. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  147. package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
  148. package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
  149. package/lib/module/hooks/useConnection.js +11 -7
  150. package/lib/module/hooks/useConnection.js.map +1 -1
  151. package/lib/module/hooks/useMentionTextInput.js +3 -2
  152. package/lib/module/hooks/useMentionTextInput.js.map +1 -1
  153. package/lib/module/index.js +5 -2
  154. package/lib/module/index.js.map +1 -1
  155. package/lib/module/libs/MentionManager.js +8 -9
  156. package/lib/module/libs/MentionManager.js.map +1 -1
  157. package/lib/module/libs/SBUUtils.js +7 -3
  158. package/lib/module/libs/SBUUtils.js.map +1 -1
  159. package/lib/module/localization/StringSet.type.js.map +1 -1
  160. package/lib/module/localization/createBaseStringSet.js +20 -62
  161. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  162. package/lib/module/version.js +1 -1
  163. package/lib/module/version.js.map +1 -1
  164. package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
  165. package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
  166. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
  167. package/lib/typescript/src/components/ChatFlatList/FlatListInternal.d.ts +20 -0
  168. package/lib/typescript/src/components/{ChatFlatList.d.ts → ChatFlatList/index.d.ts} +1 -5
  169. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
  170. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
  171. package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
  172. package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
  173. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
  174. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
  175. package/lib/typescript/src/constants.d.ts +0 -5
  176. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +16 -11
  177. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
  178. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
  179. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
  180. package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
  181. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
  182. package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
  183. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  184. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
  185. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
  186. package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
  187. package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
  188. package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
  189. package/lib/typescript/src/index.d.ts +4 -1
  190. package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
  191. package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
  192. package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
  193. package/lib/typescript/src/version.d.ts +1 -1
  194. package/package.json +14 -10
  195. package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
  196. package/src/components/ChannelInput/EditInput.tsx +17 -18
  197. package/src/components/ChannelInput/SendInput.tsx +237 -181
  198. package/src/components/ChannelInput/index.tsx +8 -21
  199. package/src/components/ChannelMessageList/index.tsx +33 -41
  200. package/src/components/ChatFlatList/FlatListInternal.tsx +40 -0
  201. package/src/components/{ChatFlatList.tsx → ChatFlatList/index.tsx} +7 -12
  202. package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
  203. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
  204. package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
  205. package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
  206. package/src/components/MessageSearchResultItem.tsx +3 -1
  207. package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
  208. package/src/constants.ts +0 -5
  209. package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
  210. package/src/containers/SendbirdUIKitContainer.tsx +98 -90
  211. package/src/contexts/SendbirdChatCtx.tsx +49 -36
  212. package/src/contexts/UserProfileCtx.tsx +10 -5
  213. package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
  214. package/src/domain/groupChannel/types.ts +1 -14
  215. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
  216. package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
  217. package/src/domain/groupChannelList/types.ts +8 -30
  218. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
  219. package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
  220. package/src/domain/openChannel/types.ts +1 -1
  221. package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
  222. package/src/domain/openChannelList/types.ts +6 -13
  223. package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
  224. package/src/fragments/createGroupChannelFragment.tsx +21 -97
  225. package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
  226. package/src/fragments/createGroupChannelListFragment.tsx +9 -15
  227. package/src/fragments/createMessageSearchFragment.tsx +1 -1
  228. package/src/fragments/createOpenChannelFragment.tsx +2 -3
  229. package/src/fragments/createOpenChannelListFragment.tsx +2 -1
  230. package/src/hooks/useConnection.ts +9 -7
  231. package/src/hooks/useMentionTextInput.ts +7 -2
  232. package/src/index.ts +4 -2
  233. package/src/libs/MentionManager.tsx +8 -7
  234. package/src/libs/SBUUtils.ts +7 -3
  235. package/src/localization/StringSet.type.ts +2 -46
  236. package/src/localization/createBaseStringSet.ts +19 -71
  237. package/src/version.ts +1 -1
  238. package/lib/commonjs/components/ChatFlatList.js.map +0 -1
  239. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
  240. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  241. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
  242. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  243. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
  244. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  245. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
  246. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  247. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
  248. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
  249. package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
  250. package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
  251. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  252. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
  253. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  254. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
  255. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  256. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  257. package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
  258. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
  259. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  260. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
  261. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  262. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
  263. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  264. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
  265. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
  266. package/lib/commonjs/components/MessageRenderer/index.js +0 -186
  267. package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
  268. package/lib/module/components/ChatFlatList.js.map +0 -1
  269. package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
  270. package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  271. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
  272. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  273. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
  274. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  275. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
  276. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  277. package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
  278. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
  279. package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
  280. package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
  281. package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  282. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
  283. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  284. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
  285. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  286. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  287. package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
  288. package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
  289. package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
  290. package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  291. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
  292. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  293. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
  294. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  295. package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
  296. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
  297. package/lib/module/components/MessageRenderer/index.js +0 -178
  298. package/lib/module/components/MessageRenderer/index.js.map +0 -1
  299. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
  300. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
  301. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
  302. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
  303. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
  304. package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
  305. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
  306. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
  307. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
  308. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
  309. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
  310. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
  311. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
  312. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
  313. package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
  314. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
  315. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
  316. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
  317. package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
  318. package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
  319. package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
  320. package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
  321. package/src/components/MessageRenderer/MessageTime.tsx +0 -28
  322. package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
  323. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
  324. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
  325. package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
  326. package/src/components/MessageRenderer/index.tsx +0 -198
@@ -45,7 +45,7 @@ const createGroupChannelCreateFragment = initModule => {
45
45
  });
46
46
  const _renderUser = (0, _uikitUtils.useFreshCallback)((user, selectedUsers, setSelectedUsers) => {
47
47
  if (queryCreator && !renderUser) {
48
- const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');
48
+ const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;
49
49
  if (!hasRequiredKey) throw new Error('You should provide "renderUser" when providing "queryCreator"');
50
50
  }
51
51
  if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitChatHooks","_uikitUtils","_StatusComposition","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","_ref","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","createElement","TouchableOpacity","activeOpacity","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","disabled","Provider","headerRight","GROUP_CHANNEL_CREATE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","params","getDefaultGroupChannelCreateParams","invitedUserIds","map","it","currentUserId","isBroadcast","isSuper","processedParams","channel","groupChannel","createChannel","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","_default","exports"],"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 SendbirdUser,\n UserStruct,\n getDefaultGroupChannelCreateParams,\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 = getDefaultGroupChannelCreateParams({\n invitedUserIds: users.map((it) => it.userId),\n currentUserId: currentUser?.userId,\n });\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAQA,IAAAI,kBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,kBAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAAuE,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEvE,MAAMG,gCAAgC,GACpCC,UAA8C,IACL;EACzC,MAAMC,cAAc,GAAG,IAAAC,6BAAoB,EAAWF,UAAU,CAAC;EAEjE,OAAOG,IAAA,IAQD;IAAA,IARE;MACNC,iBAAiB;MACjBC,qBAAqB,GAAGC,gBAAI;MAC5BC,eAAe;MACfC,cAAc;MACdC,YAAY;MACZC,WAAW,GAAG,OAAO;MACrBC;IACF,CAAC,GAAAR,IAAA;IACC,MAAM;MAAES,GAAG;MAAEC;IAAY,CAAC,GAAG,IAAAC,2BAAe,GAAE;IAC9C,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;IACrC,MAAM;MAAEC,KAAK;MAAEC,UAAU;MAAEC,OAAO;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAG,IAAAC,2BAAW,EAACX,GAAG,EAAE;MAC5EH,YAAY;MACZD;IACF,CAAC,CAAC;IAEF,MAAMgB,WAA2C,GAAG,IAAAC,4BAAgB,EAAC,CAACC,IAAI,EAAEC,aAAa,EAAEC,gBAAgB,KAAK;MAC9G,IAAInB,YAAY,IAAI,CAACE,UAAU,EAAE;QAC/B,MAAMkB,cAAc,GAAGC,MAAM,CAACC,MAAM,CAACL,IAAI,EAAE,YAAY,CAAC,IAAII,MAAM,CAACC,MAAM,CAACL,IAAI,EAAE,UAAU,CAAC;QAC3F,IAAI,CAACG,cAAc,EAAE,MAAM,IAAIG,KAAK,CAAC,+DAA+D,CAAC;MACvG;MAEA,IAAIrB,UAAU,EAAE,OAAOA,UAAU,CAACe,IAAI,EAAEC,aAAa,EAAEC,gBAAgB,CAAC;MAExE,MAAMK,IAAI,GAAGP,IAAI,CAACQ,MAAM,MAAKrB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqB,MAAM;MAChD,IAAID,IAAI,EAAE,OAAO,IAAI;MAErB,MAAME,OAAO,GAAGR,aAAa,CAACS,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACH,MAAM,KAAKR,IAAI,CAACQ,MAAM,CAAC;MACxE,MAAMI,UAAU,GAAGH,OAAO,GAAG,CAAC,CAAC;MAE/B,oBACEjD,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAAClD,YAAA,CAAAmD,gBAAgB;QACfC,aAAa,EAAE,GAAI;QACnBC,OAAO,EAAEA,CAAA,KAAM;UACbd,gBAAgB,CAACe,KAAA,IAAgB;YAAA,IAAf,CAAC,GAAGC,KAAK,CAAC,GAAAD,KAAA;YAC1B,IAAIL,UAAU,EAAEM,KAAK,CAACC,MAAM,CAACV,OAAO,EAAE,CAAC,CAAC,CAAC,KACpCS,KAAK,CAACE,IAAI,CAACpB,IAAI,CAAC;YACrB,OAAOkB,KAAK;UACd,CAAC,CAAC;QACJ;MAAE,gBAEF1D,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAAC9C,kBAAA,CAAAK,OAAiB;QAChBiD,GAAG,EAAGrB,IAAI,CAA6BsB,UAAW;QAClDC,IAAI,EAAGvB,IAAI,CAA6BwB,QAAQ,IAAInC,OAAO,CAACoC,MAAM,CAACC,YAAa;QAChFC,QAAQ,EAAEf,UAAW;QACrBgB,QAAQ,EAAE;MAAM,EAChB,CACe;IAEvB,CAAC,CAAC;IAEF,oBACEpE,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAACsD,QAAQ;MACtBC,WAAW,EAAG7B,aAAa,IAAKZ,OAAO,CAAC0C,oBAAoB,CAACC,YAAY,CAAC;QAAE/B;MAAc,CAAC,CAAE;MAC7FgC,WAAW,EAAE5C,OAAO,CAAC0C,oBAAoB,CAACG;IAAa,gBAEvD1E,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAAC4D,MAAM;MACpBzD,iBAAiB,EAAEA,iBAAkB;MACrC0D,kBAAkB,EAAE,MAAO7C,KAAK,IAAK;QACnC,MAAM8C,MAAM,GAAG,IAAAC,8CAAkC,EAAC;UAChDC,cAAc,EAAEhD,KAAK,CAACiD,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACjC,MAAM,CAAC;UAC5CkC,aAAa,EAAEvD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqB;QAC9B,CAAC,CAAC;QAEF,IAAIxB,WAAW,KAAK,WAAW,EAAEqD,MAAM,CAACM,WAAW,GAAG,IAAI;QAC1D,IAAI3D,WAAW,KAAK,aAAa,EAAEqD,MAAM,CAACO,OAAO,GAAG,IAAI;QAExD,MAAMC,eAAe,GAAG,MAAMlE,qBAAqB,CAAC0D,MAAM,EAAE9C,KAAK,CAAC;QAClE,MAAMuD,OAAO,GAAG,MAAM5D,GAAG,CAAC6D,YAAY,CAACC,aAAa,CAACH,eAAe,CAAC;QACrEhE,eAAe,CAACiE,OAAO,CAAC;MAC1B;IAAE,EACF,eACFtF,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAAC/C,kBAAA,CAAAM,OAAiB;MAChBqB,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAEuD,OAAO,CAACvD,KAAK,CAAE;MACtBwD,gBAAgB,eAAE1F,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAAC4E,aAAa,OAAI;MACnDC,cAAc,eAAE5F,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAAC8E,WAAW;QAACC,YAAY,EAAEA,CAAA,KAAM3D,OAAO;MAAG;IAAI,gBAE9EnC,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAACgF,IAAI;MAClBC,UAAU,EAAE5D,IAAK;MACjBL,KAAK,EAAEA,KAAM;MACbN,UAAU,EAAEa,WAAY;MACxB2D,SAAS,EAAE9D,OAAQ;MACnBH,UAAU,EAAEA,UAAW;MACvBkE,kBAAkB,eAAElG,MAAA,CAAAY,OAAA,CAAAyC,aAAA,CAACtC,cAAc,CAACoF,WAAW;IAAI,EACnD,CACgB,CACI;EAE9B,CAAC;AACH,CAAC;AAAC,IAAAC,QAAA,GAEavF,gCAAgC;AAAAwF,OAAA,CAAAzF,OAAA,GAAAwF,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitChatHooks","_uikitUtils","_StatusComposition","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","_ref","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","Error","isMe","userId","userIdx","findIndex","u","isSelected","createElement","TouchableOpacity","activeOpacity","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","disabled","Provider","headerRight","GROUP_CHANNEL_CREATE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","params","getDefaultGroupChannelCreateParams","invitedUserIds","map","it","currentUserId","isBroadcast","isSuper","processedParams","channel","groupChannel","createChannel","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","_default","exports"],"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 SendbirdUser,\n UserStruct,\n getDefaultGroupChannelCreateParams,\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 = 'profileUrl' in user && 'nickname' in user;\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 = getDefaultGroupChannelCreateParams({\n invitedUserIds: users.map((it) => it.userId),\n currentUserId: currentUser?.userId,\n });\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\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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"}
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
8
+ var _message = require("@sendbird/chat/message");
9
9
  var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
10
10
  var _uikitUtils = require("@sendbird/uikit-utils");
11
- var _MessageRenderer = _interopRequireDefault(require("../components/MessageRenderer"));
11
+ var _GroupChannelMessageRenderer = _interopRequireDefault(require("../components/GroupChannelMessageRenderer"));
12
12
  var _NewMessagesButton = _interopRequireDefault(require("../components/NewMessagesButton"));
13
13
  var _ScrollToBottomButton = _interopRequireDefault(require("../components/ScrollToBottomButton"));
14
14
  var _StatusComposition = _interopRequireDefault(require("../components/StatusComposition"));
15
- var _constants = require("../constants");
16
15
  var _createGroupChannelModule = _interopRequireDefault(require("../domain/groupChannel/module/createGroupChannelModule"));
17
16
  var _useContext = require("../hooks/useContext");
18
17
  var _pubsub = _interopRequireDefault(require("../utils/pubsub"));
@@ -28,7 +27,7 @@ const createGroupChannelFragment = initModule => {
28
27
  renderScrollToBottomButton = props => /*#__PURE__*/_react.default.createElement(_ScrollToBottomButton.default, props),
29
28
  renderMessage,
30
29
  enableMessageGrouping = true,
31
- enableTypingIndicator = true,
30
+ enableTypingIndicator,
32
31
  onPressHeaderLeft = _uikitUtils.NOOP,
33
32
  onPressHeaderRight = _uikitUtils.NOOP,
34
33
  onPressMediaMessage = _uikitUtils.NOOP,
@@ -39,21 +38,23 @@ const createGroupChannelFragment = initModule => {
39
38
  onBeforeUpdateFileMessage = _uikitUtils.PASS,
40
39
  channel,
41
40
  keyboardAvoidOffset,
42
- queryCreator,
43
41
  collectionCreator,
44
42
  sortComparator = _uikitUtils.messageComparator,
45
- flatListProps,
46
- onPressImageMessage
43
+ flatListProps
47
44
  } = _ref;
48
45
  const {
49
46
  sdk,
50
- currentUser
47
+ currentUser,
48
+ sbOptions
51
49
  } = (0, _useContext.useSendbirdChat)();
52
50
  const [internalSearchItem, setInternalSearchItem] = (0, _react.useState)(searchItem);
53
51
  const navigateFromMessageSearch = (0, _react.useCallback)(() => Boolean(searchItem), []);
54
52
  const [groupChannelPubSub] = (0, _react.useState)(() => (0, _pubsub.default)());
55
53
  const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = (0, _react.useState)(false);
56
54
  const scrolledAwayFromBottomRef = (0, _uikitUtils.useRefTracker)(scrolledAwayFromBottom);
55
+ const replyType = (0, _uikitUtils.useIIFE)(() => {
56
+ if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return _message.ReplyType.NONE;else return _message.ReplyType.ONLY_REPLY_TO_CHANNEL;
57
+ });
57
58
  const {
58
59
  loading,
59
60
  messages,
@@ -70,11 +71,6 @@ const createGroupChannelFragment = initModule => {
70
71
  deleteMessage,
71
72
  resetWithStartingPoint
72
73
  } = (0, _uikitChatHooks.useGroupChannelMessages)(sdk, channel, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId, {
73
- collectionCreator,
74
- queryCreator,
75
- sortComparator,
76
- onChannelDeleted,
77
- enableCollectionWithoutLocalCache: !queryCreator,
78
74
  shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,
79
75
  onMessagesReceived(messages) {
80
76
  groupChannelPubSub.publish({
@@ -84,11 +80,16 @@ const createGroupChannelFragment = initModule => {
84
80
  }
85
81
  });
86
82
  },
87
- startingPoint: internalSearchItem === null || internalSearchItem === void 0 ? void 0 : internalSearchItem.startingPoint
83
+ collectionCreator,
84
+ sortComparator,
85
+ onChannelDeleted,
86
+ replyType,
87
+ startingPoint: internalSearchItem === null || internalSearchItem === void 0 ? void 0 : internalSearchItem.startingPoint,
88
+ enableCollectionWithoutLocalCache: true
88
89
  });
89
- const MessageComponent = (0, _react.useCallback)(withFocusingAnimation(renderMessage ? props => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderMessage(props)) : _MessageRenderer.default), [renderMessage]);
90
- const _renderMessage = (0, _uikitUtils.useFreshCallback)(props => {
91
- return /*#__PURE__*/_react.default.createElement(MessageComponent, props);
90
+ const renderItem = (0, _uikitUtils.useFreshCallback)(props => {
91
+ if (renderMessage) return renderMessage(props);
92
+ return /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.default, props);
92
93
  });
93
94
  const memoizedFlatListProps = (0, _react.useMemo)(() => ({
94
95
  ListEmptyComponent: /*#__PURE__*/_react.default.createElement(GroupChannelModule.StatusEmpty, null),
@@ -139,47 +140,10 @@ const createGroupChannelFragment = initModule => {
139
140
  if (!value) resetNewMessages();
140
141
  setScrolledAwayFromBottom(value);
141
142
  });
142
-
143
- /** @deprecated **/
144
- const onSendFileMessage = (0, _uikitUtils.useFreshCallback)(async file => {
145
- const processedParams = await onBeforeSendFileMessage({
146
- file
147
- });
148
- const message = await sendFileMessage(processedParams, onPending);
149
- onSent(message);
150
- });
151
- /** @deprecated **/
152
- const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async (text, mention) => {
153
- const processedParams = await onBeforeSendUserMessage({
154
- message: text,
155
- mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
156
- mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
157
- mentionType: mention === null || mention === void 0 ? void 0 : mention.type
158
- });
159
- const message = await sendUserMessage(processedParams, onPending);
160
- onSent(message);
161
- });
162
- /** @deprecated **/
163
- const onUpdateFileMessage = (0, _uikitUtils.useFreshCallback)(async (editedFile, message) => {
164
- const processedParams = await onBeforeSendFileMessage({
165
- file: editedFile
166
- });
167
- await updateFileMessage(message.messageId, processedParams);
168
- });
169
- /** @deprecated **/
170
- const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message, mention) => {
171
- const processedParams = await onBeforeSendUserMessage({
172
- message: editedText,
173
- mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
174
- mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
175
- mentionType: mention === null || mention === void 0 ? void 0 : mention.type
176
- });
177
- await updateUserMessage(message.messageId, processedParams);
178
- });
179
143
  return /*#__PURE__*/_react.default.createElement(GroupChannelModule.Provider, {
180
144
  channel: channel,
181
145
  groupChannelPubSub: groupChannelPubSub,
182
- enableTypingIndicator: enableTypingIndicator,
146
+ enableTypingIndicator: enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator,
183
147
  keyboardAvoidOffset: keyboardAvoidOffset
184
148
  }, /*#__PURE__*/_react.default.createElement(GroupChannelModule.Header, {
185
149
  shouldHideRight: navigateFromMessageSearch,
@@ -194,7 +158,7 @@ const createGroupChannelFragment = initModule => {
194
158
  onResetMessageList: onResetMessageList,
195
159
  enableMessageGrouping: enableMessageGrouping,
196
160
  currentUserId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
197
- renderMessage: _renderMessage,
161
+ renderMessage: renderItem,
198
162
  messages: messages,
199
163
  newMessages: newMessages,
200
164
  onTopReached: prev,
@@ -207,21 +171,14 @@ const createGroupChannelFragment = initModule => {
207
171
  onResendFailedMessage: resendMessage,
208
172
  onDeleteMessage: deleteMessage,
209
173
  onPressMediaMessage: onPressMediaMessage,
210
- flatListProps: memoizedFlatListProps,
211
- nextMessages: newMessages,
212
- newMessagesFromMembers: newMessages,
213
- onPressImageMessage: onPressImageMessage
174
+ flatListProps: memoizedFlatListProps
214
175
  }), /*#__PURE__*/_react.default.createElement(GroupChannelModule.Input, {
215
176
  SuggestedMentionList: GroupChannelModule.SuggestedMentionList,
216
177
  shouldRenderInput: shouldRenderInput(channel),
217
178
  onPressSendUserMessage: onPressSendUserMessage,
218
179
  onPressSendFileMessage: onPressSendFileMessage,
219
180
  onPressUpdateUserMessage: onPressUpdateUserMessage,
220
- onPressUpdateFileMessage: onPressUpdateFileMessage,
221
- onSendFileMessage: onSendFileMessage,
222
- onSendUserMessage: onSendUserMessage,
223
- onUpdateFileMessage: onUpdateFileMessage,
224
- onUpdateUserMessage: onUpdateUserMessage
181
+ onPressUpdateFileMessage: onPressUpdateFileMessage
225
182
  })));
226
183
  };
227
184
  };
@@ -231,41 +188,6 @@ function shouldRenderInput(channel) {
231
188
  }
232
189
  return true;
233
190
  }
234
- function withFocusingAnimation(Component) {
235
- return /*#__PURE__*/_react.default.memo(props => {
236
- const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
237
- (0, _react.useEffect)(() => {
238
- if (props.focused) {
239
- setTimeout(() => {
240
- _reactNative.Animated.sequence([{
241
- toValue: -10,
242
- duration: 500
243
- }, {
244
- toValue: 0,
245
- duration: 100
246
- }, {
247
- toValue: -10,
248
- duration: 200
249
- }, {
250
- toValue: 0,
251
- duration: 100
252
- }].map(value => _reactNative.Animated.timing(translateY, {
253
- ...value,
254
- useNativeDriver: true,
255
- easing: _reactNative.Easing.inOut(_reactNative.Easing.ease)
256
- }))).start();
257
- }, _constants.MESSAGE_SEARCH_SAFE_SCROLL_DELAY + _constants.MESSAGE_FOCUS_ANIMATION_DELAY);
258
- }
259
- }, [props.focused]);
260
- return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
261
- style: {
262
- transform: [{
263
- translateY
264
- }]
265
- }
266
- }, /*#__PURE__*/_react.default.createElement(Component, props));
267
- });
268
- }
269
191
  var _default = createGroupChannelFragment;
270
192
  exports.default = _default;
271
193
  //# sourceMappingURL=createGroupChannelFragment.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitUtils","_MessageRenderer","_interopRequireDefault","_NewMessagesButton","_ScrollToBottomButton","_StatusComposition","_constants","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","onPressImageMessage","sdk","currentUser","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","loading","messages","newMessages","resetNewMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","startingPoint","MessageComponent","withFocusingAnimation","Fragment","MessageRenderer","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","callback","Number","MAX_SAFE_INTEGER","undefined","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","onSendFileMessage","file","onSendUserMessage","text","mention","mentionedUserIds","userIds","mentionedMessageTemplate","messageTemplate","mentionType","onUpdateFileMessage","editedFile","onUpdateUserMessage","editedText","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","nextMessages","newMessagesFromMembers","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","Component","React","memo","translateY","useRef","Animated","Value","useEffect","focused","setTimeout","sequence","toValue","duration","map","timing","useNativeDriver","easing","Easing","inOut","ease","start","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","View","style","transform","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n useRefTracker,\n} 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 { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../constants';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\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 onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n onPressImageMessage,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n startingPoint: internalSearchItem?.startingPoint,\n });\n\n const MessageComponent: GroupChannelProps['MessageList']['renderMessage'] = useCallback(\n withFocusingAnimation(renderMessage ? (props) => <>{renderMessage(props)}</> : MessageRenderer),\n [renderMessage],\n );\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n return <MessageComponent {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback((callback?: () => void) => {\n resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);\n setInternalSearchItem(undefined);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n /** @deprecated **/\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n });\n /** @deprecated **/\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 const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n /** @deprecated **/\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 /** @deprecated **/\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 groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n nextMessages={newMessages}\n newMessagesFromMembers={newMessages}\n onPressImageMessage={onPressImageMessage}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\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\nfunction withFocusingAnimation<P extends unknown & { focused: boolean }>(Component: React.ComponentType<P>) {\n return React.memo<P>((props) => {\n const translateY = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n if (props.focused) {\n setTimeout(() => {\n Animated.sequence(\n [\n { toValue: -10, duration: 500 },\n { toValue: 0, duration: 100 },\n { toValue: -10, duration: 200 },\n { toValue: 0, duration: 100 },\n ].map((value) =>\n Animated.timing(translateY, { ...value, useNativeDriver: true, easing: Easing.inOut(Easing.ease) }),\n ),\n ).start();\n }, MESSAGE_SEARCH_SAFE_SCROLL_DELAY + MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n }, [props.focused]);\n\n return (\n <Animated.View style={{ transform: [{ translateY }] }}>\n <Component {...props} />\n </Animated.View>\n );\n });\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitChatHooks","_uikitUtils","_GroupChannelMessageRenderer","_interopRequireDefault","_NewMessagesButton","_ScrollToBottomButton","_StatusComposition","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","sbOptions","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","replyType","useIIFE","uikit","groupChannel","ReplyType","NONE","ONLY_REPLY_TO_CHANNEL","loading","messages","newMessages","resetNewMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","userId","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","startingPoint","enableCollectionWithoutLocalCache","renderItem","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","callback","Number","MAX_SAFE_INTEGER","undefined","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\n\nimport { ReplyType } from '@sendbird/chat/message';\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser, sbOptions } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return ReplyType.NONE;\n else return ReplyType.ONLY_REPLY_TO_CHANNEL;\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n collectionCreator,\n sortComparator,\n onChannelDeleted,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n enableCollectionWithoutLocalCache: true,\n });\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <GroupChannelMessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback((callback?: () => void) => {\n resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);\n setInternalSearchItem(undefined);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\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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"}
@@ -45,7 +45,7 @@ const createGroupChannelInviteFragment = initModule => {
45
45
  const memberIds = shouldFilterMember(channel) ? channel.members.map(it => it.userId) : [];
46
46
  const _renderUser = (0, _react.useCallback)((user, selectedUsers, setSelectedUsers) => {
47
47
  if (queryCreator && !renderUser) {
48
- const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');
48
+ const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;
49
49
  if (!hasRequiredKey) throw new Error('You should provide "renderUser" when providing "queryCreator"');
50
50
  }
51
51
  if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_StatusComposition","_interopRequireDefault","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","_ref","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","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","createElement","TouchableOpacity","activeOpacity","disabled","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","Provider","headerRight","GROUP_CHANNEL_INVITE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","userIds","updatedChannel","inviteWithUserIds","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","isSuper","isBroadcast","_default","exports"],"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":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_StatusComposition","_interopRequireDefault","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","_ref","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","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","createElement","TouchableOpacity","activeOpacity","disabled","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","Provider","headerRight","GROUP_CHANNEL_INVITE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","userIds","updatedChannel","inviteWithUserIds","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","isSuper","isBroadcast","_default","exports"],"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 = 'profileUrl' in user && 'nickname' in user;\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,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,qBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAAuE,SAAAI,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAS,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEvE,MAAMW,gCAAgC,GACpCC,UAA8C,IACL;EACzC,MAAMC,cAAc,GAAG,IAAAC,6BAAoB,EAAWF,UAAU,CAAC;EAEjE,OAAOG,IAAA,IAA+F;IAAA,IAA9F;MAAEC,OAAO;MAAEC,iBAAiB;MAAEC,eAAe;MAAEC,cAAc;MAAEC,YAAY;MAAEC;IAAW,CAAC,GAAAN,IAAA;IAC/F,MAAM;MAAEO;IAAI,CAAC,GAAG,IAAAC,2BAAe,GAAE;IACjC,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;IACrC,MAAM;MAAEC,KAAK;MAAEC,UAAU;MAAEC,OAAO;MAAEC,IAAI;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAG,IAAAC,2BAAW,EAACV,GAAG,EAAE;MAC5EF,YAAY;MACZD;IACF,CAAC,CAAC;IAEF,MAAMc,SAAS,GAAGC,kBAAkB,CAAClB,OAAO,CAAC,GAAGA,OAAO,CAACmB,OAAO,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,MAAM,CAAC,GAAG,EAAE;IAE3F,MAAMC,WAA2C,GAAG,IAAAC,kBAAW,EAC7D,CAACC,IAAI,EAAEC,aAAa,EAAEC,gBAAgB,KAAK;MACzC,IAAIvB,YAAY,IAAI,CAACC,UAAU,EAAE;QAC/B,MAAMuB,cAAc,GAAG,YAAY,IAAIH,IAAI,IAAI,UAAU,IAAIA,IAAI;QACjE,IAAI,CAACG,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,+DAA+D,CAAC;MACvG;MAEA,IAAIxB,UAAU,EAAE,OAAOA,UAAU,CAACoB,IAAI,EAAEC,aAAa,EAAEC,gBAAgB,CAAC;MAExE,MAAMG,gBAAgB,GAAGb,SAAS,CAACc,OAAO,CAACN,IAAI,CAACH,MAAM,CAAC;MACvD,MAAMU,sBAAsB,GAAGN,aAAa,CAACO,SAAS,CAAEZ,EAAE,IAAKA,EAAE,CAACC,MAAM,KAAKG,IAAI,CAACH,MAAM,CAAC;MAEzF,MAAMY,QAAQ,GAAGJ,gBAAgB,GAAG,CAAC,CAAC;MACtC,MAAMK,UAAU,GAAGH,sBAAsB,GAAG,CAAC,CAAC;MAE9C,oBACErE,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACtE,YAAA,CAAAuE,gBAAgB;QACfC,aAAa,EAAE,GAAI;QACnBC,QAAQ,EAAEL,QAAS;QACnBM,OAAO,EAAEA,CAAA,KAAM;UACbb,gBAAgB,CAACc,KAAA,IAAgB;YAAA,IAAf,CAAC,GAAGC,KAAK,CAAC,GAAAD,KAAA;YAC1B,IAAIN,UAAU,EAAEO,KAAK,CAACC,MAAM,CAACX,sBAAsB,EAAE,CAAC,CAAC,CAAC,KACnDU,KAAK,CAACE,IAAI,CAACnB,IAAI,CAAC;YACrB,OAAOiB,KAAK;UACd,CAAC,CAAC;QACJ;MAAE,gBAEF/E,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAAClE,kBAAA,CAAAK,OAAiB;QAChBsE,GAAG,EAAGpB,IAAI,CAA6BqB,UAAW;QAClDC,IAAI,EAAGtB,IAAI,CAA6BuB,QAAQ,IAAIxC,OAAO,CAACyC,MAAM,CAACC,YAAa;QAChFC,QAAQ,EAAEjB,QAAQ,IAAIC,UAAW;QACjCI,QAAQ,EAAEL;MAAS,EACnB,CACe;IAEvB,CAAC,EACD,CAAClC,OAAO,EAAEK,UAAU,EAAED,YAAY,CAAC,CACpC;IAED,oBACEzC,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAACuD,QAAQ;MACtBC,WAAW,EAAG3B,aAAa,IAAKlB,OAAO,CAAC8C,oBAAoB,CAACC,YAAY,CAAC;QAAE7B;MAAc,CAAC,CAAE;MAC7F8B,WAAW,EAAEhD,OAAO,CAAC8C,oBAAoB,CAACG;IAAa,gBAEvD9F,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAAC6D,MAAM;MACpBzD,iBAAiB,EAAEA,iBAAkB;MACrC0D,kBAAkB,EAAE,MAAOjD,KAAK,IAAK;QACnC,MAAMkD,OAAO,GAAGlD,KAAK,CAACU,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,MAAM,CAAC;QAC5C,MAAMuC,cAAc,GAAG,MAAM7D,OAAO,CAAC8D,iBAAiB,CAACF,OAAO,CAAC;QAC/D1D,eAAe,CAAC2D,cAAc,CAAC;MACjC;IAAE,EACF,eACFlG,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACpE,kBAAA,CAAAO,OAAiB;MAChBwC,OAAO,EAAEA,OAAQ;MACjBD,KAAK,EAAEiD,OAAO,CAACjD,KAAK,CAAE;MACtBkD,gBAAgB,eAAErG,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAACoE,aAAa,OAAI;MACnDC,cAAc,eAAEvG,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAACsE,WAAW;QAACC,YAAY,EAAEA,CAAA,KAAMxD,OAAO;MAAG;IAAI,gBAE9EjD,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAACwE,IAAI;MAClBC,UAAU,EAAEzD,IAAK;MACjBH,KAAK,EAAEA,KAAM;MACbL,UAAU,EAAEkB,WAAY;MACxBgD,SAAS,EAAE3D,OAAQ;MACnBD,UAAU,EAAEA,UAAW;MACvB6D,kBAAkB,eAAE7G,MAAA,CAAAY,OAAA,CAAA6D,aAAA,CAACvC,cAAc,CAAC4E,WAAW;IAAI,EACnD,CACgB,CACI;EAE9B,CAAC;AACH,CAAC;AAED,SAASvD,kBAAkBA,CAAClB,OAA6B,EAAE;EACzD,OAAO,CAACA,OAAO,CAAC0E,OAAO,IAAI,CAAC1E,OAAO,CAAC2E,WAAW;AACjD;AAAC,IAAAC,QAAA,GAEcjF,gCAAgC;AAAAkF,OAAA,CAAAtG,OAAA,GAAAqG,QAAA"}
@@ -18,7 +18,6 @@ const createGroupChannelListFragment = initModule => {
18
18
  let {
19
19
  onPressChannel,
20
20
  onPressCreateChannel,
21
- queryCreator,
22
21
  collectionCreator,
23
22
  renderGroupChannelPreview,
24
23
  skipTypeSelection = false,
@@ -28,7 +27,7 @@ const createGroupChannelListFragment = initModule => {
28
27
  const {
29
28
  sdk,
30
29
  currentUser,
31
- features,
30
+ sbOptions,
32
31
  markAsDeliveredWithChannel
33
32
  } = (0, _useContext.useSendbirdChat)();
34
33
  const {
@@ -36,28 +35,24 @@ const createGroupChannelListFragment = initModule => {
36
35
  next,
37
36
  loading
38
37
  } = (0, _uikitChatHooks.useGroupChannelList)(sdk, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId, {
39
- queryCreator,
40
38
  collectionCreator,
41
- enableCollectionWithoutLocalCache: !queryCreator
39
+ enableCollectionWithoutLocalCache: true
42
40
  });
43
- if (features.deliveryReceiptEnabled) {
41
+ if (sbOptions.appInfo.deliveryReceiptEnabled) {
44
42
  (0, _uikitUtils.useAppState)('change', status => {
45
43
  if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);
46
44
  });
47
45
  }
48
- const _renderGroupChannelPreview = (0, _uikitUtils.useFreshCallback)((channel, onLongPressChannel) => {
49
- if (renderGroupChannelPreview) return renderGroupChannelPreview(channel, onLongPressChannel);
50
- return /*#__PURE__*/_react.default.createElement(_GroupChannelPreviewContainer.default, {
51
- channel: channel,
52
- onPress: () => onPressChannel(channel),
53
- onLongPress: () => onLongPressChannel()
54
- });
46
+ const _renderGroupChannelPreview = (0, _uikitUtils.useFreshCallback)(props => {
47
+ if (renderGroupChannelPreview) return renderGroupChannelPreview(props);
48
+ return /*#__PURE__*/_react.default.createElement(_GroupChannelPreviewContainer.default, props);
55
49
  });
56
- const isChannelTypeAvailable = features.broadcastChannelEnabled || features.superGroupChannelEnabled;
50
+ const isChannelTypeAvailable = sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;
57
51
  return /*#__PURE__*/_react.default.createElement(GroupChannelListModule.Provider, null, /*#__PURE__*/_react.default.createElement(GroupChannelListModule.Header, null), /*#__PURE__*/_react.default.createElement(_StatusComposition.default, {
58
52
  loading: loading,
59
53
  LoadingComponent: /*#__PURE__*/_react.default.createElement(GroupChannelListModule.StatusLoading, null)
60
54
  }, /*#__PURE__*/_react.default.createElement(GroupChannelListModule.List, {
55
+ onPressChannel: onPressChannel,
61
56
  menuItemCreator: menuItemCreator,
62
57
  renderGroupChannelPreview: _renderGroupChannelPreview,
63
58
  groupChannels: groupChannels,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitUtils","_StatusComposition","_GroupChannelPreviewContainer","_createGroupChannelListModule","_useContext","obj","__esModule","default","createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","queryCreator","collectionCreator","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","PASS","sdk","currentUser","features","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","deliveryReceiptEnabled","useAppState","status","forEach","_renderGroupChannelPreview","useFreshCallback","channel","onLongPressChannel","createElement","onPress","onLongPress","isChannelTypeAvailable","broadcastChannelEnabled","superGroupChannelEnabled","Provider","Header","LoadingComponent","StatusLoading","List","onLoadNext","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","TypeSelector","onSelectType","_default","exports"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useGroupChannelList } from '@sendbird/uikit-chat-hooks';\nimport { PASS, useAppState, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n onPressChannel,\n onPressCreateChannel,\n queryCreator,\n collectionCreator,\n renderGroupChannelPreview,\n skipTypeSelection = false,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, features, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n queryCreator,\n collectionCreator,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n if (features.deliveryReceiptEnabled) {\n useAppState('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (channel, onLongPressChannel) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(channel, onLongPressChannel);\n return (\n <GroupChannelPreviewContainer\n channel={channel}\n onPress={() => onPressChannel(channel)}\n onLongPress={() => onLongPressChannel()}\n />\n );\n },\n );\n\n const isChannelTypeAvailable = features.broadcastChannelEnabled || features.superGroupChannelEnabled;\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\n menuItemCreator={menuItemCreator}\n renderGroupChannelPreview={_renderGroupChannelPreview}\n groupChannels={groupChannels}\n onLoadNext={next}\n flatListProps={{\n ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n <GroupChannelListModule.TypeSelector\n skipTypeSelection={isChannelTypeAvailable ? skipTypeSelection : true}\n onSelectType={onPressCreateChannel}\n />\n </GroupChannelListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelListFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitUtils","_StatusComposition","_GroupChannelPreviewContainer","_createGroupChannelListModule","_useContext","obj","__esModule","default","createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","collectionCreator","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","PASS","sdk","currentUser","sbOptions","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","appInfo","deliveryReceiptEnabled","useAppState","status","forEach","_renderGroupChannelPreview","useFreshCallback","props","createElement","isChannelTypeAvailable","broadcastChannelEnabled","superGroupChannelEnabled","Provider","Header","LoadingComponent","StatusLoading","List","onLoadNext","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","TypeSelector","onSelectType","_default","exports"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useGroupChannelList } from '@sendbird/uikit-chat-hooks';\nimport { PASS, useAppState, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n onPressChannel,\n onPressCreateChannel,\n collectionCreator,\n renderGroupChannelPreview,\n skipTypeSelection = false,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, sbOptions, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n collectionCreator,\n enableCollectionWithoutLocalCache: true,\n });\n\n if (sbOptions.appInfo.deliveryReceiptEnabled) {\n useAppState('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (props) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(props);\n return <GroupChannelPreviewContainer {...props} />;\n },\n );\n\n const isChannelTypeAvailable =\n sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\n onPressChannel={onPressChannel}\n menuItemCreator={menuItemCreator}\n renderGroupChannelPreview={_renderGroupChannelPreview}\n groupChannels={groupChannels}\n onLoadNext={next}\n flatListProps={{\n ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n <GroupChannelListModule.TypeSelector\n skipTypeSelection={isChannelTypeAvailable ? skipTypeSelection : true}\n onSelectType={onPressCreateChannel}\n />\n </GroupChannelListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelListFragment;\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _message = require("@sendbird/chat/message");
9
9
  var _uikitUtils = require("@sendbird/uikit-utils");
10
- var _MessageSearchResultItem = require("../components/MessageSearchResultItem");
10
+ var _MessageSearchResultItem = _interopRequireDefault(require("../components/MessageSearchResultItem"));
11
11
  var _StatusComposition = _interopRequireDefault(require("../components/StatusComposition"));
12
12
  var _messageSearch = require("../domain/messageSearch");
13
13
  var _useContext = require("../hooks/useContext");
@@ -47,7 +47,7 @@ const createMessageSearchFragment = initModule => {
47
47
  });
48
48
  const renderItem = (0, _uikitUtils.useFreshCallback)(props => {
49
49
  if (renderSearchResultItem) return renderSearchResultItem(props);
50
- return /*#__PURE__*/_react.default.createElement(_MessageSearchResultItem.MessageSearchResultItem, props);
50
+ return /*#__PURE__*/_react.default.createElement(_MessageSearchResultItem.default, props);
51
51
  });
52
52
  return /*#__PURE__*/_react.default.createElement(MessageSearchModule.Provider, null, /*#__PURE__*/_react.default.createElement(MessageSearchModule.Header, {
53
53
  keyword: keyword,