@sendbird/uikit-react-native 3.11.3 → 3.12.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 (263) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/components/ChannelInput/EditInput.js +1 -2
  3. package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
  4. package/lib/commonjs/components/ChannelInput/SendInput.js +1 -2
  5. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  6. package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js +1 -2
  7. package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js.map +1 -1
  8. package/lib/commonjs/components/ChannelInput/index.js +1 -2
  9. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  10. package/lib/commonjs/components/ChatFlatList/index.js +1 -2
  11. package/lib/commonjs/components/ChatFlatList/index.js.map +1 -1
  12. package/lib/commonjs/components/FileViewer/FileViewerContent.js +2 -3
  13. package/lib/commonjs/components/FileViewer/FileViewerContent.js.map +1 -1
  14. package/lib/commonjs/components/FileViewer/index.js +1 -2
  15. package/lib/commonjs/components/FileViewer/index.js.map +1 -1
  16. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +1 -2
  17. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -1
  18. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +1 -2
  19. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
  20. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +1 -2
  21. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
  22. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +1 -2
  23. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
  24. package/lib/commonjs/components/ThreadChatFlatList/index.js +1 -2
  25. package/lib/commonjs/components/ThreadChatFlatList/index.js.map +1 -1
  26. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +1 -2
  27. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -1
  28. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +1 -2
  29. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -1
  30. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +1 -2
  31. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  32. package/lib/commonjs/containers/SendbirdUIKitContainer.js +1 -2
  33. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  34. package/lib/commonjs/contexts/PlatformServiceCtx.js +1 -2
  35. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
  36. package/lib/commonjs/contexts/ReactionCtx.js +1 -2
  37. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -1
  38. package/lib/commonjs/contexts/SendbirdChatCtx.js +1 -2
  39. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  40. package/lib/commonjs/contexts/UserProfileCtx.js +1 -2
  41. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  42. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +1 -2
  43. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  44. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +1 -2
  45. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  46. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +1 -2
  47. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  48. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +1 -2
  49. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  50. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +1 -2
  51. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  52. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +1 -2
  53. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
  54. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +1 -2
  55. package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
  56. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +1 -2
  57. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
  58. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +1 -2
  59. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  60. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +1 -2
  61. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -1
  62. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +1 -2
  63. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
  64. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +1 -2
  65. package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
  66. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +1 -2
  67. package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
  68. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +1 -2
  69. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
  70. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +1 -2
  71. package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
  72. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +1 -2
  73. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
  74. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +1 -2
  75. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
  76. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +1 -2
  77. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
  78. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +1 -2
  79. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
  80. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +1 -2
  81. package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
  82. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +1 -2
  83. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
  84. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -2
  85. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
  86. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +1 -2
  87. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  88. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +1 -2
  89. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  90. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js +1 -2
  91. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -1
  92. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js +1 -2
  93. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -1
  94. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +1 -2
  95. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
  96. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +1 -2
  97. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
  98. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +1 -2
  99. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -1
  100. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js +1 -2
  101. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js.map +1 -1
  102. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +1 -2
  103. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
  104. package/lib/commonjs/domain/messageSearch/module/moduleContext.js +1 -2
  105. package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -1
  106. package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +1 -2
  107. package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
  108. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +1 -2
  109. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  110. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +1 -2
  111. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  112. package/lib/commonjs/domain/openChannel/module/moduleContext.js +1 -2
  113. package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
  114. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +1 -2
  115. package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
  116. package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +1 -2
  117. package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
  118. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +1 -2
  119. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
  120. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +1 -2
  121. package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  122. package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +1 -2
  123. package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -1
  124. package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +1 -2
  125. package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
  126. package/lib/commonjs/domain/openChannelList/module/moduleContext.js +1 -2
  127. package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -1
  128. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +1 -2
  129. package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
  130. package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +1 -2
  131. package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -1
  132. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +1 -2
  133. package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
  134. package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +1 -2
  135. package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
  136. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +1 -2
  137. package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
  138. package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +1 -2
  139. package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -1
  140. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +1 -2
  141. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
  142. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +1 -2
  143. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
  144. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +1 -2
  145. package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
  146. package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +1 -2
  147. package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -1
  148. package/lib/commonjs/domain/userList/component/UserListHeader.js +1 -2
  149. package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -1
  150. package/lib/commonjs/domain/userList/component/UserListList.js +1 -2
  151. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  152. package/lib/commonjs/domain/userList/module/moduleContext.js +1 -2
  153. package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -1
  154. package/lib/commonjs/fragments/createGroupChannelFragment.js +1 -2
  155. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  156. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -2
  157. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  158. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +1 -2
  159. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
  160. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +1 -2
  161. package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
  162. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +1 -2
  163. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -1
  164. package/lib/commonjs/fragments/createMessageSearchFragment.js +1 -2
  165. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
  166. package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +1 -2
  167. package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -1
  168. package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -2
  169. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  170. package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +1 -2
  171. package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
  172. package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +1 -2
  173. package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
  174. package/lib/commonjs/index.js +41 -42
  175. package/lib/commonjs/index.js.map +1 -1
  176. package/lib/commonjs/libs/SBUError.js +1 -0
  177. package/lib/commonjs/libs/SBUError.js.map +1 -1
  178. package/lib/commonjs/platform/createMediaService.expo.js +1 -2
  179. package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
  180. package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
  181. package/lib/commonjs/version.js +1 -1
  182. package/lib/commonjs/version.js.map +1 -1
  183. package/lib/module/components/FileViewer/FileViewerContent.js +1 -1
  184. package/lib/module/components/FileViewer/FileViewerContent.js.map +1 -1
  185. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +1 -1
  186. package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
  187. package/lib/module/libs/SBUError.js +1 -0
  188. package/lib/module/libs/SBUError.js.map +1 -1
  189. package/lib/module/platform/createMediaService.native.js.map +1 -1
  190. package/lib/module/version.js +1 -1
  191. package/lib/module/version.js.map +1 -1
  192. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -1
  193. package/lib/typescript/src/components/ChannelThreadMessageList/index.d.ts +2 -1
  194. package/lib/typescript/src/components/ChatFlatList/index.d.ts +1 -1
  195. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +1 -1
  196. package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +9 -11
  197. package/lib/typescript/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.d.ts +1 -1
  198. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +9 -11
  199. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +1 -1
  200. package/lib/typescript/src/components/ReactionAddons/index.d.ts +5 -6
  201. package/lib/typescript/src/components/ThreadParentMessageRenderer/index.d.ts +1 -8
  202. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
  203. package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
  204. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +2 -1
  205. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +2 -12
  206. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +1 -1
  207. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.d.ts +1 -1
  208. package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.d.ts +1 -1
  209. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListHeader.d.ts +1 -1
  210. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
  211. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +1 -1
  212. package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.d.ts +1 -1
  213. package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.d.ts +1 -1
  214. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.d.ts +1 -1
  215. package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +1 -1
  216. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +1 -1
  217. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.d.ts +1 -1
  218. package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +1 -1
  219. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +1 -1
  220. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +1 -1
  221. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  222. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadHeader.d.ts +1 -1
  223. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +2 -1
  224. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +2 -5
  225. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.d.ts +2 -6
  226. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.d.ts +1 -1
  227. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +0 -1
  228. package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +1 -1
  229. package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +1 -1
  230. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +2 -5
  231. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +2 -1
  232. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +2 -1
  233. package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.d.ts +1 -1
  234. package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.d.ts +1 -1
  235. package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateHeader.d.ts +1 -1
  236. package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.d.ts +1 -1
  237. package/lib/typescript/src/domain/openChannelList/component/OpenChannelListHeader.d.ts +1 -1
  238. package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
  239. package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationHeader.d.ts +1 -1
  240. package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationMenu.d.ts +1 -1
  241. package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.d.ts +1 -1
  242. package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.d.ts +1 -1
  243. package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.d.ts +1 -1
  244. package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsList.d.ts +1 -1
  245. package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.d.ts +1 -1
  246. package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.d.ts +1 -1
  247. package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.d.ts +1 -1
  248. package/lib/typescript/src/domain/userList/component/UserListHeader.d.ts +1 -7
  249. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +1 -8
  250. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
  251. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
  252. package/lib/typescript/src/hooks/useChannelInputItems.d.ts +4 -4
  253. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +0 -1
  254. package/lib/typescript/src/libs/MentionManager.d.ts +2 -2
  255. package/lib/typescript/src/platform/createMediaService.native.d.ts +3 -1
  256. package/lib/typescript/src/platform/dynamicModule.d.ts +1 -1
  257. package/lib/typescript/src/utils/promise.d.ts +3 -3
  258. package/lib/typescript/src/version.d.ts +1 -1
  259. package/package.json +28 -23
  260. package/src/components/FileViewer/FileViewerContent.tsx +6 -3
  261. package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +1 -1
  262. package/src/platform/createMediaService.native.tsx +4 -1
  263. package/src/version.ts +1 -1
package/README.md CHANGED
@@ -149,12 +149,12 @@ npm install react-native-video \
149
149
  react-native-file-access \
150
150
  react-native-image-picker \
151
151
  react-native-document-picker \
152
- react-native-create-thumbnail \
153
152
  react-native-nitro-sound \
154
153
  @react-native-clipboard/clipboard \
155
154
  @react-native-camera-roll/camera-roll \
156
155
  @react-native-firebase/app \
157
156
  @react-native-firebase/messaging \
157
+ @sendbird/react-native-create-thumbnail \
158
158
  @bam.tech/react-native-image-resizer
159
159
 
160
160
  npx pod-install
@@ -169,7 +169,7 @@ import * as DocumentPicker from '@react-native-documents/picker';
169
169
  import * as FileAccess from 'react-native-file-access';
170
170
  import * as ImagePicker from 'react-native-image-picker';
171
171
  import * as Permissions from 'react-native-permissions';
172
- import * as CreateThumbnail from 'react-native-create-thumbnail';
172
+ import * as CreateThumbnail from '@sendbird/react-native-create-thumbnail';
173
173
  import * as ImageResizer from '@bam.tech/react-native-image-resizer';
174
174
  import * as AudioRecorderPlayer from 'react-native-nitro-sound';
175
175
 
@@ -9,8 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _message = require("@sendbird/chat/message");
10
10
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
11
11
  var _useContext = require("../../hooks/useContext");
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
13
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
14
  const EditInput = /*#__PURE__*/(0, _react.forwardRef)(function EditInput({
16
15
  style,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_useContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","EditInput","forwardRef","style","text","onChangeText","messageToEdit","setMessageToEdit","onPressUpdateUserMessage","onSelectionChange","autoFocus","mentionedUsers","inputDisabled","partialTextInputProps","ref","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","toast","useToast","onPressCancel","onPressSave","isUserMessage","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","uikit","groupChannel","channel","enableMention","message","catch","onFailureToUpdate","show","TOAST","UPDATE_MSG_ERROR","createElement","View","styles","editInputContainer","inputWrapper","TextInput","multiline","disableFullscreenUI","editable","placeholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","originalText","supportRTLAlign","textToMentionedComponents","marginTop","flexDirection","Button","variant","onPress","CHANNEL_INPUT_EDIT_CANCEL","space","CHANNEL_INPUT_EDIT_OK","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flex","_default","exports"],"sources":["EditInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { NativeSyntheticEvent, TextInput as RNTextInput, TextInputSelectionChangeEventData, View } from 'react-native';\n\nimport { MentionType } from '@sendbird/chat/message';\nimport { Button, TextInput, createStyleSheet, useToast } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../hooks/useContext';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface EditInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n messageToEdit: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n autoFocus: boolean;\n mentionedUsers: MentionedUser[];\n}\n\nconst EditInput = forwardRef<RNTextInput, EditInputProps>(function EditInput(\n {\n style,\n text,\n onChangeText,\n messageToEdit,\n setMessageToEdit,\n onPressUpdateUserMessage,\n onSelectionChange,\n autoFocus,\n mentionedUsers,\n inputDisabled,\n partialTextInputProps,\n },\n ref,\n) {\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const toast = useToast();\n\n const onPressCancel = () => {\n setMessageToEdit();\n onChangeText('');\n };\n\n const onPressSave = () => {\n if (messageToEdit.isUserMessage()) {\n const mentionType = MentionType.USERS;\n const mentionedUserIds = mentionedUsers.map((it) => it.user.userId);\n const mentionedMessageTemplate = mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n );\n\n onPressUpdateUserMessage(messageToEdit, {\n message: text,\n mentionType,\n mentionedUserIds,\n mentionedMessageTemplate,\n }).catch(onFailureToUpdate);\n }\n setMessageToEdit();\n onChangeText('');\n };\n\n const onFailureToUpdate = () => toast.show(STRINGS.TOAST.UPDATE_MSG_ERROR, 'error');\n\n return (\n <View style={styles.editInputContainer}>\n <View style={styles.inputWrapper}>\n <TextInput\n {...partialTextInputProps}\n ref={ref}\n multiline\n disableFullscreenUI\n editable={!inputDisabled}\n autoFocus={autoFocus}\n onChangeText={onChangeText}\n style={style}\n placeholder={STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE}\n onSelectionChange={onSelectionChange}\n originalText={text}\n supportRTLAlign\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n </View>\n <View style={{ marginTop: 8, flexDirection: 'row' }}>\n <Button variant={'text'} onPress={onPressCancel}>\n {STRINGS.LABELS.CHANNEL_INPUT_EDIT_CANCEL}\n </Button>\n <View style={styles.space} />\n <Button variant={'contained'} onPress={onPressSave}>\n {STRINGS.LABELS.CHANNEL_INPUT_EDIT_OK}\n </Button>\n </View>\n </View>\n );\n});\n\nconst styles = createStyleSheet({\n editInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 16,\n flexDirection: 'column',\n alignItems: 'center',\n },\n inputWrapper: {\n flexDirection: 'row',\n },\n space: {\n flex: 1,\n },\n});\n\nexport default EditInput;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAJ,OAAA;AAA0E,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAc1E,MAAMG,SAAS,gBAAG,IAAAC,iBAAU,EAA8B,SAASD,SAASA,CAC1E;EACEE,KAAK;EACLC,IAAI;EACJC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC,wBAAwB;EACxBC,iBAAiB;EACjBC,SAAS;EACTC,cAAc;EACdC,aAAa;EACbC;AACF,CAAC,EACDC,GAAG,EACH;EACA,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACvD,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACrC,MAAMC,KAAK,GAAG,IAAAC,oCAAQ,EAAC,CAAC;EAExB,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1Bf,gBAAgB,CAAC,CAAC;IAClBF,YAAY,CAAC,EAAE,CAAC;EAClB,CAAC;EAED,MAAMkB,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIjB,aAAa,CAACkB,aAAa,CAAC,CAAC,EAAE;MACjC,MAAMC,WAAW,GAAGC,oBAAW,CAACC,KAAK;MACrC,MAAMC,gBAAgB,GAAGjB,cAAc,CAACkB,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,IAAI,CAACC,MAAM,CAAC;MACnE,MAAMC,wBAAwB,GAAGlB,cAAc,CAACmB,8BAA8B,CAC5E9B,IAAI,EACJO,cAAc,EACdK,SAAS,CAACmB,KAAK,CAACC,YAAY,CAACC,OAAO,CAACC,aACvC,CAAC;MAED9B,wBAAwB,CAACF,aAAa,EAAE;QACtCiC,OAAO,EAAEnC,IAAI;QACbqB,WAAW;QACXG,gBAAgB;QAChBK;MACF,CAAC,CAAC,CAACO,KAAK,CAACC,iBAAiB,CAAC;IAC7B;IACAlC,gBAAgB,CAAC,CAAC;IAClBF,YAAY,CAAC,EAAE,CAAC;EAClB,CAAC;EAED,MAAMoC,iBAAiB,GAAGA,CAAA,KAAMrB,KAAK,CAACsB,IAAI,CAACxB,OAAO,CAACyB,KAAK,CAACC,gBAAgB,EAAE,OAAO,CAAC;EAEnF,oBACE5E,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAAC1E,YAAA,CAAA2E,IAAI;IAAC3C,KAAK,EAAE4C,MAAM,CAACC;EAAmB,gBACrChF,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAAC1E,YAAA,CAAA2E,IAAI;IAAC3C,KAAK,EAAE4C,MAAM,CAACE;EAAa,gBAC/BjF,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAACxE,2BAAA,CAAA6E,SAAS,EAAAvD,QAAA,KACJkB,qBAAqB;IACzBC,GAAG,EAAEA,GAAI;IACTqC,SAAS;IACTC,mBAAmB;IACnBC,QAAQ,EAAE,CAACzC,aAAc;IACzBF,SAAS,EAAEA,SAAU;IACrBL,YAAY,EAAEA,YAAa;IAC3BF,KAAK,EAAEA,KAAM;IACbmD,WAAW,EAAEpC,OAAO,CAACqC,MAAM,CAACC,gCAAiC;IAC7D/C,iBAAiB,EAAEA,iBAAkB;IACrCgD,YAAY,EAAErD,IAAK;IACnBsD,eAAe;EAAA,IAEd3C,cAAc,CAAC4C,yBAAyB,CACvCvD,IAAI,EACJO,cAAc,EACdK,SAAS,CAACmB,KAAK,CAACC,YAAY,CAACC,OAAO,CAACC,aACvC,CACS,CACP,CAAC,eACPtE,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAAC1E,YAAA,CAAA2E,IAAI;IAAC3C,KAAK,EAAE;MAAEyD,SAAS,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAM;EAAE,gBAClD7F,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAACxE,2BAAA,CAAAyF,MAAM;IAACC,OAAO,EAAE,MAAO;IAACC,OAAO,EAAE1C;EAAc,GAC7CJ,OAAO,CAACqC,MAAM,CAACU,yBACV,CAAC,eACTjG,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAAC1E,YAAA,CAAA2E,IAAI;IAAC3C,KAAK,EAAE4C,MAAM,CAACmB;EAAM,CAAE,CAAC,eAC7BlG,MAAA,CAAAa,OAAA,CAAAgE,aAAA,CAACxE,2BAAA,CAAAyF,MAAM;IAACC,OAAO,EAAE,WAAY;IAACC,OAAO,EAAEzC;EAAY,GAChDL,OAAO,CAACqC,MAAM,CAACY,qBACV,CACJ,CACF,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMpB,MAAM,GAAG,IAAAqB,4CAAgB,EAAC;EAC9BpB,kBAAkB,EAAE;IAClBqB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBT,aAAa,EAAE,QAAQ;IACvBU,UAAU,EAAE;EACd,CAAC;EACDtB,YAAY,EAAE;IACZY,aAAa,EAAE;EACjB,CAAC;EACDK,KAAK,EAAE;IACLM,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7F,OAAA,GAEYoB,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_useContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","EditInput","forwardRef","style","text","onChangeText","messageToEdit","setMessageToEdit","onPressUpdateUserMessage","onSelectionChange","autoFocus","mentionedUsers","inputDisabled","partialTextInputProps","ref","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","toast","useToast","onPressCancel","onPressSave","isUserMessage","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","uikit","groupChannel","channel","enableMention","message","catch","onFailureToUpdate","show","TOAST","UPDATE_MSG_ERROR","createElement","View","styles","editInputContainer","inputWrapper","TextInput","multiline","disableFullscreenUI","editable","placeholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","originalText","supportRTLAlign","textToMentionedComponents","marginTop","flexDirection","Button","variant","onPress","CHANNEL_INPUT_EDIT_CANCEL","space","CHANNEL_INPUT_EDIT_OK","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flex","_default","exports"],"sources":["EditInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { NativeSyntheticEvent, TextInput as RNTextInput, TextInputSelectionChangeEventData, View } from 'react-native';\n\nimport { MentionType } from '@sendbird/chat/message';\nimport { Button, TextInput, createStyleSheet, useToast } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../hooks/useContext';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface EditInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n messageToEdit: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n autoFocus: boolean;\n mentionedUsers: MentionedUser[];\n}\n\nconst EditInput = forwardRef<RNTextInput, EditInputProps>(function EditInput(\n {\n style,\n text,\n onChangeText,\n messageToEdit,\n setMessageToEdit,\n onPressUpdateUserMessage,\n onSelectionChange,\n autoFocus,\n mentionedUsers,\n inputDisabled,\n partialTextInputProps,\n },\n ref,\n) {\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const toast = useToast();\n\n const onPressCancel = () => {\n setMessageToEdit();\n onChangeText('');\n };\n\n const onPressSave = () => {\n if (messageToEdit.isUserMessage()) {\n const mentionType = MentionType.USERS;\n const mentionedUserIds = mentionedUsers.map((it) => it.user.userId);\n const mentionedMessageTemplate = mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n );\n\n onPressUpdateUserMessage(messageToEdit, {\n message: text,\n mentionType,\n mentionedUserIds,\n mentionedMessageTemplate,\n }).catch(onFailureToUpdate);\n }\n setMessageToEdit();\n onChangeText('');\n };\n\n const onFailureToUpdate = () => toast.show(STRINGS.TOAST.UPDATE_MSG_ERROR, 'error');\n\n return (\n <View style={styles.editInputContainer}>\n <View style={styles.inputWrapper}>\n <TextInput\n {...partialTextInputProps}\n ref={ref}\n multiline\n disableFullscreenUI\n editable={!inputDisabled}\n autoFocus={autoFocus}\n onChangeText={onChangeText}\n style={style}\n placeholder={STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE}\n onSelectionChange={onSelectionChange}\n originalText={text}\n supportRTLAlign\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n </View>\n <View style={{ marginTop: 8, flexDirection: 'row' }}>\n <Button variant={'text'} onPress={onPressCancel}>\n {STRINGS.LABELS.CHANNEL_INPUT_EDIT_CANCEL}\n </Button>\n <View style={styles.space} />\n <Button variant={'contained'} onPress={onPressSave}>\n {STRINGS.LABELS.CHANNEL_INPUT_EDIT_OK}\n </Button>\n </View>\n </View>\n );\n});\n\nconst styles = createStyleSheet({\n editInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 16,\n flexDirection: 'column',\n alignItems: 'center',\n },\n inputWrapper: {\n flexDirection: 'row',\n },\n space: {\n flex: 1,\n },\n});\n\nexport default EditInput;\n"],"mappings":"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","ignoreList":[]}
@@ -14,8 +14,7 @@ var _useChannelInputItems = require("../../hooks/useChannelInputItems");
14
14
  var _useContext = require("../../hooks/useContext");
15
15
  var _SBUUtils = _interopRequireDefault(require("../../libs/SBUUtils"));
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
18
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
20
19
  const SendInput = /*#__PURE__*/(0, _react.forwardRef)(function SendInput({
21
20
  style,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_uikitUtils","_constants","_useChannelInputItems","_useContext","_SBUUtils","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SendInput","forwardRef","style","VoiceMessageInput","MessageToReplyPreview","AttachmentsButton","onPressSendUserMessage","onPressSendFileMessage","text","onChangeText","onSelectionChange","mentionedUsers","inputDisabled","inputFrozen","inputMuted","channel","messageToReply","setMessageToReply","messageForThread","partialTextInputProps","ref","playerService","recorderService","usePlatformService","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","openSheet","useBottomSheet","toast","useToast","onClose","onDismiss","visible","voiceMessageInputVisible","setVisible","setVoiceMessageInputVisible","useDeferredModalState","messageReplyParams","useIIFE","groupChannel","uikit","isGroupChannel","replyType","parentMessageId","messageId","isReplyToChannel","messageMentionParams","enableMention","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","onFailureToSend","error","show","TOAST","SEND_MSG_ERROR","Logger","sendUserMessage","message","catch","Platform","OS","textInputRef","current","setTimeout","sendFileMessage","file","sendVoiceMessage","durationMills","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","metaArrays","MessageMetaArray","key","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","value","String","VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY","options","extension","sheetItems","useChannelInputItems","getPlaceholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_REPLY","threadInfo","replyCount","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","voiceMessageEnabled","enableVoiceMessage","sendButtonVisible","Boolean","trim","createElement","View","styles","sendInputContainer","onPress","disabled","TextInput","multiline","disableFullscreenUI","editable","placeholder","originalText","supportRTLAlign","textToMentionedComponents","VoiceMessageButton","UserMessageSendButton","Modal","disableBackgroundClose","reset","backgroundStyle","justifyContent","type","onSend","duration","alert","useAlert","colors","useUIKitTheme","onPressWithPermissionCheck","recorderGranted","requestPermission","title","DIALOG","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","PERMISSION_MICROPHONE","PERMISSION_APP_NAME","buttons","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","playerGranted","PERMISSION_DEVICE_STORAGE","TouchableOpacity","Icon","color","ui","input","highlight","active","icon","size","containerStyle","sendIcon","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","marginStart","padding","_default","exports"],"sources":["SendInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n NativeSyntheticEvent,\n Platform,\n TextInput as RNTextInput,\n TextInputSelectionChangeEventData,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport { MentionType, MessageMetaArray } from '@sendbird/chat/message';\nimport {\n Icon,\n Modal,\n TextInput,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, useDeferredModalState, useIIFE } from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY, VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY } from '../../constants';\nimport { useChannelInputItems } from '../../hooks/useChannelInputItems';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface SendInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n mentionedUsers: MentionedUser[];\n}\n\nconst SendInput = forwardRef<RNTextInput, SendInputProps>(function SendInput(\n {\n style,\n VoiceMessageInput,\n MessageToReplyPreview,\n AttachmentsButton,\n onPressSendUserMessage,\n onPressSendFileMessage,\n text,\n onChangeText,\n onSelectionChange,\n mentionedUsers,\n inputDisabled,\n inputFrozen,\n inputMuted,\n channel,\n messageToReply,\n setMessageToReply,\n messageForThread,\n partialTextInputProps,\n },\n ref,\n) {\n const { playerService, recorderService } = usePlatformService();\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const toast = useToast();\n\n const {\n onClose,\n onDismiss,\n visible: voiceMessageInputVisible,\n setVisible: setVoiceMessageInputVisible,\n } = useDeferredModalState();\n\n const messageReplyParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n\n if (channel.isGroupChannel()) {\n if (groupChannel.channel.replyType === 'quote_reply' && messageToReply) {\n return {\n parentMessageId: messageToReply.messageId,\n isReplyToChannel: true,\n };\n } else if (groupChannel.channel.replyType === 'thread' && messageForThread) {\n return {\n parentMessageId: messageForThread.messageId,\n isReplyToChannel: true,\n };\n }\n }\n\n return {};\n });\n\n const messageMentionParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n if (!channel.isGroupChannel() || !groupChannel.channel.enableMention) return {};\n return {\n mentionType: MentionType.USERS,\n mentionedUserIds: mentionedUsers.map((it) => it.user.userId),\n mentionedMessageTemplate: mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n groupChannel.channel.enableMention,\n ),\n };\n });\n\n const onFailureToSend = (error: Error) => {\n toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error');\n Logger.error(STRINGS.TOAST.SEND_MSG_ERROR, error);\n };\n\n const sendUserMessage = () => {\n onPressSendUserMessage({\n message: text,\n ...messageMentionParams,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n // On iOS with autoCorrect enabled, calling onChangeText('') immediately after sending\n // can be ignored due to the keyboard's autocorrect not being committed yet.\n // Delay the clear call slightly to allow the autocorrected text to be applied first.\n if (Platform.OS === 'ios') {\n const textInputRef = ref as React.MutableRefObject<RNTextInput | undefined>;\n if (textInputRef.current) {\n setTimeout(() => {\n onChangeText('');\n }, 10);\n }\n } else {\n onChangeText('');\n }\n setMessageToReply?.();\n };\n\n const sendFileMessage = (file: FileType) => {\n onPressSendFileMessage({\n file,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n setMessageToReply?.();\n };\n\n const sendVoiceMessage = (file: FileType, durationMills: number) => {\n if (inputMuted) {\n toast.show(STRINGS.TOAST.USER_MUTED_ERROR, 'error');\n Logger.error(STRINGS.TOAST.USER_MUTED_ERROR);\n } else if (inputFrozen) {\n toast.show(STRINGS.TOAST.CHANNEL_FROZEN_ERROR, 'error');\n Logger.error(STRINGS.TOAST.CHANNEL_FROZEN_ERROR);\n } else {\n onPressSendFileMessage({\n file,\n metaArrays: [\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_DURATION_KEY,\n value: [String(durationMills)],\n }),\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY,\n value: [`voice/${recorderService.options.extension}`],\n }),\n ],\n ...messageReplyParams,\n }).catch(onFailureToSend);\n }\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sheetItems = useChannelInputItems(channel, sendFileMessage);\n\n const getPlaceholder = () => {\n if (inputMuted) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED;\n if (inputFrozen) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (inputDisabled) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (messageToReply) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY;\n if (messageForThread) {\n if (messageForThread.threadInfo && messageForThread.threadInfo.replyCount > 0) {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD;\n } else {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD;\n }\n }\n\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE;\n };\n\n const voiceMessageEnabled = channel.isGroupChannel() && sbOptions.uikit.groupChannel.channel.enableVoiceMessage;\n const sendButtonVisible = Boolean(text.trim());\n\n return (\n <View>\n {MessageToReplyPreview && (\n <MessageToReplyPreview messageToReply={messageToReply} setMessageToReply={setMessageToReply} />\n )}\n <View style={styles.sendInputContainer}>\n {AttachmentsButton && <AttachmentsButton onPress={() => openSheet({ sheetItems })} disabled={inputDisabled} />}\n <TextInput\n {...partialTextInputProps}\n ref={ref}\n multiline\n disableFullscreenUI\n onSelectionChange={onSelectionChange}\n editable={!inputDisabled}\n onChangeText={onChangeText}\n style={style}\n placeholder={getPlaceholder()}\n originalText={text}\n supportRTLAlign\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n\n {voiceMessageEnabled && (\n <VoiceMessageButton\n visible={!sendButtonVisible}\n disabled={inputDisabled}\n onPress={() => setVoiceMessageInputVisible(true)}\n />\n )}\n <UserMessageSendButton visible={sendButtonVisible} disabled={inputDisabled} onPress={sendUserMessage} />\n {voiceMessageEnabled && VoiceMessageInput && (\n <Modal\n disableBackgroundClose\n onClose={onClose}\n onDismiss={() => {\n onDismiss();\n playerService.reset().catch(() => {});\n recorderService.reset().catch(() => {});\n }}\n backgroundStyle={{ justifyContent: 'flex-end' }}\n visible={voiceMessageInputVisible}\n type={'slide-no-gesture'}\n >\n <VoiceMessageInput onClose={onClose} onSend={({ file, duration }) => sendVoiceMessage(file, duration)} />\n </Modal>\n )}\n </View>\n </View>\n );\n});\n\ntype InputButtonProps = { visible: boolean; disabled: boolean; onPress: () => void };\nconst VoiceMessageButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { STRINGS } = useLocalization();\n const { alert } = useAlert();\n const { playerService, recorderService } = usePlatformService();\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n\n const onPressWithPermissionCheck = async () => {\n const recorderGranted = await recorderService.requestPermission();\n if (!recorderGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_MICROPHONE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for recorder');\n return;\n }\n\n const playerGranted = await playerService.requestPermission();\n if (!playerGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for player');\n return;\n }\n\n onPress();\n };\n\n return (\n <TouchableOpacity onPress={onPressWithPermissionCheck} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'audio-on'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\nconst UserMessageSendButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n return (\n <TouchableOpacity onPress={onPress} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n sendIcon: {\n marginStart: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_uikitUtils","_constants","_useChannelInputItems","_useContext","_SBUUtils","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","SendInput","forwardRef","style","VoiceMessageInput","MessageToReplyPreview","AttachmentsButton","onPressSendUserMessage","onPressSendFileMessage","text","onChangeText","onSelectionChange","mentionedUsers","inputDisabled","inputFrozen","inputMuted","channel","messageToReply","setMessageToReply","messageForThread","partialTextInputProps","ref","playerService","recorderService","usePlatformService","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","openSheet","useBottomSheet","toast","useToast","onClose","onDismiss","visible","voiceMessageInputVisible","setVisible","setVoiceMessageInputVisible","useDeferredModalState","messageReplyParams","useIIFE","groupChannel","uikit","isGroupChannel","replyType","parentMessageId","messageId","isReplyToChannel","messageMentionParams","enableMention","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","onFailureToSend","error","show","TOAST","SEND_MSG_ERROR","Logger","sendUserMessage","message","catch","Platform","OS","textInputRef","current","setTimeout","sendFileMessage","file","sendVoiceMessage","durationMills","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","metaArrays","MessageMetaArray","key","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","value","String","VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY","options","extension","sheetItems","useChannelInputItems","getPlaceholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_REPLY","threadInfo","replyCount","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","voiceMessageEnabled","enableVoiceMessage","sendButtonVisible","Boolean","trim","createElement","View","styles","sendInputContainer","onPress","disabled","TextInput","multiline","disableFullscreenUI","editable","placeholder","originalText","supportRTLAlign","textToMentionedComponents","VoiceMessageButton","UserMessageSendButton","Modal","disableBackgroundClose","reset","backgroundStyle","justifyContent","type","onSend","duration","alert","useAlert","colors","useUIKitTheme","onPressWithPermissionCheck","recorderGranted","requestPermission","title","DIALOG","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","PERMISSION_MICROPHONE","PERMISSION_APP_NAME","buttons","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","playerGranted","PERMISSION_DEVICE_STORAGE","TouchableOpacity","Icon","color","ui","input","highlight","active","icon","size","containerStyle","sendIcon","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","marginStart","padding","_default","exports"],"sources":["SendInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n NativeSyntheticEvent,\n Platform,\n TextInput as RNTextInput,\n TextInputSelectionChangeEventData,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport { MentionType, MessageMetaArray } from '@sendbird/chat/message';\nimport {\n Icon,\n Modal,\n TextInput,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, useDeferredModalState, useIIFE } from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY, VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY } from '../../constants';\nimport { useChannelInputItems } from '../../hooks/useChannelInputItems';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface SendInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n mentionedUsers: MentionedUser[];\n}\n\nconst SendInput = forwardRef<RNTextInput, SendInputProps>(function SendInput(\n {\n style,\n VoiceMessageInput,\n MessageToReplyPreview,\n AttachmentsButton,\n onPressSendUserMessage,\n onPressSendFileMessage,\n text,\n onChangeText,\n onSelectionChange,\n mentionedUsers,\n inputDisabled,\n inputFrozen,\n inputMuted,\n channel,\n messageToReply,\n setMessageToReply,\n messageForThread,\n partialTextInputProps,\n },\n ref,\n) {\n const { playerService, recorderService } = usePlatformService();\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const toast = useToast();\n\n const {\n onClose,\n onDismiss,\n visible: voiceMessageInputVisible,\n setVisible: setVoiceMessageInputVisible,\n } = useDeferredModalState();\n\n const messageReplyParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n\n if (channel.isGroupChannel()) {\n if (groupChannel.channel.replyType === 'quote_reply' && messageToReply) {\n return {\n parentMessageId: messageToReply.messageId,\n isReplyToChannel: true,\n };\n } else if (groupChannel.channel.replyType === 'thread' && messageForThread) {\n return {\n parentMessageId: messageForThread.messageId,\n isReplyToChannel: true,\n };\n }\n }\n\n return {};\n });\n\n const messageMentionParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n if (!channel.isGroupChannel() || !groupChannel.channel.enableMention) return {};\n return {\n mentionType: MentionType.USERS,\n mentionedUserIds: mentionedUsers.map((it) => it.user.userId),\n mentionedMessageTemplate: mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n groupChannel.channel.enableMention,\n ),\n };\n });\n\n const onFailureToSend = (error: Error) => {\n toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error');\n Logger.error(STRINGS.TOAST.SEND_MSG_ERROR, error);\n };\n\n const sendUserMessage = () => {\n onPressSendUserMessage({\n message: text,\n ...messageMentionParams,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n // On iOS with autoCorrect enabled, calling onChangeText('') immediately after sending\n // can be ignored due to the keyboard's autocorrect not being committed yet.\n // Delay the clear call slightly to allow the autocorrected text to be applied first.\n if (Platform.OS === 'ios') {\n const textInputRef = ref as React.MutableRefObject<RNTextInput | undefined>;\n if (textInputRef.current) {\n setTimeout(() => {\n onChangeText('');\n }, 10);\n }\n } else {\n onChangeText('');\n }\n setMessageToReply?.();\n };\n\n const sendFileMessage = (file: FileType) => {\n onPressSendFileMessage({\n file,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n setMessageToReply?.();\n };\n\n const sendVoiceMessage = (file: FileType, durationMills: number) => {\n if (inputMuted) {\n toast.show(STRINGS.TOAST.USER_MUTED_ERROR, 'error');\n Logger.error(STRINGS.TOAST.USER_MUTED_ERROR);\n } else if (inputFrozen) {\n toast.show(STRINGS.TOAST.CHANNEL_FROZEN_ERROR, 'error');\n Logger.error(STRINGS.TOAST.CHANNEL_FROZEN_ERROR);\n } else {\n onPressSendFileMessage({\n file,\n metaArrays: [\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_DURATION_KEY,\n value: [String(durationMills)],\n }),\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY,\n value: [`voice/${recorderService.options.extension}`],\n }),\n ],\n ...messageReplyParams,\n }).catch(onFailureToSend);\n }\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sheetItems = useChannelInputItems(channel, sendFileMessage);\n\n const getPlaceholder = () => {\n if (inputMuted) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED;\n if (inputFrozen) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (inputDisabled) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (messageToReply) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY;\n if (messageForThread) {\n if (messageForThread.threadInfo && messageForThread.threadInfo.replyCount > 0) {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD;\n } else {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD;\n }\n }\n\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE;\n };\n\n const voiceMessageEnabled = channel.isGroupChannel() && sbOptions.uikit.groupChannel.channel.enableVoiceMessage;\n const sendButtonVisible = Boolean(text.trim());\n\n return (\n <View>\n {MessageToReplyPreview && (\n <MessageToReplyPreview messageToReply={messageToReply} setMessageToReply={setMessageToReply} />\n )}\n <View style={styles.sendInputContainer}>\n {AttachmentsButton && <AttachmentsButton onPress={() => openSheet({ sheetItems })} disabled={inputDisabled} />}\n <TextInput\n {...partialTextInputProps}\n ref={ref}\n multiline\n disableFullscreenUI\n onSelectionChange={onSelectionChange}\n editable={!inputDisabled}\n onChangeText={onChangeText}\n style={style}\n placeholder={getPlaceholder()}\n originalText={text}\n supportRTLAlign\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n\n {voiceMessageEnabled && (\n <VoiceMessageButton\n visible={!sendButtonVisible}\n disabled={inputDisabled}\n onPress={() => setVoiceMessageInputVisible(true)}\n />\n )}\n <UserMessageSendButton visible={sendButtonVisible} disabled={inputDisabled} onPress={sendUserMessage} />\n {voiceMessageEnabled && VoiceMessageInput && (\n <Modal\n disableBackgroundClose\n onClose={onClose}\n onDismiss={() => {\n onDismiss();\n playerService.reset().catch(() => {});\n recorderService.reset().catch(() => {});\n }}\n backgroundStyle={{ justifyContent: 'flex-end' }}\n visible={voiceMessageInputVisible}\n type={'slide-no-gesture'}\n >\n <VoiceMessageInput onClose={onClose} onSend={({ file, duration }) => sendVoiceMessage(file, duration)} />\n </Modal>\n )}\n </View>\n </View>\n );\n});\n\ntype InputButtonProps = { visible: boolean; disabled: boolean; onPress: () => void };\nconst VoiceMessageButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { STRINGS } = useLocalization();\n const { alert } = useAlert();\n const { playerService, recorderService } = usePlatformService();\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n\n const onPressWithPermissionCheck = async () => {\n const recorderGranted = await recorderService.requestPermission();\n if (!recorderGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_MICROPHONE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for recorder');\n return;\n }\n\n const playerGranted = await playerService.requestPermission();\n if (!playerGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for player');\n return;\n }\n\n onPress();\n };\n\n return (\n <TouchableOpacity onPress={onPressWithPermissionCheck} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'audio-on'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\nconst UserMessageSendButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n return (\n <TouchableOpacity onPress={onPress} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n sendIcon: {\n marginStart: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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","ignoreList":[]}
@@ -11,8 +11,7 @@ var _uikitUtils = require("@sendbird/uikit-utils");
11
11
  var _useContext = require("../../hooks/useContext");
12
12
  var _useVoiceMessageInput = _interopRequireDefault(require("../../hooks/useVoiceMessageInput"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
15
  const VoiceMessageInput = ({
17
16
  onClose,
18
17
  onSend
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useVoiceMessageInput","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceMessageInput","onClose","onSend","STRINGS","useLocalization","colors","useUIKitTheme","actions","state","useVoiceMessageInput","file","duration","uiColors","ui","voiceMessageInput","status","onPressCancel","cancel","catch","error","Logger","warn","finally","onPressSend","send","onPressVoiceMessageAction","startRecording","lessThanMinimumDuration","stopRecording","playPlayer","pausePlayer","renderActionIcon","createElement","Icon","icon","size","color","recording","actionIcon","isRecorderState","recordingTime","currentTime","minDuration","remainingTime","playingTime","Box","backgroundColor","background","paddingVertical","paddingHorizontal","style","styles","container","ProgressBar","progressBar","current","conditionChaining","total","maxDuration","trackColor","progressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingEnd","RecordingLight","visible","Text","caption1","lineHeight","undefined","marginStart","textTime","millsToMMSS","height","CancelButton","label","LABELS","VOICE_MESSAGE_INPUT_CANCEL","onPress","SendButton","disabled","position","PressBox","activeOpacity","width","borderRadius","actionIconBackground","props","value","useRef","Animated","Value","animation","loop","sequence","timing","toValue","useNativeDriver","useEffect","start","reset","View","opacity","active","button","textCancel","numberOfLines","sendIconBackground","padding","sendIcon","createStyleSheet","borderTopStartRadius","borderTopEndRadius","marginBottom","_default","exports"],"sources":["VoiceMessageInput.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n ProgressBar,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, millsToMMSS } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\nimport useVoiceMessageInput from '../../hooks/useVoiceMessageInput';\nimport type { FileType } from '../../platform/types';\n\nexport type VoiceMessageInputProps = {\n onClose: () => Promise<void>;\n onSend: (params: { file: FileType; duration: number }) => void;\n};\n\nconst VoiceMessageInput = ({ onClose, onSend }: VoiceMessageInputProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { actions, state } = useVoiceMessageInput({\n onSend: (file, duration) => onSend({ file, duration }),\n onClose,\n });\n\n const uiColors = colors.ui.voiceMessageInput.default[state.status !== 'idle' ? 'active' : 'inactive'];\n\n const onPressCancel = async () => {\n await actions\n .cancel()\n .catch((error) => {\n Logger.warn('Failed to cancel voice message input', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressSend = async () => {\n await actions\n .send()\n .catch((error) => {\n Logger.warn('Failed to send voice message', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressVoiceMessageAction = async () => {\n try {\n switch (state.status) {\n case 'idle':\n await actions.startRecording();\n break;\n case 'recording':\n if (lessThanMinimumDuration) {\n await actions.cancel();\n } else {\n await actions.stopRecording();\n }\n break;\n case 'recording_completed':\n case 'playing_paused':\n await actions.playPlayer();\n break;\n case 'playing':\n await actions.pausePlayer();\n break;\n }\n } catch (error) {\n Logger.warn('Failed to run voice message action.', state, error);\n }\n };\n const renderActionIcon = () => {\n switch (state.status) {\n case 'idle':\n return <Icon icon={'recording'} size={20} color={uiColors.recording} />;\n case 'recording':\n return <Icon icon={'stop'} size={20} color={uiColors.actionIcon} />;\n case 'recording_completed':\n case 'playing_paused':\n return <Icon icon={'play'} size={20} color={uiColors.actionIcon} />;\n case 'playing':\n return <Icon icon={'pause'} size={20} color={uiColors.actionIcon} />;\n }\n };\n\n const isRecorderState = state.status === 'recording' || state.status === 'recording_completed';\n const lessThanMinimumDuration = state.recordingTime.currentTime < state.recordingTime.minDuration;\n const remainingTime = state.playingTime.duration - state.playingTime.currentTime;\n\n return (\n <Box backgroundColor={uiColors.background} paddingVertical={24} paddingHorizontal={16} style={styles.container}>\n {/** Progress bar **/}\n <ProgressBar\n style={styles.progressBar}\n current={conditionChaining(\n [state.status === 'recording', state.status === 'recording_completed'],\n [state.recordingTime.currentTime, 0, state.playingTime.currentTime],\n )}\n total={(isRecorderState ? state.recordingTime.maxDuration : state.playingTime.duration) || 1}\n trackColor={uiColors.progressTrack}\n overlay={\n <Box flex={1} flexDirection={'row'} alignItems={'center'} justifyContent={'flex-end'} paddingEnd={16}>\n <RecordingLight visible={state.status === 'recording'} />\n <Text caption1 style={{ lineHeight: undefined, marginStart: 6 }} color={uiColors.textTime}>\n {millsToMMSS(isRecorderState ? state.recordingTime.currentTime : remainingTime)}\n </Text>\n </Box>\n }\n />\n\n <Box height={34} alignItems={'center'} justifyContent={'center'}>\n {/** Cancel / Send **/}\n <Box flexDirection={'row'}>\n <CancelButton label={STRINGS.LABELS.VOICE_MESSAGE_INPUT_CANCEL} onPress={onPressCancel} />\n <Box flex={1} />\n <SendButton disabled={state.status === 'idle' || lessThanMinimumDuration} onPress={onPressSend} />\n </Box>\n\n {/** Record / Stop / Play / Pause **/}\n <Box style={{ position: 'absolute' }} alignItems={'center'} justifyContent={'center'}>\n <PressBox activeOpacity={0.5} onPress={onPressVoiceMessageAction}>\n <Box\n width={34}\n height={34}\n borderRadius={17}\n alignItems={'center'}\n justifyContent={'center'}\n backgroundColor={uiColors.actionIconBackground}\n >\n {renderActionIcon()}\n </Box>\n </PressBox>\n </Box>\n </Box>\n </Box>\n );\n};\n\nconst RecordingLight = (props: { visible: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const value = useRef(new Animated.Value(0)).current;\n const animation = useRef(\n Animated.loop(\n Animated.sequence([\n Animated.timing(value, { toValue: 1, duration: 500, useNativeDriver: true }),\n Animated.timing(value, { toValue: 0, duration: 500, useNativeDriver: true }),\n ]),\n ),\n ).current;\n\n useEffect(() => {\n if (props.visible) animation.start();\n return () => {\n animation.reset();\n };\n }, [props.visible]);\n\n if (!props.visible) return null;\n return (\n <Animated.View\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n opacity: value,\n backgroundColor: colors.ui.voiceMessageInput.default.active.recording,\n }}\n />\n );\n};\n\nconst CancelButton = (props: { onPress: () => void; label: string }) => {\n const { colors } = useUIKitTheme();\n\n return (\n <PressBox activeOpacity={0.8} onPress={props.onPress}>\n <Box paddingHorizontal={12} height={'100%'} alignItems={'center'} justifyContent={'center'}>\n <Text button color={colors.ui.voiceMessageInput.default.active.textCancel} numberOfLines={1}>\n {props.label}\n </Text>\n </Box>\n </PressBox>\n );\n};\n\nconst SendButton = (props: { onPress: () => void; disabled: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const uiColors = colors.ui.voiceMessageInput.default[props.disabled ? 'inactive' : 'active'];\n\n return (\n <PressBox disabled={props.disabled} activeOpacity={0.8} onPress={props.onPress}>\n <Box backgroundColor={uiColors.sendIconBackground} padding={7} borderRadius={40}>\n <Icon icon={'send'} size={20} color={uiColors.sendIcon} />\n </Box>\n </PressBox>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderTopStartRadius: 8,\n borderTopEndRadius: 8,\n },\n progressBar: {\n height: 36,\n marginBottom: 16,\n borderRadius: 18,\n },\n});\n\nexport default VoiceMessageInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useVoiceMessageInput","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VoiceMessageInput","onClose","onSend","STRINGS","useLocalization","colors","useUIKitTheme","actions","state","useVoiceMessageInput","file","duration","uiColors","ui","voiceMessageInput","status","onPressCancel","cancel","catch","error","Logger","warn","finally","onPressSend","send","onPressVoiceMessageAction","startRecording","lessThanMinimumDuration","stopRecording","playPlayer","pausePlayer","renderActionIcon","createElement","Icon","icon","size","color","recording","actionIcon","isRecorderState","recordingTime","currentTime","minDuration","remainingTime","playingTime","Box","backgroundColor","background","paddingVertical","paddingHorizontal","style","styles","container","ProgressBar","progressBar","current","conditionChaining","total","maxDuration","trackColor","progressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingEnd","RecordingLight","visible","Text","caption1","lineHeight","undefined","marginStart","textTime","millsToMMSS","height","CancelButton","label","LABELS","VOICE_MESSAGE_INPUT_CANCEL","onPress","SendButton","disabled","position","PressBox","activeOpacity","width","borderRadius","actionIconBackground","props","value","useRef","Animated","Value","animation","loop","sequence","timing","toValue","useNativeDriver","useEffect","start","reset","View","opacity","active","button","textCancel","numberOfLines","sendIconBackground","padding","sendIcon","createStyleSheet","borderTopStartRadius","borderTopEndRadius","marginBottom","_default","exports"],"sources":["VoiceMessageInput.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n ProgressBar,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, millsToMMSS } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\nimport useVoiceMessageInput from '../../hooks/useVoiceMessageInput';\nimport type { FileType } from '../../platform/types';\n\nexport type VoiceMessageInputProps = {\n onClose: () => Promise<void>;\n onSend: (params: { file: FileType; duration: number }) => void;\n};\n\nconst VoiceMessageInput = ({ onClose, onSend }: VoiceMessageInputProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { actions, state } = useVoiceMessageInput({\n onSend: (file, duration) => onSend({ file, duration }),\n onClose,\n });\n\n const uiColors = colors.ui.voiceMessageInput.default[state.status !== 'idle' ? 'active' : 'inactive'];\n\n const onPressCancel = async () => {\n await actions\n .cancel()\n .catch((error) => {\n Logger.warn('Failed to cancel voice message input', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressSend = async () => {\n await actions\n .send()\n .catch((error) => {\n Logger.warn('Failed to send voice message', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressVoiceMessageAction = async () => {\n try {\n switch (state.status) {\n case 'idle':\n await actions.startRecording();\n break;\n case 'recording':\n if (lessThanMinimumDuration) {\n await actions.cancel();\n } else {\n await actions.stopRecording();\n }\n break;\n case 'recording_completed':\n case 'playing_paused':\n await actions.playPlayer();\n break;\n case 'playing':\n await actions.pausePlayer();\n break;\n }\n } catch (error) {\n Logger.warn('Failed to run voice message action.', state, error);\n }\n };\n const renderActionIcon = () => {\n switch (state.status) {\n case 'idle':\n return <Icon icon={'recording'} size={20} color={uiColors.recording} />;\n case 'recording':\n return <Icon icon={'stop'} size={20} color={uiColors.actionIcon} />;\n case 'recording_completed':\n case 'playing_paused':\n return <Icon icon={'play'} size={20} color={uiColors.actionIcon} />;\n case 'playing':\n return <Icon icon={'pause'} size={20} color={uiColors.actionIcon} />;\n }\n };\n\n const isRecorderState = state.status === 'recording' || state.status === 'recording_completed';\n const lessThanMinimumDuration = state.recordingTime.currentTime < state.recordingTime.minDuration;\n const remainingTime = state.playingTime.duration - state.playingTime.currentTime;\n\n return (\n <Box backgroundColor={uiColors.background} paddingVertical={24} paddingHorizontal={16} style={styles.container}>\n {/** Progress bar **/}\n <ProgressBar\n style={styles.progressBar}\n current={conditionChaining(\n [state.status === 'recording', state.status === 'recording_completed'],\n [state.recordingTime.currentTime, 0, state.playingTime.currentTime],\n )}\n total={(isRecorderState ? state.recordingTime.maxDuration : state.playingTime.duration) || 1}\n trackColor={uiColors.progressTrack}\n overlay={\n <Box flex={1} flexDirection={'row'} alignItems={'center'} justifyContent={'flex-end'} paddingEnd={16}>\n <RecordingLight visible={state.status === 'recording'} />\n <Text caption1 style={{ lineHeight: undefined, marginStart: 6 }} color={uiColors.textTime}>\n {millsToMMSS(isRecorderState ? state.recordingTime.currentTime : remainingTime)}\n </Text>\n </Box>\n }\n />\n\n <Box height={34} alignItems={'center'} justifyContent={'center'}>\n {/** Cancel / Send **/}\n <Box flexDirection={'row'}>\n <CancelButton label={STRINGS.LABELS.VOICE_MESSAGE_INPUT_CANCEL} onPress={onPressCancel} />\n <Box flex={1} />\n <SendButton disabled={state.status === 'idle' || lessThanMinimumDuration} onPress={onPressSend} />\n </Box>\n\n {/** Record / Stop / Play / Pause **/}\n <Box style={{ position: 'absolute' }} alignItems={'center'} justifyContent={'center'}>\n <PressBox activeOpacity={0.5} onPress={onPressVoiceMessageAction}>\n <Box\n width={34}\n height={34}\n borderRadius={17}\n alignItems={'center'}\n justifyContent={'center'}\n backgroundColor={uiColors.actionIconBackground}\n >\n {renderActionIcon()}\n </Box>\n </PressBox>\n </Box>\n </Box>\n </Box>\n );\n};\n\nconst RecordingLight = (props: { visible: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const value = useRef(new Animated.Value(0)).current;\n const animation = useRef(\n Animated.loop(\n Animated.sequence([\n Animated.timing(value, { toValue: 1, duration: 500, useNativeDriver: true }),\n Animated.timing(value, { toValue: 0, duration: 500, useNativeDriver: true }),\n ]),\n ),\n ).current;\n\n useEffect(() => {\n if (props.visible) animation.start();\n return () => {\n animation.reset();\n };\n }, [props.visible]);\n\n if (!props.visible) return null;\n return (\n <Animated.View\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n opacity: value,\n backgroundColor: colors.ui.voiceMessageInput.default.active.recording,\n }}\n />\n );\n};\n\nconst CancelButton = (props: { onPress: () => void; label: string }) => {\n const { colors } = useUIKitTheme();\n\n return (\n <PressBox activeOpacity={0.8} onPress={props.onPress}>\n <Box paddingHorizontal={12} height={'100%'} alignItems={'center'} justifyContent={'center'}>\n <Text button color={colors.ui.voiceMessageInput.default.active.textCancel} numberOfLines={1}>\n {props.label}\n </Text>\n </Box>\n </PressBox>\n );\n};\n\nconst SendButton = (props: { onPress: () => void; disabled: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const uiColors = colors.ui.voiceMessageInput.default[props.disabled ? 'inactive' : 'active'];\n\n return (\n <PressBox disabled={props.disabled} activeOpacity={0.8} onPress={props.onPress}>\n <Box backgroundColor={uiColors.sendIconBackground} padding={7} borderRadius={40}>\n <Icon icon={'send'} size={20} color={uiColors.sendIcon} />\n </Box>\n </PressBox>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderTopStartRadius: 8,\n borderTopEndRadius: 8,\n },\n progressBar: {\n height: 36,\n marginBottom: 16,\n borderRadius: 18,\n },\n});\n\nexport default VoiceMessageInput;\n"],"mappings":"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","ignoreList":[]}
@@ -16,8 +16,7 @@ var _MessageToReplyPreview = require("./MessageToReplyPreview");
16
16
  var _SendInput = _interopRequireDefault(require("./SendInput"));
17
17
  var _VoiceMessageInput = _interopRequireDefault(require("./VoiceMessageInput"));
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
20
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
22
21
  const AUTO_FOCUS = _reactNative.Platform.select({
23
22
  ios: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useMentionTextInput","_interopRequireDefault","_AttachmentsButton","_EditInput","_MessageToReplyPreview","_SendInput","_VoiceMessageInput","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AUTO_FOCUS","Platform","select","ios","android","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","safeArea","useSafeAreaPadding","colors","typography","useUIKitTheme","sbOptions","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","uikit","groupChannel","enableMention","isGroupChannel","isBroadcast","inputKeyToRemount","inputHeight","setInputHeight","useState","styles","inputDefault","height","fontStyle","useMemo","body3","fontSize","lineHeight","textAlignVertical","textInputStyle","StyleSheet","flatten","input","style","useTypingTrigger","useTextClearOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","createElement","SafeAreaBottom","paddingBottom","Fragment","KeyboardAvoidingView","keyboardVerticalOffset","behavior","View","paddingStart","paddingEnd","backgroundColor","background","onLayout","nativeEvent","layout","inputContainer","key","ref","VoiceMessageInput","AttachmentsButton","MessageToReplyPreview","autoFocus","SuggestedMentionList","topInset","paddingTop","bottomInset","useEffect","triggerTyping","action","endTyping","startTyping","catch","error","Logger","debug","setText","chatDisabled","isUserMessage","setTimeout","_textInputRef$current","current","focus","createStyleSheet","justifyContent","width","flex","marginEnd","borderRadius","minHeight","maxHeight","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n KeyboardAvoidingView,\n Platform,\n StyleProp,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n} from 'react-native';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { CommonComponent, MentionedUser, Range } from '../../types';\nimport type { AttachmentsButtonProps } from './AttachmentsButton';\nimport AttachmentsButton from './AttachmentsButton';\nimport EditInput from './EditInput';\nimport type { MessageToReplyPreviewProps } from './MessageToReplyPreview';\nimport { MessageToReplyPreview } from './MessageToReplyPreview';\nimport SendInput from './SendInput';\nimport VoiceMessageInput, { VoiceMessageInputProps } from './VoiceMessageInput';\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 * Whether to show user id information on each item.\n * */\n showUserId?: boolean;\n};\n\nexport type ChannelInputProps = {\n // style\n style?: StyleProp<TextStyle>;\n\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 // reply - only available on group channel\n messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n messageForThread?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n\n // mention\n SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;\n\n // sub-components\n AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;\n MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;\n VoiceMessageInput?: (props: VoiceMessageInputProps) => React.ReactNode | null;\n\n // TextInput props - only safe properties that don't interfere with UIKit functionality\n partialTextInputProps?: Partial<Pick<TextInputProps, 'autoCorrect'>>;\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.\n// const GET_INPUT_KEY = (shouldReset: boolean) => {\n// return Platform.OS === 'ios' && shouldReset ? 'uikit-input-clear' : 'uikit-input';\n// };\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const safeArea = useSafeAreaPadding(['top', 'left', 'right', 'bottom']);\n\n const { colors, typography } = useUIKitTheme();\n const { sbOptions, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (messageToEdit && !messageToEdit.isFileMessage()) return 'edit';\n else return 'send';\n });\n\n const mentionAvailable =\n sbOptions.uikit.groupChannel.channel.enableMention && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = 'input'; //GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n const fontStyle = useMemo(() => {\n if (!typography.body3.fontSize) return typography.body3;\n // NOTE: iOS does not support textAlignVertical, so we should adjust lineHeight to center the text in multiline TextInput.\n return { ...typography.body3, lineHeight: typography.body3.fontSize * 1.275, textAlignVertical: 'center' };\n }, [typography.body3.fontSize]);\n\n const textInputStyle = StyleSheet.flatten([styles.input, fontStyle, props.style]);\n\n useTypingTrigger(text, channel);\n useTextClearOnDisabled(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={safeArea.paddingBottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-safeArea.paddingBottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View\n style={{\n paddingStart: safeArea.paddingStart,\n paddingEnd: safeArea.paddingEnd,\n backgroundColor: colors.background,\n }}\n >\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 VoiceMessageInput={props.VoiceMessageInput ?? VoiceMessageInput}\n AttachmentsButton={props.AttachmentsButton ?? AttachmentsButton}\n MessageToReplyPreview={props.MessageToReplyPreview ?? MessageToReplyPreview}\n style={textInputStyle}\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 mentionedUsers={mentionedUsers}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n style={textInputStyle}\n />\n )}\n </View>\n <SafeAreaBottom height={safeArea.paddingBottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={safeArea.paddingTop}\n bottomInset={safeArea.paddingBottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n useEffect(\n () => {\n function triggerTyping() {\n if (channel.isGroupChannel()) {\n const action = () => (text.length === 0 ? channel.endTyping() : channel.startTyping());\n action().catch((error) => {\n Logger.debug('ChannelInput: Failed to trigger typing', error);\n });\n }\n }\n\n triggerTyping();\n },\n channel.isGroupChannel() ? [text] : [],\n );\n};\n\nconst useTextClearOnDisabled = (setText: (val: string) => void, chatDisabled: boolean) => {\n useEffect(() => {\n if (chatDisabled) setText('');\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: React.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 input: {\n flex: 1,\n marginEnd: 4,\n borderRadius: 20,\n paddingTop: 8,\n paddingBottom: 8,\n minHeight: 36,\n // Android - padding area is hidden\n // iOS - padding area is visible\n maxHeight: Platform.select({ ios: 36 * 2 + 16, android: 36 * 2 }),\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAWA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAgBA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAC,sBAAA,CAAAN,OAAA;AAGA,IAAAO,kBAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,UAAA,GAAAF,sBAAA,CAAAN,OAAA;AAEA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAJ,sBAAA,CAAAN,OAAA;AACA,IAAAW,kBAAA,GAAAL,sBAAA,CAAAN,OAAA;AAAgF,SAAAM,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAyDhF,MAAMG,UAAU,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,KAAK;EAAEC,OAAO,EAAE,IAAI;EAAE5B,OAAO,EAAE;AAAM,CAAC,CAAC;AACjF,MAAM6B,4BAA4B,GAAGJ,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,SAAkB;EAAE3B,OAAO,EAAE8B;AAAU,CAAC,CAAC;;AAErG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACjD,MAAM;IAAEC,OAAO;IAAEC,mBAAmB;IAAEC,aAAa;IAAEC;EAAiB,CAAC,GAAGJ,KAAK;EAE/E,MAAMK,QAAQ,GAAG,IAAAC,8BAAkB,EAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EAEvE,MAAM;IAAEC,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,yCAAa,EAAC,CAAC;EAC9C,MAAM;IAAEC,SAAS;IAAEC;EAAe,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAEvD,MAAM;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC,YAAY;IAAEC,IAAI;IAAEC,YAAY;IAAEC;EAAe,CAAC,GAAG,IAAAC,4BAAmB,EAAC;IAC7GhB;EACF,CAAC,CAAC;EACF,MAAMiB,SAAS,GAAG,IAAAC,mBAAO,EAAC,MAAM;IAC9B,IAAIlB,aAAa,IAAI,CAACA,aAAa,CAACmB,aAAa,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,KAC9D,OAAO,MAAM;EACpB,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GACpBb,SAAS,CAACc,KAAK,CAACC,YAAY,CAACxB,OAAO,CAACyB,aAAa,IAAIzB,OAAO,CAAC0B,cAAc,CAAC,CAAC,IAAI,CAAC1B,OAAO,CAAC2B,WAAW;EACxG,MAAMC,iBAAiB,GAAG,OAAO,CAAC,CAAC;;EAEnC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAACC,MAAM,CAACC,YAAY,CAACC,MAAM,CAAC;EAE1E,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC9B,IAAI,CAAC7B,UAAU,CAAC8B,KAAK,CAACC,QAAQ,EAAE,OAAO/B,UAAU,CAAC8B,KAAK;IACvD;IACA,OAAO;MAAE,GAAG9B,UAAU,CAAC8B,KAAK;MAAEE,UAAU,EAAEhC,UAAU,CAAC8B,KAAK,CAACC,QAAQ,GAAG,KAAK;MAAEE,iBAAiB,EAAE;IAAS,CAAC;EAC5G,CAAC,EAAE,CAACjC,UAAU,CAAC8B,KAAK,CAACC,QAAQ,CAAC,CAAC;EAE/B,MAAMG,cAAc,GAAGC,uBAAU,CAACC,OAAO,CAAC,CAACX,MAAM,CAACY,KAAK,EAAET,SAAS,EAAEpC,KAAK,CAAC8C,KAAK,CAAC,CAAC;EAEjFC,gBAAgB,CAAC/B,IAAI,EAAEf,OAAO,CAAC;EAC/B+C,sBAAsB,CAAC/B,YAAY,EAAEjB,KAAK,CAACiD,aAAa,CAAC;EACzDC,sBAAsB,CAACnC,YAAY,EAAEZ,aAAa,CAAC;EAEnD,MAAMgD,gBAAgB,GAAGA,CAACC,IAAoB,EAAEC,iBAAwB,KAAK;IAC3E,MAAMC,oBAAoB,GAAG3C,cAAc,CAAC4C,sBAAsB,CAACH,IAAI,EAAE,IAAI,CAAC;IAC9E,MAAMI,KAAK,GAAG;MAAEC,KAAK,EAAEJ,iBAAiB,CAACI,KAAK;MAAEC,GAAG,EAAEL,iBAAiB,CAACI,KAAK,GAAGH,oBAAoB,CAAChE,MAAM,GAAG;IAAE,CAAC;IAEhH2B,YAAY,CAAC,IAAA0C,mBAAO,EAAC3C,IAAI,EAAEqC,iBAAiB,CAACI,KAAK,EAAEJ,iBAAiB,CAACK,GAAG,EAAEJ,oBAAoB,CAAC,EAAE;MAAEF,IAAI;MAAEI;IAAM,CAAC,CAAC;EACpH,CAAC;EAED,IAAI,CAACxD,KAAK,CAAC4D,iBAAiB,EAAE;IAC5B,oBAAO5G,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAACC,cAAc;MAAC3B,MAAM,EAAE9B,QAAQ,CAAC0D;IAAc,CAAE,CAAC;EAC3D;EAEA,oBACE/G,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAA7G,MAAA,CAAAgB,OAAA,CAAAgG,QAAA,qBACEhH,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAC1G,YAAA,CAAA8G,oBAAoB;IACnBC,sBAAsB,EAAE,CAAC7D,QAAQ,CAAC0D,aAAa,GAAG7D,mBAAoB;IACtEiE,QAAQ,EAAEtE;EAA6B,gBAEvC7C,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAC1G,YAAA,CAAAiH,IAAI;IACHtB,KAAK,EAAE;MACLuB,YAAY,EAAEhE,QAAQ,CAACgE,YAAY;MACnCC,UAAU,EAAEjE,QAAQ,CAACiE,UAAU;MAC/BC,eAAe,EAAEhE,MAAM,CAACiE;IAC1B;EAAE,gBAEFxH,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAC1G,YAAA,CAAAiH,IAAI;IAACK,QAAQ,EAAG3G,CAAC,IAAKiE,cAAc,CAACjE,CAAC,CAAC4G,WAAW,CAACC,MAAM,CAACxC,MAAM,CAAE;IAACW,KAAK,EAAEb,MAAM,CAAC2C;EAAe,GAC9FxD,SAAS,KAAK,MAAM,iBACnBpE,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAACjG,UAAA,CAAAI,OAAS,EAAAkB,QAAA,KACJc,KAAK;IACT6E,GAAG,EAAEhD,iBAAkB;IACvBiD,GAAG,EAAE/D,YAAsB;IAC3BC,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BH,iBAAiB,EAAEA,iBAAkB;IACrCI,cAAc,EAAEA,cAAe;IAC/B6D,iBAAiB,EAAE/E,KAAK,CAAC+E,iBAAiB,IAAIA,0BAAkB;IAChEC,iBAAiB,EAAEhF,KAAK,CAACgF,iBAAiB,IAAIA,0BAAkB;IAChEC,qBAAqB,EAAEjF,KAAK,CAACiF,qBAAqB,IAAIA,4CAAsB;IAC5EnC,KAAK,EAAEJ;EAAe,EACvB,CACF,EACAtB,SAAS,KAAK,MAAM,IAAIjB,aAAa,iBACpCnD,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAACnG,UAAA,CAAAM,OAAS,EAAAkB,QAAA,KACJc,KAAK;IACT6E,GAAG,EAAEhD,iBAAkB;IACvBiD,GAAG,EAAE/D,YAAsB;IAC3BC,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BiE,SAAS,EAAE1F,UAAW;IACtBsB,iBAAiB,EAAEA,iBAAkB;IACrCI,cAAc,EAAEA,cAAe;IAC/Bf,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnC0C,KAAK,EAAEJ;EAAe,EACvB,CAEC,CAAC,eACP1F,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAACC,cAAc;IAAC3B,MAAM,EAAE9B,QAAQ,CAAC0D;EAAc,CAAE,CAC7C,CACc,CAAC,EACtBxC,gBAAgB,IAAIvB,KAAK,CAACmF,oBAAoB,iBAC7CnI,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAC7D,KAAK,CAACmF,oBAAoB;IACzBnE,IAAI,EAAEA,IAAK;IACXH,SAAS,EAAEA,SAAU;IACrBiB,WAAW,EAAEA,WAAY;IACzBsD,QAAQ,EAAE/E,QAAQ,CAACgF,UAAW;IAC9BC,WAAW,EAAEjF,QAAQ,CAAC0D,aAAc;IACpCZ,gBAAgB,EAAEA,gBAAiB;IACnCjC,cAAc,EAAEA;EAAe,CAChC,CAEH,CAAC;AAEP,CAAC;AAED,MAAM6B,gBAAgB,GAAGA,CAAC/B,IAAY,EAAEf,OAA4B,KAAK;EACvE,IAAAsF,gBAAS,EACP,MAAM;IACJ,SAASC,aAAaA,CAAA,EAAG;MACvB,IAAIvF,OAAO,CAAC0B,cAAc,CAAC,CAAC,EAAE;QAC5B,MAAM8D,MAAM,GAAGA,CAAA,KAAOzE,IAAI,CAAC1B,MAAM,KAAK,CAAC,GAAGW,OAAO,CAACyF,SAAS,CAAC,CAAC,GAAGzF,OAAO,CAAC0F,WAAW,CAAC,CAAE;QACtFF,MAAM,CAAC,CAAC,CAACG,KAAK,CAAEC,KAAK,IAAK;UACxBC,kBAAM,CAACC,KAAK,CAAC,wCAAwC,EAAEF,KAAK,CAAC;QAC/D,CAAC,CAAC;MACJ;IACF;IAEAL,aAAa,CAAC,CAAC;EACjB,CAAC,EACDvF,OAAO,CAAC0B,cAAc,CAAC,CAAC,GAAG,CAACX,IAAI,CAAC,GAAG,EACtC,CAAC;AACH,CAAC;AAED,MAAMgC,sBAAsB,GAAGA,CAACgD,OAA8B,EAAEC,YAAqB,KAAK;EACxF,IAAAV,gBAAS,EAAC,MAAM;IACd,IAAIU,YAAY,EAAED,OAAO,CAAC,EAAE,CAAC;EAC/B,CAAC,EAAE,CAACC,YAAY,CAAC,CAAC;AACpB,CAAC;AAED,MAAM/C,sBAAsB,GAAGA,CAC7BnC,YAA2D,EAC3DZ,aAAmC,KAChC;EACH,IAAAoF,gBAAS,EAAC,MAAM;IACd,IAAIpF,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAE+F,aAAa,CAAC,CAAC,EAAE;MAClC,IAAI,CAAC1G,UAAU,EAAE2G,UAAU,CAAC;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAMrF,YAAY,CAACsF,OAAO,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBE,KAAK,CAAC,CAAC;MAAA,GAAE,GAAG,CAAC;IACvE;EACF,CAAC,EAAE,CAACnG,aAAa,CAAC,CAAC;AACrB,CAAC;AAED,MAAM2D,cAAc,GAAGA,CAAC;EAAE3B;AAA2B,CAAC,KAAK;EACzD,oBAAOnF,MAAA,CAAAgB,OAAA,CAAA6F,aAAA,CAAC1G,YAAA,CAAAiH,IAAI;IAACtB,KAAK,EAAE;MAAEX;IAAO;EAAE,CAAE,CAAC;AACpC,CAAC;AAED,MAAMF,MAAM,GAAG,IAAAsE,4CAAgB,EAAC;EAC9B3B,cAAc,EAAE;IACd4B,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT,CAAC;EACDvE,YAAY,EAAE;IACZC,MAAM,EAAE;EACV,CAAC;EACDU,KAAK,EAAE;IACL6D,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,EAAE;IAChBvB,UAAU,EAAE,CAAC;IACbtB,aAAa,EAAE,CAAC;IAChB8C,SAAS,EAAE,EAAE;IACb;IACA;IACAC,SAAS,EAAErH,qBAAQ,CAACC,MAAM,CAAC;MAAEC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE;MAAEC,OAAO,EAAE,EAAE,GAAG;IAAE,CAAC;EAClE;AACF,CAAC,CAAC;AAAC,IAAAmH,QAAA,GAAAC,OAAA,CAAAhJ,OAAA,gBAEYiJ,cAAK,CAACC,IAAI,CAACnH,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useMentionTextInput","_interopRequireDefault","_AttachmentsButton","_EditInput","_MessageToReplyPreview","_SendInput","_VoiceMessageInput","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","AUTO_FOCUS","Platform","select","ios","android","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","safeArea","useSafeAreaPadding","colors","typography","useUIKitTheme","sbOptions","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","uikit","groupChannel","enableMention","isGroupChannel","isBroadcast","inputKeyToRemount","inputHeight","setInputHeight","useState","styles","inputDefault","height","fontStyle","useMemo","body3","fontSize","lineHeight","textAlignVertical","textInputStyle","StyleSheet","flatten","input","style","useTypingTrigger","useTextClearOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","createElement","SafeAreaBottom","paddingBottom","Fragment","KeyboardAvoidingView","keyboardVerticalOffset","behavior","View","paddingStart","paddingEnd","backgroundColor","background","onLayout","nativeEvent","layout","inputContainer","key","ref","VoiceMessageInput","AttachmentsButton","MessageToReplyPreview","autoFocus","SuggestedMentionList","topInset","paddingTop","bottomInset","useEffect","triggerTyping","action","endTyping","startTyping","catch","error","Logger","debug","setText","chatDisabled","isUserMessage","setTimeout","_textInputRef$current","current","focus","createStyleSheet","justifyContent","width","flex","marginEnd","borderRadius","minHeight","maxHeight","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n KeyboardAvoidingView,\n Platform,\n StyleProp,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n} from 'react-native';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { CommonComponent, MentionedUser, Range } from '../../types';\nimport type { AttachmentsButtonProps } from './AttachmentsButton';\nimport AttachmentsButton from './AttachmentsButton';\nimport EditInput from './EditInput';\nimport type { MessageToReplyPreviewProps } from './MessageToReplyPreview';\nimport { MessageToReplyPreview } from './MessageToReplyPreview';\nimport SendInput from './SendInput';\nimport VoiceMessageInput, { VoiceMessageInputProps } from './VoiceMessageInput';\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 * Whether to show user id information on each item.\n * */\n showUserId?: boolean;\n};\n\nexport type ChannelInputProps = {\n // style\n style?: StyleProp<TextStyle>;\n\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 // reply - only available on group channel\n messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n messageForThread?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n\n // mention\n SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;\n\n // sub-components\n AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;\n MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;\n VoiceMessageInput?: (props: VoiceMessageInputProps) => React.ReactNode | null;\n\n // TextInput props - only safe properties that don't interfere with UIKit functionality\n partialTextInputProps?: Partial<Pick<TextInputProps, 'autoCorrect'>>;\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.\n// const GET_INPUT_KEY = (shouldReset: boolean) => {\n// return Platform.OS === 'ios' && shouldReset ? 'uikit-input-clear' : 'uikit-input';\n// };\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const safeArea = useSafeAreaPadding(['top', 'left', 'right', 'bottom']);\n\n const { colors, typography } = useUIKitTheme();\n const { sbOptions, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (messageToEdit && !messageToEdit.isFileMessage()) return 'edit';\n else return 'send';\n });\n\n const mentionAvailable =\n sbOptions.uikit.groupChannel.channel.enableMention && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = 'input'; //GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n const fontStyle = useMemo(() => {\n if (!typography.body3.fontSize) return typography.body3;\n // NOTE: iOS does not support textAlignVertical, so we should adjust lineHeight to center the text in multiline TextInput.\n return { ...typography.body3, lineHeight: typography.body3.fontSize * 1.275, textAlignVertical: 'center' };\n }, [typography.body3.fontSize]);\n\n const textInputStyle = StyleSheet.flatten([styles.input, fontStyle, props.style]);\n\n useTypingTrigger(text, channel);\n useTextClearOnDisabled(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={safeArea.paddingBottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-safeArea.paddingBottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View\n style={{\n paddingStart: safeArea.paddingStart,\n paddingEnd: safeArea.paddingEnd,\n backgroundColor: colors.background,\n }}\n >\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 VoiceMessageInput={props.VoiceMessageInput ?? VoiceMessageInput}\n AttachmentsButton={props.AttachmentsButton ?? AttachmentsButton}\n MessageToReplyPreview={props.MessageToReplyPreview ?? MessageToReplyPreview}\n style={textInputStyle}\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 mentionedUsers={mentionedUsers}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n style={textInputStyle}\n />\n )}\n </View>\n <SafeAreaBottom height={safeArea.paddingBottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={safeArea.paddingTop}\n bottomInset={safeArea.paddingBottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n useEffect(\n () => {\n function triggerTyping() {\n if (channel.isGroupChannel()) {\n const action = () => (text.length === 0 ? channel.endTyping() : channel.startTyping());\n action().catch((error) => {\n Logger.debug('ChannelInput: Failed to trigger typing', error);\n });\n }\n }\n\n triggerTyping();\n },\n channel.isGroupChannel() ? [text] : [],\n );\n};\n\nconst useTextClearOnDisabled = (setText: (val: string) => void, chatDisabled: boolean) => {\n useEffect(() => {\n if (chatDisabled) setText('');\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: React.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 input: {\n flex: 1,\n marginEnd: 4,\n borderRadius: 20,\n paddingTop: 8,\n paddingBottom: 8,\n minHeight: 36,\n // Android - padding area is hidden\n // iOS - padding area is visible\n maxHeight: Platform.select({ ios: 36 * 2 + 16, android: 36 * 2 }),\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,7 @@ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundati
10
10
  var _uikitUtils = require("@sendbird/uikit-utils");
11
11
  var _FlatListInternal = _interopRequireDefault(require("./FlatListInternal"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
16
15
  function isInvertedFlatListFixedVersion() {
17
16
  var _Platform$constants$r;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_FlatListInternal","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","isInvertedFlatListFixedVersion","_Platform$constants$r","Platform","constants","reactNativeVersion","major","_Platform$constants$r2","minor","_Platform$constants$r3","patch","ANDROID_BUG_ALERT_SHOWED","OS","BOTTOM_DETECT_THRESHOLD","UNREACHABLE_THRESHOLD","Number","MIN_SAFE_INTEGER","ChatFlatList","forwardRef","onTopReached","onBottomReached","onScrolledAwayFromBottom","onScroll","flatListComponent","props","ref","_props$data","select","useUIKitTheme","contentOffsetY","useRef","_onScroll","useFreshCallback","event","contentOffset","nativeEvent","prevOffsetY","current","currOffsetY","y","__DEV__","console","warn","FlatList","FlatListInternal","createElement","bounces","removeClippedSubviews","keyboardDismissMode","keyboardShouldPersistTaps","indicatorStyle","light","dark","inverted","Boolean","data","onEndReached","onScrollToIndexFailed","NOOP","onStartReached","scrollEventThrottle","keyExtractor","getMessageUniqId","style","flex","StyleSheet","flatten","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FlatListProps, Platform, FlatList as RNFlatList, StyleSheet } from 'react-native';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP, SendbirdMessage, getMessageUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport FlatListInternal from './FlatListInternal';\n\nfunction isInvertedFlatListFixedVersion() {\n if (Platform.constants.reactNativeVersion?.major < 1) {\n if (Platform.constants.reactNativeVersion?.minor < 73) {\n if (Platform.constants.reactNativeVersion?.patch < 4) {\n return false;\n }\n }\n }\n return true;\n}\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android' || isInvertedFlatListFixedVersion();\nconst BOTTOM_DETECT_THRESHOLD = 50;\nconst UNREACHABLE_THRESHOLD = Number.MIN_SAFE_INTEGER;\n\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n onBottomReached: () => void;\n onTopReached: () => void;\n onScrolledAwayFromBottom: (value: boolean) => void;\n flatListComponent?: React.ComponentType<FlatListProps<SendbirdMessage>>;\n};\nconst ChatFlatList = forwardRef<RNFlatList, Props>(function ChatFlatList(\n { onTopReached, onBottomReached, onScrolledAwayFromBottom, onScroll, flatListComponent, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const contentOffsetY = useRef(0);\n\n const _onScroll = useFreshCallback<NonNullable<Props['onScroll']>>((event) => {\n onScroll?.(event);\n\n const { contentOffset } = event.nativeEvent;\n\n const prevOffsetY = contentOffsetY.current;\n const currOffsetY = contentOffset.y;\n\n if (BOTTOM_DETECT_THRESHOLD < prevOffsetY && currOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(false);\n } else if (BOTTOM_DETECT_THRESHOLD < currOffsetY && prevOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(true);\n }\n\n contentOffsetY.current = contentOffset.y;\n });\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: The Inverted FlatList had performance issues on Android.\\n' +\n 'This issue was fixed in 0.72.4+\\n' +\n 'Please refer to the link: https://github.com/facebook/react-native/issues/30034',\n );\n }\n\n const FlatList = flatListComponent ?? FlatListInternal;\n\n return (\n <FlatList\n bounces={false}\n removeClippedSubviews\n keyboardDismissMode={'on-drag'}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n ref={ref}\n onEndReached={onTopReached}\n onScrollToIndexFailed={NOOP}\n onStartReached={onBottomReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n keyExtractor={getMessageUniqId}\n style={{ flex: 1, ...StyleSheet.flatten(props.style) }}\n maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: UNREACHABLE_THRESHOLD }}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_FlatListInternal","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","isInvertedFlatListFixedVersion","_Platform$constants$r","Platform","constants","reactNativeVersion","major","_Platform$constants$r2","minor","_Platform$constants$r3","patch","ANDROID_BUG_ALERT_SHOWED","OS","BOTTOM_DETECT_THRESHOLD","UNREACHABLE_THRESHOLD","Number","MIN_SAFE_INTEGER","ChatFlatList","forwardRef","onTopReached","onBottomReached","onScrolledAwayFromBottom","onScroll","flatListComponent","props","ref","_props$data","select","useUIKitTheme","contentOffsetY","useRef","_onScroll","useFreshCallback","event","contentOffset","nativeEvent","prevOffsetY","current","currOffsetY","y","__DEV__","console","warn","FlatList","FlatListInternal","createElement","bounces","removeClippedSubviews","keyboardDismissMode","keyboardShouldPersistTaps","indicatorStyle","light","dark","inverted","Boolean","data","onEndReached","onScrollToIndexFailed","NOOP","onStartReached","scrollEventThrottle","keyExtractor","getMessageUniqId","style","flex","StyleSheet","flatten","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FlatListProps, Platform, FlatList as RNFlatList, StyleSheet } from 'react-native';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP, SendbirdMessage, getMessageUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport FlatListInternal from './FlatListInternal';\n\nfunction isInvertedFlatListFixedVersion() {\n if (Platform.constants.reactNativeVersion?.major < 1) {\n if (Platform.constants.reactNativeVersion?.minor < 73) {\n if (Platform.constants.reactNativeVersion?.patch < 4) {\n return false;\n }\n }\n }\n return true;\n}\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android' || isInvertedFlatListFixedVersion();\nconst BOTTOM_DETECT_THRESHOLD = 50;\nconst UNREACHABLE_THRESHOLD = Number.MIN_SAFE_INTEGER;\n\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n onBottomReached: () => void;\n onTopReached: () => void;\n onScrolledAwayFromBottom: (value: boolean) => void;\n flatListComponent?: React.ComponentType<FlatListProps<SendbirdMessage>>;\n};\nconst ChatFlatList = forwardRef<RNFlatList, Props>(function ChatFlatList(\n { onTopReached, onBottomReached, onScrolledAwayFromBottom, onScroll, flatListComponent, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const contentOffsetY = useRef(0);\n\n const _onScroll = useFreshCallback<NonNullable<Props['onScroll']>>((event) => {\n onScroll?.(event);\n\n const { contentOffset } = event.nativeEvent;\n\n const prevOffsetY = contentOffsetY.current;\n const currOffsetY = contentOffset.y;\n\n if (BOTTOM_DETECT_THRESHOLD < prevOffsetY && currOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(false);\n } else if (BOTTOM_DETECT_THRESHOLD < currOffsetY && prevOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(true);\n }\n\n contentOffsetY.current = contentOffset.y;\n });\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: The Inverted FlatList had performance issues on Android.\\n' +\n 'This issue was fixed in 0.72.4+\\n' +\n 'Please refer to the link: https://github.com/facebook/react-native/issues/30034',\n );\n }\n\n const FlatList = flatListComponent ?? FlatListInternal;\n\n return (\n <FlatList\n bounces={false}\n removeClippedSubviews\n keyboardDismissMode={'on-drag'}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n ref={ref}\n onEndReached={onTopReached}\n onScrollToIndexFailed={NOOP}\n onStartReached={onBottomReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n keyExtractor={getMessageUniqId}\n style={{ flex: 1, ...StyleSheet.flatten(props.style) }}\n maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: UNREACHABLE_THRESHOLD }}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,7 @@ var _uikitUtils = require("@sendbird/uikit-utils");
12
12
  var _useContext = require("../../hooks/useContext");
13
13
  var _SBUUtils = _interopRequireDefault(require("../../libs/SBUUtils"));
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
16
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
17
  const FileViewerContent = ({
19
18
  type,
@@ -50,7 +49,7 @@ const FileViewerContent = ({
50
49
  zoomProps: {
51
50
  minZoom,
52
51
  maxZoom,
53
- onTouchEnd: onPress
52
+ onSingleTap: onPress
54
53
  }
55
54
  });
56
55
  }