@oxyhq/services 22.9.0 → 22.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/index.js +24 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/AvatarCameraBadge.js +42 -0
- package/lib/commonjs/ui/components/AvatarCameraBadge.js.map +1 -0
- package/lib/commonjs/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +55 -133
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -0
- package/lib/commonjs/ui/components/OxyAuthChooser.js +657 -88
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +15 -1
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileSummaryCard.js +3 -23
- package/lib/commonjs/ui/components/ProfileSummaryCard.js.map +1 -1
- package/lib/commonjs/ui/components/RequireOxyAuth.js +1 -1
- package/lib/commonjs/ui/components/SurfaceHeaderAction.js +63 -0
- package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -0
- package/lib/commonjs/ui/components/SurfaceScreen.js +91 -8
- package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +46 -29
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +47 -23
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/oxyAuthChooserStyles.js +81 -19
- package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +1 -1
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +83 -23
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +83 -0
- package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +79 -29
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +18 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js +129 -0
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -0
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +38 -55
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/commonjs/ui/hooks/useReduceMotion.js +57 -0
- package/lib/commonjs/ui/hooks/useReduceMotion.js.map +1 -0
- package/lib/commonjs/ui/hooks/useSurfaceHeader.js +46 -0
- package/lib/commonjs/ui/hooks/useSurfaceHeader.js.map +1 -0
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +1 -1
- package/lib/commonjs/ui/navigation/accountDialogManager.js +36 -2
- package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
- package/lib/commonjs/ui/navigation/bottomSheetManager.js +5 -6
- package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +4 -3
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaceBackBridge.js +68 -0
- package/lib/commonjs/ui/navigation/surfaceBackBridge.js.map +1 -0
- package/lib/commonjs/ui/navigation/surfaceNavStack.js +62 -15
- package/lib/commonjs/ui/navigation/surfaceNavStack.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaceRegistry.js +84 -19
- package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaces.js +139 -25
- package/lib/commonjs/ui/navigation/surfaces.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +214 -283
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +88 -118
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +22 -36
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +219 -226
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +287 -289
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +301 -0
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +24 -39
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +136 -158
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +29 -36
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileScreen.js +101 -109
- package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +10 -15
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +8 -16
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +403 -627
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +62 -69
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +63 -79
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +69 -98
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +8 -14
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +77 -94
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +99 -134
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/NotificationsScreen.js +69 -76
- package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -8
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PreferencesScreen.js +67 -74
- package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +55 -91
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +291 -304
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +100 -114
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +38 -45
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js +44 -57
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserLinksScreen.js +24 -31
- package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +14 -24
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +16 -48
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js +63 -0
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -0
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +54 -41
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +44 -81
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +66 -75
- package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +111 -139
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +13 -20
- package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +14 -27
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +68 -85
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +28 -36
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/resetSessionScopedStores.js +8 -3
- package/lib/commonjs/ui/stores/resetSessionScopedStores.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +11 -2
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +0 -79
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/index.js +12 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/AvatarCameraBadge.js +40 -0
- package/lib/module/ui/components/AvatarCameraBadge.js.map +1 -0
- package/lib/module/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +57 -135
- package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -0
- package/lib/module/ui/components/OxyAuthChooser.js +659 -91
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +1 -1
- package/lib/module/ui/components/ProfileButton.js +16 -2
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/ProfileSummaryCard.js +2 -23
- package/lib/module/ui/components/ProfileSummaryCard.js.map +1 -1
- package/lib/module/ui/components/RequireOxyAuth.js +1 -1
- package/lib/module/ui/components/SurfaceHeaderAction.js +58 -0
- package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -0
- package/lib/module/ui/components/SurfaceScreen.js +93 -10
- package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +46 -29
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js +46 -23
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/oxyAuthChooserStyles.js +81 -19
- package/lib/module/ui/components/oxyAuthChooserStyles.js.map +1 -1
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +83 -25
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/module/ui/components/surfaces/ActionSheetSurface.js +78 -0
- package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +80 -30
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +16 -0
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js +120 -0
- package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -0
- package/lib/module/ui/hooks/useAvatarPicker.js +38 -55
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/module/ui/hooks/useReduceMotion.js +53 -0
- package/lib/module/ui/hooks/useReduceMotion.js.map +1 -0
- package/lib/module/ui/hooks/useSurfaceHeader.js +42 -0
- package/lib/module/ui/hooks/useSurfaceHeader.js.map +1 -0
- package/lib/module/ui/hooks/useSwitchableAccounts.js +1 -1
- package/lib/module/ui/navigation/accountDialogManager.js +34 -2
- package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
- package/lib/module/ui/navigation/bottomSheetManager.js +6 -7
- package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +4 -3
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/navigation/surfaceBackBridge.js +63 -0
- package/lib/module/ui/navigation/surfaceBackBridge.js.map +1 -0
- package/lib/module/ui/navigation/surfaceNavStack.js +62 -15
- package/lib/module/ui/navigation/surfaceNavStack.js.map +1 -1
- package/lib/module/ui/navigation/surfaceRegistry.js +84 -19
- package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/module/ui/navigation/surfaces.js +138 -26
- package/lib/module/ui/navigation/surfaces.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +218 -286
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +92 -121
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +25 -38
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +220 -227
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +289 -291
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/module/ui/screens/ChangeAvatarScreen.js +298 -0
- package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -0
- package/lib/module/ui/screens/ConnectedAppsScreen.js +26 -40
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +139 -160
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +32 -38
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileScreen.js +102 -110
- package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +11 -15
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +10 -17
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +408 -631
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +64 -70
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +65 -81
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +71 -99
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +10 -15
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js +78 -94
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +102 -137
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/NotificationsScreen.js +71 -77
- package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +4 -9
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PreferencesScreen.js +69 -75
- package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +58 -93
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +293 -305
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +102 -116
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +40 -46
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SearchSettingsScreen.js +46 -58
- package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/UserLinksScreen.js +26 -32
- package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +14 -24
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +17 -49
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js +59 -0
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -0
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +54 -42
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +45 -81
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustAboutScreen.js +67 -75
- package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +112 -139
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustFAQScreen.js +15 -21
- package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +14 -26
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +69 -85
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js +30 -37
- package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/resetSessionScopedStores.js +8 -3
- package/lib/module/ui/stores/resetSessionScopedStores.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +11 -2
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +0 -78
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AvatarCameraBadge.d.ts +4 -0
- package/lib/typescript/commonjs/ui/components/AvatarCameraBadge.d.ts.map +1 -0
- package/lib/typescript/{module/ui/components/OxyAccountDialog.d.ts → commonjs/ui/components/OxyAccountDialogScreen.d.ts} +5 -4
- package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -3
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileSummaryCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +16 -0
- package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +3 -4
- package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +17 -2
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts +75 -13
- package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts +10 -8
- package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
- package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +9 -0
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +50 -0
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +17 -16
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useReduceMotion.d.ts +14 -0
- package/lib/typescript/commonjs/ui/hooks/useReduceMotion.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts +31 -0
- package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +27 -2
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +4 -5
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts +16 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts +21 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +101 -23
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts +42 -11
- package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +18 -9
- package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ChangeAvatarScreen.d.ts +34 -0
- package/lib/typescript/commonjs/ui/screens/ChangeAvatarScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts +23 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts +4 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts +10 -2
- package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/resetSessionScopedStores.d.ts +8 -1
- package/lib/typescript/commonjs/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +10 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +0 -48
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AvatarCameraBadge.d.ts +4 -0
- package/lib/typescript/module/ui/components/AvatarCameraBadge.d.ts.map +1 -0
- package/lib/typescript/{commonjs/ui/components/OxyAccountDialog.d.ts → module/ui/components/OxyAccountDialogScreen.d.ts} +5 -4
- package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -3
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +2 -2
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileSummaryCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +1 -1
- package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +16 -0
- package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +3 -4
- package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +17 -2
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts +75 -13
- package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts +10 -8
- package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
- package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +9 -0
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +50 -0
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +17 -16
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useReduceMotion.d.ts +14 -0
- package/lib/typescript/module/ui/hooks/useReduceMotion.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts +31 -0
- package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +27 -2
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +4 -5
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts +16 -0
- package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
- package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts +21 -0
- package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +101 -23
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaces.d.ts +42 -11
- package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +18 -9
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ChangeAvatarScreen.d.ts +34 -0
- package/lib/typescript/module/ui/screens/ChangeAvatarScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts +23 -0
- package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts +4 -0
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts +10 -2
- package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/resetSessionScopedStores.d.ts +8 -1
- package/lib/typescript/module/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +10 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +0 -48
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/package.json +9 -5
- package/src/index.ts +12 -5
- package/src/ui/components/AvatarCameraBadge.tsx +35 -0
- package/src/ui/components/{OxyAccountDialog.tsx → OxyAccountDialogScreen.tsx} +50 -116
- package/src/ui/components/OxyAuthChooser.tsx +743 -86
- package/src/ui/components/OxyConsentScreen.tsx +1 -1
- package/src/ui/components/ProfileButton.tsx +18 -3
- package/src/ui/components/ProfileSummaryCard.tsx +2 -25
- package/src/ui/components/RequireOxyAuth.tsx +1 -1
- package/src/ui/components/SurfaceHeaderAction.tsx +60 -0
- package/src/ui/components/SurfaceScreen.tsx +108 -14
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +50 -36
- package/src/ui/components/modals/DeleteAccountModal.tsx +47 -26
- package/src/ui/components/oxyAuthChooserStyles.ts +78 -16
- package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +158 -84
- package/src/ui/components/photogrid/__tests__/chunkPhotos.test.ts +51 -0
- package/src/ui/components/surfaces/ActionSheetSurface.tsx +98 -0
- package/src/ui/context/OxyContext.tsx +79 -25
- package/src/ui/hooks/queries/queryKeys.ts +15 -0
- package/src/ui/hooks/queries/useFileQueries.ts +162 -0
- package/src/ui/hooks/useAvatarPicker.ts +46 -74
- package/src/ui/hooks/useReduceMotion.ts +58 -0
- package/src/ui/hooks/useSurfaceHeader.ts +57 -0
- package/src/ui/hooks/useSwitchableAccounts.ts +1 -1
- package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +55 -7
- package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +149 -0
- package/src/ui/navigation/accountDialogManager.ts +42 -2
- package/src/ui/navigation/bottomSheetManager.ts +6 -7
- package/src/ui/navigation/routes.ts +6 -4
- package/src/ui/navigation/surfaceBackBridge.ts +69 -0
- package/src/ui/navigation/surfaceNavStack.ts +72 -9
- package/src/ui/navigation/surfaceRegistry.ts +164 -24
- package/src/ui/navigation/surfaces.ts +137 -30
- package/src/ui/screens/AccountMembersScreen.tsx +39 -100
- package/src/ui/screens/AccountSettingsScreen.tsx +32 -54
- package/src/ui/screens/AccountVerificationScreen.tsx +23 -51
- package/src/ui/screens/AppInfoScreen.tsx +6 -13
- package/src/ui/screens/AvatarCropScreen.tsx +340 -311
- package/src/ui/screens/ChangeAvatarScreen.tsx +359 -0
- package/src/ui/screens/ConnectedAppsScreen.tsx +39 -60
- package/src/ui/screens/CreateAccountScreen.tsx +13 -39
- package/src/ui/screens/EditProfileFieldScreen.tsx +30 -48
- package/src/ui/screens/EditProfileScreen.tsx +7 -16
- package/src/ui/screens/FAQScreen.tsx +9 -13
- package/src/ui/screens/FeedbackScreen.tsx +8 -22
- package/src/ui/screens/FileManagementScreen.tsx +370 -610
- package/src/ui/screens/HelpSupportScreen.tsx +7 -13
- package/src/ui/screens/HistoryViewScreen.tsx +26 -31
- package/src/ui/screens/LanguageSelectorScreen.tsx +12 -46
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +8 -16
- package/src/ui/screens/LegalDocumentsScreen.tsx +7 -22
- package/src/ui/screens/ManageAccountScreen.tsx +96 -165
- package/src/ui/screens/NotificationsScreen.tsx +7 -13
- package/src/ui/screens/PaymentGatewayScreen.tsx +3 -10
- package/src/ui/screens/PreferencesScreen.tsx +7 -13
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +52 -90
- package/src/ui/screens/PrivacySettingsScreen.tsx +9 -21
- package/src/ui/screens/ProfileScreen.tsx +9 -11
- package/src/ui/screens/SavesCollectionsScreen.tsx +7 -13
- package/src/ui/screens/SearchSettingsScreen.tsx +9 -21
- package/src/ui/screens/UserLinksScreen.tsx +7 -14
- package/src/ui/screens/UserListScreen.tsx +2 -5
- package/src/ui/screens/WelcomeNewUserScreen.tsx +18 -48
- package/src/ui/screens/fileManagement/FileLibraryError.tsx +56 -0
- package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +56 -46
- package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +55 -71
- package/src/ui/screens/trust/TrustAboutScreen.tsx +10 -17
- package/src/ui/screens/trust/TrustCenterScreen.tsx +9 -28
- package/src/ui/screens/trust/TrustFAQScreen.tsx +15 -18
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +3 -5
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +11 -26
- package/src/ui/screens/trust/TrustRulesScreen.tsx +10 -13
- package/src/ui/stores/resetSessionScopedStores.ts +8 -3
- package/src/ui/types/navigation.ts +10 -0
- package/src/ui/utils/avatarUtils.ts +11 -2
- package/src/ui/utils/fileManagement.ts +1 -101
- package/lib/commonjs/ui/components/Header.js +0 -305
- package/lib/commonjs/ui/components/Header.js.map +0 -1
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +0 -1
- package/lib/commonjs/ui/stores/fileStore.js +0 -153
- package/lib/commonjs/ui/stores/fileStore.js.map +0 -1
- package/lib/module/ui/components/Header.js +0 -299
- package/lib/module/ui/components/Header.js.map +0 -1
- package/lib/module/ui/components/OxyAccountDialog.js.map +0 -1
- package/lib/module/ui/stores/fileStore.js +0 -145
- package/lib/module/ui/stores/fileStore.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/Header.d.ts +0 -33
- package/lib/typescript/commonjs/ui/components/Header.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/stores/fileStore.d.ts +0 -31
- package/lib/typescript/commonjs/ui/stores/fileStore.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/Header.d.ts +0 -33
- package/lib/typescript/module/ui/components/Header.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +0 -1
- package/lib/typescript/module/ui/stores/fileStore.d.ts +0 -31
- package/lib/typescript/module/ui/stores/fileStore.d.ts.map +0 -1
- package/src/ui/components/Header.tsx +0 -224
- package/src/ui/stores/fileStore.ts +0 -118
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SurfaceHeaderContext = void 0;
|
|
7
|
+
exports.useSurfaceHeader = useSurfaceHeader;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
/**
|
|
10
|
+
* The header content a mounted surface screen contributes at runtime: its
|
|
11
|
+
* (translated) title/subtitle and optional slot nodes. Back/close affordances
|
|
12
|
+
* are owned by the surface host (`SurfaceScreen`) — a screen never wires them.
|
|
13
|
+
*
|
|
14
|
+
* A `right` slot is the canonical place for a screen-state action (e.g. a Save
|
|
15
|
+
* button whose disabled/loading state reflects the form). Slot nodes MUST be
|
|
16
|
+
* referentially stable (memoize them with `useMemo`) so the header does not
|
|
17
|
+
* thrash.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Provided by {@link ../components/SurfaceScreen}. Bridges a screen's runtime
|
|
22
|
+
* header contribution up to the host, which merges it with the back/close
|
|
23
|
+
* wiring and drives the Dialog's own nav header. `null` outside a surface (or in
|
|
24
|
+
* a headerless surface), so {@link useSurfaceHeader} is a safe no-op there.
|
|
25
|
+
*/
|
|
26
|
+
const SurfaceHeaderContext = exports.SurfaceHeaderContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Declare the Dialog nav header's content from within a surface screen — its
|
|
30
|
+
* title/subtitle and any action slot. Merges over nothing (the host owns
|
|
31
|
+
* back/close), replaces on change, and clears on unmount. Call it unconditionally;
|
|
32
|
+
* it is a no-op outside a header-mode surface.
|
|
33
|
+
*/
|
|
34
|
+
function useSurfaceHeader(content) {
|
|
35
|
+
const ctx = (0, _react.useContext)(SurfaceHeaderContext);
|
|
36
|
+
const set = ctx?.setContent;
|
|
37
|
+
// Set synchronously in the commit's layout phase so the bar/title fill in
|
|
38
|
+
// BEFORE the browser paints — no first-frame flash of an empty bar.
|
|
39
|
+
(0, _react.useLayoutEffect)(() => {
|
|
40
|
+
if (!set) return;
|
|
41
|
+
set(content ?? null);
|
|
42
|
+
return () => set(null);
|
|
43
|
+
// Slot nodes (`left`/`right`) are compared by identity; callers memoize them.
|
|
44
|
+
}, [set, content?.title, content?.titleContent, content?.subtitle, content?.largeTitle, content?.left, content?.right, content?.onBack]);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=useSurfaceHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","SurfaceHeaderContext","exports","createContext","useSurfaceHeader","content","ctx","useContext","set","setContent","useLayoutEffect","title","titleContent","subtitle","largeTitle","left","right","onBack"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSurfaceHeader.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,oBAAa,EAAmC,IAAI,CAAC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,OAAgD,EAAQ;EACvF,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACN,oBAAoB,CAAC;EAC5C,MAAMO,GAAG,GAAGF,GAAG,EAAEG,UAAU;EAC3B;EACA;EACA,IAAAC,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACF,GAAG,EAAE;IACVA,GAAG,CAACH,OAAO,IAAI,IAAI,CAAC;IACpB,OAAO,MAAMG,GAAG,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CACDA,GAAG,EACHH,OAAO,EAAEM,KAAK,EACdN,OAAO,EAAEO,YAAY,EACrBP,OAAO,EAAEQ,QAAQ,EACjBR,OAAO,EAAES,UAAU,EACnBT,OAAO,EAAEU,IAAI,EACbV,OAAO,EAAEW,KAAK,EACdX,OAAO,EAAEY,MAAM,CAChB,CAAC;AACJ","ignoreList":[]}
|
|
@@ -33,7 +33,7 @@ const EMPTY_SNAPSHOT = {
|
|
|
33
33
|
* real per-account name / email / avatar / color.
|
|
34
34
|
*
|
|
35
35
|
* This is a thin binding over the shared `AccountDialogController` in
|
|
36
|
-
* `@oxyhq/core` (the SAME headless source the {@link
|
|
36
|
+
* `@oxyhq/core` (the SAME headless source the {@link OxyAccountDialogScreen} renders),
|
|
37
37
|
* so there is ONE projection (`projectSwitchableAccounts`) and one switch path
|
|
38
38
|
* (`controller.switchTo`) across the whole SDK — the local duplicate projection
|
|
39
39
|
* this hook used to own has been removed. Every switch routes through
|
|
@@ -4,17 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.closeAccountDialog = closeAccountDialog;
|
|
7
|
+
exports.getAccountDialogConsumerHooks = getAccountDialogConsumerHooks;
|
|
7
8
|
exports.notifyAccountDialogVisibility = notifyAccountDialogVisibility;
|
|
8
9
|
exports.openAccountDialog = openAccountDialog;
|
|
10
|
+
exports.registerAccountDialogConsumerHooks = registerAccountDialogConsumerHooks;
|
|
9
11
|
exports.registerAccountDialogControls = registerAccountDialogControls;
|
|
10
12
|
exports.subscribeToAccountDialog = subscribeToAccountDialog;
|
|
11
13
|
/**
|
|
12
|
-
* Imperative
|
|
14
|
+
* Imperative, outside-React entry points for the unified `OxyAccountDialogScreen`.
|
|
15
|
+
*
|
|
16
|
+
* These delegate to the live handles the mounted `OxyProvider` registers via
|
|
17
|
+
* {@link registerAccountDialogControls}. Under the hood `open`/`close` present
|
|
18
|
+
* and dismiss the `AccountDialog` surface on the shared Bloom surface stack
|
|
19
|
+
* (`OxyContext.openAccountDialog` → `presentDetached('AccountDialog', …)`), so
|
|
20
|
+
* whether the dialog is open is owned by that stack — this module is only the
|
|
21
|
+
* thin bridge that reaches the provider's controller (which sets the dialog
|
|
22
|
+
* view) from a non-React call site.
|
|
13
23
|
*/
|
|
14
24
|
|
|
15
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Live open/close handles registered by the mounted provider. `open` presents
|
|
27
|
+
* the `AccountDialog` surface (and points its view); `close` dismisses it. Both
|
|
28
|
+
* are stack operations — this interface never carries visibility state.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Optional consumer overrides for account-dialog actions. `ProfileButton` (and
|
|
33
|
+
* similar hosts) register these while mounted so inbox/accounts can route
|
|
34
|
+
* "Manage" / "Add account" to app-local navigation instead of the SDK default.
|
|
35
|
+
*/
|
|
16
36
|
|
|
17
37
|
let controls = null;
|
|
38
|
+
let consumerHooks = null;
|
|
18
39
|
const visibilityListeners = new Set();
|
|
19
40
|
function registerAccountDialogControls(next) {
|
|
20
41
|
controls = next;
|
|
@@ -25,6 +46,19 @@ function registerAccountDialogControls(next) {
|
|
|
25
46
|
};
|
|
26
47
|
}
|
|
27
48
|
|
|
49
|
+
/** Register app-local manage/add/profile handlers for the account dialog. */
|
|
50
|
+
function registerAccountDialogConsumerHooks(next) {
|
|
51
|
+
consumerHooks = next;
|
|
52
|
+
return () => {
|
|
53
|
+
if (consumerHooks === next) {
|
|
54
|
+
consumerHooks = null;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function getAccountDialogConsumerHooks() {
|
|
59
|
+
return consumerHooks;
|
|
60
|
+
}
|
|
61
|
+
|
|
28
62
|
/** Open the account dialog on `view` (default `accounts`). No-op before mount. */
|
|
29
63
|
function openAccountDialog(view) {
|
|
30
64
|
controls?.open(view);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["controls","visibilityListeners","Set","registerAccountDialogControls","next","openAccountDialog","view","open","closeAccountDialog","close","notifyAccountDialogVisibility","visible","listener","subscribeToAccountDialog","add","delete"],"sourceRoot":"../../../../src","sources":["ui/navigation/accountDialogManager.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["controls","consumerHooks","visibilityListeners","Set","registerAccountDialogControls","next","registerAccountDialogConsumerHooks","getAccountDialogConsumerHooks","openAccountDialog","view","open","closeAccountDialog","close","notifyAccountDialogVisibility","visible","listener","subscribeToAccountDialog","add","delete"],"sourceRoot":"../../../../src","sources":["ui/navigation/accountDialogManager.ts"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAOA,IAAIA,QAAsC,GAAG,IAAI;AACjD,IAAIC,aAAgD,GAAG,IAAI;AAC3D,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAA6B,CAAC;AAE1D,SAASC,6BAA6BA,CAACC,IAA2B,EAAc;EACrFL,QAAQ,GAAGK,IAAI;EACf,OAAO,MAAM;IACX,IAAIL,QAAQ,KAAKK,IAAI,EAAE;MACrBL,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC;AACH;;AAEA;AACO,SAASM,kCAAkCA,CAChDD,IAAuC,EAC3B;EACZJ,aAAa,GAAGI,IAAI;EACpB,OAAO,MAAM;IACX,IAAIJ,aAAa,KAAKI,IAAI,EAAE;MAC1BJ,aAAa,GAAG,IAAI;IACtB;EACF,CAAC;AACH;AAEO,SAASM,6BAA6BA,CAAA,EAAsC;EACjF,OAAON,aAAa;AACtB;;AAEA;AACO,SAASO,iBAAiBA,CAACC,IAAwB,EAAQ;EAChET,QAAQ,EAAEU,IAAI,CAACD,IAAI,CAAC;AACtB;;AAEA;AACO,SAASE,kBAAkBA,CAAA,EAAS;EACzCX,QAAQ,EAAEY,KAAK,CAAC,CAAC;AACnB;;AAEA;AACO,SAASC,6BAA6BA,CAACC,OAAgB,EAAQ;EACpE,KAAK,MAAMC,QAAQ,IAAIb,mBAAmB,EAAE;IAC1Ca,QAAQ,CAACD,OAAO,CAAC;EACnB;AACF;;AAEA;AACO,SAASE,wBAAwBA,CAACD,QAAoC,EAAc;EACzFb,mBAAmB,CAACe,GAAG,CAACF,QAAQ,CAAC;EACjC,OAAO,MAAM;IACXb,mBAAmB,CAACgB,MAAM,CAACH,QAAQ,CAAC;EACtC,CAAC;AACH","ignoreList":[]}
|
|
@@ -20,11 +20,10 @@ var _surfaces = require("./surfaces.js");
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Open a bottom-sheet route.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* first one.
|
|
23
|
+
* Open a bottom-sheet route. By DEFAULT it drills into the top-most active
|
|
24
|
+
* surface — morphing it in place (every screen morphs). A NEW surface is stacked
|
|
25
|
+
* on top only when the target route declares `stacks` (reserved for genuine
|
|
26
|
+
* overlays — none today). Opening with no active surface presents the first one.
|
|
28
27
|
*
|
|
29
28
|
* `fullScreen` is accepted for signature compatibility and ignored — a route's
|
|
30
29
|
* surface is now derived from its registry config, not a per-call flag.
|
|
@@ -37,7 +36,7 @@ const showBottomSheet = screenOrConfig => {
|
|
|
37
36
|
return;
|
|
38
37
|
}
|
|
39
38
|
const top = (0, _surfaces.topRouteSurface)();
|
|
40
|
-
if (top &&
|
|
39
|
+
if (top && !(0, _surfaceRegistry.getSurfaceConfig)(screen, props).stacks) {
|
|
41
40
|
top.navigate(screen, props);
|
|
42
41
|
} else {
|
|
43
42
|
(0, _surfaces.presentRoute)(screen, props);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_routes","require","_surfaceRegistry","_surfaces","showBottomSheet","screenOrConfig","screen","props","isValidRoute","__DEV__","console","warn","top","topRouteSurface","
|
|
1
|
+
{"version":3,"names":["_routes","require","_surfaceRegistry","_surfaces","showBottomSheet","screenOrConfig","screen","props","isValidRoute","__DEV__","console","warn","top","topRouteSurface","getSurfaceConfig","stacks","navigate","presentRoute","exports","closeBottomSheet","closeAllRouteSurfaces","goBack"],"sourceRoot":"../../../../src","sources":["ui/navigation/bottomSheetManager.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,eAAe,GAC1BC,cAEgF,IACvE;EACT,MAAMC,MAAM,GAAG,OAAOD,cAAc,KAAK,QAAQ,GAAGA,cAAc,GAAGA,cAAc,CAACC,MAAM;EAC1F,MAAMC,KAAK,GAAG,OAAOF,cAAc,KAAK,QAAQ,GAAG,CAAC,CAAC,GAAGA,cAAc,CAACE,KAAK,IAAI,CAAC,CAAC;EAElF,IAAI,CAAC,IAAAC,oBAAY,EAACF,MAAM,CAAC,EAAE;IACzB,IAAIG,OAAO,EAAEC,OAAO,CAACC,IAAI,CAAC,gCAAgCL,MAAM,EAAE,CAAC;IACnE;EACF;EAEA,MAAMM,GAAG,GAAG,IAAAC,yBAAe,EAAC,CAAC;EAC7B,IAAID,GAAG,IAAI,CAAC,IAAAE,iCAAgB,EAACR,MAAM,EAAEC,KAAK,CAAC,CAACQ,MAAM,EAAE;IAClDH,GAAG,CAACI,QAAQ,CAACV,MAAM,EAAEC,KAAK,CAAC;EAC7B,CAAC,MAAM;IACL,IAAAU,sBAAY,EAACX,MAAM,EAAEC,KAAK,CAAC;EAC7B;AACF,CAAC;;AAED;AAAAW,OAAA,CAAAd,eAAA,GAAAA,eAAA;AACO,MAAMe,gBAAgB,GAAGA,CAAA,KAAY;EAC1C,IAAAC,+BAAqB,EAAC,CAAC;AACzB,CAAC;;AAED;AACA;AACA;AACA;AAHAF,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAIO,MAAME,MAAM,GAAGA,CAAA,KAAe;EACnC,MAAMT,GAAG,GAAG,IAAAC,yBAAe,EAAC,CAAC;EAC7B,OAAOD,GAAG,GAAGA,GAAG,CAACS,MAAM,CAAC,CAAC,GAAG,KAAK;AACnC,CAAC;AAACH,OAAA,CAAAG,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ exports.isValidRoute = exports.getScreenComponent = void 0;
|
|
|
10
10
|
|
|
11
11
|
// Define all available route names
|
|
12
12
|
|
|
13
|
-
// Unified account switcher + sign-in surface (
|
|
13
|
+
// Unified account switcher + sign-in surface (OxyAccountDialogScreen body)
|
|
14
14
|
|
|
15
15
|
// Lazy screen loaders - functions that return screen components on-demand
|
|
16
16
|
// This breaks the require cycle by deferring imports until screens are actually needed
|
|
@@ -50,14 +50,15 @@ const screenLoaders = {
|
|
|
50
50
|
CreateAccount: () => require('../screens/CreateAccountScreen').default,
|
|
51
51
|
AccountMembers: () => require('../screens/AccountMembersScreen').default,
|
|
52
52
|
AccountSettings: () => require('../screens/AccountSettingsScreen').default,
|
|
53
|
+
ChangeAvatar: () => require('../screens/ChangeAvatarScreen').default,
|
|
53
54
|
AvatarCrop: () => require('../screens/AvatarCropScreen').default,
|
|
54
55
|
Notifications: () => require('../screens/NotificationsScreen').default,
|
|
55
56
|
ConnectedApps: () => require('../screens/ConnectedAppsScreen').default,
|
|
56
57
|
Preferences: () => require('../screens/PreferencesScreen').default,
|
|
57
58
|
// Unified account switcher + sign-in surface. Its body lives in the
|
|
58
|
-
// `
|
|
59
|
+
// `OxyAccountDialogScreen` component (folded from the standalone dialog); the
|
|
59
60
|
// surface stack provides the Dialog chrome around it.
|
|
60
|
-
AccountDialog: () => require('../components/
|
|
61
|
+
AccountDialog: () => require('../components/OxyAccountDialogScreen').default
|
|
61
62
|
};
|
|
62
63
|
|
|
63
64
|
// Cache loaded components to avoid re-requiring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["screenLoaders","ManageAccount","require","default","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","CreateAccount","AccountMembers","AccountSettings","AvatarCrop","Notifications","ConnectedApps","Preferences","AccountDialog","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":";;;;;;AAGA;AACA;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"names":["screenLoaders","ManageAccount","require","default","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","CreateAccount","AccountMembers","AccountSettings","ChangeAvatar","AvatarCrop","Notifications","ConnectedApps","Preferences","AccountDialog","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.__invokeTopSurfaceBackForTests = __invokeTopSurfaceBackForTests;
|
|
7
|
+
exports.__resetSurfaceBackBridgeForTests = __resetSurfaceBackBridgeForTests;
|
|
8
|
+
exports.pushSurfaceBackHandler = pushSurfaceBackHandler;
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
/**
|
|
11
|
+
* Per-surface system-back handlers (Android hardware back + web Escape).
|
|
12
|
+
*
|
|
13
|
+
* Bloom's `SurfaceHost` dismisses the whole top surface on back/Escape. The SDK
|
|
14
|
+
* needs the old `BottomSheetRouter` semantics first: pop nav history, step a
|
|
15
|
+
* wizard back, then dismiss. A single global listener delegates to the topmost
|
|
16
|
+
* registered handler so stacked surfaces route correctly.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const handlerStack = [];
|
|
20
|
+
let androidInstalled = false;
|
|
21
|
+
let escapeInstalled = false;
|
|
22
|
+
function invokeTopHandler() {
|
|
23
|
+
const handler = handlerStack[handlerStack.length - 1];
|
|
24
|
+
return handler ? handler() : false;
|
|
25
|
+
}
|
|
26
|
+
function installAndroidHandler() {
|
|
27
|
+
if (androidInstalled || _reactNative.Platform.OS !== 'android') return;
|
|
28
|
+
androidInstalled = true;
|
|
29
|
+
_reactNative.BackHandler.addEventListener('hardwareBackPress', () => {
|
|
30
|
+
if (handlerStack.length === 0) return false;
|
|
31
|
+
return invokeTopHandler();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function installEscapeHandler() {
|
|
35
|
+
if (escapeInstalled || _reactNative.Platform.OS !== 'web') return;
|
|
36
|
+
if (typeof window === 'undefined') return;
|
|
37
|
+
escapeInstalled = true;
|
|
38
|
+
window.addEventListener('keydown', event => {
|
|
39
|
+
if (event.key !== 'Escape' || handlerStack.length === 0) return;
|
|
40
|
+
invokeTopHandler();
|
|
41
|
+
event.stopImmediatePropagation();
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
}, true);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Register before Bloom's `SurfaceHost` mounts so Escape capture runs first. */
|
|
47
|
+
installEscapeHandler();
|
|
48
|
+
|
|
49
|
+
/** Push a handler for one live surface; returns unregister. */
|
|
50
|
+
function pushSurfaceBackHandler(handler) {
|
|
51
|
+
handlerStack.push(handler);
|
|
52
|
+
installAndroidHandler();
|
|
53
|
+
return () => {
|
|
54
|
+
const index = handlerStack.lastIndexOf(handler);
|
|
55
|
+
if (index >= 0) handlerStack.splice(index, 1);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Test-only: invoke the top handler. */
|
|
60
|
+
function __invokeTopSurfaceBackForTests() {
|
|
61
|
+
return invokeTopHandler();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** Test-only reset. */
|
|
65
|
+
function __resetSurfaceBackBridgeForTests() {
|
|
66
|
+
handlerStack.length = 0;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=surfaceBackBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","handlerStack","androidInstalled","escapeInstalled","invokeTopHandler","handler","length","installAndroidHandler","Platform","OS","BackHandler","addEventListener","installEscapeHandler","window","event","key","stopImmediatePropagation","preventDefault","pushSurfaceBackHandler","push","index","lastIndexOf","splice","__invokeTopSurfaceBackForTests","__resetSurfaceBackBridgeForTests"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceBackBridge.ts"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMC,YAAkC,GAAG,EAAE;AAC7C,IAAIC,gBAAgB,GAAG,KAAK;AAC5B,IAAIC,eAAe,GAAG,KAAK;AAE3B,SAASC,gBAAgBA,CAAA,EAAY;EACnC,MAAMC,OAAO,GAAGJ,YAAY,CAACA,YAAY,CAACK,MAAM,GAAG,CAAC,CAAC;EACrD,OAAOD,OAAO,GAAGA,OAAO,CAAC,CAAC,GAAG,KAAK;AACpC;AAEA,SAASE,qBAAqBA,CAAA,EAAS;EACrC,IAAIL,gBAAgB,IAAIM,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EACnDP,gBAAgB,GAAG,IAAI;EACvBQ,wBAAW,CAACC,gBAAgB,CAAC,mBAAmB,EAAE,MAAM;IACtD,IAAIV,YAAY,CAACK,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAC3C,OAAOF,gBAAgB,CAAC,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,SAASQ,oBAAoBA,CAAA,EAAS;EACpC,IAAIT,eAAe,IAAIK,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EAC9C,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;EACnCV,eAAe,GAAG,IAAI;EACtBU,MAAM,CAACF,gBAAgB,CACrB,SAAS,EACRG,KAAK,IAAK;IACT,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAId,YAAY,CAACK,MAAM,KAAK,CAAC,EAAE;IACzDF,gBAAgB,CAAC,CAAC;IAClBU,KAAK,CAACE,wBAAwB,CAAC,CAAC;IAChCF,KAAK,CAACG,cAAc,CAAC,CAAC;EACxB,CAAC,EACD,IACF,CAAC;AACH;;AAEA;AACAL,oBAAoB,CAAC,CAAC;;AAEtB;AACO,SAASM,sBAAsBA,CAACb,OAA2B,EAAc;EAC9EJ,YAAY,CAACkB,IAAI,CAACd,OAAO,CAAC;EAC1BE,qBAAqB,CAAC,CAAC;EACvB,OAAO,MAAM;IACX,MAAMa,KAAK,GAAGnB,YAAY,CAACoB,WAAW,CAAChB,OAAO,CAAC;IAC/C,IAAIe,KAAK,IAAI,CAAC,EAAEnB,YAAY,CAACqB,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EAC/C,CAAC;AACH;;AAEA;AACO,SAASG,8BAA8BA,CAAA,EAAY;EACxD,OAAOnB,gBAAgB,CAAC,CAAC;AAC3B;;AAEA;AACO,SAASoB,gCAAgCA,CAAA,EAAS;EACvDvB,YAAY,CAACK,MAAM,GAAG,CAAC;AACzB","ignoreList":[]}
|
|
@@ -44,9 +44,46 @@ function createSurfaceNavStack(route, props) {
|
|
|
44
44
|
} = store.getState();
|
|
45
45
|
return frames[frames.length - 1];
|
|
46
46
|
};
|
|
47
|
+
|
|
48
|
+
// Result-bearing sub-flows currently running in this surface (the morphed-in
|
|
49
|
+
// avatar picker, and — NESTED within it — the "My Oxy files" media selector).
|
|
50
|
+
// A STACK: flows nest (ChangeAvatar → FileManagement → back to ChangeAvatar).
|
|
51
|
+
// Held OUTSIDE the store (resolvers are functions; flow presence must not
|
|
52
|
+
// re-render frames). Each flow's `returnLength` is the frame count BEFORE its
|
|
53
|
+
// entry frame was pushed, so settling pops back to exactly the frame that
|
|
54
|
+
// started it. `flowStack` is ordered outer → inner; the top is the innermost.
|
|
55
|
+
const flowStack = [];
|
|
56
|
+
const requestDismiss = result => {
|
|
57
|
+
// Dismissing the whole surface abandons EVERY pending sub-flow — settle each
|
|
58
|
+
// promise so an awaiting caller (the avatar picker) never hangs.
|
|
59
|
+
while (flowStack.length) flowStack.pop()?.resolve(undefined);
|
|
60
|
+
if (store.getState().closing) return;
|
|
61
|
+
store.setState({
|
|
62
|
+
closing: true,
|
|
63
|
+
closeResult: result
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const goBack = () => {
|
|
67
|
+
const {
|
|
68
|
+
frames
|
|
69
|
+
} = store.getState();
|
|
70
|
+
if (frames.length <= 1) return false;
|
|
71
|
+
const nextLength = frames.length - 1;
|
|
72
|
+
store.setState({
|
|
73
|
+
frames: frames.slice(0, -1)
|
|
74
|
+
});
|
|
75
|
+
// Backing out past a sub-flow's entry frame cancels it (resolve undefined).
|
|
76
|
+
// A single pop crosses at most one boundary, but loop for safety.
|
|
77
|
+
while (flowStack.length && nextLength <= flowStack[flowStack.length - 1].returnLength) {
|
|
78
|
+
flowStack.pop()?.resolve(undefined);
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
};
|
|
47
82
|
return {
|
|
48
83
|
store,
|
|
49
84
|
getTop,
|
|
85
|
+
requestDismiss,
|
|
86
|
+
goBack,
|
|
50
87
|
navigate(nextRoute, nextProps) {
|
|
51
88
|
store.setState(state => ({
|
|
52
89
|
frames: [...state.frames, makeFrame(nextRoute, nextProps)]
|
|
@@ -57,16 +94,6 @@ function createSurfaceNavStack(route, props) {
|
|
|
57
94
|
frames: [...state.frames.slice(0, -1), makeFrame(nextRoute, nextProps)]
|
|
58
95
|
}));
|
|
59
96
|
},
|
|
60
|
-
goBack() {
|
|
61
|
-
const {
|
|
62
|
-
frames
|
|
63
|
-
} = store.getState();
|
|
64
|
-
if (frames.length <= 1) return false;
|
|
65
|
-
store.setState({
|
|
66
|
-
frames: frames.slice(0, -1)
|
|
67
|
-
});
|
|
68
|
-
return true;
|
|
69
|
-
},
|
|
70
97
|
canGoBack() {
|
|
71
98
|
const {
|
|
72
99
|
frames
|
|
@@ -86,12 +113,32 @@ function createSurfaceNavStack(route, props) {
|
|
|
86
113
|
};
|
|
87
114
|
});
|
|
88
115
|
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
store.setState({
|
|
92
|
-
|
|
93
|
-
|
|
116
|
+
beginFlow(nextRoute, nextProps) {
|
|
117
|
+
const returnLength = store.getState().frames.length;
|
|
118
|
+
store.setState(state => ({
|
|
119
|
+
frames: [...state.frames, makeFrame(nextRoute, nextProps)]
|
|
120
|
+
}));
|
|
121
|
+
return new Promise(resolve => {
|
|
122
|
+
flowStack.push({
|
|
123
|
+
returnLength,
|
|
124
|
+
resolve
|
|
125
|
+
});
|
|
94
126
|
});
|
|
127
|
+
},
|
|
128
|
+
resolveFlowOrDismiss(result) {
|
|
129
|
+
const flow = flowStack.pop();
|
|
130
|
+
if (!flow) {
|
|
131
|
+
// No flow → this screen owns its surface; dismiss it as before.
|
|
132
|
+
requestDismiss(result);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
store.setState(state => ({
|
|
136
|
+
frames: state.frames.slice(0, flow.returnLength)
|
|
137
|
+
}));
|
|
138
|
+
flow.resolve(result);
|
|
139
|
+
},
|
|
140
|
+
abandonActiveFlow() {
|
|
141
|
+
while (flowStack.length) flowStack.pop()?.resolve(undefined);
|
|
95
142
|
}
|
|
96
143
|
};
|
|
97
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_vanilla","require","makeFrame","route","props","resolved","step","initialStep","createSurfaceNavStack","store","createStore","frames","closing","closeResult","undefined","getTop","getState","length","
|
|
1
|
+
{"version":3,"names":["_vanilla","require","makeFrame","route","props","resolved","step","initialStep","createSurfaceNavStack","store","createStore","frames","closing","closeResult","undefined","getTop","getState","length","flowStack","requestDismiss","result","pop","resolve","setState","goBack","nextLength","slice","returnLength","navigate","nextRoute","nextProps","state","replace","canGoBack","setStep","index","beginFlow","Promise","push","resolveFlowOrDismiss","flow","abandonActiveFlow"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceNavStack.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAwDA,SAASC,SAASA,CAACC,KAAgB,EAAEC,KAA+B,EAAY;EAC9E,MAAMC,QAAQ,GAAGD,KAAK,IAAI,CAAC,CAAC;EAC5B,MAAME,IAAI,GAAG,OAAOD,QAAQ,CAACE,WAAW,KAAK,QAAQ,GAAGF,QAAQ,CAACE,WAAW,GAAG,CAAC;EAChF,OAAO;IAAEJ,KAAK;IAAEC,KAAK,EAAEC,QAAQ;IAAEC;EAAK,CAAC;AACzC;AAEO,SAASE,qBAAqBA,CACnCL,KAAgB,EAChBC,KAA+B,EACd;EACjB,MAAMK,KAAK,GAAG,IAAAC,oBAAW,EAAgB,OAAO;IAC9CC,MAAM,EAAE,CAACT,SAAS,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAC;IACjCQ,OAAO,EAAE,KAAK;IACdC,WAAW,EAAEC;EACf,CAAC,CAAC,CAAC;EAEH,MAAMC,MAAM,GAAGA,CAAA,KAAgB;IAC7B,MAAM;MAAEJ;IAAO,CAAC,GAAGF,KAAK,CAACO,QAAQ,CAAC,CAAC;IACnC,OAAOL,MAAM,CAACA,MAAM,CAACM,MAAM,GAAG,CAAC,CAAC;EAClC,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAyE,GAAG,EAAE;EAEpF,MAAMC,cAAc,GAAIC,MAAgB,IAAW;IACjD;IACA;IACA,OAAOF,SAAS,CAACD,MAAM,EAAEC,SAAS,CAACG,GAAG,CAAC,CAAC,EAAEC,OAAO,CAACR,SAAS,CAAC;IAC5D,IAAIL,KAAK,CAACO,QAAQ,CAAC,CAAC,CAACJ,OAAO,EAAE;IAC9BH,KAAK,CAACc,QAAQ,CAAC;MAAEX,OAAO,EAAE,IAAI;MAAEC,WAAW,EAAEO;IAAO,CAAC,CAAC;EACxD,CAAC;EAED,MAAMI,MAAM,GAAGA,CAAA,KAAe;IAC5B,MAAM;MAAEb;IAAO,CAAC,GAAGF,KAAK,CAACO,QAAQ,CAAC,CAAC;IACnC,IAAIL,MAAM,CAACM,MAAM,IAAI,CAAC,EAAE,OAAO,KAAK;IACpC,MAAMQ,UAAU,GAAGd,MAAM,CAACM,MAAM,GAAG,CAAC;IACpCR,KAAK,CAACc,QAAQ,CAAC;MAAEZ,MAAM,EAAEA,MAAM,CAACe,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAAE,CAAC,CAAC;IAC/C;IACA;IACA,OAAOR,SAAS,CAACD,MAAM,IAAIQ,UAAU,IAAIP,SAAS,CAACA,SAAS,CAACD,MAAM,GAAG,CAAC,CAAC,CAACU,YAAY,EAAE;MACrFT,SAAS,CAACG,GAAG,CAAC,CAAC,EAAEC,OAAO,CAACR,SAAS,CAAC;IACrC;IACA,OAAO,IAAI;EACb,CAAC;EAED,OAAO;IACLL,KAAK;IACLM,MAAM;IACNI,cAAc;IACdK,MAAM;IACNI,QAAQA,CAACC,SAAS,EAAEC,SAAS,EAAE;MAC7BrB,KAAK,CAACc,QAAQ,CAAEQ,KAAK,KAAM;QAAEpB,MAAM,EAAE,CAAC,GAAGoB,KAAK,CAACpB,MAAM,EAAET,SAAS,CAAC2B,SAAS,EAAEC,SAAS,CAAC;MAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IACDE,OAAOA,CAACH,SAAS,EAAEC,SAAS,EAAE;MAC5BrB,KAAK,CAACc,QAAQ,CAAEQ,KAAK,KAAM;QACzBpB,MAAM,EAAE,CAAC,GAAGoB,KAAK,CAACpB,MAAM,CAACe,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAExB,SAAS,CAAC2B,SAAS,EAAEC,SAAS,CAAC;MACxE,CAAC,CAAC,CAAC;IACL,CAAC;IACDG,SAASA,CAAA,EAAG;MACV,MAAM;QAAEtB;MAAO,CAAC,GAAGF,KAAK,CAACO,QAAQ,CAAC,CAAC;MACnC,OAAOL,MAAM,CAACM,MAAM,GAAG,CAAC,IAAI,CAACN,MAAM,CAACA,MAAM,CAACM,MAAM,GAAG,CAAC,CAAC,EAAEX,IAAI,IAAI,CAAC,IAAI,CAAC;IACxE,CAAC;IACD4B,OAAOA,CAAC5B,IAAI,EAAE;MACZG,KAAK,CAACc,QAAQ,CAAEQ,KAAK,IAAK;QACxB,MAAMpB,MAAM,GAAGoB,KAAK,CAACpB,MAAM,CAACe,KAAK,CAAC,CAAC;QACnC,MAAMS,KAAK,GAAGxB,MAAM,CAACM,MAAM,GAAG,CAAC;QAC/BN,MAAM,CAACwB,KAAK,CAAC,GAAG;UAAE,GAAGxB,MAAM,CAACwB,KAAK,CAAC;UAAE7B;QAAK,CAAC;QAC1C,OAAO;UAAEK;QAAO,CAAC;MACnB,CAAC,CAAC;IACJ,CAAC;IACDyB,SAASA,CAACP,SAAS,EAAEC,SAAS,EAAE;MAC9B,MAAMH,YAAY,GAAGlB,KAAK,CAACO,QAAQ,CAAC,CAAC,CAACL,MAAM,CAACM,MAAM;MACnDR,KAAK,CAACc,QAAQ,CAAEQ,KAAK,KAAM;QAAEpB,MAAM,EAAE,CAAC,GAAGoB,KAAK,CAACpB,MAAM,EAAET,SAAS,CAAC2B,SAAS,EAAEC,SAAS,CAAC;MAAE,CAAC,CAAC,CAAC;MAC3F,OAAO,IAAIO,OAAO,CAAWf,OAAO,IAAK;QACvCJ,SAAS,CAACoB,IAAI,CAAC;UAAEX,YAAY;UAAEL;QAAQ,CAAC,CAAC;MAC3C,CAAC,CAAC;IACJ,CAAC;IACDiB,oBAAoBA,CAACnB,MAAM,EAAE;MAC3B,MAAMoB,IAAI,GAAGtB,SAAS,CAACG,GAAG,CAAC,CAAC;MAC5B,IAAI,CAACmB,IAAI,EAAE;QACT;QACArB,cAAc,CAACC,MAAM,CAAC;QACtB;MACF;MACAX,KAAK,CAACc,QAAQ,CAAEQ,KAAK,KAAM;QAAEpB,MAAM,EAAEoB,KAAK,CAACpB,MAAM,CAACe,KAAK,CAAC,CAAC,EAAEc,IAAI,CAACb,YAAY;MAAE,CAAC,CAAC,CAAC;MACjFa,IAAI,CAAClB,OAAO,CAACF,MAAM,CAAC;IACtB,CAAC;IACDqB,iBAAiBA,CAAA,EAAG;MAClB,OAAOvB,SAAS,CAACD,MAAM,EAAEC,SAAS,CAACG,GAAG,CAAC,CAAC,EAAEC,OAAO,CAACR,SAAS,CAAC;IAC9D;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -35,38 +35,63 @@ void _registryCoversRoutes;
|
|
|
35
35
|
* How a surface renders — the SDK's presentation taxonomy. Each value maps to a
|
|
36
36
|
* concrete Bloom `Dialog` placement/chrome in `surfaces.ts`:
|
|
37
37
|
*
|
|
38
|
-
* - `'sheet'` → responsive `{ base: 'bottom', md: 'center' }` (the default
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* - `'sheet'` → responsive `{ base: 'bottom', md: 'center' }` (the default,
|
|
39
|
+
* and — since every screen morphs — the presentation of EVERY
|
|
40
|
+
* route today: a bottom sheet on narrow, a centered card wide).
|
|
41
|
+
* - `'center'` → a plain centered modal at every width. Currently unused.
|
|
41
42
|
* - `'drawer'` → responsive `{ base: 'bottom', md: 'left' }` side drawer.
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
43
|
+
* Currently unused.
|
|
44
|
+
* - `'fullScreen'` → a flush black-canvas surface (`contentPadding: 0`,
|
|
45
|
+
* programmatic-only dismiss). Currently unused: the flagship
|
|
46
|
+
* photo picker now MORPHS in place as a `sheet` (it paints its
|
|
47
|
+
* own black canvas + bar inside the themed panel), so nothing
|
|
48
|
+
* needs a stacked full-bleed surface. Retained for a future
|
|
49
|
+
* route that genuinely must be full-bleed.
|
|
47
50
|
*/
|
|
48
51
|
|
|
49
52
|
/**
|
|
50
53
|
* Per-route surface configuration. Merges the historical `SheetRouteConfig`
|
|
51
54
|
* knobs with the new {@link SurfacePresentation}.
|
|
52
55
|
*
|
|
53
|
-
* NOTE: `scrollable`
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* flush layout) is what actually drives the surface today.
|
|
56
|
+
* NOTE: `scrollable` is LIVE — it is threaded through `bloomOptionsFor` onto the
|
|
57
|
+
* Bloom `Dialog` surface (`scrollable` prop), so a route that owns its own scroll
|
|
58
|
+
* container opts OUT of the Dialog's internal ScrollView. `manualActivation` /
|
|
59
|
+
* `dynamicBackdrop` / `handleComponent` remain informational — reserved for a
|
|
60
|
+
* future Bloom bottom-placement passthrough; the shared `DialogBottomSheet`
|
|
61
|
+
* currently owns pan coordination itself.
|
|
60
62
|
*/
|
|
61
63
|
|
|
62
64
|
/** Defaults shared across all routes — the canonical responsive "sheet". */
|
|
63
65
|
const DEFAULT_SURFACE_CONFIG = {
|
|
64
66
|
presentation: 'sheet',
|
|
65
67
|
scrollable: true,
|
|
68
|
+
header: true,
|
|
69
|
+
morph: true,
|
|
70
|
+
stacks: false,
|
|
66
71
|
manualActivation: true,
|
|
67
72
|
dynamicBackdrop: true
|
|
68
73
|
};
|
|
69
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Routes that render NO Dialog nav header — they own their chrome:
|
|
77
|
+
* - `PaymentGateway` — the payment surface owns its controls.
|
|
78
|
+
* - `WelcomeNewUser` — a full-bleed onboarding wizard with its own step chrome.
|
|
79
|
+
* - `Profile` — a full profile view, no nav-header chrome.
|
|
80
|
+
* (The flagship full-bleed image picker is handled separately below.)
|
|
81
|
+
*
|
|
82
|
+
* `AccountDialog` used to be here — it now uses the SHARED Dialog nav header like
|
|
83
|
+
* every other screen (its per-view title/subtitle + view-back go through
|
|
84
|
+
* `useSurfaceHeader`), so the account/sign-in surface no longer feels bespoke.
|
|
85
|
+
*
|
|
86
|
+
* `AvatarCrop` used to be here too, for its own translucent Cancel/title/Done
|
|
87
|
+
* bar. It is now reached ONLY by navigating within a `ChangeAvatar` surface, and
|
|
88
|
+
* the Dialog's `header` is fixed for a surface's whole life — a headerless frame
|
|
89
|
+
* inside a header-mode surface would stack two bars. So the crop declares its
|
|
90
|
+
* title + its "Use photo" action through `useSurfaceHeader` like every other
|
|
91
|
+
* screen, and keeps only its dark crop stage.
|
|
92
|
+
*/
|
|
93
|
+
const HEADERLESS_ROUTES = new Set(['PaymentGateway', 'WelcomeNewUser', 'Profile']);
|
|
94
|
+
|
|
70
95
|
/**
|
|
71
96
|
* Predicate matching `FileManagementScreen`'s internal `isImageOnlyPicker`
|
|
72
97
|
* derivation. When the consumer restricts to image MIME types (no videos, no
|
|
@@ -86,15 +111,55 @@ const isFileManagementImageOnlyPicker = props => {
|
|
|
86
111
|
};
|
|
87
112
|
|
|
88
113
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* `
|
|
114
|
+
* Routes whose screen owns its OWN scroll container — a FlatList /
|
|
115
|
+
* VirtualizedList (`ConnectedApps`, `TrustLeaderboard`, `FollowersList` /
|
|
116
|
+
* `FollowingList` via `UserListScreen`) or its own vertical `ScrollView`
|
|
117
|
+
* (`FileManagement`). These MUST opt out of the Dialog's internal ScrollView
|
|
118
|
+
* (`scrollable: false`) so there is exactly ONE scroll container — otherwise a
|
|
119
|
+
* VirtualizedList nests inside a plain ScrollView (RN warning) or a nested
|
|
120
|
+
* vertical scroll-in-scroll breaks windowing. Screens with only a HORIZONTAL
|
|
121
|
+
* ScrollView (FAQ's category row, Premium's plan carousel) are NOT listed — a
|
|
122
|
+
* horizontal scroller does not conflict with the Dialog's vertical scroll.
|
|
123
|
+
*/
|
|
124
|
+
const OWN_SCROLL_CONTAINER_ROUTES = new Set(['FileManagement', 'ConnectedApps', 'TrustLeaderboard', 'FollowersList', 'FollowingList']);
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Resolve the surface configuration for a route + props. Every route defaults to
|
|
128
|
+
* the responsive sheet and MORPHS in place when navigated to from within a surface
|
|
129
|
+
* (no route stacks — genuine overlays are Bloom-raw `surfaces.present`/`confirm`
|
|
130
|
+
* calls, outside this registry). The image-only FileManagement picker is a normal
|
|
131
|
+
* sheet that owns its own scroll + translucent bar (no Dialog nav header); every
|
|
132
|
+
* other own-scroller is marked `scrollable: false`.
|
|
92
133
|
*/
|
|
93
134
|
const getSurfaceConfig = (route, props) => {
|
|
94
135
|
if (route === 'FileManagement' && isFileManagementImageOnlyPicker(props)) {
|
|
136
|
+
// The flagship photo picker MORPHS in place like every other screen. It is an
|
|
137
|
+
// own-scroller (`PhotoPickerView`'s FlatList) that paints its OWN full-bleed
|
|
138
|
+
// black canvas + translucent top bar INSIDE the themed panel, so it takes no
|
|
139
|
+
// Dialog nav header. It needs ROOM for the photo grid, so it declares an
|
|
140
|
+
// explicit LARGE morph target — the panel grows UP to a near-full-height,
|
|
141
|
+
// wider card on entry (and back down on pick→crop), the grid scrolling within.
|
|
142
|
+
return {
|
|
143
|
+
...DEFAULT_SURFACE_CONFIG,
|
|
144
|
+
scrollable: false,
|
|
145
|
+
header: false,
|
|
146
|
+
frameSize: {
|
|
147
|
+
heightRatio: 0.9,
|
|
148
|
+
maxWidth: 640
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
if (HEADERLESS_ROUTES.has(route)) {
|
|
153
|
+
return {
|
|
154
|
+
...DEFAULT_SURFACE_CONFIG,
|
|
155
|
+
header: false
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (OWN_SCROLL_CONTAINER_ROUTES.has(route)) {
|
|
159
|
+
// Own-scroller list screens keep the nav header (static, non-collapsing —
|
|
160
|
+
// there is no Dialog scroll offset to drive the large-title collapse).
|
|
95
161
|
return {
|
|
96
162
|
...DEFAULT_SURFACE_CONFIG,
|
|
97
|
-
presentation: 'fullScreen',
|
|
98
163
|
scrollable: false
|
|
99
164
|
};
|
|
100
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_registryCoversRoutes","DEFAULT_SURFACE_CONFIG","presentation","scrollable","manualActivation","dynamicBackdrop","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","has","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","getSurfaceConfig","route","exports","getSurfacePresentation"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceRegistry.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_registryCoversRoutes","DEFAULT_SURFACE_CONFIG","presentation","scrollable","header","morph","stacks","manualActivation","dynamicBackdrop","HEADERLESS_ROUTES","Set","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","has","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","OWN_SCROLL_CONTAINER_ROUTES","getSurfaceConfig","route","frameSize","heightRatio","maxWidth","exports","getSurfacePresentation"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceRegistry.ts"],"mappings":"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","ignoreList":[]}
|