@oxyhq/services 22.12.4 → 22.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -46
- package/lib/commonjs/index.js +18 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
- package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -13
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +4 -4
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
- package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
- package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
- package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
- package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
- package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/types.js +59 -0
- package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +205 -30
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
- package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
- package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/commonjs/ui/index.js +0 -13
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
- package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
- package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
- package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
- package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
- package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
- package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
- package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
- package/lib/commonjs/ui/oauth/types.js +2 -0
- package/lib/commonjs/ui/oauth/types.js.map +1 -0
- package/lib/commonjs/ui/server.js +2 -5
- package/lib/commonjs/ui/server.js.map +1 -1
- package/lib/commonjs/ui/session/authStore.js +6 -75
- package/lib/commonjs/ui/session/authStore.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +11 -3
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/commonjs/ui/session/identityBinding.js +95 -0
- package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
- package/lib/commonjs/ui/session/index.js +13 -0
- package/lib/commonjs/ui/session/index.js.map +1 -1
- package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
- package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
- package/lib/commonjs/ui/session/tokenTransport.js +11 -1
- package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
- package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
- package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
- package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
- package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
- package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
- package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
- package/lib/module/index.js +9 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
- package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/module/ui/client.js +0 -1
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
- package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +50 -12
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +4 -4
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +76 -42
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
- package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
- package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
- package/lib/module/ui/components/authChooser/primitives.js +163 -0
- package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
- package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
- package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
- package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
- package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
- package/lib/module/ui/components/authChooser/styles.js.map +1 -0
- package/lib/module/ui/components/authChooser/types.js +55 -0
- package/lib/module/ui/components/authChooser/types.js.map +1 -0
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +208 -33
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/commitSessionFlow.js +45 -0
- package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
- package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/module/ui/index.js +0 -1
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
- package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
- package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
- package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
- package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
- package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
- package/lib/module/ui/oauth/oauthHandshake.js +50 -0
- package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
- package/lib/module/ui/oauth/oauthPopup.js +268 -0
- package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
- package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
- package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
- package/lib/module/ui/oauth/types.js +2 -0
- package/lib/module/ui/oauth/types.js.map +1 -0
- package/lib/module/ui/server.js +0 -2
- package/lib/module/ui/server.js.map +1 -1
- package/lib/module/ui/session/authStore.js +5 -75
- package/lib/module/ui/session/authStore.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +11 -3
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/ui/session/identityBinding.js +89 -0
- package/lib/module/ui/session/identityBinding.js.map +1 -0
- package/lib/module/ui/session/index.js +5 -2
- package/lib/module/ui/session/index.js.map +1 -1
- package/lib/module/ui/session/nativeSecureStorage.js +88 -0
- package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
- package/lib/module/ui/session/tokenTransport.js +11 -1
- package/lib/module/ui/session/tokenTransport.js.map +1 -1
- package/lib/module/ui/utils/crossOriginRestore.js +6 -5
- package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
- package/lib/module/ui/utils/deliveryPlatform.js +55 -0
- package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
- package/lib/module/ui/utils/oauthReturn.js +73 -47
- package/lib/module/ui/utils/oauthReturn.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -1
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
- package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +0 -1
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
- package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
- package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
- package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/server.d.ts +0 -2
- package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
- package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
- package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
- package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -1
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
- package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +0 -1
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
- package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
- package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
- package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
- package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
- package/lib/typescript/module/ui/server.d.ts +0 -2
- package/lib/typescript/module/ui/server.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
- package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
- package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/index.d.ts +6 -2
- package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
- package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
- package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
- package/package.json +6 -8
- package/src/index.ts +19 -5
- package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
- package/src/ui/boot/runProviderColdBoot.ts +83 -13
- package/src/ui/client.ts +0 -1
- package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
- package/src/ui/components/OxyAuthChooser.tsx +100 -1230
- package/src/ui/components/OxyConsentScreen.tsx +56 -13
- package/src/ui/components/OxyProvider.tsx +4 -4
- package/src/ui/components/OxySignInButton.tsx +119 -78
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
- package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
- package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
- package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
- package/src/ui/components/authChooser/SignUpView.tsx +174 -0
- package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
- package/src/ui/components/authChooser/primitives.tsx +144 -0
- package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
- package/src/ui/components/authChooser/signInProgress.ts +54 -0
- package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
- package/src/ui/components/authChooser/types.ts +101 -0
- package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
- package/src/ui/context/OxyContext.tsx +226 -24
- package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
- package/src/ui/context/commitSessionFlow.ts +64 -0
- package/src/ui/context/hooks/useAuthOperations.ts +26 -1
- package/src/ui/context/oxyContextTypes.ts +45 -1
- package/src/ui/context/useOxyAccountGraph.ts +19 -5
- package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
- package/src/ui/index.ts +0 -1
- package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
- package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
- package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
- package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
- package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
- package/src/ui/oauth/browserAuthTransport.ts +193 -0
- package/src/ui/oauth/completeOAuthCode.ts +93 -0
- package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
- package/src/ui/oauth/oauthHandshake.ts +74 -0
- package/src/ui/oauth/oauthPopup.ts +277 -0
- package/src/ui/oauth/oauthPopupMessages.ts +136 -0
- package/src/ui/oauth/types.ts +150 -0
- package/src/ui/server.ts +0 -2
- package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
- package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
- package/src/ui/session/authStore.ts +5 -89
- package/src/ui/session/createSessionClient.ts +15 -2
- package/src/ui/session/identityBinding.ts +116 -0
- package/src/ui/session/index.ts +6 -2
- package/src/ui/session/nativeSecureStorage.ts +98 -0
- package/src/ui/session/tokenTransport.ts +14 -1
- package/src/ui/types/navigation.ts +44 -1
- package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
- package/src/ui/utils/crossOriginRestore.ts +9 -13
- package/src/ui/utils/deliveryPlatform.ts +65 -0
- package/src/ui/utils/oauthReturn.ts +79 -65
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/ui/components/FontLoader.js +0 -35
- package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
- package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
- package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
- package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/ui/components/FontLoader.js +0 -29
- package/lib/module/ui/components/FontLoader.js.map +0 -1
- package/lib/module/ui/components/FontLoader.native.js +0 -83
- package/lib/module/ui/components/FontLoader.native.js.map +0 -1
- package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/src/ui/components/FontLoader.native.tsx +0 -88
- package/src/ui/components/FontLoader.tsx +0 -27
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _vectorIcons = require("@expo/vector-icons");
|
|
11
|
+
var _avatar = require("@oxyhq/bloom/avatar");
|
|
12
|
+
var _avatarGroup = require("@oxyhq/bloom/avatar-group");
|
|
13
|
+
var _button = require("@oxyhq/bloom/button");
|
|
14
|
+
var _pressableScale = require("@oxyhq/bloom/pressable-scale");
|
|
15
|
+
var _compositionBar = require("@oxyhq/bloom/composition-bar");
|
|
16
|
+
var _settingsList = require("@oxyhq/bloom/settings-list");
|
|
17
|
+
var _typography = require("@oxyhq/bloom/typography");
|
|
18
|
+
var _core = require("@oxyhq/core");
|
|
19
|
+
var _AvatarCameraBadge = _interopRequireDefault(require("../AvatarCameraBadge.js"));
|
|
20
|
+
var _primitives = require("./primitives.js");
|
|
21
|
+
var _styles = require("./styles.js");
|
|
22
|
+
var _types = require("./types.js");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
26
|
+
/**
|
|
27
|
+
* The signed-in Oxy account MENU (`accounts` view) — a Google-account-menu-style
|
|
28
|
+
* full menu built entirely with NativeWind `className` (the dynamic per-account
|
|
29
|
+
* accent hex is the one inline style NativeWind cannot express). Structure:
|
|
30
|
+
*
|
|
31
|
+
* - HERO on its own chrome-free block: the current account's large pressable
|
|
32
|
+
* avatar (with a camera badge to change the photo), the greeting, the account
|
|
33
|
+
* address, and a "Manage your Oxy account" pill.
|
|
34
|
+
* - SWITCH ACCOUNT: a disclosure row whose corner animates from pill to card as
|
|
35
|
+
* the other switchable accounts + "Add another account" + "Manage accounts on
|
|
36
|
+
* this device" reveal beneath it.
|
|
37
|
+
* - OXY STORAGE: cloud + used/total + a composition meter + Upgrade / Manage chips.
|
|
38
|
+
* - MENU rows: Your data in Oxy · Oxy settings · Help & feedback · Sign out —
|
|
39
|
+
* Bloom's grouped section, the same component every other SDK settings surface
|
|
40
|
+
* uses, not a local row copy.
|
|
41
|
+
* - FOOTER: Privacy Policy · Terms of Service.
|
|
42
|
+
*
|
|
43
|
+
* All three blocks share ONE rhythm taken from that grouped section: a 12px
|
|
44
|
+
* content inset, a 12px gap after the leading element, 16px between blocks, and
|
|
45
|
+
* a 16px trailing chevron column.
|
|
46
|
+
*
|
|
47
|
+
* Collapse state is a plain `useState` toggled in the row's press handler — no
|
|
48
|
+
* effect hook, no derived-from-props sync.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Leading glyph for the rows that live in a Bloom grouped section (the MENU
|
|
53
|
+
* block) and for the storage card's cloud, which lines its title up with them.
|
|
54
|
+
* It is Bloom's OWN icon-slot size: `SettingsListItem` reserves a fixed 20px
|
|
55
|
+
* leading column and Bloom is consumed exactly as it ships, so a menu glyph
|
|
56
|
+
* larger than this would overhang into the row's title.
|
|
57
|
+
*/const ROW_ICON_SIZE = 20;
|
|
58
|
+
/**
|
|
59
|
+
* The switch card's two corner states. Collapsed it is one row and reads as a
|
|
60
|
+
* PILL; opened it is a card holding rows, on the same 16px corner the Bloom
|
|
61
|
+
* grouped section below it uses. Interpolated across the reveal, never snapped.
|
|
62
|
+
*/
|
|
63
|
+
const SWITCH_CARD_PILL_RADIUS = 999;
|
|
64
|
+
const SWITCH_CARD_RADIUS = 16;
|
|
65
|
+
/**
|
|
66
|
+
* The fraction of the reveal over which the corner resolves. The corner is a
|
|
67
|
+
* FASTER gesture than the reveal — it has to be finished before the rows read as
|
|
68
|
+
* rows, or the card still looks like a pill while a list falls out of it — so it
|
|
69
|
+
* is clamped to the reveal's opening fraction instead of tracking it end to end.
|
|
70
|
+
* Measured in a browser against the 240ms reveal: the corner reaches its card
|
|
71
|
+
* value ~120ms in, with the list only ~20% revealed, and (mirrored) the pill is
|
|
72
|
+
* back ~250ms into the close, with the list already down to ~0.
|
|
73
|
+
*/
|
|
74
|
+
const SWITCH_CARD_RADIUS_SETTLE = 0.2;
|
|
75
|
+
/** Duration of the switch-list reveal. */
|
|
76
|
+
const SWITCH_REVEAL_MS = 240;
|
|
77
|
+
/** Diameter of an account row's avatar in the switch list (own markup). */
|
|
78
|
+
const SWITCH_AVATAR_SIZE = 36;
|
|
79
|
+
/** Glyph inside a bordered affordance badge, sized to the avatar it stands in for. */
|
|
80
|
+
const BADGE_GLYPH_SIZE = 19;
|
|
81
|
+
/** The hero block's large current-account avatar. */
|
|
82
|
+
const HERO_AVATAR_SIZE = 72;
|
|
83
|
+
/** Avatars shown in the switch row's facepile before it collapses into `+N`. */
|
|
84
|
+
const FACEPILE_MAX = 2;
|
|
85
|
+
/** Facepile avatar diameter — one clear step down from a switch-list avatar. */
|
|
86
|
+
const FACEPILE_AVATAR_SIZE = 32;
|
|
87
|
+
/**
|
|
88
|
+
* Facepile overlap. Well under Bloom's `size / 3` default: the stack draws the
|
|
89
|
+
* FIRST item on top, so a deep overlap would bury the trailing `+N` chip's own
|
|
90
|
+
* label under the avatar before it.
|
|
91
|
+
*/
|
|
92
|
+
const FACEPILE_OVERLAP = 4;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The hero's address line, shown under the "Hi, <name>!" greeting: the account's
|
|
96
|
+
* canonical `@oxy.so` email when it has one, else its normalized `@handle`. Never
|
|
97
|
+
* synthesizes a `username@oxy.so` address (the identity contract forbids it) — a
|
|
98
|
+
* non-Oxy or missing email falls back to `getNormalizedUserHandle`.
|
|
99
|
+
*/
|
|
100
|
+
function heroAddressLine(account) {
|
|
101
|
+
if (account.email?.toLowerCase().endsWith('@oxy.so')) {
|
|
102
|
+
return account.email;
|
|
103
|
+
}
|
|
104
|
+
const handle = (0, _core.getNormalizedUserHandle)(account.user);
|
|
105
|
+
return handle ? `@${handle}` : null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* `bytes` → `"11.6 GB"`. Whole plan sizes read as whole numbers (`"17 GB"`, not
|
|
110
|
+
* `"17.0 GB"`), and anything ≥ 100 GB drops the decimal entirely.
|
|
111
|
+
*/
|
|
112
|
+
function formatStorageGb(bytes) {
|
|
113
|
+
const gb = bytes / 1024 ** 3;
|
|
114
|
+
if (gb >= 100 || Number.isInteger(gb)) return `${Math.round(gb)} GB`;
|
|
115
|
+
return `${gb.toFixed(1)} GB`;
|
|
116
|
+
}
|
|
117
|
+
const AccountsMenuView = ({
|
|
118
|
+
snapshot,
|
|
119
|
+
theme,
|
|
120
|
+
t,
|
|
121
|
+
handlers,
|
|
122
|
+
storage,
|
|
123
|
+
menu
|
|
124
|
+
}) => {
|
|
125
|
+
const [expanded, setExpanded] = (0, _react.useState)(false);
|
|
126
|
+
// Measured natural height of the switch list, so the reveal animates to an
|
|
127
|
+
// exact height (and the content below reflows down smoothly) instead of a
|
|
128
|
+
// guessed max. The measuring wrapper is style-based, NOT className'd — on
|
|
129
|
+
// RN-Web `onLayout` never fires for className'd Views (see AGENTS.md).
|
|
130
|
+
const [listContentHeight, setListContentHeight] = (0, _react.useState)(0);
|
|
131
|
+
// 0 = collapsed, 1 = expanded. Set imperatively in the toggle handler (no
|
|
132
|
+
// effect hook). On RN-Web there is no worklets plugin, so every shared value a
|
|
133
|
+
// mapper reads MUST be in its deps array or it freezes on the first frame
|
|
134
|
+
// (AGENTS.md "Reanimated (web)").
|
|
135
|
+
const listProgress = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
136
|
+
const listStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
137
|
+
height: listProgress.value * listContentHeight,
|
|
138
|
+
opacity: listProgress.value
|
|
139
|
+
}), [listProgress, listContentHeight]);
|
|
140
|
+
const chevronStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
141
|
+
transform: [{
|
|
142
|
+
rotate: `${listProgress.value * 180}deg`
|
|
143
|
+
}]
|
|
144
|
+
}), [listProgress]);
|
|
145
|
+
// Collapsed, the switch card is a single row and reads as a PILL; opened, it
|
|
146
|
+
// becomes a card holding rows and takes the grouped-section corner. The corner
|
|
147
|
+
// is driven off the SAME `listProgress` as the reveal — but clamped to its
|
|
148
|
+
// opening fraction, so it resolves early instead of trailing the rows.
|
|
149
|
+
const switchCardStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
150
|
+
borderRadius: (0, _reactNativeReanimated.interpolate)(listProgress.value, [0, SWITCH_CARD_RADIUS_SETTLE], [SWITCH_CARD_PILL_RADIUS, SWITCH_CARD_RADIUS], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
151
|
+
}), [listProgress]);
|
|
152
|
+
// `CompositionBar` ships as an interactive breakdown: a selected segment
|
|
153
|
+
// replaces its hint line with that segment's readout. Tapping the selected one
|
|
154
|
+
// again clears it.
|
|
155
|
+
const [storageSegment, setStorageSegment] = (0, _react.useState)(null);
|
|
156
|
+
const toggleStorageSegment = (0, _react.useCallback)(key => setStorageSegment(previous => previous === key ? null : key), []);
|
|
157
|
+
const toggleExpanded = (0, _react.useCallback)(() => {
|
|
158
|
+
const next = !expanded;
|
|
159
|
+
setExpanded(next);
|
|
160
|
+
listProgress.value = (0, _reactNativeReanimated.withTiming)(next ? 1 : 0, {
|
|
161
|
+
duration: SWITCH_REVEAL_MS
|
|
162
|
+
});
|
|
163
|
+
}, [expanded, listProgress]);
|
|
164
|
+
if (snapshot.loading && snapshot.accounts.length === 0) {
|
|
165
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
166
|
+
className: "items-center justify-center gap-space-12 py-space-24",
|
|
167
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
168
|
+
name: "loading",
|
|
169
|
+
size: 24,
|
|
170
|
+
color: theme.colors.textSecondary
|
|
171
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
172
|
+
className: "text-body text-text-secondary text-center",
|
|
173
|
+
children: t('accountSwitcher.loading')
|
|
174
|
+
})]
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
const switchingDisabled = snapshot.switchingAccountId !== null;
|
|
178
|
+
const current = snapshot.accounts.find(account => account.isCurrent) ?? snapshot.accounts[0];
|
|
179
|
+
const others = current ? snapshot.accounts.filter(account => account.accountId !== current.accountId) : snapshot.accounts;
|
|
180
|
+
const currentAccent = current ? (0, _types.resolveAccentHex)(current.color, theme.colors.primary) : theme.colors.primary;
|
|
181
|
+
const currentAddress = current ? heroAddressLine(current) : null;
|
|
182
|
+
// The switch list repeats the CURRENT account (first, ringed) — unlike the old
|
|
183
|
+
// compact header it is not represented anywhere else once the hero moved out
|
|
184
|
+
// of the card, and the list is where you switch back to it.
|
|
185
|
+
const switchableAccounts = current ? [current, ...others] : others;
|
|
186
|
+
const facepile = switchableAccounts.map(account => ({
|
|
187
|
+
id: account.accountId,
|
|
188
|
+
uri: account.avatarUrl ?? undefined,
|
|
189
|
+
displayName: account.displayName
|
|
190
|
+
}));
|
|
191
|
+
|
|
192
|
+
// Used vs free is a two-part COMPOSITION (the parts always fill the bar), not
|
|
193
|
+
// a progress value — exactly what Bloom's `CompositionBar` models. Both colors
|
|
194
|
+
// are theme tokens, so the bar is correct in light and dark.
|
|
195
|
+
const storageCategories = storage ? [{
|
|
196
|
+
key: 'used',
|
|
197
|
+
name: t('accountMenu.storage.used'),
|
|
198
|
+
amount: storage.usedBytes,
|
|
199
|
+
color: theme.colors.primary
|
|
200
|
+
}, {
|
|
201
|
+
key: 'free',
|
|
202
|
+
name: t('accountMenu.storage.free'),
|
|
203
|
+
amount: Math.max(0, storage.limitBytes - storage.usedBytes),
|
|
204
|
+
color: theme.colors.contrast50
|
|
205
|
+
}] : [];
|
|
206
|
+
const usageLabel = storage ? t('accountMenu.storage.usage', {
|
|
207
|
+
used: formatStorageGb(storage.usedBytes),
|
|
208
|
+
total: formatStorageGb(storage.limitBytes)
|
|
209
|
+
}) : t('accountMenu.storage.unavailable');
|
|
210
|
+
|
|
211
|
+
// The switch list body, revealed under the "Switch account" row. Own markup,
|
|
212
|
+
// not a Bloom grouped section: this is not a list of settings rows and the
|
|
213
|
+
// component is not a card container. It mirrors the section's rhythm by hand —
|
|
214
|
+
// 12px content inset, 12px after the avatar, a hairline between rows — and
|
|
215
|
+
// draws those hairlines INSIDE the animated clip, so a collapsed list never
|
|
216
|
+
// strands one against the header row.
|
|
217
|
+
const listItems = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
218
|
+
children: [switchableAccounts.map((account, index) => {
|
|
219
|
+
const accent = (0, _types.resolveAccentHex)(account.color, theme.colors.primary);
|
|
220
|
+
const isSwitching = snapshot.switchingAccountId === account.accountId;
|
|
221
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
222
|
+
children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
223
|
+
className: "h-px bg-border opacity-30 ml-space-12"
|
|
224
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.HoverPressable, {
|
|
225
|
+
baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px]${switchingDisabled ? ' opacity-60' : ''}`,
|
|
226
|
+
hoverClassName: "bg-fill-secondary",
|
|
227
|
+
onPress: () => handlers.onSwitch(account.accountId),
|
|
228
|
+
disabled: switchingDisabled,
|
|
229
|
+
accessibilityRole: "button",
|
|
230
|
+
accessibilityLabel: account.displayName,
|
|
231
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
232
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
|
|
233
|
+
source: account.avatarUrl ?? undefined,
|
|
234
|
+
variant: "thumb",
|
|
235
|
+
name: account.displayName,
|
|
236
|
+
size: SWITCH_AVATAR_SIZE
|
|
237
|
+
}), account.isCurrent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
238
|
+
style: [_styles.authChooserStyles.currentAvatarRing, {
|
|
239
|
+
borderColor: accent
|
|
240
|
+
}],
|
|
241
|
+
pointerEvents: "none"
|
|
242
|
+
}) : null]
|
|
243
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
244
|
+
className: "flex-1 min-w-0",
|
|
245
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
246
|
+
className: "text-body font-semibold text-text",
|
|
247
|
+
numberOfLines: 1,
|
|
248
|
+
children: account.displayName
|
|
249
|
+
}), account.email ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
250
|
+
className: "text-caption text-text-secondary",
|
|
251
|
+
numberOfLines: 1,
|
|
252
|
+
children: account.email
|
|
253
|
+
}) : null]
|
|
254
|
+
}), isSwitching ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
255
|
+
name: "loading",
|
|
256
|
+
size: 20,
|
|
257
|
+
color: accent
|
|
258
|
+
}) : null]
|
|
259
|
+
})]
|
|
260
|
+
}, account.accountId);
|
|
261
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
262
|
+
className: "h-px bg-border opacity-30 ml-space-12"
|
|
263
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AccountAffordanceRow, {
|
|
264
|
+
icon: "plus",
|
|
265
|
+
label: t('accountMenu.addAnother'),
|
|
266
|
+
onPress: handlers.onAdd,
|
|
267
|
+
disabled: switchingDisabled,
|
|
268
|
+
theme: theme
|
|
269
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
270
|
+
className: "h-px bg-border opacity-30 ml-space-12"
|
|
271
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AccountAffordanceRow, {
|
|
272
|
+
icon: "account-multiple-outline",
|
|
273
|
+
label: t('accountSwitcher.manageOnDevice'),
|
|
274
|
+
onPress: handlers.onManage,
|
|
275
|
+
disabled: switchingDisabled,
|
|
276
|
+
theme: theme
|
|
277
|
+
})]
|
|
278
|
+
});
|
|
279
|
+
const manageLabel = t('accountMenu.manage');
|
|
280
|
+
const switchLabel = t('accountMenu.switchAccount');
|
|
281
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
282
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
283
|
+
style: _styles.authChooserStyles.hero,
|
|
284
|
+
children: [current ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
285
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_pressableScale.PressableScale, {
|
|
286
|
+
onPress: handlers.onEditAvatar,
|
|
287
|
+
accessibilityRole: "button",
|
|
288
|
+
accessibilityLabel: t('editProfile.changeAvatar'),
|
|
289
|
+
style: _styles.authChooserStyles.heroAvatarPressable,
|
|
290
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
|
|
291
|
+
source: current.avatarUrl ?? undefined,
|
|
292
|
+
name: current.displayName,
|
|
293
|
+
size: HERO_AVATAR_SIZE
|
|
294
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
295
|
+
style: [_styles.authChooserStyles.heroAvatarRing, {
|
|
296
|
+
borderColor: currentAccent
|
|
297
|
+
}],
|
|
298
|
+
pointerEvents: "none"
|
|
299
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AvatarCameraBadge.default, {})]
|
|
300
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
301
|
+
style: _styles.authChooserStyles.heroNameBlock,
|
|
302
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
303
|
+
style: [_styles.authChooserStyles.heroGreeting, {
|
|
304
|
+
color: theme.colors.text
|
|
305
|
+
}],
|
|
306
|
+
numberOfLines: 2,
|
|
307
|
+
children: t('accountMenu.greeting', {
|
|
308
|
+
name: current.displayName
|
|
309
|
+
})
|
|
310
|
+
}), currentAddress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
311
|
+
style: [_styles.authChooserStyles.heroAddress, {
|
|
312
|
+
color: theme.colors.textSecondary
|
|
313
|
+
}],
|
|
314
|
+
numberOfLines: 1,
|
|
315
|
+
children: currentAddress
|
|
316
|
+
}) : null]
|
|
317
|
+
})]
|
|
318
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
319
|
+
variant: "secondary",
|
|
320
|
+
size: "small",
|
|
321
|
+
onPress: handlers.onManage,
|
|
322
|
+
accessibilityLabel: manageLabel,
|
|
323
|
+
children: manageLabel
|
|
324
|
+
})]
|
|
325
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
326
|
+
className: "bg-fill overflow-hidden mb-space-16",
|
|
327
|
+
style: switchCardStyle,
|
|
328
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.HoverPressable, {
|
|
329
|
+
baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px] min-h-[44px]${switchingDisabled ? ' opacity-60' : ''}`,
|
|
330
|
+
hoverClassName: "bg-fill-secondary",
|
|
331
|
+
onPress: toggleExpanded,
|
|
332
|
+
disabled: switchingDisabled,
|
|
333
|
+
accessibilityRole: "button"
|
|
334
|
+
// The ARIA prop, not `accessibilityState`: react-native-web 0.21
|
|
335
|
+
// forwards only this one, and RN maps it to
|
|
336
|
+
// `accessibilityState.expanded` natively — so the disclosure state
|
|
337
|
+
// reaches assistive tech on BOTH platforms.
|
|
338
|
+
,
|
|
339
|
+
"aria-expanded": expanded,
|
|
340
|
+
accessibilityLabel: switchLabel,
|
|
341
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
342
|
+
className: "flex-1 text-body text-text",
|
|
343
|
+
numberOfLines: 1,
|
|
344
|
+
children: switchLabel
|
|
345
|
+
}), expanded ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatarGroup.AvatarGroup, {
|
|
346
|
+
items: facepile,
|
|
347
|
+
layout: "stack",
|
|
348
|
+
size: FACEPILE_AVATAR_SIZE,
|
|
349
|
+
max: FACEPILE_MAX,
|
|
350
|
+
overlap: FACEPILE_OVERLAP,
|
|
351
|
+
variant: "thumb",
|
|
352
|
+
showInitials: true,
|
|
353
|
+
ringColor: theme.colors.card
|
|
354
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
355
|
+
style: [_styles.authChooserStyles.chevronCircle, {
|
|
356
|
+
backgroundColor: theme.colors.contrast50
|
|
357
|
+
}],
|
|
358
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
359
|
+
style: chevronStyle,
|
|
360
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
361
|
+
name: "chevron-down",
|
|
362
|
+
size: 20,
|
|
363
|
+
color: theme.colors.text
|
|
364
|
+
})
|
|
365
|
+
})
|
|
366
|
+
})]
|
|
367
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
368
|
+
style: [_styles.authChooserStyles.collapse, listStyle],
|
|
369
|
+
pointerEvents: expanded ? 'auto' : 'none',
|
|
370
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
371
|
+
style: _styles.authChooserStyles.collapseMeasure,
|
|
372
|
+
onLayout: event => setListContentHeight(event.nativeEvent.layout.height),
|
|
373
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
374
|
+
children: listItems
|
|
375
|
+
})
|
|
376
|
+
})
|
|
377
|
+
})]
|
|
378
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
379
|
+
className: "bg-fill rounded-[16px] overflow-hidden mb-space-16 px-space-12 py-[10px] gap-space-12",
|
|
380
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
381
|
+
className: "flex-row items-center gap-space-12 min-h-[24px]",
|
|
382
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
383
|
+
className: "w-[20px] items-center",
|
|
384
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
385
|
+
name: "cloud-outline",
|
|
386
|
+
size: ROW_ICON_SIZE,
|
|
387
|
+
color: theme.colors.textSecondary
|
|
388
|
+
})
|
|
389
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
390
|
+
className: "flex-1 text-body font-semibold text-text",
|
|
391
|
+
numberOfLines: 1,
|
|
392
|
+
children: t('accountMenu.storage.title')
|
|
393
|
+
})]
|
|
394
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_compositionBar.CompositionBar, {
|
|
395
|
+
categories: storageCategories,
|
|
396
|
+
selectedKey: storageSegment,
|
|
397
|
+
onSelect: toggleStorageSegment,
|
|
398
|
+
hintLabel: usageLabel,
|
|
399
|
+
formatReadout: (bytes, percent) => `${formatStorageGb(bytes)} · ${percent}%`
|
|
400
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
401
|
+
className: "flex-row gap-space-8",
|
|
402
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StorageChip, {
|
|
403
|
+
label: t('accountMenu.storage.upgrade'),
|
|
404
|
+
onPress: menu.onUpgradeStorage
|
|
405
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(StorageChip, {
|
|
406
|
+
label: t('accountMenu.storage.manage'),
|
|
407
|
+
onPress: menu.onManageStorage
|
|
408
|
+
})]
|
|
409
|
+
})]
|
|
410
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_settingsList.SettingsListGroup, {
|
|
411
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
412
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuIcon, {
|
|
413
|
+
name: "tray-arrow-down",
|
|
414
|
+
theme: theme
|
|
415
|
+
}),
|
|
416
|
+
title: t('accountMenu.data'),
|
|
417
|
+
onPress: menu.onOpenData
|
|
418
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
419
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuIcon, {
|
|
420
|
+
name: "cog-outline",
|
|
421
|
+
theme: theme
|
|
422
|
+
}),
|
|
423
|
+
title: t('accountMenu.settings'),
|
|
424
|
+
onPress: menu.onOpenSettings
|
|
425
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
426
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuIcon, {
|
|
427
|
+
name: "help-circle-outline",
|
|
428
|
+
theme: theme
|
|
429
|
+
}),
|
|
430
|
+
title: t('accountMenu.help'),
|
|
431
|
+
onPress: menu.onHelp
|
|
432
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
433
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuIcon, {
|
|
434
|
+
name: "logout",
|
|
435
|
+
theme: theme
|
|
436
|
+
}),
|
|
437
|
+
title: t('accountMenu.signOut'),
|
|
438
|
+
onPress: menu.onSignOut,
|
|
439
|
+
showChevron: false
|
|
440
|
+
})]
|
|
441
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
442
|
+
className: "flex-row items-center justify-center gap-space-12 px-space-12 pb-space-8",
|
|
443
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
444
|
+
onPress: menu.onPrivacy,
|
|
445
|
+
accessibilityRole: "link",
|
|
446
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
447
|
+
className: "text-bodySmall text-text-secondary",
|
|
448
|
+
children: t('accountMenu.privacy')
|
|
449
|
+
})
|
|
450
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
451
|
+
className: "text-bodySmall text-text-tertiary",
|
|
452
|
+
children: "\xB7"
|
|
453
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
454
|
+
onPress: menu.onTerms,
|
|
455
|
+
accessibilityRole: "link",
|
|
456
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
457
|
+
className: "text-bodySmall text-text-secondary",
|
|
458
|
+
children: t('accountMenu.terms')
|
|
459
|
+
})
|
|
460
|
+
})]
|
|
461
|
+
})]
|
|
462
|
+
});
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* An account-list AFFORDANCE row ("Add another account", "Manage accounts on
|
|
467
|
+
* this device") — a bordered circle sized to the avatar it stands in for, so its
|
|
468
|
+
* label lands on the same line as every account name above it. Own markup, like
|
|
469
|
+
* the account rows it closes: this list is not a Bloom grouped section.
|
|
470
|
+
*/
|
|
471
|
+
const AccountAffordanceRow = ({
|
|
472
|
+
icon,
|
|
473
|
+
label,
|
|
474
|
+
onPress,
|
|
475
|
+
disabled,
|
|
476
|
+
theme
|
|
477
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.HoverPressable, {
|
|
478
|
+
baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px]${disabled ? ' opacity-60' : ''}`,
|
|
479
|
+
hoverClassName: "bg-fill-secondary",
|
|
480
|
+
onPress: onPress,
|
|
481
|
+
disabled: disabled,
|
|
482
|
+
accessibilityRole: "button",
|
|
483
|
+
accessibilityLabel: label,
|
|
484
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
485
|
+
className: "w-[36px] h-[36px] items-center justify-center rounded-radius-max border border-border",
|
|
486
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
487
|
+
name: icon,
|
|
488
|
+
size: BADGE_GLYPH_SIZE,
|
|
489
|
+
color: theme.colors.textSecondary
|
|
490
|
+
})
|
|
491
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
492
|
+
className: "flex-1 text-body font-semibold text-text",
|
|
493
|
+
numberOfLines: 1,
|
|
494
|
+
children: label
|
|
495
|
+
})]
|
|
496
|
+
});
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* The leading glyph for a grouped-section menu row, sized to Bloom's 20px icon
|
|
500
|
+
* column so the icons, the storage block's cloud and every row title align.
|
|
501
|
+
*/
|
|
502
|
+
const MenuIcon = ({
|
|
503
|
+
name,
|
|
504
|
+
theme
|
|
505
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
506
|
+
name: name,
|
|
507
|
+
size: ROW_ICON_SIZE,
|
|
508
|
+
color: theme.colors.textSecondary
|
|
509
|
+
});
|
|
510
|
+
|
|
511
|
+
/** A storage action chip — a bordered pill on the sheet background. */
|
|
512
|
+
const StorageChip = ({
|
|
513
|
+
label,
|
|
514
|
+
onPress
|
|
515
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.HoverPressable, {
|
|
516
|
+
baseClassName: "rounded-radius-max border border-border bg-bg py-[9px] px-[14px]",
|
|
517
|
+
hoverClassName: "bg-fill-secondary",
|
|
518
|
+
onPress: onPress,
|
|
519
|
+
accessibilityRole: "button",
|
|
520
|
+
accessibilityLabel: label,
|
|
521
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
522
|
+
className: "text-bodySmall font-semibold text-text",
|
|
523
|
+
children: label
|
|
524
|
+
})
|
|
525
|
+
});
|
|
526
|
+
var _default = exports.default = AccountsMenuView;
|
|
527
|
+
//# sourceMappingURL=AccountsMenuView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_vectorIcons","_avatar","_avatarGroup","_button","_pressableScale","_compositionBar","_settingsList","_typography","_core","_AvatarCameraBadge","_interopRequireDefault","_primitives","_styles","_types","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ROW_ICON_SIZE","SWITCH_CARD_PILL_RADIUS","SWITCH_CARD_RADIUS","SWITCH_CARD_RADIUS_SETTLE","SWITCH_REVEAL_MS","SWITCH_AVATAR_SIZE","BADGE_GLYPH_SIZE","HERO_AVATAR_SIZE","FACEPILE_MAX","FACEPILE_AVATAR_SIZE","FACEPILE_OVERLAP","heroAddressLine","account","email","toLowerCase","endsWith","handle","getNormalizedUserHandle","user","formatStorageGb","bytes","gb","Number","isInteger","Math","round","toFixed","AccountsMenuView","snapshot","theme","handlers","storage","menu","expanded","setExpanded","useState","listContentHeight","setListContentHeight","listProgress","useSharedValue","listStyle","useAnimatedStyle","height","value","opacity","chevronStyle","transform","rotate","switchCardStyle","borderRadius","interpolate","Extrapolation","CLAMP","storageSegment","setStorageSegment","toggleStorageSegment","useCallback","key","previous","toggleExpanded","next","withTiming","duration","loading","accounts","length","jsxs","View","className","children","jsx","MaterialCommunityIcons","name","size","color","colors","textSecondary","Text","switchingDisabled","switchingAccountId","current","find","isCurrent","others","filter","accountId","currentAccent","resolveAccentHex","primary","currentAddress","switchableAccounts","facepile","map","id","uri","avatarUrl","undefined","displayName","storageCategories","amount","usedBytes","max","limitBytes","contrast50","usageLabel","used","total","listItems","Fragment","index","accent","isSwitching","HoverPressable","baseClassName","hoverClassName","onPress","onSwitch","disabled","accessibilityRole","accessibilityLabel","Avatar","source","variant","style","styles","currentAvatarRing","borderColor","pointerEvents","numberOfLines","AccountAffordanceRow","icon","label","onAdd","onManage","manageLabel","switchLabel","hero","PressableScale","onEditAvatar","heroAvatarPressable","heroAvatarRing","heroNameBlock","heroGreeting","text","heroAddress","Button","AvatarGroup","items","layout","overlap","showInitials","ringColor","card","chevronCircle","backgroundColor","collapse","collapseMeasure","onLayout","event","nativeEvent","CompositionBar","categories","selectedKey","onSelect","hintLabel","formatReadout","percent","StorageChip","onUpgradeStorage","onManageStorage","SettingsListGroup","SettingsListItem","MenuIcon","title","onOpenData","onOpenSettings","onHelp","onSignOut","showChevron","Pressable","onPrivacy","onTerms","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/AccountsMenuView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _button = require("@oxyhq/bloom/button");
|
|
9
|
+
var _TroubleDisclosure = _interopRequireDefault(require("./TroubleDisclosure.js"));
|
|
10
|
+
var _primitives = require("./primitives.js");
|
|
11
|
+
var _styles = require("./styles.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
/**
|
|
15
|
+
* The sign-in ENTRY (`signin` / `add` views) — ONE primary action.
|
|
16
|
+
*
|
|
17
|
+
* Issue #691, Phase 5: the normal experience presents no menu of authentication
|
|
18
|
+
* methods. The user sees "Continue with Oxy"; Oxy — not the user — then picks
|
|
19
|
+
* how the request reaches their Commons identity, and the request surface shows
|
|
20
|
+
* honest progress. Everything else (a QR from another device, a passkey on this
|
|
21
|
+
* device, getting Commons, creating an account) lives behind "Having trouble?".
|
|
22
|
+
*
|
|
23
|
+
* Existing accounts still render ABOVE the CTA: "continue as one of these" is a
|
|
24
|
+
* choice of WHO, not of HOW, so it is not one of the competing method buttons
|
|
25
|
+
* the issue removes.
|
|
26
|
+
*
|
|
27
|
+
* On web this view is transient — the container auto-starts the flow the instant
|
|
28
|
+
* the view is reached, because the request surface (QR, or "Check Commons on
|
|
29
|
+
* your phone") IS the primary route there, never something behind a tap.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
const SignInEntryView = ({
|
|
33
|
+
snapshot,
|
|
34
|
+
theme,
|
|
35
|
+
t,
|
|
36
|
+
handlers,
|
|
37
|
+
onContinueWithOxy,
|
|
38
|
+
alternatives
|
|
39
|
+
}) => {
|
|
40
|
+
// The entry has no chosen route yet, so nothing here can have failed: the
|
|
41
|
+
// alternatives stay behind the disclosure unconditionally.
|
|
42
|
+
const troubleActions = [{
|
|
43
|
+
key: 'scan-qr-link',
|
|
44
|
+
label: t('accountSwitcher.scanQr'),
|
|
45
|
+
onPress: alternatives.onShowQr
|
|
46
|
+
}, ...(alternatives.passkeyAvailable ? [{
|
|
47
|
+
key: 'passkey-signin-link',
|
|
48
|
+
label: alternatives.passkeyPending ? t('accountSwitcher.passkeySigningIn') : t('accountSwitcher.useIdentityOnDevice'),
|
|
49
|
+
onPress: alternatives.onSignInWithPasskey,
|
|
50
|
+
disabled: alternatives.passkeyPending
|
|
51
|
+
}] : []), {
|
|
52
|
+
key: 'get-commons-link',
|
|
53
|
+
label: t('accountSwitcher.getCommons'),
|
|
54
|
+
onPress: alternatives.onGetCommons
|
|
55
|
+
}];
|
|
56
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
57
|
+
style: _styles.authChooserStyles.signInBlock,
|
|
58
|
+
children: [snapshot.accounts.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
59
|
+
style: _styles.authChooserStyles.rows,
|
|
60
|
+
children: [snapshot.accounts.map(account => /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.AccountRow, {
|
|
61
|
+
account: account,
|
|
62
|
+
theme: theme,
|
|
63
|
+
switching: snapshot.switchingAccountId === account.accountId,
|
|
64
|
+
disabled: snapshot.switchingAccountId !== null,
|
|
65
|
+
onPress: () => handlers.onSwitch(account.accountId)
|
|
66
|
+
}, account.accountId)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Dividerish, {
|
|
67
|
+
theme: theme,
|
|
68
|
+
label: t('signin.or')
|
|
69
|
+
})]
|
|
70
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
71
|
+
variant: "primary",
|
|
72
|
+
onPress: onContinueWithOxy,
|
|
73
|
+
style: _styles.authChooserStyles.primaryButton,
|
|
74
|
+
testID: "continue-with-oxy",
|
|
75
|
+
children: t('accountSwitcher.continueWithOxy')
|
|
76
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
|
|
77
|
+
label: t('signin.createAccountLink'),
|
|
78
|
+
theme: theme,
|
|
79
|
+
onPress: alternatives.onCreateAccount,
|
|
80
|
+
testID: "create-account-link"
|
|
81
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TroubleDisclosure.default, {
|
|
82
|
+
actions: troubleActions,
|
|
83
|
+
revealed: false,
|
|
84
|
+
theme: theme,
|
|
85
|
+
t: t
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
var _default = exports.default = SignInEntryView;
|
|
90
|
+
//# sourceMappingURL=SignInEntryView.js.map
|