@oxyhq/services 16.0.0 → 18.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 +77 -98
- package/lib/commonjs/index.js +40 -51
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -14
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialog.js +742 -0
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +13 -6
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +180 -22
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +25 -112
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/RequireOxyAuth.js +299 -0
- package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
- package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +122 -4
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +19 -30
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +37 -267
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/commonjs/ui/index.js +5 -40
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/accountDialogManager.js +91 -0
- package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/commonjs/ui/navigation/routes.js +0 -2
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +10 -2
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/index.js +19 -16
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/client.js +1 -2
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialog.js +739 -0
- package/lib/module/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/module/ui/components/OxyConsentScreen.js +454 -0
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +13 -6
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +181 -22
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +26 -112
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/RequireOxyAuth.js +294 -0
- package/lib/module/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/module/ui/components/oauthNavigation.js +70 -0
- package/lib/module/ui/components/oauthNavigation.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +123 -5
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/module/ui/hooks/useAuth.js +19 -30
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js +38 -267
- package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/module/ui/index.js +1 -5
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/accountDialogManager.js +81 -0
- package/lib/module/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/module/ui/navigation/routes.js +0 -2
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +10 -2
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +8 -12
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -4
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +51 -0
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +27 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -5
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +27 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +8 -12
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -4
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +51 -0
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +27 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -5
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -0
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +27 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +33 -27
- package/src/ui/client.ts +0 -4
- package/src/ui/components/OxyAccountDialog.tsx +735 -0
- package/src/ui/components/OxyConsentScreen.tsx +456 -0
- package/src/ui/components/OxyProvider.tsx +14 -6
- package/src/ui/components/OxySignInButton.tsx +227 -22
- package/src/ui/components/ProfileButton.tsx +23 -126
- package/src/ui/components/RequireOxyAuth.tsx +266 -0
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
- package/src/ui/components/oauthNavigation.ts +89 -0
- package/src/ui/context/OxyContext.tsx +176 -9
- package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
- package/src/ui/hooks/useAuth.ts +19 -31
- package/src/ui/hooks/useSwitchableAccounts.ts +42 -376
- package/src/ui/index.ts +2 -5
- package/src/ui/navigation/accountDialogManager.ts +84 -0
- package/src/ui/navigation/routes.ts +0 -4
- package/src/ui/screens/ManageAccountScreen.tsx +3 -2
- package/src/ui/session/createSessionClient.ts +9 -1
- package/src/ui/types/navigation.ts +27 -0
- package/lib/commonjs/ui/components/AccountMenu.js +0 -598
- package/lib/commonjs/ui/components/AccountMenu.js.map +0 -1
- package/lib/commonjs/ui/components/AccountMenuButton.js +0 -135
- package/lib/commonjs/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/commonjs/ui/components/AccountSwitcher.js +0 -780
- package/lib/commonjs/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/commonjs/ui/components/AnotherDeviceQR.js +0 -116
- package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/commonjs/ui/components/ProfileMenu.js +0 -518
- package/lib/commonjs/ui/components/ProfileMenu.js.map +0 -1
- package/lib/commonjs/ui/components/SignInAccountChooser.js +0 -189
- package/lib/commonjs/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/commonjs/ui/components/SignInModal.js +0 -600
- package/lib/commonjs/ui/components/SignInModal.js.map +0 -1
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js +0 -501
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js +0 -170
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +0 -51
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +0 -312
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/commonjs/utils/deviceFlowSignIn.js +0 -109
- package/lib/commonjs/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/module/ui/components/AccountMenu.js +0 -593
- package/lib/module/ui/components/AccountMenu.js.map +0 -1
- package/lib/module/ui/components/AccountMenuButton.js +0 -130
- package/lib/module/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/module/ui/components/AccountSwitcher.js +0 -774
- package/lib/module/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/module/ui/components/AnotherDeviceQR.js +0 -110
- package/lib/module/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/module/ui/components/ProfileMenu.js +0 -514
- package/lib/module/ui/components/ProfileMenu.js.map +0 -1
- package/lib/module/ui/components/SignInAccountChooser.js +0 -183
- package/lib/module/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/module/ui/components/SignInModal.js +0 -591
- package/lib/module/ui/components/SignInModal.js.map +0 -1
- package/lib/module/ui/hooks/useOxyAuthSession.js +0 -495
- package/lib/module/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/module/ui/hooks/usePasswordSignIn.js +0 -165
- package/lib/module/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +0 -48
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +0 -306
- package/lib/module/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/module/utils/deviceFlowSignIn.js +0 -106
- package/lib/module/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/src/ui/components/AccountMenu.tsx +0 -645
- package/src/ui/components/AccountMenuButton.tsx +0 -126
- package/src/ui/components/AccountSwitcher.tsx +0 -751
- package/src/ui/components/AnotherDeviceQR.tsx +0 -119
- package/src/ui/components/ProfileMenu.tsx +0 -564
- package/src/ui/components/SignInAccountChooser.tsx +0 -162
- package/src/ui/components/SignInModal.tsx +0 -530
- package/src/ui/hooks/useOxyAuthSession.ts +0 -635
- package/src/ui/hooks/usePasswordSignIn.ts +0 -207
- package/src/ui/screens/AccountSwitcherScreen.tsx +0 -43
- package/src/ui/screens/OxyAuthScreen.tsx +0 -324
- package/src/utils/__tests__/deviceFlowSignIn.test.ts +0 -231
- package/src/utils/deviceFlowSignIn.ts +0 -152
|
@@ -3,17 +3,61 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.OxySignInButton = void 0;
|
|
6
|
+
exports.default = exports.OxySignInButton = exports.OXY_OAUTH_STATE_STORAGE_KEY = exports.OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _core = require("@oxyhq/core");
|
|
9
10
|
var _authStore = require("../stores/authStore.js");
|
|
10
11
|
var _shallow = require("zustand/react/shallow");
|
|
11
12
|
var _theme = require("@oxyhq/bloom/theme");
|
|
12
13
|
var _OxyContext = require("../context/OxyContext.js");
|
|
13
14
|
var _OxyLogo = _interopRequireDefault(require("./OxyLogo.js"));
|
|
14
|
-
var
|
|
15
|
+
var _accountDialogManager = require("../navigation/accountDialogManager.js");
|
|
16
|
+
var _oauthNavigation = require("./oauthNavigation.js");
|
|
15
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
/**
|
|
20
|
+
* `sessionStorage` keys under which a third-party "Sign in with Oxy" OAuth flow
|
|
21
|
+
* persists its CSRF `state` and PKCE `code_verifier` across the authorize
|
|
22
|
+
* redirect. The Relying Party's redirect-URI callback reads them back to
|
|
23
|
+
* validate the returned `state` and replay the verifier on the token exchange.
|
|
24
|
+
*
|
|
25
|
+
* Web only: a browser RP navigates away to `auth.oxy.so` and back, so the
|
|
26
|
+
* handshake must survive a full-page redirect. Native completes the flow inside
|
|
27
|
+
* a single `WebBrowser` auth session and surfaces the handshake via
|
|
28
|
+
* {@link OxySignInButtonProps.onOAuthResult} instead.
|
|
29
|
+
*/
|
|
30
|
+
const OXY_OAUTH_STATE_STORAGE_KEY = exports.OXY_OAUTH_STATE_STORAGE_KEY = 'oxy_oauth_state';
|
|
31
|
+
const OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = exports.OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = 'oxy_oauth_code_verifier';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The OAuth handshake surfaced to a NATIVE third-party RP via
|
|
35
|
+
* {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
|
|
36
|
+
* (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
|
|
37
|
+
* back from `sessionStorage` across the redirect and do not need this callback.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Persist the OAuth CSRF `state` + PKCE `code_verifier` for the RP callback.
|
|
42
|
+
* Returns `false` when the handshake could not be stored — no `sessionStorage`
|
|
43
|
+
* (SSR / non-browser host) or a write that threw (`SecurityError` /
|
|
44
|
+
* `QuotaExceededError`, e.g. Safari private mode) — so the caller aborts the
|
|
45
|
+
* flow cleanly rather than redirect to a callback that cannot validate `state`.
|
|
46
|
+
*/
|
|
47
|
+
function persistOAuthHandshake(state, codeVerifier) {
|
|
48
|
+
const store = globalThis.sessionStorage;
|
|
49
|
+
try {
|
|
50
|
+
if (!store) throw new Error('sessionStorage is unavailable');
|
|
51
|
+
store.setItem(OXY_OAUTH_STATE_STORAGE_KEY, state);
|
|
52
|
+
store.setItem(OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, codeVerifier);
|
|
53
|
+
return true;
|
|
54
|
+
} catch (error) {
|
|
55
|
+
_core.logger.warn('OxySignInButton: could not persist the OAuth handshake to sessionStorage; aborting third-party sign-in', {
|
|
56
|
+
component: 'OxySignInButton'
|
|
57
|
+
}, error);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
17
61
|
/**
|
|
18
62
|
* A pre-styled button component for signing in with Oxy identity
|
|
19
63
|
*
|
|
@@ -45,11 +89,15 @@ const OxySignInButton = ({
|
|
|
45
89
|
textStyle,
|
|
46
90
|
text = 'Sign in with Oxy',
|
|
47
91
|
disabled = false,
|
|
48
|
-
showWhenAuthenticated = false
|
|
92
|
+
showWhenAuthenticated = false,
|
|
93
|
+
oauthRedirectUri,
|
|
94
|
+
onOAuthResult
|
|
49
95
|
}) => {
|
|
50
96
|
const theme = (0, _theme.useTheme)();
|
|
51
97
|
const {
|
|
52
|
-
|
|
98
|
+
openAccountDialog,
|
|
99
|
+
oxyServices,
|
|
100
|
+
clientId
|
|
53
101
|
} = (0, _OxyContext.useOxy)();
|
|
54
102
|
const {
|
|
55
103
|
isAuthenticated,
|
|
@@ -58,32 +106,142 @@ const OxySignInButton = ({
|
|
|
58
106
|
isAuthenticated: state.isAuthenticated,
|
|
59
107
|
isLoading: state.isLoading
|
|
60
108
|
})));
|
|
61
|
-
// Tracks
|
|
62
|
-
// "Signing in..." while it
|
|
63
|
-
//
|
|
109
|
+
// Tracks whether the unified account dialog is open so we can show
|
|
110
|
+
// "Signing in..." while it is. The manager reports visibility on every
|
|
111
|
+
// change regardless of platform or what opened/closed it.
|
|
64
112
|
const [isModalOpen, setIsModalOpen] = (0, _react.useState)(false);
|
|
113
|
+
(0, _react.useEffect)(() => (0, _accountDialogManager.subscribeToSignInModal)(setIsModalOpen), []);
|
|
114
|
+
|
|
115
|
+
// The application's public identity is resolved lazily on first press and its
|
|
116
|
+
// promise cached, so rapid taps share one in-flight resolve. The cache is
|
|
117
|
+
// KEYED on the identity inputs (clientId + the oxyServices instance): if
|
|
118
|
+
// either changes the cache is invalidated and re-resolved — without a
|
|
119
|
+
// useEffect. A rejected resolve clears the cache so a later press can retry.
|
|
120
|
+
const appResolutionRef = (0, _react.useRef)(null);
|
|
121
|
+
// Re-entrancy guard: a routing pass may await network + crypto before it
|
|
122
|
+
// redirects, so block a second concurrent press from racing the sessionStorage
|
|
123
|
+
// handshake against a different PKCE pair.
|
|
124
|
+
const routingRef = (0, _react.useRef)(false);
|
|
125
|
+
const resolvePublicApplication = (0, _react.useCallback)(() => {
|
|
126
|
+
if (!clientId) return null;
|
|
127
|
+
const cached = appResolutionRef.current;
|
|
128
|
+
if (cached && cached.clientId === clientId && cached.oxyServices === oxyServices) {
|
|
129
|
+
return cached.promise;
|
|
130
|
+
}
|
|
131
|
+
const promise = oxyServices.getPublicApplication(clientId).catch(error => {
|
|
132
|
+
// Only clear if this is still the live entry (a later resolve may have
|
|
133
|
+
// replaced it after a clientId/oxyServices change).
|
|
134
|
+
if (appResolutionRef.current?.promise === promise) {
|
|
135
|
+
appResolutionRef.current = null;
|
|
136
|
+
}
|
|
137
|
+
throw error;
|
|
138
|
+
});
|
|
139
|
+
appResolutionRef.current = {
|
|
140
|
+
clientId,
|
|
141
|
+
oxyServices,
|
|
142
|
+
promise
|
|
143
|
+
};
|
|
144
|
+
return promise;
|
|
145
|
+
}, [clientId, oxyServices]);
|
|
146
|
+
|
|
147
|
+
// Official / first-party surface: the in-app account + sign-in dialog.
|
|
148
|
+
const startOfficialSignIn = (0, _react.useCallback)(() => {
|
|
149
|
+
openAccountDialog('signin');
|
|
150
|
+
}, [openAccountDialog]);
|
|
151
|
+
|
|
152
|
+
// Third-party surface: an OAuth 2.0 authorization-code + PKCE redirect to
|
|
153
|
+
// auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
|
|
154
|
+
const startThirdPartyOAuth = (0, _react.useCallback)(async app => {
|
|
155
|
+
if (!clientId) {
|
|
156
|
+
startOfficialSignIn();
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (!oauthRedirectUri) {
|
|
160
|
+
_core.logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth redirect; sign-in aborted', undefined, {
|
|
161
|
+
component: 'OxySignInButton',
|
|
162
|
+
clientId,
|
|
163
|
+
application: app.name
|
|
164
|
+
});
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
|
|
168
|
+
const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
|
|
169
|
+
clientId,
|
|
170
|
+
redirectUri: oauthRedirectUri,
|
|
171
|
+
state,
|
|
172
|
+
codeChallenge: pkce.codeChallenge
|
|
173
|
+
});
|
|
174
|
+
if (_reactNative.Platform.OS === 'web') {
|
|
175
|
+
// Persist the handshake for the RP callback, then hand the
|
|
176
|
+
// top-level document to the IdP. Without storage the callback
|
|
177
|
+
// cannot validate `state`, so abort cleanly rather than redirect.
|
|
178
|
+
if (!persistOAuthHandshake(state, pkce.codeVerifier)) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
(0, _oauthNavigation.redirectToAuthorize)(authorizeUrl);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
65
184
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
185
|
+
// Native: open the in-app auth session, then hand the handshake to the
|
|
186
|
+
// RP so it can complete the token exchange from its deep-link callback.
|
|
187
|
+
const {
|
|
188
|
+
redirectUrl
|
|
189
|
+
} = await (0, _oauthNavigation.openAuthorizeUrlNative)(authorizeUrl, oauthRedirectUri);
|
|
190
|
+
if (onOAuthResult) {
|
|
191
|
+
onOAuthResult({
|
|
192
|
+
redirectUrl,
|
|
193
|
+
state,
|
|
194
|
+
codeVerifier: pkce.codeVerifier
|
|
195
|
+
});
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
_core.logger.warn('OxySignInButton: native third-party sign-in cannot complete without an `onOAuthResult` handler; the code exchange is the RP\'s responsibility (state + code_verifier were not surfaced)', {
|
|
199
|
+
component: 'OxySignInButton',
|
|
200
|
+
application: app.name
|
|
201
|
+
});
|
|
202
|
+
}, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn]);
|
|
203
|
+
|
|
204
|
+
// Resolve the Application once, then route: third-party → OAuth redirect;
|
|
205
|
+
// first-party / official / unresolved → the in-app dialog. Resolution failure
|
|
206
|
+
// NEVER breaks an official app's sign-in — it falls back to the dialog.
|
|
207
|
+
const routeSignIn = (0, _react.useCallback)(async () => {
|
|
208
|
+
if (routingRef.current) return;
|
|
209
|
+
routingRef.current = true;
|
|
210
|
+
try {
|
|
211
|
+
const resolving = resolvePublicApplication();
|
|
212
|
+
if (!resolving) {
|
|
213
|
+
startOfficialSignIn();
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
let app;
|
|
217
|
+
try {
|
|
218
|
+
app = await resolving;
|
|
219
|
+
} catch (error) {
|
|
220
|
+
_core.logger.warn('OxySignInButton: could not resolve the application; opening the sign-in dialog', {
|
|
221
|
+
component: 'OxySignInButton',
|
|
222
|
+
clientId
|
|
223
|
+
}, error);
|
|
224
|
+
startOfficialSignIn();
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (app.type === 'third_party' && !app.isOfficial) {
|
|
228
|
+
await startThirdPartyOAuth(app);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
startOfficialSignIn();
|
|
232
|
+
} finally {
|
|
233
|
+
routingRef.current = false;
|
|
234
|
+
}
|
|
235
|
+
}, [resolvePublicApplication, startOfficialSignIn, startThirdPartyOAuth, clientId]);
|
|
71
236
|
|
|
72
|
-
//
|
|
73
|
-
// - Web: full-screen modal (dialog UX fits desktop / browser)
|
|
74
|
-
// - Native: bottom sheet (sheet UX fits iOS/Android)
|
|
237
|
+
// Defer to a caller-supplied handler, otherwise route by application type.
|
|
75
238
|
const handlePress = (0, _react.useCallback)(() => {
|
|
76
239
|
if (onPress) {
|
|
77
240
|
onPress();
|
|
78
241
|
return;
|
|
79
242
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
(0, _SignInModal.showSignInModal)();
|
|
83
|
-
} else {
|
|
84
|
-
showBottomSheet?.('OxyAuth');
|
|
85
|
-
}
|
|
86
|
-
}, [onPress, showBottomSheet]);
|
|
243
|
+
void routeSignIn();
|
|
244
|
+
}, [onPress, routeSignIn]);
|
|
87
245
|
const themedStyles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
|
|
88
246
|
button: {
|
|
89
247
|
padding: 14,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_authStore","_shallow","_theme","_OxyContext","_OxyLogo","_interopRequireDefault","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_OxyContext","_OxyLogo","_interopRequireDefault","_accountDialogManager","_oauthNavigation","_jsxRuntime","e","__esModule","default","OXY_OAUTH_STATE_STORAGE_KEY","exports","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","persistOAuthHandshake","state","codeVerifier","store","globalThis","sessionStorage","Error","setItem","error","logger","warn","component","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","useTheme","openAccountDialog","oxyServices","clientId","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToSignInModal","appResolutionRef","useRef","routingRef","resolvePublicApplication","useCallback","cached","current","promise","getPublicApplication","catch","startOfficialSignIn","startThirdPartyOAuth","app","undefined","application","name","pkce","Promise","all","generatePkcePair","generateOAuthState","authorizeUrl","buildOAuthAuthorizeUrl","redirectUri","codeChallenge","Platform","OS","redirectToAuthorize","redirectUrl","openAuthorizeUrlNative","routeSignIn","resolving","type","isOfficial","handlePress","themedStyles","useMemo","StyleSheet","create","button","padding","borderRadius","alignItems","justifyContent","buttonDefault","backgroundColor","colors","card","borderWidth","borderColor","borderLight","select","web","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","buttonOutline","primary","buttonContained","buttonDisabled","opacity","buttonContent","flexDirection","fontWeight","fontSize","marginLeft","textDefault","color","textOutline","textContained","textDisabled","textTertiary","isButtonDisabled","getButtonStyle","getTextStyle","jsx","TouchableOpacity","children","jsxs","View","size","fillColor","innerFillColor","Text","_default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAOA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AAAgF,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAQ,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,iBAAiB;AACrD,MAAME,mCAAmC,GAAAD,OAAA,CAAAC,mCAAA,GAAG,yBAAyB;;AAE5E;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAACC,KAAa,EAAEC,YAAoB,EAAW;EACzE,MAAMC,KAAK,GAAIC,UAAU,CAAkCC,cAAc;EACzE,IAAI;IACA,IAAI,CAACF,KAAK,EAAE,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;IAC5DH,KAAK,CAACI,OAAO,CAACV,2BAA2B,EAAEI,KAAK,CAAC;IACjDE,KAAK,CAACI,OAAO,CAACR,mCAAmC,EAAEG,YAAY,CAAC;IAChE,OAAO,IAAI;EACf,CAAC,CAAC,OAAOM,KAAK,EAAE;IACZC,YAAM,CAACC,IAAI,CACP,wGAAwG,EACxG;MAAEC,SAAS,EAAE;IAAkB,CAAC,EAChCH,KACJ,CAAC;IACD,OAAO,KAAK;EAChB;AACJ;AA2EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,eAA+C,GAAGA,CAAC;EAC5DC,OAAO,GAAG,SAAS;EACnBC,OAAO;EACPC,KAAK;EACLC,SAAS;EACTC,IAAI,GAAG,kBAAkB;EACzBC,QAAQ,GAAG,KAAK;EAChBC,qBAAqB,GAAG,KAAK;EAC7BC,gBAAgB;EAChBC;AACJ,CAAC,KAAK;EACF,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC,iBAAiB;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAC7D,MAAM;IAAEC,eAAe;IAAEC;EAAU,CAAC,GAAG,IAAAC,uBAAY,EAC/C,IAAAC,mBAAU,EAAE9B,KAAK,KAAM;IAAE2B,eAAe,EAAE3B,KAAK,CAAC2B,eAAe;IAAEC,SAAS,EAAE5B,KAAK,CAAC4B;EAAU,CAAC,CAAC,CAClG,CAAC;EACD;EACA;EACA;EACA,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM,IAAAC,4CAAsB,EAACH,cAAc,CAAC,EAAE,EAAE,CAAC;;EAE3D;EACA;EACA;EACA;EACA;EACA,MAAMI,gBAAgB,GAAG,IAAAC,aAAM,EAIrB,IAAI,CAAC;EACf;EACA;EACA;EACA,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAEhC,MAAME,wBAAwB,GAAG,IAAAC,kBAAW,EAAC,MAAyC;IAClF,IAAI,CAACf,QAAQ,EAAE,OAAO,IAAI;IAC1B,MAAMgB,MAAM,GAAGL,gBAAgB,CAACM,OAAO;IACvC,IAAID,MAAM,IAAIA,MAAM,CAAChB,QAAQ,KAAKA,QAAQ,IAAIgB,MAAM,CAACjB,WAAW,KAAKA,WAAW,EAAE;MAC9E,OAAOiB,MAAM,CAACE,OAAO;IACzB;IACA,MAAMA,OAAO,GAAGnB,WAAW,CAACoB,oBAAoB,CAACnB,QAAQ,CAAC,CAACoB,KAAK,CAAEtC,KAAK,IAAK;MACxE;MACA;MACA,IAAI6B,gBAAgB,CAACM,OAAO,EAAEC,OAAO,KAAKA,OAAO,EAAE;QAC/CP,gBAAgB,CAACM,OAAO,GAAG,IAAI;MACnC;MACA,MAAMnC,KAAK;IACf,CAAC,CAAC;IACF6B,gBAAgB,CAACM,OAAO,GAAG;MAAEjB,QAAQ;MAAED,WAAW;MAAEmB;IAAQ,CAAC;IAC7D,OAAOA,OAAO;EAClB,CAAC,EAAE,CAAClB,QAAQ,EAAED,WAAW,CAAC,CAAC;;EAE3B;EACA,MAAMsB,mBAAmB,GAAG,IAAAN,kBAAW,EAAC,MAAM;IAC1CjB,iBAAiB,CAAC,QAAQ,CAAC;EAC/B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;;EAEvB;EACA;EACA,MAAMwB,oBAAoB,GAAG,IAAAP,kBAAW,EACpC,MAAOQ,GAAsB,IAAoB;IAC7C,IAAI,CAACvB,QAAQ,EAAE;MACXqB,mBAAmB,CAAC,CAAC;MACrB;IACJ;IACA,IAAI,CAAC3B,gBAAgB,EAAE;MACnBX,YAAM,CAACD,KAAK,CACR,8HAA8H,EAC9H0C,SAAS,EACT;QAAEvC,SAAS,EAAE,iBAAiB;QAAEe,QAAQ;QAAEyB,WAAW,EAAEF,GAAG,CAACG;MAAK,CACpE,CAAC;MACD;IACJ;IAEA,MAAM,CAACC,IAAI,EAAEpD,KAAK,CAAC,GAAG,MAAMqD,OAAO,CAACC,GAAG,CAAC,CAAC,IAAAC,sBAAgB,EAAC,CAAC,EAAE,IAAAC,wBAAkB,EAAC,CAAC,CAAC,CAAC;IACnF,MAAMC,YAAY,GAAG,IAAAC,4BAAsB,EAAC;MACxCjC,QAAQ;MACRkC,WAAW,EAAExC,gBAAgB;MAC7BnB,KAAK;MACL4D,aAAa,EAAER,IAAI,CAACQ;IACxB,CAAC,CAAC;IAEF,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACvB;MACA;MACA;MACA,IAAI,CAAC/D,qBAAqB,CAACC,KAAK,EAAEoD,IAAI,CAACnD,YAAY,CAAC,EAAE;QAClD;MACJ;MACA,IAAA8D,oCAAmB,EAACN,YAAY,CAAC;MACjC;IACJ;;IAEA;IACA;IACA,MAAM;MAAEO;IAAY,CAAC,GAAG,MAAM,IAAAC,uCAAsB,EAACR,YAAY,EAAEtC,gBAAgB,CAAC;IACpF,IAAIC,aAAa,EAAE;MACfA,aAAa,CAAC;QAAE4C,WAAW;QAAEhE,KAAK;QAAEC,YAAY,EAAEmD,IAAI,CAACnD;MAAa,CAAC,CAAC;MACtE;IACJ;IACAO,YAAM,CAACC,IAAI,CACP,yLAAyL,EACzL;MAAEC,SAAS,EAAE,iBAAiB;MAAEwC,WAAW,EAAEF,GAAG,CAACG;IAAK,CAC1D,CAAC;EACL,CAAC,EACD,CAAC1B,QAAQ,EAAEN,gBAAgB,EAAEC,aAAa,EAAE0B,mBAAmB,CACnE,CAAC;;EAED;EACA;EACA;EACA,MAAMoB,WAAW,GAAG,IAAA1B,kBAAW,EAAC,YAA2B;IACvD,IAAIF,UAAU,CAACI,OAAO,EAAE;IACxBJ,UAAU,CAACI,OAAO,GAAG,IAAI;IACzB,IAAI;MACA,MAAMyB,SAAS,GAAG5B,wBAAwB,CAAC,CAAC;MAC5C,IAAI,CAAC4B,SAAS,EAAE;QACZrB,mBAAmB,CAAC,CAAC;QACrB;MACJ;MACA,IAAIE,GAAsB;MAC1B,IAAI;QACAA,GAAG,GAAG,MAAMmB,SAAS;MACzB,CAAC,CAAC,OAAO5D,KAAK,EAAE;QACZC,YAAM,CAACC,IAAI,CACP,gFAAgF,EAChF;UAAEC,SAAS,EAAE,iBAAiB;UAAEe;QAAS,CAAC,EAC1ClB,KACJ,CAAC;QACDuC,mBAAmB,CAAC,CAAC;QACrB;MACJ;MACA,IAAIE,GAAG,CAACoB,IAAI,KAAK,aAAa,IAAI,CAACpB,GAAG,CAACqB,UAAU,EAAE;QAC/C,MAAMtB,oBAAoB,CAACC,GAAG,CAAC;QAC/B;MACJ;MACAF,mBAAmB,CAAC,CAAC;IACzB,CAAC,SAAS;MACNR,UAAU,CAACI,OAAO,GAAG,KAAK;IAC9B;EACJ,CAAC,EAAE,CAACH,wBAAwB,EAAEO,mBAAmB,EAAEC,oBAAoB,EAAEtB,QAAQ,CAAC,CAAC;;EAEnF;EACA,MAAM6C,WAAW,GAAG,IAAA9B,kBAAW,EAAC,MAAM;IAClC,IAAI3B,OAAO,EAAE;MACTA,OAAO,CAAC,CAAC;MACT;IACJ;IACA,KAAKqD,WAAW,CAAC,CAAC;EACtB,CAAC,EAAE,CAACrD,OAAO,EAAEqD,WAAW,CAAC,CAAC;EAE1B,MAAMK,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAMC,uBAAU,CAACC,MAAM,CAAC;IACjDC,MAAM,EAAE;MACJC,OAAO,EAAE,EAAE;MACXC,YAAY,EAAE,EAAE;MAChBC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IACpB,CAAC;IACDC,aAAa,EAAE;MACXC,eAAe,EAAE5D,KAAK,CAAC6D,MAAM,CAACC,IAAI;MAClCC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEhE,KAAK,CAAC6D,MAAM,CAACI,WAAW;MACrC,GAAGzB,qBAAQ,CAAC0B,MAAM,CAAC;QACfC,GAAG,EAAE;UACDC,SAAS,EAAE;QACf,CAAC;QACD9F,OAAO,EAAE;UACL+F,WAAW,EAAE,SAAS;UACtBC,YAAY,EAAE;YAAEC,KAAK,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAE,CAAC;UACrCC,aAAa,EAAE,GAAG;UAClBC,YAAY,EAAE,CAAC;UACfC,SAAS,EAAE;QACf;MACJ,CAAC;IACL,CAAC;IACDC,aAAa,EAAE;MACXhB,eAAe,EAAE,aAAa;MAC9BG,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEhE,KAAK,CAAC6D,MAAM,CAACgB;IAC9B,CAAC;IACDC,eAAe,EAAE;MACblB,eAAe,EAAE5D,KAAK,CAAC6D,MAAM,CAACgB;IAClC,CAAC;IACDE,cAAc,EAAE;MACZC,OAAO,EAAE;IACb,CAAC;IACDC,aAAa,EAAE;MACXC,aAAa,EAAE,KAAK;MACpBzB,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IACpB,CAAC;IACD/D,IAAI,EAAE;MACF;MACA;MACA;MACAwF,UAAU,EAAE3C,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,KAAK,GAAGb,SAAS;MACrDwD,QAAQ,EAAE,EAAE;MACZC,UAAU,EAAE;IAChB,CAAC;IACDC,WAAW,EAAE;MACTC,KAAK,EAAEvF,KAAK,CAAC6D,MAAM,CAAClE;IACxB,CAAC;IACD6F,WAAW,EAAE;MACTD,KAAK,EAAEvF,KAAK,CAAC6D,MAAM,CAACgB;IACxB,CAAC;IACDY,aAAa,EAAE;MACXF,KAAK,EAAE;IACX,CAAC;IACDG,YAAY,EAAE;MACVH,KAAK,EAAEvF,KAAK,CAAC6D,MAAM,CAAC8B;IACxB;EACJ,CAAC,CAAC,EAAE,CAAC3F,KAAK,CAAC,CAAC;;EAEZ;EACA,IAAIM,eAAe,IAAI,CAACT,qBAAqB,EAAE,OAAO,IAAI;EAE1D,MAAM+F,gBAAgB,GAAGhG,QAAQ,IAAIW,SAAS,IAAIG,WAAW;;EAE7D;EACA,MAAMmF,cAAc,GAAGA,CAAA,KAAM;IACzB,QAAQtG,OAAO;MACX,KAAK,SAAS;QACV,OAAO,CAAC2D,YAAY,CAAC0B,aAAa,EAAEnF,KAAK,CAAC;MAC9C,KAAK,WAAW;QACZ,OAAO,CAACyD,YAAY,CAAC4B,eAAe,EAAErF,KAAK,CAAC;MAChD;QACI,OAAO,CAACyD,YAAY,CAACS,aAAa,EAAElE,KAAK,CAAC;IAClD;EACJ,CAAC;;EAED;EACA,MAAMqG,YAAY,GAAGA,CAAA,KAAM;IACvB,QAAQvG,OAAO;MACX,KAAK,SAAS;QACV,OAAO,CAAC2D,YAAY,CAACsC,WAAW,EAAE9F,SAAS,CAAC;MAChD,KAAK,WAAW;QACZ,OAAO,CAACwD,YAAY,CAACuC,aAAa,EAAE/F,SAAS,CAAC;MAClD;QACI,OAAO,CAACwD,YAAY,CAACoC,WAAW,EAAE5F,SAAS,CAAC;IACpD;EACJ,CAAC;EAED,oBACI,IAAAvB,WAAA,CAAA4H,GAAA,EAACtI,YAAA,CAAAuI,gBAAgB;IACbvG,KAAK,EAAE,CAACyD,YAAY,CAACI,MAAM,EAAEuC,cAAc,CAAC,CAAC,EAAED,gBAAgB,IAAI1C,YAAY,CAAC6B,cAAc,CAAE;IAChGvF,OAAO,EAAEyD,WAAY;IACrBrD,QAAQ,EAAEgG,gBAAiB;IAAAK,QAAA,eAE3B,IAAA9H,WAAA,CAAA+H,IAAA,EAACzI,YAAA,CAAA0I,IAAI;MAAC1G,KAAK,EAAEyD,YAAY,CAAC+B,aAAc;MAAAgB,QAAA,gBACpC,IAAA9H,WAAA,CAAA4H,GAAA,EAAChI,QAAA,CAAAO,OAAO;QACJiB,OAAO,EAAC,MAAM;QACd6G,IAAI,EAAE,EAAG;QACTC,SAAS,EAAE9G,OAAO,KAAK,WAAW,GAAG,OAAO,GAAGS,KAAK,CAAC6D,MAAM,CAACgB,OAAQ;QACpEyB,cAAc,EAAE/G,OAAO,KAAK,WAAW,GAAGS,KAAK,CAAC6D,MAAM,CAACgB,OAAO,GAAGjD,SAAU;QAC3EnC,KAAK,EAAEmG,gBAAgB,GAAG;UAAEZ,OAAO,EAAE;QAAI,CAAC,GAAGpD;MAAU,CAC1D,CAAC,eACF,IAAAzD,WAAA,CAAA4H,GAAA,EAACtI,YAAA,CAAA8I,IAAI;QAAC9G,KAAK,EAAE,CAACyD,YAAY,CAACvD,IAAI,EAAEmG,YAAY,CAAC,CAAC,EAAEF,gBAAgB,IAAI1C,YAAY,CAACwC,YAAY,CAAE;QAAAO,QAAA,EAC3F1F,SAAS,IAAIG,WAAW,GAAG,eAAe,GAAGf;MAAI,CAChD,CAAC;IAAA,CACL;EAAC,CACO,CAAC;AAE3B,CAAC;AAACnB,OAAA,CAAAc,eAAA,GAAAA,eAAA;AAAA,IAAAkH,QAAA,GAAAhI,OAAA,CAAAF,OAAA,GAEagB,eAAe","ignoreList":[]}
|
|
@@ -12,22 +12,11 @@ var _typography = require("@oxyhq/bloom/typography");
|
|
|
12
12
|
var _theme = require("@oxyhq/bloom/theme");
|
|
13
13
|
var _core = require("@oxyhq/core");
|
|
14
14
|
var _useAuth = require("../hooks/useAuth.js");
|
|
15
|
+
var _OxyContext = require("../context/OxyContext.js");
|
|
15
16
|
var _useI18n = require("../hooks/useI18n.js");
|
|
16
|
-
var _ProfileMenu = _interopRequireDefault(require("./ProfileMenu.js"));
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
18
|
const isWeb = _reactNative.Platform.OS === 'web';
|
|
20
19
|
|
|
21
|
-
/**
|
|
22
|
-
* Fixed popover width used by {@link ProfileMenu} on web. `ProfileButton`
|
|
23
|
-
* mirrors this constant when computing the trigger-relative anchor so the
|
|
24
|
-
* left-edge clamp keeps the panel fully on-screen. Keep the two in sync.
|
|
25
|
-
*/
|
|
26
|
-
const MENU_WIDTH = 300;
|
|
27
|
-
|
|
28
|
-
/** Gutter, in px, kept between the popover and the viewport edges on web. */
|
|
29
|
-
const VIEWPORT_GUTTER = 8;
|
|
30
|
-
|
|
31
20
|
/**
|
|
32
21
|
* Web-only Bluesky-style hover animation timings, mirrored from
|
|
33
22
|
* `social-app/src/view/shell/desktop/LeftNav.tsx`. The row background and the
|
|
@@ -56,36 +45,27 @@ const prefersReducedMotion = () => {
|
|
|
56
45
|
};
|
|
57
46
|
/**
|
|
58
47
|
* Self-contained sidebar account trigger, modeled on Bluesky's ProfileCard and
|
|
59
|
-
* the Oxy inbox's `MailboxDrawer` footer.
|
|
60
|
-
*
|
|
48
|
+
* the Oxy inbox's `MailboxDrawer` footer. Pressing it opens the unified
|
|
49
|
+
* {@link OxyAccountDialog} — the single account switcher + sign-in surface — via
|
|
50
|
+
* `useOxy().openAccountDialog`.
|
|
61
51
|
*
|
|
62
52
|
* Three auth states from {@link useAuth}:
|
|
63
53
|
* - **Undetermined** (`!isAuthResolved || isPrivateApiPending`): a neutral
|
|
64
54
|
* avatar-sized skeleton circle, no press.
|
|
65
55
|
* - **Signed in**: a pressable row — Bloom `Avatar` + display name + `@handle`
|
|
66
|
-
* +
|
|
67
|
-
*
|
|
68
|
-
*
|
|
56
|
+
* + a chevron. Press opens the dialog on its `accounts` view.
|
|
57
|
+
* - **Signed out**: a "Sign in" row that calls `useAuth().signIn()` (which opens
|
|
58
|
+
* the dialog on its `signin` view).
|
|
69
59
|
*
|
|
70
60
|
* Styling uses react-native `StyleSheet` + the Bloom theme (via `useTheme`) so
|
|
71
61
|
* the layout renders identically in EVERY consumer — including apps that do not
|
|
72
62
|
* use NativeWind (e.g. the accounts app). Only the web hover animation keeps
|
|
73
63
|
* dynamic inline `style` (the CSS transition/transform values), which is what
|
|
74
64
|
* the `react-native-web-style.d.ts` augmentation exists for.
|
|
75
|
-
*
|
|
76
|
-
* All display strings resolve through `@oxyhq/core`'s
|
|
77
|
-
* `getAccountDisplayName` / `getAccountFallbackHandle` — no hand-rolled name
|
|
78
|
-
* fallbacks. Avatars pass the bare file id as `source` + `variant="thumb"`, so
|
|
79
|
-
* the app's registered `ImageResolver` builds the thumbnail URL.
|
|
80
65
|
*/
|
|
81
66
|
const ProfileButton = ({
|
|
82
67
|
expanded = true,
|
|
83
68
|
avatarSize,
|
|
84
|
-
onNavigateManage,
|
|
85
|
-
onAddAccount,
|
|
86
|
-
onNavigateProfile,
|
|
87
|
-
onBeforeSessionChange,
|
|
88
|
-
placement = 'up',
|
|
89
69
|
className,
|
|
90
70
|
style
|
|
91
71
|
}) => {
|
|
@@ -96,6 +76,9 @@ const ProfileButton = ({
|
|
|
96
76
|
isPrivateApiPending,
|
|
97
77
|
signIn
|
|
98
78
|
} = (0, _useAuth.useAuth)();
|
|
79
|
+
const {
|
|
80
|
+
openAccountDialog
|
|
81
|
+
} = (0, _OxyContext.useOxy)();
|
|
99
82
|
const {
|
|
100
83
|
colors
|
|
101
84
|
} = (0, _theme.useTheme)();
|
|
@@ -103,67 +86,15 @@ const ProfileButton = ({
|
|
|
103
86
|
t,
|
|
104
87
|
locale
|
|
105
88
|
} = (0, _useI18n.useI18n)();
|
|
106
|
-
const [menuOpen, setMenuOpen] = (0, _react.useState)(false);
|
|
107
|
-
const [anchor, setAnchor] = (0, _react.useState)(null);
|
|
108
89
|
|
|
109
90
|
// Web-only hover/focus tracking for the Bluesky-style reveal animation.
|
|
110
91
|
// Native has no hover, so these stay false and the row renders statically.
|
|
111
92
|
const [hovered, setHovered] = (0, _react.useState)(false);
|
|
112
93
|
const [focused, setFocused] = (0, _react.useState)(false);
|
|
113
|
-
|
|
114
|
-
// Trigger ref for the web anchor measurement. RN-Web exposes `measure()` on
|
|
115
|
-
// host views, so we anchor the popover to the button rect and open upward.
|
|
116
|
-
const triggerRef = (0, _react.useRef)(null);
|
|
117
94
|
const resolvedAvatarSize = avatarSize ?? (expanded ? 40 : 32);
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
setMenuOpen(true);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const node = triggerRef.current;
|
|
125
|
-
if (!node || typeof node.measure !== 'function' || typeof window === 'undefined') {
|
|
126
|
-
setAnchor(null);
|
|
127
|
-
setMenuOpen(true);
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
node.measure((_x, _y, _w, height, pageX, pageY) => {
|
|
131
|
-
if (typeof pageX !== 'number' || typeof pageY !== 'number') {
|
|
132
|
-
setAnchor(null);
|
|
133
|
-
} else {
|
|
134
|
-
// Clamp the panel's left edge inside the viewport gutter.
|
|
135
|
-
const maxLeft = Math.max(VIEWPORT_GUTTER, window.innerWidth - MENU_WIDTH - VIEWPORT_GUTTER);
|
|
136
|
-
const left = Math.min(Math.max(VIEWPORT_GUTTER, pageX), maxLeft);
|
|
137
|
-
// Bottom edge of the trigger in page coordinates. `height` is a
|
|
138
|
-
// number for host views; guard defensively for non-web shims.
|
|
139
|
-
const triggerBottom = pageY + (typeof height === 'number' ? height : 0);
|
|
140
|
-
// Resolve `'auto'` by comparing the room below the trigger with
|
|
141
|
-
// the room above it; pick whichever direction has more space.
|
|
142
|
-
const openDown = placement === 'down' || placement === 'auto' && window.innerHeight - triggerBottom > pageY;
|
|
143
|
-
if (openDown) {
|
|
144
|
-
// Anchor the panel's TOP edge just below the trigger bottom so
|
|
145
|
-
// the menu opens downward from a top-of-sidebar trigger.
|
|
146
|
-
const top = Math.max(VIEWPORT_GUTTER, triggerBottom + VIEWPORT_GUTTER);
|
|
147
|
-
setAnchor({
|
|
148
|
-
left,
|
|
149
|
-
top
|
|
150
|
-
});
|
|
151
|
-
} else {
|
|
152
|
-
// Anchor the panel's BOTTOM edge just above the trigger top so
|
|
153
|
-
// the menu opens upward from this footer button.
|
|
154
|
-
const bottom = Math.max(VIEWPORT_GUTTER, window.innerHeight - pageY + VIEWPORT_GUTTER);
|
|
155
|
-
setAnchor({
|
|
156
|
-
left,
|
|
157
|
-
bottom
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
setMenuOpen(true);
|
|
162
|
-
});
|
|
163
|
-
}, [placement]);
|
|
164
|
-
const handleClose = (0, _react.useCallback)(() => {
|
|
165
|
-
setMenuOpen(false);
|
|
166
|
-
}, []);
|
|
95
|
+
const openDialog = (0, _react.useCallback)(() => {
|
|
96
|
+
openAccountDialog('accounts');
|
|
97
|
+
}, [openAccountDialog]);
|
|
167
98
|
|
|
168
99
|
// ── Undetermined: skeleton circle, no interaction. ──────────────────────
|
|
169
100
|
if (!isAuthResolved || isPrivateApiPending) {
|
|
@@ -225,10 +156,10 @@ const ProfileButton = ({
|
|
|
225
156
|
size: resolvedAvatarSize
|
|
226
157
|
});
|
|
227
158
|
|
|
228
|
-
// `active` combines hover
|
|
229
|
-
//
|
|
230
|
-
//
|
|
231
|
-
const active = hovered || focused
|
|
159
|
+
// `active` combines hover and keyboard focus — exactly like Bluesky's
|
|
160
|
+
// `state.hovered || state.focused`. Only web ever sets these, so on native
|
|
161
|
+
// the row renders statically.
|
|
162
|
+
const active = hovered || focused;
|
|
232
163
|
const accountLabel = t('accountSwitcher.switchWhileSignedInAs', {
|
|
233
164
|
name: displayName
|
|
234
165
|
}) || `Switch account, signed in as ${displayName}`;
|
|
@@ -251,26 +182,17 @@ const ProfileButton = ({
|
|
|
251
182
|
transitionDuration: `${BG_TRANSITION_MS}ms`,
|
|
252
183
|
transitionDelay: active ? '0ms' : `${LEAVE_DELAY_MS}ms`
|
|
253
184
|
} : undefined;
|
|
254
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
185
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
255
186
|
className: className,
|
|
256
187
|
style: style,
|
|
257
|
-
children:
|
|
258
|
-
ref: triggerRef,
|
|
188
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
259
189
|
style: [styles.collapsedTrigger, collapsedBgStyle],
|
|
260
|
-
onPress:
|
|
190
|
+
onPress: openDialog,
|
|
261
191
|
accessibilityRole: "button",
|
|
262
192
|
accessibilityLabel: accountLabel,
|
|
263
193
|
...webInteractionProps,
|
|
264
194
|
children: avatarNode
|
|
265
|
-
})
|
|
266
|
-
open: menuOpen,
|
|
267
|
-
onClose: handleClose,
|
|
268
|
-
anchor: anchor,
|
|
269
|
-
onNavigateManage: onNavigateManage,
|
|
270
|
-
onAddAccount: onAddAccount,
|
|
271
|
-
onNavigateProfile: onNavigateProfile,
|
|
272
|
-
onBeforeSessionChange: onBeforeSessionChange
|
|
273
|
-
})]
|
|
195
|
+
})
|
|
274
196
|
});
|
|
275
197
|
}
|
|
276
198
|
|
|
@@ -323,13 +245,12 @@ const ProfileButton = ({
|
|
|
323
245
|
transitionDuration: `${OPACITY_TRANSITION_MS}ms`,
|
|
324
246
|
transitionDelay: active ? '0ms' : `${LEAVE_DELAY_MS}ms`
|
|
325
247
|
} : undefined;
|
|
326
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
248
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
327
249
|
className: className,
|
|
328
250
|
style: [styles.fullWidth, style],
|
|
329
|
-
children:
|
|
330
|
-
ref: triggerRef,
|
|
251
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
331
252
|
style: [styles.row, styles.rowExpanded, rowStyle],
|
|
332
|
-
onPress:
|
|
253
|
+
onPress: openDialog,
|
|
333
254
|
accessibilityRole: "button",
|
|
334
255
|
accessibilityLabel: accountLabel,
|
|
335
256
|
...webInteractionProps,
|
|
@@ -359,15 +280,7 @@ const ProfileButton = ({
|
|
|
359
280
|
color: colors.textSecondary
|
|
360
281
|
})
|
|
361
282
|
})]
|
|
362
|
-
})
|
|
363
|
-
open: menuOpen,
|
|
364
|
-
onClose: handleClose,
|
|
365
|
-
anchor: anchor,
|
|
366
|
-
onNavigateManage: onNavigateManage,
|
|
367
|
-
onAddAccount: onAddAccount,
|
|
368
|
-
onNavigateProfile: onNavigateProfile,
|
|
369
|
-
onBeforeSessionChange: onBeforeSessionChange
|
|
370
|
-
})]
|
|
283
|
+
})
|
|
371
284
|
});
|
|
372
285
|
};
|
|
373
286
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_core","_useAuth","_useI18n","_ProfileMenu","_interopRequireDefault","_jsxRuntime","e","__esModule","default","isWeb","Platform","OS","MENU_WIDTH","VIEWPORT_GUTTER","BG_TRANSITION_MS","AVATAR_TRANSITION_MS","OPACITY_TRANSITION_MS","LEAVE_DELAY_MS","ACTIVE_AVATAR_SCALE","prefersReducedMotion","window","matchMedia","matches","ProfileButton","expanded","avatarSize","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","placement","className","style","user","isAuthenticated","isAuthResolved","isPrivateApiPending","signIn","useAuth","colors","useTheme","t","locale","useI18n","menuOpen","setMenuOpen","useState","anchor","setAnchor","hovered","setHovered","focused","setFocused","triggerRef","useRef","resolvedAvatarSize","openMenu","useCallback","node","current","measure","_x","_y","_w","height","pageX","pageY","maxLeft","Math","max","innerWidth","left","min","triggerBottom","openDown","innerHeight","top","bottom","handleClose","jsx","View","accessibilityElementsHidden","importantForAccessibility","children","styles","skeletonCircle","width","backgroundColor","backgroundSecondary","signInLabel","jsxs","Pressable","row","rowExpanded","onPress","accessibilityRole","accessibilityLabel","avatarBadge","MaterialCommunityIcons","name","size","round","color","icon","Text","text","numberOfLines","displayName","getAccountDisplayName","handle","getAccountFallbackHandle","handleLine","avatarNode","Avatar","source","avatar","undefined","variant","active","accountLabel","webInteractionProps","onHoverIn","onHoverOut","onFocus","onBlur","collapsedBgStyle","transitionProperty","transitionDuration","transitionDelay","ref","collapsedTrigger","open","onClose","reducedMotion","activeAvatarTranslateX","rowStyle","avatarWrapperStyle","zIndex","transform","scale","translateX","identityStyle","marginLeft","opacity","chevronStyle","fullWidth","identity","textSecondary","StyleSheet","create","borderRadius","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","justifyContent","flex","fontWeight","minWidth","fontSize","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_core","_useAuth","_OxyContext","_useI18n","_jsxRuntime","isWeb","Platform","OS","BG_TRANSITION_MS","AVATAR_TRANSITION_MS","OPACITY_TRANSITION_MS","LEAVE_DELAY_MS","ACTIVE_AVATAR_SCALE","prefersReducedMotion","window","matchMedia","matches","ProfileButton","expanded","avatarSize","className","style","user","isAuthenticated","isAuthResolved","isPrivateApiPending","signIn","useAuth","openAccountDialog","useOxy","colors","useTheme","t","locale","useI18n","hovered","setHovered","useState","focused","setFocused","resolvedAvatarSize","openDialog","useCallback","jsx","View","accessibilityElementsHidden","importantForAccessibility","children","styles","skeletonCircle","width","height","backgroundColor","backgroundSecondary","signInLabel","jsxs","Pressable","row","rowExpanded","onPress","accessibilityRole","accessibilityLabel","avatarBadge","MaterialCommunityIcons","name","size","Math","round","color","icon","Text","text","numberOfLines","displayName","getAccountDisplayName","handle","getAccountFallbackHandle","handleLine","avatarNode","Avatar","source","avatar","undefined","variant","active","accountLabel","webInteractionProps","onHoverIn","onHoverOut","onFocus","onBlur","collapsedBgStyle","transitionProperty","transitionDuration","transitionDelay","collapsedTrigger","reducedMotion","activeAvatarTranslateX","rowStyle","avatarWrapperStyle","zIndex","transform","scale","translateX","identityStyle","marginLeft","opacity","chevronStyle","fullWidth","identity","textSecondary","StyleSheet","create","borderRadius","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","justifyContent","flex","fontWeight","minWidth","fontSize","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileButton.tsx"],"mappings":"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","ignoreList":[]}
|