@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
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type AuthStateStore, type OxyServices } from '@oxyhq/core';
|
|
1
|
+
import { type AuthStateStore, type IdentityBinding, type OxyServices, type SessionMode } from '@oxyhq/core';
|
|
2
2
|
import type { SessionClient } from '@oxyhq/core';
|
|
3
|
+
import type { WebAuthMode } from '../oauth/types';
|
|
3
4
|
import type { CommitInput } from '../context/oxyContextTypes';
|
|
4
5
|
/** How long the cold boot waits for the post-boot SessionClient handoff (ms). */
|
|
5
6
|
export declare const SESSION_HANDOFF_DEADLINE_MS = 6000;
|
|
@@ -26,6 +27,27 @@ export interface RunProviderColdBootOptions {
|
|
|
26
27
|
* silent-restore redirect targets its own IdP, never production.
|
|
27
28
|
*/
|
|
28
29
|
authorizeBaseUrl?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Who owns the session this boot resolves. `'account'` (the default) is the
|
|
32
|
+
* device's active account — every ordinary Oxy app. `'identity'` binds the
|
|
33
|
+
* boot to the owner of this device's PRIMARY identity key and REQUIRES
|
|
34
|
+
* {@link identity}; it also disables the two web OAuth lanes below, which
|
|
35
|
+
* commit whatever account the IdP hands back.
|
|
36
|
+
*/
|
|
37
|
+
sessionMode?: SessionMode;
|
|
38
|
+
/** The identity binding required by `sessionMode: 'identity'`. */
|
|
39
|
+
identity?: IdentityBinding;
|
|
40
|
+
/**
|
|
41
|
+
* How this provider's WEB sign-in reaches the IdP
|
|
42
|
+
* (`OxyProviderProps.webAuthMode`).
|
|
43
|
+
*
|
|
44
|
+
* A first-class INPUT to the boot, not a UI-only concern: `'popup'` forbids
|
|
45
|
+
* the automatic full-page `prompt=none` restore in step 3, so a domain with no
|
|
46
|
+
* local credential resolves SIGNED OUT instead of bouncing the top-level
|
|
47
|
+
* window to `auth.oxy.so`. See `allowsAutomaticIdpRedirect`.
|
|
48
|
+
* @default 'redirect'
|
|
49
|
+
*/
|
|
50
|
+
webAuthMode?: WebAuthMode;
|
|
29
51
|
sessionClient: SessionClient;
|
|
30
52
|
syncDeviceCredentialToHost: () => Promise<void>;
|
|
31
53
|
commitSession: (input: CommitInput, options: {
|
|
@@ -40,8 +62,18 @@ export interface RunProviderColdBootOptions {
|
|
|
40
62
|
*
|
|
41
63
|
* Ordered pipeline:
|
|
42
64
|
* 1. Complete OAuth authorization-code return (web)
|
|
43
|
-
* 2. `runSessionColdBoot` — device-secret mint (+ native shared-key
|
|
65
|
+
* 2. `runSessionColdBoot` — device-secret mint (+ native shared-key, or the
|
|
66
|
+
* primary-identity-key lane in `sessionMode: 'identity'`)
|
|
44
67
|
* 3. Silent OAuth for all web apps when mint finds no session
|
|
68
|
+
*
|
|
69
|
+
* Steps 1 and 3 are ACCOUNT-MODE ONLY: both commit whichever account the IdP
|
|
70
|
+
* resolves, which for an identity-bound client is somebody else's account by
|
|
71
|
+
* construction. In `'identity'` mode the boot is exactly step 2.
|
|
72
|
+
*
|
|
73
|
+
* Step 3 is additionally REDIRECT-MODE ONLY: it navigates the top-level window
|
|
74
|
+
* with no user gesture behind it, which `webAuthMode: 'popup'` exists to
|
|
75
|
+
* eliminate. In popup mode the boot is steps 1 and 2, and a domain with no local
|
|
76
|
+
* credential simply resolves signed out. See `allowsAutomaticIdpRedirect`.
|
|
45
77
|
*/
|
|
46
78
|
export declare function runProviderColdBoot(opts: RunProviderColdBootOptions): Promise<void>;
|
|
47
79
|
//# sourceMappingURL=runProviderColdBoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runProviderColdBoot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/boot/runProviderColdBoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runProviderColdBoot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/boot/runProviderColdBoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,QAAS,CAAC;AA0CpD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,CACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KzF"}
|
|
@@ -15,7 +15,6 @@ export { LogoIcon } from './components/logo/LogoIcon';
|
|
|
15
15
|
export { LogoText } from './components/logo/LogoText';
|
|
16
16
|
export { default as FollowButton } from './components/FollowButton';
|
|
17
17
|
export { default as OxyPayButton } from './components/OxyPayButton';
|
|
18
|
-
export { FontLoader, setupFonts } from './components/FontLoader';
|
|
19
18
|
export { useOxy } from './context/OxyContext';
|
|
20
19
|
export { useAuth } from './hooks/useAuth';
|
|
21
20
|
export type { AuthState, AuthActions, UseAuthReturn } from './hooks/useAuth';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyAccountDialogScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialogScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAc3D;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"OxyAccountDialogScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialogScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAc3D;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+DrD,CAAC;AA+EF,eAAe,sBAAsB,CAAC"}
|
|
@@ -10,35 +10,20 @@
|
|
|
10
10
|
* cross-origin passkey popup (b2) — same chooser, two hosts, two completion
|
|
11
11
|
* strategies via the `onComplete` prop. Neither host duplicates view logic.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* - `
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* - `
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* inline passkey creation (username + `registerWithPasskey`) offered
|
|
28
|
-
* UNDERNEATH as the de-emphasized "don't want to install anything"
|
|
29
|
-
* alternative — never co-equal, never a competing button. Anywhere else (a
|
|
30
|
-
* non-Oxy web origin, before the b2 hub-relay ships) shows an honest "not
|
|
31
|
-
* available here yet" message instead of a broken button.
|
|
32
|
-
* - `qr` — the cross-device Commons handoff, and the PRIMARY web sign-in
|
|
33
|
-
* surface. On a first-party Oxy origin this ALSO carries a "No Commons?"
|
|
34
|
-
* passkey link — identity is ONE thing (Commons key or browser passkey,
|
|
35
|
-
* same Oxy ID), so there is no separate "sign in with a passkey" button
|
|
36
|
-
* anywhere in this file, but passkey is explicitly the LIGHTWEIGHT
|
|
37
|
-
* ALTERNATIVE for someone who doesn't want to install Commons, never
|
|
38
|
-
* co-equal: same small-text-link subordination, same framing, wherever it
|
|
39
|
-
* appears. Native additionally branches on `commonsAvailability`: when
|
|
40
|
-
* Commons isn't installed, this leads with a "Get Commons" CTA instead of
|
|
41
|
-
* a same-device dead-end QR.
|
|
13
|
+
* This file owns WIRING only: the controller binding, the action handlers, and
|
|
14
|
+
* which view module renders. Every view lives in `./authChooser/`, one
|
|
15
|
+
* responsibility each:
|
|
16
|
+
*
|
|
17
|
+
* - `accounts` → `AccountsMenuView` — the signed-in Oxy account menu.
|
|
18
|
+
* - `add` / `signin` → `SignInEntryView` — ONE primary action, "Continue with
|
|
19
|
+
* Oxy" (issue #691, Phase 5). On WEB this view is transient: the flow
|
|
20
|
+
* auto-starts the instant the view is reached, because the request surface
|
|
21
|
+
* (a QR on an unknown desktop, "Check Commons on your phone" where Oxy could
|
|
22
|
+
* deliver) IS the primary route there, never something behind a second tap.
|
|
23
|
+
* - `qr` → `SignInRequestView` — the ACTIVE REQUEST: the route Oxy chose plus
|
|
24
|
+
* honest progress derived only from `snapshot.signIn`. Alternatives stay
|
|
25
|
+
* behind "Having trouble?" until the chosen route reports `routeFailed`.
|
|
26
|
+
* - `signup` → `SignUpView` — account creation, Commons-first.
|
|
42
27
|
*
|
|
43
28
|
* Per-account color re-theming uses Bloom's `APP_COLOR_PRESETS` + `BloomColorScope`
|
|
44
29
|
* (same visual language auth.oxy.so uses). Base theming is `useTheme()` + a
|
|
@@ -49,6 +34,13 @@ import type React from 'react';
|
|
|
49
34
|
export interface OxyAuthChooserProps {
|
|
50
35
|
/** Called after a completed switch, sign-in, or sign-up. */
|
|
51
36
|
onComplete?: () => void;
|
|
37
|
+
/**
|
|
38
|
+
* When false, the web sign-in entry does not auto-start a device-flow
|
|
39
|
+
* session on mount. Use for hosts (e.g. the cross-origin passkey hub) that
|
|
40
|
+
* already have a pending `authorizeCode` and must not spawn a second one.
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
autoStartSignIn?: boolean;
|
|
52
44
|
}
|
|
53
45
|
/**
|
|
54
46
|
* The account switcher + sign-in/sign-up chooser. Mounted by `OxyAccountDialogScreen`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyAuthChooser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthChooser.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"OxyAuthChooser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthChooser.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoC/B,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2UjD,CAAC;AA4BF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyConsentScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyConsentScreen.tsx"],"names":[],"mappings":"AA8BA,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"OxyConsentScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyConsentScreen.tsx"],"names":[],"mappings":"AA8BA,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAgHD,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAY,EACZ,KAAY,GACb,EAAE,qBAAqB,+BA6KvB;AAoID,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA4C5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA6OrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -3,8 +3,8 @@ import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
|
|
|
3
3
|
/**
|
|
4
4
|
* The OAuth handshake surfaced to a NATIVE third-party RP via
|
|
5
5
|
* {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
|
|
6
|
-
* (`POST /auth/oauth/token`). Web
|
|
7
|
-
*
|
|
6
|
+
* (`POST /auth/oauth/token`). Web sign-in is handled entirely by the SDK's web
|
|
7
|
+
* transport (`useOxy().startWebOAuthSignIn`) and never uses this callback.
|
|
8
8
|
*/
|
|
9
9
|
export interface OxyOAuthResult {
|
|
10
10
|
/** Deep-link URL the native auth session returned to (`?code=…&state=…`), or `null` if unobserved. */
|
|
@@ -34,8 +34,12 @@ export interface OxySignInButtonProps {
|
|
|
34
34
|
*/
|
|
35
35
|
textStyle?: StyleProp<TextStyle>;
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
37
|
+
* Overrides the button label. When omitted the button renders the ONE
|
|
38
|
+
* primary relying-party action, localized: `accountSwitcher.continueWithOxy`
|
|
39
|
+
* ("Continue with Oxy" in English). "Sign in with Oxy" remains the name of
|
|
40
|
+
* the MECHANISM — only this surface's label is "Continue with Oxy".
|
|
41
|
+
*
|
|
42
|
+
* @default localized `accountSwitcher.continueWithOxy`
|
|
39
43
|
*/
|
|
40
44
|
text?: string;
|
|
41
45
|
/**
|
|
@@ -51,18 +55,19 @@ export interface OxySignInButtonProps {
|
|
|
51
55
|
/**
|
|
52
56
|
* Exact registered redirect URI the OAuth authorization code is returned to.
|
|
53
57
|
* REQUIRED only for third-party (`type: 'third_party'`) applications, which
|
|
54
|
-
* sign in via
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
+
* sign in via OAuth + PKCE against `auth.oxy.so`. First-party / official apps
|
|
59
|
+
* open the in-app dialog and ignore this prop. If a third-party app resolves
|
|
60
|
+
* without it, the button logs an error and does nothing (it will not invent a
|
|
61
|
+
* redirect URI).
|
|
58
62
|
*/
|
|
59
63
|
oauthRedirectUri?: string;
|
|
60
64
|
/**
|
|
61
65
|
* Native only: receives the OAuth handshake after a third-party auth session
|
|
62
|
-
* so the RP can finish the token exchange. On web the
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
+
* so the RP can finish the token exchange. On web the SDK completes the flow
|
|
67
|
+
* itself — the popup transport keeps the handshake in memory, and the
|
|
68
|
+
* redirect transport reads it back from `sessionStorage` — so this is never
|
|
69
|
+
* called there. A native third-party sign-in with NO `onOAuthResult` handler
|
|
70
|
+
* cannot complete (the `state` + `code_verifier` are lost) and logs a warning.
|
|
66
71
|
*
|
|
67
72
|
* @example
|
|
68
73
|
* ```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxySignInButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxySignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAY,MAAM,cAAc,CAAC;AAoBxF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,sGAAsG;IACtG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"OxySignInButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxySignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAY,MAAM,cAAc,CAAC;AAoBxF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,sGAAsG;IACtG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6O1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The signed-in Oxy account MENU (`accounts` view) — a Google-account-menu-style
|
|
3
|
+
* full menu built entirely with NativeWind `className` (the dynamic per-account
|
|
4
|
+
* accent hex is the one inline style NativeWind cannot express). Structure:
|
|
5
|
+
*
|
|
6
|
+
* - HERO on its own chrome-free block: the current account's large pressable
|
|
7
|
+
* avatar (with a camera badge to change the photo), the greeting, the account
|
|
8
|
+
* address, and a "Manage your Oxy account" pill.
|
|
9
|
+
* - SWITCH ACCOUNT: a disclosure row whose corner animates from pill to card as
|
|
10
|
+
* the other switchable accounts + "Add another account" + "Manage accounts on
|
|
11
|
+
* this device" reveal beneath it.
|
|
12
|
+
* - OXY STORAGE: cloud + used/total + a composition meter + Upgrade / Manage chips.
|
|
13
|
+
* - MENU rows: Your data in Oxy · Oxy settings · Help & feedback · Sign out —
|
|
14
|
+
* Bloom's grouped section, the same component every other SDK settings surface
|
|
15
|
+
* uses, not a local row copy.
|
|
16
|
+
* - FOOTER: Privacy Policy · Terms of Service.
|
|
17
|
+
*
|
|
18
|
+
* All three blocks share ONE rhythm taken from that grouped section: a 12px
|
|
19
|
+
* content inset, a 12px gap after the leading element, 16px between blocks, and
|
|
20
|
+
* a 16px trailing chevron column.
|
|
21
|
+
*
|
|
22
|
+
* Collapse state is a plain `useState` toggled in the row's press handler — no
|
|
23
|
+
* effect hook, no derived-from-props sync.
|
|
24
|
+
*/
|
|
25
|
+
import type React from 'react';
|
|
26
|
+
import type { AccountDialogSnapshot } from '@oxyhq/core';
|
|
27
|
+
import { type AccountStorageModel, type AccountsMenuActions, type OxyAuthChooserHandlers, type Theme, type Translate } from './types';
|
|
28
|
+
interface AccountsMenuViewProps {
|
|
29
|
+
snapshot: AccountDialogSnapshot;
|
|
30
|
+
theme: Theme;
|
|
31
|
+
t: Translate;
|
|
32
|
+
handlers: OxyAuthChooserHandlers;
|
|
33
|
+
storage: AccountStorageModel | null;
|
|
34
|
+
menu: AccountsMenuActions;
|
|
35
|
+
}
|
|
36
|
+
declare const AccountsMenuView: React.FC<AccountsMenuViewProps>;
|
|
37
|
+
export default AccountsMenuView;
|
|
38
|
+
//# sourceMappingURL=AccountsMenuView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountsMenuView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/AccountsMenuView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,aAAa,CAAC;AAK5E,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,KAAK,EACV,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AAsEjB,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoXrD,CAAC;AA8DF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sign-in ENTRY (`signin` / `add` views) — ONE primary action.
|
|
3
|
+
*
|
|
4
|
+
* Issue #691, Phase 5: the normal experience presents no menu of authentication
|
|
5
|
+
* methods. The user sees "Continue with Oxy"; Oxy — not the user — then picks
|
|
6
|
+
* how the request reaches their Commons identity, and the request surface shows
|
|
7
|
+
* honest progress. Everything else (a QR from another device, a passkey on this
|
|
8
|
+
* device, getting Commons, creating an account) lives behind "Having trouble?".
|
|
9
|
+
*
|
|
10
|
+
* Existing accounts still render ABOVE the CTA: "continue as one of these" is a
|
|
11
|
+
* choice of WHO, not of HOW, so it is not one of the competing method buttons
|
|
12
|
+
* the issue removes.
|
|
13
|
+
*
|
|
14
|
+
* On web this view is transient — the container auto-starts the flow the instant
|
|
15
|
+
* the view is reached, because the request surface (QR, or "Check Commons on
|
|
16
|
+
* your phone") IS the primary route there, never something behind a tap.
|
|
17
|
+
*/
|
|
18
|
+
import type React from 'react';
|
|
19
|
+
import type { AccountDialogSnapshot } from '@oxyhq/core';
|
|
20
|
+
import type { OxyAuthChooserHandlers, SignInAlternatives, Theme, Translate } from './types';
|
|
21
|
+
interface SignInEntryViewProps {
|
|
22
|
+
snapshot: AccountDialogSnapshot;
|
|
23
|
+
theme: Theme;
|
|
24
|
+
t: Translate;
|
|
25
|
+
handlers: OxyAuthChooserHandlers;
|
|
26
|
+
/** The ONE primary action. Starts the flow; Oxy chooses the route from there. */
|
|
27
|
+
onContinueWithOxy: () => void;
|
|
28
|
+
alternatives: SignInAlternatives;
|
|
29
|
+
}
|
|
30
|
+
declare const SignInEntryView: React.FC<SignInEntryViewProps>;
|
|
31
|
+
export default SignInEntryView;
|
|
32
|
+
//# sourceMappingURL=SignInEntryView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInEntryView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/SignInEntryView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE5F,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,QAAQ,EAAE,sBAAsB,CAAC;IACjC,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2EnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ACTIVE REQUEST surface (`qr` view) — the route Oxy chose, plus honest
|
|
3
|
+
* progress (issue #691, Phase 5).
|
|
4
|
+
*
|
|
5
|
+
* The user already performed their one action. From here the surface only
|
|
6
|
+
* REPORTS: the route-appropriate primary visual (`RequestPrimarySurface`), the
|
|
7
|
+
* status line derived from the controller's real signals
|
|
8
|
+
* (`signInProgressLabel`), and nothing else at the same weight. Alternatives
|
|
9
|
+
* stay behind "Having trouble?" until `signIn.routeFailed` says the chosen route
|
|
10
|
+
* could not be carried out — the controller never silently cascades, so
|
|
11
|
+
* revealing them is this view's decision and this view's alone.
|
|
12
|
+
*
|
|
13
|
+
* Two surfaces take over when there is no working primary route to report on:
|
|
14
|
+
* - a FAILED request, whose reason is toasted by the container (never inline),
|
|
15
|
+
* leaves "Try again" as the primary action with the alternatives revealed;
|
|
16
|
+
* - a native device with NO Commons installed, where a same-device QR would be
|
|
17
|
+
* a dead end. There, "Get Commons" is the genuine primary route — not a
|
|
18
|
+
* fallback — so it renders as the one primary action and the QR handoff moves
|
|
19
|
+
* behind the disclosure ("I have Commons on another device").
|
|
20
|
+
*/
|
|
21
|
+
import type React from 'react';
|
|
22
|
+
import type { AccountDialogSnapshot } from '@oxyhq/core';
|
|
23
|
+
import type { SignInAlternatives, Theme, Translate } from './types';
|
|
24
|
+
interface SignInRequestViewProps {
|
|
25
|
+
snapshot: AccountDialogSnapshot;
|
|
26
|
+
theme: Theme;
|
|
27
|
+
t: Translate;
|
|
28
|
+
/** Restart the request after a failure. */
|
|
29
|
+
onRetry: () => void;
|
|
30
|
+
alternatives: SignInAlternatives;
|
|
31
|
+
}
|
|
32
|
+
declare const SignInRequestView: React.FC<SignInRequestViewProps>;
|
|
33
|
+
export default SignInRequestView;
|
|
34
|
+
//# sourceMappingURL=SignInRequestView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInRequestView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/SignInRequestView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpE,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqHvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account creation (`signup` view).
|
|
3
|
+
*
|
|
4
|
+
* Commons is ALWAYS the priority path (owner mandate) and leads everywhere it
|
|
5
|
+
* appears: native shows only "Create your identity in Commons" (or "Get Commons"
|
|
6
|
+
* first, when it is not installed); web on a first-party Oxy origin leads with
|
|
7
|
+
* the SAME "Get Commons" CTA, with inline passkey creation offered UNDERNEATH as
|
|
8
|
+
* the de-emphasized "don't want to install anything" alternative — never
|
|
9
|
+
* co-equal, never a competing button. Anywhere else (a non-Oxy web origin,
|
|
10
|
+
* before the b2 hub-relay ships) shows an honest "not available here yet"
|
|
11
|
+
* handoff instead of a broken button.
|
|
12
|
+
*/
|
|
13
|
+
import type React from 'react';
|
|
14
|
+
import type { AccountDialogSnapshot, OxyServices } from '@oxyhq/core';
|
|
15
|
+
import type { PasskeyMode, Theme, Translate } from './types';
|
|
16
|
+
interface SignUpViewProps {
|
|
17
|
+
snapshot: AccountDialogSnapshot;
|
|
18
|
+
theme: Theme;
|
|
19
|
+
t: Translate;
|
|
20
|
+
oxyServices: OxyServices;
|
|
21
|
+
passkeyMode: PasskeyMode;
|
|
22
|
+
onCreateWithPasskey: (username: string) => void;
|
|
23
|
+
createPending: boolean;
|
|
24
|
+
/** Open the auth.oxy.so hub popup (b2) — the 'hub' mode's only path. */
|
|
25
|
+
onOpenHub: () => void;
|
|
26
|
+
/** Deep-link into Commons' own identity-creation screen (installed only). */
|
|
27
|
+
onCreateIdentityInCommons: () => void;
|
|
28
|
+
/** Open the Commons store listing / landing page for this platform. */
|
|
29
|
+
onGetCommons: () => void;
|
|
30
|
+
onBackToSignIn: () => void;
|
|
31
|
+
}
|
|
32
|
+
declare const SignUpView: React.FC<SignUpViewProps>;
|
|
33
|
+
export default SignUpView;
|
|
34
|
+
//# sourceMappingURL=SignUpView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignUpView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/SignUpView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7D,UAAU,eAAe;IACvB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,6EAA6E;IAC7E,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,uEAAuE;IACvE,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqGzC,CAAC;AA8BF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "Having trouble?" progressive disclosure (issue #691, Phase 5).
|
|
3
|
+
*
|
|
4
|
+
* The normal sign-in surface presents ONE primary action. Every alternative —
|
|
5
|
+
* scanning a QR from another device, a passkey on this device, getting Commons,
|
|
6
|
+
* creating an account — lives here, hidden until the user asks for it or the
|
|
7
|
+
* chosen primary route fails.
|
|
8
|
+
*
|
|
9
|
+
* Two renderings, deliberately not one controlled component:
|
|
10
|
+
* - `revealed` (the primary route failed, or there IS no primary route): the
|
|
11
|
+
* alternatives ARE the surface's content now, so they render plainly. There
|
|
12
|
+
* is nothing left to hide them behind.
|
|
13
|
+
* - otherwise: Bloom's own `Collapsible`, whose trigger is the small
|
|
14
|
+
* "Having trouble?" affordance.
|
|
15
|
+
*
|
|
16
|
+
* Splitting on `revealed` is what keeps the open state where it belongs — inside
|
|
17
|
+
* Bloom's uncontrolled disclosure — instead of forcing a hand-rolled controlled
|
|
18
|
+
* copy of it here.
|
|
19
|
+
*/
|
|
20
|
+
import type React from 'react';
|
|
21
|
+
import type { Theme, Translate } from './types';
|
|
22
|
+
/** One alternative route out of the current surface. Always a subordinate link. */
|
|
23
|
+
export interface TroubleAction {
|
|
24
|
+
/** Stable identity for the list, and the action's `testID`. */
|
|
25
|
+
key: string;
|
|
26
|
+
label: string;
|
|
27
|
+
onPress: () => void;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface TroubleDisclosureProps {
|
|
31
|
+
actions: TroubleAction[];
|
|
32
|
+
/**
|
|
33
|
+
* `true` when the primary route could not be carried out (`signIn.routeFailed`)
|
|
34
|
+
* or the surface has no working primary at all (a failed request). The
|
|
35
|
+
* alternatives are shown without asking.
|
|
36
|
+
*/
|
|
37
|
+
revealed: boolean;
|
|
38
|
+
theme: Theme;
|
|
39
|
+
t: Translate;
|
|
40
|
+
}
|
|
41
|
+
declare const TroubleDisclosure: React.FC<TroubleDisclosureProps>;
|
|
42
|
+
export default TroubleDisclosure;
|
|
43
|
+
//# sourceMappingURL=TroubleDisclosure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TroubleDisclosure.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/TroubleDisclosure.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CACd;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA8BvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The small presentational building blocks shared across the auth chooser's
|
|
3
|
+
* views. One responsibility each, no controller access, no side effects — they
|
|
4
|
+
* take props and render.
|
|
5
|
+
*/
|
|
6
|
+
import type React from 'react';
|
|
7
|
+
import { Pressable } from 'react-native';
|
|
8
|
+
import type { SwitchableAccount } from '@oxyhq/core';
|
|
9
|
+
import { type Theme } from './types';
|
|
10
|
+
type HoverPressableProps = Omit<React.ComponentProps<typeof Pressable>, 'className'> & {
|
|
11
|
+
baseClassName: string;
|
|
12
|
+
hoverClassName: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* A `Pressable` that appends a hover-tint NativeWind token while pointer-hovered.
|
|
16
|
+
* The Metro web pipeline here does NOT emit NativeWind `hover:` variants, so hover
|
|
17
|
+
* is driven by RN's cross-platform `onHoverIn`/`onHoverOut` (they fire only on web
|
|
18
|
+
* via react-native-web; a no-op on native) toggling a plain background token —
|
|
19
|
+
* the tint stays a NativeWind class, only the trigger is JS.
|
|
20
|
+
*/
|
|
21
|
+
export declare const HoverPressable: React.FC<HoverPressableProps>;
|
|
22
|
+
/**
|
|
23
|
+
* A SUBORDINATE action: a small centred text link, never a button.
|
|
24
|
+
*
|
|
25
|
+
* This is the single visual grammar for everything that is not the surface's one
|
|
26
|
+
* primary action (issue #691) — the sign-up entry, and every alternative revealed
|
|
27
|
+
* behind "Having trouble?". Keeping them all on one component is what stops an
|
|
28
|
+
* alternative from quietly growing into a co-equal button again.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SubtleLink: React.FC<{
|
|
31
|
+
label: string;
|
|
32
|
+
theme: Theme;
|
|
33
|
+
onPress: () => void;
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
testID?: string;
|
|
36
|
+
}>;
|
|
37
|
+
/** A labelled hairline separating two blocks ("or"). */
|
|
38
|
+
export declare const Dividerish: React.FC<{
|
|
39
|
+
theme: Theme;
|
|
40
|
+
label: string;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* An account row on the sign-in entry — "continue as one of these" rather than a
|
|
44
|
+
* choice of authentication METHOD, which is why it stays above the primary CTA
|
|
45
|
+
* instead of behind the trouble disclosure.
|
|
46
|
+
*/
|
|
47
|
+
export declare const AccountRow: React.FC<{
|
|
48
|
+
account: SwitchableAccount;
|
|
49
|
+
theme: Theme;
|
|
50
|
+
switching: boolean;
|
|
51
|
+
disabled: boolean;
|
|
52
|
+
onPress: () => void;
|
|
53
|
+
}>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/primitives.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAK/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAA8B,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAKjE,KAAK,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,WAAW,CAAC,GAAG;IACrF,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAcxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAWA,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAgDA,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The PRIMARY visual of an active "Sign in with Oxy" request — one surface per
|
|
3
|
+
* route, chosen by {@link RequestPrimarySurface} from the controller's own facts.
|
|
4
|
+
*
|
|
5
|
+
* Each is a leading visual and nothing else: the status sentence underneath is
|
|
6
|
+
* owned by `signInProgressLabel`, and the alternatives by `TroubleDisclosure`.
|
|
7
|
+
* That separation is what keeps exactly one primary action on screen (issue
|
|
8
|
+
* #691) — a surface here can never grow a competing button.
|
|
9
|
+
*
|
|
10
|
+
* Anti-phishing: the QR plate encodes `signIn.qrPayload` and renders NOTHING
|
|
11
|
+
* derived from it. Application identity, origin, and scopes are resolved
|
|
12
|
+
* server-side by the approver (Commons), never read out of the payload here.
|
|
13
|
+
*/
|
|
14
|
+
import type React from 'react';
|
|
15
|
+
import { MaterialCommunityIcons } from '@expo/vector-icons';
|
|
16
|
+
import type { SignInFlowState } from '@oxyhq/core';
|
|
17
|
+
import type { Theme, Translate } from './types';
|
|
18
|
+
/** The indeterminate leading visual: the request exists but has nothing to show yet. */
|
|
19
|
+
export declare const PreparingSurface: React.FC;
|
|
20
|
+
/** The leading glyph for a route whose surface is elsewhere (the phone, Commons). */
|
|
21
|
+
export declare const RouteGlyph: React.FC<{
|
|
22
|
+
name: keyof typeof MaterialCommunityIcons.glyphMap;
|
|
23
|
+
color: string;
|
|
24
|
+
}>;
|
|
25
|
+
/** The cross-device handoff: a headline over the fixed-contrast QR plate. */
|
|
26
|
+
export declare const QrPlate: React.FC<{
|
|
27
|
+
payload: string;
|
|
28
|
+
theme: Theme;
|
|
29
|
+
t: Translate;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* The acquisition surface. For someone with no Commons at all this is the
|
|
33
|
+
* GENUINE primary route, not a fallback — a same-device QR they would have to
|
|
34
|
+
* scan with the very screen showing it is a dead end — so it renders as the
|
|
35
|
+
* surface's one primary action.
|
|
36
|
+
*/
|
|
37
|
+
export declare const GetCommonsPrompt: React.FC<{
|
|
38
|
+
theme: Theme;
|
|
39
|
+
t: Translate;
|
|
40
|
+
onGetCommons: () => void;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* The one primary visual for the request's current state.
|
|
44
|
+
*
|
|
45
|
+
* Ordered most-terminal-first, so a late-arriving route can never pull the
|
|
46
|
+
* surface back from "confirming" to a QR the user has already scanned. Every
|
|
47
|
+
* branch reads only controller facts — there is no local timeline.
|
|
48
|
+
*/
|
|
49
|
+
export declare const RequestPrimarySurface: React.FC<{
|
|
50
|
+
signIn: SignInFlowState;
|
|
51
|
+
theme: Theme;
|
|
52
|
+
t: Translate;
|
|
53
|
+
}>;
|
|
54
|
+
//# sourceMappingURL=requestSurfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestSurfaces.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/requestSurfaces.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAK5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAShD,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAqD,CAAC;AAE3F,qFAAqF;AACrF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,IAAI,EAAE,MAAM,OAAO,sBAAsB,CAAC,QAAQ,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;CACf,CAEA,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,CAa7E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAcA,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CACd,CAmBA,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sign-in status line's copy (issue #691, Phase 5).
|
|
3
|
+
*
|
|
4
|
+
* One responsibility: map the controller's DERIVED `signIn.progress` — plus the
|
|
5
|
+
* chosen route, which only disambiguates the generic waiting step — onto a
|
|
6
|
+
* sentence. Pure and total, with no clock and no state of its own: the line can
|
|
7
|
+
* therefore only advance when the controller observed a real signal, never on a
|
|
8
|
+
* timer and never optimistically.
|
|
9
|
+
*
|
|
10
|
+
* The ladder the user sees:
|
|
11
|
+
*
|
|
12
|
+
* Preparing request
|
|
13
|
+
* Check Commons on your phone
|
|
14
|
+
* Opened in Commons
|
|
15
|
+
* Confirming identity
|
|
16
|
+
* Identity confirmed
|
|
17
|
+
*/
|
|
18
|
+
import type { CommonsDeliveryRoute, SignInProgress } from '@oxyhq/core';
|
|
19
|
+
import type { Translate } from './types';
|
|
20
|
+
/**
|
|
21
|
+
* The status sentence for the active request, or `null` when there is nothing
|
|
22
|
+
* honest to say (no live request, or a terminal error — which is toasted, never
|
|
23
|
+
* rendered inline).
|
|
24
|
+
*/
|
|
25
|
+
export declare function signInProgressLabel(progress: SignInProgress, route: CommonsDeliveryRoute | null, t: Translate): string | null;
|
|
26
|
+
//# sourceMappingURL=signInProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signInProgress.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/signInProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,CAAC,EAAE,SAAS,GACX,MAAM,GAAG,IAAI,CAuBf"}
|