@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
|
@@ -41,9 +41,46 @@ export function createSurfaceNavStack(route, props) {
|
|
|
41
41
|
} = store.getState();
|
|
42
42
|
return frames[frames.length - 1];
|
|
43
43
|
};
|
|
44
|
+
|
|
45
|
+
// Result-bearing sub-flows currently running in this surface (the morphed-in
|
|
46
|
+
// avatar picker, and — NESTED within it — the "My Oxy files" media selector).
|
|
47
|
+
// A STACK: flows nest (ChangeAvatar → FileManagement → back to ChangeAvatar).
|
|
48
|
+
// Held OUTSIDE the store (resolvers are functions; flow presence must not
|
|
49
|
+
// re-render frames). Each flow's `returnLength` is the frame count BEFORE its
|
|
50
|
+
// entry frame was pushed, so settling pops back to exactly the frame that
|
|
51
|
+
// started it. `flowStack` is ordered outer → inner; the top is the innermost.
|
|
52
|
+
const flowStack = [];
|
|
53
|
+
const requestDismiss = result => {
|
|
54
|
+
// Dismissing the whole surface abandons EVERY pending sub-flow — settle each
|
|
55
|
+
// promise so an awaiting caller (the avatar picker) never hangs.
|
|
56
|
+
while (flowStack.length) flowStack.pop()?.resolve(undefined);
|
|
57
|
+
if (store.getState().closing) return;
|
|
58
|
+
store.setState({
|
|
59
|
+
closing: true,
|
|
60
|
+
closeResult: result
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const goBack = () => {
|
|
64
|
+
const {
|
|
65
|
+
frames
|
|
66
|
+
} = store.getState();
|
|
67
|
+
if (frames.length <= 1) return false;
|
|
68
|
+
const nextLength = frames.length - 1;
|
|
69
|
+
store.setState({
|
|
70
|
+
frames: frames.slice(0, -1)
|
|
71
|
+
});
|
|
72
|
+
// Backing out past a sub-flow's entry frame cancels it (resolve undefined).
|
|
73
|
+
// A single pop crosses at most one boundary, but loop for safety.
|
|
74
|
+
while (flowStack.length && nextLength <= flowStack[flowStack.length - 1].returnLength) {
|
|
75
|
+
flowStack.pop()?.resolve(undefined);
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
};
|
|
44
79
|
return {
|
|
45
80
|
store,
|
|
46
81
|
getTop,
|
|
82
|
+
requestDismiss,
|
|
83
|
+
goBack,
|
|
47
84
|
navigate(nextRoute, nextProps) {
|
|
48
85
|
store.setState(state => ({
|
|
49
86
|
frames: [...state.frames, makeFrame(nextRoute, nextProps)]
|
|
@@ -54,16 +91,6 @@ export function createSurfaceNavStack(route, props) {
|
|
|
54
91
|
frames: [...state.frames.slice(0, -1), makeFrame(nextRoute, nextProps)]
|
|
55
92
|
}));
|
|
56
93
|
},
|
|
57
|
-
goBack() {
|
|
58
|
-
const {
|
|
59
|
-
frames
|
|
60
|
-
} = store.getState();
|
|
61
|
-
if (frames.length <= 1) return false;
|
|
62
|
-
store.setState({
|
|
63
|
-
frames: frames.slice(0, -1)
|
|
64
|
-
});
|
|
65
|
-
return true;
|
|
66
|
-
},
|
|
67
94
|
canGoBack() {
|
|
68
95
|
const {
|
|
69
96
|
frames
|
|
@@ -83,12 +110,32 @@ export function createSurfaceNavStack(route, props) {
|
|
|
83
110
|
};
|
|
84
111
|
});
|
|
85
112
|
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
store.setState({
|
|
89
|
-
|
|
90
|
-
|
|
113
|
+
beginFlow(nextRoute, nextProps) {
|
|
114
|
+
const returnLength = store.getState().frames.length;
|
|
115
|
+
store.setState(state => ({
|
|
116
|
+
frames: [...state.frames, makeFrame(nextRoute, nextProps)]
|
|
117
|
+
}));
|
|
118
|
+
return new Promise(resolve => {
|
|
119
|
+
flowStack.push({
|
|
120
|
+
returnLength,
|
|
121
|
+
resolve
|
|
122
|
+
});
|
|
91
123
|
});
|
|
124
|
+
},
|
|
125
|
+
resolveFlowOrDismiss(result) {
|
|
126
|
+
const flow = flowStack.pop();
|
|
127
|
+
if (!flow) {
|
|
128
|
+
// No flow → this screen owns its surface; dismiss it as before.
|
|
129
|
+
requestDismiss(result);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
store.setState(state => ({
|
|
133
|
+
frames: state.frames.slice(0, flow.returnLength)
|
|
134
|
+
}));
|
|
135
|
+
flow.resolve(result);
|
|
136
|
+
},
|
|
137
|
+
abandonActiveFlow() {
|
|
138
|
+
while (flowStack.length) flowStack.pop()?.resolve(undefined);
|
|
92
139
|
}
|
|
93
140
|
};
|
|
94
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createStore","makeFrame","route","props","resolved","step","initialStep","createSurfaceNavStack","store","frames","closing","closeResult","undefined","getTop","getState","length","
|
|
1
|
+
{"version":3,"names":["createStore","makeFrame","route","props","resolved","step","initialStep","createSurfaceNavStack","store","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":"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","ignoreList":[]}
|
|
@@ -31,38 +31,63 @@ void _registryCoversRoutes;
|
|
|
31
31
|
* How a surface renders — the SDK's presentation taxonomy. Each value maps to a
|
|
32
32
|
* concrete Bloom `Dialog` placement/chrome in `surfaces.ts`:
|
|
33
33
|
*
|
|
34
|
-
* - `'sheet'` → responsive `{ base: 'bottom', md: 'center' }` (the default
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* - `'sheet'` → responsive `{ base: 'bottom', md: 'center' }` (the default,
|
|
35
|
+
* and — since every screen morphs — the presentation of EVERY
|
|
36
|
+
* route today: a bottom sheet on narrow, a centered card wide).
|
|
37
|
+
* - `'center'` → a plain centered modal at every width. Currently unused.
|
|
37
38
|
* - `'drawer'` → responsive `{ base: 'bottom', md: 'left' }` side drawer.
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
39
|
+
* Currently unused.
|
|
40
|
+
* - `'fullScreen'` → a flush black-canvas surface (`contentPadding: 0`,
|
|
41
|
+
* programmatic-only dismiss). Currently unused: the flagship
|
|
42
|
+
* photo picker now MORPHS in place as a `sheet` (it paints its
|
|
43
|
+
* own black canvas + bar inside the themed panel), so nothing
|
|
44
|
+
* needs a stacked full-bleed surface. Retained for a future
|
|
45
|
+
* route that genuinely must be full-bleed.
|
|
43
46
|
*/
|
|
44
47
|
|
|
45
48
|
/**
|
|
46
49
|
* Per-route surface configuration. Merges the historical `SheetRouteConfig`
|
|
47
50
|
* knobs with the new {@link SurfacePresentation}.
|
|
48
51
|
*
|
|
49
|
-
* NOTE: `scrollable`
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* flush layout) is what actually drives the surface today.
|
|
52
|
+
* NOTE: `scrollable` is LIVE — it is threaded through `bloomOptionsFor` onto the
|
|
53
|
+
* Bloom `Dialog` surface (`scrollable` prop), so a route that owns its own scroll
|
|
54
|
+
* container opts OUT of the Dialog's internal ScrollView. `manualActivation` /
|
|
55
|
+
* `dynamicBackdrop` / `handleComponent` remain informational — reserved for a
|
|
56
|
+
* future Bloom bottom-placement passthrough; the shared `DialogBottomSheet`
|
|
57
|
+
* currently owns pan coordination itself.
|
|
56
58
|
*/
|
|
57
59
|
|
|
58
60
|
/** Defaults shared across all routes — the canonical responsive "sheet". */
|
|
59
61
|
const DEFAULT_SURFACE_CONFIG = {
|
|
60
62
|
presentation: 'sheet',
|
|
61
63
|
scrollable: true,
|
|
64
|
+
header: true,
|
|
65
|
+
morph: true,
|
|
66
|
+
stacks: false,
|
|
62
67
|
manualActivation: true,
|
|
63
68
|
dynamicBackdrop: true
|
|
64
69
|
};
|
|
65
70
|
|
|
71
|
+
/**
|
|
72
|
+
* Routes that render NO Dialog nav header — they own their chrome:
|
|
73
|
+
* - `PaymentGateway` — the payment surface owns its controls.
|
|
74
|
+
* - `WelcomeNewUser` — a full-bleed onboarding wizard with its own step chrome.
|
|
75
|
+
* - `Profile` — a full profile view, no nav-header chrome.
|
|
76
|
+
* (The flagship full-bleed image picker is handled separately below.)
|
|
77
|
+
*
|
|
78
|
+
* `AccountDialog` used to be here — it now uses the SHARED Dialog nav header like
|
|
79
|
+
* every other screen (its per-view title/subtitle + view-back go through
|
|
80
|
+
* `useSurfaceHeader`), so the account/sign-in surface no longer feels bespoke.
|
|
81
|
+
*
|
|
82
|
+
* `AvatarCrop` used to be here too, for its own translucent Cancel/title/Done
|
|
83
|
+
* bar. It is now reached ONLY by navigating within a `ChangeAvatar` surface, and
|
|
84
|
+
* the Dialog's `header` is fixed for a surface's whole life — a headerless frame
|
|
85
|
+
* inside a header-mode surface would stack two bars. So the crop declares its
|
|
86
|
+
* title + its "Use photo" action through `useSurfaceHeader` like every other
|
|
87
|
+
* screen, and keeps only its dark crop stage.
|
|
88
|
+
*/
|
|
89
|
+
const HEADERLESS_ROUTES = new Set(['PaymentGateway', 'WelcomeNewUser', 'Profile']);
|
|
90
|
+
|
|
66
91
|
/**
|
|
67
92
|
* Predicate matching `FileManagementScreen`'s internal `isImageOnlyPicker`
|
|
68
93
|
* derivation. When the consumer restricts to image MIME types (no videos, no
|
|
@@ -82,15 +107,55 @@ const isFileManagementImageOnlyPicker = props => {
|
|
|
82
107
|
};
|
|
83
108
|
|
|
84
109
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* `
|
|
110
|
+
* Routes whose screen owns its OWN scroll container — a FlatList /
|
|
111
|
+
* VirtualizedList (`ConnectedApps`, `TrustLeaderboard`, `FollowersList` /
|
|
112
|
+
* `FollowingList` via `UserListScreen`) or its own vertical `ScrollView`
|
|
113
|
+
* (`FileManagement`). These MUST opt out of the Dialog's internal ScrollView
|
|
114
|
+
* (`scrollable: false`) so there is exactly ONE scroll container — otherwise a
|
|
115
|
+
* VirtualizedList nests inside a plain ScrollView (RN warning) or a nested
|
|
116
|
+
* vertical scroll-in-scroll breaks windowing. Screens with only a HORIZONTAL
|
|
117
|
+
* ScrollView (FAQ's category row, Premium's plan carousel) are NOT listed — a
|
|
118
|
+
* horizontal scroller does not conflict with the Dialog's vertical scroll.
|
|
119
|
+
*/
|
|
120
|
+
const OWN_SCROLL_CONTAINER_ROUTES = new Set(['FileManagement', 'ConnectedApps', 'TrustLeaderboard', 'FollowersList', 'FollowingList']);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Resolve the surface configuration for a route + props. Every route defaults to
|
|
124
|
+
* the responsive sheet and MORPHS in place when navigated to from within a surface
|
|
125
|
+
* (no route stacks — genuine overlays are Bloom-raw `surfaces.present`/`confirm`
|
|
126
|
+
* calls, outside this registry). The image-only FileManagement picker is a normal
|
|
127
|
+
* sheet that owns its own scroll + translucent bar (no Dialog nav header); every
|
|
128
|
+
* other own-scroller is marked `scrollable: false`.
|
|
88
129
|
*/
|
|
89
130
|
export const getSurfaceConfig = (route, props) => {
|
|
90
131
|
if (route === 'FileManagement' && isFileManagementImageOnlyPicker(props)) {
|
|
132
|
+
// The flagship photo picker MORPHS in place like every other screen. It is an
|
|
133
|
+
// own-scroller (`PhotoPickerView`'s FlatList) that paints its OWN full-bleed
|
|
134
|
+
// black canvas + translucent top bar INSIDE the themed panel, so it takes no
|
|
135
|
+
// Dialog nav header. It needs ROOM for the photo grid, so it declares an
|
|
136
|
+
// explicit LARGE morph target — the panel grows UP to a near-full-height,
|
|
137
|
+
// wider card on entry (and back down on pick→crop), the grid scrolling within.
|
|
138
|
+
return {
|
|
139
|
+
...DEFAULT_SURFACE_CONFIG,
|
|
140
|
+
scrollable: false,
|
|
141
|
+
header: false,
|
|
142
|
+
frameSize: {
|
|
143
|
+
heightRatio: 0.9,
|
|
144
|
+
maxWidth: 640
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (HEADERLESS_ROUTES.has(route)) {
|
|
149
|
+
return {
|
|
150
|
+
...DEFAULT_SURFACE_CONFIG,
|
|
151
|
+
header: false
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
if (OWN_SCROLL_CONTAINER_ROUTES.has(route)) {
|
|
155
|
+
// Own-scroller list screens keep the nav header (static, non-collapsing —
|
|
156
|
+
// there is no Dialog scroll offset to drive the large-title collapse).
|
|
91
157
|
return {
|
|
92
158
|
...DEFAULT_SURFACE_CONFIG,
|
|
93
|
-
presentation: 'fullScreen',
|
|
94
159
|
scrollable: false
|
|
95
160
|
};
|
|
96
161
|
}
|
|
@@ -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","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","getSurfacePresentation"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceRegistry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { createElement } from 'react';
|
|
4
4
|
import { surfaces as bloomSurfaces } from '@oxyhq/bloom/surfaces';
|
|
5
5
|
import SurfaceScreen from "../components/SurfaceScreen.js";
|
|
6
|
-
import { getSurfaceConfig
|
|
6
|
+
import { getSurfaceConfig } from "./surfaceRegistry.js";
|
|
7
7
|
import { createSurfaceNavStack } from "./surfaceNavStack.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -31,19 +31,55 @@ const FULLSCREEN_SURFACE_STYLE = {
|
|
|
31
31
|
overflow: 'hidden'
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Every SDK screen owns its own background + content padding + scroll region
|
|
36
|
+
* (they were authored for the bare `BottomSheet`). So the shared `Dialog` must
|
|
37
|
+
* NOT add its own `contentPadding` on top (that double-pads) — it owns only the
|
|
38
|
+
* structural chrome: the surface card, the size cap (`maxHeightRatio`) and the
|
|
39
|
+
* scroll boundary. `contentPadding: 0` makes the screen's own padding the single
|
|
40
|
+
* source, matching the image-picker (`fullScreen`) surface.
|
|
41
|
+
*/
|
|
42
|
+
const SDK_SURFACE_CHROME = {
|
|
43
|
+
contentPadding: 0,
|
|
44
|
+
maxHeightRatio: 0.9
|
|
45
|
+
};
|
|
46
|
+
|
|
34
47
|
/** Map a route's presentation taxonomy onto concrete Bloom `Dialog` options. */
|
|
35
48
|
function bloomOptionsFor(config) {
|
|
49
|
+
// Threaded onto every placement so a route that owns its own scroll container
|
|
50
|
+
// (`scrollable: false`) opts out of the Dialog's internal ScrollView.
|
|
51
|
+
const scrollable = config.scrollable;
|
|
52
|
+
// Surface-level morph opt-out (the DEPTH axis is untouched — this only governs
|
|
53
|
+
// whether the panel reshapes when the content is swapped in place). Each frame
|
|
54
|
+
// additionally declares its own opt-out through `useDialogFrame` in
|
|
55
|
+
// `SurfaceScreen`, so a surface can morph for most routes and not for one.
|
|
56
|
+
const morph = config.morph;
|
|
57
|
+
// Nav-header mode marker: turns on the Dialog's OWN sticky gradient nav bar +
|
|
58
|
+
// large collapsing title over its scroll content. The title/subtitle/action
|
|
59
|
+
// slots are contributed at runtime by the mounted screen via `useSurfaceHeader`
|
|
60
|
+
// (resolved in `SurfaceScreen`), so the seed here just enables the scaffold.
|
|
61
|
+
const header = config.header ? {
|
|
62
|
+
largeTitle: true
|
|
63
|
+
} : undefined;
|
|
36
64
|
switch (config.presentation) {
|
|
37
65
|
case 'center':
|
|
38
66
|
return {
|
|
39
|
-
placement: 'center'
|
|
67
|
+
placement: 'center',
|
|
68
|
+
scrollable,
|
|
69
|
+
header,
|
|
70
|
+
morph,
|
|
71
|
+
...SDK_SURFACE_CHROME
|
|
40
72
|
};
|
|
41
73
|
case 'drawer':
|
|
42
74
|
return {
|
|
43
75
|
placement: {
|
|
44
76
|
base: 'bottom',
|
|
45
77
|
md: 'left'
|
|
46
|
-
}
|
|
78
|
+
},
|
|
79
|
+
scrollable,
|
|
80
|
+
header,
|
|
81
|
+
morph,
|
|
82
|
+
...SDK_SURFACE_CHROME
|
|
47
83
|
};
|
|
48
84
|
case 'fullScreen':
|
|
49
85
|
// Approximate a full-screen surface with the shared `Dialog`: a tall
|
|
@@ -55,12 +91,18 @@ function bloomOptionsFor(config) {
|
|
|
55
91
|
maxWidth: 640,
|
|
56
92
|
maxHeightRatio: 0.9,
|
|
57
93
|
dismissOnBackdrop: false,
|
|
94
|
+
scrollable,
|
|
95
|
+
morph,
|
|
58
96
|
style: FULLSCREEN_SURFACE_STYLE,
|
|
59
97
|
panelStyle: FULLSCREEN_SURFACE_STYLE
|
|
60
98
|
};
|
|
61
99
|
default:
|
|
62
100
|
return {
|
|
63
|
-
placement: SHEET_PLACEMENT
|
|
101
|
+
placement: SHEET_PLACEMENT,
|
|
102
|
+
scrollable,
|
|
103
|
+
header,
|
|
104
|
+
morph,
|
|
105
|
+
...SDK_SURFACE_CHROME
|
|
64
106
|
};
|
|
65
107
|
}
|
|
66
108
|
}
|
|
@@ -76,6 +118,8 @@ function bloomOptionsFor(config) {
|
|
|
76
118
|
* The type-erased handle the `showBottomSheet` adapter needs from a tracked
|
|
77
119
|
* surface: what it hosts, and how to drive/dismiss it. Kept result-type-free so
|
|
78
120
|
* the (generic) `SurfaceInstance<K>` never has to be widened into a shared array.
|
|
121
|
+
* Exported so `OxyContext` can hold the surface it MORPHS the account dialog into
|
|
122
|
+
* (see {@link topRouteSurface}).
|
|
79
123
|
*/
|
|
80
124
|
|
|
81
125
|
/**
|
|
@@ -85,6 +129,17 @@ function bloomOptionsFor(config) {
|
|
|
85
129
|
* navigable base. Entries self-remove when their surface is dismissed.
|
|
86
130
|
*/
|
|
87
131
|
const activeRouteSurfaces = [];
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The frontmost DETACHED surface (the AccountDialog), while open. Detached
|
|
135
|
+
* surfaces are kept OUT of `activeRouteSurfaces` so `closeAllRouteSurfaces` never
|
|
136
|
+
* touches them — but the AccountDialog IS a valid morph target: a result-bearing
|
|
137
|
+
* flow opened from within it (the account-menu hero avatar → `ChangeAvatar`) must
|
|
138
|
+
* morph INTO it, not stack a new surface behind it. Invariant: whenever set, this
|
|
139
|
+
* surface is frontmost — every account-menu action that opens a tracked surface
|
|
140
|
+
* (Manage, Help, …) dismisses the dialog FIRST, so the two never overlap.
|
|
141
|
+
*/
|
|
142
|
+
let detachedFrontSurface = null;
|
|
88
143
|
function presentInternal(route, props, opts, track) {
|
|
89
144
|
const navStack = createSurfaceNavStack(route, props);
|
|
90
145
|
const config = getSurfaceConfig(route, props);
|
|
@@ -96,32 +151,47 @@ function presentInternal(route, props, opts, track) {
|
|
|
96
151
|
const result = bloomSurfaces.present(surface => /*#__PURE__*/createElement(SurfaceScreen, {
|
|
97
152
|
navStack,
|
|
98
153
|
surface,
|
|
99
|
-
|
|
154
|
+
dismissOnBackdrop: bloomOpts.dismissOnBackdrop ?? true
|
|
100
155
|
}), bloomOpts);
|
|
101
156
|
const instance = {
|
|
102
157
|
route,
|
|
103
|
-
|
|
104
|
-
|
|
158
|
+
navigate: (nextRoute, nextProps) => {
|
|
159
|
+
const top = navStack.getTop();
|
|
160
|
+
if (top.route === nextRoute) navStack.replace(nextRoute, nextProps);else navStack.navigate(nextRoute, nextProps);
|
|
161
|
+
},
|
|
105
162
|
replace: (nextRoute, nextProps) => navStack.replace(nextRoute, nextProps),
|
|
106
163
|
goBack: () => navStack.goBack(),
|
|
107
164
|
canGoBack: () => navStack.canGoBack(),
|
|
108
165
|
setStep: step => navStack.setStep(step),
|
|
166
|
+
beginFlow: (nextRoute, nextProps) => navStack.beginFlow(nextRoute, nextProps),
|
|
109
167
|
dismiss: dismissResult => navStack.requestDismiss(dismissResult),
|
|
110
168
|
result
|
|
111
169
|
};
|
|
170
|
+
|
|
171
|
+
// If the surface is torn down (backdrop, `closeAll`, host unmount) while a
|
|
172
|
+
// result-bearing sub-flow is still open, settle that flow so an awaiting caller
|
|
173
|
+
// never hangs. Runs for tracked and detached surfaces alike.
|
|
174
|
+
result.finally(() => navStack.abandonActiveFlow());
|
|
175
|
+
const tracked = {
|
|
176
|
+
route: instance.route,
|
|
177
|
+
navigate: instance.navigate,
|
|
178
|
+
goBack: instance.goBack,
|
|
179
|
+
beginFlow: instance.beginFlow,
|
|
180
|
+
dismiss: () => instance.dismiss()
|
|
181
|
+
};
|
|
112
182
|
if (track) {
|
|
113
|
-
const tracked = {
|
|
114
|
-
route: instance.route,
|
|
115
|
-
presentation: instance.presentation,
|
|
116
|
-
navigate: instance.navigate,
|
|
117
|
-
goBack: instance.goBack,
|
|
118
|
-
dismiss: () => instance.dismiss()
|
|
119
|
-
};
|
|
120
183
|
activeRouteSurfaces.push(tracked);
|
|
121
184
|
result.finally(() => {
|
|
122
185
|
const index = activeRouteSurfaces.indexOf(tracked);
|
|
123
186
|
if (index >= 0) activeRouteSurfaces.splice(index, 1);
|
|
124
187
|
});
|
|
188
|
+
} else {
|
|
189
|
+
// Detached (the AccountDialog): NOT in the closeAll lineage, but recorded as
|
|
190
|
+
// the frontmost morph target so a flow opened from within it morphs IN.
|
|
191
|
+
detachedFrontSurface = tracked;
|
|
192
|
+
result.finally(() => {
|
|
193
|
+
if (detachedFrontSurface === tracked) detachedFrontSurface = null;
|
|
194
|
+
});
|
|
125
195
|
}
|
|
126
196
|
return instance;
|
|
127
197
|
}
|
|
@@ -155,6 +225,16 @@ export function topRouteSurface() {
|
|
|
155
225
|
return activeRouteSurfaces[activeRouteSurfaces.length - 1];
|
|
156
226
|
}
|
|
157
227
|
|
|
228
|
+
/**
|
|
229
|
+
* The frontmost surface a result-bearing flow should morph INTO: the detached
|
|
230
|
+
* AccountDialog if open (it sits on top of everything), else the top tracked
|
|
231
|
+
* route surface. Used by {@link openWithinOrPresent} so the account-menu hero
|
|
232
|
+
* avatar morphs the dialog into `ChangeAvatar` instead of stacking a new surface.
|
|
233
|
+
*/
|
|
234
|
+
export function topMorphableSurface() {
|
|
235
|
+
return detachedFrontSurface ?? topRouteSurface();
|
|
236
|
+
}
|
|
237
|
+
|
|
158
238
|
/**
|
|
159
239
|
* Dismiss every active route surface (the whole `showBottomSheet` session). The
|
|
160
240
|
* AccountDialog is untracked, so it is untouched. Iterates a snapshot because
|
|
@@ -165,27 +245,59 @@ export function closeAllRouteSurfaces() {
|
|
|
165
245
|
}
|
|
166
246
|
|
|
167
247
|
/**
|
|
168
|
-
* Drill in from a screen
|
|
169
|
-
*
|
|
170
|
-
*
|
|
248
|
+
* Drill in from a screen. From inside a surface the DEFAULT is to navigate WITHIN
|
|
249
|
+
* it — the panel MORPHS from the current frame's size to the next's. EVERY screen
|
|
250
|
+
* morphs; a NEW surface is stacked on top ONLY when the target route declares
|
|
251
|
+
* `stacks` (reserved for genuine overlays — none today, since action sheets /
|
|
252
|
+
* confirms / prompts are Bloom-raw `surfaces.present` calls outside this
|
|
253
|
+
* registry). A stacked surface gets its own backdrop + entry animation; dismissing
|
|
254
|
+
* it unwinds back to the surface that opened it.
|
|
171
255
|
*/
|
|
172
|
-
export function navigateWithinOrPresent(
|
|
256
|
+
export function navigateWithinOrPresent(navStack, route, props) {
|
|
173
257
|
const nextProps = props ?? {};
|
|
174
|
-
if (
|
|
175
|
-
navStack.navigate(route, nextProps);
|
|
176
|
-
} else {
|
|
258
|
+
if (getSurfaceConfig(route, nextProps).stacks) {
|
|
177
259
|
presentRoute(route, nextProps);
|
|
260
|
+
} else {
|
|
261
|
+
navStack.navigate(route, nextProps);
|
|
178
262
|
}
|
|
179
263
|
}
|
|
180
264
|
|
|
181
|
-
/** Replace variant of {@link navigateWithinOrPresent}. */
|
|
182
|
-
export function replaceWithinOrPresent(
|
|
265
|
+
/** Replace variant of {@link navigateWithinOrPresent} (swaps the top frame). */
|
|
266
|
+
export function replaceWithinOrPresent(navStack, route, props) {
|
|
183
267
|
const nextProps = props ?? {};
|
|
184
|
-
if (
|
|
185
|
-
navStack.replace(route, nextProps);
|
|
186
|
-
} else {
|
|
268
|
+
if (getSurfaceConfig(route, nextProps).stacks) {
|
|
187
269
|
presentRoute(route, nextProps);
|
|
270
|
+
} else {
|
|
271
|
+
navStack.replace(route, nextProps);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Open a result-bearing route the SAME way a drill-in navigates (the morph-by-
|
|
277
|
+
* default rule), but returning the route's dismissal RESULT to the caller.
|
|
278
|
+
*
|
|
279
|
+
* When a surface is already open and the target morphs into it (the default —
|
|
280
|
+
* anything not marked `stacks`), it runs as a SUB-FLOW inside that surface: the
|
|
281
|
+
* panel morphs from the current screen into the target, and the promise resolves
|
|
282
|
+
* with the target's `dismiss(result)` (or `undefined` when cancelled), popping
|
|
283
|
+
* back to the caller's frame WITHOUT closing the host. Otherwise (no surface, or a
|
|
284
|
+
* route that stacks) it presents a fresh surface and resolves with its dismissal —
|
|
285
|
+
* identical to the historical `present(route).result`.
|
|
286
|
+
*
|
|
287
|
+
* The entry seam for the avatar picker AND its nested "My Oxy files" media
|
|
288
|
+
* selector: each awaits its result whether it morphed into the caller's surface
|
|
289
|
+
* or opened cold, with no morph-vs-present branch of its own.
|
|
290
|
+
*/
|
|
291
|
+
export function openWithinOrPresent(route, props) {
|
|
292
|
+
const nextProps = props ?? {};
|
|
293
|
+
const host = topMorphableSurface();
|
|
294
|
+
if (host && !getSurfaceConfig(route, nextProps).stacks) {
|
|
295
|
+
// Morph: run as a sub-flow inside the host. The erased `Promise<unknown>` is
|
|
296
|
+
// narrowed to this route's result at the typed boundary (the sub-flow resolves
|
|
297
|
+
// with exactly the value a descendant screen passes to `dismiss(result)`).
|
|
298
|
+
return host.beginFlow(route, nextProps);
|
|
188
299
|
}
|
|
300
|
+
return present(route, props).result;
|
|
189
301
|
}
|
|
190
302
|
|
|
191
303
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","surfaces","bloomSurfaces","SurfaceScreen","getSurfaceConfig","
|
|
1
|
+
{"version":3,"names":["createElement","surfaces","bloomSurfaces","SurfaceScreen","getSurfaceConfig","createSurfaceNavStack","SHEET_PLACEMENT","base","md","FULLSCREEN_SURFACE_STYLE","backgroundColor","overflow","SDK_SURFACE_CHROME","contentPadding","maxHeightRatio","bloomOptionsFor","config","scrollable","morph","header","largeTitle","undefined","presentation","placement","maxWidth","dismissOnBackdrop","style","panelStyle","activeRouteSurfaces","detachedFrontSurface","presentInternal","route","props","opts","track","navStack","bloomOpts","label","result","present","surface","instance","navigate","nextRoute","nextProps","top","getTop","replace","goBack","canGoBack","setStep","step","beginFlow","dismiss","dismissResult","requestDismiss","finally","abandonActiveFlow","tracked","push","index","indexOf","splice","presentDetached","presentRoute","topRouteSurface","length","topMorphableSurface","closeAllRouteSurfaces","reverse","navigateWithinOrPresent","stacks","replaceWithinOrPresent","openWithinOrPresent","host","dismissAll","useSurfaces"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaces.ts"],"mappings":"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","ignoreList":[]}
|