@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
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitUtils","_MessageSearchResultItem","_StatusComposition","_interopRequireDefault","_messageSearch","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getMessageSearchQuery","sdk","options","queryCreator","createMessageSearchQuery","createMessageSearchFragment","initModule","MessageSearchModule","createMessageSearchModule","_ref","onPressHeaderLeft","NOOP","channel","renderSearchResultItem","onPressSearchResultItem","padding","useSafeAreaPadding","useSendbirdChat","keyword","setKeyword","search","searchResults","loading","next","error","query","useMessageSearch","renderItem","useFreshCallback","props","createElement","MessageSearchResultItem","Provider","Header","onChangeKeyword","onPressHeaderRight","LoadingComponent","StatusLoading","Boolean","ErrorComponent","StatusError","onPressRetry","List","messages","flatListProps","keyboardDismissMode","keyboardShouldPersistTaps","onEndReached","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","_ref2","setQuery","useState","setLoading","setError","setSearchResults","queryInProgress","useRef","length","current","channelUrl","url","messageTimestampFrom","Math","max","joinedAt","invitedAt","order","MessageSearchOrder","TIMESTAMP","result","err","Logger","warn","hasNext","prev","_default","exports"],"sources":["createMessageSearchFragment.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\n\nimport { MessageSearchOrder } from '@sendbird/chat/message';\nimport {\n Logger,\n NOOP,\n SendbirdBaseMessage,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdMessageSearchQuery,\n useFreshCallback,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { MessageSearchResultItem } from '../components/MessageSearchResultItem';\nimport StatusComposition from '../components/StatusComposition';\nimport { createMessageSearchModule } from '../domain/messageSearch';\nimport type { MessageSearchFragment, MessageSearchModule, MessageSearchProps } from '../domain/messageSearch/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\ntype DefaultMessageSearchQueryParams = {\n keyword: string;\n channelUrl: string;\n messageTimestampFrom: number;\n order: MessageSearchOrder;\n};\n\ntype SearchQueryOptions = DefaultMessageSearchQueryParams & {\n queryCreator?: (params: DefaultMessageSearchQueryParams) => SendbirdMessageSearchQuery;\n};\n\nfunction getMessageSearchQuery(sdk: SendbirdChatSDK, options: SearchQueryOptions) {\n if (options.queryCreator) return options.queryCreator(options);\n return sdk.createMessageSearchQuery(options);\n}\n\nconst createMessageSearchFragment = (initModule?: Partial<MessageSearchModule>): MessageSearchFragment => {\n const MessageSearchModule = createMessageSearchModule(initModule);\n\n return ({ onPressHeaderLeft = NOOP, channel, queryCreator, renderSearchResultItem, onPressSearchResultItem }) => {\n const padding = useSafeAreaPadding(['left', 'right', 'bottom']);\n\n const { sdk } = useSendbirdChat();\n const { keyword, setKeyword, search, searchResults, loading, next, error, query } = useMessageSearch(sdk, {\n channel,\n queryCreator,\n });\n\n const renderItem: MessageSearchProps['List']['renderSearchResultItem'] = useFreshCallback((props) => {\n if (renderSearchResultItem) return renderSearchResultItem(props);\n return <MessageSearchResultItem {...props} />;\n });\n\n return (\n <MessageSearchModule.Provider>\n <MessageSearchModule.Header\n keyword={keyword}\n onChangeKeyword={setKeyword}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={search}\n />\n <StatusComposition\n loading={loading}\n LoadingComponent={<MessageSearchModule.StatusLoading />}\n error={Boolean(error)}\n ErrorComponent={<MessageSearchModule.StatusError onPressRetry={search} />}\n >\n {query && (\n <MessageSearchModule.List\n channel={channel}\n onPressSearchResultItem={onPressSearchResultItem}\n messages={searchResults}\n renderSearchResultItem={renderItem}\n flatListProps={{\n keyboardDismissMode: 'on-drag',\n keyboardShouldPersistTaps: 'handled',\n onEndReached: next,\n ListEmptyComponent: MessageSearchModule.StatusEmpty,\n contentContainerStyle: { flexGrow: 1, ...padding },\n }}\n />\n )}\n </StatusComposition>\n </MessageSearchModule.Provider>\n );\n };\n};\n\nconst useMessageSearch = (\n sdk: SendbirdChatSDK,\n { channel, queryCreator }: { channel: SendbirdGroupChannel; queryCreator: SearchQueryOptions['queryCreator'] },\n) => {\n const [query, setQuery] = useState<SendbirdMessageSearchQuery>();\n const [keyword, setKeyword] = useState('');\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const [searchResults, setSearchResults] = useState<SendbirdBaseMessage[]>([]);\n const queryInProgress = useRef(false);\n\n const search = useFreshCallback(async () => {\n if (keyword.length <= 0) return;\n if (queryInProgress.current) return;\n\n const query = getMessageSearchQuery(sdk, {\n keyword,\n channelUrl: channel.url,\n messageTimestampFrom: Math.max(channel.joinedAt, channel.invitedAt),\n order: MessageSearchOrder.TIMESTAMP,\n queryCreator,\n });\n\n setQuery(query);\n setLoading(true);\n setError(null);\n\n try {\n queryInProgress.current = true;\n const result = await query.next();\n setSearchResults(result);\n } catch (err) {\n Logger.warn('[MessageSearchFragment] search failure', err);\n setError(err);\n } finally {\n queryInProgress.current = false;\n setLoading(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (!query?.hasNext) return;\n if (queryInProgress.current) return;\n\n try {\n queryInProgress.current = true;\n const result = await query.next();\n setSearchResults((prev) => [...prev, ...result]);\n } catch (err) {\n Logger.warn('[MessageSearchFragment] next failure', err);\n setError(err);\n } finally {\n queryInProgress.current = false;\n }\n });\n\n return {\n keyword,\n setKeyword,\n\n query,\n loading,\n error,\n searchResults,\n\n search,\n next,\n };\n};\n\nexport default createMessageSearchFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitUtils","_MessageSearchResultItem","_interopRequireDefault","_StatusComposition","_messageSearch","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getMessageSearchQuery","sdk","options","queryCreator","createMessageSearchQuery","createMessageSearchFragment","initModule","MessageSearchModule","createMessageSearchModule","_ref","onPressHeaderLeft","NOOP","channel","renderSearchResultItem","onPressSearchResultItem","padding","useSafeAreaPadding","useSendbirdChat","keyword","setKeyword","search","searchResults","loading","next","error","query","useMessageSearch","renderItem","useFreshCallback","props","createElement","Provider","Header","onChangeKeyword","onPressHeaderRight","LoadingComponent","StatusLoading","Boolean","ErrorComponent","StatusError","onPressRetry","List","messages","flatListProps","keyboardDismissMode","keyboardShouldPersistTaps","onEndReached","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","_ref2","setQuery","useState","setLoading","setError","setSearchResults","queryInProgress","useRef","length","current","channelUrl","url","messageTimestampFrom","Math","max","joinedAt","invitedAt","order","MessageSearchOrder","TIMESTAMP","result","err","Logger","warn","hasNext","prev","_default","exports"],"sources":["createMessageSearchFragment.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\n\nimport { MessageSearchOrder } from '@sendbird/chat/message';\nimport {\n Logger,\n NOOP,\n SendbirdBaseMessage,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdMessageSearchQuery,\n useFreshCallback,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport MessageSearchResultItem from '../components/MessageSearchResultItem';\nimport StatusComposition from '../components/StatusComposition';\nimport { createMessageSearchModule } from '../domain/messageSearch';\nimport type { MessageSearchFragment, MessageSearchModule, MessageSearchProps } from '../domain/messageSearch/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\ntype DefaultMessageSearchQueryParams = {\n keyword: string;\n channelUrl: string;\n messageTimestampFrom: number;\n order: MessageSearchOrder;\n};\n\ntype SearchQueryOptions = DefaultMessageSearchQueryParams & {\n queryCreator?: (params: DefaultMessageSearchQueryParams) => SendbirdMessageSearchQuery;\n};\n\nfunction getMessageSearchQuery(sdk: SendbirdChatSDK, options: SearchQueryOptions) {\n if (options.queryCreator) return options.queryCreator(options);\n return sdk.createMessageSearchQuery(options);\n}\n\nconst createMessageSearchFragment = (initModule?: Partial<MessageSearchModule>): MessageSearchFragment => {\n const MessageSearchModule = createMessageSearchModule(initModule);\n\n return ({ onPressHeaderLeft = NOOP, channel, queryCreator, renderSearchResultItem, onPressSearchResultItem }) => {\n const padding = useSafeAreaPadding(['left', 'right', 'bottom']);\n\n const { sdk } = useSendbirdChat();\n const { keyword, setKeyword, search, searchResults, loading, next, error, query } = useMessageSearch(sdk, {\n channel,\n queryCreator,\n });\n\n const renderItem: MessageSearchProps['List']['renderSearchResultItem'] = useFreshCallback((props) => {\n if (renderSearchResultItem) return renderSearchResultItem(props);\n return <MessageSearchResultItem {...props} />;\n });\n\n return (\n <MessageSearchModule.Provider>\n <MessageSearchModule.Header\n keyword={keyword}\n onChangeKeyword={setKeyword}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={search}\n />\n <StatusComposition\n loading={loading}\n LoadingComponent={<MessageSearchModule.StatusLoading />}\n error={Boolean(error)}\n ErrorComponent={<MessageSearchModule.StatusError onPressRetry={search} />}\n >\n {query && (\n <MessageSearchModule.List\n channel={channel}\n onPressSearchResultItem={onPressSearchResultItem}\n messages={searchResults}\n renderSearchResultItem={renderItem}\n flatListProps={{\n keyboardDismissMode: 'on-drag',\n keyboardShouldPersistTaps: 'handled',\n onEndReached: next,\n ListEmptyComponent: MessageSearchModule.StatusEmpty,\n contentContainerStyle: { flexGrow: 1, ...padding },\n }}\n />\n )}\n </StatusComposition>\n </MessageSearchModule.Provider>\n );\n };\n};\n\nconst useMessageSearch = (\n sdk: SendbirdChatSDK,\n { channel, queryCreator }: { channel: SendbirdGroupChannel; queryCreator: SearchQueryOptions['queryCreator'] },\n) => {\n const [query, setQuery] = useState<SendbirdMessageSearchQuery>();\n const [keyword, setKeyword] = useState('');\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const [searchResults, setSearchResults] = useState<SendbirdBaseMessage[]>([]);\n const queryInProgress = useRef(false);\n\n const search = useFreshCallback(async () => {\n if (keyword.length <= 0) return;\n if (queryInProgress.current) return;\n\n const query = getMessageSearchQuery(sdk, {\n keyword,\n channelUrl: channel.url,\n messageTimestampFrom: Math.max(channel.joinedAt, channel.invitedAt),\n order: MessageSearchOrder.TIMESTAMP,\n queryCreator,\n });\n\n setQuery(query);\n setLoading(true);\n setError(null);\n\n try {\n queryInProgress.current = true;\n const result = await query.next();\n setSearchResults(result);\n } catch (err) {\n Logger.warn('[MessageSearchFragment] search failure', err);\n setError(err);\n } finally {\n queryInProgress.current = false;\n setLoading(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (!query?.hasNext) return;\n if (queryInProgress.current) return;\n\n try {\n queryInProgress.current = true;\n const result = await query.next();\n setSearchResults((prev) => [...prev, ...result]);\n } catch (err) {\n Logger.warn('[MessageSearchFragment] next failure', err);\n setError(err);\n } finally {\n queryInProgress.current = false;\n }\n });\n\n return {\n keyword,\n setKeyword,\n\n query,\n loading,\n error,\n searchResults,\n\n search,\n next,\n };\n};\n\nexport default createMessageSearchFragment;\n"],"mappings":"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"}
@@ -19,7 +19,6 @@ var _pubsub = _interopRequireDefault(require("../utils/pubsub"));
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
22
  const createOpenChannelFragment = initModule => {
24
23
  const OpenChannelModule = (0, _openChannel.createOpenChannelModule)(initModule);
25
24
  return _ref => {
@@ -53,9 +52,6 @@ const createOpenChannelFragment = initModule => {
53
52
  const {
54
53
  show: showToast
55
54
  } = (0, _uikitReactNativeFoundation.useToast)();
56
- const {
57
- show: showUserProfile
58
- } = (0, _useContext.useUserProfile)();
59
55
  const [openChannelPubSub] = (0, _react.useState)(() => (0, _pubsub.default)());
60
56
  const {
61
57
  messages,
@@ -99,9 +95,7 @@ const createOpenChannelFragment = initModule => {
99
95
  const isOperator = channel.isOperator((currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ?? _constants.UNKNOWN_USER_ID);
100
96
  const _renderMessage = (0, _uikitUtils.useFreshCallback)(props => {
101
97
  if (renderMessage) return renderMessage(props);
102
- return /*#__PURE__*/_react.default.createElement(_OpenChannelMessageRenderer.default, _extends({}, props, {
103
- onPressAvatar: showUserProfile
104
- }));
98
+ return /*#__PURE__*/_react.default.createElement(_OpenChannelMessageRenderer.default, props);
105
99
  });
106
100
  const memoizedFlatListProps = (0, _react.useMemo)(() => ({
107
101
  ListEmptyComponent: /*#__PURE__*/_react.default.createElement(OpenChannelModule.StatusEmpty, null),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_chat","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_OpenChannelMessageRenderer","_interopRequireDefault","_ScrollToBottomButton","_StatusComposition","_constants","_openChannel","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","createOpenChannelFragment","initModule","OpenChannelModule","createOpenChannelModule","_ref","channel","onChannelDeleted","NOOP","onPressHeaderLeft","onPressHeaderRightWithSettings","onPressHeaderRightWithParticipants","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","onPressMediaMessage","renderMessage","renderNewMessagesButton","renderScrollToBottomButton","props","createElement","enableMessageGrouping","keyboardAvoidOffset","flatListProps","queryCreator","sortComparator","messageComparator","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","show","showToast","useToast","showUserProfile","useUserProfile","openChannelPubSub","useState","pubsub","messages","newMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useOpenChannelMessages","userId","onError","error","SendbirdError","code","SBErrorCode","RESOURCE_NOT_FOUND","CHANNEL_NOT_FOUND","BANNED_USER_SEND_MESSAGE_NOT_ALLOWED","TOAST","GET_CHANNEL_ERROR","UNKNOWN_ERROR","onMessagesReceived","publish","type","data","isOperator","UNKNOWN_USER_ID","_renderMessage","useFreshCallback","onPressAvatar","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","Provider","Header","rightIconName","onPressHeaderRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","scrolledAwayFromBottom","onScrolledAwayFromBottom","onResendFailedMessage","onDeleteMessage","Input","shouldRenderInput","_default","exports"],"sources":["createOpenChannelFragment.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\n\nimport { SendbirdError } from '@sendbird/chat';\nimport { useOpenChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n PASS,\n SBErrorCode,\n SendbirdFileMessage,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n} from '@sendbird/uikit-utils';\n\nimport OpenChannelMessageRenderer from '../components/OpenChannelMessageRenderer';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport { UNKNOWN_USER_ID } from '../constants';\nimport { createOpenChannelModule } from '../domain/openChannel';\nimport type {\n OpenChannelFragment,\n OpenChannelModule,\n OpenChannelProps,\n OpenChannelPubSubContextPayload,\n} from '../domain/openChannel/types';\nimport { useLocalization, useSendbirdChat, useUserProfile } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createOpenChannelFragment = (initModule?: Partial<OpenChannelModule>): OpenChannelFragment => {\n const OpenChannelModule = createOpenChannelModule(initModule);\n\n return ({\n channel,\n onChannelDeleted = NOOP,\n onPressHeaderLeft = NOOP,\n onPressHeaderRightWithSettings = NOOP,\n onPressHeaderRightWithParticipants = NOOP,\n\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n onPressMediaMessage = NOOP,\n\n renderMessage,\n renderNewMessagesButton = () => null,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n\n enableMessageGrouping = true,\n keyboardAvoidOffset,\n flatListProps,\n queryCreator,\n sortComparator = messageComparator,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const { STRINGS } = useLocalization();\n const { show: showToast } = useToast();\n const { show: showUserProfile } = useUserProfile();\n\n const [openChannelPubSub] = useState(() => pubsub<OpenChannelPubSubContextPayload>());\n\n const {\n messages,\n newMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useOpenChannelMessages(sdk, channel, currentUser?.userId, {\n queryCreator,\n sortComparator,\n onChannelDeleted,\n onError(error) {\n if (error instanceof SendbirdError) {\n switch (error.code) {\n case SBErrorCode.RESOURCE_NOT_FOUND:\n case SBErrorCode.CHANNEL_NOT_FOUND:\n case SBErrorCode.BANNED_USER_SEND_MESSAGE_NOT_ALLOWED: {\n return showToast(STRINGS.TOAST.GET_CHANNEL_ERROR, 'error');\n }\n }\n }\n\n showToast(STRINGS.TOAST.UNKNOWN_ERROR, 'error');\n },\n onMessagesReceived(messages) {\n openChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n });\n\n const isOperator = channel.isOperator(currentUser?.userId ?? UNKNOWN_USER_ID);\n\n const _renderMessage: OpenChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <OpenChannelMessageRenderer {...props} onPressAvatar={showUserProfile} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <OpenChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n openChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n openChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: OpenChannelProps['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: OpenChannelProps['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: OpenChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: OpenChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <OpenChannelModule.Provider\n openChannelPubSub={openChannelPubSub}\n channel={channel}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <OpenChannelModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n rightIconName={isOperator ? 'info' : 'members'}\n onPressHeaderRight={isOperator ? onPressHeaderRightWithSettings : onPressHeaderRightWithParticipants}\n />\n <StatusComposition loading={loading} LoadingComponent={<OpenChannelModule.StatusLoading />}>\n <OpenChannelModule.MessageList\n channel={channel}\n hasNext={hasNext}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n scrolledAwayFromBottom={false}\n onScrolledAwayFromBottom={NOOP}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <OpenChannelModule.Input\n shouldRenderInput\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </OpenChannelModule.Provider>\n );\n };\n};\n\nexport default createOpenChannelFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_chat","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_OpenChannelMessageRenderer","_interopRequireDefault","_ScrollToBottomButton","_StatusComposition","_constants","_openChannel","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createOpenChannelFragment","initModule","OpenChannelModule","createOpenChannelModule","_ref","channel","onChannelDeleted","NOOP","onPressHeaderLeft","onPressHeaderRightWithSettings","onPressHeaderRightWithParticipants","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","onPressMediaMessage","renderMessage","renderNewMessagesButton","renderScrollToBottomButton","props","createElement","enableMessageGrouping","keyboardAvoidOffset","flatListProps","queryCreator","sortComparator","messageComparator","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","show","showToast","useToast","openChannelPubSub","useState","pubsub","messages","newMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useOpenChannelMessages","userId","onError","error","SendbirdError","code","SBErrorCode","RESOURCE_NOT_FOUND","CHANNEL_NOT_FOUND","BANNED_USER_SEND_MESSAGE_NOT_ALLOWED","TOAST","GET_CHANNEL_ERROR","UNKNOWN_ERROR","onMessagesReceived","publish","type","data","isOperator","UNKNOWN_USER_ID","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","Provider","Header","rightIconName","onPressHeaderRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","scrolledAwayFromBottom","onScrolledAwayFromBottom","onResendFailedMessage","onDeleteMessage","Input","shouldRenderInput","_default","exports"],"sources":["createOpenChannelFragment.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\n\nimport { SendbirdError } from '@sendbird/chat';\nimport { useOpenChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n PASS,\n SBErrorCode,\n SendbirdFileMessage,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n} from '@sendbird/uikit-utils';\n\nimport OpenChannelMessageRenderer from '../components/OpenChannelMessageRenderer';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport { UNKNOWN_USER_ID } from '../constants';\nimport { createOpenChannelModule } from '../domain/openChannel';\nimport type {\n OpenChannelFragment,\n OpenChannelModule,\n OpenChannelProps,\n OpenChannelPubSubContextPayload,\n} from '../domain/openChannel/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createOpenChannelFragment = (initModule?: Partial<OpenChannelModule>): OpenChannelFragment => {\n const OpenChannelModule = createOpenChannelModule(initModule);\n\n return ({\n channel,\n onChannelDeleted = NOOP,\n onPressHeaderLeft = NOOP,\n onPressHeaderRightWithSettings = NOOP,\n onPressHeaderRightWithParticipants = NOOP,\n\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n onPressMediaMessage = NOOP,\n\n renderMessage,\n renderNewMessagesButton = () => null,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n\n enableMessageGrouping = true,\n keyboardAvoidOffset,\n flatListProps,\n queryCreator,\n sortComparator = messageComparator,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const { STRINGS } = useLocalization();\n const { show: showToast } = useToast();\n\n const [openChannelPubSub] = useState(() => pubsub<OpenChannelPubSubContextPayload>());\n\n const {\n messages,\n newMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useOpenChannelMessages(sdk, channel, currentUser?.userId, {\n queryCreator,\n sortComparator,\n onChannelDeleted,\n onError(error) {\n if (error instanceof SendbirdError) {\n switch (error.code) {\n case SBErrorCode.RESOURCE_NOT_FOUND:\n case SBErrorCode.CHANNEL_NOT_FOUND:\n case SBErrorCode.BANNED_USER_SEND_MESSAGE_NOT_ALLOWED: {\n return showToast(STRINGS.TOAST.GET_CHANNEL_ERROR, 'error');\n }\n }\n }\n\n showToast(STRINGS.TOAST.UNKNOWN_ERROR, 'error');\n },\n onMessagesReceived(messages) {\n openChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n });\n\n const isOperator = channel.isOperator(currentUser?.userId ?? UNKNOWN_USER_ID);\n\n const _renderMessage: OpenChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <OpenChannelMessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <OpenChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n openChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n openChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: OpenChannelProps['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: OpenChannelProps['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: OpenChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: OpenChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <OpenChannelModule.Provider\n openChannelPubSub={openChannelPubSub}\n channel={channel}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <OpenChannelModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n rightIconName={isOperator ? 'info' : 'members'}\n onPressHeaderRight={isOperator ? onPressHeaderRightWithSettings : onPressHeaderRightWithParticipants}\n />\n <StatusComposition loading={loading} LoadingComponent={<OpenChannelModule.StatusLoading />}>\n <OpenChannelModule.MessageList\n channel={channel}\n hasNext={hasNext}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n scrolledAwayFromBottom={false}\n onScrolledAwayFromBottom={NOOP}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <OpenChannelModule.Input\n shouldRenderInput\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </OpenChannelModule.Provider>\n );\n };\n};\n\nexport default createOpenChannelFragment;\n"],"mappings":"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"}
@@ -43,7 +43,7 @@ const createOpenChannelListFragment = initModule => {
43
43
  if (renderOpenChannelPreview) return renderOpenChannelPreview(props);
44
44
  return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.PressBox, {
45
45
  activeOpacity: 0.8,
46
- onPress: () => onPressChannel(props.channel)
46
+ onPress: props.onPress
47
47
  }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.OpenChannelPreview, {
48
48
  coverUrl: props.channel.coverUrl,
49
49
  title: STRINGS.OPEN_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(props.channel),
@@ -61,6 +61,7 @@ const createOpenChannelListFragment = initModule => {
61
61
  onPressRetry: refresh
62
62
  })
63
63
  }, /*#__PURE__*/_react.default.createElement(OpenChannelListModule.List, {
64
+ onPressChannel: onPressChannel,
64
65
  renderOpenChannelPreview: _renderOpenChannelPreview,
65
66
  openChannels: openChannels,
66
67
  onLoadNext: next,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_StatusComposition","_openChannelList","_useContext","obj","__esModule","default","createOpenChannelListFragment","initModule","OpenChannelListModule","createOpenChannelListModule","_ref","onPressCreateChannel","onPressChannel","NOOP","flatListProps","renderOpenChannelPreview","queryCreator","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","openChannels","next","refresh","refreshing","loading","error","useOpenChannelList","userId","_renderOpenChannelPreview","props","createElement","PressBox","activeOpacity","onPress","channel","OpenChannelPreview","coverUrl","title","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","frozen","isFrozen","participantsCount","participantCount","Provider","Header","onPressHeaderRight","LoadingComponent","StatusLoading","Boolean","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","_default","exports"],"sources":["createOpenChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useOpenChannelList } from '@sendbird/uikit-chat-hooks';\nimport { OpenChannelPreview, PressBox } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport { createOpenChannelListModule } from '../domain/openChannelList';\nimport type {\n OpenChannelListFragment,\n OpenChannelListModule,\n OpenChannelListProps,\n} from '../domain/openChannelList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createOpenChannelListFragment = (initModule?: Partial<OpenChannelListModule>): OpenChannelListFragment => {\n const OpenChannelListModule = createOpenChannelListModule(initModule);\n\n return ({ onPressCreateChannel, onPressChannel = NOOP, flatListProps, renderOpenChannelPreview, queryCreator }) => {\n const { sdk, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openChannels, next, refresh, refreshing, loading, error } = useOpenChannelList(sdk, currentUser?.userId, {\n queryCreator,\n });\n\n const _renderOpenChannelPreview: OpenChannelListProps['List']['renderOpenChannelPreview'] = (props) => {\n if (renderOpenChannelPreview) return renderOpenChannelPreview(props);\n return (\n <PressBox activeOpacity={0.8} onPress={() => onPressChannel(props.channel)}>\n <OpenChannelPreview\n coverUrl={props.channel.coverUrl}\n title={STRINGS.OPEN_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(props.channel)}\n frozen={props.channel.isFrozen}\n participantsCount={props.channel.participantCount}\n />\n </PressBox>\n );\n };\n\n return (\n <OpenChannelListModule.Provider>\n <OpenChannelListModule.Header onPressHeaderRight={onPressCreateChannel} />\n <StatusComposition\n loading={loading}\n LoadingComponent={<OpenChannelListModule.StatusLoading />}\n error={Boolean(error)}\n ErrorComponent={<OpenChannelListModule.StatusError onPressRetry={refresh} />}\n >\n <OpenChannelListModule.List\n renderOpenChannelPreview={_renderOpenChannelPreview}\n openChannels={openChannels}\n onLoadNext={next}\n refreshing={refreshing}\n onRefresh={refresh}\n flatListProps={{\n ListEmptyComponent: <OpenChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n </OpenChannelListModule.Provider>\n );\n };\n};\n\nexport default createOpenChannelListFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_StatusComposition","_openChannelList","_useContext","obj","__esModule","default","createOpenChannelListFragment","initModule","OpenChannelListModule","createOpenChannelListModule","_ref","onPressCreateChannel","onPressChannel","NOOP","flatListProps","renderOpenChannelPreview","queryCreator","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","openChannels","next","refresh","refreshing","loading","error","useOpenChannelList","userId","_renderOpenChannelPreview","props","createElement","PressBox","activeOpacity","onPress","OpenChannelPreview","coverUrl","channel","title","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","frozen","isFrozen","participantsCount","participantCount","Provider","Header","onPressHeaderRight","LoadingComponent","StatusLoading","Boolean","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","_default","exports"],"sources":["createOpenChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useOpenChannelList } from '@sendbird/uikit-chat-hooks';\nimport { OpenChannelPreview, PressBox } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport { createOpenChannelListModule } from '../domain/openChannelList';\nimport type {\n OpenChannelListFragment,\n OpenChannelListModule,\n OpenChannelListProps,\n} from '../domain/openChannelList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createOpenChannelListFragment = (initModule?: Partial<OpenChannelListModule>): OpenChannelListFragment => {\n const OpenChannelListModule = createOpenChannelListModule(initModule);\n\n return ({ onPressCreateChannel, onPressChannel = NOOP, flatListProps, renderOpenChannelPreview, queryCreator }) => {\n const { sdk, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openChannels, next, refresh, refreshing, loading, error } = useOpenChannelList(sdk, currentUser?.userId, {\n queryCreator,\n });\n\n const _renderOpenChannelPreview: OpenChannelListProps['List']['renderOpenChannelPreview'] = (props) => {\n if (renderOpenChannelPreview) return renderOpenChannelPreview(props);\n return (\n <PressBox activeOpacity={0.8} onPress={props.onPress}>\n <OpenChannelPreview\n coverUrl={props.channel.coverUrl}\n title={STRINGS.OPEN_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(props.channel)}\n frozen={props.channel.isFrozen}\n participantsCount={props.channel.participantCount}\n />\n </PressBox>\n );\n };\n\n return (\n <OpenChannelListModule.Provider>\n <OpenChannelListModule.Header onPressHeaderRight={onPressCreateChannel} />\n <StatusComposition\n loading={loading}\n LoadingComponent={<OpenChannelListModule.StatusLoading />}\n error={Boolean(error)}\n ErrorComponent={<OpenChannelListModule.StatusError onPressRetry={refresh} />}\n >\n <OpenChannelListModule.List\n onPressChannel={onPressChannel}\n renderOpenChannelPreview={_renderOpenChannelPreview}\n openChannels={openChannels}\n onLoadNext={next}\n refreshing={refreshing}\n onRefresh={refresh}\n flatListProps={{\n ListEmptyComponent: <OpenChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n </OpenChannelListModule.Provider>\n );\n };\n};\n\nexport default createOpenChannelListFragment;\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
+ var _uikitTools = require("@sendbird/uikit-tools");
8
9
  var _uikitUtils = require("@sendbird/uikit-utils");
9
10
  var _useContext = require("./useContext");
10
11
  var _usePushTokenRegistration = _interopRequireDefault(require("./usePushTokenRegistration"));
@@ -23,11 +24,14 @@ async function initEmoji(sdk, emojiManager) {
23
24
  }
24
25
  }
25
26
  const useConnection = () => {
27
+ const {
28
+ initDashboardConfigs
29
+ } = (0, _uikitTools.useUIKitConfig)();
26
30
  const {
27
31
  sdk,
28
32
  emojiManager,
29
33
  setCurrentUser,
30
- features
34
+ sbOptions
31
35
  } = (0, _useContext.useSendbirdChat)();
32
36
  const {
33
37
  registerPushTokenForCurrentUser,
@@ -42,18 +46,18 @@ const useConnection = () => {
42
46
  await sdk.updateCurrentUserInfo({
43
47
  nickname: opts.nickname
44
48
  }).then(updatedUser => user = updatedUser).catch(e => _uikitUtils.Logger.warn('[useConnection]', 'nickname-sync failure', e));
45
- } else if (features.useUserIdForNicknameEnabled) {
49
+ } else if (sbOptions.chat.useUserIdForNicknameEnabled) {
46
50
  await sdk.updateCurrentUserInfo({
47
51
  nickname: userId
48
52
  }).then(updatedUser => user = updatedUser);
49
53
  }
50
- if (features.autoPushTokenRegistrationEnabled) {
54
+ if (sbOptions.chat.autoPushTokenRegistrationEnabled) {
51
55
  _uikitUtils.Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');
52
56
  await registerPushTokenForCurrentUser().catch(e => {
53
57
  _uikitUtils.Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);
54
58
  });
55
59
  }
56
- await initEmoji(sdk, emojiManager);
60
+ await Promise.allSettled([initEmoji(sdk, emojiManager), initDashboardConfigs(sdk)]);
57
61
  _uikitUtils.Logger.debug('[useConnection]', 'connected! (online)');
58
62
  setCurrentUser(user);
59
63
  return user;
@@ -74,10 +78,10 @@ const useConnection = () => {
74
78
  _uikitUtils.Logger.warn('[useConnection]', 'connect failure', error.message, error.code);
75
79
  throw error;
76
80
  }
77
- }, [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);
81
+ }, [sdk, registerPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled]);
78
82
  const disconnect = (0, _react.useCallback)(async () => {
79
83
  _uikitUtils.Logger.debug('[useConnection]', 'disconnect start');
80
- if (features.autoPushTokenRegistrationEnabled) {
84
+ if (sbOptions.chat.autoPushTokenRegistrationEnabled) {
81
85
  _uikitUtils.Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');
82
86
  await unregisterPushTokenForCurrentUser().catch(e => {
83
87
  _uikitUtils.Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);
@@ -85,7 +89,7 @@ const useConnection = () => {
85
89
  }
86
90
  await sdk.disconnect().then(() => setCurrentUser(undefined));
87
91
  _uikitUtils.Logger.debug('[useConnection]', 'disconnected!');
88
- }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);
92
+ }, [sdk, unregisterPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled]);
89
93
  return {
90
94
  connect,
91
95
  disconnect,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_uikitUtils","_useContext","_usePushTokenRegistration","_interopRequireDefault","obj","__esModule","default","cacheRestrictCodes","isCacheRestrictedError","error","some","code","initEmoji","sdk","emojiManager","init","appInfo","emojiHash","container","getAllEmoji","useConnection","setCurrentUser","features","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","isCacheEnabled","message","clearCachedData","currentUser","disconnect","undefined","reconnect","_default","exports"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Logger, SendbirdChatSDK, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\n\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\nfunction isCacheRestrictedError(error: SendbirdError) {\n return cacheRestrictCodes.some((code) => error.code === code);\n}\n\nasync function initEmoji(sdk: SendbirdChatSDK, emojiManager: EmojiManager) {\n await emojiManager.init();\n if (sdk.appInfo.emojiHash !== emojiManager.emojiHash) {\n try {\n const container = await sdk.getAllEmoji();\n await emojiManager.init(container);\n } catch {}\n }\n}\n\nconst useConnection = () => {\n const { sdk, emojiManager, setCurrentUser, features } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (features.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n await initEmoji(sdk, emojiManager);\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (isCacheRestrictedError(error)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n await initEmoji(sdk, emojiManager);\n\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_uikitTools","_uikitUtils","_useContext","_usePushTokenRegistration","_interopRequireDefault","obj","__esModule","default","cacheRestrictCodes","isCacheRestrictedError","error","some","code","initEmoji","sdk","emojiManager","init","appInfo","emojiHash","container","getAllEmoji","useConnection","initDashboardConfigs","useUIKitConfig","setCurrentUser","sbOptions","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","chat","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","Promise","allSettled","isCacheEnabled","message","clearCachedData","currentUser","disconnect","undefined","reconnect","_default","exports"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useUIKitConfig } from '@sendbird/uikit-tools';\nimport { Logger, SendbirdChatSDK, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\n\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\nfunction isCacheRestrictedError(error: SendbirdError) {\n return cacheRestrictCodes.some((code) => error.code === code);\n}\n\nasync function initEmoji(sdk: SendbirdChatSDK, emojiManager: EmojiManager) {\n await emojiManager.init();\n if (sdk.appInfo.emojiHash !== emojiManager.emojiHash) {\n try {\n const container = await sdk.getAllEmoji();\n await emojiManager.init(container);\n } catch {}\n }\n}\n\nconst useConnection = () => {\n const { initDashboardConfigs } = useUIKitConfig();\n const { sdk, emojiManager, setCurrentUser, sbOptions } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (sbOptions.chat.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (sbOptions.chat.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n await Promise.allSettled([initEmoji(sdk, emojiManager), initDashboardConfigs(sdk)]);\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (isCacheRestrictedError(error)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n await initEmoji(sdk, emojiManager);\n\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (sbOptions.chat.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":"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"}
@@ -10,7 +10,8 @@ var _uikitUtils = require("@sendbird/uikit-utils");
10
10
  var _useContext = require("./useContext");
11
11
  const useMentionTextInput = params => {
12
12
  const {
13
- mentionManager
13
+ mentionManager,
14
+ sbOptions
14
15
  } = (0, _useContext.useSendbirdChat)();
15
16
  const mentionedUsersRef = (0, _react.useRef)([]);
16
17
  const textInputRef = (0, _react.useRef)();
@@ -22,7 +23,7 @@ const useMentionTextInput = params => {
22
23
 
23
24
  // TODO: Refactor text edit logic more clearly
24
25
  (0, _react.useEffect)(() => {
25
- if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit)) {
26
+ if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit, sbOptions.uikit.groupChannel.channel.enableMention)) {
26
27
  const result = mentionManager.templateToTextAndMentionedUsers(params.messageToEdit.mentionedMessageTemplate, params.messageToEdit.mentionedUsers);
27
28
  mentionedUsersRef.current = result.mentionedUsers;
28
29
  setText(result.mentionedText);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_uikitUtils","_useContext","useMentionTextInput","params","mentionManager","useSendbirdChat","mentionedUsersRef","useRef","textInputRef","text","setText","useState","selection","setSelection","start","end","useEffect","shouldUseMentionedMessageTemplate","messageToEdit","result","templateToTextAndMentionedUsers","mentionedMessageTemplate","mentionedUsers","current","mentionedText","_params$messageToEdit","isUserMessage","message","onChangeText","useFreshCallback","_nextText","addedMentionedUser","prevText","nextText","offset","length","push","reconcileRangeOfMentionedUsers","filtered","lastSelection","removeMentionedUsersInSelection","Math","max","foundIndex","findIndex","it","rangeHelpers","overlaps","range","remainderLength","replace","splice","onSelectionChange","e","nativeSelection","nativeEvent","setTimeout","mentionedUser","find","_textInputRef$current","selectionBlock","setNativeProps","Platform","OS","_textInputRef$current2","_default","exports","default"],"sources":["useMentionTextInput.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput, TextInputSelectionChangeEventData } from 'react-native';\nimport { Platform } from 'react-native';\n\nimport { SendbirdFileMessage, SendbirdUserMessage, replace, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser } from '../types';\nimport { useSendbirdChat } from './useContext';\n\nconst useMentionTextInput = (params: { messageToEdit?: SendbirdUserMessage | SendbirdFileMessage }) => {\n const { mentionManager } = useSendbirdChat();\n\n const mentionedUsersRef = useRef<MentionedUser[]>([]);\n const textInputRef = useRef<TextInput>();\n\n const [text, setText] = useState('');\n const [selection, setSelection] = useState({ start: 0, end: 0 });\n\n // TODO: Refactor text edit logic more clearly\n useEffect(() => {\n if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit)) {\n const result = mentionManager.templateToTextAndMentionedUsers(\n params.messageToEdit.mentionedMessageTemplate,\n params.messageToEdit.mentionedUsers,\n );\n\n mentionedUsersRef.current = result.mentionedUsers;\n setText(result.mentionedText);\n } else {\n mentionedUsersRef.current = [];\n if (params.messageToEdit?.isUserMessage()) {\n setText(params.messageToEdit.message);\n }\n }\n }, [params.messageToEdit]);\n\n const onChangeText = useFreshCallback((_nextText: string, addedMentionedUser?: MentionedUser) => {\n const prevText = text;\n let nextText = _nextText;\n let offset = nextText.length - prevText.length;\n\n // Text clear\n if (nextText === '') {\n mentionedUsersRef.current = [];\n }\n // Text add\n else if (offset > 0) {\n /** Add mentioned user **/\n if (addedMentionedUser) mentionedUsersRef.current.push(addedMentionedUser);\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n // Text remove\n else if (offset < 0) {\n // Ranged remove\n if (selection.start !== selection.end) {\n /** Filter mentioned users in selection range **/\n const { filtered, lastSelection } = mentionManager.removeMentionedUsersInSelection(\n selection,\n mentionedUsersRef.current,\n );\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n Math.max(selection.end, lastSelection),\n filtered,\n );\n }\n // Single remove\n else {\n /** Find mentioned user who ranges in removed selection **/\n const foundIndex = mentionedUsersRef.current.findIndex((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n /** If found, remove from the mentioned user list and remove remainder text **/\n if (foundIndex > -1) {\n const it = mentionedUsersRef.current[foundIndex];\n const remainderLength = it.range.end - it.range.start + offset;\n\n offset = -remainderLength + offset;\n nextText = replace(nextText, it.range.start, it.range.start + remainderLength, '');\n\n mentionedUsersRef.current.splice(foundIndex, 1);\n }\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n }\n\n setText(nextText);\n });\n\n return {\n textInputRef,\n selection,\n onSelectionChange: useFreshCallback((e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => {\n const nativeSelection = { ...e.nativeEvent.selection };\n\n // NOTE: To synchronize call onSelectionChange after onChangeText called on each platform.\n setTimeout(() => {\n const mentionedUser = mentionedUsersRef.current.find((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, nativeSelection),\n );\n\n // Selection should be blocked if changed into mentioned area\n if (mentionedUser) {\n const selectionBlock = { start: mentionedUser.range.start, end: mentionedUser.range.end };\n textInputRef.current?.setNativeProps({ selection: selectionBlock });\n // BUG: setNativeProps called again when invoked onChangeText\n // https://github.com/facebook/react-native/issues/33520\n if (Platform.OS === 'android') {\n setTimeout(() => {\n textInputRef.current?.setNativeProps({ selection: { start: 0 } });\n }, 250);\n }\n setSelection(selectionBlock);\n } else {\n setSelection(nativeSelection);\n }\n }, 10);\n }),\n text,\n onChangeText,\n mentionedUsers: mentionedUsersRef.current,\n };\n};\n\nexport default useMentionTextInput;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_reactNative","_uikitUtils","_useContext","useMentionTextInput","params","mentionManager","sbOptions","useSendbirdChat","mentionedUsersRef","useRef","textInputRef","text","setText","useState","selection","setSelection","start","end","useEffect","shouldUseMentionedMessageTemplate","messageToEdit","uikit","groupChannel","channel","enableMention","result","templateToTextAndMentionedUsers","mentionedMessageTemplate","mentionedUsers","current","mentionedText","_params$messageToEdit","isUserMessage","message","onChangeText","useFreshCallback","_nextText","addedMentionedUser","prevText","nextText","offset","length","push","reconcileRangeOfMentionedUsers","filtered","lastSelection","removeMentionedUsersInSelection","Math","max","foundIndex","findIndex","it","rangeHelpers","overlaps","range","remainderLength","replace","splice","onSelectionChange","e","nativeSelection","nativeEvent","setTimeout","mentionedUser","find","_textInputRef$current","selectionBlock","setNativeProps","Platform","OS","_textInputRef$current2","_default","exports","default"],"sources":["useMentionTextInput.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput, TextInputSelectionChangeEventData } from 'react-native';\nimport { Platform } from 'react-native';\n\nimport { SendbirdFileMessage, SendbirdUserMessage, replace, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser } from '../types';\nimport { useSendbirdChat } from './useContext';\n\nconst useMentionTextInput = (params: { messageToEdit?: SendbirdUserMessage | SendbirdFileMessage }) => {\n const { mentionManager, sbOptions } = useSendbirdChat();\n\n const mentionedUsersRef = useRef<MentionedUser[]>([]);\n const textInputRef = useRef<TextInput>();\n\n const [text, setText] = useState('');\n const [selection, setSelection] = useState({ start: 0, end: 0 });\n\n // TODO: Refactor text edit logic more clearly\n useEffect(() => {\n if (\n mentionManager.shouldUseMentionedMessageTemplate(\n params.messageToEdit,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )\n ) {\n const result = mentionManager.templateToTextAndMentionedUsers(\n params.messageToEdit.mentionedMessageTemplate,\n params.messageToEdit.mentionedUsers,\n );\n\n mentionedUsersRef.current = result.mentionedUsers;\n setText(result.mentionedText);\n } else {\n mentionedUsersRef.current = [];\n if (params.messageToEdit?.isUserMessage()) {\n setText(params.messageToEdit.message);\n }\n }\n }, [params.messageToEdit]);\n\n const onChangeText = useFreshCallback((_nextText: string, addedMentionedUser?: MentionedUser) => {\n const prevText = text;\n let nextText = _nextText;\n let offset = nextText.length - prevText.length;\n\n // Text clear\n if (nextText === '') {\n mentionedUsersRef.current = [];\n }\n // Text add\n else if (offset > 0) {\n /** Add mentioned user **/\n if (addedMentionedUser) mentionedUsersRef.current.push(addedMentionedUser);\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n // Text remove\n else if (offset < 0) {\n // Ranged remove\n if (selection.start !== selection.end) {\n /** Filter mentioned users in selection range **/\n const { filtered, lastSelection } = mentionManager.removeMentionedUsersInSelection(\n selection,\n mentionedUsersRef.current,\n );\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n Math.max(selection.end, lastSelection),\n filtered,\n );\n }\n // Single remove\n else {\n /** Find mentioned user who ranges in removed selection **/\n const foundIndex = mentionedUsersRef.current.findIndex((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n /** If found, remove from the mentioned user list and remove remainder text **/\n if (foundIndex > -1) {\n const it = mentionedUsersRef.current[foundIndex];\n const remainderLength = it.range.end - it.range.start + offset;\n\n offset = -remainderLength + offset;\n nextText = replace(nextText, it.range.start, it.range.start + remainderLength, '');\n\n mentionedUsersRef.current.splice(foundIndex, 1);\n }\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n }\n\n setText(nextText);\n });\n\n return {\n textInputRef,\n selection,\n onSelectionChange: useFreshCallback((e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => {\n const nativeSelection = { ...e.nativeEvent.selection };\n\n // NOTE: To synchronize call onSelectionChange after onChangeText called on each platform.\n setTimeout(() => {\n const mentionedUser = mentionedUsersRef.current.find((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, nativeSelection),\n );\n\n // Selection should be blocked if changed into mentioned area\n if (mentionedUser) {\n const selectionBlock = { start: mentionedUser.range.start, end: mentionedUser.range.end };\n textInputRef.current?.setNativeProps({ selection: selectionBlock });\n // BUG: setNativeProps called again when invoked onChangeText\n // https://github.com/facebook/react-native/issues/33520\n if (Platform.OS === 'android') {\n setTimeout(() => {\n textInputRef.current?.setNativeProps({ selection: { start: 0 } });\n }, 250);\n }\n setSelection(selectionBlock);\n } else {\n setSelection(nativeSelection);\n }\n }, 10);\n }),\n text,\n onChangeText,\n mentionedUsers: mentionedUsersRef.current,\n };\n};\n\nexport default useMentionTextInput;\n"],"mappings":"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"}
@@ -5,13 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  ChannelInput: true,
8
- MessageRenderer: true,
8
+ ChannelMessageList: true,
9
+ GroupChannelMessageRenderer: true,
9
10
  OpenChannelMessageRenderer: true,
10
11
  ReactionAddons: true,
11
12
  ReactionBottomSheets: true,
12
13
  ChannelCover: true,
13
14
  ChatFlatList: true,
14
15
  FileViewer: true,
16
+ MessageSearchResultItem: true,
15
17
  NewMessagesButton: true,
16
18
  ProviderLayout: true,
17
19
  ScrollToBottomButton: true,
@@ -79,6 +81,12 @@ Object.defineProperty(exports, "ChannelInput", {
79
81
  return _ChannelInput.default;
80
82
  }
81
83
  });
84
+ Object.defineProperty(exports, "ChannelMessageList", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _ChannelMessageList.default;
88
+ }
89
+ });
82
90
  Object.defineProperty(exports, "ChatFlatList", {
83
91
  enumerable: true,
84
92
  get: function () {
@@ -91,6 +99,12 @@ Object.defineProperty(exports, "FileViewer", {
91
99
  return _FileViewer.default;
92
100
  }
93
101
  });
102
+ Object.defineProperty(exports, "GroupChannelMessageRenderer", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _GroupChannelMessageRenderer.default;
106
+ }
107
+ });
94
108
  Object.defineProperty(exports, "LocalizationContext", {
95
109
  enumerable: true,
96
110
  get: function () {
@@ -103,10 +117,10 @@ Object.defineProperty(exports, "LocalizationProvider", {
103
117
  return _LocalizationCtx.LocalizationProvider;
104
118
  }
105
119
  });
106
- Object.defineProperty(exports, "MessageRenderer", {
120
+ Object.defineProperty(exports, "MessageSearchResultItem", {
107
121
  enumerable: true,
108
122
  get: function () {
109
- return _MessageRenderer.default;
123
+ return _MessageSearchResultItem.default;
110
124
  }
111
125
  });
112
126
  Object.defineProperty(exports, "NewMessagesButton", {
@@ -442,13 +456,15 @@ Object.defineProperty(exports, "usePushTokenRegistration", {
442
456
  var _reactNative = require("react-native");
443
457
  var _uikitUtils = require("@sendbird/uikit-utils");
444
458
  var _ChannelInput = _interopRequireDefault(require("./components/ChannelInput"));
445
- var _MessageRenderer = _interopRequireDefault(require("./components/MessageRenderer"));
459
+ var _ChannelMessageList = _interopRequireDefault(require("./components/ChannelMessageList"));
460
+ var _GroupChannelMessageRenderer = _interopRequireDefault(require("./components/GroupChannelMessageRenderer"));
446
461
  var _OpenChannelMessageRenderer = _interopRequireDefault(require("./components/OpenChannelMessageRenderer"));
447
462
  var _ReactionAddons = require("./components/ReactionAddons");
448
463
  var _ReactionBottomSheets = require("./components/ReactionBottomSheets");
449
464
  var _ChannelCover = _interopRequireDefault(require("./components/ChannelCover"));
450
465
  var _ChatFlatList = _interopRequireDefault(require("./components/ChatFlatList"));
451
466
  var _FileViewer = _interopRequireDefault(require("./components/FileViewer"));
467
+ var _MessageSearchResultItem = _interopRequireDefault(require("./components/MessageSearchResultItem"));
452
468
  var _NewMessagesButton = _interopRequireDefault(require("./components/NewMessagesButton"));
453
469
  var _ProviderLayout = _interopRequireDefault(require("./components/ProviderLayout"));
454
470
  var _ScrollToBottomButton = _interopRequireDefault(require("./components/ScrollToBottomButton"));