@sendbird/uikit-react-native 1.0.1 → 1.0.2
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/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 +35 -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 +66 -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 +175 -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 +21 -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 +51 -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 +163 -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 +3 -0
- package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +2 -0
- package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +2 -0
- package/lib/typescript/__template__/component/__domain__View.d.ts +3 -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 +3 -0
- package/lib/typescript/__template__/types.d.ts +31 -0
- package/lib/typescript/src/InternalErrorBoundary.d.ts +19 -0
- package/lib/typescript/src/InternalLocalCacheStorage.d.ts +12 -0
- package/lib/typescript/src/SendbirdUIKitContainer.d.ts +41 -0
- package/lib/typescript/src/components/ChannelCover.d.ts +9 -0
- package/lib/typescript/src/components/ChatFlatList.d.ts +14 -0
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +5 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +3 -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 +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +9 -0
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +4 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +3 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +7 -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 +6 -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 +11 -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 +3 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +10 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +8 -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 +2 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusLoading.d.ts +2 -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 +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +3 -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 +3 -0
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +81 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +3 -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 +3 -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 +2 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusLoading.d.ts +2 -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 +3 -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 +24 -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 +5 -5
- package/src/version.ts +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
const createNativeNotificationService = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
messagingModule,
|
|
13
|
+
permissionModule
|
|
14
|
+
} = _ref;
|
|
15
|
+
const module = messagingModule();
|
|
16
|
+
const authorizedStatus = [messagingModule.AuthorizationStatus.AUTHORIZED, messagingModule.AuthorizationStatus.PROVISIONAL];
|
|
17
|
+
return {
|
|
18
|
+
getAPNSToken() {
|
|
19
|
+
return module.getAPNSToken();
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
getFCMToken() {
|
|
23
|
+
return module.getToken();
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
async hasPushPermission() {
|
|
27
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
28
|
+
const result = await permissionModule.checkNotifications();
|
|
29
|
+
return result.status === 'granted';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
33
|
+
const status = await module.hasPermission();
|
|
34
|
+
return authorizedStatus.includes(status);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return false;
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
async requestPushPermission() {
|
|
41
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
42
|
+
const result = await permissionModule.requestNotifications([]);
|
|
43
|
+
return result.status === 'granted';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
47
|
+
const status = await module.requestPermission();
|
|
48
|
+
return authorizedStatus.includes(status);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return false;
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
onTokenRefresh(handler) {
|
|
55
|
+
return module.onTokenRefresh(token => {
|
|
56
|
+
if (_reactNative.Platform.OS === 'android') handler(token);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var _default = createNativeNotificationService;
|
|
64
|
+
exports.default = _default;
|
|
65
|
+
//# sourceMappingURL=createNotificationService.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createNativeNotificationService","messagingModule","permissionModule","module","authorizedStatus","AuthorizationStatus","AUTHORIZED","PROVISIONAL","getAPNSToken","getFCMToken","getToken","hasPushPermission","Platform","OS","result","checkNotifications","status","hasPermission","includes","requestPushPermission","requestNotifications","requestPermission","onTokenRefresh","handler","token"],"sources":["createNotificationService.native.ts"],"sourcesContent":["import type RNFBMessaging from '@react-native-firebase/messaging';\nimport { Platform } from 'react-native';\nimport type * as Permissions from 'react-native-permissions';\n\nimport type { NotificationServiceInterface } from './types';\n\nconst createNativeNotificationService = ({\n messagingModule,\n permissionModule,\n}: {\n messagingModule: typeof RNFBMessaging;\n permissionModule: typeof Permissions;\n}): NotificationServiceInterface => {\n const module = messagingModule();\n const authorizedStatus = [\n messagingModule.AuthorizationStatus.AUTHORIZED,\n messagingModule.AuthorizationStatus.PROVISIONAL,\n ];\n return {\n getAPNSToken(): Promise<string | null> {\n return module.getAPNSToken();\n },\n getFCMToken(): Promise<string | null> {\n return module.getToken();\n },\n async hasPushPermission(): Promise<boolean> {\n if (Platform.OS === 'android') {\n const result = await permissionModule.checkNotifications();\n return result.status === 'granted';\n }\n\n if (Platform.OS === 'ios') {\n const status = await module.hasPermission();\n return authorizedStatus.includes(status);\n }\n\n return false;\n },\n async requestPushPermission(): Promise<boolean> {\n if (Platform.OS === 'android') {\n const result = await permissionModule.requestNotifications([]);\n return result.status === 'granted';\n }\n\n if (Platform.OS === 'ios') {\n const status = await module.requestPermission();\n return authorizedStatus.includes(status);\n }\n\n return false;\n },\n onTokenRefresh(handler: (token: string) => void): () => void | undefined {\n return module.onTokenRefresh((token) => {\n if (Platform.OS === 'android') handler(token);\n });\n },\n };\n};\n\nexport default createNativeNotificationService;\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,+BAA+B,GAAG,QAMJ;EAAA,IANK;IACvCC,eADuC;IAEvCC;EAFuC,CAML;EAClC,MAAMC,MAAM,GAAGF,eAAe,EAA9B;EACA,MAAMG,gBAAgB,GAAG,CACvBH,eAAe,CAACI,mBAAhB,CAAoCC,UADb,EAEvBL,eAAe,CAACI,mBAAhB,CAAoCE,WAFb,CAAzB;EAIA,OAAO;IACLC,YAAY,GAA2B;MACrC,OAAOL,MAAM,CAACK,YAAP,EAAP;IACD,CAHI;;IAILC,WAAW,GAA2B;MACpC,OAAON,MAAM,CAACO,QAAP,EAAP;IACD,CANI;;IAOL,MAAMC,iBAAN,GAA4C;MAC1C,IAAIC,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+B;QAC7B,MAAMC,MAAM,GAAG,MAAMZ,gBAAgB,CAACa,kBAAjB,EAArB;QACA,OAAOD,MAAM,CAACE,MAAP,KAAkB,SAAzB;MACD;;MAED,IAAIJ,qBAAA,CAASC,EAAT,KAAgB,KAApB,EAA2B;QACzB,MAAMG,MAAM,GAAG,MAAMb,MAAM,CAACc,aAAP,EAArB;QACA,OAAOb,gBAAgB,CAACc,QAAjB,CAA0BF,MAA1B,CAAP;MACD;;MAED,OAAO,KAAP;IACD,CAnBI;;IAoBL,MAAMG,qBAAN,GAAgD;MAC9C,IAAIP,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+B;QAC7B,MAAMC,MAAM,GAAG,MAAMZ,gBAAgB,CAACkB,oBAAjB,CAAsC,EAAtC,CAArB;QACA,OAAON,MAAM,CAACE,MAAP,KAAkB,SAAzB;MACD;;MAED,IAAIJ,qBAAA,CAASC,EAAT,KAAgB,KAApB,EAA2B;QACzB,MAAMG,MAAM,GAAG,MAAMb,MAAM,CAACkB,iBAAP,EAArB;QACA,OAAOjB,gBAAgB,CAACc,QAAjB,CAA0BF,MAA1B,CAAP;MACD;;MAED,OAAO,KAAP;IACD,CAhCI;;IAiCLM,cAAc,CAACC,OAAD,EAA2D;MACvE,OAAOpB,MAAM,CAACmB,cAAP,CAAuBE,KAAD,IAAW;QACtC,IAAIZ,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+BU,OAAO,CAACC,KAAD,CAAP;MAChC,CAFM,CAAP;IAGD;;EArCI,CAAP;AAuCD,CAnDD;;eAqDexB,+B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkVersion = checkVersion;
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
|
|
11
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
12
|
+
|
|
13
|
+
/* eslint-disable no-console */
|
|
14
|
+
function checkVersion(minVersion, currentVersion) {
|
|
15
|
+
const [minMajor, minMinor, minPatch] = minVersion.split('.');
|
|
16
|
+
const [currMajor, currMinor, currPatch] = currentVersion.split('.');
|
|
17
|
+
if (minMajor < currMajor) return true;
|
|
18
|
+
|
|
19
|
+
if (minMajor === currMajor) {
|
|
20
|
+
if (minMinor < currMinor) return true;
|
|
21
|
+
|
|
22
|
+
if (minMinor === currMinor) {
|
|
23
|
+
return minPatch <= currPatch;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function checkLink(dmi, logLevel) {
|
|
33
|
+
const nativeModule = _reactNative.NativeModules[dmi.moduleName];
|
|
34
|
+
|
|
35
|
+
if (!nativeModule) {
|
|
36
|
+
const message = `[UIKit] Cannot use native module, you should install and link ${dmi.packageName} (${dmi.url})`;
|
|
37
|
+
if (logLevel === 'error') console.error(message);
|
|
38
|
+
if (logLevel === 'warn') console.warn(message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const SBUDynamicModuleRegistry = {
|
|
43
|
+
'react-native-file-access': {
|
|
44
|
+
minVersion: '2.4.3',
|
|
45
|
+
packageName: 'react-native-file-access',
|
|
46
|
+
moduleName: 'RNFileAccess',
|
|
47
|
+
url: 'https://github.com/alpha0010/react-native-file-access',
|
|
48
|
+
|
|
49
|
+
getPackage(logLevel) {
|
|
50
|
+
checkLink(this, logLevel);
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
return require('react-native-file-access');
|
|
54
|
+
} catch (e) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
},
|
|
60
|
+
'react-native-fast-image': {
|
|
61
|
+
minVersion: '8.5.11',
|
|
62
|
+
packageName: 'react-native-fast-image',
|
|
63
|
+
moduleName: 'FastImageView',
|
|
64
|
+
url: 'https://github.com/DylanVann/react-native-fast-image',
|
|
65
|
+
|
|
66
|
+
getPackage(logLevel) {
|
|
67
|
+
checkLink(this, logLevel);
|
|
68
|
+
|
|
69
|
+
try {
|
|
70
|
+
return require('react-native-fast-image');
|
|
71
|
+
} catch (e) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
},
|
|
77
|
+
'@react-native-community/netinfo': {
|
|
78
|
+
minVersion: '9.3.0',
|
|
79
|
+
packageName: '@react-native-community/netinfo',
|
|
80
|
+
moduleName: 'RNCNetInfo',
|
|
81
|
+
url: 'https://github.com/react-native-netinfo/react-native-netinfo',
|
|
82
|
+
|
|
83
|
+
getPackage(logLevel) {
|
|
84
|
+
checkLink(this, logLevel);
|
|
85
|
+
|
|
86
|
+
try {
|
|
87
|
+
return require('@react-native-community/netinfo');
|
|
88
|
+
} catch (e) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const SBUDynamicModule = {
|
|
96
|
+
register(mdi) {
|
|
97
|
+
SBUDynamicModuleRegistry[mdi.moduleName] = mdi;
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
getInfo(name) {
|
|
101
|
+
return SBUDynamicModuleRegistry[name] ?? null;
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
get(name) {
|
|
105
|
+
let logLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'error';
|
|
106
|
+
const dmi = this.getInfo(name);
|
|
107
|
+
if (!dmi) _uikitUtils.Logger.warn(`${name} doesn't exist in the dynamic module`);
|
|
108
|
+
return dmi === null || dmi === void 0 ? void 0 : dmi.getPackage(logLevel);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
};
|
|
112
|
+
var _default = SBUDynamicModule;
|
|
113
|
+
exports.default = _default;
|
|
114
|
+
//# sourceMappingURL=dynamicModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["checkVersion","minVersion","currentVersion","minMajor","minMinor","minPatch","split","currMajor","currMinor","currPatch","checkLink","dmi","logLevel","nativeModule","NativeModules","moduleName","message","packageName","url","console","error","warn","SBUDynamicModuleRegistry","getPackage","require","e","SBUDynamicModule","register","mdi","getInfo","name","get","Logger"],"sources":["dynamicModule.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type RNNetInfo from '@react-native-community/netinfo';\nimport { NativeModules } from 'react-native';\nimport type RNFastImage from 'react-native-fast-image';\nimport type RNFileAccess from 'react-native-file-access';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport interface DynamicModules {\n 'react-native-file-access': typeof RNFileAccess;\n 'react-native-fast-image': typeof RNFastImage;\n '@react-native-community/netinfo': typeof RNNetInfo;\n}\nexport type SBUNativeModule = keyof DynamicModules;\n\ninterface SBUDynamicModuleInfo {\n packageName: SBUNativeModule;\n minVersion: string;\n moduleName: string;\n getPackage: <T>(logLevel: 'error' | 'warn' | 'none') => T;\n url: string;\n}\n\nexport function checkVersion(minVersion: string, currentVersion: string) {\n const [minMajor, minMinor, minPatch] = minVersion.split('.');\n const [currMajor, currMinor, currPatch] = currentVersion.split('.');\n\n if (minMajor < currMajor) return true;\n if (minMajor === currMajor) {\n if (minMinor < currMinor) return true;\n if (minMinor === currMinor) {\n return minPatch <= currPatch;\n }\n return false;\n }\n return false;\n}\n\nfunction checkLink(dmi: SBUDynamicModuleInfo, logLevel: 'error' | 'warn' | 'none') {\n const nativeModule = NativeModules[dmi.moduleName];\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\nconst SBUDynamicModuleRegistry: Record<SBUNativeModule, SBUDynamicModuleInfo> = {\n 'react-native-file-access': {\n minVersion: '2.4.3',\n packageName: 'react-native-file-access',\n moduleName: 'RNFileAccess',\n url: 'https://github.com/alpha0010/react-native-file-access',\n getPackage(logLevel) {\n checkLink(this, logLevel);\n\n try {\n return require('react-native-file-access');\n } catch (e) {\n return null;\n }\n },\n },\n 'react-native-fast-image': {\n minVersion: '8.5.11',\n packageName: 'react-native-fast-image',\n moduleName: 'FastImageView',\n url: 'https://github.com/DylanVann/react-native-fast-image',\n getPackage(logLevel) {\n checkLink(this, logLevel);\n\n try {\n return require('react-native-fast-image');\n } catch (e) {\n return null;\n }\n },\n },\n '@react-native-community/netinfo': {\n minVersion: '9.3.0',\n packageName: '@react-native-community/netinfo',\n moduleName: '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.moduleName 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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export 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\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\nexport interface ClipboardServiceInterface {\n setString(text: string): void;\n getString(): Promise<string>;\n}\n\nexport interface FileServiceInterface extends FilePickerServiceInterface, FileSystemServiceInterface {}\n\nexport interface OpenResultListener {\n onOpenFailureWithToastMessage?: () => 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';\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"],"mappings":""}
|
|
@@ -0,0 +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":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
const expoPermissionGranted = (stats, limitedCallback) => {
|
|
9
|
+
return stats.every(res => {
|
|
10
|
+
if ('accessPrivileges' in res) {
|
|
11
|
+
if (res.accessPrivileges === 'limited') limitedCallback === null || limitedCallback === void 0 ? void 0 : limitedCallback();
|
|
12
|
+
return res.granted || res.status === 'granted' || res.accessPrivileges === 'all' || res.accessPrivileges === 'limited';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if ('ios' in res) {
|
|
16
|
+
var _res$ios;
|
|
17
|
+
|
|
18
|
+
// NOT_DETERMINED = 0,
|
|
19
|
+
// DENIED = 1,
|
|
20
|
+
// AUTHORIZED = 2,
|
|
21
|
+
// PROVISIONAL = 3,
|
|
22
|
+
// EPHEMERAL = 4,
|
|
23
|
+
return res.granted || res.status === 'granted' || ((_res$ios = res.ios) === null || _res$ios === void 0 ? void 0 : _res$ios.status) && (res.ios.status === 2 || res.ios.status === 3);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return res.granted || res.status === 'granted';
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var _default = expoPermissionGranted;
|
|
31
|
+
exports.default = _default;
|
|
32
|
+
//# sourceMappingURL=expoPermissionGranted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["expoPermissionGranted","stats","limitedCallback","every","res","accessPrivileges","granted","status","ios"],"sources":["expoPermissionGranted.ts"],"sourcesContent":["import type { NotificationPermissionsStatus } from 'expo-notifications';\n\nexport interface ExpoPermissionResponse {\n canAskAgain: boolean;\n granted: boolean;\n status: 'denied' | 'granted' | 'undetermined';\n}\n\nexport interface ExpoMediaLibraryPermissionResponse extends ExpoPermissionResponse {\n accessPrivileges?: 'all' | 'limited' | 'none';\n}\nexport interface ExpoPushPermissionResponse extends ExpoPermissionResponse, NotificationPermissionsStatus {}\n\nconst expoPermissionGranted = (\n stats: Array<ExpoMediaLibraryPermissionResponse | ExpoPushPermissionResponse | ExpoPermissionResponse>,\n limitedCallback?: () => void,\n) => {\n return stats.every((res) => {\n if ('accessPrivileges' in res) {\n if (res.accessPrivileges === 'limited') limitedCallback?.();\n return (\n res.granted || res.status === 'granted' || res.accessPrivileges === 'all' || res.accessPrivileges === 'limited'\n );\n }\n if ('ios' in res) {\n // NOT_DETERMINED = 0,\n // DENIED = 1,\n // AUTHORIZED = 2,\n // PROVISIONAL = 3,\n // EPHEMERAL = 4,\n return (\n res.granted || res.status === 'granted' || (res.ios?.status && (res.ios.status === 2 || res.ios.status === 3))\n );\n }\n return res.granted || res.status === 'granted';\n });\n};\n\nexport default expoPermissionGranted;\n"],"mappings":";;;;;;;AAaA,MAAMA,qBAAqB,GAAG,CAC5BC,KAD4B,EAE5BC,eAF4B,KAGzB;EACH,OAAOD,KAAK,CAACE,KAAN,CAAaC,GAAD,IAAS;IAC1B,IAAI,sBAAsBA,GAA1B,EAA+B;MAC7B,IAAIA,GAAG,CAACC,gBAAJ,KAAyB,SAA7B,EAAwCH,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe;MACvD,OACEE,GAAG,CAACE,OAAJ,IAAeF,GAAG,CAACG,MAAJ,KAAe,SAA9B,IAA2CH,GAAG,CAACC,gBAAJ,KAAyB,KAApE,IAA6ED,GAAG,CAACC,gBAAJ,KAAyB,SADxG;IAGD;;IACD,IAAI,SAASD,GAAb,EAAkB;MAAA;;MAChB;MACA;MACA;MACA;MACA;MACA,OACEA,GAAG,CAACE,OAAJ,IAAeF,GAAG,CAACG,MAAJ,KAAe,SAA9B,IAA4C,aAAAH,GAAG,CAACI,GAAJ,sDAASD,MAAT,MAAoBH,GAAG,CAACI,GAAJ,CAAQD,MAAR,KAAmB,CAAnB,IAAwBH,GAAG,CAACI,GAAJ,CAAQD,MAAR,KAAmB,CAA/D,CAD9C;IAGD;;IACD,OAAOH,GAAG,CAACE,OAAJ,IAAeF,GAAG,CAACG,MAAJ,KAAe,SAArC;EACD,CAlBM,CAAP;AAmBD,CAvBD;;eAyBeP,qB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
const fileTypeGuard = _ref => {
|
|
9
|
+
let {
|
|
10
|
+
uri,
|
|
11
|
+
size,
|
|
12
|
+
name,
|
|
13
|
+
type
|
|
14
|
+
} = _ref;
|
|
15
|
+
if (!uri) return null;
|
|
16
|
+
return {
|
|
17
|
+
uri,
|
|
18
|
+
size: size ?? 0,
|
|
19
|
+
name: name ?? '',
|
|
20
|
+
type: type ?? ''
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _default = fileTypeGuard;
|
|
25
|
+
exports.default = _default;
|
|
26
|
+
//# sourceMappingURL=fileTypeGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fileTypeGuard","uri","size","name","type"],"sources":["fileTypeGuard.ts"],"sourcesContent":["import type { PartialNullable } from '@sendbird/uikit-utils';\n\nimport type { FilePickerResponse, FileType } from '../platform/types';\n\nconst fileTypeGuard = ({ uri, size, name, type }: PartialNullable<FileType>): FilePickerResponse => {\n if (!uri) return null;\n return { uri, size: size ?? 0, name: name ?? '', type: type ?? '' };\n};\n\nexport default fileTypeGuard;\n"],"mappings":";;;;;;;AAIA,MAAMA,aAAa,GAAG,QAA8E;EAAA,IAA7E;IAAEC,GAAF;IAAOC,IAAP;IAAaC,IAAb;IAAmBC;EAAnB,CAA6E;EAClG,IAAI,CAACH,GAAL,EAAU,OAAO,IAAP;EACV,OAAO;IAAEA,GAAF;IAAOC,IAAI,EAAEA,IAAI,IAAI,CAArB;IAAwBC,IAAI,EAAEA,IAAI,IAAI,EAAtC;IAA0CC,IAAI,EAAEA,IAAI,IAAI;EAAxD,CAAP;AACD,CAHD;;eAKeJ,a"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
const nativePermissionGranted = (stats, limitedCallback) => {
|
|
9
|
+
return Object.values(stats).every(result => {
|
|
10
|
+
if (result === 'granted') return true;
|
|
11
|
+
|
|
12
|
+
if (result === 'limited') {
|
|
13
|
+
limitedCallback === null || limitedCallback === void 0 ? void 0 : limitedCallback();
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return false;
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var _default = nativePermissionGranted;
|
|
22
|
+
exports.default = _default;
|
|
23
|
+
//# sourceMappingURL=nativePermissionGranted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nativePermissionGranted","stats","limitedCallback","Object","values","every","result"],"sources":["nativePermissionGranted.ts"],"sourcesContent":["import type { Permission, PermissionStatus } from 'react-native-permissions';\n\nconst nativePermissionGranted = (stats: Record<Permission, PermissionStatus>, limitedCallback?: () => void) => {\n return Object.values(stats).every((result) => {\n if (result === 'granted') return true;\n if (result === 'limited') {\n limitedCallback?.();\n return true;\n }\n return false;\n });\n};\n\nexport default nativePermissionGranted;\n"],"mappings":";;;;;;;AAEA,MAAMA,uBAAuB,GAAG,CAACC,KAAD,EAA8CC,eAA9C,KAA+E;EAC7G,OAAOC,MAAM,CAACC,MAAP,CAAcH,KAAd,EAAqBI,KAArB,CAA4BC,MAAD,IAAY;IAC5C,IAAIA,MAAM,KAAK,SAAf,EAA0B,OAAO,IAAP;;IAC1B,IAAIA,MAAM,KAAK,SAAf,EAA0B;MACxBJ,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe;MACf,OAAO,IAAP;IACD;;IACD,OAAO,KAAP;EACD,CAPM,CAAP;AAQD,CATD;;eAWeF,uB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '1.0.2';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAhB;eACeA,O"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import TypedPlaceholder from './components/TypedPlaceholder';
|
|
6
|
+
|
|
7
|
+
const DefaultErrorBoundaryComponent = props => {
|
|
8
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
9
|
+
style: {
|
|
10
|
+
flex: 1,
|
|
11
|
+
justifyContent: 'center',
|
|
12
|
+
alignItems: 'center'
|
|
13
|
+
}
|
|
14
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
15
|
+
type: 'error-wrong',
|
|
16
|
+
onPressRetry: props.reset
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
class InternalErrorBoundary extends React.PureComponent {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
|
|
24
|
+
_defineProperty(this, "state", {
|
|
25
|
+
error: null,
|
|
26
|
+
errorInfo: null
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
_defineProperty(this, "componentDidCatch", (error, errorInfo) => {
|
|
30
|
+
var _this$props$onError, _this$props;
|
|
31
|
+
|
|
32
|
+
this.setState({
|
|
33
|
+
error,
|
|
34
|
+
errorInfo
|
|
35
|
+
});
|
|
36
|
+
(_this$props$onError = (_this$props = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props, {
|
|
37
|
+
error,
|
|
38
|
+
errorInfo,
|
|
39
|
+
reset: this.reset
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
_defineProperty(this, "reset", () => {
|
|
44
|
+
this.setState({
|
|
45
|
+
error: null,
|
|
46
|
+
errorInfo: null
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
_defineProperty(this, "render", () => {
|
|
51
|
+
if (this.state.error && this.state.errorInfo) {
|
|
52
|
+
var _this$props$ErrorInfo, _this$props2;
|
|
53
|
+
|
|
54
|
+
return ((_this$props$ErrorInfo = (_this$props2 = this.props).ErrorInfoComponent) === null || _this$props$ErrorInfo === void 0 ? void 0 : _this$props$ErrorInfo.call(_this$props2, {
|
|
55
|
+
error: this.state.error,
|
|
56
|
+
errorInfo: this.state.errorInfo,
|
|
57
|
+
reset: this.reset
|
|
58
|
+
})) ?? null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
_defineProperty(InternalErrorBoundary, "defaultProps", {
|
|
68
|
+
ErrorInfoComponent: DefaultErrorBoundaryComponent
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
export default InternalErrorBoundary;
|
|
72
|
+
//# sourceMappingURL=InternalErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","TypedPlaceholder","DefaultErrorBoundaryComponent","props","flex","justifyContent","alignItems","reset","InternalErrorBoundary","PureComponent","error","errorInfo","setState","onError","state","ErrorInfoComponent","children"],"sources":["InternalErrorBoundary.tsx"],"sourcesContent":["import React, { ErrorInfo } from 'react';\nimport { View } from 'react-native';\n\nimport TypedPlaceholder from './components/TypedPlaceholder';\nimport type { ErrorBoundaryProps } from './types';\n\nconst DefaultErrorBoundaryComponent = (props: ErrorBoundaryProps) => {\n return (\n <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\n <TypedPlaceholder type={'error-wrong'} onPressRetry={props.reset} />\n </View>\n );\n};\n\nclass InternalErrorBoundary extends React.PureComponent<{\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n children?: React.ReactNode;\n}> {\n static defaultProps = {\n ErrorInfoComponent: DefaultErrorBoundaryComponent,\n };\n\n state: { error: Error | null; errorInfo: ErrorInfo | null } = {\n error: null,\n errorInfo: null,\n };\n\n componentDidCatch = (error: Error, errorInfo: ErrorInfo) => {\n this.setState({ error, errorInfo });\n this.props.onError?.({ error, errorInfo, reset: this.reset });\n };\n\n reset = () => {\n this.setState({ error: null, errorInfo: null });\n };\n\n render = () => {\n if (this.state.error && this.state.errorInfo) {\n return (\n this.props.ErrorInfoComponent?.({\n error: this.state.error,\n errorInfo: this.state.errorInfo,\n reset: this.reset,\n }) ?? null\n );\n }\n\n return <>{this.props.children}</>;\n };\n}\n\nexport default InternalErrorBoundary;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAiC,OAAjC;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;;AAGA,MAAMC,6BAA6B,GAAIC,KAAD,IAA+B;EACnE,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAR;MAAWC,cAAc,EAAE,QAA3B;MAAqCC,UAAU,EAAE;IAAjD;EAAb,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE,aAAxB;IAAuC,YAAY,EAAEH,KAAK,CAACI;EAA3D,EADF,CADF;AAKD,CAND;;AAQA,MAAMC,qBAAN,SAAoCT,KAAK,CAACU,aAA1C,CAIG;EAAA;IAAA;;IAAA,+BAK6D;MAC5DC,KAAK,EAAE,IADqD;MAE5DC,SAAS,EAAE;IAFiD,CAL7D;;IAAA,2CAUmB,CAACD,KAAD,EAAeC,SAAf,KAAwC;MAAA;;MAC1D,KAAKC,QAAL,CAAc;QAAEF,KAAF;QAASC;MAAT,CAAd;MACA,2CAAKR,KAAL,EAAWU,OAAX,8FAAqB;QAAEH,KAAF;QAASC,SAAT;QAAoBJ,KAAK,EAAE,KAAKA;MAAhC,CAArB;IACD,CAbA;;IAAA,+BAeO,MAAM;MACZ,KAAKK,QAAL,CAAc;QAAEF,KAAK,EAAE,IAAT;QAAeC,SAAS,EAAE;MAA1B,CAAd;IACD,CAjBA;;IAAA,gCAmBQ,MAAM;MACb,IAAI,KAAKG,KAAL,CAAWJ,KAAX,IAAoB,KAAKI,KAAL,CAAWH,SAAnC,EAA8C;QAAA;;QAC5C,OACE,+CAAKR,KAAL,EAAWY,kBAAX,mGAAgC;UAC9BL,KAAK,EAAE,KAAKI,KAAL,CAAWJ,KADY;UAE9BC,SAAS,EAAE,KAAKG,KAAL,CAAWH,SAFQ;UAG9BJ,KAAK,EAAE,KAAKA;QAHkB,CAAhC,MAIM,IALR;MAOD;;MAED,oBAAO,0CAAG,KAAKJ,KAAL,CAAWa,QAAd,CAAP;IACD,CA/BA;EAAA;;AAAA;;gBAJGR,qB,kBAKkB;EACpBO,kBAAkB,EAAEb;AADA,C;;AAiCxB,eAAeM,qBAAf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export default class InternalLocalCacheStorage {
|
|
2
|
+
constructor(storage) {
|
|
3
|
+
this.storage = storage;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
getAllKeys() {
|
|
7
|
+
return this.storage.getAllKeys();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
getItem(key) {
|
|
11
|
+
return this.storage.getItem(key);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
removeItem(key) {
|
|
15
|
+
return this.storage.removeItem(key);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
setItem(key, value) {
|
|
19
|
+
return this.storage.setItem(key, value);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async multiGet(keys) {
|
|
23
|
+
if (this.storage.multiGet) {
|
|
24
|
+
return this.storage.multiGet(keys);
|
|
25
|
+
} else {
|
|
26
|
+
return Promise.all(keys.map(async key => [key, await this.getItem(key)]));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async multiRemove(keys) {
|
|
31
|
+
if (this.storage.multiRemove) {
|
|
32
|
+
await this.storage.multiRemove(keys);
|
|
33
|
+
} else {
|
|
34
|
+
await Promise.all(keys.map(async key => this.removeItem(key)));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async multiSet(keyValuePairs) {
|
|
39
|
+
if (this.storage.multiSet) {
|
|
40
|
+
await this.storage.multiSet(keyValuePairs);
|
|
41
|
+
} else {
|
|
42
|
+
await Promise.all(keyValuePairs.map(_ref => {
|
|
43
|
+
let [key, value] = _ref;
|
|
44
|
+
return this.storage.setItem(key, value);
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=InternalLocalCacheStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["InternalLocalCacheStorage","constructor","storage","getAllKeys","getItem","key","removeItem","setItem","value","multiGet","keys","Promise","all","map","multiRemove","multiSet","keyValuePairs"],"sources":["InternalLocalCacheStorage.ts"],"sourcesContent":["import type { KeyValuePairGet, KeyValuePairSet, LocalCacheStorage } from './types';\n\nexport default class InternalLocalCacheStorage implements LocalCacheStorage {\n constructor(private storage: LocalCacheStorage) {}\n\n getAllKeys() {\n return this.storage.getAllKeys();\n }\n\n getItem(key: string) {\n return this.storage.getItem(key);\n }\n\n removeItem(key: string) {\n return this.storage.removeItem(key);\n }\n\n setItem(key: string, value: string) {\n return this.storage.setItem(key, value);\n }\n\n async multiGet(keys: string[]) {\n if (this.storage.multiGet) {\n return this.storage.multiGet(keys);\n } else {\n return Promise.all(keys.map(async (key) => [key, await this.getItem(key)] as KeyValuePairGet));\n }\n }\n\n async multiRemove(keys: string[]) {\n if (this.storage.multiRemove) {\n await this.storage.multiRemove(keys);\n } else {\n await Promise.all(keys.map(async (key) => this.removeItem(key)));\n }\n }\n\n async multiSet(keyValuePairs: Array<KeyValuePairSet>) {\n if (this.storage.multiSet) {\n await this.storage.multiSet(keyValuePairs);\n } else {\n await Promise.all(keyValuePairs.map(([key, value]) => this.storage.setItem(key, value)));\n }\n }\n}\n"],"mappings":"AAEA,eAAe,MAAMA,yBAAN,CAA6D;EAC1EC,WAAW,CAASC,OAAT,EAAqC;IAAA,KAA5BA,OAA4B,GAA5BA,OAA4B;EAAE;;EAElDC,UAAU,GAAG;IACX,OAAO,KAAKD,OAAL,CAAaC,UAAb,EAAP;EACD;;EAEDC,OAAO,CAACC,GAAD,EAAc;IACnB,OAAO,KAAKH,OAAL,CAAaE,OAAb,CAAqBC,GAArB,CAAP;EACD;;EAEDC,UAAU,CAACD,GAAD,EAAc;IACtB,OAAO,KAAKH,OAAL,CAAaI,UAAb,CAAwBD,GAAxB,CAAP;EACD;;EAEDE,OAAO,CAACF,GAAD,EAAcG,KAAd,EAA6B;IAClC,OAAO,KAAKN,OAAL,CAAaK,OAAb,CAAqBF,GAArB,EAA0BG,KAA1B,CAAP;EACD;;EAEa,MAARC,QAAQ,CAACC,IAAD,EAAiB;IAC7B,IAAI,KAAKR,OAAL,CAAaO,QAAjB,EAA2B;MACzB,OAAO,KAAKP,OAAL,CAAaO,QAAb,CAAsBC,IAAtB,CAAP;IACD,CAFD,MAEO;MACL,OAAOC,OAAO,CAACC,GAAR,CAAYF,IAAI,CAACG,GAAL,CAAS,MAAOR,GAAP,IAAe,CAACA,GAAD,EAAM,MAAM,KAAKD,OAAL,CAAaC,GAAb,CAAZ,CAAxB,CAAZ,CAAP;IACD;EACF;;EAEgB,MAAXS,WAAW,CAACJ,IAAD,EAAiB;IAChC,IAAI,KAAKR,OAAL,CAAaY,WAAjB,EAA8B;MAC5B,MAAM,KAAKZ,OAAL,CAAaY,WAAb,CAAyBJ,IAAzB,CAAN;IACD,CAFD,MAEO;MACL,MAAMC,OAAO,CAACC,GAAR,CAAYF,IAAI,CAACG,GAAL,CAAS,MAAOR,GAAP,IAAe,KAAKC,UAAL,CAAgBD,GAAhB,CAAxB,CAAZ,CAAN;IACD;EACF;;EAEa,MAARU,QAAQ,CAACC,aAAD,EAAwC;IACpD,IAAI,KAAKd,OAAL,CAAaa,QAAjB,EAA2B;MACzB,MAAM,KAAKb,OAAL,CAAaa,QAAb,CAAsBC,aAAtB,CAAN;IACD,CAFD,MAEO;MACL,MAAML,OAAO,CAACC,GAAR,CAAYI,aAAa,CAACH,GAAd,CAAkB;QAAA,IAAC,CAACR,GAAD,EAAMG,KAAN,CAAD;QAAA,OAAkB,KAAKN,OAAL,CAAaK,OAAb,CAAqBF,GAArB,EAA0BG,KAA1B,CAAlB;MAAA,CAAlB,CAAZ,CAAN;IACD;EACF;;AAzCyE"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
4
|
+
import Sendbird from 'sendbird';
|
|
5
|
+
import { DialogProvider, Header, HeaderStyleProvider, LightUIKitTheme, ToastProvider, UIKitThemeProvider } from '@sendbird/uikit-react-native-foundation';
|
|
6
|
+
import InternalErrorBoundary from './InternalErrorBoundary';
|
|
7
|
+
import InternalLocalCacheStorage from './InternalLocalCacheStorage';
|
|
8
|
+
import { LocalizationProvider } from './contexts/Localization';
|
|
9
|
+
import { PlatformServiceProvider } from './contexts/PlatformService';
|
|
10
|
+
import { SendbirdChatProvider } from './contexts/SendbirdChat';
|
|
11
|
+
import { useLocalization } from './hooks/useContext';
|
|
12
|
+
import StringSetEn from './localization/StringSet.en';
|
|
13
|
+
import SBUDynamicModule from './platform/dynamicModule';
|
|
14
|
+
import VERSION from './version';
|
|
15
|
+
const NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');
|
|
16
|
+
export const SendbirdUIKit = Object.freeze({
|
|
17
|
+
VERSION,
|
|
18
|
+
PLATFORM: Platform.OS.toLowerCase()
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const SendbirdUIKitContainer = _ref => {
|
|
22
|
+
let {
|
|
23
|
+
children,
|
|
24
|
+
appId,
|
|
25
|
+
chatOptions,
|
|
26
|
+
platformServices,
|
|
27
|
+
localization,
|
|
28
|
+
styles,
|
|
29
|
+
toast,
|
|
30
|
+
errorBoundary
|
|
31
|
+
} = _ref;
|
|
32
|
+
const unsubscribes = useRef([]).current;
|
|
33
|
+
|
|
34
|
+
const getSendbirdSDK = () => {
|
|
35
|
+
let sdk;
|
|
36
|
+
|
|
37
|
+
if (chatOptions !== null && chatOptions !== void 0 && chatOptions.localCacheStorage) {
|
|
38
|
+
sdk = new Sendbird({
|
|
39
|
+
appId,
|
|
40
|
+
localCacheEnabled: true
|
|
41
|
+
});
|
|
42
|
+
sdk.useAsyncStorageAsDatabase(new InternalLocalCacheStorage(chatOptions.localCacheStorage));
|
|
43
|
+
} else {
|
|
44
|
+
sdk = new Sendbird({
|
|
45
|
+
appId
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (chatOptions !== null && chatOptions !== void 0 && chatOptions.onInitialized) {
|
|
50
|
+
sdk = chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.onInitialized(sdk);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (SendbirdUIKit.VERSION) {
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
sdk.addExtension('sb_uikit', SendbirdUIKit.VERSION);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (SendbirdUIKit.PLATFORM) {
|
|
59
|
+
// @ts-ignore
|
|
60
|
+
sdk.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (NetInfo !== null && NetInfo !== void 0 && NetInfo.addEventListener) {
|
|
64
|
+
var _sdk$setOnlineListene, _sdk, _sdk$setOfflineListen, _sdk2;
|
|
65
|
+
|
|
66
|
+
const listener = (callback, callbackType) => {
|
|
67
|
+
const unsubscribe = NetInfo.addEventListener(state => {
|
|
68
|
+
const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);
|
|
69
|
+
if (online && callbackType === 'online') callback();
|
|
70
|
+
if (!online && callbackType === 'offline') callback();
|
|
71
|
+
});
|
|
72
|
+
unsubscribes.push(unsubscribe);
|
|
73
|
+
return unsubscribe;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
(_sdk$setOnlineListene = (_sdk = sdk).setOnlineListener) === null || _sdk$setOnlineListene === void 0 ? void 0 : _sdk$setOnlineListene.call(_sdk, onOnline => listener(onOnline, 'online'));
|
|
77
|
+
(_sdk$setOfflineListen = (_sdk2 = sdk).setOfflineListener) === null || _sdk$setOfflineListen === void 0 ? void 0 : _sdk$setOfflineListen.call(_sdk2, onOffline => listener(onOffline, 'offline'));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return sdk;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const [sdkInstance, setSdkInstance] = useState(getSendbirdSDK);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
setSdkInstance(getSendbirdSDK);
|
|
86
|
+
return () => {
|
|
87
|
+
unsubscribes.forEach(u => {
|
|
88
|
+
try {
|
|
89
|
+
u();
|
|
90
|
+
} catch {}
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
}, [appId, chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.localCacheStorage]);
|
|
94
|
+
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SendbirdChatProvider, {
|
|
95
|
+
sdkInstance: sdkInstance,
|
|
96
|
+
enableAutoPushTokenRegistration: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableAutoPushTokenRegistration) ?? true
|
|
97
|
+
}, /*#__PURE__*/React.createElement(LocalizationProvider, {
|
|
98
|
+
stringSet: (localization === null || localization === void 0 ? void 0 : localization.stringSet) ?? StringSetEn
|
|
99
|
+
}, /*#__PURE__*/React.createElement(PlatformServiceProvider, {
|
|
100
|
+
fileService: platformServices.file,
|
|
101
|
+
notificationService: platformServices.notification,
|
|
102
|
+
clipboardService: platformServices.clipboard
|
|
103
|
+
}, /*#__PURE__*/React.createElement(UIKitThemeProvider, {
|
|
104
|
+
theme: (styles === null || styles === void 0 ? void 0 : styles.theme) ?? LightUIKitTheme
|
|
105
|
+
}, /*#__PURE__*/React.createElement(HeaderStyleProvider, {
|
|
106
|
+
HeaderComponent: (styles === null || styles === void 0 ? void 0 : styles.HeaderComponent) ?? Header,
|
|
107
|
+
defaultTitleAlign: (styles === null || styles === void 0 ? void 0 : styles.defaultHeaderTitleAlign) ?? 'left',
|
|
108
|
+
statusBarTranslucent: (styles === null || styles === void 0 ? void 0 : styles.statusBarTranslucent) ?? true
|
|
109
|
+
}, /*#__PURE__*/React.createElement(LocalizedDialogProvider, null, /*#__PURE__*/React.createElement(ToastProvider, {
|
|
110
|
+
dismissTimeout: toast === null || toast === void 0 ? void 0 : toast.dismissTimeout
|
|
111
|
+
}, /*#__PURE__*/React.createElement(InternalErrorBoundary, errorBoundary, children)))))))));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
const LocalizedDialogProvider = _ref2 => {
|
|
115
|
+
let {
|
|
116
|
+
children
|
|
117
|
+
} = _ref2;
|
|
118
|
+
const {
|
|
119
|
+
STRINGS
|
|
120
|
+
} = useLocalization();
|
|
121
|
+
return /*#__PURE__*/React.createElement(DialogProvider, {
|
|
122
|
+
defaultLabels: {
|
|
123
|
+
alert: {
|
|
124
|
+
ok: STRINGS.DIALOG.ALERT_DEFAULT_OK
|
|
125
|
+
},
|
|
126
|
+
prompt: {
|
|
127
|
+
ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,
|
|
128
|
+
cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,
|
|
129
|
+
placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}, children);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export default SendbirdUIKitContainer;
|
|
136
|
+
//# sourceMappingURL=SendbirdUIKitContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Platform","SafeAreaProvider","Sendbird","DialogProvider","Header","HeaderStyleProvider","LightUIKitTheme","ToastProvider","UIKitThemeProvider","InternalErrorBoundary","InternalLocalCacheStorage","LocalizationProvider","PlatformServiceProvider","SendbirdChatProvider","useLocalization","StringSetEn","SBUDynamicModule","VERSION","NetInfo","get","SendbirdUIKit","Object","freeze","PLATFORM","OS","toLowerCase","SendbirdUIKitContainer","children","appId","chatOptions","platformServices","localization","styles","toast","errorBoundary","unsubscribes","current","getSendbirdSDK","sdk","localCacheStorage","localCacheEnabled","useAsyncStorageAsDatabase","onInitialized","addExtension","addEventListener","listener","callback","callbackType","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","sdkInstance","setSdkInstance","forEach","u","enableAutoPushTokenRegistration","stringSet","file","notification","clipboard","theme","HeaderComponent","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","LocalizedDialogProvider","STRINGS","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 = React.PropsWithChildren<{\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?.addEventListener) {\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 = ({ children }: React.PropsWithChildren) => {\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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"}
|