@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
|
@@ -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"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Shared styles for `OxyAuthChooser`'s views. Extracted from `OxyAccountDialogScreen`
|
|
3
3
|
* so both the Dialog-wrapped host and any bare host (e.g. a future
|
|
4
4
|
* auth.oxy.so hub page) render identically without duplicating a StyleSheet.
|
|
5
|
+
*
|
|
6
|
+
* Only what NativeWind cannot express lives here: the animated collapse, the
|
|
7
|
+
* fixed-contrast QR plate, per-account accent rings, and the small subordinate
|
|
8
|
+
* text-link rhythm every view's fallback affordances share.
|
|
5
9
|
*/
|
|
6
10
|
export declare const authChooserStyles: {
|
|
7
11
|
rows: {
|
|
@@ -187,5 +191,19 @@ export declare const authChooserStyles: {
|
|
|
187
191
|
borderRadius: number;
|
|
188
192
|
backgroundColor: string;
|
|
189
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* The revealed "Having trouble?" alternatives — a tight stack of subordinate
|
|
196
|
+
* text links. They share `footerLink`'s rhythm, so the stack itself only has
|
|
197
|
+
* to stop them drifting apart.
|
|
198
|
+
*/
|
|
199
|
+
troubleActions: {
|
|
200
|
+
width: "100%";
|
|
201
|
+
alignItems: "center";
|
|
202
|
+
};
|
|
203
|
+
/** The disclosure trigger, aligned with the subordinate links it reveals. */
|
|
204
|
+
troubleTrigger: {
|
|
205
|
+
alignSelf: "center";
|
|
206
|
+
marginTop: number;
|
|
207
|
+
};
|
|
190
208
|
};
|
|
191
|
-
//# sourceMappingURL=
|
|
209
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/authChooser/styles.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkC5B;;;;;OAKG;;;;;;;IAOH;;;;;;OAMG;;;;;;;IAOH;;;;;OAKG;;;;;;;;;;IAUH;;;;OAIG;;;;IAIH,0EAA0E;;;;;;;;;;IAU1E;qFACiF;;;;;;;;;;IAUjF,8EAA8E;;;;;IAK9E;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyEH;;;;OAIG;;;;;IAKH,6EAA6E;;;;;CAK7E,CAAC"}
|