@oxy.so/services 4.0.6 → 6.0.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 +1 -1
- package/lib/commonjs/assets/assets/signIn/slide-1.jpg +0 -0
- package/lib/commonjs/assets/assets/signIn/slide-1.jpg.d.ts +3 -0
- package/lib/commonjs/assets/assets/signIn/slide-2.jpg +0 -0
- package/lib/commonjs/assets/assets/signIn/slide-2.jpg.d.ts +3 -0
- package/lib/commonjs/assets/assets/signIn/slide-3.jpg +0 -0
- package/lib/commonjs/assets/assets/signIn/slide-3.jpg.d.ts +3 -0
- package/lib/commonjs/assets/assets/signIn/slide-4.jpg +0 -0
- package/lib/commonjs/assets/assets/signIn/slide-4.jpg.d.ts +3 -0
- package/lib/commonjs/assets/signIn/slide-1.jpg +0 -0
- package/lib/commonjs/assets/signIn/slide-2.jpg +0 -0
- package/lib/commonjs/assets/signIn/slide-3.jpg +0 -0
- package/lib/commonjs/assets/signIn/slide-4.jpg +0 -0
- package/lib/commonjs/index.js +45 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +26 -1
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/FollowTargetButton.js +6 -1
- package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +11 -58
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthChooser.js +36 -44
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +0 -2
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +29 -8
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/primitives.js +7 -52
- package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js +1 -7
- package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/styles.js +0 -31
- package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/types.js +2 -2
- package/lib/commonjs/ui/components/followButtonAccessibility.js +72 -0
- package/lib/commonjs/ui/components/followButtonAccessibility.js.map +1 -0
- package/lib/commonjs/ui/components/oauthNavigation.js +1 -1
- package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js +161 -0
- package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js +111 -0
- package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js +160 -0
- package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxySignInPanel.js +371 -0
- package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js +78 -0
- package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/artwork.js +21 -0
- package/lib/commonjs/ui/components/signIn/artwork.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/passkeyError.js +46 -0
- package/lib/commonjs/ui/components/signIn/passkeyError.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/signInMethods.js +46 -0
- package/lib/commonjs/ui/components/signIn/signInMethods.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +16 -16
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/commitSessionFlow.js +0 -43
- package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js +15 -1
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +1 -3
- package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
- package/lib/commonjs/ui/oauth/browserAuthTransport.js +11 -4
- package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -1
- package/lib/commonjs/ui/oauth/oauthHandshake.js +3 -0
- package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -1
- package/lib/commonjs/ui/oauth/oauthPopup.js +2 -3
- package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +2 -3
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/session/authStore.js +0 -21
- package/lib/commonjs/ui/session/authStore.js.map +1 -1
- package/lib/commonjs/ui/utils/accountDeletionHandoff.js +1 -1
- package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
- package/lib/module/assets/assets/signIn/slide-1.jpg +0 -0
- package/lib/module/assets/assets/signIn/slide-1.jpg.d.ts +3 -0
- package/lib/module/assets/assets/signIn/slide-2.jpg +0 -0
- package/lib/module/assets/assets/signIn/slide-2.jpg.d.ts +3 -0
- package/lib/module/assets/assets/signIn/slide-3.jpg +0 -0
- package/lib/module/assets/assets/signIn/slide-3.jpg.d.ts +3 -0
- package/lib/module/assets/assets/signIn/slide-4.jpg +0 -0
- package/lib/module/assets/assets/signIn/slide-4.jpg.d.ts +3 -0
- package/lib/module/assets/signIn/slide-1.jpg +0 -0
- package/lib/module/assets/signIn/slide-2.jpg +0 -0
- package/lib/module/assets/signIn/slide-3.jpg +0 -0
- package/lib/module/assets/signIn/slide-4.jpg +0 -0
- package/lib/module/index.js +7 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +26 -1
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/FollowTargetButton.js +6 -1
- package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialogScreen.js +14 -59
- package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js +37 -45
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +0 -2
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +21 -2
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/module/ui/components/authChooser/primitives.js +1 -44
- package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/module/ui/components/authChooser/signInFailureMessage.js +1 -7
- package/lib/module/ui/components/authChooser/signInFailureMessage.js.map +1 -1
- package/lib/module/ui/components/authChooser/styles.js +0 -31
- package/lib/module/ui/components/authChooser/styles.js.map +1 -1
- package/lib/module/ui/components/authChooser/types.js +2 -2
- package/lib/module/ui/components/followButtonAccessibility.js +66 -0
- package/lib/module/ui/components/followButtonAccessibility.js.map +1 -0
- package/lib/module/ui/components/oauthNavigation.js +1 -1
- package/lib/module/ui/components/signIn/InlineCommonsQr.js +157 -0
- package/lib/module/ui/components/signIn/InlineCommonsQr.js.map +1 -0
- package/lib/module/ui/components/signIn/OxyAccountPicker.js +106 -0
- package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -0
- package/lib/module/ui/components/signIn/OxyAuthScreen.js +151 -0
- package/lib/module/ui/components/signIn/OxyAuthScreen.js.map +1 -0
- package/lib/module/ui/components/signIn/OxySignInPanel.js +366 -0
- package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -0
- package/lib/module/ui/components/signIn/OxySignUpPanel.js +75 -0
- package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -0
- package/lib/module/ui/components/signIn/artwork.js +16 -0
- package/lib/module/ui/components/signIn/artwork.js.map +1 -0
- package/lib/module/ui/components/signIn/passkeyError.js +40 -0
- package/lib/module/ui/components/signIn/passkeyError.js.map +1 -0
- package/lib/module/ui/components/signIn/signInMethods.js +42 -0
- package/lib/module/ui/components/signIn/signInMethods.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +17 -17
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/commitSessionFlow.js +0 -42
- package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/module/ui/hooks/accountDialogSnapshot.js +14 -1
- package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/module/ui/hooks/useDeviceSwitcher.js +3 -5
- package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
- package/lib/module/ui/oauth/browserAuthTransport.js +11 -4
- package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -1
- package/lib/module/ui/oauth/oauthHandshake.js +3 -0
- package/lib/module/ui/oauth/oauthHandshake.js.map +1 -1
- package/lib/module/ui/oauth/oauthPopup.js +2 -3
- package/lib/module/ui/oauth/oauthPopup.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +3 -4
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/session/authStore.js +1 -22
- package/lib/module/ui/session/authStore.js.map +1 -1
- package/lib/module/ui/utils/accountDeletionHandoff.js +2 -2
- package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
- package/lib/typescript/assets/signIn/slide-1.jpg.d.ts +3 -0
- package/lib/typescript/assets/signIn/slide-2.jpg.d.ts +3 -0
- package/lib/typescript/assets/signIn/slide-3.jpg.d.ts +3 -0
- package/lib/typescript/assets/signIn/slide-4.jpg.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts +8 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +6 -0
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.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 +5 -12
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +0 -19
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +1 -5
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts +0 -31
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +3 -3
- package/lib/typescript/commonjs/ui/components/followButtonAccessibility.d.ts +48 -0
- package/lib/typescript/commonjs/ui/components/followButtonAccessibility.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts +20 -0
- package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts +43 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts +43 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts +17 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/artwork.d.ts +8 -0
- package/lib/typescript/commonjs/ui/components/signIn/artwork.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts +16 -0
- package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts +39 -0
- package/lib/typescript/commonjs/ui/components/signIn/signInMethods.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 +0 -40
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +8 -9
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +7 -1
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +9 -0
- package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +3 -0
- package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +2 -3
- package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/authStore.d.ts +0 -30
- package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +0 -26
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +8 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts +6 -0
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowTargetButton.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 +5 -12
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +0 -19
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +1 -5
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts +0 -31
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +3 -3
- package/lib/typescript/module/ui/components/followButtonAccessibility.d.ts +48 -0
- package/lib/typescript/module/ui/components/followButtonAccessibility.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts +1 -1
- package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts +20 -0
- package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts +34 -0
- package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts +43 -0
- package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts +43 -0
- package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts +17 -0
- package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/artwork.d.ts +8 -0
- package/lib/typescript/module/ui/components/signIn/artwork.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts +16 -0
- package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts +39 -0
- package/lib/typescript/module/ui/components/signIn/signInMethods.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 +0 -40
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +8 -9
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +7 -1
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +9 -0
- package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +3 -0
- package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +2 -3
- package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/authStore.d.ts +0 -30
- package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +0 -26
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/package.json +6 -9
- package/src/assets/signIn/slide-1.jpg +0 -0
- package/src/assets/signIn/slide-1.jpg.d.ts +3 -0
- package/src/assets/signIn/slide-2.jpg +0 -0
- package/src/assets/signIn/slide-2.jpg.d.ts +3 -0
- package/src/assets/signIn/slide-3.jpg +0 -0
- package/src/assets/signIn/slide-3.jpg.d.ts +3 -0
- package/src/assets/signIn/slide-4.jpg +0 -0
- package/src/assets/signIn/slide-4.jpg.d.ts +3 -0
- package/src/index.ts +16 -7
- package/src/ui/components/FollowButton.tsx +25 -0
- package/src/ui/components/FollowTargetButton.tsx +4 -0
- package/src/ui/components/OxyAccountDialogScreen.tsx +11 -72
- package/src/ui/components/OxyAuthChooser.tsx +37 -53
- package/src/ui/components/OxyProvider.tsx +0 -2
- package/src/ui/components/ProfileButton.tsx +1 -4
- package/src/ui/components/__tests__/followButtonAccessibility.test.tsx +191 -0
- package/src/ui/components/authChooser/AccountsMenuView.tsx +28 -1
- package/src/ui/components/authChooser/primitives.tsx +1 -39
- package/src/ui/components/authChooser/signInFailureMessage.ts +1 -7
- package/src/ui/components/authChooser/styles.ts +0 -31
- package/src/ui/components/authChooser/types.ts +3 -3
- package/src/ui/components/followButtonAccessibility.ts +83 -0
- package/src/ui/components/oauthNavigation.ts +1 -1
- package/src/ui/components/signIn/InlineCommonsQr.tsx +135 -0
- package/src/ui/components/signIn/OxyAccountPicker.tsx +129 -0
- package/src/ui/components/signIn/OxyAuthScreen.tsx +123 -0
- package/src/ui/components/signIn/OxySignInPanel.tsx +392 -0
- package/src/ui/components/signIn/OxySignUpPanel.tsx +86 -0
- package/src/ui/components/signIn/artwork.ts +13 -0
- package/src/ui/components/signIn/passkeyError.ts +44 -0
- package/src/ui/components/signIn/signInMethods.ts +51 -0
- package/src/ui/context/OxyContext.tsx +21 -18
- package/src/ui/context/__tests__/commitSessionFlow.test.ts +0 -89
- package/src/ui/context/commitSessionFlow.ts +0 -61
- package/src/ui/context/oxyContextTypes.ts +9 -9
- package/src/ui/hooks/accountDialogSnapshot.ts +20 -1
- package/src/ui/hooks/useDeviceSwitcher.ts +3 -11
- package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +21 -0
- package/src/ui/oauth/browserAuthTransport.ts +14 -4
- package/src/ui/oauth/oauthHandshake.ts +4 -1
- package/src/ui/oauth/oauthPopup.ts +2 -3
- package/src/ui/screens/ManageAccountScreen.tsx +3 -4
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +1 -1
- package/src/ui/session/authStore.ts +0 -37
- package/src/ui/types/navigation.ts +0 -26
- package/src/ui/utils/accountDeletionHandoff.ts +2 -2
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +0 -132
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +0 -1
- package/lib/commonjs/ui/components/authChooser/SignUpView.js +0 -77
- package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +0 -1
- package/lib/commonjs/ui/components/passkeyHubPopup.js +0 -33
- package/lib/commonjs/ui/components/passkeyHubPopup.js.map +0 -1
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +0 -48
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +0 -1
- package/lib/module/ui/components/authChooser/SignInEntryView.js +0 -127
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +0 -1
- package/lib/module/ui/components/authChooser/SignUpView.js +0 -73
- package/lib/module/ui/components/authChooser/SignUpView.js.map +0 -1
- package/lib/module/ui/components/passkeyHubPopup.js +0 -29
- package/lib/module/ui/components/passkeyHubPopup.js.map +0 -1
- package/lib/module/ui/oauth/legacyRedirectLanes.js +0 -44
- package/lib/module/ui/oauth/legacyRedirectLanes.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +0 -39
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +0 -31
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/passkeyHubPopup.d.ts +0 -23
- package/lib/typescript/commonjs/ui/components/passkeyHubPopup.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +0 -40
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +0 -39
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +0 -31
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/passkeyHubPopup.d.ts +0 -23
- package/lib/typescript/module/ui/components/passkeyHubPopup.d.ts.map +0 -1
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +0 -40
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
- package/src/ui/components/authChooser/SignInEntryView.tsx +0 -157
- package/src/ui/components/authChooser/SignUpView.tsx +0 -76
- package/src/ui/components/passkeyHubPopup.ts +0 -28
- package/src/ui/oauth/legacyRedirectLanes.ts +0 -43
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SubtleLink = exports.
|
|
7
|
-
var
|
|
8
|
-
var _components = require("react-native-css/components");
|
|
6
|
+
exports.SubtleLink = exports.AccountRow = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
9
8
|
var _MaterialCommunityIcons = _interopRequireDefault(require("../../icons/MaterialCommunityIcons.js"));
|
|
10
9
|
var _avatar = require("@oxy.so/bloom/avatar");
|
|
11
10
|
var _theme = require("@oxy.so/bloom/theme");
|
|
@@ -21,26 +20,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
21
20
|
*/
|
|
22
21
|
|
|
23
22
|
/** Diameter of a row avatar (the sign-in view's account rows). */const ROW_AVATAR_SIZE = 40;
|
|
24
|
-
/**
|
|
25
|
-
* A `Pressable` that appends a hover-tint NativeWind token while pointer-hovered.
|
|
26
|
-
* The Metro web pipeline here does NOT emit NativeWind `hover:` variants, so hover
|
|
27
|
-
* is driven by RN's cross-platform `onHoverIn`/`onHoverOut` (they fire only on web
|
|
28
|
-
* via react-native-web; a no-op on native) toggling a plain background token —
|
|
29
|
-
* the tint stays a NativeWind class, only the trigger is JS.
|
|
30
|
-
*/
|
|
31
|
-
const HoverPressable = ({
|
|
32
|
-
baseClassName,
|
|
33
|
-
hoverClassName,
|
|
34
|
-
...rest
|
|
35
|
-
}) => {
|
|
36
|
-
const [hovered, setHovered] = (0, _react.useState)(false);
|
|
37
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pressable, {
|
|
38
|
-
...rest,
|
|
39
|
-
className: hovered ? `${baseClassName} ${hoverClassName}` : baseClassName,
|
|
40
|
-
onHoverIn: () => setHovered(true),
|
|
41
|
-
onHoverOut: () => setHovered(false)
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
23
|
|
|
45
24
|
/**
|
|
46
25
|
* A SUBORDINATE action: a small centred text link, never a button.
|
|
@@ -50,14 +29,13 @@ const HoverPressable = ({
|
|
|
50
29
|
* behind "Having trouble?". Keeping them all on one component is what stops an
|
|
51
30
|
* alternative from quietly growing into a co-equal button again.
|
|
52
31
|
*/
|
|
53
|
-
exports.HoverPressable = HoverPressable;
|
|
54
32
|
const SubtleLink = ({
|
|
55
33
|
label,
|
|
56
34
|
theme,
|
|
57
35
|
onPress,
|
|
58
36
|
disabled,
|
|
59
37
|
testID
|
|
60
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
38
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
61
39
|
onPress: onPress,
|
|
62
40
|
disabled: disabled,
|
|
63
41
|
accessibilityRole: "button",
|
|
@@ -72,29 +50,6 @@ const SubtleLink = ({
|
|
|
72
50
|
})
|
|
73
51
|
});
|
|
74
52
|
|
|
75
|
-
/** A labelled hairline separating two blocks ("or"). */
|
|
76
|
-
exports.SubtleLink = SubtleLink;
|
|
77
|
-
const Dividerish = ({
|
|
78
|
-
theme,
|
|
79
|
-
label
|
|
80
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.View, {
|
|
81
|
-
style: _styles.authChooserStyles.dividerRow,
|
|
82
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, {
|
|
83
|
-
style: [_styles.authChooserStyles.dividerLine, {
|
|
84
|
-
backgroundColor: theme.colors.border
|
|
85
|
-
}]
|
|
86
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
87
|
-
style: [_styles.authChooserStyles.dividerText, {
|
|
88
|
-
color: theme.colors.textSecondary
|
|
89
|
-
}],
|
|
90
|
-
children: label
|
|
91
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.View, {
|
|
92
|
-
style: [_styles.authChooserStyles.dividerLine, {
|
|
93
|
-
backgroundColor: theme.colors.border
|
|
94
|
-
}]
|
|
95
|
-
})]
|
|
96
|
-
});
|
|
97
|
-
|
|
98
53
|
/**
|
|
99
54
|
* A `principal acting as account` row on the sign-in entry — "continue as one of
|
|
100
55
|
* these" rather than a choice of authentication METHOD, which is why it stays
|
|
@@ -116,7 +71,7 @@ const Dividerish = ({
|
|
|
116
71
|
* reads as current: its first line is "Continue as @handle", the account's
|
|
117
72
|
* name moves to the second line, and it ends in a chevron like any other row.
|
|
118
73
|
*/
|
|
119
|
-
exports.
|
|
74
|
+
exports.SubtleLink = SubtleLink;
|
|
120
75
|
const AccountRow = ({
|
|
121
76
|
context,
|
|
122
77
|
operatedBy,
|
|
@@ -134,7 +89,7 @@ const AccountRow = ({
|
|
|
134
89
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_theme.BloomColorScope, {
|
|
135
90
|
colorPreset: (0, _types.toPreset)(context.color),
|
|
136
91
|
asChild: true,
|
|
137
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
92
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
138
93
|
style: [_styles.authChooserStyles.accountRow, {
|
|
139
94
|
borderColor: current ? accent : theme.colors.border,
|
|
140
95
|
backgroundColor: theme.colors.card
|
|
@@ -147,7 +102,7 @@ const AccountRow = ({
|
|
|
147
102
|
disabled: rowDisabled
|
|
148
103
|
},
|
|
149
104
|
accessibilityLabel: primary,
|
|
150
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
105
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
151
106
|
style: [_styles.authChooserStyles.avatarRing, {
|
|
152
107
|
borderColor: current ? accent : 'transparent'
|
|
153
108
|
}],
|
|
@@ -157,7 +112,7 @@ const AccountRow = ({
|
|
|
157
112
|
name: context.displayName,
|
|
158
113
|
size: ROW_AVATAR_SIZE
|
|
159
114
|
})
|
|
160
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
115
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
161
116
|
style: _styles.authChooserStyles.rowMeta,
|
|
162
117
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
163
118
|
style: [_styles.authChooserStyles.rowName, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_MaterialCommunityIcons","_interopRequireDefault","_avatar","_theme","_typography","_styles","_types","_jsxRuntime","e","__esModule","default","ROW_AVATAR_SIZE","SubtleLink","label","theme","onPress","disabled","testID","jsx","Pressable","accessibilityRole","accessibilityLabel","style","styles","footerLink","children","Text","linkText","color","colors","textSecondary","exports","AccountRow","context","operatedBy","continueAsLabel","activating","accent","resolveAccentHex","primary","rowDisabled","canActivate","current","isActive","displayName","secondary","handle","BloomColorScope","colorPreset","toPreset","asChild","jsxs","accountRow","borderColor","border","backgroundColor","card","accessibilityState","selected","View","avatarRing","Avatar","source","avatarUrl","undefined","variant","name","size","rowMeta","rowName","text","numberOfLines","rowHandle"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/primitives.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,15 +12,9 @@ exports.signInFailureMessage = signInFailureMessage;
|
|
|
12
12
|
* raw `signIn.error` is English or a server string, kept for diagnostics only.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
/**
|
|
16
|
-
* The toast for `failure`, or `null` when there is nothing to report: a
|
|
17
|
-
* `'cancelled'` attempt is the user's own choice (they closed the window), and
|
|
18
|
-
* the surface already offers "Try again" without scolding them for it.
|
|
19
|
-
*/
|
|
15
|
+
/** The toast for `failure`, or `null` when there is nothing to report. */
|
|
20
16
|
function signInFailureMessage(failure, t) {
|
|
21
17
|
switch (failure) {
|
|
22
|
-
case 'cancelled':
|
|
23
|
-
return null;
|
|
24
18
|
case 'denied':
|
|
25
19
|
return t('accountSwitcher.signInFailures.denied');
|
|
26
20
|
case 'expired':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["signInFailureMessage","failure","t"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/signInFailureMessage.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;
|
|
1
|
+
{"version":3,"names":["signInFailureMessage","failure","t"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/signInFailureMessage.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACO,SAASA,oBAAoBA,CAClCC,OAAmC,EACnCC,CAAY,EACG;EACf,QAAQD,OAAO;IACb,KAAK,QAAQ;MACX,OAAOC,CAAC,CAAC,uCAAuC,CAAC;IACnD,KAAK,SAAS;MACZ,OAAOA,CAAC,CAAC,wCAAwC,CAAC;IACpD,KAAK,SAAS;MACZ,OAAOA,CAAC,CAAC,wCAAwC,CAAC;IACpD,KAAK,gBAAgB;MACnB,OAAOA,CAAC,CAAC,8CAA8C,CAAC;IAC1D,KAAK,kBAAkB;MACrB,OAAOA,CAAC,CAAC,gDAAgD,CAAC;IAC5D,KAAK,cAAc;MACjB,OAAOA,CAAC,CAAC,4CAA4C,CAAC;IACxD;MACE,OAAOA,CAAC,CAAC,wCAAwC,CAAC;EACtD;AACF","ignoreList":[]}
|
|
@@ -145,42 +145,11 @@ const authChooserStyles = exports.authChooserStyles = _reactNative.StyleSheet.cr
|
|
|
145
145
|
fontSize: 14,
|
|
146
146
|
fontWeight: '600'
|
|
147
147
|
},
|
|
148
|
-
signInBlock: {
|
|
149
|
-
width: '100%'
|
|
150
|
-
},
|
|
151
148
|
primaryButton: {
|
|
152
149
|
width: '100%',
|
|
153
150
|
borderRadius: 14,
|
|
154
151
|
marginTop: 8
|
|
155
152
|
},
|
|
156
|
-
secondaryButton: {
|
|
157
|
-
width: '100%',
|
|
158
|
-
borderRadius: 14,
|
|
159
|
-
marginTop: 10
|
|
160
|
-
},
|
|
161
|
-
usernameInput: {
|
|
162
|
-
width: '100%',
|
|
163
|
-
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
164
|
-
borderRadius: 14,
|
|
165
|
-
paddingVertical: 12,
|
|
166
|
-
paddingHorizontal: 14,
|
|
167
|
-
fontSize: 16,
|
|
168
|
-
marginTop: 8
|
|
169
|
-
},
|
|
170
|
-
dividerRow: {
|
|
171
|
-
flexDirection: 'row',
|
|
172
|
-
alignItems: 'center',
|
|
173
|
-
width: '100%',
|
|
174
|
-
marginVertical: 14
|
|
175
|
-
},
|
|
176
|
-
dividerLine: {
|
|
177
|
-
flex: 1,
|
|
178
|
-
height: _reactNative.StyleSheet.hairlineWidth
|
|
179
|
-
},
|
|
180
|
-
dividerText: {
|
|
181
|
-
marginHorizontal: 12,
|
|
182
|
-
fontSize: 13
|
|
183
|
-
},
|
|
184
153
|
centeredBlock: {
|
|
185
154
|
alignItems: 'center',
|
|
186
155
|
justifyContent: 'center',
|
|
@@ -1 +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","
|
|
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","primaryButton","centeredBlock","mutedText","qrHeadline","qrPlate","backgroundColor","troubleActions","troubleDisclosure","troubleTrigger"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -46,8 +46,8 @@ var _theme = require("@oxy.so/bloom/theme");
|
|
|
46
46
|
/**
|
|
47
47
|
* Where a passkey sign-in or sign-up can run from the current surface.
|
|
48
48
|
*
|
|
49
|
-
* `'hub'` = web: it runs
|
|
50
|
-
* every web origin
|
|
49
|
+
* `'hub'` = web: it runs in auth.oxy.so's window over the app
|
|
50
|
+
* (`continueOnAuth`), on every web origin.
|
|
51
51
|
* `'none'` = native, where Commons owns identity.
|
|
52
52
|
*/
|
|
53
53
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.describeFollowAllButton = describeFollowAllButton;
|
|
7
|
+
exports.describeFollowButton = describeFollowButton;
|
|
8
|
+
exports.formatHandle = formatHandle;
|
|
9
|
+
/**
|
|
10
|
+
* What a screen reader hears for a follow button.
|
|
11
|
+
*
|
|
12
|
+
* Bloom's `FollowButton` names itself "Follow" in both states and carries the
|
|
13
|
+
* state in its pressed flag. Android TalkBack reads that flag as "selected",
|
|
14
|
+
* so a button that SHOWS "Following" was announced as "Follow, selected", and a
|
|
15
|
+
* TalkBack user could not tell they already follow the account
|
|
16
|
+
* (OxyHQ/oxy#1375 item 22). The name now says the state, and who it is for
|
|
17
|
+
* when the caller knows the handle.
|
|
18
|
+
*
|
|
19
|
+
* Pure, and kept apart from the components, so every state is pinned by a
|
|
20
|
+
* table test rather than by a render that can only see one state at a time.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/** `@nate` from `nate` or `@nate`; `undefined` when there is no handle. */
|
|
24
|
+
function formatHandle(username) {
|
|
25
|
+
const bare = username?.trim().replace(/^@+/, '');
|
|
26
|
+
return bare ? `@${bare}` : undefined;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The single-user button.
|
|
31
|
+
*
|
|
32
|
+
* - `isKnown: false`: the status is still being fetched and the button is
|
|
33
|
+
* inert, so it says so rather than offering a "Follow" it would ignore.
|
|
34
|
+
* - `isPending`: a follow or unfollow is in flight. The name keeps the state
|
|
35
|
+
* the button still shows; the busy flag says the rest, and there is no hint
|
|
36
|
+
* because a press does nothing until the write settles.
|
|
37
|
+
* - Following: "Following @nate", hinted "Unfollows @nate", because pressing
|
|
38
|
+
* it unfollows, which the visible "Following" does not say.
|
|
39
|
+
*/
|
|
40
|
+
function describeFollowButton(input) {
|
|
41
|
+
const handle = formatHandle(input.username);
|
|
42
|
+
if (!input.isKnown) {
|
|
43
|
+
return {
|
|
44
|
+
accessibilityLabel: handle ? `Checking whether you follow ${handle}` : 'Checking follow status'
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const accessibilityLabel = input.isFollowing ? handle ? `Following ${handle}` : 'Following' : handle ? `Follow ${handle}` : 'Follow';
|
|
48
|
+
if (input.isPending || !input.isFollowing) return {
|
|
49
|
+
accessibilityLabel
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
accessibilityLabel,
|
|
53
|
+
accessibilityHint: handle ? `Unfollows ${handle}` : 'Unfollows this account'
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The "Follow all" button. The labels are the caller's, since a starter pack
|
|
59
|
+
* and a feed's member list word it differently; the hint carries the count.
|
|
60
|
+
*/
|
|
61
|
+
function describeFollowAllButton(input) {
|
|
62
|
+
const accessibilityLabel = input.allFollowing ? input.followedAllLabel : input.followAllLabel;
|
|
63
|
+
if (input.isPending) return {
|
|
64
|
+
accessibilityLabel
|
|
65
|
+
};
|
|
66
|
+
const accounts = input.count === 1 ? '1 account' : `${input.count} accounts`;
|
|
67
|
+
return {
|
|
68
|
+
accessibilityLabel,
|
|
69
|
+
accessibilityHint: input.allFollowing ? `Unfollows all ${accounts}` : `Follows all ${accounts}`
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=followButtonAccessibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["formatHandle","username","bare","trim","replace","undefined","describeFollowButton","input","handle","isKnown","accessibilityLabel","isFollowing","isPending","accessibilityHint","describeFollowAllButton","allFollowing","followedAllLabel","followAllLabel","accounts","count"],"sourceRoot":"../../../../src","sources":["ui/components/followButtonAccessibility.ts"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACO,SAASA,YAAYA,CAACC,QAA4B,EAAsB;EAC7E,MAAMC,IAAI,GAAGD,QAAQ,EAAEE,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAChD,OAAOF,IAAI,GAAG,IAAIA,IAAI,EAAE,GAAGG,SAAS;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,KAKpC,EAA6B;EAC5B,MAAMC,MAAM,GAAGR,YAAY,CAACO,KAAK,CAACN,QAAQ,CAAC;EAE3C,IAAI,CAACM,KAAK,CAACE,OAAO,EAAE;IAClB,OAAO;MACLC,kBAAkB,EAAEF,MAAM,GACtB,+BAA+BA,MAAM,EAAE,GACvC;IACN,CAAC;EACH;EAEA,MAAME,kBAAkB,GAAGH,KAAK,CAACI,WAAW,GACxCH,MAAM,GAAG,aAAaA,MAAM,EAAE,GAAG,WAAW,GAC5CA,MAAM,GAAG,UAAUA,MAAM,EAAE,GAAG,QAAQ;EAE1C,IAAID,KAAK,CAACK,SAAS,IAAI,CAACL,KAAK,CAACI,WAAW,EAAE,OAAO;IAAED;EAAmB,CAAC;EAExE,OAAO;IACLA,kBAAkB;IAClBG,iBAAiB,EAAEL,MAAM,GAAG,aAAaA,MAAM,EAAE,GAAG;EACtD,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACO,SAASM,uBAAuBA,CAACP,KAMvC,EAA6B;EAC5B,MAAMG,kBAAkB,GAAGH,KAAK,CAACQ,YAAY,GAAGR,KAAK,CAACS,gBAAgB,GAAGT,KAAK,CAACU,cAAc;EAC7F,IAAIV,KAAK,CAACK,SAAS,EAAE,OAAO;IAAEF;EAAmB,CAAC;EAClD,MAAMQ,QAAQ,GAAGX,KAAK,CAACY,KAAK,KAAK,CAAC,GAAG,WAAW,GAAG,GAAGZ,KAAK,CAACY,KAAK,WAAW;EAC5E,OAAO;IACLT,kBAAkB;IAClBG,iBAAiB,EAAEN,KAAK,CAACQ,YAAY,GAAG,iBAAiBG,QAAQ,EAAE,GAAG,eAAeA,QAAQ;EAC/F,CAAC;AACH","ignoreList":[]}
|
|
@@ -31,7 +31,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
31
31
|
* (see `normalizeOAuthRedirectUri`), so the IdP always returns the tab to `/`,
|
|
32
32
|
* and the return handlers restore this path. Doing it here rather than at each
|
|
33
33
|
* call site is deliberate: every web authorize redirect — silent restore,
|
|
34
|
-
* interactive sign-in,
|
|
34
|
+
* interactive sign-in, `continueOnAuth` — funnels through this function, so a
|
|
35
35
|
* new flow cannot forget to preserve the page the visitor came from.
|
|
36
36
|
*/
|
|
37
37
|
function redirectToAuthorize(url) {
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.InlineCommonsQr = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeQrcodeSvg = _interopRequireDefault(require("react-native-qrcode-svg"));
|
|
10
|
+
var _button = require("@oxy.so/bloom/button");
|
|
11
|
+
var _RiCheckboxCircleLine = require("@oxy.so/bloom/icons/RiCheckboxCircleLine");
|
|
12
|
+
var _RiRefreshLine = require("@oxy.so/bloom/icons/RiRefreshLine");
|
|
13
|
+
var _theme = require("@oxy.so/bloom/theme");
|
|
14
|
+
var _typography = require("@oxy.so/bloom/typography");
|
|
15
|
+
var _useI18n = require("../../hooks/useI18n.js");
|
|
16
|
+
var _accountDialogSnapshot = require("../../hooks/accountDialogSnapshot.js");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
/**
|
|
20
|
+
* The sign-in entry's embedded QR, over the split card's photo carousel: scan
|
|
21
|
+
* it with Commons on a phone and this screen is signed in.
|
|
22
|
+
*
|
|
23
|
+
* It owns one QR-only request (`controller.startInlineQr()`): started the
|
|
24
|
+
* first time the block is actually laid out on screen — never while its column
|
|
25
|
+
* is hidden below `md` — renewed when it expires, and withdrawn when the block
|
|
26
|
+
* goes away while it is still approvable. It never pushes to a phone or opens Commons —
|
|
27
|
+
* the person did not ask for either by opening the screen. Any other sign-in
|
|
28
|
+
* they choose supersedes it like any new attempt.
|
|
29
|
+
*
|
|
30
|
+
* Anti-phishing: the plate encodes `signIn.qrPayload` and renders nothing
|
|
31
|
+
* derived from it; the approver resolves the app server-side.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/** High-contrast, un-themed on purpose: scan reliability. */const QR_PLATE_BG = '#FFFFFF';
|
|
35
|
+
const QR_FOREGROUND = '#000000';
|
|
36
|
+
const QR_SIZE = 112;
|
|
37
|
+
const PLATE_PADDING = 8;
|
|
38
|
+
const PLATE_SIZE = QR_SIZE + PLATE_PADDING * 2;
|
|
39
|
+
const InlineCommonsQr = ({
|
|
40
|
+
controller
|
|
41
|
+
}) => {
|
|
42
|
+
const theme = (0, _theme.useTheme)();
|
|
43
|
+
const {
|
|
44
|
+
t
|
|
45
|
+
} = (0, _useI18n.useI18n)();
|
|
46
|
+
const {
|
|
47
|
+
signIn
|
|
48
|
+
} = (0, _accountDialogSnapshot.useAccountDialogSnapshot)(controller);
|
|
49
|
+
const live = signIn.inline && (signIn.phase === 'starting' || signIn.phase === 'waiting');
|
|
50
|
+
const expired = signIn.inline && signIn.phase === 'error' && signIn.failure === 'expired';
|
|
51
|
+
|
|
52
|
+
// Laid out with a size only where its column shows (`display: none` below
|
|
53
|
+
// `md` lays out empty), so that is when a request is worth having.
|
|
54
|
+
const [shown, setShown] = (0, _react.useState)(false);
|
|
55
|
+
|
|
56
|
+
// One request for as long as the block is on screen. Withdrawn on the way
|
|
57
|
+
// out only while it is still ours and still approvable: an attempt the
|
|
58
|
+
// person started meanwhile (a passkey window, "Continue with Oxy") is theirs.
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
if (!controller || !shown) return;
|
|
61
|
+
const {
|
|
62
|
+
signIn: current
|
|
63
|
+
} = controller.getSnapshot();
|
|
64
|
+
if (!(current.inline && (current.phase === 'starting' || current.phase === 'waiting'))) {
|
|
65
|
+
void controller.startInlineQr();
|
|
66
|
+
}
|
|
67
|
+
return () => {
|
|
68
|
+
const {
|
|
69
|
+
signIn: last
|
|
70
|
+
} = controller.getSnapshot();
|
|
71
|
+
if (last.inline && (last.phase === 'starting' || last.phase === 'waiting')) controller.cancelSignIn();
|
|
72
|
+
};
|
|
73
|
+
}, [controller, shown]);
|
|
74
|
+
|
|
75
|
+
// A code only lives a few minutes; an expired one is replaced, not reported.
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
if (controller && expired) void controller.startInlineQr();
|
|
78
|
+
}, [controller, expired]);
|
|
79
|
+
let plate;
|
|
80
|
+
if (signIn.inline && signIn.progress === 'identity-confirmed') {
|
|
81
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_RiCheckboxCircleLine.RiCheckboxCircleLine, {
|
|
82
|
+
size: "3xl",
|
|
83
|
+
fill: theme.colors.success
|
|
84
|
+
});
|
|
85
|
+
} else if (live && signIn.qrPayload && signIn.progress !== 'confirming-identity') {
|
|
86
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeQrcodeSvg.default, {
|
|
87
|
+
value: signIn.qrPayload,
|
|
88
|
+
size: QR_SIZE,
|
|
89
|
+
backgroundColor: QR_PLATE_BG,
|
|
90
|
+
color: QR_FOREGROUND
|
|
91
|
+
});
|
|
92
|
+
} else if (live || expired || signIn.inline && signIn.phase === 'completed') {
|
|
93
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
94
|
+
size: "large",
|
|
95
|
+
color: QR_FOREGROUND
|
|
96
|
+
});
|
|
97
|
+
} else {
|
|
98
|
+
// Failed for a reason renewing will not fix by itself, or superseded and
|
|
99
|
+
// then withdrawn: one press for a new code.
|
|
100
|
+
plate = /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
101
|
+
appearance: "plain",
|
|
102
|
+
tone: "neutral",
|
|
103
|
+
size: "sm",
|
|
104
|
+
iconOnly: true,
|
|
105
|
+
leadingIcon: _RiRefreshLine.RiRefreshLine,
|
|
106
|
+
accessibilityLabel: t('signin.qr.renew'),
|
|
107
|
+
onPress: () => void controller?.startInlineQr(),
|
|
108
|
+
testID: "inline-qr-renew"
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
112
|
+
style: styles.block,
|
|
113
|
+
testID: "inline-commons-qr",
|
|
114
|
+
onLayout: event => {
|
|
115
|
+
if (event.nativeEvent.layout.width > 0) setShown(true);
|
|
116
|
+
},
|
|
117
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
118
|
+
style: [styles.plate, {
|
|
119
|
+
borderColor: theme.colors.border
|
|
120
|
+
}],
|
|
121
|
+
children: plate
|
|
122
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
123
|
+
style: [styles.caption, styles.captionOnMedia],
|
|
124
|
+
children: t('signin.qr.caption')
|
|
125
|
+
})]
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
exports.InlineCommonsQr = InlineCommonsQr;
|
|
129
|
+
const styles = _reactNative.StyleSheet.create({
|
|
130
|
+
block: {
|
|
131
|
+
width: PLATE_SIZE,
|
|
132
|
+
alignItems: 'center',
|
|
133
|
+
gap: 6
|
|
134
|
+
},
|
|
135
|
+
plate: {
|
|
136
|
+
width: PLATE_SIZE,
|
|
137
|
+
height: PLATE_SIZE,
|
|
138
|
+
padding: PLATE_PADDING,
|
|
139
|
+
borderRadius: 12,
|
|
140
|
+
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
141
|
+
backgroundColor: QR_PLATE_BG,
|
|
142
|
+
alignItems: 'center',
|
|
143
|
+
justifyContent: 'center'
|
|
144
|
+
},
|
|
145
|
+
caption: {
|
|
146
|
+
fontSize: 12,
|
|
147
|
+
lineHeight: 16,
|
|
148
|
+
textAlign: 'center'
|
|
149
|
+
},
|
|
150
|
+
captionOnMedia: {
|
|
151
|
+
color: '#FFFFFF',
|
|
152
|
+
fontWeight: '500',
|
|
153
|
+
textShadowColor: 'rgba(0, 0, 0, 0.6)',
|
|
154
|
+
textShadowOffset: {
|
|
155
|
+
width: 0,
|
|
156
|
+
height: 1
|
|
157
|
+
},
|
|
158
|
+
textShadowRadius: 4
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=InlineCommonsQr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeQrcodeSvg","_interopRequireDefault","_button","_RiCheckboxCircleLine","_RiRefreshLine","_theme","_typography","_useI18n","_accountDialogSnapshot","_jsxRuntime","e","__esModule","default","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","PLATE_PADDING","PLATE_SIZE","InlineCommonsQr","controller","theme","useTheme","t","useI18n","signIn","useAccountDialogSnapshot","live","inline","phase","expired","failure","shown","setShown","useState","useEffect","current","getSnapshot","startInlineQr","last","cancelSignIn","plate","progress","jsx","RiCheckboxCircleLine","size","fill","colors","success","qrPayload","value","backgroundColor","color","ActivityIndicator","Button","appearance","tone","iconOnly","leadingIcon","RiRefreshLine","accessibilityLabel","onPress","testID","jsxs","View","style","styles","block","onLayout","event","nativeEvent","layout","width","children","borderColor","border","Text","caption","captionOnMedia","exports","StyleSheet","create","alignItems","gap","height","padding","borderRadius","borderWidth","hairlineWidth","justifyContent","fontSize","lineHeight","textAlign","fontWeight","textShadowColor","textShadowOffset","textShadowRadius"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/InlineCommonsQr.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OxyAccountPicker = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _RiArrowRightSLine = require("@oxy.so/bloom/icons/RiArrowRightSLine");
|
|
9
|
+
var _RiUserAddLine = require("@oxy.so/bloom/icons/RiUserAddLine");
|
|
10
|
+
var _theme = require("@oxy.so/bloom/theme");
|
|
11
|
+
var _typography = require("@oxy.so/bloom/typography");
|
|
12
|
+
var _core = require("@oxy.so/core");
|
|
13
|
+
var _useI18n = require("../../hooks/useI18n.js");
|
|
14
|
+
var _primitives = require("../authChooser/primitives.js");
|
|
15
|
+
var _styles = require("../authChooser/styles.js");
|
|
16
|
+
var _OxyAuthScreen = require("./OxyAuthScreen.js");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
/**
|
|
19
|
+
* "Choose an account" — every `principal acting as account` pair on this
|
|
20
|
+
* device, then "Use another account".
|
|
21
|
+
*
|
|
22
|
+
* The front screen of sign-in on a returning device, in the account dialog and
|
|
23
|
+
* on every auth.oxy.so page that asks WHO (sign-in, OAuth authorize, device
|
|
24
|
+
* approval, MCP linking). Presentational: the host decides what choosing a row
|
|
25
|
+
* means — a switch, a "Continue as" sign-in, or activating the pair before an
|
|
26
|
+
* OAuth consent — and passes the pair back, never an account id, which cannot
|
|
27
|
+
* say whose route was chosen.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
const OxyAccountPicker = ({
|
|
31
|
+
principals,
|
|
32
|
+
appName,
|
|
33
|
+
onSelectContext,
|
|
34
|
+
onUseAnother,
|
|
35
|
+
pendingContextId = null,
|
|
36
|
+
isLoading = false,
|
|
37
|
+
signedOut = false
|
|
38
|
+
}) => {
|
|
39
|
+
const theme = (0, _theme.useTheme)();
|
|
40
|
+
const {
|
|
41
|
+
t
|
|
42
|
+
} = (0, _useI18n.useI18n)();
|
|
43
|
+
// Whose route a row is only needs naming once someone holds more than one
|
|
44
|
+
// account here — the same rule the account menu's group headers follow.
|
|
45
|
+
const namesTheOperator = (0, _core.showsPrincipalHeaders)(principals);
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_OxyAuthScreen.OxyAuthScreen, {
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
|
|
48
|
+
title: t('signin.chooser.title'),
|
|
49
|
+
description: appName ? t('signin.chooser.subtitleToApp', {
|
|
50
|
+
app: appName
|
|
51
|
+
}) : t('signin.chooser.subtitle')
|
|
52
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
53
|
+
style: _styles.authChooserStyles.rows,
|
|
54
|
+
children: [principals.flatMap(principal => principal.contexts.map(context => /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.AccountRow, {
|
|
55
|
+
context: context,
|
|
56
|
+
operatedBy: namesTheOperator && context.isDelegated ? t('accountSwitcher.context.operatedBy', {
|
|
57
|
+
name: principal.displayName
|
|
58
|
+
}) : null,
|
|
59
|
+
continueAsLabel: signedOut ? t('signin.chooser.continueAs', {
|
|
60
|
+
name: context.handle ? `@${context.handle}` : context.displayName
|
|
61
|
+
}) : null,
|
|
62
|
+
theme: theme,
|
|
63
|
+
activating: pendingContextId === context.contextId,
|
|
64
|
+
disabled: isLoading,
|
|
65
|
+
onPress: () => onSelectContext(context)
|
|
66
|
+
}, context.contextId))), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
67
|
+
onPress: onUseAnother,
|
|
68
|
+
disabled: isLoading,
|
|
69
|
+
accessibilityRole: "button",
|
|
70
|
+
accessibilityLabel: t('signin.chooser.useAnother'),
|
|
71
|
+
style: [_styles.authChooserStyles.accountRow, {
|
|
72
|
+
borderColor: theme.colors.border,
|
|
73
|
+
backgroundColor: theme.colors.card
|
|
74
|
+
}, isLoading ? _styles.authChooserStyles.rowDisabled : null],
|
|
75
|
+
testID: "use-another-account",
|
|
76
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
77
|
+
style: [styles.addGlyph, {
|
|
78
|
+
backgroundColor: theme.colors.backgroundSecondary
|
|
79
|
+
}],
|
|
80
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RiUserAddLine.RiUserAddLine, {
|
|
81
|
+
size: "md",
|
|
82
|
+
fill: theme.colors.textSecondary
|
|
83
|
+
})
|
|
84
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
85
|
+
style: [_styles.authChooserStyles.rowName, styles.addLabel, {
|
|
86
|
+
color: theme.colors.text
|
|
87
|
+
}],
|
|
88
|
+
children: t('signin.chooser.useAnother')
|
|
89
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RiArrowRightSLine.RiArrowRightSLine, {
|
|
90
|
+
size: "md",
|
|
91
|
+
fill: theme.colors.textSecondary
|
|
92
|
+
})]
|
|
93
|
+
})]
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthTerms, {})]
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
exports.OxyAccountPicker = OxyAccountPicker;
|
|
98
|
+
const styles = _reactNative.StyleSheet.create({
|
|
99
|
+
// Matches `AccountRow`'s 40px avatar plus its 2px ring and 1px gap.
|
|
100
|
+
addGlyph: {
|
|
101
|
+
width: 46,
|
|
102
|
+
height: 46,
|
|
103
|
+
borderRadius: 23,
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
justifyContent: 'center'
|
|
106
|
+
},
|
|
107
|
+
addLabel: {
|
|
108
|
+
flex: 1
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=OxyAccountPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_RiArrowRightSLine","_RiUserAddLine","_theme","_typography","_core","_useI18n","_primitives","_styles","_OxyAuthScreen","_jsxRuntime","OxyAccountPicker","principals","appName","onSelectContext","onUseAnother","pendingContextId","isLoading","signedOut","theme","useTheme","t","useI18n","namesTheOperator","showsPrincipalHeaders","jsxs","OxyAuthScreen","children","jsx","OxyAuthScreenHeader","title","description","app","View","style","authChooserStyles","rows","flatMap","principal","contexts","map","context","AccountRow","operatedBy","isDelegated","name","displayName","continueAsLabel","handle","activating","contextId","disabled","onPress","Pressable","accessibilityRole","accessibilityLabel","accountRow","borderColor","colors","border","backgroundColor","card","rowDisabled","testID","styles","addGlyph","backgroundSecondary","RiUserAddLine","size","fill","textSecondary","Text","rowName","addLabel","color","text","RiArrowRightSLine","OxyAuthTerms","exports","StyleSheet","create","width","height","borderRadius","alignItems","justifyContent","flex"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyAccountPicker.tsx"],"mappings":"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","ignoreList":[]}
|