@sendbird/uikit-react-native 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +410 -0
- package/lib/commonjs/InternalErrorBoundary.js +84 -0
- package/lib/commonjs/InternalErrorBoundary.js.map +1 -0
- package/lib/commonjs/InternalLocalCacheStorage.js +59 -0
- package/lib/commonjs/InternalLocalCacheStorage.js.map +1 -0
- package/lib/commonjs/SendbirdUIKitContainer.js +166 -0
- package/lib/commonjs/SendbirdUIKitContainer.js.map +1 -0
- package/lib/commonjs/components/ChannelCover.js +59 -0
- package/lib/commonjs/components/ChannelCover.js.map +1 -0
- package/lib/commonjs/components/ChatFlatList.js +118 -0
- package/lib/commonjs/components/ChatFlatList.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +52 -0
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +76 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +61 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +31 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js +33 -0
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js +58 -0
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +42 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +48 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js +134 -0
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageTime.js +41 -0
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +53 -0
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +54 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +131 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +31 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/index.js +189 -0
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/NewMessagesButton.js +73 -0
- package/lib/commonjs/components/NewMessagesButton.js.map +1 -0
- package/lib/commonjs/components/ProviderLayout.js +37 -0
- package/lib/commonjs/components/ProviderLayout.js.map +1 -0
- package/lib/commonjs/components/ScrollToBottomButton.js +66 -0
- package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -0
- package/lib/commonjs/components/StatusComposition.js +27 -0
- package/lib/commonjs/components/StatusComposition.js.map +1 -0
- package/lib/commonjs/components/TypedPlaceholder.js +80 -0
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -0
- package/lib/commonjs/components/UserActionBar.js +96 -0
- package/lib/commonjs/components/UserActionBar.js.map +1 -0
- package/lib/commonjs/components/UserSelectableBar.js +78 -0
- package/lib/commonjs/components/UserSelectableBar.js.map +1 -0
- package/lib/commonjs/constants.js +9 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/contexts/Localization.js +29 -0
- package/lib/commonjs/contexts/Localization.js.map +1 -0
- package/lib/commonjs/contexts/PlatformService.js +33 -0
- package/lib/commonjs/contexts/PlatformService.js.map +1 -0
- package/lib/commonjs/contexts/SendbirdChat.js +87 -0
- package/lib/commonjs/contexts/SendbirdChat.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +88 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +118 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +148 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +115 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +343 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/index.js +70 -0
- package/lib/commonjs/domain/groupChannel/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +45 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +79 -0
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/types.js +6 -0
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +38 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +96 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +141 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/index.js +70 -0
- package/lib/commonjs/domain/groupChannelList/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js +45 -0
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +61 -0
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/types.js +6 -0
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +49 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +77 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +94 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/index.js +54 -0
- package/lib/commonjs/domain/groupChannelSettings/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +37 -0
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +150 -0
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/types.js +6 -0
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelUserList/types.js +6 -0
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListHeader.js +56 -0
- package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListList.js +57 -0
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusError.js +38 -0
- package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js +34 -0
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/userList/index.js +70 -0
- package/lib/commonjs/domain/userList/index.js.map +1 -0
- package/lib/commonjs/domain/userList/module/createUserListModule.js +45 -0
- package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -0
- package/lib/commonjs/domain/userList/module/moduleContext.js +54 -0
- package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/userList/types.js +6 -0
- package/lib/commonjs/domain/userList/types.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +145 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelFragment.js +154 -0
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +139 -0
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +141 -0
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +134 -0
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +67 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -0
- package/lib/commonjs/hooks/useConnection.js +102 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -0
- package/lib/commonjs/hooks/useContext.js +39 -0
- package/lib/commonjs/hooks/useContext.js.map +1 -0
- package/lib/commonjs/hooks/usePushTokenRegistration.js +83 -0
- package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -0
- package/lib/commonjs/index.js +449 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/localization/StringSet.en.js +19 -0
- package/lib/commonjs/localization/StringSet.en.js.map +1 -0
- package/lib/commonjs/localization/StringSet.type.js +178 -0
- package/lib/commonjs/localization/StringSet.type.js.map +1 -0
- package/lib/commonjs/platform/createClipboardService.expo.js +23 -0
- package/lib/commonjs/platform/createClipboardService.expo.js.map +1 -0
- package/lib/commonjs/platform/createClipboardService.native.js +23 -0
- package/lib/commonjs/platform/createClipboardService.native.js.map +1 -0
- package/lib/commonjs/platform/createFileService.expo.js +176 -0
- package/lib/commonjs/platform/createFileService.expo.js.map +1 -0
- package/lib/commonjs/platform/createFileService.native.js +253 -0
- package/lib/commonjs/platform/createFileService.native.js.map +1 -0
- package/lib/commonjs/platform/createNotificationService.expo.js +50 -0
- package/lib/commonjs/platform/createNotificationService.expo.js.map +1 -0
- package/lib/commonjs/platform/createNotificationService.native.js +65 -0
- package/lib/commonjs/platform/createNotificationService.native.js.map +1 -0
- package/lib/commonjs/platform/dynamicModule.js +114 -0
- package/lib/commonjs/platform/dynamicModule.js.map +1 -0
- package/lib/commonjs/platform/types.js +2 -0
- package/lib/commonjs/platform/types.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils/expoPermissionGranted.js +32 -0
- package/lib/commonjs/utils/expoPermissionGranted.js.map +1 -0
- package/lib/commonjs/utils/fileTypeGuard.js +26 -0
- package/lib/commonjs/utils/fileTypeGuard.js.map +1 -0
- package/lib/commonjs/utils/nativePermissionGranted.js +23 -0
- package/lib/commonjs/utils/nativePermissionGranted.js.map +1 -0
- package/lib/commonjs/version.js +10 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/InternalErrorBoundary.js +72 -0
- package/lib/module/InternalErrorBoundary.js.map +1 -0
- package/lib/module/InternalLocalCacheStorage.js +50 -0
- package/lib/module/InternalLocalCacheStorage.js.map +1 -0
- package/lib/module/SendbirdUIKitContainer.js +136 -0
- package/lib/module/SendbirdUIKitContainer.js.map +1 -0
- package/lib/module/components/ChannelCover.js +46 -0
- package/lib/module/components/ChannelCover.js.map +1 -0
- package/lib/module/components/ChatFlatList.js +102 -0
- package/lib/module/components/ChatFlatList.js.map +1 -0
- package/lib/module/components/MessageRenderer/AdminMessage/index.js +40 -0
- package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +62 -0
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +47 -0
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/index.js +17 -0
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageContainer.js +21 -0
- package/lib/module/components/MessageRenderer/MessageContainer.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js +44 -0
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +30 -0
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +35 -0
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js +116 -0
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageTime.js +28 -0
- package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -0
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +40 -0
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +41 -0
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +115 -0
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/index.js +18 -0
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/index.js +163 -0
- package/lib/module/components/MessageRenderer/index.js.map +1 -0
- package/lib/module/components/NewMessagesButton.js +58 -0
- package/lib/module/components/NewMessagesButton.js.map +1 -0
- package/lib/module/components/ProviderLayout.js +25 -0
- package/lib/module/components/ProviderLayout.js.map +1 -0
- package/lib/module/components/ScrollToBottomButton.js +52 -0
- package/lib/module/components/ScrollToBottomButton.js.map +1 -0
- package/lib/module/components/StatusComposition.js +17 -0
- package/lib/module/components/StatusComposition.js.map +1 -0
- package/lib/module/components/TypedPlaceholder.js +68 -0
- package/lib/module/components/TypedPlaceholder.js.map +1 -0
- package/lib/module/components/UserActionBar.js +81 -0
- package/lib/module/components/UserActionBar.js.map +1 -0
- package/lib/module/components/UserSelectableBar.js +63 -0
- package/lib/module/components/UserSelectableBar.js.map +1 -0
- package/lib/module/constants.js +2 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/contexts/Localization.js +14 -0
- package/lib/module/contexts/Localization.js.map +1 -0
- package/lib/module/contexts/PlatformService.js +18 -0
- package/lib/module/contexts/PlatformService.js.map +1 -0
- package/lib/module/contexts/SendbirdChat.js +66 -0
- package/lib/module/contexts/SendbirdChat.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +69 -0
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +102 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +134 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +92 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +317 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js +21 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannel/index.js +8 -0
- package/lib/module/domain/groupChannel/index.js.map +1 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +30 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
- package/lib/module/domain/groupChannel/module/moduleContext.js +57 -0
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannel/types.js +2 -0
- package/lib/module/domain/groupChannel/types.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js +24 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +79 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +124 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
- package/lib/module/domain/groupChannelList/index.js +8 -0
- package/lib/module/domain/groupChannelList/index.js.map +1 -0
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js +30 -0
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
- package/lib/module/domain/groupChannelList/module/moduleContext.js +40 -0
- package/lib/module/domain/groupChannelList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelList/types.js +2 -0
- package/lib/module/domain/groupChannelList/types.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +35 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +56 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +78 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/index.js +6 -0
- package/lib/module/domain/groupChannelSettings/index.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +24 -0
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +127 -0
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/types.js +2 -0
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -0
- package/lib/module/domain/groupChannelUserList/types.js +2 -0
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -0
- package/lib/module/domain/userList/component/UserListHeader.js +42 -0
- package/lib/module/domain/userList/component/UserListHeader.js.map +1 -0
- package/lib/module/domain/userList/component/UserListList.js +42 -0
- package/lib/module/domain/userList/component/UserListList.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusEmpty.js +21 -0
- package/lib/module/domain/userList/component/UserListStatusEmpty.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusError.js +25 -0
- package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusLoading.js +21 -0
- package/lib/module/domain/userList/component/UserListStatusLoading.js.map +1 -0
- package/lib/module/domain/userList/index.js +8 -0
- package/lib/module/domain/userList/index.js.map +1 -0
- package/lib/module/domain/userList/module/createUserListModule.js +30 -0
- package/lib/module/domain/userList/module/createUserListModule.js.map +1 -0
- package/lib/module/domain/userList/module/moduleContext.js +34 -0
- package/lib/module/domain/userList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/userList/types.js +2 -0
- package/lib/module/domain/userList/types.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +124 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelFragment.js +132 -0
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelInviteFragment.js +118 -0
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelListFragment.js +115 -0
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelMembersFragment.js +114 -0
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +52 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -0
- package/lib/module/hooks/useConnection.js +79 -0
- package/lib/module/hooks/useConnection.js.map +1 -0
- package/lib/module/hooks/useContext.js +20 -0
- package/lib/module/hooks/useContext.js.map +1 -0
- package/lib/module/hooks/usePushTokenRegistration.js +69 -0
- package/lib/module/hooks/usePushTokenRegistration.js.map +1 -0
- package/lib/module/index.js +57 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/localization/StringSet.en.js +7 -0
- package/lib/module/localization/StringSet.en.js.map +1 -0
- package/lib/module/localization/StringSet.type.js +173 -0
- package/lib/module/localization/StringSet.type.js.map +1 -0
- package/lib/module/platform/createClipboardService.expo.js +15 -0
- package/lib/module/platform/createClipboardService.expo.js.map +1 -0
- package/lib/module/platform/createClipboardService.native.js +15 -0
- package/lib/module/platform/createClipboardService.native.js.map +1 -0
- package/lib/module/platform/createFileService.expo.js +164 -0
- package/lib/module/platform/createFileService.expo.js.map +1 -0
- package/lib/module/platform/createFileService.native.js +237 -0
- package/lib/module/platform/createFileService.native.js.map +1 -0
- package/lib/module/platform/createNotificationService.expo.js +42 -0
- package/lib/module/platform/createNotificationService.expo.js.map +1 -0
- package/lib/module/platform/createNotificationService.native.js +57 -0
- package/lib/module/platform/createNotificationService.native.js.map +1 -0
- package/lib/module/platform/dynamicModule.js +103 -0
- package/lib/module/platform/dynamicModule.js.map +1 -0
- package/lib/module/platform/types.js +2 -0
- package/lib/module/platform/types.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/expoPermissionGranted.js +24 -0
- package/lib/module/utils/expoPermissionGranted.js.map +1 -0
- package/lib/module/utils/fileTypeGuard.js +18 -0
- package/lib/module/utils/fileTypeGuard.js.map +1 -0
- package/lib/module/utils/nativePermissionGranted.js +15 -0
- package/lib/module/utils/nativePermissionGranted.js.map +1 -0
- package/lib/module/version.js +3 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/__template__/component/__domain__Header.d.ts +4 -0
- package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +3 -0
- package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +3 -0
- package/lib/typescript/__template__/component/__domain__View.d.ts +4 -0
- package/lib/typescript/__template__/create__domain__Fragment.d.ts +2 -0
- package/lib/typescript/__template__/index.d.ts +6 -0
- package/lib/typescript/__template__/module/create__domain__Module.d.ts +3 -0
- package/lib/typescript/__template__/module/moduleContext.d.ts +4 -0
- package/lib/typescript/__template__/types.d.ts +31 -0
- package/lib/typescript/src/InternalErrorBoundary.d.ts +18 -0
- package/lib/typescript/src/InternalLocalCacheStorage.d.ts +12 -0
- package/lib/typescript/src/SendbirdUIKitContainer.d.ts +42 -0
- package/lib/typescript/src/components/ChannelCover.d.ts +10 -0
- package/lib/typescript/src/components/ChatFlatList.d.ts +14 -0
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +4 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +3 -0
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +10 -0
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +5 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +4 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/index.d.ts +23 -0
- package/lib/typescript/src/components/NewMessagesButton.d.ts +9 -0
- package/lib/typescript/src/components/ProviderLayout.d.ts +3 -0
- package/lib/typescript/src/components/ScrollToBottomButton.d.ts +7 -0
- package/lib/typescript/src/components/StatusComposition.d.ts +10 -0
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +7 -0
- package/lib/typescript/src/components/UserActionBar.d.ts +11 -0
- package/lib/typescript/src/components/UserSelectableBar.d.ts +9 -0
- package/lib/typescript/src/constants.d.ts +1 -0
- package/lib/typescript/src/contexts/Localization.d.ts +12 -0
- package/lib/typescript/src/contexts/PlatformService.d.ts +10 -0
- package/lib/typescript/src/contexts/SendbirdChat.d.ts +24 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +11 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +9 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +9 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +36 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusEmpty.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusLoading.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/types.d.ts +102 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListHeader.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusEmpty.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusLoading.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelList/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelList/module/createGroupChannelListModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/module/moduleContext.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +81 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelSettings/index.d.ts +5 -0
- package/lib/typescript/src/domain/groupChannelSettings/module/createGroupChannelSettingsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/module/moduleContext.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +45 -0
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +42 -0
- package/lib/typescript/src/domain/userList/component/UserListHeader.d.ts +10 -0
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +11 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusEmpty.d.ts +3 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusLoading.d.ts +3 -0
- package/lib/typescript/src/domain/userList/index.d.ts +7 -0
- package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +3 -0
- package/lib/typescript/src/domain/userList/module/moduleContext.d.ts +4 -0
- package/lib/typescript/src/domain/userList/types.d.ts +58 -0
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +4 -0
- package/lib/typescript/src/fragments/createGroupChannelFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +4 -0
- package/lib/typescript/src/fragments/createGroupChannelListFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelMembersFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createGroupChannelSettingsFragment.d.ts +3 -0
- package/lib/typescript/src/hooks/useConnection.d.ts +11 -0
- package/lib/typescript/src/hooks/useContext.d.ts +22 -0
- package/lib/typescript/src/hooks/usePushTokenRegistration.d.ts +5 -0
- package/lib/typescript/src/index.d.ts +50 -0
- package/lib/typescript/src/localization/StringSet.en.d.ts +2 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +157 -0
- package/lib/typescript/src/platform/createClipboardService.expo.d.ts +4 -0
- package/lib/typescript/src/platform/createClipboardService.native.d.ts +4 -0
- package/lib/typescript/src/platform/createFileService.expo.d.ts +12 -0
- package/lib/typescript/src/platform/createFileService.native.d.ts +14 -0
- package/lib/typescript/src/platform/createNotificationService.expo.d.ts +4 -0
- package/lib/typescript/src/platform/createNotificationService.native.d.ts +8 -0
- package/lib/typescript/src/platform/dynamicModule.d.ts +23 -0
- package/lib/typescript/src/platform/types.d.ts +47 -0
- package/lib/typescript/src/types.d.ts +20 -0
- package/lib/typescript/src/utils/expoPermissionGranted.d.ts +13 -0
- package/lib/typescript/src/utils/fileTypeGuard.d.ts +4 -0
- package/lib/typescript/src/utils/nativePermissionGranted.d.ts +3 -0
- package/lib/typescript/src/version.d.ts +2 -0
- package/package.json +154 -0
- package/src/InternalErrorBoundary.tsx +52 -0
- package/src/InternalLocalCacheStorage.ts +45 -0
- package/src/SendbirdUIKitContainer.tsx +183 -0
- package/src/components/ChannelCover.tsx +44 -0
- package/src/components/ChatFlatList.tsx +96 -0
- package/src/components/MessageRenderer/AdminMessage/index.tsx +40 -0
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +48 -0
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +39 -0
- package/src/components/MessageRenderer/FileMessage/index.tsx +17 -0
- package/src/components/MessageRenderer/MessageContainer.tsx +17 -0
- package/src/components/MessageRenderer/MessageDateSeparator.tsx +43 -0
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +24 -0
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +33 -0
- package/src/components/MessageRenderer/MessageOutgoingStatus.tsx +88 -0
- package/src/components/MessageRenderer/MessageTime.tsx +24 -0
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +34 -0
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +34 -0
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +110 -0
- package/src/components/MessageRenderer/UserMessage/index.tsx +17 -0
- package/src/components/MessageRenderer/index.tsx +163 -0
- package/src/components/NewMessagesButton.tsx +52 -0
- package/src/components/ProviderLayout.tsx +17 -0
- package/src/components/ScrollToBottomButton.tsx +48 -0
- package/src/components/StatusComposition.tsx +16 -0
- package/src/components/TypedPlaceholder.tsx +48 -0
- package/src/components/UserActionBar.tsx +73 -0
- package/src/components/UserSelectableBar.tsx +58 -0
- package/src/constants.ts +1 -0
- package/src/contexts/Localization.tsx +17 -0
- package/src/contexts/PlatformService.tsx +23 -0
- package/src/contexts/SendbirdChat.tsx +110 -0
- package/src/domain/groupChannel/component/GroupChannelHeader.tsx +52 -0
- package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +92 -0
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +141 -0
- package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +72 -0
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +308 -0
- package/src/domain/groupChannel/component/GroupChannelStatusEmpty.tsx +18 -0
- package/src/domain/groupChannel/component/GroupChannelStatusLoading.tsx +18 -0
- package/src/domain/groupChannel/index.ts +7 -0
- package/src/domain/groupChannel/module/createGroupChannelModule.tsx +21 -0
- package/src/domain/groupChannel/module/moduleContext.tsx +76 -0
- package/src/domain/groupChannel/types.ts +125 -0
- package/src/domain/groupChannelList/component/GroupChannelListHeader.tsx +20 -0
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +75 -0
- package/src/domain/groupChannelList/component/GroupChannelListStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelList/component/GroupChannelListStatusLoading.tsx +18 -0
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +114 -0
- package/src/domain/groupChannelList/index.ts +7 -0
- package/src/domain/groupChannelList/module/createGroupChannelListModule.tsx +21 -0
- package/src/domain/groupChannelList/module/moduleContext.tsx +40 -0
- package/src/domain/groupChannelList/types.ts +92 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.tsx +29 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +47 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +77 -0
- package/src/domain/groupChannelSettings/index.ts +5 -0
- package/src/domain/groupChannelSettings/module/createGroupChannelSettingsModule.tsx +17 -0
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +146 -0
- package/src/domain/groupChannelSettings/types.ts +50 -0
- package/src/domain/groupChannelUserList/types.ts +50 -0
- package/src/domain/userList/component/UserListHeader.tsx +39 -0
- package/src/domain/userList/component/UserListList.tsx +36 -0
- package/src/domain/userList/component/UserListStatusEmpty.tsx +18 -0
- package/src/domain/userList/component/UserListStatusError.tsx +19 -0
- package/src/domain/userList/component/UserListStatusLoading.tsx +18 -0
- package/src/domain/userList/index.ts +7 -0
- package/src/domain/userList/module/createUserListModule.tsx +21 -0
- package/src/domain/userList/module/moduleContext.tsx +36 -0
- package/src/domain/userList/types.ts +65 -0
- package/src/fragments/createGroupChannelCreateFragment.tsx +136 -0
- package/src/fragments/createGroupChannelFragment.tsx +153 -0
- package/src/fragments/createGroupChannelInviteFragment.tsx +127 -0
- package/src/fragments/createGroupChannelListFragment.tsx +113 -0
- package/src/fragments/createGroupChannelMembersFragment.tsx +112 -0
- package/src/fragments/createGroupChannelSettingsFragment.tsx +56 -0
- package/src/hooks/useConnection.ts +82 -0
- package/src/hooks/useContext.ts +25 -0
- package/src/hooks/usePushTokenRegistration.ts +64 -0
- package/src/index.ts +104 -0
- package/src/localization/StringSet.en.ts +7 -0
- package/src/localization/StringSet.type.ts +334 -0
- package/src/platform/createClipboardService.expo.ts +16 -0
- package/src/platform/createClipboardService.native.ts +16 -0
- package/src/platform/createFileService.expo.ts +142 -0
- package/src/platform/createFileService.native.ts +191 -0
- package/src/platform/createNotificationService.expo.ts +36 -0
- package/src/platform/createNotificationService.native.ts +60 -0
- package/src/platform/dynamicModule.ts +110 -0
- package/src/platform/types.ts +51 -0
- package/src/types.ts +18 -0
- package/src/utils/expoPermissionGranted.ts +39 -0
- package/src/utils/fileTypeGuard.ts +10 -0
- package/src/utils/nativePermissionGranted.ts +14 -0
- package/src/version.ts +2 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.SendbirdUIKit = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
|
+
|
|
14
|
+
var _sendbird = _interopRequireDefault(require("sendbird"));
|
|
15
|
+
|
|
16
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
17
|
+
|
|
18
|
+
var _InternalErrorBoundary = _interopRequireDefault(require("./InternalErrorBoundary"));
|
|
19
|
+
|
|
20
|
+
var _InternalLocalCacheStorage = _interopRequireDefault(require("./InternalLocalCacheStorage"));
|
|
21
|
+
|
|
22
|
+
var _Localization = require("./contexts/Localization");
|
|
23
|
+
|
|
24
|
+
var _PlatformService = require("./contexts/PlatformService");
|
|
25
|
+
|
|
26
|
+
var _SendbirdChat = require("./contexts/SendbirdChat");
|
|
27
|
+
|
|
28
|
+
var _useContext = require("./hooks/useContext");
|
|
29
|
+
|
|
30
|
+
var _StringSet = _interopRequireDefault(require("./localization/StringSet.en"));
|
|
31
|
+
|
|
32
|
+
var _dynamicModule = _interopRequireDefault(require("./platform/dynamicModule"));
|
|
33
|
+
|
|
34
|
+
var _version = _interopRequireDefault(require("./version"));
|
|
35
|
+
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
+
|
|
38
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
+
|
|
40
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
+
|
|
42
|
+
const NetInfo = _dynamicModule.default.get('@react-native-community/netinfo', 'warn');
|
|
43
|
+
|
|
44
|
+
const SendbirdUIKit = Object.freeze({
|
|
45
|
+
VERSION: _version.default,
|
|
46
|
+
PLATFORM: _reactNative.Platform.OS.toLowerCase()
|
|
47
|
+
});
|
|
48
|
+
exports.SendbirdUIKit = SendbirdUIKit;
|
|
49
|
+
|
|
50
|
+
const SendbirdUIKitContainer = _ref => {
|
|
51
|
+
let {
|
|
52
|
+
children,
|
|
53
|
+
appId,
|
|
54
|
+
chatOptions,
|
|
55
|
+
platformServices,
|
|
56
|
+
localization,
|
|
57
|
+
styles,
|
|
58
|
+
toast,
|
|
59
|
+
errorBoundary
|
|
60
|
+
} = _ref;
|
|
61
|
+
const unsubscribes = (0, _react.useRef)([]).current;
|
|
62
|
+
|
|
63
|
+
const getSendbirdSDK = () => {
|
|
64
|
+
let sdk;
|
|
65
|
+
|
|
66
|
+
if (chatOptions !== null && chatOptions !== void 0 && chatOptions.localCacheStorage) {
|
|
67
|
+
sdk = new _sendbird.default({
|
|
68
|
+
appId,
|
|
69
|
+
localCacheEnabled: true
|
|
70
|
+
});
|
|
71
|
+
sdk.useAsyncStorageAsDatabase(new _InternalLocalCacheStorage.default(chatOptions.localCacheStorage));
|
|
72
|
+
} else {
|
|
73
|
+
sdk = new _sendbird.default({
|
|
74
|
+
appId
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (chatOptions !== null && chatOptions !== void 0 && chatOptions.onInitialized) {
|
|
79
|
+
sdk = chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.onInitialized(sdk);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (SendbirdUIKit.VERSION) {
|
|
83
|
+
// @ts-ignore
|
|
84
|
+
sdk.addExtension('sb_uikit', SendbirdUIKit.VERSION);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (SendbirdUIKit.PLATFORM) {
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
sdk.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (NetInfo) {
|
|
93
|
+
var _sdk$setOnlineListene, _sdk, _sdk$setOfflineListen, _sdk2;
|
|
94
|
+
|
|
95
|
+
const listener = (callback, callbackType) => {
|
|
96
|
+
const unsubscribe = NetInfo.addEventListener(state => {
|
|
97
|
+
const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);
|
|
98
|
+
if (online && callbackType === 'online') callback();
|
|
99
|
+
if (!online && callbackType === 'offline') callback();
|
|
100
|
+
});
|
|
101
|
+
unsubscribes.push(unsubscribe);
|
|
102
|
+
return unsubscribe;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
(_sdk$setOnlineListene = (_sdk = sdk).setOnlineListener) === null || _sdk$setOnlineListene === void 0 ? void 0 : _sdk$setOnlineListene.call(_sdk, onOnline => listener(onOnline, 'online'));
|
|
106
|
+
(_sdk$setOfflineListen = (_sdk2 = sdk).setOfflineListener) === null || _sdk$setOfflineListen === void 0 ? void 0 : _sdk$setOfflineListen.call(_sdk2, onOffline => listener(onOffline, 'offline'));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return sdk;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const [sdkInstance, setSdkInstance] = (0, _react.useState)(getSendbirdSDK);
|
|
113
|
+
(0, _react.useEffect)(() => {
|
|
114
|
+
setSdkInstance(getSendbirdSDK);
|
|
115
|
+
return () => {
|
|
116
|
+
unsubscribes.forEach(u => {
|
|
117
|
+
try {
|
|
118
|
+
u();
|
|
119
|
+
} catch {}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
}, [appId, chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.localCacheStorage]);
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, null, /*#__PURE__*/_react.default.createElement(_SendbirdChat.SendbirdChatProvider, {
|
|
124
|
+
sdkInstance: sdkInstance,
|
|
125
|
+
enableAutoPushTokenRegistration: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableAutoPushTokenRegistration) ?? true
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_Localization.LocalizationProvider, {
|
|
127
|
+
stringSet: (localization === null || localization === void 0 ? void 0 : localization.stringSet) ?? _StringSet.default
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement(_PlatformService.PlatformServiceProvider, {
|
|
129
|
+
fileService: platformServices.file,
|
|
130
|
+
notificationService: platformServices.notification,
|
|
131
|
+
clipboardService: platformServices.clipboard
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.UIKitThemeProvider, {
|
|
133
|
+
theme: (styles === null || styles === void 0 ? void 0 : styles.theme) ?? _uikitReactNativeFoundation.LightUIKitTheme
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.HeaderStyleProvider, {
|
|
135
|
+
HeaderComponent: (styles === null || styles === void 0 ? void 0 : styles.HeaderComponent) ?? _uikitReactNativeFoundation.Header,
|
|
136
|
+
defaultTitleAlign: (styles === null || styles === void 0 ? void 0 : styles.defaultHeaderTitleAlign) ?? 'left',
|
|
137
|
+
statusBarTranslucent: (styles === null || styles === void 0 ? void 0 : styles.statusBarTranslucent) ?? true
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement(LocalizedDialogProvider, null, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.ToastProvider, {
|
|
139
|
+
dismissTimeout: toast === null || toast === void 0 ? void 0 : toast.dismissTimeout
|
|
140
|
+
}, /*#__PURE__*/_react.default.createElement(_InternalErrorBoundary.default, errorBoundary, children)))))))));
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const LocalizedDialogProvider = _ref2 => {
|
|
144
|
+
let {
|
|
145
|
+
children
|
|
146
|
+
} = _ref2;
|
|
147
|
+
const {
|
|
148
|
+
STRINGS
|
|
149
|
+
} = (0, _useContext.useLocalization)();
|
|
150
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.DialogProvider, {
|
|
151
|
+
defaultLabels: {
|
|
152
|
+
alert: {
|
|
153
|
+
ok: STRINGS.DIALOG.ALERT_DEFAULT_OK
|
|
154
|
+
},
|
|
155
|
+
prompt: {
|
|
156
|
+
ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,
|
|
157
|
+
cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,
|
|
158
|
+
placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}, children);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
var _default = SendbirdUIKitContainer;
|
|
165
|
+
exports.default = _default;
|
|
166
|
+
//# sourceMappingURL=SendbirdUIKitContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NetInfo","SBUDynamicModule","get","SendbirdUIKit","Object","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","SendbirdUIKitContainer","children","appId","chatOptions","platformServices","localization","styles","toast","errorBoundary","unsubscribes","useRef","current","getSendbirdSDK","sdk","localCacheStorage","Sendbird","localCacheEnabled","useAsyncStorageAsDatabase","InternalLocalCacheStorage","onInitialized","addExtension","listener","callback","callbackType","unsubscribe","addEventListener","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","sdkInstance","setSdkInstance","useState","useEffect","forEach","u","enableAutoPushTokenRegistration","stringSet","StringSetEn","file","notification","clipboard","theme","LightUIKitTheme","HeaderComponent","Header","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","LocalizedDialogProvider","STRINGS","useLocalization","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\nimport Sendbird from 'sendbird';\n\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nimport InternalErrorBoundary from './InternalErrorBoundary';\nimport InternalLocalCacheStorage from './InternalLocalCacheStorage';\nimport { LocalizationProvider } from './contexts/Localization';\nimport { PlatformServiceProvider } from './contexts/PlatformService';\nimport { SendbirdChatProvider } from './contexts/SendbirdChat';\nimport { useLocalization } from './hooks/useContext';\nimport StringSetEn from './localization/StringSet.en';\nimport type { StringSet } from './localization/StringSet.type';\nimport SBUDynamicModule from './platform/dynamicModule';\nimport type { ClipboardServiceInterface, FileServiceInterface, NotificationServiceInterface } from './platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from './types';\nimport VERSION from './version';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n});\n\nexport type SendbirdUIKitContainerProps = {\n children?: React.ReactNode;\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n enableAutoPushTokenRegistration?: boolean;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n };\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n toast?: {\n dismissTimeout?: number;\n };\n errorBoundary?: {\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n };\n};\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n toast,\n errorBoundary,\n}: SendbirdUIKitContainerProps) => {\n const unsubscribes = useRef<(() => void)[]>([]).current;\n const getSendbirdSDK = () => {\n let sdk: SendbirdChatSDK;\n\n if (chatOptions?.localCacheStorage) {\n sdk = new Sendbird({ appId, localCacheEnabled: true });\n sdk.useAsyncStorageAsDatabase(new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n } else {\n sdk = new Sendbird({ appId });\n }\n\n if (chatOptions?.onInitialized) {\n sdk = chatOptions?.onInitialized(sdk);\n }\n\n if (SendbirdUIKit.VERSION) {\n // @ts-ignore\n sdk.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n if (SendbirdUIKit.PLATFORM) {\n // @ts-ignore\n sdk.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo) {\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n sdk.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n sdk.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return sdk;\n };\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(getSendbirdSDK);\n\n useEffect(() => {\n setSdkInstance(getSendbirdSDK);\n return () => {\n unsubscribes.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, chatOptions?.localCacheStorage]);\n\n return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n enableAutoPushTokenRegistration={chatOptions?.enableAutoPushTokenRegistration ?? true}\n >\n <LocalizationProvider stringSet={localization?.stringSet ?? StringSetEn}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <LocalizedDialogProvider>\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <InternalErrorBoundary {...errorBoundary}>{children}</InternalErrorBoundary>\n </ToastProvider>\n </LocalizedDialogProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </SafeAreaProvider>\n );\n};\n\nconst LocalizedDialogProvider: React.FC = ({ children }) => {\n const { STRINGS } = useLocalization();\n return (\n <DialogProvider\n defaultLabels={{\n alert: {\n ok: STRINGS.DIALOG.ALERT_DEFAULT_OK,\n },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {children}\n </DialogProvider>\n );\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
11
|
+
|
|
12
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
+
|
|
14
|
+
var _useContext = require("../hooks/useContext");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
|
|
20
|
+
const ChannelCover = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
channel,
|
|
23
|
+
...avatarProps
|
|
24
|
+
} = _ref;
|
|
25
|
+
const {
|
|
26
|
+
currentUser
|
|
27
|
+
} = (0, _useContext.useSendbirdChat)(); // channel cover
|
|
28
|
+
|
|
29
|
+
if (!(0, _uikitUtils.isDefaultCoverImage)(channel.coverUrl) || !currentUser) {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar, _extends({
|
|
31
|
+
uri: channel.coverUrl
|
|
32
|
+
}, avatarProps));
|
|
33
|
+
} // no members, use anonymous profile
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
if (channel.memberCount <= 1) {
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar, avatarProps);
|
|
38
|
+
} // 1:1, use member profile
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if (channel.memberCount === 2) {
|
|
42
|
+
var _channel$members$filt, _channel$members$filt2;
|
|
43
|
+
|
|
44
|
+
const otherUserProfile = (_channel$members$filt = channel.members.filter(m => m.userId !== currentUser.userId)) === null || _channel$members$filt === void 0 ? void 0 : (_channel$members$filt2 = _channel$members$filt[0]) === null || _channel$members$filt2 === void 0 ? void 0 : _channel$members$filt2.profileUrl;
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar, _extends({
|
|
46
|
+
uri: otherUserProfile
|
|
47
|
+
}, avatarProps));
|
|
48
|
+
} // group, use members profile
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar.Group, avatarProps, (0, _uikitUtils.getMembersExcludeMe)(channel, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId).map(m => /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Avatar, {
|
|
52
|
+
key: m.userId,
|
|
53
|
+
uri: m.profileUrl
|
|
54
|
+
})));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var _default = ChannelCover;
|
|
58
|
+
exports.default = _default;
|
|
59
|
+
//# sourceMappingURL=ChannelCover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ChannelCover","channel","avatarProps","currentUser","useSendbirdChat","isDefaultCoverImage","coverUrl","memberCount","otherUserProfile","members","filter","m","userId","profileUrl","getMembersExcludeMe","map"],"sources":["ChannelCover.tsx"],"sourcesContent":["import React from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport { Avatar } from '@sendbird/uikit-react-native-foundation';\nimport { SendbirdGroupChannel, getMembersExcludeMe, isDefaultCoverImage } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../hooks/useContext';\n\ntype Props = {\n channel: SendbirdGroupChannel;\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nconst ChannelCover: React.FC<Props> = ({ channel, ...avatarProps }) => {\n const { currentUser } = useSendbirdChat();\n\n // channel cover\n if (!isDefaultCoverImage(channel.coverUrl) || !currentUser) {\n return <Avatar uri={channel.coverUrl} {...avatarProps} />;\n }\n\n // no members, use anonymous profile\n if (channel.memberCount <= 1) {\n return <Avatar {...avatarProps} />;\n }\n\n // 1:1, use member profile\n if (channel.memberCount === 2) {\n const otherUserProfile = channel.members.filter((m) => m.userId !== currentUser.userId)?.[0]?.profileUrl;\n return <Avatar uri={otherUserProfile} {...avatarProps} />;\n }\n\n // group, use members profile\n return (\n <Avatar.Group {...avatarProps}>\n {getMembersExcludeMe(channel, currentUser?.userId).map((m) => (\n <Avatar key={m.userId} uri={m.profileUrl} />\n ))}\n </Avatar.Group>\n );\n};\n\nexport default ChannelCover;\n"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAEA;;;;;;AAQA,MAAMA,YAA6B,GAAG,QAAiC;EAAA,IAAhC;IAAEC,OAAF;IAAW,GAAGC;EAAd,CAAgC;EACrE,MAAM;IAAEC;EAAF,IAAkB,IAAAC,2BAAA,GAAxB,CADqE,CAGrE;;EACA,IAAI,CAAC,IAAAC,+BAAA,EAAoBJ,OAAO,CAACK,QAA5B,CAAD,IAA0C,CAACH,WAA/C,EAA4D;IAC1D,oBAAO,6BAAC,kCAAD;MAAQ,GAAG,EAAEF,OAAO,CAACK;IAArB,GAAmCJ,WAAnC,EAAP;EACD,CANoE,CAQrE;;;EACA,IAAID,OAAO,CAACM,WAAR,IAAuB,CAA3B,EAA8B;IAC5B,oBAAO,6BAAC,kCAAD,EAAYL,WAAZ,CAAP;EACD,CAXoE,CAarE;;;EACA,IAAID,OAAO,CAACM,WAAR,KAAwB,CAA5B,EAA+B;IAAA;;IAC7B,MAAMC,gBAAgB,4BAAGP,OAAO,CAACQ,OAAR,CAAgBC,MAAhB,CAAwBC,CAAD,IAAOA,CAAC,CAACC,MAAF,KAAaT,WAAW,CAACS,MAAvD,CAAH,oFAAG,sBAAiE,CAAjE,CAAH,2DAAG,uBAAqEC,UAA9F;IACA,oBAAO,6BAAC,kCAAD;MAAQ,GAAG,EAAEL;IAAb,GAAmCN,WAAnC,EAAP;EACD,CAjBoE,CAmBrE;;;EACA,oBACE,6BAAC,kCAAD,CAAQ,KAAR,EAAkBA,WAAlB,EACG,IAAAY,+BAAA,EAAoBb,OAApB,EAA6BE,WAA7B,aAA6BA,WAA7B,uBAA6BA,WAAW,CAAES,MAA1C,EAAkDG,GAAlD,CAAuDJ,CAAD,iBACrD,6BAAC,kCAAD;IAAQ,GAAG,EAAEA,CAAC,CAACC,MAAf;IAAuB,GAAG,EAAED,CAAC,CAACE;EAA9B,EADD,CADH,CADF;AAOD,CA3BD;;eA6Beb,Y"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
13
|
+
|
|
14
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
let ANDROID_BUG_ALERT_SHOWED = _reactNative.Platform.OS !== 'android';
|
|
23
|
+
const BOTTOM_DETECT_THRESHOLD = 25; // const AUTO_SCROLL_TO_TOP_THRESHOLD = 15;
|
|
24
|
+
|
|
25
|
+
function hasReachedToBottom(yPos) {
|
|
26
|
+
let thresholdPx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
27
|
+
return thresholdPx >= yPos;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// FIXME: Inverted FlatList performance issue on Android {@link https://github.com/facebook/react-native/issues/30034}
|
|
31
|
+
const ChatFlatList = /*#__PURE__*/(0, _react.forwardRef)(function CustomFlatList(_ref, ref) {
|
|
32
|
+
var _props$data;
|
|
33
|
+
|
|
34
|
+
let {
|
|
35
|
+
onTopReached,
|
|
36
|
+
nextMessages,
|
|
37
|
+
onBottomReached,
|
|
38
|
+
onLeaveScrollBottom,
|
|
39
|
+
onScroll,
|
|
40
|
+
currentUserId,
|
|
41
|
+
...props
|
|
42
|
+
} = _ref;
|
|
43
|
+
const {
|
|
44
|
+
select
|
|
45
|
+
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
46
|
+
const scrollRef = (0, _react.useRef)(null);
|
|
47
|
+
const yPos = (0, _react.useRef)(0);
|
|
48
|
+
(0, _react.useImperativeHandle)(ref, () => ({
|
|
49
|
+
scrollToBottom: function () {
|
|
50
|
+
var _scrollRef$current;
|
|
51
|
+
|
|
52
|
+
let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
53
|
+
return (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollToOffset({
|
|
54
|
+
animated,
|
|
55
|
+
offset: 0
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}), []);
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
const latestMessage = nextMessages[nextMessages.length - 1];
|
|
61
|
+
if (!latestMessage) return;
|
|
62
|
+
|
|
63
|
+
if (hasReachedToBottom(yPos.current)) {
|
|
64
|
+
onBottomReached();
|
|
65
|
+
} else if ((0, _uikitUtils.isMyMessage)(latestMessage, currentUserId)) {
|
|
66
|
+
var _scrollRef$current2;
|
|
67
|
+
|
|
68
|
+
(_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.scrollToOffset({
|
|
69
|
+
animated: false,
|
|
70
|
+
offset: 0
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}, [onBottomReached, nextMessages, currentUserId]);
|
|
74
|
+
|
|
75
|
+
const _onScroll = (0, _react.useCallback)(event => {
|
|
76
|
+
const {
|
|
77
|
+
contentOffset
|
|
78
|
+
} = event.nativeEvent;
|
|
79
|
+
|
|
80
|
+
if (BOTTOM_DETECT_THRESHOLD < yPos.current && contentOffset.y <= BOTTOM_DETECT_THRESHOLD) {
|
|
81
|
+
onLeaveScrollBottom(false);
|
|
82
|
+
} else if (BOTTOM_DETECT_THRESHOLD < contentOffset.y && yPos.current <= BOTTOM_DETECT_THRESHOLD) {
|
|
83
|
+
onLeaveScrollBottom(true);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
yPos.current = contentOffset.y;
|
|
87
|
+
onScroll === null || onScroll === void 0 ? void 0 : onScroll(event);
|
|
88
|
+
if (hasReachedToBottom(yPos.current)) onBottomReached();
|
|
89
|
+
}, [onScroll, onBottomReached]);
|
|
90
|
+
|
|
91
|
+
if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {
|
|
92
|
+
ANDROID_BUG_ALERT_SHOWED = true; // eslint-disable-next-line no-console
|
|
93
|
+
|
|
94
|
+
console.warn('UIKit Warning: Inverted FlatList has a performance issue on Android, Maybe this is a bug please refer link\nhttps://github.com/facebook/react-native/issues/30034');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, _extends({}, props, {
|
|
98
|
+
// FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}
|
|
99
|
+
inverted: Boolean((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) // FIXME: maintainVisibleContentPosition is not working on Android {@link https://github.com/facebook/react-native/issues/25239}
|
|
100
|
+
// maintainVisibleContentPosition={{ minIndexForVisible: 1, autoscrollToTopThreshold: AUTO_SCROLL_TO_TOP_THRESHOLD }}
|
|
101
|
+
,
|
|
102
|
+
ref: scrollRef,
|
|
103
|
+
bounces: false,
|
|
104
|
+
keyboardShouldPersistTaps: 'handled',
|
|
105
|
+
indicatorStyle: select({
|
|
106
|
+
light: 'black',
|
|
107
|
+
dark: 'white'
|
|
108
|
+
}),
|
|
109
|
+
removeClippedSubviews: true,
|
|
110
|
+
onEndReachedThreshold: 0.5,
|
|
111
|
+
onEndReached: onTopReached,
|
|
112
|
+
scrollEventThrottle: 16,
|
|
113
|
+
onScroll: _onScroll
|
|
114
|
+
}));
|
|
115
|
+
});
|
|
116
|
+
var _default = ChatFlatList;
|
|
117
|
+
exports.default = _default;
|
|
118
|
+
//# sourceMappingURL=ChatFlatList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ANDROID_BUG_ALERT_SHOWED","Platform","OS","BOTTOM_DETECT_THRESHOLD","hasReachedToBottom","yPos","thresholdPx","ChatFlatList","forwardRef","CustomFlatList","ref","onTopReached","nextMessages","onBottomReached","onLeaveScrollBottom","onScroll","currentUserId","props","select","useUIKitTheme","scrollRef","useRef","useImperativeHandle","scrollToBottom","animated","current","scrollToOffset","offset","useEffect","latestMessage","length","isMyMessage","_onScroll","useCallback","event","contentOffset","nativeEvent","y","__DEV__","console","warn","Boolean","data","light","dark"],"sources":["ChatFlatList.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';\nimport { FlatList, FlatListProps, Platform } from 'react-native';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { SendbirdMessage, isMyMessage } from '@sendbird/uikit-utils';\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android';\nconst BOTTOM_DETECT_THRESHOLD = 25;\n// const AUTO_SCROLL_TO_TOP_THRESHOLD = 15;\n\nfunction hasReachedToBottom(yPos: number, thresholdPx = 0) {\n return thresholdPx >= yPos;\n}\n\nexport type ChatFlatListRef = { scrollToBottom: (animated?: boolean) => void };\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n currentUserId?: string;\n onBottomReached: () => void;\n onTopReached: () => void;\n nextMessages: SendbirdMessage[];\n onLeaveScrollBottom: (value: boolean) => void;\n};\n// FIXME: Inverted FlatList performance issue on Android {@link https://github.com/facebook/react-native/issues/30034}\nconst ChatFlatList = forwardRef<ChatFlatListRef, Props>(function CustomFlatList(\n { onTopReached, nextMessages, onBottomReached, onLeaveScrollBottom, onScroll, currentUserId, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const scrollRef = useRef<FlatList<SendbirdMessage>>(null);\n const yPos = useRef(0);\n\n useImperativeHandle(\n ref,\n () => ({\n scrollToBottom: (animated = true) => scrollRef.current?.scrollToOffset({ animated, offset: 0 }),\n }),\n [],\n );\n\n useEffect(() => {\n const latestMessage = nextMessages[nextMessages.length - 1];\n if (!latestMessage) return;\n\n if (hasReachedToBottom(yPos.current)) {\n onBottomReached();\n } else if (isMyMessage(latestMessage, currentUserId)) {\n scrollRef.current?.scrollToOffset({ animated: false, offset: 0 });\n }\n }, [onBottomReached, nextMessages, currentUserId]);\n\n const _onScroll: Props['onScroll'] = useCallback(\n (event) => {\n const { contentOffset } = event.nativeEvent;\n if (BOTTOM_DETECT_THRESHOLD < yPos.current && contentOffset.y <= BOTTOM_DETECT_THRESHOLD) {\n onLeaveScrollBottom(false);\n } else if (BOTTOM_DETECT_THRESHOLD < contentOffset.y && yPos.current <= BOTTOM_DETECT_THRESHOLD) {\n onLeaveScrollBottom(true);\n }\n\n yPos.current = contentOffset.y;\n\n onScroll?.(event);\n if (hasReachedToBottom(yPos.current)) onBottomReached();\n },\n [onScroll, onBottomReached],\n );\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: Inverted FlatList has a performance issue on Android, Maybe this is a bug please refer link\\nhttps://github.com/facebook/react-native/issues/30034',\n );\n }\n\n return (\n <FlatList\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n // FIXME: maintainVisibleContentPosition is not working on Android {@link https://github.com/facebook/react-native/issues/25239}\n // maintainVisibleContentPosition={{ minIndexForVisible: 1, autoscrollToTopThreshold: AUTO_SCROLL_TO_TOP_THRESHOLD }}\n ref={scrollRef}\n bounces={false}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n removeClippedSubviews\n onEndReachedThreshold={0.5}\n onEndReached={onTopReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
const AdminMessage = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
message,
|
|
19
|
+
nextMessage
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
colors
|
|
23
|
+
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
24
|
+
const isNextAdmin = nextMessage === null || nextMessage === void 0 ? void 0 : nextMessage.isAdminMessage();
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
26
|
+
style: _reactNative.StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
|
|
28
|
+
caption2: true,
|
|
29
|
+
color: colors.onBackground02,
|
|
30
|
+
style: styles.text
|
|
31
|
+
}, message.message));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
35
|
+
container: {
|
|
36
|
+
width: 300,
|
|
37
|
+
alignSelf: 'center',
|
|
38
|
+
alignItems: 'center'
|
|
39
|
+
},
|
|
40
|
+
nextAdminType: {
|
|
41
|
+
marginBottom: 8
|
|
42
|
+
},
|
|
43
|
+
next: {
|
|
44
|
+
marginBottom: 16
|
|
45
|
+
},
|
|
46
|
+
text: {
|
|
47
|
+
textAlign: 'center'
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var _default = AdminMessage;
|
|
51
|
+
exports.default = _default;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AdminMessage","message","nextMessage","colors","useUIKitTheme","isNextAdmin","isAdminMessage","StyleSheet","flatten","styles","container","nextAdminType","next","onBackground02","text","createStyleSheet","width","alignSelf","alignItems","marginBottom","textAlign"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\n\nexport type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;\nconst AdminMessage: React.FC<AdminMessageProps> = ({ message, nextMessage }) => {\n const { colors } = useUIKitTheme();\n\n const isNextAdmin = nextMessage?.isAdminMessage();\n return (\n <View style={StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])}>\n <Text caption2 color={colors.onBackground02} style={styles.text}>\n {message.message}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n width: 300,\n alignSelf: 'center',\n alignItems: 'center',\n },\n nextAdminType: {\n marginBottom: 8,\n },\n next: {\n marginBottom: 16,\n },\n text: {\n textAlign: 'center',\n },\n});\n\nexport default AdminMessage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAMA,MAAMA,YAAyC,GAAG,QAA8B;EAAA,IAA7B;IAAEC,OAAF;IAAWC;EAAX,CAA6B;EAC9E,MAAM;IAAEC;EAAF,IAAa,IAAAC,yCAAA,GAAnB;EAEA,MAAMC,WAAW,GAAGH,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAEI,cAAb,EAApB;EACA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEC,uBAAA,CAAWC,OAAX,CAAmB,CAACC,MAAM,CAACC,SAAR,EAAmBL,WAAW,GAAGI,MAAM,CAACE,aAAV,GAA0BF,MAAM,CAACG,IAA/D,CAAnB;EAAb,gBACE,6BAAC,gCAAD;IAAM,QAAQ,MAAd;IAAe,KAAK,EAAET,MAAM,CAACU,cAA7B;IAA6C,KAAK,EAAEJ,MAAM,CAACK;EAA3D,GACGb,OAAO,CAACA,OADX,CADF,CADF;AAOD,CAXD;;AAaA,MAAMQ,MAAM,GAAG,IAAAM,4CAAA,EAAiB;EAC9BL,SAAS,EAAE;IACTM,KAAK,EAAE,GADE;IAETC,SAAS,EAAE,QAFF;IAGTC,UAAU,EAAE;EAHH,CADmB;EAM9BP,aAAa,EAAE;IACbQ,YAAY,EAAE;EADD,CANe;EAS9BP,IAAI,EAAE;IACJO,YAAY,EAAE;EADV,CATwB;EAY9BL,IAAI,EAAE;IACJM,SAAS,EAAE;EADP;AAZwB,CAAjB,CAAf;eAiBepB,Y"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
13
|
+
|
|
14
|
+
var _useContext = require("../../../hooks/useContext");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const iconMapper = {
|
|
19
|
+
audio: 'file-audio',
|
|
20
|
+
image: 'photo',
|
|
21
|
+
video: 'play',
|
|
22
|
+
file: 'file-document'
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const BaseFileMessage = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
message,
|
|
28
|
+
variant,
|
|
29
|
+
pressed,
|
|
30
|
+
type
|
|
31
|
+
} = _ref;
|
|
32
|
+
const {
|
|
33
|
+
STRINGS
|
|
34
|
+
} = (0, _useContext.useLocalization)();
|
|
35
|
+
const {
|
|
36
|
+
colors
|
|
37
|
+
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
38
|
+
const color = colors.ui.message[variant][pressed ? 'pressed' : 'enabled'];
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
40
|
+
style: [styles.container, {
|
|
41
|
+
backgroundColor: color.background
|
|
42
|
+
}]
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
|
|
44
|
+
icon: iconMapper[type],
|
|
45
|
+
size: 24,
|
|
46
|
+
containerStyle: {
|
|
47
|
+
backgroundColor: colors.background,
|
|
48
|
+
padding: 2,
|
|
49
|
+
borderRadius: 8,
|
|
50
|
+
marginRight: 8
|
|
51
|
+
}
|
|
52
|
+
}), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
|
|
53
|
+
body3: true,
|
|
54
|
+
ellipsizeMode: 'middle',
|
|
55
|
+
numberOfLines: 1,
|
|
56
|
+
color: color.textMsg,
|
|
57
|
+
style: styles.name
|
|
58
|
+
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message)));
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
62
|
+
container: {
|
|
63
|
+
flexDirection: 'row',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
justifyContent: 'center',
|
|
66
|
+
paddingHorizontal: 12,
|
|
67
|
+
paddingVertical: 6,
|
|
68
|
+
borderRadius: 16
|
|
69
|
+
},
|
|
70
|
+
name: {
|
|
71
|
+
flexShrink: 1
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
var _default = BaseFileMessage;
|
|
75
|
+
exports.default = _default;
|
|
76
|
+
//# sourceMappingURL=BaseFileMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["iconMapper","audio","image","video","file","BaseFileMessage","message","variant","pressed","type","STRINGS","useLocalization","colors","useUIKitTheme","color","ui","styles","container","backgroundColor","background","padding","borderRadius","marginRight","textMsg","name","GROUP_CHANNEL","MESSAGE_BUBBLE_FILE_TITLE","createStyleSheet","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","flexShrink"],"sources":["BaseFileMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Icon, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { FileMessageProps } from './index';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\nconst BaseFileMessage: React.FC<FileMessageProps & { type: 'image' | 'audio' | 'video' | 'file' }> = ({\n message,\n variant,\n pressed,\n type,\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const color = colors.ui.message[variant][pressed ? 'pressed' : 'enabled'];\n return (\n <View style={[styles.container, { backgroundColor: color.background }]}>\n <Icon\n icon={iconMapper[type]}\n size={24}\n containerStyle={{ backgroundColor: colors.background, padding: 2, borderRadius: 8, marginRight: 8 }}\n />\n <Text body3 ellipsizeMode={'middle'} numberOfLines={1} color={color.textMsg} style={styles.name}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message)}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 16,\n },\n name: {\n flexShrink: 1,\n },\n});\n\nexport default BaseFileMessage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;AAGA,MAAMA,UAAU,GAAG;EAAEC,KAAK,EAAE,YAAT;EAAuBC,KAAK,EAAE,OAA9B;EAAuCC,KAAK,EAAE,MAA9C;EAAsDC,IAAI,EAAE;AAA5D,CAAnB;;AAEA,MAAMC,eAA4F,GAAG,QAK/F;EAAA,IALgG;IACpGC,OADoG;IAEpGC,OAFoG;IAGpGC,OAHoG;IAIpGC;EAJoG,CAKhG;EACJ,MAAM;IAAEC;EAAF,IAAc,IAAAC,2BAAA,GAApB;EACA,MAAM;IAAEC;EAAF,IAAa,IAAAC,yCAAA,GAAnB;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAP,CAAUT,OAAV,CAAkBC,OAAlB,EAA2BC,OAAO,GAAG,SAAH,GAAe,SAAjD,CAAd;EACA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAR,EAAmB;MAAEC,eAAe,EAAEJ,KAAK,CAACK;IAAzB,CAAnB;EAAb,gBACE,6BAAC,gCAAD;IACE,IAAI,EAAEnB,UAAU,CAACS,IAAD,CADlB;IAEE,IAAI,EAAE,EAFR;IAGE,cAAc,EAAE;MAAES,eAAe,EAAEN,MAAM,CAACO,UAA1B;MAAsCC,OAAO,EAAE,CAA/C;MAAkDC,YAAY,EAAE,CAAhE;MAAmEC,WAAW,EAAE;IAAhF;EAHlB,EADF,eAME,6BAAC,gCAAD;IAAM,KAAK,MAAX;IAAY,aAAa,EAAE,QAA3B;IAAqC,aAAa,EAAE,CAApD;IAAuD,KAAK,EAAER,KAAK,CAACS,OAApE;IAA6E,KAAK,EAAEP,MAAM,CAACQ;EAA3F,GACGd,OAAO,CAACe,aAAR,CAAsBC,yBAAtB,CAAgDpB,OAAhD,CADH,CANF,CADF;AAYD,CArBD;;AAuBA,MAAMU,MAAM,GAAG,IAAAW,4CAAA,EAAiB;EAC9BV,SAAS,EAAE;IACTW,aAAa,EAAE,KADN;IAETC,UAAU,EAAE,QAFH;IAGTC,cAAc,EAAE,QAHP;IAITC,iBAAiB,EAAE,EAJV;IAKTC,eAAe,EAAE,CALR;IAMTX,YAAY,EAAE;EANL,CADmB;EAS9BG,IAAI,EAAE;IACJS,UAAU,EAAE;EADR;AATwB,CAAjB,CAAf;eAce5B,e"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
11
|
+
|
|
12
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
18
|
+
const ImageFileMessage = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
message
|
|
21
|
+
} = _ref;
|
|
22
|
+
const {
|
|
23
|
+
colors
|
|
24
|
+
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
25
|
+
const [imageNotFound, setImageNotFound] = (0, _react.useState)(false);
|
|
26
|
+
const fileUrl = (0, _uikitUtils.getAvailableUriFromFileMessage)(message);
|
|
27
|
+
const style = [styles.image, {
|
|
28
|
+
backgroundColor: colors.onBackground04
|
|
29
|
+
}];
|
|
30
|
+
|
|
31
|
+
if (imageNotFound) {
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
|
|
33
|
+
containerStyle: style,
|
|
34
|
+
icon: 'thumbnail-none',
|
|
35
|
+
size: 48,
|
|
36
|
+
color: colors.onBackground02
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Image, {
|
|
41
|
+
source: {
|
|
42
|
+
uri: fileUrl
|
|
43
|
+
},
|
|
44
|
+
style: style,
|
|
45
|
+
resizeMode: 'cover',
|
|
46
|
+
resizeMethod: 'resize',
|
|
47
|
+
onError: () => setImageNotFound(true)
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
52
|
+
image: {
|
|
53
|
+
width: 240,
|
|
54
|
+
maxWidth: 240,
|
|
55
|
+
height: 160,
|
|
56
|
+
borderRadius: 16
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
var _default = ImageFileMessage;
|
|
60
|
+
exports.default = _default;
|
|
61
|
+
//# sourceMappingURL=ImageFileMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ImageFileMessage","message","colors","useUIKitTheme","imageNotFound","setImageNotFound","useState","fileUrl","getAvailableUriFromFileMessage","style","styles","image","backgroundColor","onBackground04","onBackground02","uri","createStyleSheet","width","maxWidth","height","borderRadius"],"sources":["ImageFileMessage.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';\n\nimport type { FileMessageProps } from './index';\n\nconst ImageFileMessage: React.FC<FileMessageProps> = ({ message }) => {\n const { colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const fileUrl = getAvailableUriFromFileMessage(message);\n const style = [styles.image, { backgroundColor: colors.onBackground04 }];\n\n if (imageNotFound) {\n return <Icon containerStyle={style} icon={'thumbnail-none'} size={48} color={colors.onBackground02} />;\n }\n\n return (\n <Image\n source={{ uri: fileUrl }}\n style={style}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n />\n );\n};\n\nconst styles = createStyleSheet({\n image: {\n width: 240,\n maxWidth: 240,\n height: 160,\n borderRadius: 16,\n },\n});\n\nexport default ImageFileMessage;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;AAIA,MAAMA,gBAA4C,GAAG,QAAiB;EAAA,IAAhB;IAAEC;EAAF,CAAgB;EACpE,MAAM;IAAEC;EAAF,IAAa,IAAAC,yCAAA,GAAnB;EACA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoC,IAAAC,eAAA,EAAS,KAAT,CAA1C;EAEA,MAAMC,OAAO,GAAG,IAAAC,0CAAA,EAA+BP,OAA/B,CAAhB;EACA,MAAMQ,KAAK,GAAG,CAACC,MAAM,CAACC,KAAR,EAAe;IAAEC,eAAe,EAAEV,MAAM,CAACW;EAA1B,CAAf,CAAd;;EAEA,IAAIT,aAAJ,EAAmB;IACjB,oBAAO,6BAAC,gCAAD;MAAM,cAAc,EAAEK,KAAtB;MAA6B,IAAI,EAAE,gBAAnC;MAAqD,IAAI,EAAE,EAA3D;MAA+D,KAAK,EAAEP,MAAM,CAACY;IAA7E,EAAP;EACD;;EAED,oBACE,6BAAC,iCAAD;IACE,MAAM,EAAE;MAAEC,GAAG,EAAER;IAAP,CADV;IAEE,KAAK,EAAEE,KAFT;IAGE,UAAU,EAAE,OAHd;IAIE,YAAY,EAAE,QAJhB;IAKE,OAAO,EAAE,MAAMJ,gBAAgB,CAAC,IAAD;EALjC,EADF;AASD,CApBD;;AAsBA,MAAMK,MAAM,GAAG,IAAAM,4CAAA,EAAiB;EAC9BL,KAAK,EAAE;IACLM,KAAK,EAAE,GADF;IAELC,QAAQ,EAAE,GAFL;IAGLC,MAAM,EAAE,GAHH;IAILC,YAAY,EAAE;EAJT;AADuB,CAAjB,CAAf;eASepB,gB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
|
+
|
|
12
|
+
var _BaseFileMessage = _interopRequireDefault(require("./BaseFileMessage"));
|
|
13
|
+
|
|
14
|
+
var _ImageFileMessage = _interopRequireDefault(require("./ImageFileMessage"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
|
|
20
|
+
const FileMessage = props => {
|
|
21
|
+
const fileType = (0, _uikitUtils.getFileType)(props.message.type || (0, _uikitUtils.getFileExtension)(props.message.name));
|
|
22
|
+
if (fileType === 'image') return /*#__PURE__*/_react.default.createElement(_ImageFileMessage.default, props);
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement(_BaseFileMessage.default, _extends({}, props, {
|
|
24
|
+
type: fileType
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var _default = /*#__PURE__*/_react.default.memo(FileMessage);
|
|
29
|
+
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FileMessage","props","fileType","getFileType","message","type","getFileExtension","name","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SendbirdFileMessage, getFileExtension, getFileType } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\nimport BaseFileMessage from './BaseFileMessage';\nimport ImageFileMessage from './ImageFileMessage';\n\nexport type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;\nconst FileMessage: React.FC<FileMessageProps> = (props) => {\n const fileType = getFileType(props.message.type || getFileExtension(props.message.name));\n\n if (fileType === 'image') return <ImageFileMessage {...props} />;\n return <BaseFileMessage {...props} type={fileType} />;\n};\n\nexport default React.memo(FileMessage);\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;;;;;AAGA,MAAMA,WAAuC,GAAIC,KAAD,IAAW;EACzD,MAAMC,QAAQ,GAAG,IAAAC,uBAAA,EAAYF,KAAK,CAACG,OAAN,CAAcC,IAAd,IAAsB,IAAAC,4BAAA,EAAiBL,KAAK,CAACG,OAAN,CAAcG,IAA/B,CAAlC,CAAjB;EAEA,IAAIL,QAAQ,KAAK,OAAjB,EAA0B,oBAAO,6BAAC,yBAAD,EAAsBD,KAAtB,CAAP;EAC1B,oBAAO,6BAAC,wBAAD,eAAqBA,KAArB;IAA4B,IAAI,EAAEC;EAAlC,GAAP;AACD,CALD;;4BAOeM,cAAA,CAAMC,IAAN,CAAWT,WAAX,C"}
|