@sendbird/uikit-react-native 2.1.0 → 2.3.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.
- package/README.md +42 -17
- package/lib/commonjs/components/ChatFlatList.js +2 -1
- package/lib/commonjs/components/ChatFlatList.js.map +1 -1
- package/lib/commonjs/components/FileViewer.js +2 -5
- package/lib/commonjs/components/FileViewer.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +1 -6
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +102 -15
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js +22 -3
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/index.js +19 -0
- package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
- package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
- package/lib/commonjs/constants.js +3 -1
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +130 -79
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/commonjs/contexts/ReactionCtx.js +107 -0
- package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
- package/lib/commonjs/contexts/SendbirdChatCtx.js +26 -18
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +95 -23
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +121 -31
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +34 -13
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/index.js +8 -0
- package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
- package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
- package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +11 -16
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
- package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +4 -14
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +3 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useContext.js +11 -1
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/hooks/useKeyboardStatus.js +97 -0
- package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
- package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
- package/lib/commonjs/index.js +95 -40
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/EmojiManager.js +100 -0
- package/lib/commonjs/libs/EmojiManager.js.map +1 -0
- package/lib/commonjs/libs/ImageCompressionConfig.js +38 -0
- package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -0
- package/lib/commonjs/libs/MentionConfig.js +47 -0
- package/lib/commonjs/libs/MentionConfig.js.map +1 -0
- package/lib/commonjs/libs/MentionManager.js +235 -0
- package/lib/commonjs/libs/MentionManager.js.map +1 -0
- package/lib/commonjs/libs/SBUUtils.js +27 -0
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +20 -5
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.expo.js +35 -1
- package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.native.js +41 -6
- package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
- package/lib/commonjs/platform/dynamicModule.js +9 -57
- package/lib/commonjs/platform/dynamicModule.js.map +1 -1
- package/lib/commonjs/platform/types.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChatFlatList.js +3 -2
- package/lib/module/components/ChatFlatList.js.map +1 -1
- package/lib/module/components/FileViewer.js +2 -5
- package/lib/module/components/FileViewer.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/index.js +1 -5
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +103 -19
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/index.js +21 -4
- package/lib/module/components/MessageRenderer/index.js.map +1 -1
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
- package/lib/module/components/ReactionAddons/index.js +7 -0
- package/lib/module/components/ReactionAddons/index.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/index.js +7 -0
- package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
- package/lib/module/constants.js +1 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +127 -81
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/module/contexts/ReactionCtx.js +85 -0
- package/lib/module/contexts/ReactionCtx.js.map +1 -0
- package/lib/module/contexts/SendbirdChatCtx.js +28 -18
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +7 -0
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +92 -26
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +118 -33
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +35 -16
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
- package/lib/module/domain/groupChannel/index.js +1 -0
- package/lib/module/domain/groupChannel/index.js.map +1 -1
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/index.js +5 -0
- package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/types.js +2 -0
- package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +12 -17
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/userList/component/UserListList.js +3 -1
- package/lib/module/domain/userList/component/UserListList.js.map +1 -1
- package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +11 -4
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +5 -9
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +3 -0
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useContext.js +6 -0
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/hooks/useKeyboardStatus.js +78 -0
- package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
- package/lib/module/hooks/useMentionSuggestion.js +100 -0
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
- package/lib/module/hooks/useMentionTextInput.js +128 -0
- package/lib/module/hooks/useMentionTextInput.js.map +1 -0
- package/lib/module/index.js +8 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/EmojiManager.js +90 -0
- package/lib/module/libs/EmojiManager.js.map +1 -0
- package/lib/module/libs/ImageCompressionConfig.js +30 -0
- package/lib/module/libs/ImageCompressionConfig.js.map +1 -0
- package/lib/module/libs/MentionConfig.js +39 -0
- package/lib/module/libs/MentionConfig.js.map +1 -0
- package/lib/module/libs/MentionManager.js +223 -0
- package/lib/module/libs/MentionManager.js.map +1 -0
- package/lib/module/libs/SBUUtils.js +26 -1
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +21 -6
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/platform/createMediaService.expo.js +33 -1
- package/lib/module/platform/createMediaService.expo.js.map +1 -1
- package/lib/module/platform/createMediaService.native.js +38 -5
- package/lib/module/platform/createMediaService.native.js.map +1 -1
- package/lib/module/platform/dynamicModule.js +10 -56
- package/lib/module/platform/dynamicModule.js.map +1 -1
- package/lib/module/platform/types.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/__template__/types.d.ts +3 -3
- package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
- package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
- package/lib/typescript/src/components/FileViewer.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
- package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
- package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
- package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
- package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
- package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
- package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
- package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
- package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
- package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
- package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
- package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
- package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +1 -0
- package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +20 -8
- package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
- package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +9 -3
- package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +16 -3
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
- package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
- package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
- package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
- package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
- package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
- package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
- package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
- package/lib/typescript/src/hooks/useContext.d.ts +3 -26
- package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
- package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
- package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
- package/lib/typescript/src/index.d.ts +8 -3
- package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
- package/lib/typescript/src/libs/ImageCompressionConfig.d.ts +16 -0
- package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
- package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
- package/lib/typescript/src/libs/SBUUtils.d.ts +6 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +19 -2
- package/lib/typescript/src/platform/createMediaService.expo.d.ts +6 -2
- package/lib/typescript/src/platform/createMediaService.native.d.ts +8 -6
- package/lib/typescript/src/platform/dynamicModule.d.ts +8 -13
- package/lib/typescript/src/platform/types.d.ts +33 -8
- package/lib/typescript/src/types.d.ts +13 -4
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +16 -6
- package/src/components/ChatFlatList.tsx +2 -1
- package/src/components/FileViewer.tsx +2 -5
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +30 -18
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +21 -11
- package/src/components/MessageRenderer/FileMessage/index.tsx +1 -4
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +136 -62
- package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
- package/src/components/MessageRenderer/index.tsx +39 -7
- package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
- package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
- package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
- package/src/components/ReactionAddons/index.tsx +7 -0
- package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
- package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
- package/src/components/ReactionBottomSheets/index.tsx +24 -0
- package/src/constants.ts +2 -0
- package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
- package/src/containers/SendbirdUIKitContainer.tsx +165 -88
- package/src/contexts/PlatformServiceCtx.tsx +9 -2
- package/src/contexts/ReactionCtx.tsx +102 -0
- package/src/contexts/SendbirdChatCtx.tsx +46 -21
- package/src/contexts/UserProfileCtx.tsx +9 -0
- package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +129 -32
- package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +138 -43
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +30 -12
- package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
- package/src/domain/groupChannel/index.ts +1 -0
- package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
- package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
- package/src/domain/groupChannel/types.ts +28 -5
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
- package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
- package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
- package/src/domain/groupChannelNotifications/index.ts +4 -0
- package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
- package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
- package/src/domain/groupChannelNotifications/types.ts +38 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +17 -14
- package/src/domain/groupChannelSettings/types.ts +2 -0
- package/src/domain/groupChannelUserList/types.ts +7 -2
- package/src/domain/userList/component/UserListList.tsx +5 -1
- package/src/domain/userList/module/createUserListModule.tsx +3 -1
- package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
- package/src/fragments/createGroupChannelFragment.tsx +19 -6
- package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
- package/src/fragments/createGroupChannelListFragment.tsx +5 -9
- package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
- package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
- package/src/hooks/useConnection.ts +3 -1
- package/src/hooks/useContext.ts +7 -0
- package/src/hooks/useKeyboardStatus.ts +59 -0
- package/src/hooks/useMentionSuggestion.ts +106 -0
- package/src/hooks/useMentionTextInput.ts +139 -0
- package/src/index.ts +14 -2
- package/src/libs/EmojiManager.ts +80 -0
- package/src/libs/ImageCompressionConfig.ts +31 -0
- package/src/libs/MentionConfig.ts +40 -0
- package/src/libs/MentionManager.tsx +240 -0
- package/src/libs/SBUUtils.ts +28 -1
- package/src/localization/StringSet.type.ts +45 -8
- package/src/platform/createMediaService.expo.tsx +24 -1
- package/src/platform/createMediaService.native.tsx +31 -9
- package/src/platform/dynamicModule.ts +17 -59
- package/src/platform/types.ts +29 -7
- package/src/types.ts +12 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["dateSeparator","getGroupChannelLastMessage","getGroupChannelPreviewTime","getGroupChannelTitle","messageTime","createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_PLACEHOLDER_MUTED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_MODERATION","MENU_NOTIFICATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_MEMBERS","MENU_BANNED_USERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","selectedUsers","len","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","GROUP_CHANNEL_CREATE","GROUP_CHANNEL_INVITE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY","user","userId"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n dateSeparator,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n messageTime,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_PLACEHOLDER_MUTED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_NOTIFICATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** @deprecated Please use in LABELS **/\n USER_BAR_ME_POSTFIX: string;\n /** @deprecated Please use in LABELS **/\n USER_BAR_OPERATOR: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_NOTIFICATION: 'Notifications',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n /** @deprecated Please use in LABELS **/\n USER_BAR_ME_POSTFIX: ' (You)',\n /** @deprecated Please use in LABELS **/\n USER_BAR_OPERATOR: 'Operator',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getDateSeparatorFormat","getGroupChannelLastMessage","getGroupChannelPreviewTime","getGroupChannelTitle","getMessageTimeFormat","createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_PLACEHOLDER_MUTED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","MENTION_LIMITED","mentionLimit","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_MODERATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","MENU_NOTIFICATION","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENU_NOTIFICATION_LABEL_MENTION_ONLY","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_NOTIFICATIONS","MENU_NOTIFICATIONS","MENU_NOTIFICATIONS_DESC","MENU_NOTIFICATIONS_OPTION_ALL","MENU_NOTIFICATIONS_OPTION_MENTION_ONLY","GROUP_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_MEMBERS","MENU_BANNED_USERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","selectedUsers","len","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","GROUP_CHANNEL_CREATE","GROUP_CHANNEL_INVITE","PERMISSION_APP_NAME","PERMISSION_CAMERA","PERMISSION_DEVICE_STORAGE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY","user","userId"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n getDateSeparatorFormat,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n getMessageTimeFormat,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_PLACEHOLDER_MUTED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n MENU_NOTIFICATION: string;\n MENU_NOTIFICATION_LABEL_ON: string;\n MENU_NOTIFICATION_LABEL_OFF: string;\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_NOTIFICATIONS: {\n /** GroupChannelNotifications > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelNotifications > Menu */\n MENU_NOTIFICATIONS: string;\n MENU_NOTIFICATIONS_DESC: string;\n MENU_NOTIFICATIONS_OPTION_ALL: string;\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** @deprecated Please use in LABELS **/\n USER_BAR_ME_POSTFIX: string;\n /** @deprecated Please use in LABELS **/\n USER_BAR_OPERATOR: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n PERMISSION_APP_NAME: string;\n PERMISSION_CAMERA: string;\n PERMISSION_DEVICE_STORAGE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n MENU_NOTIFICATION: 'Notifications',\n MENU_NOTIFICATION_LABEL_ON: 'On',\n MENU_NOTIFICATION_LABEL_OFF: 'Off',\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_NOTIFICATIONS: {\n HEADER_TITLE: 'Notifications',\n MENU_NOTIFICATIONS: 'Notifications',\n MENU_NOTIFICATIONS_DESC:\n 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',\n MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',\n ...overrides?.GROUP_CHANNEL_NOTIFICATIONS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n /** @deprecated Please use in LABELS **/\n USER_BAR_ME_POSTFIX: ' (You)',\n /** @deprecated Please use in LABELS **/\n USER_BAR_OPERATOR: 'Operator',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n PERMISSION_APP_NAME: 'Application',\n PERMISSION_CAMERA: 'camera',\n PERMISSION_DEVICE_STORAGE: 'device storage',\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => getMessageTimeFormat(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} need permission to access your ${permission}.`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import { getDownscaleSize } from '@sendbird/uikit-utils';
|
|
5
|
+
import SBUUtils from '../libs/SBUUtils';
|
|
4
6
|
|
|
5
7
|
const createExpoMediaService = _ref => {
|
|
6
8
|
let {
|
|
7
9
|
avModule,
|
|
8
|
-
thumbnailModule
|
|
10
|
+
thumbnailModule,
|
|
11
|
+
imageManipulator,
|
|
12
|
+
fsModule
|
|
9
13
|
} = _ref;
|
|
10
14
|
return {
|
|
11
15
|
VideoComponent(_ref2) {
|
|
@@ -45,6 +49,34 @@ const createExpoMediaService = _ref => {
|
|
|
45
49
|
} catch {
|
|
46
50
|
return null;
|
|
47
51
|
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
async compressImage(_ref4) {
|
|
55
|
+
let {
|
|
56
|
+
maxWidth,
|
|
57
|
+
maxHeight,
|
|
58
|
+
compressionRate = 1,
|
|
59
|
+
uri
|
|
60
|
+
} = _ref4;
|
|
61
|
+
const originSize = await SBUUtils.getImageSize(uri);
|
|
62
|
+
const resizingSize = getDownscaleSize(originSize, {
|
|
63
|
+
width: maxWidth,
|
|
64
|
+
height: maxHeight
|
|
65
|
+
});
|
|
66
|
+
const {
|
|
67
|
+
uri: compressedURI
|
|
68
|
+
} = await imageManipulator.manipulateAsync(uri, [{
|
|
69
|
+
resize: resizingSize
|
|
70
|
+
}], {
|
|
71
|
+
compress: Math.min(Math.max(0, compressionRate), 1)
|
|
72
|
+
});
|
|
73
|
+
const {
|
|
74
|
+
size = 0
|
|
75
|
+
} = await fsModule.getInfoAsync(uri);
|
|
76
|
+
return {
|
|
77
|
+
uri: compressedURI,
|
|
78
|
+
size
|
|
79
|
+
};
|
|
48
80
|
}
|
|
49
81
|
|
|
50
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createExpoMediaService","avModule","thumbnailModule","VideoComponent","source","resizeMode","onLoad","props","getVideoThumbnail","url","quality","timeMills","uri","getThumbnailAsync","time","path"],"sources":["createMediaService.expo.tsx"],"sourcesContent":["import type * as ExpoAV from 'expo-av';\nimport type * as ExpoVideoThumbnail from 'expo-video-thumbnails';\nimport React from 'react';\n\nimport type { MediaServiceInterface } from './types';\n\ntype Modules = {\n avModule: typeof ExpoAV;\n thumbnailModule: typeof ExpoVideoThumbnail;\n};\n\nconst createExpoMediaService = ({
|
|
1
|
+
{"version":3,"names":["React","getDownscaleSize","SBUUtils","createExpoMediaService","avModule","thumbnailModule","imageManipulator","fsModule","VideoComponent","source","resizeMode","onLoad","props","getVideoThumbnail","url","quality","timeMills","uri","getThumbnailAsync","time","path","compressImage","maxWidth","maxHeight","compressionRate","originSize","getImageSize","resizingSize","width","height","compressedURI","manipulateAsync","resize","compress","Math","min","max","size","getInfoAsync"],"sources":["createMediaService.expo.tsx"],"sourcesContent":["import type * as ExpoAV from 'expo-av';\nimport type * as ExpoFS from 'expo-file-system';\nimport type * as ExpoImageManipulator from 'expo-image-manipulator';\nimport type * as ExpoVideoThumbnail from 'expo-video-thumbnails';\nimport React from 'react';\n\nimport { getDownscaleSize } from '@sendbird/uikit-utils';\n\nimport SBUUtils from '../libs/SBUUtils';\nimport type { MediaServiceInterface } from './types';\n\ntype Modules = {\n avModule: typeof ExpoAV;\n thumbnailModule: typeof ExpoVideoThumbnail;\n imageManipulator: typeof ExpoImageManipulator;\n fsModule: typeof ExpoFS;\n};\n\nconst createExpoMediaService = ({\n avModule,\n thumbnailModule,\n imageManipulator,\n fsModule,\n}: Modules): MediaServiceInterface => {\n return {\n VideoComponent({ source, resizeMode, onLoad, ...props }) {\n // FIXME: type error https://github.com/expo/expo/issues/17101\n // @ts-ignore\n return <avModule.Video {...props} source={source} resizeMode={resizeMode} onLoad={onLoad} useNativeControls />;\n },\n async getVideoThumbnail({ url, quality, timeMills }) {\n try {\n const { uri } = await thumbnailModule.getThumbnailAsync(url, { quality, time: timeMills });\n return { path: uri };\n } catch {\n return null;\n }\n },\n async compressImage({ maxWidth, maxHeight, compressionRate = 1, uri }) {\n const originSize = await SBUUtils.getImageSize(uri);\n const resizingSize = getDownscaleSize(originSize, { width: maxWidth, height: maxHeight });\n\n const { uri: compressedURI } = await imageManipulator.manipulateAsync(uri, [{ resize: resizingSize }], {\n compress: Math.min(Math.max(0, compressionRate), 1),\n });\n const { size = 0 } = await fsModule.getInfoAsync(uri);\n\n return { uri: compressedURI, size };\n },\n };\n};\n\nexport default createExpoMediaService;\n"],"mappings":";;AAIA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,gBAAT,QAAiC,uBAAjC;AAEA,OAAOC,QAAP,MAAqB,kBAArB;;AAUA,MAAMC,sBAAsB,GAAG,QAKO;EAAA,IALN;IAC9BC,QAD8B;IAE9BC,eAF8B;IAG9BC,gBAH8B;IAI9BC;EAJ8B,CAKM;EACpC,OAAO;IACLC,cAAc,QAA2C;MAAA,IAA1C;QAAEC,MAAF;QAAUC,UAAV;QAAsBC,MAAtB;QAA8B,GAAGC;MAAjC,CAA0C;MACvD;MACA;MACA,oBAAO,oBAAC,QAAD,CAAU,KAAV,eAAoBA,KAApB;QAA2B,MAAM,EAAEH,MAAnC;QAA2C,UAAU,EAAEC,UAAvD;QAAmE,MAAM,EAAEC,MAA3E;QAAmF,iBAAiB;MAApG,GAAP;IACD,CALI;;IAML,MAAME,iBAAN,QAAqD;MAAA,IAA7B;QAAEC,GAAF;QAAOC,OAAP;QAAgBC;MAAhB,CAA6B;;MACnD,IAAI;QACF,MAAM;UAAEC;QAAF,IAAU,MAAMZ,eAAe,CAACa,iBAAhB,CAAkCJ,GAAlC,EAAuC;UAAEC,OAAF;UAAWI,IAAI,EAAEH;QAAjB,CAAvC,CAAtB;QACA,OAAO;UAAEI,IAAI,EAAEH;QAAR,CAAP;MACD,CAHD,CAGE,MAAM;QACN,OAAO,IAAP;MACD;IACF,CAbI;;IAcL,MAAMI,aAAN,QAAuE;MAAA,IAAnD;QAAEC,QAAF;QAAYC,SAAZ;QAAuBC,eAAe,GAAG,CAAzC;QAA4CP;MAA5C,CAAmD;MACrE,MAAMQ,UAAU,GAAG,MAAMvB,QAAQ,CAACwB,YAAT,CAAsBT,GAAtB,CAAzB;MACA,MAAMU,YAAY,GAAG1B,gBAAgB,CAACwB,UAAD,EAAa;QAAEG,KAAK,EAAEN,QAAT;QAAmBO,MAAM,EAAEN;MAA3B,CAAb,CAArC;MAEA,MAAM;QAAEN,GAAG,EAAEa;MAAP,IAAyB,MAAMxB,gBAAgB,CAACyB,eAAjB,CAAiCd,GAAjC,EAAsC,CAAC;QAAEe,MAAM,EAAEL;MAAV,CAAD,CAAtC,EAAkE;QACrGM,QAAQ,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAYZ,eAAZ,CAAT,EAAuC,CAAvC;MAD2F,CAAlE,CAArC;MAGA,MAAM;QAAEa,IAAI,GAAG;MAAT,IAAe,MAAM9B,QAAQ,CAAC+B,YAAT,CAAsBrB,GAAtB,CAA3B;MAEA,OAAO;QAAEA,GAAG,EAAEa,aAAP;QAAsBO;MAAtB,CAAP;IACD;;EAxBI,CAAP;AA0BD,CAhCD;;AAkCA,eAAelC,sBAAf"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return String(Math.abs(str.split('').reduce((a, c) => (a << 5) - a + c.charCodeAt(0) | 0, 0)));
|
|
7
|
-
}
|
|
4
|
+
import { getDownscaleSize, getFileExtension, hash } from '@sendbird/uikit-utils';
|
|
5
|
+
import SBUUtils from '../libs/SBUUtils';
|
|
8
6
|
|
|
9
7
|
const createNativeMediaService = _ref => {
|
|
10
8
|
let {
|
|
11
9
|
VideoComponent,
|
|
12
|
-
thumbnailModule
|
|
10
|
+
thumbnailModule,
|
|
11
|
+
imageResizerModule
|
|
13
12
|
} = _ref;
|
|
14
13
|
return {
|
|
15
14
|
VideoComponent(_ref2) {
|
|
@@ -48,6 +47,40 @@ const createNativeMediaService = _ref => {
|
|
|
48
47
|
} catch {
|
|
49
48
|
return null;
|
|
50
49
|
}
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
async compressImage(_ref4) {
|
|
53
|
+
let {
|
|
54
|
+
uri,
|
|
55
|
+
maxWidth,
|
|
56
|
+
maxHeight,
|
|
57
|
+
compressionRate = 1
|
|
58
|
+
} = _ref4;
|
|
59
|
+
const originSize = await SBUUtils.getImageSize(uri);
|
|
60
|
+
const {
|
|
61
|
+
width,
|
|
62
|
+
height
|
|
63
|
+
} = getDownscaleSize(originSize, {
|
|
64
|
+
width: maxWidth,
|
|
65
|
+
height: maxHeight
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const extension = (() => {
|
|
69
|
+
return {
|
|
70
|
+
'png': 'PNG',
|
|
71
|
+
'jpeg': 'JPEG',
|
|
72
|
+
'jpg': 'JPEG'
|
|
73
|
+
}[getFileExtension(uri)] ?? 'JPEG';
|
|
74
|
+
})();
|
|
75
|
+
|
|
76
|
+
const {
|
|
77
|
+
size: resizedSize,
|
|
78
|
+
uri: compressedURI
|
|
79
|
+
} = await imageResizerModule.default.createResizedImage(uri, width, height, extension, Math.min(Math.max(0, compressionRate), 1) * 100);
|
|
80
|
+
return {
|
|
81
|
+
uri: compressedURI,
|
|
82
|
+
size: resizedSize
|
|
83
|
+
};
|
|
51
84
|
}
|
|
52
85
|
|
|
53
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","hash","
|
|
1
|
+
{"version":3,"names":["React","getDownscaleSize","getFileExtension","hash","SBUUtils","createNativeMediaService","VideoComponent","thumbnailModule","imageResizerModule","source","resizeMode","onLoad","props","getVideoThumbnail","url","timeMills","path","createThumbnail","format","timeStamp","cacheName","compressImage","uri","maxWidth","maxHeight","compressionRate","originSize","getImageSize","width","height","extension","size","resizedSize","compressedURI","default","createResizedImage","Math","min","max"],"sources":["createMediaService.native.tsx"],"sourcesContent":["import type * as RNImageResizer from '@bam.tech/react-native-image-resizer';\nimport React from 'react';\nimport type * as RNCreateThumbnail from 'react-native-create-thumbnail';\nimport type RNVideo from 'react-native-video';\n\nimport { getDownscaleSize, getFileExtension, hash } from '@sendbird/uikit-utils';\n\nimport SBUUtils from '../libs/SBUUtils';\nimport type { MediaServiceInterface } from './types';\n\ntype Modules = {\n VideoComponent: typeof RNVideo;\n thumbnailModule: typeof RNCreateThumbnail;\n imageResizerModule: typeof RNImageResizer;\n};\n\nconst createNativeMediaService = ({\n VideoComponent,\n thumbnailModule,\n imageResizerModule,\n}: Modules): MediaServiceInterface => {\n return {\n VideoComponent({ source, resizeMode, onLoad, ...props }) {\n return <VideoComponent {...props} source={source} resizeMode={resizeMode} onLoad={onLoad} controls />;\n },\n async getVideoThumbnail({ url, timeMills }) {\n try {\n const { path } = await thumbnailModule.createThumbnail({\n url,\n format: 'jpeg',\n timeStamp: timeMills,\n cacheName: hash(url),\n });\n return { path };\n } catch {\n return null;\n }\n },\n async compressImage({ uri, maxWidth, maxHeight, compressionRate = 1 }) {\n const originSize = await SBUUtils.getImageSize(uri);\n const { width, height } = getDownscaleSize(originSize, { width: maxWidth, height: maxHeight });\n const extension = (() => {\n return { 'png': 'PNG', 'jpeg': 'JPEG', 'jpg': 'JPEG' }[getFileExtension(uri)] ?? 'JPEG';\n })() as 'PNG' | 'JPEG';\n\n const { size: resizedSize, uri: compressedURI } = await imageResizerModule.default.createResizedImage(\n uri,\n width,\n height,\n extension,\n Math.min(Math.max(0, compressionRate), 1) * 100,\n );\n\n return { uri: compressedURI, size: resizedSize };\n },\n };\n};\n\nexport default createNativeMediaService;\n"],"mappings":";;AACA,OAAOA,KAAP,MAAkB,OAAlB;AAIA,SAASC,gBAAT,EAA2BC,gBAA3B,EAA6CC,IAA7C,QAAyD,uBAAzD;AAEA,OAAOC,QAAP,MAAqB,kBAArB;;AASA,MAAMC,wBAAwB,GAAG,QAIK;EAAA,IAJJ;IAChCC,cADgC;IAEhCC,eAFgC;IAGhCC;EAHgC,CAII;EACpC,OAAO;IACLF,cAAc,QAA2C;MAAA,IAA1C;QAAEG,MAAF;QAAUC,UAAV;QAAsBC,MAAtB;QAA8B,GAAGC;MAAjC,CAA0C;MACvD,oBAAO,oBAAC,cAAD,eAAoBA,KAApB;QAA2B,MAAM,EAAEH,MAAnC;QAA2C,UAAU,EAAEC,UAAvD;QAAmE,MAAM,EAAEC,MAA3E;QAAmF,QAAQ;MAA3F,GAAP;IACD,CAHI;;IAIL,MAAME,iBAAN,QAA4C;MAAA,IAApB;QAAEC,GAAF;QAAOC;MAAP,CAAoB;;MAC1C,IAAI;QACF,MAAM;UAAEC;QAAF,IAAW,MAAMT,eAAe,CAACU,eAAhB,CAAgC;UACrDH,GADqD;UAErDI,MAAM,EAAE,MAF6C;UAGrDC,SAAS,EAAEJ,SAH0C;UAIrDK,SAAS,EAAEjB,IAAI,CAACW,GAAD;QAJsC,CAAhC,CAAvB;QAMA,OAAO;UAAEE;QAAF,CAAP;MACD,CARD,CAQE,MAAM;QACN,OAAO,IAAP;MACD;IACF,CAhBI;;IAiBL,MAAMK,aAAN,QAAuE;MAAA,IAAnD;QAAEC,GAAF;QAAOC,QAAP;QAAiBC,SAAjB;QAA4BC,eAAe,GAAG;MAA9C,CAAmD;MACrE,MAAMC,UAAU,GAAG,MAAMtB,QAAQ,CAACuB,YAAT,CAAsBL,GAAtB,CAAzB;MACA,MAAM;QAAEM,KAAF;QAASC;MAAT,IAAoB5B,gBAAgB,CAACyB,UAAD,EAAa;QAAEE,KAAK,EAAEL,QAAT;QAAmBM,MAAM,EAAEL;MAA3B,CAAb,CAA1C;;MACA,MAAMM,SAAS,GAAG,CAAC,MAAM;QACvB,OAAO;UAAE,OAAO,KAAT;UAAgB,QAAQ,MAAxB;UAAgC,OAAO;QAAvC,EAAgD5B,gBAAgB,CAACoB,GAAD,CAAhE,KAA0E,MAAjF;MACD,CAFiB,GAAlB;;MAIA,MAAM;QAAES,IAAI,EAAEC,WAAR;QAAqBV,GAAG,EAAEW;MAA1B,IAA4C,MAAMzB,kBAAkB,CAAC0B,OAAnB,CAA2BC,kBAA3B,CACtDb,GADsD,EAEtDM,KAFsD,EAGtDC,MAHsD,EAItDC,SAJsD,EAKtDM,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAYb,eAAZ,CAAT,EAAuC,CAAvC,IAA4C,GALU,CAAxD;MAQA,OAAO;QAAEH,GAAG,EAAEW,aAAP;QAAsBF,IAAI,EAAEC;MAA5B,CAAP;IACD;;EAjCI,CAAP;AAmCD,CAxCD;;AA0CA,eAAe3B,wBAAf"}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import { NativeModules } from 'react-native';
|
|
2
|
+
import { NativeModules, UIManager } from 'react-native';
|
|
3
3
|
import { Logger } from '@sendbird/uikit-utils';
|
|
4
|
-
export function checkVersion(minVersion, currentVersion) {
|
|
5
|
-
const [minMajor, minMinor, minPatch] = minVersion.split('.');
|
|
6
|
-
const [currMajor, currMinor, currPatch] = currentVersion.split('.');
|
|
7
|
-
if (minMajor < currMajor) return true;
|
|
8
|
-
|
|
9
|
-
if (minMajor === currMajor) {
|
|
10
|
-
if (minMinor < currMinor) return true;
|
|
11
|
-
|
|
12
|
-
if (minMinor === currMinor) {
|
|
13
|
-
return minPatch <= currPatch;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
4
|
|
|
22
5
|
function checkLink(dmi, logLevel) {
|
|
23
|
-
const nativeModule =
|
|
6
|
+
const nativeModule = (() => {
|
|
7
|
+
if (dmi.isComponent) {
|
|
8
|
+
return UIManager.getViewManagerConfig(dmi.nativeModuleNamespace);
|
|
9
|
+
} else {
|
|
10
|
+
return NativeModules[dmi.nativeModuleNamespace];
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
24
13
|
|
|
25
14
|
if (!nativeModule) {
|
|
26
15
|
const message = `[UIKit] Cannot use native module, you should install and link ${dmi.packageName} (${dmi.url})`;
|
|
@@ -30,44 +19,9 @@ function checkLink(dmi, logLevel) {
|
|
|
30
19
|
}
|
|
31
20
|
|
|
32
21
|
const SBUDynamicModuleRegistry = {
|
|
33
|
-
'react-native-file-access': {
|
|
34
|
-
minVersion: '2.4.3',
|
|
35
|
-
packageName: 'react-native-file-access',
|
|
36
|
-
moduleName: 'RNFileAccess',
|
|
37
|
-
url: 'https://github.com/alpha0010/react-native-file-access',
|
|
38
|
-
|
|
39
|
-
getPackage(logLevel) {
|
|
40
|
-
checkLink(this, logLevel);
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
return require('react-native-file-access');
|
|
44
|
-
} catch (e) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
'react-native-fast-image': {
|
|
51
|
-
minVersion: '8.5.11',
|
|
52
|
-
packageName: 'react-native-fast-image',
|
|
53
|
-
moduleName: 'FastImageView',
|
|
54
|
-
url: 'https://github.com/DylanVann/react-native-fast-image',
|
|
55
|
-
|
|
56
|
-
getPackage(logLevel) {
|
|
57
|
-
checkLink(this, logLevel);
|
|
58
|
-
|
|
59
|
-
try {
|
|
60
|
-
return require('react-native-fast-image');
|
|
61
|
-
} catch (e) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
},
|
|
67
22
|
'@react-native-community/netinfo': {
|
|
68
|
-
minVersion: '9.3.0',
|
|
69
23
|
packageName: '@react-native-community/netinfo',
|
|
70
|
-
|
|
24
|
+
nativeModuleNamespace: 'RNCNetInfo',
|
|
71
25
|
url: 'https://github.com/react-native-netinfo/react-native-netinfo',
|
|
72
26
|
|
|
73
27
|
getPackage(logLevel) {
|
|
@@ -84,7 +38,7 @@ const SBUDynamicModuleRegistry = {
|
|
|
84
38
|
};
|
|
85
39
|
const SBUDynamicModule = {
|
|
86
40
|
register(mdi) {
|
|
87
|
-
SBUDynamicModuleRegistry[mdi.
|
|
41
|
+
SBUDynamicModuleRegistry[mdi.nativeModuleNamespace] = mdi;
|
|
88
42
|
},
|
|
89
43
|
|
|
90
44
|
getInfo(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","
|
|
1
|
+
{"version":3,"names":["NativeModules","UIManager","Logger","checkLink","dmi","logLevel","nativeModule","isComponent","getViewManagerConfig","nativeModuleNamespace","message","packageName","url","console","error","warn","SBUDynamicModuleRegistry","getPackage","require","e","SBUDynamicModule","register","mdi","getInfo","name","get"],"sources":["dynamicModule.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type * as RNCNetInfo from '@react-native-community/netinfo';\nimport { NativeModules, UIManager } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport type SBUNativeModule = keyof DynamicModules;\n\ninterface SBUDynamicModuleInfo {\n packageName: SBUNativeModule;\n nativeModuleNamespace: string;\n getPackage: <T>(logLevel: 'error' | 'warn' | 'none') => T;\n url: string;\n isComponent?: boolean;\n}\n\nfunction checkLink(dmi: SBUDynamicModuleInfo, logLevel: 'error' | 'warn' | 'none') {\n const nativeModule = (() => {\n if (dmi.isComponent) {\n return UIManager.getViewManagerConfig(dmi.nativeModuleNamespace);\n } else {\n return NativeModules[dmi.nativeModuleNamespace];\n }\n })();\n\n if (!nativeModule) {\n const message = `[UIKit] Cannot use native module, you should install and link ${dmi.packageName} (${dmi.url})`;\n if (logLevel === 'error') console.error(message);\n if (logLevel === 'warn') console.warn(message);\n }\n}\n\nexport interface DynamicModules {\n '@react-native-community/netinfo': typeof RNCNetInfo;\n}\n\nconst SBUDynamicModuleRegistry: Record<SBUNativeModule, SBUDynamicModuleInfo> = {\n '@react-native-community/netinfo': {\n packageName: '@react-native-community/netinfo',\n nativeModuleNamespace: 'RNCNetInfo',\n url: 'https://github.com/react-native-netinfo/react-native-netinfo',\n getPackage(logLevel) {\n checkLink(this, logLevel);\n\n try {\n return require('@react-native-community/netinfo');\n } catch (e) {\n return null;\n }\n },\n },\n};\n\nconst SBUDynamicModule = {\n register(mdi: SBUDynamicModuleInfo) {\n SBUDynamicModuleRegistry[mdi.nativeModuleNamespace as SBUNativeModule] = mdi;\n },\n getInfo(name: SBUNativeModule) {\n return SBUDynamicModuleRegistry[name] ?? null;\n },\n get<K extends SBUNativeModule, T extends DynamicModules[K]>(name: K, logLevel: 'error' | 'warn' | 'none' = 'error') {\n const dmi = this.getInfo(name);\n if (!dmi) Logger.warn(`${name} doesn't exist in the dynamic module`);\n return dmi?.getPackage<T>(logLevel);\n },\n};\n\nexport default SBUDynamicModule;\n"],"mappings":"AAAA;AAEA,SAASA,aAAT,EAAwBC,SAAxB,QAAyC,cAAzC;AAEA,SAASC,MAAT,QAAuB,uBAAvB;;AAYA,SAASC,SAAT,CAAmBC,GAAnB,EAA8CC,QAA9C,EAAmF;EACjF,MAAMC,YAAY,GAAG,CAAC,MAAM;IAC1B,IAAIF,GAAG,CAACG,WAAR,EAAqB;MACnB,OAAON,SAAS,CAACO,oBAAV,CAA+BJ,GAAG,CAACK,qBAAnC,CAAP;IACD,CAFD,MAEO;MACL,OAAOT,aAAa,CAACI,GAAG,CAACK,qBAAL,CAApB;IACD;EACF,CANoB,GAArB;;EAQA,IAAI,CAACH,YAAL,EAAmB;IACjB,MAAMI,OAAO,GAAI,iEAAgEN,GAAG,CAACO,WAAY,KAAIP,GAAG,CAACQ,GAAI,GAA7G;IACA,IAAIP,QAAQ,KAAK,OAAjB,EAA0BQ,OAAO,CAACC,KAAR,CAAcJ,OAAd;IAC1B,IAAIL,QAAQ,KAAK,MAAjB,EAAyBQ,OAAO,CAACE,IAAR,CAAaL,OAAb;EAC1B;AACF;;AAMD,MAAMM,wBAAuE,GAAG;EAC9E,mCAAmC;IACjCL,WAAW,EAAE,iCADoB;IAEjCF,qBAAqB,EAAE,YAFU;IAGjCG,GAAG,EAAE,8DAH4B;;IAIjCK,UAAU,CAACZ,QAAD,EAAW;MACnBF,SAAS,CAAC,IAAD,EAAOE,QAAP,CAAT;;MAEA,IAAI;QACF,OAAOa,OAAO,CAAC,iCAAD,CAAd;MACD,CAFD,CAEE,OAAOC,CAAP,EAAU;QACV,OAAO,IAAP;MACD;IACF;;EAZgC;AAD2C,CAAhF;AAiBA,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,CAACC,GAAD,EAA4B;IAClCN,wBAAwB,CAACM,GAAG,CAACb,qBAAL,CAAxB,GAAyEa,GAAzE;EACD,CAHsB;;EAIvBC,OAAO,CAACC,IAAD,EAAwB;IAC7B,OAAOR,wBAAwB,CAACQ,IAAD,CAAxB,IAAkC,IAAzC;EACD,CANsB;;EAOvBC,GAAG,CAAyDD,IAAzD,EAAiH;IAAA,IAA/CnB,QAA+C,uEAAT,OAAS;IAClH,MAAMD,GAAG,GAAG,KAAKmB,OAAL,CAAaC,IAAb,CAAZ;IACA,IAAI,CAACpB,GAAL,EAAUF,MAAM,CAACa,IAAP,CAAa,GAAES,IAAK,sCAApB;IACV,OAAOpB,GAAP,aAAOA,GAAP,uBAAOA,GAAG,CAAEa,UAAL,CAAmBZ,QAAnB,CAAP;EACD;;AAXsB,CAAzB;AAcA,eAAee,gBAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type SBUError from '../libs/SBUError';\n\nexport type Unsubscribe = () => void | undefined;\nexport type DownloadedPath = string;\nexport type FilePickerResponse = FileType | null;\nexport type FileType = { uri: string; size: number; name: string; type: string };\n\n// ---------- NotificationService ---------- //\nexport interface NotificationServiceInterface {\n hasPushPermission(): Promise<boolean>;\n requestPushPermission(): Promise<boolean>;\n\n getAPNSToken(): Promise<string | null>;\n getFCMToken(): Promise<string | null>;\n onTokenRefresh(handler: (token: string) => void): Unsubscribe;\n}\n\n// ---------- ClipboardService ---------- //\nexport interface ClipboardServiceInterface {\n setString(text: string): void;\n getString(): Promise<string>;\n}\n\n// ---------- FileService ---------- //\nexport interface FileServiceInterface extends FilePickerServiceInterface, FileSystemServiceInterface {}\n\nexport interface OpenResultListener {\n onOpenFailure?: (error: SBUError, originError?: unknown) => void;\n}\nexport interface OpenMediaLibraryOptions extends OpenResultListener {\n selectionLimit?: number;\n mediaType?: 'photo' | 'video' | 'all';\n}\nexport interface OpenCameraOptions extends OpenResultListener {\n cameraType?: 'front' | 'back';\n mediaType?: 'photo' | 'video' | 'all';\n}\nexport type OpenDocumentOptions = OpenResultListener;\nexport interface SaveOptions {\n fileUrl: string;\n fileName: string;\n fileType?: string | null;\n}\n\nexport interface FilePickerServiceInterface {\n openMediaLibrary(options?: OpenMediaLibraryOptions): Promise<null | FilePickerResponse[]>;\n openCamera(options?: OpenCameraOptions): Promise<FilePickerResponse>;\n openDocument(options?: OpenDocumentOptions): Promise<FilePickerResponse>;\n}\n\nexport interface FileSystemServiceInterface {\n // NOTE: On iOS, You can access the downloaded files by providing options below to info.plist\n // - Supports opening documents in place\n // - Application supports iTunes file sharing\n save(options?: SaveOptions): Promise<DownloadedPath | null>;\n}\n\n// ---------- MediaService ---------- //\ninterface VideoProps {\n source: { uri: string } | number;\n resizeMode?: 'cover' | 'contain' | 'stretch';\n onLoad?: () => void;\n}\ninterface GetVideoThumbnailOptions {\n url: string;\n timeMills?: number;\n quality?: number;\n}\
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type SBUError from '../libs/SBUError';\n\nexport type Unsubscribe = () => void | undefined;\nexport type DownloadedPath = string;\nexport type FilePickerResponse = FileType | null;\nexport type FileType = { uri: string; size: number; name: string; type: string };\n\n// ---------- NotificationService ---------- //\nexport interface NotificationServiceInterface {\n hasPushPermission(): Promise<boolean>;\n requestPushPermission(): Promise<boolean>;\n\n getAPNSToken(): Promise<string | null>;\n getFCMToken(): Promise<string | null>;\n onTokenRefresh(handler: (token: string) => void): Unsubscribe;\n}\n\n// ---------- ClipboardService ---------- //\nexport interface ClipboardServiceInterface {\n setString(text: string): void;\n getString(): Promise<string>;\n}\n\n// ---------- FileService ---------- //\nexport interface FileServiceInterface extends FilePickerServiceInterface, FileSystemServiceInterface {}\n\nexport interface OpenResultListener {\n onOpenFailure?: (error: SBUError, originError?: unknown) => void;\n}\nexport interface OpenMediaLibraryOptions extends OpenResultListener {\n selectionLimit?: number;\n mediaType?: 'photo' | 'video' | 'all';\n}\nexport interface OpenCameraOptions extends OpenResultListener {\n cameraType?: 'front' | 'back';\n mediaType?: 'photo' | 'video' | 'all';\n}\nexport type OpenDocumentOptions = OpenResultListener;\nexport interface SaveOptions {\n fileUrl: string;\n fileName: string;\n fileType?: string | null;\n}\n\nexport interface FilePickerServiceInterface {\n openMediaLibrary(options?: OpenMediaLibraryOptions): Promise<null | FilePickerResponse[]>;\n openCamera(options?: OpenCameraOptions): Promise<FilePickerResponse>;\n openDocument(options?: OpenDocumentOptions): Promise<FilePickerResponse>;\n}\n\nexport interface FileSystemServiceInterface {\n // NOTE: On iOS, You can access the downloaded files by providing options below to info.plist\n // - Supports opening documents in place\n // - Application supports iTunes file sharing\n save(options?: SaveOptions): Promise<DownloadedPath | null>;\n}\n\n// ---------- MediaService ---------- //\ninterface VideoProps {\n source: { uri: string } | number;\n resizeMode?: 'cover' | 'contain' | 'stretch';\n onLoad?: () => void;\n}\ninterface GetVideoThumbnailOptions {\n url: string;\n timeMills?: number;\n quality?: number;\n}\n\ninterface CompressImageOptions {\n /**\n * A uri of image file to compress\n * */\n uri: string;\n\n /**\n * A resize width, apply only to downscale\n * */\n maxWidth?: number;\n\n /**\n * A resize height, apply only to downscale\n * */\n maxHeight?: number;\n\n /**\n * A value in range 0.0 - 1.0 specifying compression level of the result image.\n * 1 means highest quality and 0 the lowest quality.\n * */\n compressionRate?: number;\n}\n\ntype GetVideoThumbnailResult = Promise<{ path: string } | null>;\ntype CompressImageResult = Promise<{ uri: string; size: number } | null>;\n\nexport interface MediaServiceInterface {\n VideoComponent<Props = {}>(props: VideoProps & Props): JSX.Element;\n getVideoThumbnail(options: GetVideoThumbnailOptions): GetVideoThumbnailResult;\n compressImage(options: CompressImageOptions): CompressImageResult;\n}\n"],"mappings":""}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ErrorInfo, ReactNode } from 'react';\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface LocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> = (props: P & { children?: ReactNode }) => null | JSX.Element; //ReactNode;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ErrorInfo, ReactNode } from 'react';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface LocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> = (props: P & { children?: ReactNode }) => null | JSX.Element; //ReactNode;\n\nexport type MentionedUser = {\n range: Range;\n user: SendbirdUser;\n};\n\nexport type Range = {\n start: number;\n end: number;\n};\n"],"mappings":""}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.3.0';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAhB;AACA,eAAeA,OAAf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { CommonComponent } from '../../types';
|
|
3
|
-
export
|
|
3
|
+
export type __domain__Props = {
|
|
4
4
|
Fragment: {
|
|
5
5
|
onPressHeaderLeft: __domain__Props['Header']['onPressHeaderLeft'];
|
|
6
6
|
};
|
|
@@ -16,7 +16,7 @@ export declare type __domain__Props = {
|
|
|
16
16
|
* For example, the developer can create a custom header
|
|
17
17
|
* with getting data from the domain context
|
|
18
18
|
* */
|
|
19
|
-
export
|
|
19
|
+
export type __domain__ContextsType = {
|
|
20
20
|
Fragment: React.Context<{
|
|
21
21
|
headerTitle: string;
|
|
22
22
|
}>;
|
|
@@ -28,4 +28,4 @@ export interface __domain__Module {
|
|
|
28
28
|
StatusEmpty: CommonComponent;
|
|
29
29
|
StatusLoading: CommonComponent;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
31
|
+
export type __domain__Fragment = CommonComponent<__domain__Props['Fragment']>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FlatListProps } from 'react-native';
|
|
3
3
|
import { SendbirdMessage } from '@sendbird/uikit-utils';
|
|
4
|
-
export
|
|
4
|
+
export type ChatFlatListRef = {
|
|
5
5
|
scrollToBottom: (animated?: boolean) => void;
|
|
6
6
|
};
|
|
7
7
|
declare const ChatFlatList: React.ForwardRefExoticComponent<Omit<FlatListProps<SendbirdMessage>, "onEndReached"> & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SendbirdAdminMessage } from '@sendbird/uikit-utils';
|
|
2
2
|
import type { MessageRendererInterface } from '../index';
|
|
3
|
-
export
|
|
3
|
+
export type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;
|
|
4
4
|
declare const AdminMessage: ({ message, nextMessage }: AdminMessageProps) => JSX.Element;
|
|
5
5
|
export default AdminMessage;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FileMessageProps } from './index';
|
|
2
|
-
|
|
2
|
+
type Props = FileMessageProps & {
|
|
3
3
|
type: 'image' | 'audio' | 'video' | 'file';
|
|
4
4
|
};
|
|
5
|
-
declare const BaseFileMessage: ({ message, variant, pressed, type }: Props) => JSX.Element;
|
|
5
|
+
declare const BaseFileMessage: ({ message, variant, pressed, type, children }: Props) => JSX.Element;
|
|
6
6
|
export default BaseFileMessage;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SendbirdFileMessage } from '@sendbird/uikit-utils';
|
|
3
3
|
import type { MessageRendererInterface } from '../index';
|
|
4
|
-
export
|
|
5
|
-
declare const _default: React.MemoExoticComponent<(props:
|
|
4
|
+
export type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;
|
|
5
|
+
declare const _default: React.MemoExoticComponent<(props: {
|
|
6
|
+
message: import("@sendbird/chat/message").FileMessage;
|
|
7
|
+
prevMessage?: import("@sendbird/uikit-utils").SendbirdMessage | undefined;
|
|
8
|
+
nextMessage?: import("@sendbird/uikit-utils").SendbirdMessage | undefined;
|
|
9
|
+
variant: "incoming" | "outgoing";
|
|
10
|
+
groupWithPrev: boolean;
|
|
11
|
+
groupWithNext: boolean;
|
|
12
|
+
pressed: boolean;
|
|
13
|
+
children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | null | undefined;
|
|
14
|
+
}) => JSX.Element>;
|
|
6
15
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { MessageRendererInterface } from '../index';
|
|
2
|
-
export
|
|
2
|
+
export type UnknownMessageProps = MessageRendererInterface;
|
|
3
3
|
declare const UnknownMessage: ({ message, variant, pressed }: UnknownMessageProps) => JSX.Element;
|
|
4
4
|
export default UnknownMessage;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { UserMessageProps } from './index';
|
|
2
|
-
declare const BaseUserMessage: ({ message, variant, pressed }: UserMessageProps) => JSX.Element;
|
|
2
|
+
declare const BaseUserMessage: ({ message, variant, pressed, children, onLongPressMentionedUser, onLongPressURL, }: UserMessageProps) => JSX.Element;
|
|
3
3
|
export default BaseUserMessage;
|