@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
package/README.md
CHANGED
|
@@ -120,50 +120,31 @@ function UserProfile() {
|
|
|
120
120
|
|
|
121
121
|
`OxyProvider` handles iOS, Android, and Expo web. Always use `OxyProvider` in Expo apps.
|
|
122
122
|
|
|
123
|
-
## Typography
|
|
123
|
+
## Typography
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
Typography is owned entirely by `@oxyhq/bloom`. `BloomThemeProvider` ships the
|
|
126
|
+
Inter, BlomusModernus and Geist Mono families — variable `.ttf` files loaded via
|
|
127
|
+
`expo-font` on native, `@font-face` rules injected as data URLs on web — and
|
|
128
|
+
applies the default family to every `<Text>`. This package bundles no fonts and
|
|
129
|
+
loads none, so it adds no font weight to consumer app binaries.
|
|
130
130
|
|
|
131
131
|
```typescript
|
|
132
|
+
import { BloomThemeProvider } from '@oxyhq/bloom/theme';
|
|
132
133
|
import { OxyProvider } from '@oxyhq/services';
|
|
133
134
|
|
|
134
135
|
function App() {
|
|
135
136
|
return (
|
|
136
|
-
<
|
|
137
|
-
<
|
|
138
|
-
|
|
137
|
+
<BloomThemeProvider>
|
|
138
|
+
<OxyProvider baseURL="https://api.oxy.so">
|
|
139
|
+
<YourAppContent />
|
|
140
|
+
</OxyProvider>
|
|
141
|
+
</BloomThemeProvider>
|
|
139
142
|
);
|
|
140
143
|
}
|
|
141
144
|
```
|
|
142
145
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
import { fontFamilies, fontStyles } from '@oxyhq/services';
|
|
147
|
-
|
|
148
|
-
const styles = StyleSheet.create({
|
|
149
|
-
title: {
|
|
150
|
-
...fontStyles.titleLarge, // Pre-defined style (54px, Bold)
|
|
151
|
-
color: '#000000',
|
|
152
|
-
},
|
|
153
|
-
customText: {
|
|
154
|
-
fontFamily: fontFamilies.interSemiBold, // Cross-platform font family
|
|
155
|
-
fontSize: 18,
|
|
156
|
-
},
|
|
157
|
-
});
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Available Exports
|
|
161
|
-
|
|
162
|
-
- **`setupFonts()`** - Function to manually load fonts (called automatically by OxyProvider)
|
|
163
|
-
- **`fontFamilies`** - Object with all Inter weight variants (inter, interLight, interMedium, interSemiBold, interBold, interExtraBold, interBlack)
|
|
164
|
-
- **`fontStyles`** - Pre-defined text styles (titleLarge, titleMedium, titleSmall, buttonText)
|
|
165
|
-
|
|
166
|
-
See [FONTS.md](./FONTS.md) for the complete typography guide, including detailed usage examples, all available font weights, platform-specific handling, best practices, and migration guide.
|
|
146
|
+
Style text with Bloom's NativeWind font classes (`font-sans`, `font-mono`, …)
|
|
147
|
+
rather than raw `fontFamily` strings.
|
|
167
148
|
|
|
168
149
|
## Usage Patterns
|
|
169
150
|
|
|
@@ -448,7 +429,7 @@ Oxy supports **public/private key cryptography** (ECDSA secp256k1) as the primar
|
|
|
448
429
|
### How it works (device-first)
|
|
449
430
|
|
|
450
431
|
- **Cold boot is silent.** On mount, `OxyProvider` restores the ambient device session — the server-side `DeviceSession` records which accounts are signed in on this device and which one is active. No redirects, no browser identity APIs, no UI. See [device sessions](../../docs/auth/device-session.md).
|
|
451
|
-
- **Interactive sign-in is a dialog.** `useAuth().signIn()` or `useOxy().openAccountDialog('signin')` opens the unified account dialog (Bloom Dialog — bottom sheet on phones, centered on desktop):
|
|
432
|
+
- **Interactive sign-in is a dialog.** `useAuth().signIn()` or `useOxy().openAccountDialog('signin')` opens the unified account dialog (Bloom Dialog — bottom sheet on phones, centered on desktop): existing device accounts above ONE primary "Continue with Oxy" action (issue #691, Phase 5) — Oxy automatically picks how the request reaches your Commons identity (same-device deep link → known-install push → QR); there is no password option in this dialog. Scan-QR, passkey-on-this-device, and "Get Commons" sit behind a collapsed "Having trouble?" disclosure.
|
|
452
433
|
- **Cross-app sync.** Adding, switching, or signing out an account bumps the device-session revision and is pushed over the `session_state` socket event to every Oxy app on the device.
|
|
453
434
|
|
|
454
435
|
```tsx
|
|
@@ -461,17 +442,6 @@ function SignInCTA() {
|
|
|
461
442
|
}
|
|
462
443
|
```
|
|
463
444
|
|
|
464
|
-
### Password Authentication
|
|
465
|
-
|
|
466
|
-
Oxy also supports password sign-in (email/username + password) — shown collapsed inside the account dialog, or callable directly:
|
|
467
|
-
|
|
468
|
-
```typescript
|
|
469
|
-
import { oxyClient } from '@oxyhq/core';
|
|
470
|
-
|
|
471
|
-
const session = await oxyClient.signUp('username', 'email@example.com', 'password');
|
|
472
|
-
const session2 = await oxyClient.signIn('username-or-email', 'password');
|
|
473
|
-
```
|
|
474
|
-
|
|
475
445
|
### Cross-App Authentication (Sign in with Oxy)
|
|
476
446
|
|
|
477
447
|
`OxySignInButton` resolves your registered Application (`GET /auth/oauth/client/:clientId`) and picks the right flow:
|
|
@@ -485,7 +455,7 @@ function LoginScreen() {
|
|
|
485
455
|
```
|
|
486
456
|
|
|
487
457
|
- **Official Oxy apps** (`isOfficial` / first-party types): opens the in-app account dialog.
|
|
488
|
-
- **Third-party apps** (`type: 'third_party'`): starts the standard OAuth 2.0 Authorization Code + PKCE
|
|
458
|
+
- **Third-party apps** (`type: 'third_party'`): starts the standard OAuth 2.0 Authorization Code + PKCE flow against `auth.oxy.so` (the SDK generates `state` + PKCE via `@oxyhq/core`). On web the transport is `OxyProvider` prop `webAuthMode: 'popup' | 'redirect'` (default `'redirect'`; issue #691 Phase 2) — `'popup'` opens a small window and relays the result via `postMessage` without navigating your app's tab, falling back to a redirect if the browser blocks it. Pass `oauthRedirectUri`; on native handle `onOAuthResult` to complete the token exchange.
|
|
489
459
|
|
|
490
460
|
See the [integration guide](../../docs/auth/integration-guide.md) for Console registration, OAuth endpoints, and backend verification, and [AUTHENTICATION.md](../../docs/AUTHENTICATION.md) for the full model.
|
|
491
461
|
|
package/lib/commonjs/index.js
CHANGED
|
@@ -33,10 +33,10 @@ Object.defineProperty(exports, "FollowButton", {
|
|
|
33
33
|
return _FollowButton.default;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
Object.defineProperty(exports, "
|
|
36
|
+
Object.defineProperty(exports, "IdentityBoundSessionError", {
|
|
37
37
|
enumerable: true,
|
|
38
38
|
get: function () {
|
|
39
|
-
return
|
|
39
|
+
return _identityBinding.IdentityBoundSessionError;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "LogoIcon", {
|
|
@@ -267,22 +267,22 @@ Object.defineProperty(exports, "openAccountDialog", {
|
|
|
267
267
|
return _accountDialogManager.openAccountDialog;
|
|
268
268
|
}
|
|
269
269
|
});
|
|
270
|
-
Object.defineProperty(exports, "
|
|
270
|
+
Object.defineProperty(exports, "openOAuthPopup", {
|
|
271
271
|
enumerable: true,
|
|
272
272
|
get: function () {
|
|
273
|
-
return
|
|
273
|
+
return _oauthPopup.openOAuthPopup;
|
|
274
274
|
}
|
|
275
275
|
});
|
|
276
|
-
Object.defineProperty(exports, "
|
|
276
|
+
Object.defineProperty(exports, "queryKeys", {
|
|
277
277
|
enumerable: true,
|
|
278
278
|
get: function () {
|
|
279
|
-
return
|
|
279
|
+
return _queryKeys.queryKeys;
|
|
280
280
|
}
|
|
281
281
|
});
|
|
282
|
-
Object.defineProperty(exports, "
|
|
282
|
+
Object.defineProperty(exports, "setOxyAssetInstance", {
|
|
283
283
|
enumerable: true,
|
|
284
284
|
get: function () {
|
|
285
|
-
return
|
|
285
|
+
return _useAssets.setOxyAssetInstance;
|
|
286
286
|
}
|
|
287
287
|
});
|
|
288
288
|
Object.defineProperty(exports, "showBottomSheet", {
|
|
@@ -680,7 +680,7 @@ var _reactNative = require("react-native");
|
|
|
680
680
|
var _OxyProvider = _interopRequireDefault(require("./ui/components/OxyProvider.js"));
|
|
681
681
|
var _OxyContext = require("./ui/context/OxyContext.js");
|
|
682
682
|
var _useAuth = require("./ui/hooks/useAuth.js");
|
|
683
|
-
var
|
|
683
|
+
var _identityBinding = require("./ui/session/identityBinding.js");
|
|
684
684
|
var _authStore = require("./ui/stores/authStore.js");
|
|
685
685
|
var _accountStore = require("./ui/stores/accountStore.js");
|
|
686
686
|
var _assetStore = require("./ui/stores/assetStore.js");
|
|
@@ -705,6 +705,7 @@ var _useOxyEvent = require("./ui/hooks/useOxyEvent.js");
|
|
|
705
705
|
var _errorHandlers = require("./ui/utils/errorHandlers.js");
|
|
706
706
|
var _useFileFiltering = require("./ui/hooks/useFileFiltering.js");
|
|
707
707
|
var _OxySignInButton = _interopRequireDefault(require("./ui/components/OxySignInButton.js"));
|
|
708
|
+
var _oauthPopup = require("./ui/oauth/oauthPopup.js");
|
|
708
709
|
var _OxyAuthPrompt = require("./ui/components/OxyAuthPrompt.js");
|
|
709
710
|
var _OxyOAuthCallback = require("./ui/components/OxyOAuthCallback.js");
|
|
710
711
|
var _OxyConsentScreen = require("./ui/components/OxyConsentScreen.js");
|
|
@@ -761,9 +762,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
761
762
|
// Provider + auth context
|
|
762
763
|
// ---------------------------------------------------------------------------
|
|
763
764
|
|
|
764
|
-
//
|
|
765
|
-
//
|
|
766
|
-
//
|
|
765
|
+
// Thrown by `switchToAccount` / `switchSession` while `OxyProvider` runs with
|
|
766
|
+
// `sessionMode="identity"` — an identity-bound app authenticates as the owner of
|
|
767
|
+
// the local identity key and cannot switch accounts.
|
|
767
768
|
|
|
768
769
|
// ---------------------------------------------------------------------------
|
|
769
770
|
// Zustand stores
|
|
@@ -812,6 +813,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
812
813
|
// UI components
|
|
813
814
|
// ---------------------------------------------------------------------------
|
|
814
815
|
|
|
816
|
+
// Web OAuth transport (popup / redirect). RPs that ship their own sign-in
|
|
817
|
+
// button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
|
|
818
|
+
// exported, because it MUST run synchronously inside the press handler to keep
|
|
819
|
+
// the browser's user-gesture attribution.
|
|
820
|
+
|
|
815
821
|
// Optional signed-out gate primitive. Wrap any subtree (or the whole app via
|
|
816
822
|
// `OxyProvider`'s `requireAuth` prop) to opt into a shared, readiness-safe wall.
|
|
817
823
|
// `prompt`: `off` (render always) | `soft` (dismissible banner) | `hard` (block).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","
|
|
1
|
+
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_identityBinding","_authStore","_accountStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_OxySignInButton","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxyAuthChooser","_useSwitchableAccounts","_ProfileScreen","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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GAAAtD,OAAA;AAI8C,SAAAG,uBAAAoD,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAlT9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAIA,IAAAG,mBAAa,EAACC,qBAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;;AAgBA;AACA;AACA;;AAOA;AACA;AACA;;AAgCA;;AAeA;AACA;AACA;;AA2BA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;;AAIA;;AAMA;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAsBA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAOA;;AAKA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _deviceCredential = require("../utils/deviceCredential.js");
|
|
|
10
10
|
var _crossOriginRestore = require("../utils/crossOriginRestore.js");
|
|
11
11
|
var _oauthReturn = require("../utils/oauthReturn.js");
|
|
12
12
|
var _isWebBrowser = require("../utils/isWebBrowser.js");
|
|
13
|
+
var _legacyRedirectLanes = require("../oauth/legacyRedirectLanes.js");
|
|
13
14
|
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); }
|
|
14
15
|
/** How long the cold boot waits for the post-boot SessionClient handoff (ms). */
|
|
15
16
|
const SESSION_HANDOFF_DEADLINE_MS = exports.SESSION_HANDOFF_DEADLINE_MS = 6000;
|
|
@@ -68,8 +69,18 @@ async function detectOfflineHint() {
|
|
|
68
69
|
*
|
|
69
70
|
* Ordered pipeline:
|
|
70
71
|
* 1. Complete OAuth authorization-code return (web)
|
|
71
|
-
* 2. `runSessionColdBoot` — device-secret mint (+ native shared-key
|
|
72
|
+
* 2. `runSessionColdBoot` — device-secret mint (+ native shared-key, or the
|
|
73
|
+
* primary-identity-key lane in `sessionMode: 'identity'`)
|
|
72
74
|
* 3. Silent OAuth for all web apps when mint finds no session
|
|
75
|
+
*
|
|
76
|
+
* Steps 1 and 3 are ACCOUNT-MODE ONLY: both commit whichever account the IdP
|
|
77
|
+
* resolves, which for an identity-bound client is somebody else's account by
|
|
78
|
+
* construction. In `'identity'` mode the boot is exactly step 2.
|
|
79
|
+
*
|
|
80
|
+
* Step 3 is additionally REDIRECT-MODE ONLY: it navigates the top-level window
|
|
81
|
+
* with no user gesture behind it, which `webAuthMode: 'popup'` exists to
|
|
82
|
+
* eliminate. In popup mode the boot is steps 1 and 2, and a domain with no local
|
|
83
|
+
* credential simply resolves signed out. See `allowsAutomaticIdpRedirect`.
|
|
73
84
|
*/
|
|
74
85
|
async function runProviderColdBoot(opts) {
|
|
75
86
|
const {
|
|
@@ -78,17 +89,34 @@ async function runProviderColdBoot(opts) {
|
|
|
78
89
|
clientId,
|
|
79
90
|
authRedirectUri,
|
|
80
91
|
authorizeBaseUrl,
|
|
92
|
+
sessionMode = 'account',
|
|
93
|
+
identity,
|
|
94
|
+
webAuthMode = 'redirect',
|
|
81
95
|
sessionClient,
|
|
82
96
|
syncDeviceCredentialToHost,
|
|
83
97
|
commitSession,
|
|
84
98
|
markAuthResolved,
|
|
85
99
|
setTokenReady
|
|
86
100
|
} = opts;
|
|
101
|
+
const identityBound = sessionMode === 'identity';
|
|
87
102
|
setTokenReady(false);
|
|
88
103
|
try {
|
|
104
|
+
// MODE-INDEPENDENT URL cleanup, deliberately so: both consume query params a
|
|
105
|
+
// PREVIOUS redirect-mode session left in the address bar (`?error=login_required`
|
|
106
|
+
// from a silent authorize, `?hub_sync=failed` from the hub) and restore the
|
|
107
|
+
// page the visit started on. Flipping an app to popup mode must not strand
|
|
108
|
+
// those params, so neither is gated on `webAuthMode`. Neither starts a
|
|
109
|
+
// navigation — they only rewrite the URL via `history.replaceState`.
|
|
89
110
|
(0, _crossOriginRestore.consumeSilentOAuthError)();
|
|
90
111
|
(0, _oauthReturn.consumeHubSyncFailure)();
|
|
91
|
-
|
|
112
|
+
|
|
113
|
+
// The redirect transport's RETURN leg — also NOT gated on `webAuthMode`. A
|
|
114
|
+
// popup-mode app legitimately lands here with `?code=` whenever the browser
|
|
115
|
+
// blocked the popup and `startWebOAuthSignIn` fell back to a full-page
|
|
116
|
+
// redirect (`popup-blocked` / `popup-navigation-failed`), and an app that
|
|
117
|
+
// switched modes mid-flight must not be stranded with a dead `?code=`
|
|
118
|
+
// either. It consumes a code already on the URL; it never starts one.
|
|
119
|
+
const oauthCompleted = identityBound ? false : await (0, _oauthReturn.tryCompleteOAuthReturn)({
|
|
92
120
|
oxyServices,
|
|
93
121
|
clientId,
|
|
94
122
|
authRedirectUri,
|
|
@@ -115,6 +143,8 @@ async function runProviderColdBoot(opts) {
|
|
|
115
143
|
isWeb: (0, _isWebBrowser.isWebBrowser)(),
|
|
116
144
|
isNative: !(0, _isWebBrowser.isWebBrowser)()
|
|
117
145
|
},
|
|
146
|
+
sessionMode,
|
|
147
|
+
identity,
|
|
118
148
|
overallDeadlineMs: COLD_BOOT_OVERALL_DEADLINE_MS,
|
|
119
149
|
isOffline: () => offline,
|
|
120
150
|
onStepDeadline: stepId => {
|
|
@@ -169,14 +199,26 @@ async function runProviderColdBoot(opts) {
|
|
|
169
199
|
}
|
|
170
200
|
});
|
|
171
201
|
|
|
172
|
-
// Silent cross-origin OAuth restore (web cross-app SSO)
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
//
|
|
202
|
+
// Silent cross-origin OAuth restore (web cross-app SSO): a full-page
|
|
203
|
+
// `prompt=none` bounce to the IdP when the mint found no local session.
|
|
204
|
+
//
|
|
205
|
+
// TRANSPORT gate (`allowsAutomaticIdpRedirect`): `webAuthMode: 'popup'`
|
|
206
|
+
// FORBIDS this lane. It navigates the top-level window with no user gesture
|
|
207
|
+
// behind it, which is precisely what popup mode exists to eliminate — a
|
|
208
|
+
// popup-mode domain without a local credential resolves signed out right
|
|
209
|
+
// here and waits for the user's next explicit "Continue with Oxy" (issue
|
|
210
|
+
// #691, "Cold boot and cross-domain behavior"). `'redirect'` — still the
|
|
211
|
+
// default and the compatibility path — reaches this lane unchanged, and this
|
|
212
|
+
// whole block disappears with the transport in phase 7b.
|
|
213
|
+
//
|
|
214
|
+
// ORIGIN gate: same as the hub-sync WRITE side (`syncHubAfterSignIn`) —
|
|
215
|
+
// official web origins only, never the IdP hub itself, and — unlike the
|
|
216
|
+
// write side — never a loopback / local-dev origin (which must not be
|
|
217
|
+
// bounced to a hosted IdP on cold boot). The authorize endpoint is
|
|
218
|
+
// env-configurable so a local/staging app targets its own IdP instead of
|
|
219
|
+
// production.
|
|
178
220
|
const webOrigin = (0, _isWebBrowser.isWebBrowser)() ? globalThis.location?.origin : undefined;
|
|
179
|
-
if (clientId && outcome.kind !== 'session' && webOrigin && (0, _crossOriginRestore.isSilentRestoreEligibleOrigin)(webOrigin)) {
|
|
221
|
+
if (!identityBound && (0, _legacyRedirectLanes.allowsAutomaticIdpRedirect)(webAuthMode) && clientId && outcome.kind !== 'session' && webOrigin && (0, _crossOriginRestore.isSilentRestoreEligibleOrigin)(webOrigin)) {
|
|
180
222
|
const redirected = await (0, _crossOriginRestore.maybeStartSilentOAuthRestore)({
|
|
181
223
|
oxyServices,
|
|
182
224
|
clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_deviceCredential","_crossOriginRestore","_oauthReturn","_isWebBrowser","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SESSION_HANDOFF_DEADLINE_MS","exports","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","isWebBrowser","online","globalThis","navigator","onLine","NetInfo","Promise","resolve","then","state","race","fetch","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","consumeSilentOAuthError","consumeHubSyncFailure","oauthCompleted","tryCompleteOAuthReturn","input","activate","hubSync","offline","outcome","runSessionColdBoot","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","loggerUtil","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","loadPersistedDeviceCredential","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","kind","isSilentRestoreEligibleOrigin","redirected","maybeStartSilentOAuthRestore","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_core","require","_deviceCredential","_crossOriginRestore","_oauthReturn","_isWebBrowser","_legacyRedirectLanes","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SESSION_HANDOFF_DEADLINE_MS","exports","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","isWebBrowser","online","globalThis","navigator","onLine","NetInfo","Promise","resolve","then","state","race","fetch","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionMode","identity","webAuthMode","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","identityBound","consumeSilentOAuthError","consumeHubSyncFailure","oauthCompleted","tryCompleteOAuthReturn","input","activate","hubSync","offline","outcome","runSessionColdBoot","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","loggerUtil","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","loadPersistedDeviceCredential","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","allowsAutomaticIdpRedirect","kind","isSilentRestoreEligibleOrigin","redirected","maybeStartSilentOAuthRestore","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "FollowButton", {
|
|
|
9
9
|
return _FollowButton.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "FontLoader", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _FontLoader.FontLoader;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
12
|
Object.defineProperty(exports, "LogoIcon", {
|
|
19
13
|
enumerable: true,
|
|
20
14
|
get: function () {
|
|
@@ -87,12 +81,6 @@ Object.defineProperty(exports, "isTimeoutOrNetworkError", {
|
|
|
87
81
|
return _errorHandlers.isTimeoutOrNetworkError;
|
|
88
82
|
}
|
|
89
83
|
});
|
|
90
|
-
Object.defineProperty(exports, "setupFonts", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
get: function () {
|
|
93
|
-
return _FontLoader.setupFonts;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
84
|
Object.defineProperty(exports, "useAccountStore", {
|
|
97
85
|
enumerable: true,
|
|
98
86
|
get: function () {
|
|
@@ -136,7 +124,6 @@ var _LogoIcon = require("./components/logo/LogoIcon.js");
|
|
|
136
124
|
var _LogoText = require("./components/logo/LogoText.js");
|
|
137
125
|
var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
|
|
138
126
|
var _OxyPayButton = _interopRequireDefault(require("./components/OxyPayButton.js"));
|
|
139
|
-
var _FontLoader = require("./components/FontLoader");
|
|
140
127
|
var _OxyContext = require("./context/OxyContext.js");
|
|
141
128
|
var _useAuth = require("./hooks/useAuth.js");
|
|
142
129
|
var _useFollow = require("./hooks/useFollow.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_FollowButton","_OxyPayButton","
|
|
1
|
+
{"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_FollowButton","_OxyPayButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AAGA,IAAAO,WAAA,GAAAP,OAAA;AAGA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAIA,IAAAW,cAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,oBAAA,GAAAb,sBAAA,CAAAC,OAAA;AAGA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AAGA,IAAAe,cAAA,GAAAf,OAAA;AAK+B,SAAAD,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -80,7 +80,19 @@ const OxyAccountDialogScreen = ({
|
|
|
80
80
|
view
|
|
81
81
|
} = snapshot;
|
|
82
82
|
const showBack = view === 'qr' || view === 'signup' || view === 'add' && snapshot.accounts.length > 0;
|
|
83
|
-
const goToAccounts = (0, _react.useCallback)(() =>
|
|
83
|
+
const goToAccounts = (0, _react.useCallback)(() => {
|
|
84
|
+
if (!controller) return;
|
|
85
|
+
const {
|
|
86
|
+
view: currentView,
|
|
87
|
+
signIn
|
|
88
|
+
} = controller.getSnapshot();
|
|
89
|
+
// Backing out of an active request must withdraw it — otherwise the
|
|
90
|
+
// authorizeCode stays approvable until expiry (issue #691 phase 5).
|
|
91
|
+
if ((currentView === 'qr' || currentView === 'add') && (signIn.phase === 'starting' || signIn.phase === 'waiting')) {
|
|
92
|
+
controller.cancelSignIn();
|
|
93
|
+
}
|
|
94
|
+
controller.setView('accounts');
|
|
95
|
+
}, [controller]);
|
|
84
96
|
// An ENTRY view (accounts / signin — no in-dialog back of its own) that is
|
|
85
97
|
// MORPHED into a host surface (ManageAccount → switcher) has a frame beneath it,
|
|
86
98
|
// so its back CLOSES the dialog and reshapes back to the host — routed through
|
|
@@ -117,10 +129,16 @@ const OxyAccountDialogScreen = ({
|
|
|
117
129
|
|
|
118
130
|
function headerCopy(view, accountCount, t) {
|
|
119
131
|
switch (view) {
|
|
132
|
+
// The ACTIVE REQUEST. Its header is deliberately route-AGNOSTIC: Oxy picks
|
|
133
|
+
// the delivery route (QR here, a push to the user's phone, or opening
|
|
134
|
+
// Commons on this device — issue #691), so naming one of them in the bar
|
|
135
|
+
// would contradict the other two. The route-specific status line lives in
|
|
136
|
+
// the body, derived from `signIn.progress`, and is the only thing that
|
|
137
|
+
// describes HOW the request is travelling.
|
|
120
138
|
case 'qr':
|
|
121
139
|
return {
|
|
122
|
-
title: t('accountSwitcher.
|
|
123
|
-
subtitle:
|
|
140
|
+
title: t('accountSwitcher.signInWithOxy') || 'Sign in with Oxy',
|
|
141
|
+
subtitle: null
|
|
124
142
|
};
|
|
125
143
|
case 'signup':
|
|
126
144
|
return {
|
|
@@ -149,7 +167,12 @@ const EMPTY_SNAPSHOT = {
|
|
|
149
167
|
authorizeCode: null,
|
|
150
168
|
qrPayload: null,
|
|
151
169
|
expiresAt: null,
|
|
152
|
-
error: null
|
|
170
|
+
error: null,
|
|
171
|
+
route: null,
|
|
172
|
+
routeFailed: false,
|
|
173
|
+
pushSentAt: null,
|
|
174
|
+
openedAt: null,
|
|
175
|
+
progress: 'idle'
|
|
153
176
|
},
|
|
154
177
|
commonsAvailability: 'unknown'
|
|
155
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_OxyContext","_useI18n","_useSurfaceHeader","_LogoText","_interopRequireDefault","_OxyAuthChooser","_jsxRuntime","e","__esModule","default","NAV_LOGO","jsx","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","useOxy","t","useI18n","subscribe","useCallback","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","useSyncExternalStore","view","showBack","accounts","length","goToAccounts","setView","backsToHost","copy","headerCopy","useSurfaceHeader","titleContent","title","subtitle","onBack","View","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_OxyContext","_useI18n","_useSurfaceHeader","_LogoText","_interopRequireDefault","_OxyAuthChooser","_jsxRuntime","e","__esModule","default","NAV_LOGO","jsx","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","useOxy","t","useI18n","subscribe","useCallback","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","useSyncExternalStore","view","showBack","accounts","length","goToAccounts","currentView","signIn","phase","cancelSignIn","setView","backsToHost","copy","headerCopy","useSurfaceHeader","titleContent","title","subtitle","onBack","View","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","authorizeCode","qrPayload","expiresAt","route","routeFailed","pushSentAt","openedAt","progress","commonsAvailability","SCREEN_MARGIN","StyleSheet","create","paddingTop","paddingBottom","paddingHorizontal","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}
|