@oxyhq/services 22.12.5 → 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 +3 -2
- 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 +33 -49
- 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 +4 -3
- 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 +35 -50
- 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 +11 -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 +11 -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 +7 -6
- package/src/ui/utils/deliveryPlatform.ts +65 -0
- package/src/ui/utils/oauthReturn.ts +38 -62
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/commonjs/ui/components/FontLoader.js +0 -35
- package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
- package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
- package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
- package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/lib/module/ui/components/FontLoader.js +0 -29
- package/lib/module/ui/components/FontLoader.js.map +0 -1
- package/lib/module/ui/components/FontLoader.native.js +0 -83
- package/lib/module/ui/components/FontLoader.native.js.map +0 -1
- package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
- package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/src/ui/components/FontLoader.native.tsx +0 -88
- package/src/ui/components/FontLoader.tsx +0 -27
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RouteGlyph = exports.RequestPrimarySurface = exports.QrPlate = exports.PreparingSurface = exports.GetCommonsPrompt = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _vectorIcons = require("@expo/vector-icons");
|
|
9
|
+
var _reactNativeQrcodeSvg = _interopRequireDefault(require("react-native-qrcode-svg"));
|
|
10
|
+
var _button = require("@oxyhq/bloom/button");
|
|
11
|
+
var _loading = require("@oxyhq/bloom/loading");
|
|
12
|
+
var _typography = require("@oxyhq/bloom/typography");
|
|
13
|
+
var _styles = require("./styles.js");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
/**
|
|
17
|
+
* The PRIMARY visual of an active "Sign in with Oxy" request — one surface per
|
|
18
|
+
* route, chosen by {@link RequestPrimarySurface} from the controller's own facts.
|
|
19
|
+
*
|
|
20
|
+
* Each is a leading visual and nothing else: the status sentence underneath is
|
|
21
|
+
* owned by `signInProgressLabel`, and the alternatives by `TroubleDisclosure`.
|
|
22
|
+
* That separation is what keeps exactly one primary action on screen (issue
|
|
23
|
+
* #691) — a surface here can never grow a competing button.
|
|
24
|
+
*
|
|
25
|
+
* Anti-phishing: the QR plate encodes `signIn.qrPayload` and renders NOTHING
|
|
26
|
+
* derived from it. Application identity, origin, and scopes are resolved
|
|
27
|
+
* server-side by the approver (Commons), never read out of the payload here.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/** High-contrast QR colors — intentionally fixed (NOT themed) for scan reliability. */
|
|
31
|
+
const QR_PLATE_BG = '#FFFFFF';
|
|
32
|
+
const QR_FOREGROUND = '#000000';
|
|
33
|
+
const QR_SIZE = 196;
|
|
34
|
+
/** The leading route glyph, sized to sit where the QR plate otherwise would. */
|
|
35
|
+
const ROUTE_GLYPH_SIZE = 44;
|
|
36
|
+
|
|
37
|
+
/** The indeterminate leading visual: the request exists but has nothing to show yet. */
|
|
38
|
+
const PreparingSurface = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.Loading, {
|
|
39
|
+
variant: "spinner",
|
|
40
|
+
size: "large"
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
/** The leading glyph for a route whose surface is elsewhere (the phone, Commons). */
|
|
44
|
+
exports.PreparingSurface = PreparingSurface;
|
|
45
|
+
const RouteGlyph = ({
|
|
46
|
+
name,
|
|
47
|
+
color
|
|
48
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
49
|
+
name: name,
|
|
50
|
+
size: ROUTE_GLYPH_SIZE,
|
|
51
|
+
color: color
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
/** The cross-device handoff: a headline over the fixed-contrast QR plate. */
|
|
55
|
+
exports.RouteGlyph = RouteGlyph;
|
|
56
|
+
const QrPlate = ({
|
|
57
|
+
payload,
|
|
58
|
+
theme,
|
|
59
|
+
t
|
|
60
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
61
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
62
|
+
style: [_styles.authChooserStyles.qrHeadline, {
|
|
63
|
+
color: theme.colors.text
|
|
64
|
+
}],
|
|
65
|
+
children: t('accountSwitcher.qrHeadline')
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
67
|
+
style: _styles.authChooserStyles.qrPlate,
|
|
68
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeQrcodeSvg.default, {
|
|
69
|
+
value: payload,
|
|
70
|
+
size: QR_SIZE,
|
|
71
|
+
backgroundColor: QR_PLATE_BG,
|
|
72
|
+
color: QR_FOREGROUND
|
|
73
|
+
})
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The acquisition surface. For someone with no Commons at all this is the
|
|
79
|
+
* GENUINE primary route, not a fallback — a same-device QR they would have to
|
|
80
|
+
* scan with the very screen showing it is a dead end — so it renders as the
|
|
81
|
+
* surface's one primary action.
|
|
82
|
+
*/
|
|
83
|
+
exports.QrPlate = QrPlate;
|
|
84
|
+
const GetCommonsPrompt = ({
|
|
85
|
+
theme,
|
|
86
|
+
t,
|
|
87
|
+
onGetCommons
|
|
88
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
89
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
90
|
+
style: [_styles.authChooserStyles.mutedText, {
|
|
91
|
+
color: theme.colors.textSecondary
|
|
92
|
+
}],
|
|
93
|
+
children: t('accountSwitcher.commonsNotInstalled')
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
95
|
+
variant: "primary",
|
|
96
|
+
onPress: onGetCommons,
|
|
97
|
+
style: _styles.authChooserStyles.primaryButton,
|
|
98
|
+
testID: "get-commons-button",
|
|
99
|
+
children: t('accountSwitcher.getCommons')
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* The one primary visual for the request's current state.
|
|
105
|
+
*
|
|
106
|
+
* Ordered most-terminal-first, so a late-arriving route can never pull the
|
|
107
|
+
* surface back from "confirming" to a QR the user has already scanned. Every
|
|
108
|
+
* branch reads only controller facts — there is no local timeline.
|
|
109
|
+
*/
|
|
110
|
+
exports.GetCommonsPrompt = GetCommonsPrompt;
|
|
111
|
+
const RequestPrimarySurface = ({
|
|
112
|
+
signIn,
|
|
113
|
+
theme,
|
|
114
|
+
t
|
|
115
|
+
}) => {
|
|
116
|
+
if (signIn.progress === 'identity-confirmed') {
|
|
117
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteGlyph, {
|
|
118
|
+
name: "check-circle",
|
|
119
|
+
color: theme.colors.success
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (signIn.progress === 'confirming-identity') {
|
|
123
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PreparingSurface, {});
|
|
124
|
+
}
|
|
125
|
+
if (signIn.route === 'qr' && signIn.qrPayload) {
|
|
126
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(QrPlate, {
|
|
127
|
+
payload: signIn.qrPayload,
|
|
128
|
+
theme: theme,
|
|
129
|
+
t: t
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (signIn.route === 'await-push') {
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteGlyph, {
|
|
134
|
+
name: "cellphone-message",
|
|
135
|
+
color: theme.colors.primary
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (signIn.route === 'open-commons') {
|
|
139
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteGlyph, {
|
|
140
|
+
name: "open-in-app",
|
|
141
|
+
color: theme.colors.primary
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
// No route resolved yet (or a route with no payload to render): the request is
|
|
145
|
+
// being prepared. Honest, and the only state that is not route-specific.
|
|
146
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PreparingSurface, {});
|
|
147
|
+
};
|
|
148
|
+
exports.RequestPrimarySurface = RequestPrimarySurface;
|
|
149
|
+
//# sourceMappingURL=requestSurfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_vectorIcons","_reactNativeQrcodeSvg","_interopRequireDefault","_button","_loading","_typography","_styles","_jsxRuntime","e","__esModule","default","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","ROUTE_GLYPH_SIZE","PreparingSurface","jsx","Loading","variant","size","exports","RouteGlyph","name","color","MaterialCommunityIcons","QrPlate","payload","theme","t","jsxs","Fragment","children","Text","style","styles","qrHeadline","colors","text","View","qrPlate","value","backgroundColor","GetCommonsPrompt","onGetCommons","mutedText","textSecondary","Button","onPress","primaryButton","testID","RequestPrimarySurface","signIn","progress","success","route","qrPayload","primary"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/requestSurfaces.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.signInProgressLabel = signInProgressLabel;
|
|
7
|
+
/**
|
|
8
|
+
* The sign-in status line's copy (issue #691, Phase 5).
|
|
9
|
+
*
|
|
10
|
+
* One responsibility: map the controller's DERIVED `signIn.progress` — plus the
|
|
11
|
+
* chosen route, which only disambiguates the generic waiting step — onto a
|
|
12
|
+
* sentence. Pure and total, with no clock and no state of its own: the line can
|
|
13
|
+
* therefore only advance when the controller observed a real signal, never on a
|
|
14
|
+
* timer and never optimistically.
|
|
15
|
+
*
|
|
16
|
+
* The ladder the user sees:
|
|
17
|
+
*
|
|
18
|
+
* Preparing request
|
|
19
|
+
* Check Commons on your phone
|
|
20
|
+
* Opened in Commons
|
|
21
|
+
* Confirming identity
|
|
22
|
+
* Identity confirmed
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The status sentence for the active request, or `null` when there is nothing
|
|
27
|
+
* honest to say (no live request, or a terminal error — which is toasted, never
|
|
28
|
+
* rendered inline).
|
|
29
|
+
*/
|
|
30
|
+
function signInProgressLabel(progress, route, t) {
|
|
31
|
+
switch (progress) {
|
|
32
|
+
case 'idle':
|
|
33
|
+
return null;
|
|
34
|
+
case 'preparing':
|
|
35
|
+
return t('accountSwitcher.progress.preparing');
|
|
36
|
+
case 'awaiting-approval':
|
|
37
|
+
// The only step whose copy depends on the route: waiting means something
|
|
38
|
+
// different when the user is holding a QR than when Commons was opened
|
|
39
|
+
// for them. `await-push` never reaches here — a chosen push route is
|
|
40
|
+
// itself a confirmed dispatch, so it derives to `delivered-to-commons`.
|
|
41
|
+
if (route === 'qr') return t('accountSwitcher.progress.scanWithCommons');
|
|
42
|
+
if (route === 'open-commons') return t('accountSwitcher.progress.continueInCommons');
|
|
43
|
+
return t('accountSwitcher.progress.awaitingApproval');
|
|
44
|
+
case 'delivered-to-commons':
|
|
45
|
+
return t('accountSwitcher.progress.checkCommons');
|
|
46
|
+
case 'opened-in-commons':
|
|
47
|
+
return t('accountSwitcher.progress.openedInCommons');
|
|
48
|
+
case 'confirming-identity':
|
|
49
|
+
return t('accountSwitcher.progress.confirming');
|
|
50
|
+
case 'identity-confirmed':
|
|
51
|
+
return t('accountSwitcher.progress.confirmed');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=signInProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["signInProgressLabel","progress","route","t"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/signInProgress.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CACjCC,QAAwB,EACxBC,KAAkC,EAClCC,CAAY,EACG;EACf,QAAQF,QAAQ;IACd,KAAK,MAAM;MACT,OAAO,IAAI;IACb,KAAK,WAAW;MACd,OAAOE,CAAC,CAAC,oCAAoC,CAAC;IAChD,KAAK,mBAAmB;MACtB;MACA;MACA;MACA;MACA,IAAID,KAAK,KAAK,IAAI,EAAE,OAAOC,CAAC,CAAC,0CAA0C,CAAC;MACxE,IAAID,KAAK,KAAK,cAAc,EAAE,OAAOC,CAAC,CAAC,4CAA4C,CAAC;MACpF,OAAOA,CAAC,CAAC,2CAA2C,CAAC;IACvD,KAAK,sBAAsB;MACzB,OAAOA,CAAC,CAAC,uCAAuC,CAAC;IACnD,KAAK,mBAAmB;MACtB,OAAOA,CAAC,CAAC,0CAA0C,CAAC;IACtD,KAAK,qBAAqB;MACxB,OAAOA,CAAC,CAAC,qCAAqC,CAAC;IACjD,KAAK,oBAAoB;MACvB,OAAOA,CAAC,CAAC,oCAAoC,CAAC;EAClD;AACF","ignoreList":[]}
|
|
@@ -12,6 +12,10 @@ const QR_PLATE_BG = '#FFFFFF';
|
|
|
12
12
|
* Shared styles for `OxyAuthChooser`'s views. Extracted from `OxyAccountDialogScreen`
|
|
13
13
|
* so both the Dialog-wrapped host and any bare host (e.g. a future
|
|
14
14
|
* auth.oxy.so hub page) render identically without duplicating a StyleSheet.
|
|
15
|
+
*
|
|
16
|
+
* Only what NativeWind cannot express lives here: the animated collapse, the
|
|
17
|
+
* fixed-contrast QR plate, per-account accent rings, and the small subordinate
|
|
18
|
+
* text-link rhythm every view's fallback affordances share.
|
|
15
19
|
*/
|
|
16
20
|
const authChooserStyles = exports.authChooserStyles = _reactNative.StyleSheet.create({
|
|
17
21
|
rows: {
|
|
@@ -196,6 +200,20 @@ const authChooserStyles = exports.authChooserStyles = _reactNative.StyleSheet.cr
|
|
|
196
200
|
padding: 16,
|
|
197
201
|
borderRadius: 16,
|
|
198
202
|
backgroundColor: QR_PLATE_BG
|
|
203
|
+
},
|
|
204
|
+
/**
|
|
205
|
+
* The revealed "Having trouble?" alternatives — a tight stack of subordinate
|
|
206
|
+
* text links. They share `footerLink`'s rhythm, so the stack itself only has
|
|
207
|
+
* to stop them drifting apart.
|
|
208
|
+
*/
|
|
209
|
+
troubleActions: {
|
|
210
|
+
width: '100%',
|
|
211
|
+
alignItems: 'center'
|
|
212
|
+
},
|
|
213
|
+
/** The disclosure trigger, aligned with the subordinate links it reveals. */
|
|
214
|
+
troubleTrigger: {
|
|
215
|
+
alignSelf: 'center',
|
|
216
|
+
marginTop: 12
|
|
199
217
|
}
|
|
200
218
|
});
|
|
201
|
-
//# sourceMappingURL=
|
|
219
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","QR_PLATE_BG","authChooserStyles","exports","StyleSheet","create","rows","width","gap","accountRow","flexDirection","alignItems","borderWidth","hairlineWidth","borderRadius","paddingVertical","paddingHorizontal","rowDisabled","opacity","avatarRing","padding","rowMeta","flex","minWidth","rowName","fontSize","fontWeight","rowHandle","marginTop","collapse","overflow","collapseMeasure","hero","paddingTop","paddingBottom","currentAvatarRing","position","top","left","right","bottom","heroAvatarPressable","heroAvatarRing","heroNameBlock","heroGreeting","textAlign","heroAddress","chevronCircle","height","justifyContent","footerLink","alignSelf","linkText","signInBlock","primaryButton","secondaryButton","usernameInput","dividerRow","marginVertical","dividerLine","dividerText","marginHorizontal","centeredBlock","mutedText","qrHeadline","qrPlate","backgroundColor","troubleActions","troubleTrigger"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveAccentHex = resolveAccentHex;
|
|
7
|
+
exports.toPreset = toPreset;
|
|
8
|
+
var _theme = require("@oxyhq/bloom/theme");
|
|
9
|
+
/**
|
|
10
|
+
* Shared types + per-account color resolution for the auth chooser's views.
|
|
11
|
+
*
|
|
12
|
+
* One responsibility: the vocabulary every view module in this folder speaks
|
|
13
|
+
* (theme/translate aliases, the container-supplied action bundles, and the
|
|
14
|
+
* account accent). No JSX, no state, no I/O — so a view can import it without
|
|
15
|
+
* dragging any other view in.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** The account-row actions the container wires for the switcher + menu views. */
|
|
19
|
+
|
|
20
|
+
/** Used/total storage bytes for the "Oxy storage" block, or `null` when unknown. */
|
|
21
|
+
|
|
22
|
+
/** The account-menu row actions the container wires (deep-links / sheets / sign-out). */
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Where a WebAuthn ceremony can run from the current origin.
|
|
26
|
+
*
|
|
27
|
+
* A credential minted for `oxy.so` can only be ASSERTED there (or a loopback
|
|
28
|
+
* dev host) — a hard, browser-enforced RP-ID boundary, not feature detection.
|
|
29
|
+
* `'direct'` = a first-party Oxy web origin, the ceremony runs here.
|
|
30
|
+
* `'hub'` = any other web origin; it runs in the auth.oxy.so popup instead.
|
|
31
|
+
* `'none'` = native, where Commons owns identity.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Everything that is NOT the sign-in surface's one primary action.
|
|
36
|
+
*
|
|
37
|
+
* The container wires these once; each view decides which of them are genuine
|
|
38
|
+
* alternatives to ITS primary surface and hands those to `TroubleDisclosure`
|
|
39
|
+
* (issue #691: fallbacks stay hidden until the user asks or the primary route
|
|
40
|
+
* fails). A view never renders one of these as a button.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Resolve an account's stored color (a named Bloom preset, e.g. `'purple'`) to
|
|
45
|
+
* a concrete brand hex for the row accent. Falls back to the theme primary when
|
|
46
|
+
* the account has no color or the value is not a recognized preset, so the accent
|
|
47
|
+
* renders in EVERY consumer regardless of NativeWind availability.
|
|
48
|
+
*/
|
|
49
|
+
function resolveAccentHex(color, fallback) {
|
|
50
|
+
const preset = toPreset(color);
|
|
51
|
+
return preset ? _theme.APP_COLOR_PRESETS[preset].hex : fallback;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Narrow a stored color string to a known `AppColorName`, or `undefined`. */
|
|
55
|
+
function toPreset(color) {
|
|
56
|
+
if (!color) return undefined;
|
|
57
|
+
return _theme.APP_COLOR_NAMES.includes(color) ? color : undefined;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_theme","require","resolveAccentHex","color","fallback","preset","toPreset","APP_COLOR_PRESETS","hex","undefined","APP_COLOR_NAMES","includes"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/types.ts"],"mappings":";;;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA;AATA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;;AAcA;;AAMA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,KAAoB,EAAEC,QAAgB,EAAU;EAC/E,MAAMC,MAAM,GAAGC,QAAQ,CAACH,KAAK,CAAC;EAC9B,OAAOE,MAAM,GAAGE,wBAAiB,CAACF,MAAM,CAAC,CAACG,GAAG,GAAGJ,QAAQ;AAC1D;;AAEA;AACO,SAASE,QAAQA,CAACH,KAAoB,EAA4B;EACvE,IAAI,CAACA,KAAK,EAAE,OAAOM,SAAS;EAC5B,OAAQC,sBAAe,CAAuBC,QAAQ,CAACR,KAAK,CAAC,GACxDA,KAAK,GACNM,SAAS;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useUsernameAvailability = useUsernameAvailability;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _bloom = require("@oxyhq/bloom");
|
|
9
|
+
/**
|
|
10
|
+
* Debounced username-availability check over the existing SDK method.
|
|
11
|
+
*
|
|
12
|
+
* One responsibility: turn keystrokes into an `idle | checking | available |
|
|
13
|
+
* taken` verdict without racing. A sequence guard drops superseded responses,
|
|
14
|
+
* and a NETWORK failure resets the (now stale) verdict and toasts — it never
|
|
15
|
+
* paints an inline error inside the dialog (owner mandate).
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** Keystrokes settle for this long before a check is issued. */
|
|
19
|
+
const DEBOUNCE_MS = 400;
|
|
20
|
+
/** Shorter than this and there is nothing worth asking the server about. */
|
|
21
|
+
const MIN_USERNAME_LENGTH = 3;
|
|
22
|
+
function useUsernameAvailability(oxyServices, t) {
|
|
23
|
+
const [status, setStatus] = (0, _react.useState)('idle');
|
|
24
|
+
const timerRef = (0, _react.useRef)(null);
|
|
25
|
+
const requestSeqRef = (0, _react.useRef)(0);
|
|
26
|
+
const check = (0, _react.useCallback)(value => {
|
|
27
|
+
if (timerRef.current) clearTimeout(timerRef.current);
|
|
28
|
+
const seq = ++requestSeqRef.current;
|
|
29
|
+
if (!value || value.length < MIN_USERNAME_LENGTH) {
|
|
30
|
+
setStatus('idle');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
setStatus('checking');
|
|
34
|
+
timerRef.current = setTimeout(() => {
|
|
35
|
+
void oxyServices.checkUsernameAvailability(value).then(result => {
|
|
36
|
+
if (seq !== requestSeqRef.current) return; // superseded by a newer check
|
|
37
|
+
setStatus(result.available ? 'available' : 'taken');
|
|
38
|
+
}).catch(() => {
|
|
39
|
+
if (seq !== requestSeqRef.current) return;
|
|
40
|
+
setStatus('idle');
|
|
41
|
+
_bloom.toast.error(t('accounts.create.username.checkFailed'));
|
|
42
|
+
});
|
|
43
|
+
}, DEBOUNCE_MS);
|
|
44
|
+
}, [oxyServices, t]);
|
|
45
|
+
return {
|
|
46
|
+
status,
|
|
47
|
+
check
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=useUsernameAvailability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_bloom","DEBOUNCE_MS","MIN_USERNAME_LENGTH","useUsernameAvailability","oxyServices","t","status","setStatus","useState","timerRef","useRef","requestSeqRef","check","useCallback","value","current","clearTimeout","seq","length","setTimeout","checkUsernameAvailability","then","result","available","catch","toast","error"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/useUsernameAvailability.ts"],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA,MAAME,WAAW,GAAG,GAAG;AACvB;AACA,MAAMC,mBAAmB,GAAG,CAAC;AAEtB,SAASC,uBAAuBA,CACrCC,WAAwB,EACxBC,CAAY,EAIZ;EACA,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAiB,MAAM,CAAC;EAC5D,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAuC,IAAI,CAAC;EACnE,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC;EAE/B,MAAME,KAAK,GAAG,IAAAC,kBAAW,EACtBC,KAAa,IAAK;IACjB,IAAIL,QAAQ,CAACM,OAAO,EAAEC,YAAY,CAACP,QAAQ,CAACM,OAAO,CAAC;IACpD,MAAME,GAAG,GAAG,EAAEN,aAAa,CAACI,OAAO;IACnC,IAAI,CAACD,KAAK,IAAIA,KAAK,CAACI,MAAM,GAAGhB,mBAAmB,EAAE;MAChDK,SAAS,CAAC,MAAM,CAAC;MACjB;IACF;IACAA,SAAS,CAAC,UAAU,CAAC;IACrBE,QAAQ,CAACM,OAAO,GAAGI,UAAU,CAAC,MAAM;MAClC,KAAKf,WAAW,CACbgB,yBAAyB,CAACN,KAAK,CAAC,CAChCO,IAAI,CAAEC,MAAM,IAAK;QAChB,IAAIL,GAAG,KAAKN,aAAa,CAACI,OAAO,EAAE,OAAO,CAAC;QAC3CR,SAAS,CAACe,MAAM,CAACC,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;MACrD,CAAC,CAAC,CACDC,KAAK,CAAC,MAAM;QACX,IAAIP,GAAG,KAAKN,aAAa,CAACI,OAAO,EAAE;QACnCR,SAAS,CAAC,MAAM,CAAC;QACjBkB,YAAK,CAACC,KAAK,CAACrB,CAAC,CAAC,sCAAsC,CAAC,CAAC;MACxD,CAAC,CAAC;IACN,CAAC,EAAEJ,WAAW,CAAC;EACjB,CAAC,EACD,CAACG,WAAW,EAAEC,CAAC,CACjB,CAAC;EAED,OAAO;IAAEC,MAAM;IAAEM;EAAM,CAAC;AAC1B","ignoreList":[]}
|