@sendbird/uikit-react-native 2.4.1 → 2.5.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1031) hide show
  1. package/README.md +12 -18
  2. package/lib/commonjs/components/ChannelCover.js +8 -21
  3. package/lib/commonjs/components/ChannelCover.js.map +1 -1
  4. package/lib/commonjs/components/ChannelInput/EditInput.js +0 -14
  5. package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
  6. package/lib/commonjs/components/ChannelInput/SendInput.js +2 -30
  7. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  8. package/lib/commonjs/components/ChannelInput/index.js +5 -31
  9. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  10. package/lib/commonjs/components/ChannelMessageList/index.js +319 -0
  11. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -0
  12. package/lib/commonjs/components/ChatFlatList.js +33 -69
  13. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  14. package/lib/commonjs/components/FileViewer.js +0 -21
  15. package/lib/commonjs/components/FileViewer.js.map +1 -1
  16. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -6
  17. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +1 -1
  18. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -8
  19. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  20. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -10
  21. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  22. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -16
  23. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  24. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -10
  25. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -1
  26. package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -6
  27. package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +1 -1
  28. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js +0 -8
  29. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
  30. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -8
  31. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
  32. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -8
  33. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
  34. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js +0 -16
  35. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -1
  36. package/lib/commonjs/components/MessageRenderer/MessageTime.js +0 -7
  37. package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -1
  38. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -7
  39. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
  40. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -17
  41. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  42. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -20
  43. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  44. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -9
  45. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
  46. package/lib/commonjs/components/MessageRenderer/index.js +2 -29
  47. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
  48. package/lib/commonjs/components/MessageSearchResultItem.js +132 -0
  49. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -0
  50. package/lib/commonjs/components/NewMessagesButton.js +0 -9
  51. package/lib/commonjs/components/NewMessagesButton.js.map +1 -1
  52. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +0 -8
  53. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  54. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +0 -20
  55. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
  56. package/lib/commonjs/components/ProviderLayout.js +0 -6
  57. package/lib/commonjs/components/ProviderLayout.js.map +1 -1
  58. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +0 -15
  59. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  60. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +0 -17
  61. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  62. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +0 -8
  63. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -1
  64. package/lib/commonjs/components/ReactionAddons/index.js +0 -4
  65. package/lib/commonjs/components/ReactionAddons/index.js.map +1 -1
  66. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +0 -11
  67. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
  68. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +0 -21
  69. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
  70. package/lib/commonjs/components/ReactionBottomSheets/index.js +0 -4
  71. package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -1
  72. package/lib/commonjs/components/ScrollToBottomButton.js +1 -9
  73. package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -1
  74. package/lib/commonjs/components/StatusComposition.js +0 -4
  75. package/lib/commonjs/components/StatusComposition.js.map +1 -1
  76. package/lib/commonjs/components/TypedPlaceholder.js +0 -15
  77. package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
  78. package/lib/commonjs/components/UserActionBar.js +0 -7
  79. package/lib/commonjs/components/UserActionBar.js.map +1 -1
  80. package/lib/commonjs/components/UserSelectableBar.js +0 -7
  81. package/lib/commonjs/components/UserSelectableBar.js.map +1 -1
  82. package/lib/commonjs/constants.js +6 -2
  83. package/lib/commonjs/constants.js.map +1 -1
  84. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -26
  85. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  86. package/lib/commonjs/containers/InternalErrorBoundaryContainer.js +3 -18
  87. package/lib/commonjs/containers/InternalErrorBoundaryContainer.js.map +1 -1
  88. package/lib/commonjs/containers/SendbirdUIKitContainer.js +7 -46
  89. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  90. package/lib/commonjs/contexts/LocalizationCtx.js +0 -6
  91. package/lib/commonjs/contexts/LocalizationCtx.js.map +1 -1
  92. package/lib/commonjs/contexts/PlatformServiceCtx.js +0 -6
  93. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
  94. package/lib/commonjs/contexts/ReactionCtx.js +4 -18
  95. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -1
  96. package/lib/commonjs/contexts/SendbirdChatCtx.js +6 -16
  97. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  98. package/lib/commonjs/contexts/UserProfileCtx.js +0 -22
  99. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  100. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +4 -13
  101. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  102. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +0 -10
  103. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  104. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +83 -349
  105. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  106. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js +0 -7
  107. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -1
  108. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js +0 -7
  109. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -1
  110. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -17
  111. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  112. package/lib/commonjs/domain/groupChannel/index.js +0 -9
  113. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  114. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +0 -10
  115. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  116. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +9 -14
  117. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  118. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  119. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +0 -7
  120. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
  121. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +0 -7
  122. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  123. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +0 -7
  124. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -1
  125. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +0 -7
  126. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -1
  127. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +0 -7
  128. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -1
  129. package/lib/commonjs/domain/groupChannelBannedUsers/index.js +0 -8
  130. package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -1
  131. package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +0 -9
  132. package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -1
  133. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +0 -9
  134. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
  135. package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -1
  136. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +0 -7
  137. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
  138. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +0 -12
  139. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  140. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +0 -7
  141. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -1
  142. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js +0 -7
  143. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -1
  144. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +0 -17
  145. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  146. package/lib/commonjs/domain/groupChannelList/index.js +0 -8
  147. package/lib/commonjs/domain/groupChannelList/index.js.map +1 -1
  148. package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js +0 -9
  149. package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -1
  150. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +2 -11
  151. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -1
  152. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +0 -7
  153. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
  154. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +0 -12
  155. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
  156. package/lib/commonjs/domain/groupChannelModeration/index.js +0 -5
  157. package/lib/commonjs/domain/groupChannelModeration/index.js.map +1 -1
  158. package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +0 -6
  159. package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -1
  160. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +1 -9
  161. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
  162. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +0 -7
  163. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
  164. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +0 -7
  165. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  166. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +0 -7
  167. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -1
  168. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +0 -7
  169. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -1
  170. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +0 -7
  171. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -1
  172. package/lib/commonjs/domain/groupChannelMutedMembers/index.js +0 -8
  173. package/lib/commonjs/domain/groupChannelMutedMembers/index.js.map +1 -1
  174. package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +0 -9
  175. package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -1
  176. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +0 -9
  177. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
  178. package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -1
  179. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +0 -7
  180. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
  181. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +0 -16
  182. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
  183. package/lib/commonjs/domain/groupChannelNotifications/index.js +0 -5
  184. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -1
  185. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +0 -6
  186. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -1
  187. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +0 -9
  188. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
  189. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +0 -7
  190. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
  191. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +0 -7
  192. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  193. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +0 -7
  194. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -1
  195. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +0 -7
  196. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -1
  197. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +0 -7
  198. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -1
  199. package/lib/commonjs/domain/groupChannelOperators/index.js +0 -8
  200. package/lib/commonjs/domain/groupChannelOperators/index.js.map +1 -1
  201. package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +0 -9
  202. package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -1
  203. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +0 -9
  204. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
  205. package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -1
  206. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +0 -7
  207. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
  208. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +0 -12
  209. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
  210. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -23
  211. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  212. package/lib/commonjs/domain/groupChannelSettings/index.js +0 -6
  213. package/lib/commonjs/domain/groupChannelSettings/index.js.map +1 -1
  214. package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +0 -7
  215. package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -1
  216. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +0 -16
  217. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  218. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  219. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  220. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +105 -0
  221. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  222. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js +40 -0
  223. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  224. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js +22 -0
  225. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  226. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js +26 -0
  227. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  228. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js +22 -0
  229. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  230. package/lib/commonjs/domain/messageSearch/index.js +62 -0
  231. package/lib/commonjs/domain/messageSearch/index.js.map +1 -0
  232. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js +36 -0
  233. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  234. package/lib/commonjs/domain/messageSearch/module/moduleContext.js +25 -0
  235. package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -0
  236. package/lib/commonjs/domain/messageSearch/types.js +6 -0
  237. package/lib/commonjs/domain/messageSearch/types.js.map +1 -0
  238. package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +0 -12
  239. package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
  240. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +0 -18
  241. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  242. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +38 -323
  243. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  244. package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js +0 -7
  245. package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -1
  246. package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js +0 -7
  247. package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -1
  248. package/lib/commonjs/domain/openChannel/index.js +0 -7
  249. package/lib/commonjs/domain/openChannel/index.js.map +1 -1
  250. package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js +0 -9
  251. package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js.map +1 -1
  252. package/lib/commonjs/domain/openChannel/module/moduleContext.js +9 -12
  253. package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
  254. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  255. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +0 -7
  256. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
  257. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +0 -7
  258. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -1
  259. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +0 -6
  260. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -1
  261. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +0 -6
  262. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -1
  263. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +0 -6
  264. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -1
  265. package/lib/commonjs/domain/openChannelBannedUsers/index.js +0 -8
  266. package/lib/commonjs/domain/openChannelBannedUsers/index.js.map +1 -1
  267. package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +0 -9
  268. package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -1
  269. package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +0 -9
  270. package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
  271. package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -1
  272. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +0 -8
  273. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
  274. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +0 -14
  275. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  276. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +0 -5
  277. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -1
  278. package/lib/commonjs/domain/openChannelCreate/index.js +0 -6
  279. package/lib/commonjs/domain/openChannelCreate/index.js.map +1 -1
  280. package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js +0 -7
  281. package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -1
  282. package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +0 -9
  283. package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -1
  284. package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +0 -7
  285. package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
  286. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +0 -8
  287. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  288. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js +0 -7
  289. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -1
  290. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js +0 -6
  291. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -1
  292. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js +0 -7
  293. package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -1
  294. package/lib/commonjs/domain/openChannelList/index.js +0 -8
  295. package/lib/commonjs/domain/openChannelList/index.js.map +1 -1
  296. package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js +0 -9
  297. package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -1
  298. package/lib/commonjs/domain/openChannelList/module/moduleContext.js +0 -9
  299. package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -1
  300. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +0 -7
  301. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
  302. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js +0 -7
  303. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -1
  304. package/lib/commonjs/domain/openChannelModeration/index.js +0 -5
  305. package/lib/commonjs/domain/openChannelModeration/index.js.map +1 -1
  306. package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js +0 -6
  307. package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -1
  308. package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +0 -9
  309. package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -1
  310. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +0 -7
  311. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
  312. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +0 -7
  313. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -1
  314. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +0 -6
  315. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -1
  316. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +0 -6
  317. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -1
  318. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +0 -6
  319. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -1
  320. package/lib/commonjs/domain/openChannelMutedParticipants/index.js +0 -7
  321. package/lib/commonjs/domain/openChannelMutedParticipants/index.js.map +1 -1
  322. package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +0 -9
  323. package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -1
  324. package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +0 -9
  325. package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
  326. package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -1
  327. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +0 -7
  328. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
  329. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js +0 -7
  330. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -1
  331. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +0 -6
  332. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -1
  333. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +0 -6
  334. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -1
  335. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +0 -6
  336. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -1
  337. package/lib/commonjs/domain/openChannelOperators/index.js +0 -7
  338. package/lib/commonjs/domain/openChannelOperators/index.js.map +1 -1
  339. package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +0 -9
  340. package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -1
  341. package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +0 -9
  342. package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -1
  343. package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -1
  344. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +0 -7
  345. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
  346. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +0 -11
  347. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
  348. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +0 -14
  349. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
  350. package/lib/commonjs/domain/openChannelSettings/index.js +0 -6
  351. package/lib/commonjs/domain/openChannelSettings/index.js.map +1 -1
  352. package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +0 -7
  353. package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -1
  354. package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +0 -18
  355. package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -1
  356. package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -1
  357. package/lib/commonjs/domain/userList/component/UserListHeader.js +0 -7
  358. package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -1
  359. package/lib/commonjs/domain/userList/component/UserListList.js +0 -9
  360. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  361. package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js +0 -7
  362. package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js.map +1 -1
  363. package/lib/commonjs/domain/userList/component/UserListStatusError.js +0 -7
  364. package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -1
  365. package/lib/commonjs/domain/userList/component/UserListStatusLoading.js +0 -7
  366. package/lib/commonjs/domain/userList/component/UserListStatusLoading.js.map +1 -1
  367. package/lib/commonjs/domain/userList/index.js +0 -8
  368. package/lib/commonjs/domain/userList/index.js.map +1 -1
  369. package/lib/commonjs/domain/userList/module/createUserListModule.js +0 -9
  370. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  371. package/lib/commonjs/domain/userList/module/moduleContext.js +1 -9
  372. package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -1
  373. package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js +6 -18
  374. package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js.map +1 -1
  375. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +0 -14
  376. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  377. package/lib/commonjs/fragments/createGroupChannelFragment.js +108 -37
  378. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  379. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +0 -16
  380. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  381. package/lib/commonjs/fragments/createGroupChannelListFragment.js +0 -13
  382. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  383. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +7 -29
  384. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
  385. package/lib/commonjs/fragments/createGroupChannelModerationFragment.js +0 -9
  386. package/lib/commonjs/fragments/createGroupChannelModerationFragment.js.map +1 -1
  387. package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +5 -21
  388. package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
  389. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +1 -8
  390. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -1
  391. package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +5 -20
  392. package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
  393. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +5 -18
  394. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
  395. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -9
  396. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  397. package/lib/commonjs/fragments/createMessageSearchFragment.js +145 -0
  398. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -0
  399. package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js +6 -18
  400. package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js.map +1 -1
  401. package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +0 -13
  402. package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -1
  403. package/lib/commonjs/fragments/createOpenChannelFragment.js +40 -30
  404. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  405. package/lib/commonjs/fragments/createOpenChannelListFragment.js +0 -12
  406. package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
  407. package/lib/commonjs/fragments/createOpenChannelModerationFragment.js +0 -9
  408. package/lib/commonjs/fragments/createOpenChannelModerationFragment.js.map +1 -1
  409. package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js +5 -19
  410. package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -1
  411. package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js +5 -20
  412. package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js.map +1 -1
  413. package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +11 -30
  414. package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
  415. package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +5 -20
  416. package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
  417. package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js +0 -9
  418. package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js.map +1 -1
  419. package/lib/commonjs/hooks/useConnection.js +15 -28
  420. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  421. package/lib/commonjs/hooks/useContext.js +0 -16
  422. package/lib/commonjs/hooks/useContext.js.map +1 -1
  423. package/lib/commonjs/hooks/useKeyboardStatus.js +3 -20
  424. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -1
  425. package/lib/commonjs/hooks/useMentionSuggestion.js +17 -13
  426. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
  427. package/lib/commonjs/hooks/useMentionTextInput.js +21 -27
  428. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
  429. package/lib/commonjs/hooks/usePushTokenRegistration.js +4 -19
  430. package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -1
  431. package/lib/commonjs/index.js +61 -167
  432. package/lib/commonjs/index.js.map +1 -1
  433. package/lib/commonjs/libs/EmojiManager.js +14 -33
  434. package/lib/commonjs/libs/EmojiManager.js.map +1 -1
  435. package/lib/commonjs/libs/ImageCompressionConfig.js +3 -10
  436. package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -1
  437. package/lib/commonjs/libs/InternalLocalCacheStorage.js +3 -15
  438. package/lib/commonjs/libs/InternalLocalCacheStorage.js.map +1 -1
  439. package/lib/commonjs/libs/MentionConfig.js +3 -11
  440. package/lib/commonjs/libs/MentionConfig.js.map +1 -1
  441. package/lib/commonjs/libs/MentionManager.js +23 -36
  442. package/lib/commonjs/libs/MentionManager.js.map +1 -1
  443. package/lib/commonjs/libs/SBUError.js +6 -14
  444. package/lib/commonjs/libs/SBUError.js.map +1 -1
  445. package/lib/commonjs/libs/SBUUtils.js +0 -9
  446. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  447. package/lib/commonjs/localization/StringSet.en.js +0 -4
  448. package/lib/commonjs/localization/StringSet.en.js.map +1 -1
  449. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  450. package/lib/commonjs/localization/createBaseStringSet.js +33 -44
  451. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  452. package/lib/commonjs/platform/createClipboardService.expo.js +0 -4
  453. package/lib/commonjs/platform/createClipboardService.expo.js.map +1 -1
  454. package/lib/commonjs/platform/createClipboardService.native.js +0 -4
  455. package/lib/commonjs/platform/createClipboardService.native.js.map +1 -1
  456. package/lib/commonjs/platform/createFileService.expo.js +0 -36
  457. package/lib/commonjs/platform/createFileService.expo.js.map +1 -1
  458. package/lib/commonjs/platform/createFileService.native.js +3 -59
  459. package/lib/commonjs/platform/createFileService.native.js.map +1 -1
  460. package/lib/commonjs/platform/createMediaService.expo.js +0 -11
  461. package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
  462. package/lib/commonjs/platform/createMediaService.native.js +0 -13
  463. package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
  464. package/lib/commonjs/platform/createNotificationService.expo.js +0 -9
  465. package/lib/commonjs/platform/createNotificationService.expo.js.map +1 -1
  466. package/lib/commonjs/platform/createNotificationService.native.js +0 -12
  467. package/lib/commonjs/platform/createNotificationService.native.js.map +1 -1
  468. package/lib/commonjs/platform/dynamicModule.js +1 -11
  469. package/lib/commonjs/platform/dynamicModule.js.map +1 -1
  470. package/lib/commonjs/platform/types.js.map +1 -1
  471. package/lib/commonjs/utils/expoPermissionGranted.js +0 -5
  472. package/lib/commonjs/utils/expoPermissionGranted.js.map +1 -1
  473. package/lib/commonjs/utils/nativePermissionGranted.js +0 -4
  474. package/lib/commonjs/utils/nativePermissionGranted.js.map +1 -1
  475. package/lib/commonjs/utils/normalizeFile.js +0 -6
  476. package/lib/commonjs/utils/normalizeFile.js.map +1 -1
  477. package/lib/commonjs/utils/pubsub.js +21 -0
  478. package/lib/commonjs/utils/pubsub.js.map +1 -0
  479. package/lib/commonjs/version.js +1 -1
  480. package/lib/commonjs/version.js.map +1 -1
  481. package/lib/module/components/ChannelCover.js +8 -15
  482. package/lib/module/components/ChannelCover.js.map +1 -1
  483. package/lib/module/components/ChannelInput/EditInput.js +0 -6
  484. package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
  485. package/lib/module/components/ChannelInput/SendInput.js +2 -18
  486. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  487. package/lib/module/components/ChannelInput/index.js +5 -14
  488. package/lib/module/components/ChannelInput/index.js.map +1 -1
  489. package/lib/module/components/ChannelMessageList/index.js +311 -0
  490. package/lib/module/components/ChannelMessageList/index.js.map +1 -0
  491. package/lib/module/components/ChatFlatList.js +35 -64
  492. package/lib/module/components/ChatFlatList.js.map +1 -1
  493. package/lib/module/components/FileViewer.js +0 -11
  494. package/lib/module/components/FileViewer.js.map +1 -1
  495. package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -2
  496. package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +1 -1
  497. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -2
  498. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  499. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -4
  500. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  501. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -9
  502. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  503. package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -3
  504. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -1
  505. package/lib/module/components/MessageRenderer/MessageContainer.js +0 -2
  506. package/lib/module/components/MessageRenderer/MessageContainer.js.map +1 -1
  507. package/lib/module/components/MessageRenderer/MessageDateSeparator.js +0 -2
  508. package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
  509. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -3
  510. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
  511. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -3
  512. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
  513. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js +0 -8
  514. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -1
  515. package/lib/module/components/MessageRenderer/MessageTime.js +0 -2
  516. package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -1
  517. package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -2
  518. package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
  519. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -10
  520. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  521. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -11
  522. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  523. package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -4
  524. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  525. package/lib/module/components/MessageRenderer/index.js +2 -9
  526. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  527. package/lib/module/components/MessageSearchResultItem.js +124 -0
  528. package/lib/module/components/MessageSearchResultItem.js.map +1 -0
  529. package/lib/module/components/NewMessagesButton.js +0 -2
  530. package/lib/module/components/NewMessagesButton.js.map +1 -1
  531. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +0 -2
  532. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  533. package/lib/module/components/OpenChannelMessageRenderer/index.js +0 -12
  534. package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
  535. package/lib/module/components/ProviderLayout.js +0 -2
  536. package/lib/module/components/ProviderLayout.js.map +1 -1
  537. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +0 -6
  538. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  539. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +0 -8
  540. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  541. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +0 -3
  542. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -1
  543. package/lib/module/components/ReactionAddons/index.js.map +1 -1
  544. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +0 -4
  545. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
  546. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +0 -13
  547. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
  548. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -1
  549. package/lib/module/components/ScrollToBottomButton.js +1 -3
  550. package/lib/module/components/ScrollToBottomButton.js.map +1 -1
  551. package/lib/module/components/StatusComposition.js +0 -2
  552. package/lib/module/components/StatusComposition.js.map +1 -1
  553. package/lib/module/components/TypedPlaceholder.js +0 -11
  554. package/lib/module/components/TypedPlaceholder.js.map +1 -1
  555. package/lib/module/components/UserActionBar.js +0 -2
  556. package/lib/module/components/UserActionBar.js.map +1 -1
  557. package/lib/module/components/UserSelectableBar.js +0 -2
  558. package/lib/module/components/UserSelectableBar.js.map +1 -1
  559. package/lib/module/constants.js +3 -1
  560. package/lib/module/constants.js.map +1 -1
  561. package/lib/module/containers/GroupChannelPreviewContainer.js +2 -14
  562. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  563. package/lib/module/containers/InternalErrorBoundaryContainer.js +3 -14
  564. package/lib/module/containers/InternalErrorBoundaryContainer.js.map +1 -1
  565. package/lib/module/containers/SendbirdUIKitContainer.js +7 -19
  566. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  567. package/lib/module/contexts/LocalizationCtx.js.map +1 -1
  568. package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
  569. package/lib/module/contexts/ReactionCtx.js +4 -6
  570. package/lib/module/contexts/ReactionCtx.js.map +1 -1
  571. package/lib/module/contexts/SendbirdChatCtx.js +6 -7
  572. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  573. package/lib/module/contexts/UserProfileCtx.js +0 -8
  574. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  575. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +4 -4
  576. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  577. package/lib/module/domain/groupChannel/component/GroupChannelInput.js +0 -2
  578. package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  579. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +87 -333
  580. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  581. package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js +0 -2
  582. package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -1
  583. package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js +0 -2
  584. package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -1
  585. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -5
  586. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  587. package/lib/module/domain/groupChannel/index.js.map +1 -1
  588. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +0 -2
  589. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  590. package/lib/module/domain/groupChannel/module/moduleContext.js +9 -3
  591. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  592. package/lib/module/domain/groupChannel/types.js.map +1 -1
  593. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +0 -2
  594. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
  595. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +0 -2
  596. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  597. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +0 -2
  598. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -1
  599. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +0 -2
  600. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -1
  601. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +0 -2
  602. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -1
  603. package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -1
  604. package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +0 -2
  605. package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -1
  606. package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
  607. package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -1
  608. package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js +0 -2
  609. package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
  610. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +0 -3
  611. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  612. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +0 -2
  613. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -1
  614. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js +0 -2
  615. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -1
  616. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +0 -8
  617. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  618. package/lib/module/domain/groupChannelList/index.js.map +1 -1
  619. package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js +0 -2
  620. package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -1
  621. package/lib/module/domain/groupChannelList/module/moduleContext.js +2 -1
  622. package/lib/module/domain/groupChannelList/module/moduleContext.js.map +1 -1
  623. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +0 -2
  624. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
  625. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +0 -5
  626. package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
  627. package/lib/module/domain/groupChannelModeration/index.js.map +1 -1
  628. package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +0 -2
  629. package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -1
  630. package/lib/module/domain/groupChannelModeration/module/moduleContext.js +1 -0
  631. package/lib/module/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
  632. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +0 -2
  633. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
  634. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +0 -2
  635. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  636. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +0 -2
  637. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -1
  638. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +0 -2
  639. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -1
  640. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +0 -2
  641. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -1
  642. package/lib/module/domain/groupChannelMutedMembers/index.js.map +1 -1
  643. package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +0 -2
  644. package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -1
  645. package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
  646. package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -1
  647. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +0 -2
  648. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
  649. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +0 -7
  650. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
  651. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -1
  652. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +0 -2
  653. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -1
  654. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
  655. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +0 -2
  656. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
  657. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +0 -2
  658. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  659. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +0 -2
  660. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -1
  661. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +0 -2
  662. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -1
  663. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +0 -2
  664. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -1
  665. package/lib/module/domain/groupChannelOperators/index.js.map +1 -1
  666. package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +0 -2
  667. package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -1
  668. package/lib/module/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
  669. package/lib/module/domain/groupChannelOperators/types.js.map +1 -1
  670. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +0 -2
  671. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
  672. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +0 -2
  673. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
  674. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -12
  675. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  676. package/lib/module/domain/groupChannelSettings/index.js.map +1 -1
  677. package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +0 -2
  678. package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -1
  679. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +0 -2
  680. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  681. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  682. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  683. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +96 -0
  684. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  685. package/lib/module/domain/messageSearch/component/MessageSearchList.js +32 -0
  686. package/lib/module/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  687. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js +14 -0
  688. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  689. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js +18 -0
  690. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  691. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js +14 -0
  692. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  693. package/lib/module/domain/messageSearch/index.js +8 -0
  694. package/lib/module/domain/messageSearch/index.js.map +1 -0
  695. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js +28 -0
  696. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  697. package/lib/module/domain/messageSearch/module/moduleContext.js +14 -0
  698. package/lib/module/domain/messageSearch/module/moduleContext.js.map +1 -0
  699. package/lib/module/domain/messageSearch/types.js +2 -0
  700. package/lib/module/domain/messageSearch/types.js.map +1 -0
  701. package/lib/module/domain/openChannel/component/OpenChannelHeader.js +0 -2
  702. package/lib/module/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
  703. package/lib/module/domain/openChannel/component/OpenChannelInput.js +0 -7
  704. package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  705. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +40 -309
  706. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  707. package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js +0 -2
  708. package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -1
  709. package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js +0 -2
  710. package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -1
  711. package/lib/module/domain/openChannel/index.js.map +1 -1
  712. package/lib/module/domain/openChannel/module/createOpenChannelModule.js +0 -2
  713. package/lib/module/domain/openChannel/module/createOpenChannelModule.js.map +1 -1
  714. package/lib/module/domain/openChannel/module/moduleContext.js +9 -2
  715. package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -1
  716. package/lib/module/domain/openChannel/types.js.map +1 -1
  717. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +0 -2
  718. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
  719. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +0 -2
  720. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -1
  721. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +0 -2
  722. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -1
  723. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +0 -2
  724. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -1
  725. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +0 -2
  726. package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -1
  727. package/lib/module/domain/openChannelBannedUsers/index.js.map +1 -1
  728. package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +0 -2
  729. package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -1
  730. package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
  731. package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -1
  732. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js +0 -2
  733. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
  734. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +0 -6
  735. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  736. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +0 -2
  737. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -1
  738. package/lib/module/domain/openChannelCreate/index.js.map +1 -1
  739. package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js +0 -2
  740. package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -1
  741. package/lib/module/domain/openChannelCreate/module/moduleContext.js.map +1 -1
  742. package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js +0 -2
  743. package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
  744. package/lib/module/domain/openChannelList/component/OpenChannelListList.js +0 -3
  745. package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  746. package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js +0 -2
  747. package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -1
  748. package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js +0 -2
  749. package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -1
  750. package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js +0 -2
  751. package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -1
  752. package/lib/module/domain/openChannelList/index.js.map +1 -1
  753. package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js +0 -2
  754. package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -1
  755. package/lib/module/domain/openChannelList/module/moduleContext.js.map +1 -1
  756. package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js +0 -2
  757. package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
  758. package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js +0 -2
  759. package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -1
  760. package/lib/module/domain/openChannelModeration/index.js.map +1 -1
  761. package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js +0 -2
  762. package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -1
  763. package/lib/module/domain/openChannelModeration/module/moduleContext.js.map +1 -1
  764. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +0 -2
  765. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
  766. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +0 -2
  767. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -1
  768. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +0 -2
  769. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -1
  770. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +0 -2
  771. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -1
  772. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +0 -2
  773. package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -1
  774. package/lib/module/domain/openChannelMutedParticipants/index.js.map +1 -1
  775. package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +0 -2
  776. package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -1
  777. package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
  778. package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -1
  779. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +0 -2
  780. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
  781. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js +0 -2
  782. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -1
  783. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +0 -2
  784. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -1
  785. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +0 -2
  786. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -1
  787. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +0 -2
  788. package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -1
  789. package/lib/module/domain/openChannelOperators/index.js.map +1 -1
  790. package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +0 -2
  791. package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -1
  792. package/lib/module/domain/openChannelOperators/module/moduleContext.js.map +1 -1
  793. package/lib/module/domain/openChannelOperators/types.js.map +1 -1
  794. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +0 -2
  795. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
  796. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +0 -2
  797. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
  798. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +0 -4
  799. package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
  800. package/lib/module/domain/openChannelSettings/index.js.map +1 -1
  801. package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +0 -2
  802. package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -1
  803. package/lib/module/domain/openChannelSettings/module/moduleContext.js +0 -4
  804. package/lib/module/domain/openChannelSettings/module/moduleContext.js.map +1 -1
  805. package/lib/module/domain/openChannelUserList/types.js.map +1 -1
  806. package/lib/module/domain/userList/component/UserListHeader.js +0 -2
  807. package/lib/module/domain/userList/component/UserListHeader.js.map +1 -1
  808. package/lib/module/domain/userList/component/UserListList.js +0 -2
  809. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  810. package/lib/module/domain/userList/component/UserListStatusEmpty.js +0 -2
  811. package/lib/module/domain/userList/component/UserListStatusEmpty.js.map +1 -1
  812. package/lib/module/domain/userList/component/UserListStatusError.js +0 -2
  813. package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -1
  814. package/lib/module/domain/userList/component/UserListStatusLoading.js +0 -2
  815. package/lib/module/domain/userList/component/UserListStatusLoading.js.map +1 -1
  816. package/lib/module/domain/userList/index.js.map +1 -1
  817. package/lib/module/domain/userList/module/createUserListModule.js +0 -2
  818. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  819. package/lib/module/domain/userList/module/moduleContext.js.map +1 -1
  820. package/lib/module/fragments/createGroupChannelBannedUsersFragment.js +7 -10
  821. package/lib/module/fragments/createGroupChannelBannedUsersFragment.js.map +1 -1
  822. package/lib/module/fragments/createGroupChannelCreateFragment.js +0 -5
  823. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  824. package/lib/module/fragments/createGroupChannelFragment.js +110 -27
  825. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  826. package/lib/module/fragments/createGroupChannelInviteFragment.js +0 -6
  827. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  828. package/lib/module/fragments/createGroupChannelListFragment.js +0 -5
  829. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  830. package/lib/module/fragments/createGroupChannelMembersFragment.js +7 -18
  831. package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
  832. package/lib/module/fragments/createGroupChannelModerationFragment.js +0 -2
  833. package/lib/module/fragments/createGroupChannelModerationFragment.js.map +1 -1
  834. package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +5 -12
  835. package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
  836. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +1 -4
  837. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -1
  838. package/lib/module/fragments/createGroupChannelOperatorsFragment.js +5 -11
  839. package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
  840. package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js +5 -8
  841. package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
  842. package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -2
  843. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  844. package/lib/module/fragments/createMessageSearchFragment.js +135 -0
  845. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -0
  846. package/lib/module/fragments/createOpenChannelBannedUsersFragment.js +7 -10
  847. package/lib/module/fragments/createOpenChannelBannedUsersFragment.js.map +1 -1
  848. package/lib/module/fragments/createOpenChannelCreateFragment.js +0 -5
  849. package/lib/module/fragments/createOpenChannelCreateFragment.js.map +1 -1
  850. package/lib/module/fragments/createOpenChannelFragment.js +41 -17
  851. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  852. package/lib/module/fragments/createOpenChannelListFragment.js +0 -4
  853. package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
  854. package/lib/module/fragments/createOpenChannelModerationFragment.js +0 -2
  855. package/lib/module/fragments/createOpenChannelModerationFragment.js.map +1 -1
  856. package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js +5 -10
  857. package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -1
  858. package/lib/module/fragments/createOpenChannelOperatorsFragment.js +5 -10
  859. package/lib/module/fragments/createOpenChannelOperatorsFragment.js.map +1 -1
  860. package/lib/module/fragments/createOpenChannelParticipantsFragment.js +11 -18
  861. package/lib/module/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
  862. package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js +5 -10
  863. package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
  864. package/lib/module/fragments/createOpenChannelSettingsFragment.js +0 -2
  865. package/lib/module/fragments/createOpenChannelSettingsFragment.js.map +1 -1
  866. package/lib/module/hooks/useConnection.js +15 -12
  867. package/lib/module/hooks/useConnection.js.map +1 -1
  868. package/lib/module/hooks/useContext.js.map +1 -1
  869. package/lib/module/hooks/useKeyboardStatus.js +3 -8
  870. package/lib/module/hooks/useKeyboardStatus.js.map +1 -1
  871. package/lib/module/hooks/useMentionSuggestion.js +18 -11
  872. package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
  873. package/lib/module/hooks/useMentionTextInput.js +21 -23
  874. package/lib/module/hooks/useMentionTextInput.js.map +1 -1
  875. package/lib/module/hooks/usePushTokenRegistration.js +4 -12
  876. package/lib/module/hooks/usePushTokenRegistration.js.map +1 -1
  877. package/lib/module/index.js +12 -10
  878. package/lib/module/index.js.map +1 -1
  879. package/lib/module/libs/EmojiManager.js +14 -31
  880. package/lib/module/libs/EmojiManager.js.map +1 -1
  881. package/lib/module/libs/ImageCompressionConfig.js +3 -9
  882. package/lib/module/libs/ImageCompressionConfig.js.map +1 -1
  883. package/lib/module/libs/InternalLocalCacheStorage.js +3 -12
  884. package/lib/module/libs/InternalLocalCacheStorage.js.map +1 -1
  885. package/lib/module/libs/MentionConfig.js +3 -10
  886. package/lib/module/libs/MentionConfig.js.map +1 -1
  887. package/lib/module/libs/MentionManager.js +23 -32
  888. package/lib/module/libs/MentionManager.js.map +1 -1
  889. package/lib/module/libs/SBUError.js +6 -12
  890. package/lib/module/libs/SBUError.js.map +1 -1
  891. package/lib/module/libs/SBUUtils.js +0 -4
  892. package/lib/module/libs/SBUUtils.js.map +1 -1
  893. package/lib/module/localization/StringSet.en.js.map +1 -1
  894. package/lib/module/localization/StringSet.type.js.map +1 -1
  895. package/lib/module/localization/createBaseStringSet.js +34 -43
  896. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  897. package/lib/module/platform/createClipboardService.expo.js +0 -3
  898. package/lib/module/platform/createClipboardService.expo.js.map +1 -1
  899. package/lib/module/platform/createClipboardService.native.js +0 -3
  900. package/lib/module/platform/createClipboardService.native.js.map +1 -1
  901. package/lib/module/platform/createFileService.expo.js +0 -31
  902. package/lib/module/platform/createFileService.expo.js.map +1 -1
  903. package/lib/module/platform/createFileService.native.js +3 -50
  904. package/lib/module/platform/createFileService.native.js.map +1 -1
  905. package/lib/module/platform/createMediaService.expo.js +0 -7
  906. package/lib/module/platform/createMediaService.expo.js.map +1 -1
  907. package/lib/module/platform/createMediaService.native.js +0 -9
  908. package/lib/module/platform/createMediaService.native.js.map +1 -1
  909. package/lib/module/platform/createNotificationService.expo.js +0 -8
  910. package/lib/module/platform/createNotificationService.expo.js.map +1 -1
  911. package/lib/module/platform/createNotificationService.native.js +0 -11
  912. package/lib/module/platform/createNotificationService.native.js.map +1 -1
  913. package/lib/module/platform/dynamicModule.js +1 -9
  914. package/lib/module/platform/dynamicModule.js.map +1 -1
  915. package/lib/module/platform/types.js.map +1 -1
  916. package/lib/module/utils/expoPermissionGranted.js +0 -4
  917. package/lib/module/utils/expoPermissionGranted.js.map +1 -1
  918. package/lib/module/utils/nativePermissionGranted.js +0 -3
  919. package/lib/module/utils/nativePermissionGranted.js.map +1 -1
  920. package/lib/module/utils/normalizeFile.js +0 -5
  921. package/lib/module/utils/normalizeFile.js.map +1 -1
  922. package/lib/module/utils/pubsub.js +14 -0
  923. package/lib/module/utils/pubsub.js.map +1 -0
  924. package/lib/module/version.js +1 -1
  925. package/lib/module/version.js.map +1 -1
  926. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +55 -0
  927. package/lib/typescript/src/components/ChatFlatList.d.ts +7 -8
  928. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -0
  929. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -0
  930. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -0
  931. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  932. package/lib/typescript/src/constants.d.ts +3 -1
  933. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +2 -1
  934. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +3 -1
  935. package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
  936. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +3 -32
  937. package/lib/typescript/src/domain/groupChannel/types.d.ts +23 -35
  938. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +2 -0
  939. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +2 -0
  940. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +2 -0
  941. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  942. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
  943. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +10 -8
  944. package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +3 -0
  945. package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +3 -0
  946. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusEmpty.d.ts +2 -0
  947. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusError.d.ts +3 -0
  948. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusLoading.d.ts +2 -0
  949. package/lib/typescript/src/domain/messageSearch/index.d.ts +7 -0
  950. package/lib/typescript/src/domain/messageSearch/module/createMessageSearchModule.d.ts +3 -0
  951. package/lib/typescript/src/domain/messageSearch/module/moduleContext.d.ts +3 -0
  952. package/lib/typescript/src/domain/messageSearch/types.d.ts +53 -0
  953. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  954. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -37
  955. package/lib/typescript/src/domain/openChannel/types.d.ts +17 -36
  956. package/lib/typescript/src/domain/openChannelBannedUsers/types.d.ts +2 -0
  957. package/lib/typescript/src/domain/openChannelMutedParticipants/types.d.ts +2 -0
  958. package/lib/typescript/src/domain/openChannelOperators/types.d.ts +2 -0
  959. package/lib/typescript/src/domain/openChannelUserList/types.d.ts +11 -9
  960. package/lib/typescript/src/fragments/createGroupChannelMembersFragment.d.ts +1 -1
  961. package/lib/typescript/src/fragments/createGroupChannelRegisterOperatorFragment.d.ts +1 -1
  962. package/lib/typescript/src/fragments/createMessageSearchFragment.d.ts +3 -0
  963. package/lib/typescript/src/fragments/createOpenChannelParticipantsFragment.d.ts +1 -1
  964. package/lib/typescript/src/fragments/createOpenChannelRegisterOperatorFragment.d.ts +1 -1
  965. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +3 -2
  966. package/lib/typescript/src/index.d.ts +2 -0
  967. package/lib/typescript/src/libs/EmojiManager.d.ts +1 -0
  968. package/lib/typescript/src/localization/StringSet.type.d.ts +17 -3
  969. package/lib/typescript/src/platform/types.d.ts +5 -1
  970. package/lib/typescript/src/utils/pubsub.d.ts +6 -0
  971. package/lib/typescript/src/version.d.ts +1 -1
  972. package/package.json +27 -12
  973. package/src/components/ChannelMessageList/index.tsx +392 -0
  974. package/src/components/ChatFlatList.tsx +33 -51
  975. package/src/components/MessageSearchResultItem.tsx +125 -0
  976. package/src/components/ScrollToBottomButton.tsx +3 -4
  977. package/src/constants.ts +3 -1
  978. package/src/containers/GroupChannelPreviewContainer.tsx +2 -2
  979. package/src/containers/SendbirdUIKitContainer.tsx +2 -0
  980. package/src/contexts/SendbirdChatCtx.tsx +7 -1
  981. package/src/domain/groupChannel/component/GroupChannelHeader.tsx +9 -3
  982. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +73 -317
  983. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +2 -1
  984. package/src/domain/groupChannel/module/moduleContext.tsx +10 -2
  985. package/src/domain/groupChannel/types.ts +49 -38
  986. package/src/domain/groupChannelBannedUsers/types.ts +2 -0
  987. package/src/domain/groupChannelMutedMembers/types.ts +2 -0
  988. package/src/domain/groupChannelOperators/types.ts +2 -0
  989. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +29 -13
  990. package/src/domain/groupChannelSettings/types.ts +2 -0
  991. package/src/domain/groupChannelUserList/types.ts +10 -12
  992. package/src/domain/messageSearch/component/MessageSearchHeader.tsx +98 -0
  993. package/src/domain/messageSearch/component/MessageSearchList.tsx +26 -0
  994. package/src/domain/messageSearch/component/MessageSearchStatusEmpty.tsx +15 -0
  995. package/src/domain/messageSearch/component/MessageSearchStatusError.tsx +16 -0
  996. package/src/domain/messageSearch/component/MessageSearchStatusLoading.tsx +15 -0
  997. package/src/domain/messageSearch/index.ts +7 -0
  998. package/src/domain/messageSearch/module/createMessageSearchModule.tsx +21 -0
  999. package/src/domain/messageSearch/module/moduleContext.tsx +16 -0
  1000. package/src/domain/messageSearch/types.ts +55 -0
  1001. package/src/domain/openChannel/component/OpenChannelMessageList.tsx +35 -304
  1002. package/src/domain/openChannel/module/moduleContext.tsx +8 -2
  1003. package/src/domain/openChannel/types.ts +40 -38
  1004. package/src/domain/openChannelBannedUsers/types.ts +2 -0
  1005. package/src/domain/openChannelMutedParticipants/types.ts +2 -0
  1006. package/src/domain/openChannelOperators/types.ts +2 -0
  1007. package/src/domain/openChannelUserList/types.ts +13 -13
  1008. package/src/fragments/createGroupChannelBannedUsersFragment.tsx +8 -5
  1009. package/src/fragments/createGroupChannelFragment.tsx +114 -17
  1010. package/src/fragments/createGroupChannelMembersFragment.tsx +11 -3
  1011. package/src/fragments/createGroupChannelMutedMembersFragment.tsx +7 -4
  1012. package/src/fragments/createGroupChannelNotificationsFragment.tsx +1 -2
  1013. package/src/fragments/createGroupChannelOperatorsFragment.tsx +8 -4
  1014. package/src/fragments/createGroupChannelRegisterOperatorFragment.tsx +10 -6
  1015. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  1016. package/src/fragments/createMessageSearchFragment.tsx +159 -0
  1017. package/src/fragments/createOpenChannelBannedUsersFragment.tsx +8 -5
  1018. package/src/fragments/createOpenChannelFragment.tsx +48 -12
  1019. package/src/fragments/createOpenChannelMutedParticipantsFragment.tsx +7 -4
  1020. package/src/fragments/createOpenChannelOperatorsFragment.tsx +8 -4
  1021. package/src/fragments/createOpenChannelParticipantsFragment.tsx +10 -3
  1022. package/src/fragments/createOpenChannelRegisterOperatorFragment.tsx +12 -12
  1023. package/src/hooks/useConnection.ts +21 -4
  1024. package/src/hooks/useMentionSuggestion.ts +23 -3
  1025. package/src/index.ts +3 -0
  1026. package/src/libs/EmojiManager.ts +11 -7
  1027. package/src/localization/StringSet.type.ts +20 -2
  1028. package/src/localization/createBaseStringSet.ts +22 -2
  1029. package/src/platform/types.ts +6 -1
  1030. package/src/utils/pubsub.ts +20 -0
  1031. package/src/version.ts +0 -2
@@ -4,50 +4,35 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
-
14
10
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
15
-
16
11
  var _uikitUtils = require("@sendbird/uikit-utils");
17
-
18
12
  var _useContext = require("../../hooks/useContext");
19
-
20
13
  var _useMentionTextInput = _interopRequireDefault(require("../../hooks/useMentionTextInput"));
21
-
22
14
  var _EditInput = _interopRequireDefault(require("./EditInput"));
23
-
24
15
  var _SendInput = _interopRequireDefault(require("./SendInput"));
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  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); }
29
-
30
18
  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; }
31
-
32
19
  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); }
33
-
34
20
  const AUTO_FOCUS = _reactNative.Platform.select({
35
21
  ios: false,
36
22
  android: true,
37
23
  default: false
38
24
  });
39
-
40
25
  const KEYBOARD_AVOID_VIEW_BEHAVIOR = _reactNative.Platform.select({
41
26
  ios: 'padding',
42
27
  default: undefined
43
- }); // FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)
28
+ });
29
+
30
+ // FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)
44
31
  // To workaround temporarily, change the key for re-mount the component.
45
32
  // -> This will affect to keyboard blur when add/remove first mentioned user.
33
+ const GET_INPUT_KEY = shouldReset => shouldReset ? 'uikit-input-clear' : 'uikit-input';
46
34
 
47
-
48
- const GET_INPUT_KEY = shouldReset => shouldReset ? 'uikit-input-clear' : 'uikit-input'; // TODO: Refactor 'Edit' mode to clearly
49
-
50
-
35
+ // TODO: Refactor 'Edit' mode to clearly
51
36
  const ChannelInput = props => {
52
37
  const {
53
38
  channel,
@@ -89,7 +74,6 @@ const ChannelInput = props => {
89
74
  useTypingTrigger(text, channel);
90
75
  useTextPersistenceOnDisabled(text, onChangeText, props.inputDisabled);
91
76
  useAutoFocusOnEditMode(textInputRef, messageToEdit);
92
-
93
77
  const onPressToMention = (user, searchStringRange) => {
94
78
  const mentionedMessageText = mentionManager.asMentionedMessageText(user, true);
95
79
  const range = {
@@ -101,13 +85,11 @@ const ChannelInput = props => {
101
85
  range
102
86
  });
103
87
  };
104
-
105
88
  if (!props.shouldRenderInput) {
106
89
  return /*#__PURE__*/_react.default.createElement(SafeAreaBottom, {
107
90
  height: bottom
108
91
  });
109
92
  }
110
-
111
93
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
112
94
  keyboardVerticalOffset: -bottom + keyboardAvoidOffset,
113
95
  behavior: KEYBOARD_AVOID_VIEW_BEHAVIOR
@@ -149,7 +131,6 @@ const ChannelInput = props => {
149
131
  mentionedUsers: mentionedUsers
150
132
  }));
151
133
  };
152
-
153
134
  const useTypingTrigger = (text, channel) => {
154
135
  if (channel.isGroupChannel()) {
155
136
  (0, _react.useEffect)(() => {
@@ -157,7 +138,6 @@ const useTypingTrigger = (text, channel) => {
157
138
  }, [text]);
158
139
  }
159
140
  };
160
-
161
141
  const useTextPersistenceOnDisabled = (text, setText, chatDisabled) => {
162
142
  const textTmpRef = (0, _react.useRef)('');
163
143
  (0, _react.useEffect)(() => {
@@ -169,19 +149,16 @@ const useTextPersistenceOnDisabled = (text, setText, chatDisabled) => {
169
149
  }
170
150
  }, [chatDisabled]);
171
151
  };
172
-
173
152
  const useAutoFocusOnEditMode = (textInputRef, messageToEdit) => {
174
153
  (0, _react.useEffect)(() => {
175
154
  if (messageToEdit !== null && messageToEdit !== void 0 && messageToEdit.isUserMessage()) {
176
155
  if (!AUTO_FOCUS) setTimeout(() => {
177
156
  var _textInputRef$current;
178
-
179
157
  return (_textInputRef$current = textInputRef.current) === null || _textInputRef$current === void 0 ? void 0 : _textInputRef$current.focus();
180
158
  }, 500);
181
159
  }
182
160
  }, [messageToEdit]);
183
161
  };
184
-
185
162
  const SafeAreaBottom = _ref => {
186
163
  let {
187
164
  height
@@ -192,7 +169,6 @@ const SafeAreaBottom = _ref => {
192
169
  }
193
170
  });
194
171
  };
195
-
196
172
  const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
197
173
  inputContainer: {
198
174
  justifyContent: 'center',
@@ -202,8 +178,6 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
202
178
  height: 56
203
179
  }
204
180
  });
205
-
206
181
  var _default = /*#__PURE__*/_react.default.memo(ChannelInput);
207
-
208
182
  exports.default = _default;
209
183
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AUTO_FOCUS","Platform","select","ios","android","default","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","GET_INPUT_KEY","shouldReset","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","top","left","right","bottom","useSafeAreaInsets","colors","useUIKitTheme","features","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","userMentionEnabled","isGroupChannel","isBroadcast","inputKeyToRemount","length","inputHeight","setInputHeight","useState","styles","inputDefault","height","useTypingTrigger","useTextPersistenceOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","paddingLeft","paddingRight","backgroundColor","background","e","nativeEvent","layout","inputContainer","SuggestedMentionList","useEffect","endTyping","startTyping","setText","chatDisabled","textTmpRef","useRef","current","isUserMessage","setTimeout","focus","SafeAreaBottom","createStyleSheet","justifyContent","width","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, TextInput, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser, Range } from '../../types';\nimport EditInput from './EditInput';\nimport SendInput from './SendInput';\n\ntype UserMessageMentionParams = Required<{\n messageTemplate: SendbirdUserMessageCreateParams['mentionedMessageTemplate'];\n userIds: SendbirdUserMessageCreateParams['mentionedUserIds'];\n type: SendbirdUserMessageCreateParams['mentionType'];\n}>;\n\nexport type SuggestedMentionListProps = {\n text: string;\n selection: Range;\n topInset: number;\n bottomInset: number;\n inputHeight: number;\n onPressToMention: (user: SendbirdMember, searchStringRange: Range) => void;\n mentionedUsers: MentionedUser[];\n};\n\nexport type ChannelInputProps = {\n // default\n channel: SendbirdBaseChannel;\n shouldRenderInput: boolean;\n keyboardAvoidOffset: number;\n\n // default actions\n onPressSendUserMessage: (params: SendbirdUserMessageCreateParams) => Promise<void>;\n onPressSendFileMessage: (params: SendbirdFileMessageCreateParams) => Promise<void>;\n onPressUpdateUserMessage: (message: SendbirdUserMessage, params: SendbirdUserMessageUpdateParams) => Promise<void>;\n onPressUpdateFileMessage: (message: SendbirdFileMessage, params: SendbirdFileMessageUpdateParams) => Promise<void>;\n\n // input status\n inputFrozen: boolean;\n inputMuted: boolean;\n inputDisabled: boolean;\n\n // edit\n messageToEdit: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n\n // mention\n SuggestedMentionList?: (props: SuggestedMentionListProps) => JSX.Element | null;\n\n /** @deprecated Please use `onPressSendUserMessage` **/\n onSendFileMessage?: (file: FileType) => Promise<void>;\n /** @deprecated Please use `onPressSendFileMessage` **/\n onSendUserMessage?: (text: string, mention?: UserMessageMentionParams) => Promise<void>;\n /** @deprecated Please use `onPressUpdateUserMessage` **/\n onUpdateFileMessage?: (editedFile: FileType, message: SendbirdFileMessage) => Promise<void>;\n /** @deprecated Please use `onPressUpdateFileMessage` **/\n onUpdateUserMessage?: (\n editedText: string,\n message: SendbirdUserMessage,\n mention?: UserMessageMentionParams,\n ) => Promise<void>;\n};\n\nconst AUTO_FOCUS = Platform.select({ ios: false, android: true, default: false });\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\n\n// FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)\n// To workaround temporarily, change the key for re-mount the component.\n// -> This will affect to keyboard blur when add/remove first mentioned user.\nconst GET_INPUT_KEY = (shouldReset: boolean) => (shouldReset ? 'uikit-input-clear' : 'uikit-input');\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const { top, left, right, bottom } = useSafeAreaInsets();\n const { colors } = useUIKitTheme();\n const { features, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (!messageToEdit) return 'send';\n if (messageToEdit.isFileMessage()) return 'send';\n return 'edit';\n });\n\n const mentionAvailable = features.userMentionEnabled && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n useTypingTrigger(text, channel);\n useTextPersistenceOnDisabled(text, onChangeText, props.inputDisabled);\n useAutoFocusOnEditMode(textInputRef, messageToEdit);\n\n const onPressToMention = (user: SendbirdMember, searchStringRange: Range) => {\n const mentionedMessageText = mentionManager.asMentionedMessageText(user, true);\n const range = { start: searchStringRange.start, end: searchStringRange.start + mentionedMessageText.length - 1 };\n\n onChangeText(replace(text, searchStringRange.start, searchStringRange.end, mentionedMessageText), { user, range });\n };\n\n if (!props.shouldRenderInput) {\n return <SafeAreaBottom height={bottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-bottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View style={{ paddingLeft: left, paddingRight: right, backgroundColor: colors.background }}>\n <View onLayout={(e) => setInputHeight(e.nativeEvent.layout.height)} style={styles.inputContainer}>\n {inputMode === 'send' && (\n <SendInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n />\n )}\n {inputMode === 'edit' && messageToEdit && (\n <EditInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n autoFocus={AUTO_FOCUS}\n onSelectionChange={onSelectionChange}\n messageToEdit={messageToEdit}\n mentionedUsers={mentionedUsers}\n setMessageToEdit={setMessageToEdit}\n />\n )}\n </View>\n <SafeAreaBottom height={bottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={top}\n bottomInset={bottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel()) {\n useEffect(() => {\n if (text.length === 0) channel.endTyping();\n else channel.startTyping();\n }, [text]);\n }\n};\n\nconst useTextPersistenceOnDisabled = (text: string, setText: (val: string) => void, chatDisabled: boolean) => {\n const textTmpRef = useRef('');\n\n useEffect(() => {\n if (chatDisabled) {\n textTmpRef.current = text;\n setText('');\n } else {\n setText(textTmpRef.current);\n }\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: MutableRefObject<TextInput | undefined>,\n messageToEdit?: SendbirdBaseMessage,\n) => {\n useEffect(() => {\n if (messageToEdit?.isUserMessage()) {\n if (!AUTO_FOCUS) setTimeout(() => textInputRef.current?.focus(), 500);\n }\n }, [messageToEdit]);\n};\n\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nconst styles = createStyleSheet({\n inputContainer: {\n justifyContent: 'center',\n width: '100%',\n },\n inputDefault: {\n height: 56,\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useMentionTextInput","_interopRequireDefault","_EditInput","_SendInput","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","AUTO_FOCUS","Platform","select","ios","android","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","GET_INPUT_KEY","shouldReset","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","top","left","right","bottom","useSafeAreaInsets","colors","useUIKitTheme","features","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","userMentionEnabled","isGroupChannel","isBroadcast","inputKeyToRemount","inputHeight","setInputHeight","useState","styles","inputDefault","height","useTypingTrigger","useTextPersistenceOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","createElement","SafeAreaBottom","Fragment","KeyboardAvoidingView","keyboardVerticalOffset","behavior","View","style","paddingLeft","paddingRight","backgroundColor","background","onLayout","e","nativeEvent","layout","inputContainer","ref","autoFocus","SuggestedMentionList","topInset","bottomInset","useEffect","endTyping","startTyping","setText","chatDisabled","textTmpRef","useRef","current","isUserMessage","setTimeout","_textInputRef$current","focus","_ref","createStyleSheet","justifyContent","width","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, TextInput, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser, Range } from '../../types';\nimport EditInput from './EditInput';\nimport SendInput from './SendInput';\n\ntype UserMessageMentionParams = Required<{\n messageTemplate: SendbirdUserMessageCreateParams['mentionedMessageTemplate'];\n userIds: SendbirdUserMessageCreateParams['mentionedUserIds'];\n type: SendbirdUserMessageCreateParams['mentionType'];\n}>;\n\nexport type SuggestedMentionListProps = {\n text: string;\n selection: Range;\n topInset: number;\n bottomInset: number;\n inputHeight: number;\n onPressToMention: (user: SendbirdMember, searchStringRange: Range) => void;\n mentionedUsers: MentionedUser[];\n};\n\nexport type ChannelInputProps = {\n // default\n channel: SendbirdBaseChannel;\n shouldRenderInput: boolean;\n keyboardAvoidOffset: number;\n\n // default actions\n onPressSendUserMessage: (params: SendbirdUserMessageCreateParams) => Promise<void>;\n onPressSendFileMessage: (params: SendbirdFileMessageCreateParams) => Promise<void>;\n onPressUpdateUserMessage: (message: SendbirdUserMessage, params: SendbirdUserMessageUpdateParams) => Promise<void>;\n onPressUpdateFileMessage: (message: SendbirdFileMessage, params: SendbirdFileMessageUpdateParams) => Promise<void>;\n\n // input status\n inputFrozen: boolean;\n inputMuted: boolean;\n inputDisabled: boolean;\n\n // edit\n messageToEdit: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n\n // mention\n SuggestedMentionList?: (props: SuggestedMentionListProps) => JSX.Element | null;\n\n /** @deprecated Please use `onPressSendUserMessage` **/\n onSendFileMessage?: (file: FileType) => Promise<void>;\n /** @deprecated Please use `onPressSendFileMessage` **/\n onSendUserMessage?: (text: string, mention?: UserMessageMentionParams) => Promise<void>;\n /** @deprecated Please use `onPressUpdateUserMessage` **/\n onUpdateFileMessage?: (editedFile: FileType, message: SendbirdFileMessage) => Promise<void>;\n /** @deprecated Please use `onPressUpdateFileMessage` **/\n onUpdateUserMessage?: (\n editedText: string,\n message: SendbirdUserMessage,\n mention?: UserMessageMentionParams,\n ) => Promise<void>;\n};\n\nconst AUTO_FOCUS = Platform.select({ ios: false, android: true, default: false });\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\n\n// FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)\n// To workaround temporarily, change the key for re-mount the component.\n// -> This will affect to keyboard blur when add/remove first mentioned user.\nconst GET_INPUT_KEY = (shouldReset: boolean) => (shouldReset ? 'uikit-input-clear' : 'uikit-input');\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const { top, left, right, bottom } = useSafeAreaInsets();\n const { colors } = useUIKitTheme();\n const { features, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (!messageToEdit) return 'send';\n if (messageToEdit.isFileMessage()) return 'send';\n return 'edit';\n });\n\n const mentionAvailable = features.userMentionEnabled && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n useTypingTrigger(text, channel);\n useTextPersistenceOnDisabled(text, onChangeText, props.inputDisabled);\n useAutoFocusOnEditMode(textInputRef, messageToEdit);\n\n const onPressToMention = (user: SendbirdMember, searchStringRange: Range) => {\n const mentionedMessageText = mentionManager.asMentionedMessageText(user, true);\n const range = { start: searchStringRange.start, end: searchStringRange.start + mentionedMessageText.length - 1 };\n\n onChangeText(replace(text, searchStringRange.start, searchStringRange.end, mentionedMessageText), { user, range });\n };\n\n if (!props.shouldRenderInput) {\n return <SafeAreaBottom height={bottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-bottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View style={{ paddingLeft: left, paddingRight: right, backgroundColor: colors.background }}>\n <View onLayout={(e) => setInputHeight(e.nativeEvent.layout.height)} style={styles.inputContainer}>\n {inputMode === 'send' && (\n <SendInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n />\n )}\n {inputMode === 'edit' && messageToEdit && (\n <EditInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n autoFocus={AUTO_FOCUS}\n onSelectionChange={onSelectionChange}\n messageToEdit={messageToEdit}\n mentionedUsers={mentionedUsers}\n setMessageToEdit={setMessageToEdit}\n />\n )}\n </View>\n <SafeAreaBottom height={bottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={top}\n bottomInset={bottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel()) {\n useEffect(() => {\n if (text.length === 0) channel.endTyping();\n else channel.startTyping();\n }, [text]);\n }\n};\n\nconst useTextPersistenceOnDisabled = (text: string, setText: (val: string) => void, chatDisabled: boolean) => {\n const textTmpRef = useRef('');\n\n useEffect(() => {\n if (chatDisabled) {\n textTmpRef.current = text;\n setText('');\n } else {\n setText(textTmpRef.current);\n }\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: MutableRefObject<TextInput | undefined>,\n messageToEdit?: SendbirdBaseMessage,\n) => {\n useEffect(() => {\n if (messageToEdit?.isUserMessage()) {\n if (!AUTO_FOCUS) setTimeout(() => textInputRef.current?.focus(), 500);\n }\n }, [messageToEdit]);\n};\n\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nconst styles = createStyleSheet({\n inputContainer: {\n justifyContent: 'center',\n width: '100%',\n },\n inputDefault: {\n height: 56,\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAcA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAC,sBAAA,CAAAP,OAAA;AAGA,IAAAQ,UAAA,GAAAD,sBAAA,CAAAP,OAAA;AACA,IAAAS,UAAA,GAAAF,sBAAA,CAAAP,OAAA;AAAoC,SAAAO,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAW,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAwDpC,MAAMI,UAAU,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,KAAK;EAAEC,OAAO,EAAE,IAAI;EAAEjC,OAAO,EAAE;AAAM,CAAC,CAAC;AACjF,MAAMkC,4BAA4B,GAAGJ,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,SAAkB;EAAEhC,OAAO,EAAEmC;AAAU,CAAC,CAAC;;AAErG;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,WAAoB,IAAMA,WAAW,GAAG,mBAAmB,GAAG,aAAc;;AAEnG;AACA,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACjD,MAAM;IAAEC,OAAO;IAAEC,mBAAmB;IAAEC,aAAa;IAAEC;EAAiB,CAAC,GAAGJ,KAAK;EAE/E,MAAM;IAAEK,GAAG;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,6CAAiB,GAAE;EACxD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAM;IAAEC,QAAQ;IAAEC;EAAe,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAEtD,MAAM;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC,YAAY;IAAEC,IAAI;IAAEC,YAAY;IAAEC;EAAe,CAAC,GAAG,IAAAC,4BAAmB,EAAC;IAC7GlB;EACF,CAAC,CAAC;EACF,MAAMmB,SAAS,GAAG,IAAAC,mBAAO,EAAC,MAAM;IAC9B,IAAI,CAACpB,aAAa,EAAE,OAAO,MAAM;IACjC,IAAIA,aAAa,CAACqB,aAAa,EAAE,EAAE,OAAO,MAAM;IAChD,OAAO,MAAM;EACf,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GAAGb,QAAQ,CAACc,kBAAkB,IAAIzB,OAAO,CAAC0B,cAAc,EAAE,IAAI,CAAC1B,OAAO,CAAC2B,WAAW;EACxG,MAAMC,iBAAiB,GAAGhC,aAAa,CAAC4B,gBAAgB,GAAGL,cAAc,CAACjC,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;EAE/F,MAAM,CAAC2C,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAACC,MAAM,CAACC,YAAY,CAACC,MAAM,CAAC;EAE1EC,gBAAgB,CAAClB,IAAI,EAAEjB,OAAO,CAAC;EAC/BoC,4BAA4B,CAACnB,IAAI,EAAEC,YAAY,EAAEnB,KAAK,CAACsC,aAAa,CAAC;EACrEC,sBAAsB,CAACtB,YAAY,EAAEd,aAAa,CAAC;EAEnD,MAAMqC,gBAAgB,GAAGA,CAACC,IAAoB,EAAEC,iBAAwB,KAAK;IAC3E,MAAMC,oBAAoB,GAAG9B,cAAc,CAAC+B,sBAAsB,CAACH,IAAI,EAAE,IAAI,CAAC;IAC9E,MAAMI,KAAK,GAAG;MAAEC,KAAK,EAAEJ,iBAAiB,CAACI,KAAK;MAAEC,GAAG,EAAEL,iBAAiB,CAACI,KAAK,GAAGH,oBAAoB,CAACxD,MAAM,GAAG;IAAE,CAAC;IAEhHgC,YAAY,CAAC,IAAA6B,mBAAO,EAAC9B,IAAI,EAAEwB,iBAAiB,CAACI,KAAK,EAAEJ,iBAAiB,CAACK,GAAG,EAAEJ,oBAAoB,CAAC,EAAE;MAAEF,IAAI;MAAEI;IAAM,CAAC,CAAC;EACpH,CAAC;EAED,IAAI,CAAC7C,KAAK,CAACiD,iBAAiB,EAAE;IAC5B,oBAAOtG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACC,cAAc;MAAChB,MAAM,EAAE3B;IAAO,EAAG;EAC3C;EAEA,oBACE7D,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAAvG,MAAA,CAAAc,OAAA,CAAA2F,QAAA,qBACEzG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACpG,YAAA,CAAAuG,oBAAoB;IACnBC,sBAAsB,EAAE,CAAC9C,MAAM,GAAGN,mBAAoB;IACtDqD,QAAQ,EAAE5D;EAA6B,gBAEvChD,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACpG,YAAA,CAAA0G,IAAI;IAACC,KAAK,EAAE;MAAEC,WAAW,EAAEpD,IAAI;MAAEqD,YAAY,EAAEpD,KAAK;MAAEqD,eAAe,EAAElD,MAAM,CAACmD;IAAW;EAAE,gBAC1FlH,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACpG,YAAA,CAAA0G,IAAI;IAACM,QAAQ,EAAGC,CAAC,IAAKhC,cAAc,CAACgC,CAAC,CAACC,WAAW,CAACC,MAAM,CAAC9B,MAAM,CAAE;IAACsB,KAAK,EAAExB,MAAM,CAACiC;EAAe,GAC9F5C,SAAS,KAAK,MAAM,iBACnB3E,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC5F,UAAA,CAAAG,OAAS,EAAAoB,QAAA,KACJmB,KAAK;IACTzB,GAAG,EAAEsD,iBAAkB;IACvBsC,GAAG,EAAElD,YAAsB;IAC3BC,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BH,iBAAiB,EAAEA,iBAAkB;IACrCI,cAAc,EAAEA;EAAe,GAElC,EACAE,SAAS,KAAK,MAAM,IAAInB,aAAa,iBACpCxD,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC7F,UAAA,CAAAI,OAAS,EAAAoB,QAAA,KACJmB,KAAK;IACTzB,GAAG,EAAEsD,iBAAkB;IACvBsC,GAAG,EAAElD,YAAsB;IAC3BC,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BiD,SAAS,EAAE9E,UAAW;IACtB0B,iBAAiB,EAAEA,iBAAkB;IACrCb,aAAa,EAAEA,aAAc;IAC7BiB,cAAc,EAAEA,cAAe;IAC/BhB,gBAAgB,EAAEA;EAAiB,GAEtC,CACI,eACPzD,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACC,cAAc;IAAChB,MAAM,EAAE3B;EAAO,EAAG,CAC7B,CACc,EACtBiB,gBAAgB,IAAIzB,KAAK,CAACqE,oBAAoB,iBAC7C1H,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAClD,KAAK,CAACqE,oBAAoB;IACzBnD,IAAI,EAAEA,IAAK;IACXH,SAAS,EAAEA,SAAU;IACrBe,WAAW,EAAEA,WAAY;IACzBwC,QAAQ,EAAEjE,GAAI;IACdkE,WAAW,EAAE/D,MAAO;IACpBgC,gBAAgB,EAAEA,gBAAiB;IACnCpB,cAAc,EAAEA;EAAe,EAElC,CACA;AAEP,CAAC;AAED,MAAMgB,gBAAgB,GAAGA,CAAClB,IAAY,EAAEjB,OAA4B,KAAK;EACvE,IAAIA,OAAO,CAAC0B,cAAc,EAAE,EAAE;IAC5B,IAAA6C,gBAAS,EAAC,MAAM;MACd,IAAItD,IAAI,CAAC/B,MAAM,KAAK,CAAC,EAAEc,OAAO,CAACwE,SAAS,EAAE,CAAC,KACtCxE,OAAO,CAACyE,WAAW,EAAE;IAC5B,CAAC,EAAE,CAACxD,IAAI,CAAC,CAAC;EACZ;AACF,CAAC;AAED,MAAMmB,4BAA4B,GAAGA,CAACnB,IAAY,EAAEyD,OAA8B,EAAEC,YAAqB,KAAK;EAC5G,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAC,EAAE,CAAC;EAE7B,IAAAN,gBAAS,EAAC,MAAM;IACd,IAAII,YAAY,EAAE;MAChBC,UAAU,CAACE,OAAO,GAAG7D,IAAI;MACzByD,OAAO,CAAC,EAAE,CAAC;IACb,CAAC,MAAM;MACLA,OAAO,CAACE,UAAU,CAACE,OAAO,CAAC;IAC7B;EACF,CAAC,EAAE,CAACH,YAAY,CAAC,CAAC;AACpB,CAAC;AAED,MAAMrC,sBAAsB,GAAGA,CAC7BtB,YAAqD,EACrDd,aAAmC,KAChC;EACH,IAAAqE,gBAAS,EAAC,MAAM;IACd,IAAIrE,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE6E,aAAa,EAAE,EAAE;MAClC,IAAI,CAAC1F,UAAU,EAAE2F,UAAU,CAAC;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAMjE,YAAY,CAAC8D,OAAO,cAAAG,qBAAA,uBAApBA,qBAAA,CAAsBC,KAAK,EAAE;MAAA,GAAE,GAAG,CAAC;IACvE;EACF,CAAC,EAAE,CAAChF,aAAa,CAAC,CAAC;AACrB,CAAC;AAED,MAAMgD,cAAc,GAAGiC,IAAA,IAAoC;EAAA,IAAnC;IAAEjD;EAA2B,CAAC,GAAAiD,IAAA;EACpD,oBAAOzI,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACpG,YAAA,CAAA0G,IAAI;IAACC,KAAK,EAAE;MAAEtB;IAAO;EAAE,EAAG;AACpC,CAAC;AAED,MAAMF,MAAM,GAAG,IAAAoD,4CAAgB,EAAC;EAC9BnB,cAAc,EAAE;IACdoB,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT,CAAC;EACDrD,YAAY,EAAE;IACZC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAAC,IAAAqD,QAAA,gBAEYC,cAAK,CAACC,IAAI,CAAC3F,YAAY,CAAC;AAAA4F,OAAA,CAAAlI,OAAA,GAAA+H,QAAA"}
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
10
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
11
+ var _uikitUtils = require("@sendbird/uikit-utils");
12
+ var _constants = require("../../constants");
13
+ var _useContext = require("../../hooks/useContext");
14
+ var _SBUUtils = _interopRequireDefault(require("../../libs/SBUUtils"));
15
+ var _ChatFlatList = _interopRequireDefault(require("../ChatFlatList"));
16
+ var _ReactionAddons = require("../ReactionAddons");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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); }
19
+ const ChannelMessageList = (_ref, ref) => {
20
+ let {
21
+ searchItem,
22
+ hasNext,
23
+ channel,
24
+ onEditMessage,
25
+ onDeleteMessage,
26
+ onResendFailedMessage,
27
+ onPressMediaMessage,
28
+ currentUserId,
29
+ renderNewMessagesButton,
30
+ renderScrollToBottomButton,
31
+ renderMessage,
32
+ messages,
33
+ newMessages,
34
+ enableMessageGrouping,
35
+ onScrolledAwayFromBottom,
36
+ scrolledAwayFromBottom,
37
+ onBottomReached,
38
+ onTopReached,
39
+ flatListProps,
40
+ onPressNewMessagesButton,
41
+ onPressScrollToBottomButton,
42
+ onPressImageMessage
43
+ } = _ref;
44
+ const {
45
+ STRINGS
46
+ } = (0, _useContext.useLocalization)();
47
+ const {
48
+ colors
49
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
50
+ const {
51
+ left,
52
+ right
53
+ } = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
54
+ const getMessagePressActions = useGetMessagePressActions({
55
+ channel,
56
+ currentUserId,
57
+ onEditMessage,
58
+ onDeleteMessage,
59
+ onResendFailedMessage,
60
+ onPressImageMessage,
61
+ onPressMediaMessage
62
+ });
63
+ const safeAreaLayout = {
64
+ paddingLeft: left,
65
+ paddingRight: right
66
+ };
67
+ const renderItem = (0, _uikitUtils.useFreshCallback)(_ref2 => {
68
+ let {
69
+ item,
70
+ index
71
+ } = _ref2;
72
+ const {
73
+ onPress,
74
+ onLongPress
75
+ } = getMessagePressActions(item);
76
+ return renderMessage({
77
+ message: item,
78
+ prevMessage: messages[index + 1],
79
+ nextMessage: messages[index - 1],
80
+ onPress,
81
+ onLongPress,
82
+ enableMessageGrouping,
83
+ channel,
84
+ currentUserId,
85
+ focused: ((searchItem === null || searchItem === void 0 ? void 0 : searchItem.startingPoint) ?? -1) === item.createdAt
86
+ });
87
+ });
88
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
89
+ style: [{
90
+ flex: 1,
91
+ backgroundColor: colors.background
92
+ }, safeAreaLayout]
93
+ }, channel.isFrozen && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.ChannelFrozenBanner, {
94
+ style: styles.frozenBanner,
95
+ text: STRINGS.LABELS.CHANNEL_MESSAGE_LIST_FROZEN
96
+ }), /*#__PURE__*/_react.default.createElement(_ChatFlatList.default, _extends({}, flatListProps, {
97
+ onTopReached: onTopReached,
98
+ onBottomReached: onBottomReached,
99
+ onScrolledAwayFromBottom: onScrolledAwayFromBottom,
100
+ ref: ref,
101
+ data: messages,
102
+ renderItem: renderItem,
103
+ keyExtractor: _uikitUtils.messageKeyExtractor,
104
+ contentContainerStyle: [
105
+ // { minHeight: '100%', justifyContent: 'flex-end' },
106
+ channel.isFrozen && styles.frozenListPadding, flatListProps === null || flatListProps === void 0 ? void 0 : flatListProps.contentContainerStyle]
107
+ })), renderNewMessagesButton && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
108
+ style: [styles.newMsgButton, safeAreaLayout]
109
+ }, renderNewMessagesButton({
110
+ visible: newMessages.length > 0 && (hasNext() || scrolledAwayFromBottom),
111
+ onPress: () => onPressNewMessagesButton(),
112
+ newMessages
113
+ })), renderScrollToBottomButton && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
114
+ style: [styles.scrollButton, safeAreaLayout]
115
+ }, renderScrollToBottomButton({
116
+ visible: hasNext() || scrolledAwayFromBottom,
117
+ onPress: () => onPressScrollToBottomButton()
118
+ })));
119
+ };
120
+ const useGetMessagePressActions = _ref3 => {
121
+ let {
122
+ channel,
123
+ currentUserId,
124
+ onResendFailedMessage,
125
+ onEditMessage,
126
+ onDeleteMessage,
127
+ onPressImageMessage,
128
+ onPressMediaMessage
129
+ } = _ref3;
130
+ const {
131
+ colors
132
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
133
+ const {
134
+ STRINGS
135
+ } = (0, _useContext.useLocalization)();
136
+ const toast = (0, _uikitReactNativeFoundation.useToast)();
137
+ const {
138
+ openSheet
139
+ } = (0, _uikitReactNativeFoundation.useBottomSheet)();
140
+ const {
141
+ alert
142
+ } = (0, _uikitReactNativeFoundation.useAlert)();
143
+ const {
144
+ clipboardService,
145
+ fileService
146
+ } = (0, _useContext.usePlatformService)();
147
+ const {
148
+ features
149
+ } = (0, _useContext.useSendbirdChat)();
150
+ const handleFailedMessage = message => {
151
+ openSheet({
152
+ sheetItems: [{
153
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_RETRY,
154
+ onPress: () => {
155
+ onResendFailedMessage(message).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));
156
+ }
157
+ }, {
158
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_REMOVE,
159
+ titleColor: colors.ui.dialog.default.none.destructive,
160
+ onPress: () => confirmDelete(message)
161
+ }]
162
+ });
163
+ };
164
+ const confirmDelete = message => {
165
+ alert({
166
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE,
167
+ buttons: [{
168
+ text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL
169
+ }, {
170
+ text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK,
171
+ style: 'destructive',
172
+ onPress: () => {
173
+ onDeleteMessage(message).catch(() => toast.show(STRINGS.TOAST.DELETE_MSG_ERROR, 'error'));
174
+ }
175
+ }]
176
+ });
177
+ };
178
+ return msg => {
179
+ if (!msg.isUserMessage() && !msg.isFileMessage()) {
180
+ return {
181
+ onPress: undefined,
182
+ onLongPress: undefined
183
+ };
184
+ }
185
+ const sheetItems = [];
186
+ const response = {
187
+ onPress: undefined,
188
+ onLongPress: undefined
189
+ };
190
+ if (msg.isUserMessage()) {
191
+ sheetItems.push({
192
+ icon: 'copy',
193
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_COPY,
194
+ onPress: () => {
195
+ clipboardService.setString(msg.message || '');
196
+ toast.show(STRINGS.TOAST.COPY_OK, 'success');
197
+ }
198
+ });
199
+ if ((0, _uikitUtils.isMyMessage)(msg, currentUserId) && msg.sendingStatus === 'succeeded') {
200
+ sheetItems.push({
201
+ icon: 'edit',
202
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_EDIT,
203
+ onPress: () => onEditMessage(msg)
204
+ }, {
205
+ icon: 'delete',
206
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,
207
+ onPress: () => confirmDelete(msg)
208
+ });
209
+ }
210
+ }
211
+ if (msg.isFileMessage()) {
212
+ sheetItems.push({
213
+ icon: 'download',
214
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_SAVE,
215
+ onPress: async () => {
216
+ if ((0, _uikitUtils.toMegabyte)(msg.size) > 4) {
217
+ toast.show(STRINGS.TOAST.DOWNLOAD_START, 'success');
218
+ }
219
+ fileService.save({
220
+ fileUrl: msg.url,
221
+ fileName: msg.name,
222
+ fileType: msg.type
223
+ }).then(response => {
224
+ toast.show(STRINGS.TOAST.DOWNLOAD_OK, 'success');
225
+ _uikitUtils.Logger.log('File saved to', response);
226
+ }).catch(err => {
227
+ toast.show(STRINGS.TOAST.DOWNLOAD_ERROR, 'error');
228
+ _uikitUtils.Logger.log('File save failure', err);
229
+ });
230
+ }
231
+ });
232
+ if ((0, _uikitUtils.isMyMessage)(msg, currentUserId) && msg.sendingStatus === 'succeeded') {
233
+ sheetItems.push({
234
+ icon: 'delete',
235
+ title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,
236
+ onPress: () => confirmDelete(msg)
237
+ });
238
+ }
239
+ const fileType = (0, _uikitUtils.getFileType)(msg.type || (0, _uikitUtils.getFileExtension)(msg.name));
240
+ switch (fileType) {
241
+ case 'image':
242
+ case 'video':
243
+ case 'audio':
244
+ {
245
+ response.onPress = () => {
246
+ if (onPressImageMessage && fileType === 'image') {
247
+ _uikitUtils.Logger.warn(_constants.DEPRECATION_WARNING.CHANNEL.ON_PRESS_IMAGE_MESSAGE);
248
+ onPressImageMessage(msg, (0, _uikitUtils.getAvailableUriFromFileMessage)(msg));
249
+ }
250
+ onPressMediaMessage === null || onPressMediaMessage === void 0 ? void 0 : onPressMediaMessage(msg, () => onDeleteMessage(msg), (0, _uikitUtils.getAvailableUriFromFileMessage)(msg));
251
+ };
252
+ break;
253
+ }
254
+ default:
255
+ {
256
+ response.onPress = () => _SBUUtils.default.openURL(msg.url);
257
+ break;
258
+ }
259
+ }
260
+ }
261
+ if (sheetItems.length > 0) {
262
+ response.onLongPress = () => {
263
+ openSheet({
264
+ sheetItems,
265
+ HeaderComponent: (0, _uikitUtils.shouldRenderReaction)(channel, features.reactionEnabled) ? _ref4 => {
266
+ let {
267
+ onClose
268
+ } = _ref4;
269
+ return /*#__PURE__*/_react.default.createElement(_ReactionAddons.ReactionAddons.BottomSheet, {
270
+ message: msg,
271
+ channel: channel,
272
+ onClose: onClose
273
+ });
274
+ } : undefined
275
+ });
276
+ };
277
+ }
278
+ if (msg.sendingStatus === 'failed') {
279
+ response.onLongPress = () => handleFailedMessage(msg);
280
+ response.onPress = () => {
281
+ onResendFailedMessage(msg).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));
282
+ };
283
+ }
284
+ if (msg.sendingStatus === 'pending') {
285
+ response.onLongPress = undefined;
286
+ response.onPress = undefined;
287
+ }
288
+ return response;
289
+ };
290
+ };
291
+ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
292
+ frozenBanner: {
293
+ position: 'absolute',
294
+ zIndex: 999,
295
+ top: 8,
296
+ left: 8,
297
+ right: 8
298
+ },
299
+ frozenListPadding: {
300
+ paddingBottom: 32
301
+ },
302
+ newMsgButton: {
303
+ position: 'absolute',
304
+ zIndex: 999,
305
+ bottom: 10,
306
+ alignSelf: 'center'
307
+ },
308
+ scrollButton: {
309
+ position: 'absolute',
310
+ zIndex: 998,
311
+ bottom: 10,
312
+ right: 16
313
+ }
314
+ });
315
+
316
+ // NOTE: Due to Generic inference is not working on forwardRef, we need to cast it as typeof ChannelMessageList and implicit `ref` prop
317
+ var _default = /*#__PURE__*/_react.default.forwardRef(ChannelMessageList);
318
+ exports.default = _default;
319
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSafeAreaContext","_uikitReactNativeFoundation","_uikitUtils","_constants","_useContext","_SBUUtils","_ChatFlatList","_ReactionAddons","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ChannelMessageList","_ref","ref","searchItem","hasNext","channel","onEditMessage","onDeleteMessage","onResendFailedMessage","onPressMediaMessage","currentUserId","renderNewMessagesButton","renderScrollToBottomButton","renderMessage","messages","newMessages","enableMessageGrouping","onScrolledAwayFromBottom","scrolledAwayFromBottom","onBottomReached","onTopReached","flatListProps","onPressNewMessagesButton","onPressScrollToBottomButton","onPressImageMessage","STRINGS","useLocalization","colors","useUIKitTheme","left","right","useSafeAreaInsets","getMessagePressActions","useGetMessagePressActions","safeAreaLayout","paddingLeft","paddingRight","renderItem","useFreshCallback","_ref2","item","index","onPress","onLongPress","message","prevMessage","nextMessage","focused","startingPoint","createdAt","createElement","View","style","flex","backgroundColor","background","isFrozen","ChannelFrozenBanner","styles","frozenBanner","text","LABELS","CHANNEL_MESSAGE_LIST_FROZEN","data","keyExtractor","messageKeyExtractor","contentContainerStyle","frozenListPadding","newMsgButton","visible","scrollButton","_ref3","toast","useToast","openSheet","useBottomSheet","alert","useAlert","clipboardService","fileService","usePlatformService","features","useSendbirdChat","handleFailedMessage","sheetItems","title","CHANNEL_MESSAGE_FAILED_RETRY","catch","show","TOAST","RESEND_MSG_ERROR","CHANNEL_MESSAGE_FAILED_REMOVE","titleColor","ui","dialog","none","destructive","confirmDelete","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","buttons","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","DELETE_MSG_ERROR","msg","isUserMessage","isFileMessage","undefined","response","push","icon","CHANNEL_MESSAGE_COPY","setString","COPY_OK","isMyMessage","sendingStatus","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_SAVE","toMegabyte","size","DOWNLOAD_START","save","fileUrl","url","fileName","name","fileType","type","then","DOWNLOAD_OK","Logger","log","err","DOWNLOAD_ERROR","getFileType","getFileExtension","warn","DEPRECATION_WARNING","CHANNEL","ON_PRESS_IMAGE_MESSAGE","getAvailableUriFromFileMessage","SBUUtils","openURL","HeaderComponent","shouldRenderReaction","reactionEnabled","_ref4","onClose","ReactionAddons","BottomSheet","createStyleSheet","position","zIndex","top","paddingBottom","bottom","alignSelf","_default","React","forwardRef","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { Ref } from 'react';\nimport { FlatList, FlatListProps, ListRenderItem, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport {\n BottomSheetItem,\n ChannelFrozenBanner,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdOpenChannel,\n SendbirdUserMessage,\n getAvailableUriFromFileMessage,\n getFileExtension,\n getFileType,\n isMyMessage,\n messageKeyExtractor,\n shouldRenderReaction,\n toMegabyte,\n useFreshCallback,\n} from '@sendbird/uikit-utils';\n\nimport { DEPRECATION_WARNING } from '../../constants';\nimport type { UserProfileContextType } from '../../contexts/UserProfileCtx';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport type { CommonComponent } from '../../types';\nimport ChatFlatList from '../ChatFlatList';\nimport { ReactionAddons } from '../ReactionAddons';\n\ntype PressActions = { onPress?: () => void; onLongPress?: () => void };\ntype HandleableMessage = SendbirdUserMessage | SendbirdFileMessage;\nexport type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpenChannel> = {\n enableMessageGrouping: boolean;\n currentUserId?: string;\n channel: T;\n messages: SendbirdMessage[];\n newMessages: SendbirdMessage[];\n searchItem?: { startingPoint: number };\n\n scrolledAwayFromBottom: boolean;\n onScrolledAwayFromBottom: (value: boolean) => void;\n onTopReached: () => void;\n onBottomReached: () => void;\n hasNext: () => boolean;\n\n onPressNewMessagesButton: (animated?: boolean) => void;\n onPressScrollToBottomButton: (animated?: boolean) => void;\n\n onEditMessage: (message: HandleableMessage) => void;\n onDeleteMessage: (message: HandleableMessage) => Promise<void>;\n onResendFailedMessage: (failedMessage: HandleableMessage) => Promise<void>;\n onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;\n\n renderMessage: (props: {\n focused: boolean;\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n nextMessage?: SendbirdMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: UserProfileContextType['show'];\n channel: T;\n currentUserId?: ChannelMessageListProps<T>['currentUserId'];\n enableMessageGrouping: ChannelMessageListProps<T>['enableMessageGrouping'];\n }) => React.ReactElement | null;\n renderNewMessagesButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n newMessages: SendbirdMessage[];\n }>;\n renderScrollToBottomButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n }>;\n flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;\n\n /** @deprecated Please use `onPressMediaMessage` instead **/\n onPressImageMessage?: (message: SendbirdFileMessage, uri: string) => void;\n} & {\n ref?: Ref<FlatList<SendbirdMessage>> | undefined;\n};\n\nconst ChannelMessageList = <T extends SendbirdGroupChannel | SendbirdOpenChannel>(\n {\n searchItem,\n hasNext,\n channel,\n onEditMessage,\n onDeleteMessage,\n onResendFailedMessage,\n onPressMediaMessage,\n currentUserId,\n renderNewMessagesButton,\n renderScrollToBottomButton,\n renderMessage,\n messages,\n newMessages,\n enableMessageGrouping,\n onScrolledAwayFromBottom,\n scrolledAwayFromBottom,\n onBottomReached,\n onTopReached,\n flatListProps,\n onPressNewMessagesButton,\n onPressScrollToBottomButton,\n onPressImageMessage,\n }: ChannelMessageListProps<T>,\n ref: React.ForwardedRef<FlatList<SendbirdMessage>>,\n) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { left, right } = useSafeAreaInsets();\n const getMessagePressActions = useGetMessagePressActions({\n channel,\n currentUserId,\n onEditMessage,\n onDeleteMessage,\n onResendFailedMessage,\n onPressImageMessage,\n onPressMediaMessage,\n });\n\n const safeAreaLayout = { paddingLeft: left, paddingRight: right };\n\n const renderItem: ListRenderItem<SendbirdMessage> = useFreshCallback(({ item, index }) => {\n const { onPress, onLongPress } = getMessagePressActions(item);\n return renderMessage({\n message: item,\n prevMessage: messages[index + 1],\n nextMessage: messages[index - 1],\n onPress,\n onLongPress,\n enableMessageGrouping,\n channel,\n currentUserId,\n focused: (searchItem?.startingPoint ?? -1) === item.createdAt,\n });\n });\n\n return (\n <View style={[{ flex: 1, backgroundColor: colors.background }, safeAreaLayout]}>\n {channel.isFrozen && (\n <ChannelFrozenBanner style={styles.frozenBanner} text={STRINGS.LABELS.CHANNEL_MESSAGE_LIST_FROZEN} />\n )}\n <ChatFlatList\n {...flatListProps}\n onTopReached={onTopReached}\n onBottomReached={onBottomReached}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n ref={ref}\n data={messages}\n renderItem={renderItem}\n keyExtractor={messageKeyExtractor}\n contentContainerStyle={[\n // { minHeight: '100%', justifyContent: 'flex-end' },\n channel.isFrozen && styles.frozenListPadding,\n flatListProps?.contentContainerStyle,\n ]}\n />\n {renderNewMessagesButton && (\n <View style={[styles.newMsgButton, safeAreaLayout]}>\n {renderNewMessagesButton({\n visible: newMessages.length > 0 && (hasNext() || scrolledAwayFromBottom),\n onPress: () => onPressNewMessagesButton(),\n newMessages,\n })}\n </View>\n )}\n {renderScrollToBottomButton && (\n <View style={[styles.scrollButton, safeAreaLayout]}>\n {renderScrollToBottomButton({\n visible: hasNext() || scrolledAwayFromBottom,\n onPress: () => onPressScrollToBottomButton(),\n })}\n </View>\n )}\n </View>\n );\n};\n\nconst useGetMessagePressActions = <T extends SendbirdGroupChannel | SendbirdOpenChannel>({\n channel,\n currentUserId,\n onResendFailedMessage,\n onEditMessage,\n onDeleteMessage,\n onPressImageMessage,\n onPressMediaMessage,\n}: Pick<\n ChannelMessageListProps<T>,\n | 'channel'\n | 'currentUserId'\n | 'onEditMessage'\n | 'onDeleteMessage'\n | 'onResendFailedMessage'\n | 'onPressImageMessage'\n | 'onPressMediaMessage'\n>) => {\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { alert } = useAlert();\n const { clipboardService, fileService } = usePlatformService();\n const { features } = useSendbirdChat();\n\n const handleFailedMessage = (message: HandleableMessage) => {\n openSheet({\n sheetItems: [\n {\n title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_RETRY,\n onPress: () => {\n onResendFailedMessage(message).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));\n },\n },\n {\n title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_REMOVE,\n titleColor: colors.ui.dialog.default.none.destructive,\n onPress: () => confirmDelete(message),\n },\n ],\n });\n };\n const confirmDelete = (message: HandleableMessage) => {\n alert({\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE,\n buttons: [\n {\n text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL,\n },\n {\n text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK,\n style: 'destructive',\n onPress: () => {\n onDeleteMessage(message).catch(() => toast.show(STRINGS.TOAST.DELETE_MSG_ERROR, 'error'));\n },\n },\n ],\n });\n };\n\n return (msg: SendbirdMessage) => {\n if (!msg.isUserMessage() && !msg.isFileMessage()) {\n return { onPress: undefined, onLongPress: undefined };\n }\n\n const sheetItems: BottomSheetItem['sheetItems'] = [];\n const response: PressActions = {\n onPress: undefined,\n onLongPress: undefined,\n };\n\n if (msg.isUserMessage()) {\n sheetItems.push({\n icon: 'copy',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_COPY,\n onPress: () => {\n clipboardService.setString(msg.message || '');\n toast.show(STRINGS.TOAST.COPY_OK, 'success');\n },\n });\n\n if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {\n sheetItems.push(\n {\n icon: 'edit',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_EDIT,\n onPress: () => onEditMessage(msg),\n },\n {\n icon: 'delete',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,\n onPress: () => confirmDelete(msg),\n },\n );\n }\n }\n\n if (msg.isFileMessage()) {\n sheetItems.push({\n icon: 'download',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_SAVE,\n onPress: async () => {\n if (toMegabyte(msg.size) > 4) {\n toast.show(STRINGS.TOAST.DOWNLOAD_START, 'success');\n }\n\n fileService\n .save({ fileUrl: msg.url, fileName: msg.name, fileType: msg.type })\n .then((response) => {\n toast.show(STRINGS.TOAST.DOWNLOAD_OK, 'success');\n Logger.log('File saved to', response);\n })\n .catch((err) => {\n toast.show(STRINGS.TOAST.DOWNLOAD_ERROR, 'error');\n Logger.log('File save failure', err);\n });\n },\n });\n\n if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {\n sheetItems.push({\n icon: 'delete',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,\n onPress: () => confirmDelete(msg),\n });\n }\n\n const fileType = getFileType(msg.type || getFileExtension(msg.name));\n switch (fileType) {\n case 'image':\n case 'video':\n case 'audio': {\n response.onPress = () => {\n if (onPressImageMessage && fileType === 'image') {\n Logger.warn(DEPRECATION_WARNING.CHANNEL.ON_PRESS_IMAGE_MESSAGE);\n onPressImageMessage(msg, getAvailableUriFromFileMessage(msg));\n }\n onPressMediaMessage?.(msg, () => onDeleteMessage(msg), getAvailableUriFromFileMessage(msg));\n };\n break;\n }\n default: {\n response.onPress = () => SBUUtils.openURL(msg.url);\n break;\n }\n }\n }\n\n if (sheetItems.length > 0) {\n response.onLongPress = () => {\n openSheet({\n sheetItems,\n HeaderComponent: shouldRenderReaction(channel, features.reactionEnabled)\n ? ({ onClose }) => <ReactionAddons.BottomSheet message={msg} channel={channel} onClose={onClose} />\n : undefined,\n });\n };\n }\n\n if (msg.sendingStatus === 'failed') {\n response.onLongPress = () => handleFailedMessage(msg);\n response.onPress = () => {\n onResendFailedMessage(msg).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));\n };\n }\n\n if (msg.sendingStatus === 'pending') {\n response.onLongPress = undefined;\n response.onPress = undefined;\n }\n\n return response;\n };\n};\n\nconst styles = createStyleSheet({\n frozenBanner: {\n position: 'absolute',\n zIndex: 999,\n top: 8,\n left: 8,\n right: 8,\n },\n frozenListPadding: {\n paddingBottom: 32,\n },\n newMsgButton: {\n position: 'absolute',\n zIndex: 999,\n bottom: 10,\n alignSelf: 'center',\n },\n scrollButton: {\n position: 'absolute',\n zIndex: 998,\n bottom: 10,\n right: 16,\n },\n});\n\n// NOTE: Due to Generic inference is not working on forwardRef, we need to cast it as typeof ChannelMessageList and implicit `ref` prop\nexport default React.forwardRef(ChannelMessageList) as typeof ChannelMessageList;\n"],"mappings":"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"}