@passflow/react 0.18.0 → 0.19.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/CHANGELOG.md +19 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +126 -118
- package/dist/index.es.js.map +1 -1
- package/dist/src/components/flow/passflow/index.d.cts +7 -1
- package/dist/src/components/flow/passflow/index.d.ts +7 -1
- package/dist/src/components/flow/passflow/index.d.ts.map +1 -1
- package/dist/src/components/form/signin/index.d.cts +2 -1
- package/dist/src/components/form/signin/index.d.ts +2 -1
- package/dist/src/components/form/signin/index.d.ts.map +1 -1
- package/dist/src/components/form/signup/index.d.cts +2 -1
- package/dist/src/components/form/signup/index.d.ts +2 -1
- package/dist/src/components/form/signup/index.d.ts.map +1 -1
- package/dist/src/components/form/verify-challenge/verify-challenge-approval.d.cts +13 -0
- package/dist/src/components/form/verify-challenge/verify-challenge-approval.d.ts +13 -0
- package/dist/src/components/form/verify-challenge/verify-challenge-approval.d.ts.map +1 -0
- package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.cts +6 -1
- package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.ts +6 -1
- package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.ts.map +1 -1
- package/dist/src/components/form/verify-challenge/verify-challenge-otp.d.ts.map +1 -1
- package/dist/src/components/provider/passflow-provider.d.cts +4 -14
- package/dist/src/components/provider/passflow-provider.d.ts +4 -14
- package/dist/src/components/provider/passflow-provider.d.ts.map +1 -1
- package/dist/src/components/ui/login-screen/credentials.d.ts.map +1 -1
- package/dist/src/components/ui/login-screen/email-code.d.cts +16 -1
- package/dist/src/components/ui/login-screen/email-code.d.ts +16 -1
- package/dist/src/components/ui/login-screen/email-code.d.ts.map +1 -1
- package/dist/src/components/ui/login-screen/index.d.cts +1 -1
- package/dist/src/components/ui/login-screen/index.d.ts +1 -1
- package/dist/src/components/ui/login-screen/index.d.ts.map +1 -1
- package/dist/src/components/ui/login-screen/login-screen.d.ts.map +1 -1
- package/dist/src/components/ui/login-screen/passwordless-approval.d.cts +4 -0
- package/dist/src/components/ui/login-screen/passwordless-approval.d.ts +4 -0
- package/dist/src/components/ui/login-screen/passwordless-approval.d.ts.map +1 -0
- package/dist/src/components/ui/login-screen/passwordless-waiting.d.cts +4 -0
- package/dist/src/components/ui/login-screen/passwordless-waiting.d.ts +4 -0
- package/dist/src/components/ui/login-screen/passwordless-waiting.d.ts.map +1 -0
- package/dist/src/components/ui/login-screen/types.d.cts +46 -1
- package/dist/src/components/ui/login-screen/types.d.ts +46 -1
- package/dist/src/components/ui/login-screen/types.d.ts.map +1 -1
- package/dist/src/context/navigation-context.d.cts +3 -0
- package/dist/src/context/navigation-context.d.ts +3 -0
- package/dist/src/context/navigation-context.d.ts.map +1 -1
- package/dist/src/hooks/use-provider.d.cts +2 -1
- package/dist/src/hooks/use-provider.d.ts +2 -1
- package/dist/src/hooks/use-provider.d.ts.map +1 -1
- package/dist/src/types/auth-errors.d.cts +2 -0
- package/dist/src/types/auth-errors.d.ts +2 -0
- package/dist/src/types/auth-errors.d.ts.map +1 -1
- package/dist/src/types/index.d.cts +1 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/auth-error.d.cts +32 -1
- package/dist/src/utils/auth-error.d.ts +32 -1
- package/dist/src/utils/auth-error.d.ts.map +1 -1
- package/dist/src/utils/index.d.cts +2 -2
- package/dist/src/utils/index.d.ts +2 -2
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/url-params.d.cts +17 -0
- package/dist/src/utils/url-params.d.ts +17 -0
- package/dist/src/utils/url-params.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +6 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Providers } from '@passflow/core';
|
|
2
|
-
|
|
2
|
+
import type { FederatedLanding } from '../types/index.cjs';
|
|
3
|
+
export type UseProviderProps = (redirectUrl?: string, createTenant?: boolean, federatedLanding?: FederatedLanding) => {
|
|
3
4
|
federatedWithPopup: (provider: Providers, inviteToken?: string) => void;
|
|
4
5
|
federatedWithRedirect: (provider: Providers, inviteToken?: string) => void;
|
|
5
6
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Providers } from '@passflow/core';
|
|
2
|
-
|
|
2
|
+
import type { FederatedLanding } from '../types/index.js';
|
|
3
|
+
export type UseProviderProps = (redirectUrl?: string, createTenant?: boolean, federatedLanding?: FederatedLanding) => {
|
|
3
4
|
federatedWithPopup: (provider: Providers, inviteToken?: string) => void;
|
|
4
5
|
federatedWithRedirect: (provider: Providers, inviteToken?: string) => void;
|
|
5
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-provider.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-provider.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAsBhD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,OAAO,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,KAChC;IACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,qBAAqB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAsBzB,CAAC"}
|
|
@@ -2,6 +2,8 @@ export type AuthErrorScope = 'form' | 'identity' | 'password' | 'credentials';
|
|
|
2
2
|
export type AuthUiError = {
|
|
3
3
|
message: string;
|
|
4
4
|
scope: AuthErrorScope;
|
|
5
|
+
/** The request behind this form is gone, so the screen offers a full reload without its parent challenge. */
|
|
6
|
+
startAgain?: boolean;
|
|
5
7
|
};
|
|
6
8
|
export type AuthOperation = 'password' | 'passwordless' | 'passkey';
|
|
7
9
|
export type AuthFlow = 'sign-in' | 'sign-up';
|
|
@@ -2,6 +2,8 @@ export type AuthErrorScope = 'form' | 'identity' | 'password' | 'credentials';
|
|
|
2
2
|
export type AuthUiError = {
|
|
3
3
|
message: string;
|
|
4
4
|
scope: AuthErrorScope;
|
|
5
|
+
/** The request behind this form is gone, so the screen offers a full reload without its parent challenge. */
|
|
6
|
+
startAgain?: boolean;
|
|
5
7
|
};
|
|
6
8
|
export type AuthOperation = 'password' | 'passwordless' | 'passkey';
|
|
7
9
|
export type AuthFlow = 'sign-in' | 'sign-up';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-errors.d.ts","sourceRoot":"","sources":["../../../src/types/auth-errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-errors.d.ts","sourceRoot":"","sources":["../../../src/types/auth-errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;IACtB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC"}
|
|
@@ -2,6 +2,7 @@ export type PreferIdentity = 'identity' | 'phone' | 'none';
|
|
|
2
2
|
export type DefaultMethod = 'email_or_username' | 'phone';
|
|
3
3
|
export type PreferChallenge = 'passkey' | 'password' | 'otp' | 'magic_link';
|
|
4
4
|
export type SuccessAuthRedirect = string;
|
|
5
|
+
export type FederatedLanding = 'app' | 'login-page';
|
|
5
6
|
export type { RegisteredTwoFactorMethod, TwoFactorChallengeResponse, TwoFactorMethod, TwoFactorVerifyRequestV2, TwoFactorVerifyResponseV2, } from '@passflow/core';
|
|
6
7
|
export type { AuthErrorScope, AuthFlow, AuthOperation, AuthUiError } from './auth-errors.cjs';
|
|
7
8
|
export type { DeviceError, DeviceErrorType } from './device-errors.cjs';
|
|
@@ -2,6 +2,7 @@ export type PreferIdentity = 'identity' | 'phone' | 'none';
|
|
|
2
2
|
export type DefaultMethod = 'email_or_username' | 'phone';
|
|
3
3
|
export type PreferChallenge = 'passkey' | 'password' | 'otp' | 'magic_link';
|
|
4
4
|
export type SuccessAuthRedirect = string;
|
|
5
|
+
export type FederatedLanding = 'app' | 'login-page';
|
|
5
6
|
export type { RegisteredTwoFactorMethod, TwoFactorChallengeResponse, TwoFactorMethod, TwoFactorVerifyRequestV2, TwoFactorVerifyResponseV2, } from '@passflow/core';
|
|
6
7
|
export type { AuthErrorScope, AuthFlow, AuthOperation, AuthUiError } from './auth-errors.js';
|
|
7
8
|
export type { DeviceError, DeviceErrorType } from './device-errors.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,YAAY,CAAC;AAGpD,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,OAAO,gBAAgB,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,gBAAgB,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,cAAc,EAAE,OAAO,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,OAAO,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7D,iBAAiB,EAAE,OAAO,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
|
|
@@ -16,7 +16,7 @@ export declare const SERVER_MESSAGE_ERROR_IDS: ReadonlySet<string>;
|
|
|
16
16
|
* redirect's query.
|
|
17
17
|
*/
|
|
18
18
|
export declare const serverMessageFor: (error: unknown) => string | null;
|
|
19
|
-
/** A hook's display error: the server's message for an allow-listed id, else the fixed copy
|
|
19
|
+
/** A hook's display error: a refused parent's copy, the server's message for an allow-listed id, else the operation's fixed copy. */
|
|
20
20
|
export declare const authErrorFrom: (error: unknown, flow: AuthFlow, operation: AuthOperation) => AuthUiError;
|
|
21
21
|
/**
|
|
22
22
|
* The message for a federated redirect that came back as `?error=<id>&message=<text>`: the server's text when the id
|
|
@@ -36,6 +36,37 @@ export declare const emailCodeRestartMessage = "We couldn't verify the code. Go
|
|
|
36
36
|
* PKCE verifier, an unlisted 4xx or a 5xx) asks to start again, and the screen keeps its way back to the form.
|
|
37
37
|
*/
|
|
38
38
|
export declare const emailCodeErrorMessage: (error: unknown) => string;
|
|
39
|
+
export declare const passwordlessWaitDeniedMessage = "This sign-in was denied. Start again.";
|
|
40
|
+
export declare const passwordlessLinkExpiredMessage = "This link expired. Start again.";
|
|
41
|
+
export declare const passwordlessWaitCompletedMessage = "This sign-in was already used. Start again.";
|
|
42
|
+
export declare const passwordlessSignInFailedMessage = "Sign-in failed. Start again.";
|
|
43
|
+
export declare const approvalInvalidMessage = "This link is not valid. Start again from the page where you signed in.";
|
|
44
|
+
export declare const approvalUnavailableMessage = "This sign-in cannot be approved here. Start again.";
|
|
45
|
+
export declare const approvalAlreadyDecidedMessage = "This sign-in was already decided.";
|
|
46
|
+
export declare const approvalAttemptsMessage = "Too many wrong codes. This sign-in was denied. Start again.";
|
|
47
|
+
export declare const approvalConnectionMessage = "Check your connection and try again.";
|
|
48
|
+
export declare const approvalUnknownErrorMessage = "Something went wrong. Try again later.";
|
|
49
|
+
export declare const approvalApprovedMessage = "Approved. Return to the tab that started sign-in. You can close this tab.";
|
|
50
|
+
export declare const approvalDeniedMessage = "Denied. No one was signed in. You can close this tab.";
|
|
51
|
+
export type ApprovalError = {
|
|
52
|
+
message: string;
|
|
53
|
+
/** Nothing more can be done on this screen: the form goes away. */
|
|
54
|
+
terminal: boolean;
|
|
55
|
+
};
|
|
56
|
+
/** A wrong code on the approve screen: the tries left must be read again before showing the message. */
|
|
57
|
+
export declare const isApprovalMatchError: (error: unknown) => boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Error copy for the approve screen. `attemptsLeft` is the count re-read after the rejection. A plain core error with
|
|
60
|
+
* no response body arrives as id `error.passwordless.approval`, status 0: nothing was decided, so the screen stays.
|
|
61
|
+
*/
|
|
62
|
+
export declare const approvalErrorFrom: (error: unknown, attemptsLeft?: number) => ApprovalError;
|
|
63
|
+
/**
|
|
64
|
+
* A failed passwordless completion. A row that only another device can approve has its own copy. A failed exchange comes
|
|
65
|
+
* after the row was spent, so retrying cannot work, even with no response (id `error.pkce.exchange`, status 0). Core
|
|
66
|
+
* rejects a network failure or raw 429 on the completion itself as id `error.passwordless.complete`: the code was not
|
|
67
|
+
* refused, so the user can try again.
|
|
68
|
+
*/
|
|
69
|
+
export declare const passwordlessCompleteErrorMessage: (error: unknown) => string;
|
|
39
70
|
export declare const resetLinkInvalidMessage = "This link is invalid or has expired. Request a new one.";
|
|
40
71
|
export declare const newPasswordUnavailableMessage = "We couldn't save your password. Try again.";
|
|
41
72
|
export declare const passwordSavedRateLimitedMessage = "Your password was saved, but we cannot send a verification code right now. Wait a few minutes, then sign in with your new password.";
|
|
@@ -16,7 +16,7 @@ export declare const SERVER_MESSAGE_ERROR_IDS: ReadonlySet<string>;
|
|
|
16
16
|
* redirect's query.
|
|
17
17
|
*/
|
|
18
18
|
export declare const serverMessageFor: (error: unknown) => string | null;
|
|
19
|
-
/** A hook's display error: the server's message for an allow-listed id, else the fixed copy
|
|
19
|
+
/** A hook's display error: a refused parent's copy, the server's message for an allow-listed id, else the operation's fixed copy. */
|
|
20
20
|
export declare const authErrorFrom: (error: unknown, flow: AuthFlow, operation: AuthOperation) => AuthUiError;
|
|
21
21
|
/**
|
|
22
22
|
* The message for a federated redirect that came back as `?error=<id>&message=<text>`: the server's text when the id
|
|
@@ -36,6 +36,37 @@ export declare const emailCodeRestartMessage = "We couldn't verify the code. Go
|
|
|
36
36
|
* PKCE verifier, an unlisted 4xx or a 5xx) asks to start again, and the screen keeps its way back to the form.
|
|
37
37
|
*/
|
|
38
38
|
export declare const emailCodeErrorMessage: (error: unknown) => string;
|
|
39
|
+
export declare const passwordlessWaitDeniedMessage = "This sign-in was denied. Start again.";
|
|
40
|
+
export declare const passwordlessLinkExpiredMessage = "This link expired. Start again.";
|
|
41
|
+
export declare const passwordlessWaitCompletedMessage = "This sign-in was already used. Start again.";
|
|
42
|
+
export declare const passwordlessSignInFailedMessage = "Sign-in failed. Start again.";
|
|
43
|
+
export declare const approvalInvalidMessage = "This link is not valid. Start again from the page where you signed in.";
|
|
44
|
+
export declare const approvalUnavailableMessage = "This sign-in cannot be approved here. Start again.";
|
|
45
|
+
export declare const approvalAlreadyDecidedMessage = "This sign-in was already decided.";
|
|
46
|
+
export declare const approvalAttemptsMessage = "Too many wrong codes. This sign-in was denied. Start again.";
|
|
47
|
+
export declare const approvalConnectionMessage = "Check your connection and try again.";
|
|
48
|
+
export declare const approvalUnknownErrorMessage = "Something went wrong. Try again later.";
|
|
49
|
+
export declare const approvalApprovedMessage = "Approved. Return to the tab that started sign-in. You can close this tab.";
|
|
50
|
+
export declare const approvalDeniedMessage = "Denied. No one was signed in. You can close this tab.";
|
|
51
|
+
export type ApprovalError = {
|
|
52
|
+
message: string;
|
|
53
|
+
/** Nothing more can be done on this screen: the form goes away. */
|
|
54
|
+
terminal: boolean;
|
|
55
|
+
};
|
|
56
|
+
/** A wrong code on the approve screen: the tries left must be read again before showing the message. */
|
|
57
|
+
export declare const isApprovalMatchError: (error: unknown) => boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Error copy for the approve screen. `attemptsLeft` is the count re-read after the rejection. A plain core error with
|
|
60
|
+
* no response body arrives as id `error.passwordless.approval`, status 0: nothing was decided, so the screen stays.
|
|
61
|
+
*/
|
|
62
|
+
export declare const approvalErrorFrom: (error: unknown, attemptsLeft?: number) => ApprovalError;
|
|
63
|
+
/**
|
|
64
|
+
* A failed passwordless completion. A row that only another device can approve has its own copy. A failed exchange comes
|
|
65
|
+
* after the row was spent, so retrying cannot work, even with no response (id `error.pkce.exchange`, status 0). Core
|
|
66
|
+
* rejects a network failure or raw 429 on the completion itself as id `error.passwordless.complete`: the code was not
|
|
67
|
+
* refused, so the user can try again.
|
|
68
|
+
*/
|
|
69
|
+
export declare const passwordlessCompleteErrorMessage: (error: unknown) => string;
|
|
39
70
|
export declare const resetLinkInvalidMessage = "This link is invalid or has expired. Request a new one.";
|
|
40
71
|
export declare const newPasswordUnavailableMessage = "We couldn't save your password. Try again.";
|
|
41
72
|
export declare const passwordSavedRateLimitedMessage = "Your password was saved, but we cannot send a verification code right now. Wait a few minutes, then sign in with your new password.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAiCpE,eAAO,MAAM,wBAAwB,uFAAuF,CAAC;AAE7H,eAAO,MAAM,4BAA4B,+FACqD,CAAC;AAE/F,eAAO,MAAM,0BAA0B,oDAAoD,CAAC;AAE5F,eAAO,MAAM,+BAA+B,iGACoD,CAAC;AAEjG,eAAO,MAAM,YAAY,SAAU,QAAQ,aAAa,aAAa,KAAG,WAA+C,CAAC;AAExH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAavD,CAAC;AAkBH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAAM,GAAG,IAQ1D,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAiCpE,eAAO,MAAM,wBAAwB,uFAAuF,CAAC;AAE7H,eAAO,MAAM,4BAA4B,+FACqD,CAAC;AAE/F,eAAO,MAAM,0BAA0B,oDAAoD,CAAC;AAE5F,eAAO,MAAM,+BAA+B,iGACoD,CAAC;AAEjG,eAAO,MAAM,YAAY,SAAU,QAAQ,aAAa,aAAa,KAAG,WAA+C,CAAC;AAExH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAavD,CAAC;AAkBH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAAM,GAAG,IAQ1D,CAAC;AASF,qIAAqI;AACrI,eAAO,MAAM,aAAa,UAAW,OAAO,QAAQ,QAAQ,aAAa,aAAa,KAAG,WAMxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAW,MAAM,WAAW,MAAM,GAAG,IAAI,KAAG,MACR,CAAC;AAEvE,eAAO,MAAM,0BAA0B,mDAAmD,CAAC;AAE3F,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,MAA+D,CAAC;AAEzH,eAAO,MAAM,uBAAuB,sDAAsD,CAAC;AAC3F,eAAO,MAAM,2BAA2B,2CAA2C,CAAC;AACpF,eAAO,MAAM,uBAAuB,0DAA0D,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,MAUtD,CAAC;AAGF,eAAO,MAAM,6BAA6B,0CAA0C,CAAC;AACrF,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAChF,eAAO,MAAM,gCAAgC,gDAAgD,CAAC;AAC9F,eAAO,MAAM,+BAA+B,iCAAiC,CAAC;AAG9E,eAAO,MAAM,sBAAsB,2EAA2E,CAAC;AAC/G,eAAO,MAAM,0BAA0B,uDAAuD,CAAC;AAC/F,eAAO,MAAM,6BAA6B,sCAAsC,CAAC;AACjF,eAAO,MAAM,uBAAuB,gEAAgE,CAAC;AACrG,eAAO,MAAM,yBAAyB,yCAAyC,CAAC;AAChF,eAAO,MAAM,2BAA2B,2CAA2C,CAAC;AACpF,eAAO,MAAM,uBAAuB,8EAA8E,CAAC;AACnH,eAAO,MAAM,qBAAqB,0DAA0D,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAOF,wGAAwG;AACxG,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OACwC,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,iBAAiB,MAAM,KAAG,aAuBzE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,UAAW,OAAO,KAAG,MAQjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,4DAA4D,CAAC;AACjG,eAAO,MAAM,6BAA6B,+CAA+C,CAAC;AAC1F,eAAO,MAAM,+BAA+B,wIAC2F,CAAC;AAExI;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,OAGzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,MAWxD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { authErrorFor, authErrorFrom, authRedirectErrorFrom, authRedirectErrorMessage, emailCodeErrorMessage, invitationJoinErrorFrom, invitationLinkErrorMessage, isPasswordSavedRateLimit, newPasswordErrorMessage, serverMessageFor, verificationLinkErrorMessage, verificationRequestErrorMessage, } from './auth-error.cjs';
|
|
1
|
+
export { type ApprovalError, approvalAlreadyDecidedMessage, approvalApprovedMessage, approvalAttemptsMessage, approvalConnectionMessage, approvalDeniedMessage, approvalErrorFrom, approvalInvalidMessage, approvalUnavailableMessage, approvalUnknownErrorMessage, authErrorFor, authErrorFrom, authRedirectErrorFrom, authRedirectErrorMessage, emailCodeErrorMessage, invitationJoinErrorFrom, invitationLinkErrorMessage, isApprovalMatchError, isPasswordSavedRateLimit, newPasswordErrorMessage, passwordlessCompleteErrorMessage, passwordlessLinkExpiredMessage, passwordlessSignInFailedMessage, passwordlessWaitCompletedMessage, passwordlessWaitDeniedMessage, serverMessageFor, verificationLinkErrorMessage, verificationRequestErrorMessage, } from './auth-error.cjs';
|
|
2
2
|
export { classifyDeviceError, DeviceApiError, deviceErrorOfType } from './classify-device-error.cjs';
|
|
3
3
|
export { classifyTwoFactorError, getUserFriendlyErrorMessage } from './classify-two-factor-error.cjs';
|
|
4
4
|
export { cn } from './cn.cjs';
|
|
@@ -13,7 +13,7 @@ export { routeToSecondFactor, urlCarriesTwoFactorToken } from './second-factor.c
|
|
|
13
13
|
export { TwoFactorLoopPrevention } from './two-factor-loop-prevention.cjs';
|
|
14
14
|
export { undefinedOnCatch } from './undefined-on-catch.cjs';
|
|
15
15
|
export { attachAuth, registerUpgradeAuthInstance, releaseUpgradeAuthInstance, upgradeAuthInstance, withAuth, } from './upgrade-auth.cjs';
|
|
16
|
-
export { useUrlParams } from './url-params.cjs';
|
|
16
|
+
export { readParentChallengeIdFromURL, urlWithoutParentChallenge, useUrlParams } from './url-params.cjs';
|
|
17
17
|
export { isValidUrl } from './validate-url.cjs';
|
|
18
18
|
export * from './validation-schemas/index.cjs';
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { authErrorFor, authErrorFrom, authRedirectErrorFrom, authRedirectErrorMessage, emailCodeErrorMessage, invitationJoinErrorFrom, invitationLinkErrorMessage, isPasswordSavedRateLimit, newPasswordErrorMessage, serverMessageFor, verificationLinkErrorMessage, verificationRequestErrorMessage, } from './auth-error.js';
|
|
1
|
+
export { type ApprovalError, approvalAlreadyDecidedMessage, approvalApprovedMessage, approvalAttemptsMessage, approvalConnectionMessage, approvalDeniedMessage, approvalErrorFrom, approvalInvalidMessage, approvalUnavailableMessage, approvalUnknownErrorMessage, authErrorFor, authErrorFrom, authRedirectErrorFrom, authRedirectErrorMessage, emailCodeErrorMessage, invitationJoinErrorFrom, invitationLinkErrorMessage, isApprovalMatchError, isPasswordSavedRateLimit, newPasswordErrorMessage, passwordlessCompleteErrorMessage, passwordlessLinkExpiredMessage, passwordlessSignInFailedMessage, passwordlessWaitCompletedMessage, passwordlessWaitDeniedMessage, serverMessageFor, verificationLinkErrorMessage, verificationRequestErrorMessage, } from './auth-error.js';
|
|
2
2
|
export { classifyDeviceError, DeviceApiError, deviceErrorOfType } from './classify-device-error.js';
|
|
3
3
|
export { classifyTwoFactorError, getUserFriendlyErrorMessage } from './classify-two-factor-error.js';
|
|
4
4
|
export { cn } from './cn.js';
|
|
@@ -13,7 +13,7 @@ export { routeToSecondFactor, urlCarriesTwoFactorToken } from './second-factor.j
|
|
|
13
13
|
export { TwoFactorLoopPrevention } from './two-factor-loop-prevention.js';
|
|
14
14
|
export { undefinedOnCatch } from './undefined-on-catch.js';
|
|
15
15
|
export { attachAuth, registerUpgradeAuthInstance, releaseUpgradeAuthInstance, upgradeAuthInstance, withAuth, } from './upgrade-auth.js';
|
|
16
|
-
export { useUrlParams } from './url-params.js';
|
|
16
|
+
export { readParentChallengeIdFromURL, urlWithoutParentChallenge, useUrlParams } from './url-params.js';
|
|
17
17
|
export { isValidUrl } from './validate-url.js';
|
|
18
18
|
export * from './validation-schemas/index.js';
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,6BAA6B,EAC7B,gBAAgB,EAChB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read `parent_challenge_id` from the current URL's query string.
|
|
3
|
+
* Returns `undefined` when not present so callers can short-circuit
|
|
4
|
+
* the OIDC interceptor on non-OIDC mounts.
|
|
5
|
+
*
|
|
6
|
+
* Lowercases only the parameter KEYS (not values) so the
|
|
7
|
+
* KSUID-shaped value isn't corrupted on the way through. (URL params
|
|
8
|
+
* are case-sensitive per RFC 3986; some Passflow URLs use mixed
|
|
9
|
+
* case like `appId=...`. The lowercase-keys treatment mirrors what
|
|
10
|
+
* the bundled login-app was doing pre-SDK-migration.)
|
|
11
|
+
*/
|
|
12
|
+
export declare const readParentChallengeIdFromURL: () => string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The URL without `parent_challenge_id`, in any key case. Works on the raw query, so every other param keeps its
|
|
15
|
+
* exact encoding.
|
|
16
|
+
*/
|
|
17
|
+
export declare const urlWithoutParentChallenge: (url: string) => string;
|
|
1
18
|
/**
|
|
2
19
|
* Get URL parameters. Inside PassflowFlow they come from the flow's location; outside it, from the
|
|
3
20
|
* address bar.
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read `parent_challenge_id` from the current URL's query string.
|
|
3
|
+
* Returns `undefined` when not present so callers can short-circuit
|
|
4
|
+
* the OIDC interceptor on non-OIDC mounts.
|
|
5
|
+
*
|
|
6
|
+
* Lowercases only the parameter KEYS (not values) so the
|
|
7
|
+
* KSUID-shaped value isn't corrupted on the way through. (URL params
|
|
8
|
+
* are case-sensitive per RFC 3986; some Passflow URLs use mixed
|
|
9
|
+
* case like `appId=...`. The lowercase-keys treatment mirrors what
|
|
10
|
+
* the bundled login-app was doing pre-SDK-migration.)
|
|
11
|
+
*/
|
|
12
|
+
export declare const readParentChallengeIdFromURL: () => string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The URL without `parent_challenge_id`, in any key case. Works on the raw query, so every other param keeps its
|
|
15
|
+
* exact encoding.
|
|
16
|
+
*/
|
|
17
|
+
export declare const urlWithoutParentChallenge: (url: string) => string;
|
|
1
18
|
/**
|
|
2
19
|
* Get URL parameters. Inside PassflowFlow they come from the flow's location; outside it, from the
|
|
3
20
|
* address bar.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-params.d.ts","sourceRoot":"","sources":["../../../src/utils/url-params.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC;;eAuC5D,MAAM;kBASH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAmB5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"url-params.d.ts","sourceRoot":"","sources":["../../../src/utils/url-params.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,QAAO,MAAM,GAAG,SAQxD,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAS,MAAM,KAAG,MAYvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC;;eAuC5D,MAAM;kBASH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAmB5C,CAAC"}
|
package/dist/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@import "https://fonts.googleapis.com/css2?family=Gasoek+One&family=Inter:opsz,wght@14..32,100..900&display=swap";[class*=passflow-]{box-sizing:border-box;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}.passflow-article,.passflow-aside,.passflow-details,.passflow-figcaption,.passflow-figure,.passflow-footer,.passflow-header,.passflow-hgroup,.passflow-menu,.passflow-nav,.passflow-section{display:block}html{scroll-behavior:smooth;font-size:16px}body{text-rendering:optimizespeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}.passflow-list{list-style:none}.passflow-link{color:inherit;text-decoration:none}.passflow-canvas,.passflow-image,.passflow-picture,.passflow-svg,.passflow-video{max-width:100%;display:block}.passflow-button{background:0 0;border:none;padding:0}.passflow-button,.passflow-input,.passflow-select,.passflow-textarea{font:inherit;color:inherit}.passflow-table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion:reduce){[class*=passflow-]{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body,html{box-sizing:border-box;margin:0;padding:0}:root{--passflow-primary:#0c59dd;--passflow-primary-dark:#0a47b1;--passflow-warning:#b42318;--passflow-warning-dark:#8f1f17;--passflow-dark:#1e1e1e;--passflow-dark-two:#2e2e2e;--passflow-dark-three:#3e3e3e;--passflow-white:#fff;--passflow-grey-one:#5f6368;--passflow-grey-two:#bfbfbf;--passflow-grey-three:#e9eaf0;--passflow-grey-four:#f3f5f7;--passflow-background:#f8f9fb;--passflow-success:#067647;--passflow-primary-color:var(--passflow-primary);--passflow-text-color:var(--passflow-dark);--passflow-secondary-text-color:var(--passflow-grey-one);--passflow-button-text-color:var(--passflow-white);--passflow-background-color:var(--passflow-white);--passflow-background-image:url();--passflow-card-color:var(--passflow-white);--passflow-branding-background-color:var(--passflow-background);--passflow-input-background-color:var(--passflow-grey-four);--passflow-input-border-color:var(--passflow-grey-four);--passflow-passkey-button-text-color:var(--passflow-white);--passflow-passkey-button-background-color:var(--passflow-dark);--passflow-divider-color:var(--passflow-grey-three);--passflow-federated_button_background_color:var(--passflow-background);--passflow-federated_button_text_color:var(--passflow-dark);--passflow-focus-color:var(--passflow-primary-color);--passflow-link-color:var(--passflow-primary-color);--passflow-font-family:"Inter", sans-serif;--passflow-h1:2rem;--passflow-h2:1.5rem;--passflow-body-1:1rem;--passflow-body-2:13px;--passflow-caption:12px;--passflow-normal:400;--passflow-medium:500;--passflow-semibold:600;--passflow-bold:700;--passflow-spacing-1:4px;--passflow-spacing-2:8px;--passflow-spacing-3:12px;--passflow-spacing-4:16px;--passflow-spacing-5:20px;--passflow-spacing-6:24px;--passflow-radius:4px;--passflow-surface-width:384px}.passflow-heading{font-size:var(--passflow-h1);color:var(--passflow-text-color);margin-bottom:var(--passflow-spacing-4);font-weight:600}.passflow-text{color:var(--passflow-text-color);font-size:var(--passflow-body-1);line-height:1.5}.passflow-secondary-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-secondary-font{font-family:Gasoek One,sans-serif;font-style:normal}.passflow-button{padding:var(--passflow-spacing-3) var(--passflow-spacing-6);font-size:var(--passflow-body-2);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.passflow-button:focus-visible{outline:2px solid var(--passflow-focus-color);outline-offset:2px}.passflow-button--primary{color:var(--passflow-button-text-color);background-color:var(--passflow-primary-color);box-shadow:0 3px 15px #0c59dd59}.passflow-button--primary:focus-visible,.passflow-button--primary:hover{background-color:var(--passflow-primary-color)}.passflow-button--secondary{background-color:var(--passflow-white);border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--secondary:focus-visible,.passflow-button--secondary:hover{border-color:var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--outlined{background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-dark)}.passflow-button--outlined:focus-visible,.passflow-button--outlined:hover{background-color:var(--passflow-grey-four)}.passflow-button--warning{background-color:var(--passflow-warning);color:var(--passflow-button-text-color);box-shadow:0 5px 9px #d85d5d40}.passflow-button--warning:focus-visible,.passflow-button--warning:hover{background-color:var(--passflow-warning-dark)}.passflow-button--clean{background-color:var(--passflow-white);border:none}.passflow-button--provider{background-color:var(--passflow-federated_button_background_color)}.passflow-button--provider:focus-visible,.passflow-button--provider:hover{background-color:var(--passflow-grey-four)}.passflow-button--dark{color:var(--passflow-button-text-color);background-color:var(--passflow-dark-three);box-shadow:0 3px 15px #1e1e1e59}.passflow-button--dark:focus-visible,.passflow-button--dark:hover{opacity:.9}.passflow-button--small{width:100%;max-width:28px;height:28px;padding:var(--passflow-spacing-1)}.passflow-button--medium{width:100%;max-width:66px;height:32px;padding:7px var(--passflow-spacing-3);font-size:var(--passflow-body-2)}.passflow-button--big{width:100%;min-width:40px;max-width:336px;height:48px;padding:15px var(--passflow-spacing-2);font-size:var(--passflow-body-2);font-weight:600}.passflow-button--dark:disabled,.passflow-button--dark[aria-disabled=true],.passflow-button--primary:disabled,.passflow-button--primary[aria-disabled=true],.passflow-button--warning:disabled,.passflow-button--warning[aria-disabled=true]{cursor:not-allowed;background-color:var(--passflow-grey-two);box-shadow:none}.passflow-button--outlined:disabled,.passflow-button--outlined[aria-disabled=true],.passflow-button--secondary:disabled,.passflow-button--secondary[aria-disabled=true]{cursor:not-allowed;background-color:var(--passflow-white);border-color:var(--passflow-grey-four);color:var(--passflow-grey-two)}.passflow-button--clean:disabled,.passflow-button--clean[aria-disabled=true]{cursor:not-allowed;opacity:.5;background-color:#0000}.passflow-button--with-icon{gap:var(--passflow-spacing-2)}.passflow-button--as-icon{width:max-content;height:max-content;padding:0}.passflow-button--option{align-items:flex-start;gap:var(--passflow-spacing-1);width:100%;max-width:none;height:auto;padding:var(--passflow-spacing-3);text-align:left;background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-text-color);flex-direction:column}.passflow-button--option:focus-visible,.passflow-button--option:hover{background-color:var(--passflow-grey-four)}.passflow-button--option[aria-pressed=true]{border-color:var(--passflow-primary-color)}.passflow-button--option:disabled{cursor:not-allowed;background-color:var(--passflow-white);border-color:var(--passflow-grey-four)}.passflow-button__option-label{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-text-color)}.passflow-button__option-hint{font-size:var(--passflow-caption);font-weight:var(--passflow-normal);color:var(--passflow-secondary-text-color)}.passflow-button--option:disabled .passflow-button__option-hint,.passflow-button--option:disabled .passflow-button__option-label{color:var(--passflow-grey-two)}.passflow-button--link{width:auto;max-width:none;height:auto;color:var(--passflow-link-color);font-size:inherit;font-weight:var(--passflow-semibold);line-height:inherit;background-color:#0000;border:none;border-radius:0;padding:0;display:inline;overflow:visible}.passflow-button--link:focus-visible,.passflow-button--link:hover{text-decoration:underline}.passflow-button--link:disabled{cursor:not-allowed;color:var(--passflow-grey-two);text-decoration:none}.passflow-button-go-back-error,.passflow-button-passkey,.passflow-button-passwordless,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password,.passflow-button-reset-password,.passflow-button-send-reset-password,.passflow-button-signin,.passflow-button-signup{font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold);margin:0 auto}.passflow-button-passkey{background-color:var(--passflow-passkey-button-background-color);color:var(--passflow-passkey-button-text-color)}.passflow-button-passwordless--active{border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold);background-color:#0000}.passflow-button-show-country{background-color:var(--passflow-input-background-color);border-radius:4px;gap:4px;width:56px;min-width:56px;margin-left:8px;padding:12px 4px}.passflow-button-display-password{background-color:#0000}.passflow-send-reset-wrapper{flex-direction:column;gap:24px;display:flex}.passflow-button-resend-magic-link,.passflow-button-resend-reset-password{max-width:196px;font-weight:var(--passflow-medium)}.passflow-button-go-back-error{width:196px;max-width:100%;font-weight:var(--passflow-medium)}.passflow-button-resend-magic-link:hover{background-color:var(--passflow-grey-four)}.passflow-button-timer{max-width:max-content;font-weight:var(--passflow-semibold);background-color:var(--passflow-background-color);padding:3px;display:inline-block}.passflow-button-timer--active{color:var(--passflow-secondary-text-color);opacity:1!important}.passflow-button-timer--inactive{color:var(--passflow-primary-color)}.passflow-field{width:100%;min-height:48px;padding:11px var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);color:var(--passflow-dark);font-size:var(--passflow-body-2);outline:1px solid var(--passflow-input-border-color);border-radius:4px;justify-content:flex-start;align-items:center;display:flex}.passflow-field::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field--focused:focus-visible{outline:1px solid var(--passflow-primary-color)}.passflow-field--error{outline:1px solid var(--passflow-warning)!important}.passflow-field:disabled{border-color:var(--passflow-input-border-color);color:var(--passflow-secondary-text-color);background-color:var(--passflow-input-background-color);cursor:not-allowed}.passflow-ripple{background-color:#ffffff4d;border-radius:50%;animation:.6s linear passflow-ripple;position:absolute;transform:scale(0)}@keyframes passflow-ripple{to{opacity:0;transform:scale(4)}}@media (prefers-reduced-motion:reduce){.passflow-ripple{animation:none;display:none}}.passflow-container{width:100%;max-width:1200px;padding:0 var(--passflow-spacing-4);margin:0 auto}.passflow-flex{display:flex}.passflow-flex-col{flex-direction:column}.passflow-items-center{align-items:center}.passflow-justify-center{justify-content:center}.passflow-justify-between{justify-content:space-between}.passflow-mt-4{margin-top:var(--passflow-spacing-4)}.passflow-mb-4{margin-bottom:var(--passflow-spacing-4)}.passflow-gap-4{gap:var(--passflow-spacing-4)}.passflow-form-subscriptions{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center;max-width:384px;margin:-24px auto 0;display:flex}.passflow-field-wrapper{width:100%;position:relative}.passflow-field-container{flex-direction:column;gap:6px;width:100%;display:flex}.passflow-field-label{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-label--error{color:var(--passflow-warning)}.passflow-field-label-button{color:var(--passflow-link-color);font-size:var(--passflow-caption);background-color:var(--passflow-card-color);width:max-content;max-width:100%;text-decoration:none}.passflow-field-input,.passflow-field-label-button{font-weight:var(--passflow-medium);line-height:18px}.passflow-field-input{width:100%;min-height:48px;padding:11px var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);color:var(--passflow-text-color);font-size:var(--passflow-body-2);outline:1px solid var(--passflow-input-border-color);border-radius:4px}.passflow-field-input--with-icon{padding-right:40px}.passflow-field-icon-button{width:28px;min-width:28px;height:28px;padding:6px;position:absolute;top:50%;right:0;transform:translate(-8px,-50%)}.passflow-field-error{justify-content:center;align-items:center;gap:4px;margin-top:4px;display:flex}.passflow-field-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-field-phone-wrapper{background-color:var(--passflow-input-background-color);width:100%;height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);outline:1px solid var(--passflow-input-border-color);border-radius:4px;justify-content:flex-start;align-items:center;display:flex;position:relative}.passflow-field-phone-wrapper--focus{outline:1px solid var(--passflow-primary-color)}.passflow-field-phone-wrapper--error{outline:1px solid var(--passflow-warning)}.passflow-field-phone-wrapper::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field-phone-input{background-color:var(--passflow-input-background-color);width:100%;height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);border-radius:4px;padding:0 8px}.passflow-field-phone-input:focus-within{outline:none}.passflow-field-country-search-wrapper{z-index:20;padding-left:28px;position:relative}.passflow-field-country-search,.passflow-field-country-search-wrapper{background-color:var(--passflow-input-background-color);border-radius:4px;width:100%}.passflow-field-country-search{height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);padding:0 8px}.passflow-field-country-search::placeholder{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-medium)}.passflow-field-country-search:focus-visible{outline:none}.passflow-field-country-search-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%)}.passflow-password-validation{flex-direction:column;gap:4px;margin-top:4px;display:flex}.passflow-password-validation-item{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);justify-content:flex-start;align-items:center;gap:4px;display:flex}.passflow-password-validation-item--success{color:var(--passflow-success)}.passflow-dialog-overlay{z-index:40;background-color:#1e1e1e80;position:fixed;inset:0}.passflow-dialog-content{z-index:50;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.passflow-dialog-header{text-align:center;flex-direction:column;gap:6px;display:flex}.passflow-dialog-footer{flex-direction:column-reverse;gap:8px;display:flex}@media (width>=640px){.passflow-dialog-header{text-align:left}.passflow-dialog-footer{flex-direction:row;justify-content:flex-end}}.passflow-dialog-title{font-size:var(--passflow-h2);font-weight:var(--passflow-semibold);letter-spacing:-.02em;line-height:1}.passflow-dialog-description{font-size:var(--passflow-body-2);color:var(--passflow-secondary-text-color)}.passflow-popover-content{z-index:10;background-color:var(--passflow-white);border-radius:4px;box-shadow:0 5px 20px #0000000d}.passflow-popover-menu{flex-direction:column;align-items:flex-start;gap:4px;width:125px;padding:6px;display:flex}.passflow-popover-menu-item{justify-content:flex-start;gap:6px;width:100%;padding:6px}.passflow-popover-menu-item:hover{background-color:var(--passflow-background)}.passflow-popover-menu-item-text{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-dark-three)}.passflow-popover-menu-item-text--warning{color:var(--passflow-warning)}.passflow-switch-wrapper{cursor:pointer;align-items:center;gap:12px;display:inline-flex;position:relative}.passflow-switch-label{color:var(--passflow-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-switch-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.passflow-switch-track{background-color:var(--passflow-grey-two);border-radius:9999px;width:28px;height:16px;transition:background-color .2s;position:relative}.passflow-switch-track:after{content:"";background-color:var(--passflow-white);border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.passflow-switch-input:focus-visible+.passflow-switch-track{outline:2px solid var(--passflow-focus-color);outline-offset:2px}.passflow-switch-wrapper--disabled{cursor:not-allowed;opacity:.6}.passflow-switch-input:checked+.passflow-switch-track{background-color:var(--passflow-primary-color)}.passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(12px,-50%)}[dir=rtl] .passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(-14px,-50%)}.passflow-icon{background-color:#0000}.passflow-icon--small{width:16px;height:16px}.passflow-icon--medium{width:20px;height:20px}.passflow-icon--big{width:32px;height:32px}.passflow-icon--large{width:44px;height:44px}.passflow-icon--warning{stroke:var(--passflow-warning)}.passflow-icon--white{background-color:var(--passflow-white)}.passflow-icon--success{stroke:var(--passflow-primary-color)}.passflow-verify-otp{flex-direction:column;gap:32px;display:flex}.passflow-verify-otp-container{background-color:var(--passflow-card-color);border-radius:6px;flex-direction:column;gap:56px;padding:24px 24px 56px;display:flex;box-shadow:0 4px 15px #00000017}.passflow-verify-otp-button{background-color:var(--passflow-background);border:none;position:relative}.passflow-verify-otp-button-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.passflow-verify-otp-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.passflow-verify-otp-error{justify-content:center;align-items:center;gap:4px;display:flex}.passflow-verify-otp-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-verify-otp-resend{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-providers-box{flex-flow:wrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.passflow-providers-box--grid{grid-template-columns:repeat(auto-fit,minmax(49px,1fr));justify-content:stretch;align-items:stretch;gap:8px;display:grid}.passflow-provider-item{align-items:center;gap:8px;display:flex}.passflow-provider-text{color:var(--passflow-federated_button_text_color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-transform:capitalize}.passflow-ripple-container{position:absolute;inset:0;overflow:hidden}.passflow-ripple-effect{opacity:.6;background-color:currentColor}.passflow-form{flex-direction:column;gap:32px;width:100%;max-width:384px;display:flex}.passflow-form-switch{justify-content:center;align-items:center;width:100%;margin-bottom:-8px;display:flex}.passflow-form-container{background-color:var(--passflow-card-color);border-radius:6px;gap:24px;max-width:384px;padding:24px;box-shadow:0 4px 15px #00000017}.passflow-form-container,.passflow-form-field{flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;display:flex}.passflow-form-field{gap:6px}.passflow-form-field__header{justify-content:space-between;align-items:center;width:100%;max-height:18px;display:flex}.passflow-form-error{justify-content:center;align-items:center;gap:4px;margin-top:4px;display:flex}.passflow-form-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-form-actions{justify-content:center;align-items:center;width:100%;max-width:336px;margin:0 auto;display:flex}.passflow-form-actions--top-space{margin-top:-8px}.passflow-form-divider{justify-content:space-between;align-items:center;width:100%;padding:9px 0;display:flex;position:relative}.passflow-form-divider__line-left,.passflow-form-divider__line-right{background-color:var(--passflow-divider-color);width:105px;height:1px}.passflow-form-divider__text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);background-color:#0000;padding:0 15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.passflow-form-providers{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:24px;width:100%;max-width:336px;margin:0 auto;display:flex}.passflow-link{color:var(--passflow-link-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold)}.passflow-dont-have-account,.passflow-have-account,.passflow-remember-password{text-align:center;color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-medium)}.passflow-country-search-wrapper{z-index:10;background-color:var(--passflow-card-color);scrollbar-width:thin;scrollbar-color:var(--passflow-secondary-text-color) transparent;border-bottom-right-radius:4px;border-bottom-left-radius:4px;width:100%;max-height:181px;position:absolute;top:2px;left:0;overflow-y:auto;transform:translateY(48px);box-shadow:0 4px 15px #00000017}.passflow-country-search-wrapper--without-preferred{max-height:170px}.passflow-country-search-wrapper::-webkit-scrollbar{width:6px}.passflow-country-search-wrapper::-webkit-scrollbar-track{background:0 0}.passflow-country-search-wrapper::-webkit-scrollbar-thumb{background-color:var(--passflow-secondary-text-color);border-radius:3px}.passflow-country-search-wrapper--show{opacity:1;visibility:visible;transition:opacity .2s,visibility .2s;display:block}.passflow-country-search-wrapper--hidden{opacity:0;visibility:hidden;display:none}.passflow-country-search-sticky-bottom,.passflow-country-search-sticky-top{background-color:var(--passflow-card-color);z-index:10;width:100%;height:10px;position:sticky;left:0;overflow-x:hidden}.passflow-country-search-sticky-top{top:0}.passflow-country-search-sticky-bottom{bottom:0}.passflow-country-search-item{background-color:var(--passflow-card-color);cursor:pointer;justify-content:flex-start;align-items:center;width:100%;max-height:32px;padding:7px 12px;transition:background-color .2s;display:flex}.passflow-country-search-item:focus,.passflow-country-search-item:hover{background-color:var(--passflow-background)}.passflow-country-search-flag{width:24px;height:18px}.passflow-country-search-name{color:var(--passflow-text-color);margin-left:8px}.passflow-country-search-code,.passflow-country-search-name{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-country-search-code{color:var(--passflow-secondary-text-color);margin-left:auto;transition:color .2s}.passflow-country-search-item:hover .passflow-country-search-code{color:var(--passflow-text-color)}.passflow-country-search-divider{font-size:var(--passflow-caption);border-bottom:1px solid var(--passflow-divider-color);margin:12px 12px 6px;padding-bottom:6px}.passflow-country-search-divider,.passflow-country-search-no-matches,.passflow-forgot-password-success-text{font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color)}.passflow-country-search-no-matches{font-size:var(--passflow-body-2);text-align:center;width:100%;margin:0 auto;padding:15px;display:block}.passflow-forgot-password-success-wrapper{flex-direction:column;gap:24px;width:100%;display:flex}.passflow-forgot-password-success-container{flex-direction:column;gap:32px;width:100%;max-width:336px;margin-top:-8px;display:flex}.passflow-forgot-password-success-text,.passflow-verify-challenge-magic-link-text{font-size:var(--passflow-body-2);text-align:center}.passflow-forgot-password-success-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-magic-link-wrapper{flex-direction:column;width:100%;margin:0 auto;display:flex}.passflow-verify-challenge-magic-link-container{flex-direction:column;gap:32px;width:100%;max-width:336px;margin-top:-24px;display:flex}.passflow-verify-challenge-magic-link-text{font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color)}.passflow-verify-challenge-magic-link-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-success-wrapper{gap:32px}.passflow-verify-challenge-success-container,.passflow-verify-challenge-success-wrapper{flex-direction:column;justify-content:flex-start;align-items:center;width:100%;display:flex}.passflow-verify-challenge-success-container{gap:8px}.passflow-verify-challenge-success-text{font-size:var(--passflow-h2);font-weight:var(--passflow-bold);color:var(--passflow-text-color);text-align:center}.passflow-reset-password-text,.passflow-verify-challenge-success-text-secondary{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.passflow-reset-password-text{margin-top:-32px;display:block}.passflow-form-error--critical,.passflow-form-error--persistent{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:20px 24px;display:flex}.passflow-form-error--critical .icon-warning,.passflow-form-error--persistent .icon-warning{color:#dc2626;flex-shrink:0;width:32px;height:32px}.passflow-form-error-content{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.passflow-form-error--critical .passflow-form-error-text,.passflow-form-error--persistent .passflow-form-error-text{color:#991b1b;margin:0;font-size:14px;line-height:1.5}.passflow-form-error-actions{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.passflow-button-back-to-signin,.passflow-button-setup-2fa{white-space:nowrap;min-width:140px}.passflow-form-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:12px;margin-top:16px;padding:16px;display:flex}.passflow-form-info .icon-info{color:#2563eb;flex-shrink:0;width:20px;height:20px;margin-top:2px}.passflow-form-info-text{color:#1e40af;font-size:14px;line-height:1.5}.passflow-field--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.icon-info{color:#2563eb}.passflow-continuing-status{min-height:100vh;font-family:var(--passflow-font-family);font-size:var(--passflow-body-1);color:var(--passflow-secondary-text-color);justify-content:center;align-items:center;display:flex}.passflow-country-flag{width:24px;height:18px;color:var(--passflow-secondary-text-color);font-size:9px;font-weight:var(--passflow-bold);text-transform:uppercase;background-repeat:no-repeat;background-size:408px 384px;border-radius:2px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}.passflow-country-flag--fallback{background-color:var(--passflow-input-background-color);outline:1px solid var(--passflow-input-border-color)}.passflow-field-otp-group{--passflow-field-otp-size:48px;--passflow-field-otp-gap:10px}.passflow-field-otp-group--disabled{cursor:not-allowed}.passflow-field-otp-slots{gap:var(--passflow-field-otp-gap)}.passflow-field-otp,.passflow-field-otp-slots{justify-content:center;align-items:center;display:flex}.passflow-field-otp{width:var(--passflow-field-otp-size);height:var(--passflow-field-otp-size);border-radius:var(--passflow-radius);background-color:var(--passflow-input-background-color);outline:1px solid var(--passflow-input-border-color);color:var(--passflow-text-color);font-size:var(--passflow-body-2);position:relative}.passflow-field-otp--active{outline-color:var(--passflow-primary-color)}.passflow-field-otp--error{outline-color:var(--passflow-warning)}.passflow-field-otp--disabled{opacity:.5}.passflow-field-otp__caret{background-color:currentColor;width:1px;height:1em;animation:1s step-end infinite passflow-field-otp-caret-blink}@keyframes passflow-field-otp-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.passflow-field-otp__caret{animation:none}}.passflow-field-otp-field{flex-direction:column;gap:6px;display:inline-flex}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-country-selector-border-color,var(--react-international-phone-border-color,#dcdcdc));-webkit-appearance:button;appearance:button;background-color:var(--react-international-phone-country-selector-background-color,var(--react-international-phone-background-color,#fff));cursor:pointer;text-transform:none;user-select:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover,#f5f5f5)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:#0000}.react-international-phone-country-selector-button__button-content{justify-content:center;align-items:center;display:flex}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-top:var(--react-international-phone-country-selector-arrow-size,4px) solid var(--react-international-phone-country-selector-arrow-color,#777);border-right:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-left:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color,#999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5))}.react-international-phone-flag-emoji{width:var(--react-international-phone-flag-width,24px);height:var(--react-international-phone-flag-height,24px);box-sizing:border-box}.react-international-phone-country-selector-dropdown{z-index:1;top:var(--react-international-phone-dropdown-top,44px);left:var(--react-international-phone-dropdown-left,0);background-color:var(--react-international-phone-dropdown-item-background-color,var(--react-international-phone-background-color,#fff));width:300px;max-height:200px;box-shadow:var(--react-international-phone-dropdown-shadow,2px 2px 16px #00000040);color:var(--react-international-phone-dropdown-item-text-color,var(--react-international-phone-text-color,#222));flex-direction:column;margin:0;padding:4px 0;list-style:none;display:flex;position:absolute;overflow-y:scroll}.react-international-phone-country-selector-dropdown__preferred-list-divider{height:1px;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin,0);background:var(--react-international-phone-dropdown-preferred-list-divider-color,var(--react-international-phone-border-color,#dcdcdc));border:none}.react-international-phone-country-selector-dropdown__list-item{min-height:var(--react-international-phone-dropdown-item-height,28px);box-sizing:border-box;align-items:center;padding:2px 8px;display:flex}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{font-size:var(--react-international-phone-dropdown-item-font-size,14px);text-overflow:ellipsis;white-space:nowrap;margin-right:8px;overflow:hidden}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color,gray);font-size:var(--react-international-phone-dropdown-item-font-size,14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--focused,.react-international-phone-country-selector-dropdown__list-item--selected{background-color:var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5);color:var(--react-international-phone-selected-dropdown-item-text-color,var(--react-international-phone-text-color,#222))}.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color,var(--react-international-phone-dropdown-item-dial-code-color,gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5))}.react-international-phone-dial-code-preview{border:1px solid var(--react-international-phone-dial-code-preview-border-color,var(--react-international-phone-border-color,#dcdcdc));background-color:var(--react-international-phone-dial-code-preview-background-color,var(--react-international-phone-background-color,#fff));color:var(--react-international-phone-dial-code-preview-text-color,var(--react-international-phone-text-color,#222));font-size:var(--react-international-phone-dial-code-preview-font-size,var(--react-international-phone-font-size,13px));justify-content:center;align-items:center;margin-right:-1px;padding:0 8px;display:flex}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5));color:var(--react-international-phone-dial-code-preview-disabled-text-color,var(--react-international-phone-disabled-text-color,#666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius,4px);border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.react-international-phone-input-container .react-international-phone-input{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-border-color,#dcdcdc);border-radius:var(--react-international-phone-border-radius,4px);background-color:var(--react-international-phone-background-color,#fff);color:var(--react-international-phone-text-color,#222);font-family:inherit;font-size:var(--react-international-phone-font-size,13px);border-top-left-radius:0;border-bottom-left-radius:0;margin:0;padding:0 8px;overflow:visible}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color,#f5f5f5);color:var(--react-international-phone-disabled-text-color,#666)}.icon-warning{filter:brightness(0)saturate()invert(17%)sepia(98%)saturate(3037%)hue-rotate(354deg)brightness(87%)contrast(90%)}.icon-white{filter:brightness(0)saturate()invert()sepia(2%)saturate(7%)hue-rotate(80deg)brightness(103%)contrast()}.passflow-icon--match-text{-webkit-mask:var(--passflow-icon-mask) center/contain no-repeat;mask:var(--passflow-icon-mask) center/contain no-repeat;background-color:currentColor;flex:none;display:inline-block}.passflow-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#passflow-wrapper{box-sizing:border-box;-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow-x:hidden}#passflow-wrapper,.passflow-wrapper{width:100%;min-height:100dvh}.passflow-wrapper{color:var(--passflow-text-color);background-color:var(--passflow-background-color);background-image:var(--passflow-background-image);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;display:flex}.passflow-branding{background-color:var(--passflow-branding-background-color);border-radius:4px;flex:none;justify-content:center;align-self:flex-end;align-items:center;gap:4px;margin:0 24px 24px;padding:7px 12px;display:flex}.passflow-branding-text{font-size:11px;line-height:18px;font-weight:var(--passflow-bold);color:var(--passflow-secondary-text-color)}.passflow-branding-text-secondary{font-weight:var(--passflow-normal)}.passflow-form-main-wrapper{border-radius:6px;flex:1 0 auto;justify-content:safe center;gap:32px;padding:32px 24px}.passflow-form-main-container,.passflow-form-main-wrapper{flex-direction:column;align-items:center;width:100%;display:flex}.passflow-form-main-container{justify-content:center;gap:24px;max-width:384px;margin:0 auto}.passflow-form-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.passflow-form-title{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold)}.passflow-form-subtitle{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.passflow-form-main-container-logo{object-fit:contain;object-position:center;border-radius:8px;width:auto;max-width:min(160px,100%);height:auto;max-height:44px}.passflow-error-container{gap:32px;margin-top:-8px}.passflow-error-container,.passflow-error-container-text-wrapper{flex-direction:column;justify-content:start;align-items:center;display:flex}.passflow-error-container-text-wrapper{gap:8px}.passflow-error-container-text{font-size:var(--passflow-h2);font-weight:var(--passflow-bold);color:var(--passflow-warning);text-align:center}.passflow-error-container-text-secondary{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.icon-success{filter:brightness(0)saturate()invert(35%)sepia(38%)saturate(1173%)hue-rotate(106deg)brightness(90%)contrast(95%)}.passflow-login-screen-actions{gap:var(--passflow-spacing-4);max-width:336px;margin:0 auto}.passflow-login-screen-actions,.passflow-login-screen-notice{flex-direction:column;align-items:center;width:100%;display:flex}.passflow-login-screen-notice{gap:var(--passflow-spacing-3);max-width:384px}.passflow-login-screen-code{box-sizing:border-box;width:100%;padding:var(--passflow-spacing-4);background-color:var(--passflow-input-background-color);color:var(--passflow-text-color);font-size:var(--passflow-h1);font-weight:var(--passflow-bold);user-select:all;border-radius:6px}.passflow-login-screen-code,.passflow-login-screen-code-input{letter-spacing:.12em;text-align:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.passflow-login-screen-code-input{font-size:var(--passflow-body-1);text-transform:uppercase}.passflow-login-screen-text{color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-normal);line-height:1.5}.passflow-login-screen-centered-text{text-align:center}.passflow-login-screen-centered{text-align:center;align-items:center}.passflow-login-screen-hint{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);text-align:center;line-height:1.5}.passflow-login-screen-app-name{color:var(--passflow-text-color);font-weight:var(--passflow-semibold)}.passflow-login-screen-success{justify-content:center;align-items:center;gap:var(--passflow-spacing-1);display:flex}.passflow-login-screen-success-text{color:var(--passflow-success);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-login-screen-info{align-items:center;gap:var(--passflow-spacing-3);flex-direction:column;display:flex}.passflow-login-screen-info-icon{color:var(--passflow-primary-color)}.passflow-login-screen-spinner{border:3px solid var(--passflow-grey-three);border-top-color:var(--passflow-primary-color);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite passflow-login-screen-spin}.passflow-login-screen-spinner--small{border-width:2px;width:18px;height:18px}@keyframes passflow-login-screen-spin{to{transform:rotate(1turn)}}@media (width<=480px){.passflow-form-main-wrapper{padding:24px 16px}.passflow-branding{align-self:center;margin:0 16px 16px}}@media (prefers-reduced-motion:reduce){.passflow-login-screen-spinner{animation-duration:3s}}.passflow-login-screen-status{align-items:center;gap:var(--passflow-spacing-3);flex-direction:column;width:100%;display:flex}.passflow-consent-scopes{gap:var(--passflow-spacing-2);flex-direction:column;width:100%;max-width:384px;margin:0 auto;padding:0;list-style:none;display:flex}.passflow-consent-scope{box-sizing:border-box;padding:var(--passflow-spacing-3) var(--passflow-spacing-4);border:1px solid var(--passflow-divider-color);background-color:var(--passflow-card-color);gap:var(--passflow-spacing-1);text-align:left;border-radius:6px;flex-direction:column;display:flex}.passflow-consent-scope-description{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-normal);margin:0;line-height:1.5}.passflow-consent-actions{gap:var(--passflow-spacing-2);flex-direction:column;width:100%;max-width:336px;margin:0 auto;display:flex}.passflow-spinner{--passflow-spinner-diameter:26px;--passflow-spinner-stroke:3px;width:var(--passflow-spinner-diameter);height:var(--passflow-spinner-diameter);border:var(--passflow-spinner-stroke) solid var(--passflow-grey-three);border-top-color:var(--passflow-primary-color);border-radius:50%;flex:none;animation:.8s linear infinite passflow-spinner-spin}.passflow-spinner--small{--passflow-spinner-diameter:18px;--passflow-spinner-stroke:2px}@keyframes passflow-spinner-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.passflow-spinner{animation-duration:3s}}.passflow-upgrade-dialog{box-sizing:border-box;gap:var(--passflow-spacing-6);width:min(var(--passflow-surface-width),100vw - var(--passflow-spacing-6) * 2);max-height:calc(100dvh - var(--passflow-spacing-6) * 2);padding:var(--passflow-spacing-6);color:var(--passflow-text-color);background-color:var(--passflow-card-color);border-radius:var(--passflow-radius);font-family:var(--passflow-font-family);flex-direction:column;display:flex;overflow-y:auto}.passflow-upgrade-dialog__header{gap:var(--passflow-spacing-2);text-align:left;flex-direction:column;display:flex}.passflow-upgrade-dialog__form,.passflow-upgrade-dialog__status{gap:var(--passflow-spacing-4);flex-direction:column;width:100%;display:flex}.passflow-upgrade-dialog__factor{gap:var(--passflow-spacing-1);padding:var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);border-radius:var(--passflow-radius);flex-direction:column;display:flex}.passflow-upgrade-dialog__factor-label{font-size:var(--passflow-body-1);font-weight:var(--passflow-semibold);color:var(--passflow-text-color)}.passflow-upgrade-dialog__factor-hint,.passflow-upgrade-dialog__status-detail{font-size:var(--passflow-caption);font-weight:var(--passflow-normal);color:var(--passflow-secondary-text-color);margin:0}.passflow-upgrade-dialog__actions,.passflow-upgrade-dialog__alternatives,.passflow-upgrade-dialog__field{gap:var(--passflow-spacing-2);flex-direction:column;width:100%;display:flex}.passflow-upgrade-dialog__alternatives{margin:0;padding:0;list-style:none}.passflow-upgrade-dialog__alternative{width:100%}.passflow-upgrade-dialog__status-head{align-items:center;gap:var(--passflow-spacing-2);display:flex}.passflow-upgrade-dialog__status-message{font-size:var(--passflow-body-1);font-weight:var(--passflow-medium)}.passflow-upgrade-dialog__status-head--success .passflow-upgrade-dialog__status-message{color:var(--passflow-success)}.passflow-upgrade-dialog__status-head--problem .passflow-upgrade-dialog__status-message{color:var(--passflow-warning)}.passflow-upgrade-dialog__status-head--neutral .passflow-upgrade-dialog__status-message,.passflow-upgrade-dialog__status-head--working .passflow-upgrade-dialog__status-message{color:var(--passflow-text-color)}.passflow-upgrade-dialog__bars{gap:var(--passflow-spacing-1);padding:var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);border-radius:var(--passflow-radius);flex-direction:column;display:flex}.passflow-upgrade-dialog__bar{justify-content:space-between;gap:var(--passflow-spacing-3);font-size:var(--passflow-caption);display:flex}.passflow-upgrade-dialog__bar-term{color:var(--passflow-secondary-text-color);font-weight:var(--passflow-medium)}.passflow-upgrade-dialog__bar-value{color:var(--passflow-text-color);font-weight:var(--passflow-semibold)}
|
|
1
|
+
@import "https://fonts.googleapis.com/css2?family=Gasoek+One&family=Inter:opsz,wght@14..32,100..900&display=swap";[class*=passflow-]{box-sizing:border-box;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}.passflow-article,.passflow-aside,.passflow-details,.passflow-figcaption,.passflow-figure,.passflow-footer,.passflow-header,.passflow-hgroup,.passflow-menu,.passflow-nav,.passflow-section{display:block}html{scroll-behavior:smooth;font-size:16px}body{text-rendering:optimizespeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}.passflow-list{list-style:none}.passflow-link{color:inherit;text-decoration:none}.passflow-canvas,.passflow-image,.passflow-picture,.passflow-svg,.passflow-video{max-width:100%;display:block}.passflow-button{background:0 0;border:none;padding:0}.passflow-button,.passflow-input,.passflow-select,.passflow-textarea{font:inherit;color:inherit}.passflow-table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion:reduce){[class*=passflow-]{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body,html{box-sizing:border-box;margin:0;padding:0}:root{--passflow-primary:#0c59dd;--passflow-primary-dark:#0a47b1;--passflow-warning:#b42318;--passflow-warning-dark:#8f1f17;--passflow-dark:#1e1e1e;--passflow-dark-two:#2e2e2e;--passflow-dark-three:#3e3e3e;--passflow-white:#fff;--passflow-grey-one:#5f6368;--passflow-grey-two:#bfbfbf;--passflow-grey-three:#e9eaf0;--passflow-grey-four:#f3f5f7;--passflow-background:#f8f9fb;--passflow-success:#067647;--passflow-primary-color:var(--passflow-primary);--passflow-text-color:var(--passflow-dark);--passflow-secondary-text-color:var(--passflow-grey-one);--passflow-button-text-color:var(--passflow-white);--passflow-background-color:var(--passflow-white);--passflow-background-image:url();--passflow-card-color:var(--passflow-white);--passflow-branding-background-color:var(--passflow-background);--passflow-input-background-color:var(--passflow-grey-four);--passflow-input-border-color:var(--passflow-grey-four);--passflow-passkey-button-text-color:var(--passflow-white);--passflow-passkey-button-background-color:var(--passflow-dark);--passflow-divider-color:var(--passflow-grey-three);--passflow-federated_button_background_color:var(--passflow-background);--passflow-federated_button_text_color:var(--passflow-dark);--passflow-focus-color:var(--passflow-primary-color);--passflow-link-color:var(--passflow-primary-color);--passflow-font-family:"Inter", sans-serif;--passflow-h1:2rem;--passflow-h2:1.5rem;--passflow-body-1:1rem;--passflow-body-2:13px;--passflow-caption:12px;--passflow-normal:400;--passflow-medium:500;--passflow-semibold:600;--passflow-bold:700;--passflow-spacing-1:4px;--passflow-spacing-2:8px;--passflow-spacing-3:12px;--passflow-spacing-4:16px;--passflow-spacing-5:20px;--passflow-spacing-6:24px;--passflow-radius:4px;--passflow-surface-width:384px}.passflow-heading{font-size:var(--passflow-h1);color:var(--passflow-text-color);margin-bottom:var(--passflow-spacing-4);font-weight:600}.passflow-text{color:var(--passflow-text-color);font-size:var(--passflow-body-1);line-height:1.5}.passflow-secondary-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-secondary-font{font-family:Gasoek One,sans-serif;font-style:normal}.passflow-button{padding:var(--passflow-spacing-3) var(--passflow-spacing-6);font-size:var(--passflow-body-2);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.passflow-button:focus-visible{outline:2px solid var(--passflow-focus-color);outline-offset:2px}.passflow-button--primary{color:var(--passflow-button-text-color);background-color:var(--passflow-primary-color);box-shadow:0 3px 15px #0c59dd59}.passflow-button--primary:focus-visible,.passflow-button--primary:hover{background-color:var(--passflow-primary-color)}.passflow-button--secondary{background-color:var(--passflow-white);border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--secondary:focus-visible,.passflow-button--secondary:hover{border-color:var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--outlined{background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-dark)}.passflow-button--outlined:focus-visible,.passflow-button--outlined:hover{background-color:var(--passflow-grey-four)}.passflow-button--warning{background-color:var(--passflow-warning);color:var(--passflow-button-text-color);box-shadow:0 5px 9px #d85d5d40}.passflow-button--warning:focus-visible,.passflow-button--warning:hover{background-color:var(--passflow-warning-dark)}.passflow-button--clean{background-color:var(--passflow-white);border:none}.passflow-button--provider{background-color:var(--passflow-federated_button_background_color)}.passflow-button--provider:focus-visible,.passflow-button--provider:hover{background-color:var(--passflow-grey-four)}.passflow-button--dark{color:var(--passflow-button-text-color);background-color:var(--passflow-dark-three);box-shadow:0 3px 15px #1e1e1e59}.passflow-button--dark:focus-visible,.passflow-button--dark:hover{opacity:.9}.passflow-button--small{width:100%;max-width:28px;height:28px;padding:var(--passflow-spacing-1)}.passflow-button--medium{width:100%;max-width:66px;height:32px;padding:7px var(--passflow-spacing-3);font-size:var(--passflow-body-2)}.passflow-button--big{width:100%;min-width:40px;max-width:336px;height:48px;padding:15px var(--passflow-spacing-2);font-size:var(--passflow-body-2);font-weight:600}.passflow-button--dark:disabled,.passflow-button--dark[aria-disabled=true],.passflow-button--primary:disabled,.passflow-button--primary[aria-disabled=true],.passflow-button--warning:disabled,.passflow-button--warning[aria-disabled=true]{cursor:not-allowed;background-color:var(--passflow-grey-two);box-shadow:none}.passflow-button--outlined:disabled,.passflow-button--outlined[aria-disabled=true],.passflow-button--secondary:disabled,.passflow-button--secondary[aria-disabled=true]{cursor:not-allowed;background-color:var(--passflow-white);border-color:var(--passflow-grey-four);color:var(--passflow-grey-two)}.passflow-button--clean:disabled,.passflow-button--clean[aria-disabled=true]{cursor:not-allowed;opacity:.5;background-color:#0000}.passflow-button--with-icon{gap:var(--passflow-spacing-2)}.passflow-button--as-icon{width:max-content;height:max-content;padding:0}.passflow-button--option{align-items:flex-start;gap:var(--passflow-spacing-1);width:100%;max-width:none;height:auto;padding:var(--passflow-spacing-3);text-align:left;background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-text-color);flex-direction:column}.passflow-button--option:focus-visible,.passflow-button--option:hover{background-color:var(--passflow-grey-four)}.passflow-button--option[aria-pressed=true]{border-color:var(--passflow-primary-color)}.passflow-button--option:disabled{cursor:not-allowed;background-color:var(--passflow-white);border-color:var(--passflow-grey-four)}.passflow-button__option-label{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-text-color)}.passflow-button__option-hint{font-size:var(--passflow-caption);font-weight:var(--passflow-normal);color:var(--passflow-secondary-text-color)}.passflow-button--option:disabled .passflow-button__option-hint,.passflow-button--option:disabled .passflow-button__option-label{color:var(--passflow-grey-two)}.passflow-button--link{width:auto;max-width:none;height:auto;color:var(--passflow-link-color);font-size:inherit;font-weight:var(--passflow-semibold);line-height:inherit;background-color:#0000;border:none;border-radius:0;padding:0;display:inline;overflow:visible}.passflow-button--link:focus-visible,.passflow-button--link:hover{text-decoration:underline}.passflow-button--link:disabled{cursor:not-allowed;color:var(--passflow-grey-two);text-decoration:none}.passflow-button-go-back-error,.passflow-button-passkey,.passflow-button-passwordless,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password,.passflow-button-reset-password,.passflow-button-send-reset-password,.passflow-button-signin,.passflow-button-signup{font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold);margin:0 auto}.passflow-button-passkey{background-color:var(--passflow-passkey-button-background-color);color:var(--passflow-passkey-button-text-color)}.passflow-button-passwordless--active{border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold);background-color:#0000}.passflow-button-show-country{background-color:var(--passflow-input-background-color);border-radius:4px;gap:4px;width:56px;min-width:56px;margin-left:8px;padding:12px 4px}.passflow-button-display-password{background-color:#0000}.passflow-send-reset-wrapper{flex-direction:column;gap:24px;display:flex}.passflow-button-resend-magic-link,.passflow-button-resend-reset-password{max-width:196px;font-weight:var(--passflow-medium)}.passflow-button-go-back-error{width:196px;max-width:100%;font-weight:var(--passflow-medium)}.passflow-button-resend-magic-link:hover{background-color:var(--passflow-grey-four)}.passflow-button-timer{max-width:max-content;font-weight:var(--passflow-semibold);background-color:var(--passflow-background-color);padding:3px;display:inline-block}.passflow-button-timer--active{color:var(--passflow-secondary-text-color);opacity:1!important}.passflow-button-timer--inactive{color:var(--passflow-primary-color)}.passflow-field{width:100%;min-height:48px;padding:11px var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);color:var(--passflow-dark);font-size:var(--passflow-body-2);outline:1px solid var(--passflow-input-border-color);border-radius:4px;justify-content:flex-start;align-items:center;display:flex}.passflow-field::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field--focused:focus-visible{outline:1px solid var(--passflow-primary-color)}.passflow-field--error{outline:1px solid var(--passflow-warning)!important}.passflow-field:disabled{border-color:var(--passflow-input-border-color);color:var(--passflow-secondary-text-color);background-color:var(--passflow-input-background-color);cursor:not-allowed}.passflow-ripple{background-color:#ffffff4d;border-radius:50%;animation:.6s linear passflow-ripple;position:absolute;transform:scale(0)}@keyframes passflow-ripple{to{opacity:0;transform:scale(4)}}@media (prefers-reduced-motion:reduce){.passflow-ripple{animation:none;display:none}}.passflow-container{width:100%;max-width:1200px;padding:0 var(--passflow-spacing-4);margin:0 auto}.passflow-flex{display:flex}.passflow-flex-col{flex-direction:column}.passflow-items-center{align-items:center}.passflow-justify-center{justify-content:center}.passflow-justify-between{justify-content:space-between}.passflow-mt-4{margin-top:var(--passflow-spacing-4)}.passflow-mb-4{margin-bottom:var(--passflow-spacing-4)}.passflow-gap-4{gap:var(--passflow-spacing-4)}.passflow-form-subscriptions{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center;max-width:384px;margin:-24px auto 0;display:flex}.passflow-field-wrapper{width:100%;position:relative}.passflow-field-container{flex-direction:column;gap:6px;width:100%;display:flex}.passflow-field-label{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-label--error{color:var(--passflow-warning)}.passflow-field-label-button{color:var(--passflow-link-color);font-size:var(--passflow-caption);background-color:var(--passflow-card-color);width:max-content;max-width:100%;text-decoration:none}.passflow-field-input,.passflow-field-label-button{font-weight:var(--passflow-medium);line-height:18px}.passflow-field-input{width:100%;min-height:48px;padding:11px var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);color:var(--passflow-text-color);font-size:var(--passflow-body-2);outline:1px solid var(--passflow-input-border-color);border-radius:4px}.passflow-field-input--with-icon{padding-right:40px}.passflow-field-icon-button{width:28px;min-width:28px;height:28px;padding:6px;position:absolute;top:50%;right:0;transform:translate(-8px,-50%)}.passflow-field-error{justify-content:center;align-items:center;gap:4px;margin-top:4px;display:flex}.passflow-field-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-field-phone-wrapper{background-color:var(--passflow-input-background-color);width:100%;height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);outline:1px solid var(--passflow-input-border-color);border-radius:4px;justify-content:flex-start;align-items:center;display:flex;position:relative}.passflow-field-phone-wrapper--focus{outline:1px solid var(--passflow-primary-color)}.passflow-field-phone-wrapper--error{outline:1px solid var(--passflow-warning)}.passflow-field-phone-wrapper::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field-phone-input{background-color:var(--passflow-input-background-color);width:100%;height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);border-radius:4px;padding:0 8px}.passflow-field-phone-input:focus-within{outline:none}.passflow-field-country-search-wrapper{z-index:20;padding-left:28px;position:relative}.passflow-field-country-search,.passflow-field-country-search-wrapper{background-color:var(--passflow-input-background-color);border-radius:4px;width:100%}.passflow-field-country-search{height:48px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);padding:0 8px}.passflow-field-country-search::placeholder{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-medium)}.passflow-field-country-search:focus-visible{outline:none}.passflow-field-country-search-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%)}.passflow-password-validation{flex-direction:column;gap:4px;margin-top:4px;display:flex}.passflow-password-validation-item{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);justify-content:flex-start;align-items:center;gap:4px;display:flex}.passflow-password-validation-item--success{color:var(--passflow-success)}.passflow-dialog-overlay{z-index:40;background-color:#1e1e1e80;position:fixed;inset:0}.passflow-dialog-content{z-index:50;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.passflow-dialog-header{text-align:center;flex-direction:column;gap:6px;display:flex}.passflow-dialog-footer{flex-direction:column-reverse;gap:8px;display:flex}@media (width>=640px){.passflow-dialog-header{text-align:left}.passflow-dialog-footer{flex-direction:row;justify-content:flex-end}}.passflow-dialog-title{font-size:var(--passflow-h2);font-weight:var(--passflow-semibold);letter-spacing:-.02em;line-height:1}.passflow-dialog-description{font-size:var(--passflow-body-2);color:var(--passflow-secondary-text-color)}.passflow-popover-content{z-index:10;background-color:var(--passflow-white);border-radius:4px;box-shadow:0 5px 20px #0000000d}.passflow-popover-menu{flex-direction:column;align-items:flex-start;gap:4px;width:125px;padding:6px;display:flex}.passflow-popover-menu-item{justify-content:flex-start;gap:6px;width:100%;padding:6px}.passflow-popover-menu-item:hover{background-color:var(--passflow-background)}.passflow-popover-menu-item-text{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-dark-three)}.passflow-popover-menu-item-text--warning{color:var(--passflow-warning)}.passflow-switch-wrapper{cursor:pointer;align-items:center;gap:12px;display:inline-flex;position:relative}.passflow-switch-label{color:var(--passflow-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-switch-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.passflow-switch-track{background-color:var(--passflow-grey-two);border-radius:9999px;width:28px;height:16px;transition:background-color .2s;position:relative}.passflow-switch-track:after{content:"";background-color:var(--passflow-white);border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.passflow-switch-input:focus-visible+.passflow-switch-track{outline:2px solid var(--passflow-focus-color);outline-offset:2px}.passflow-switch-wrapper--disabled{cursor:not-allowed;opacity:.6}.passflow-switch-input:checked+.passflow-switch-track{background-color:var(--passflow-primary-color)}.passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(12px,-50%)}[dir=rtl] .passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(-14px,-50%)}.passflow-icon{background-color:#0000}.passflow-icon--small{width:16px;height:16px}.passflow-icon--medium{width:20px;height:20px}.passflow-icon--big{width:32px;height:32px}.passflow-icon--large{width:44px;height:44px}.passflow-icon--warning{stroke:var(--passflow-warning)}.passflow-icon--white{background-color:var(--passflow-white)}.passflow-icon--success{stroke:var(--passflow-primary-color)}.passflow-verify-otp{flex-direction:column;gap:32px;display:flex}.passflow-verify-otp-container{background-color:var(--passflow-card-color);border-radius:6px;flex-direction:column;gap:56px;padding:24px 24px 56px;display:flex;box-shadow:0 4px 15px #00000017}.passflow-verify-otp-button{background-color:var(--passflow-background);border:none;position:relative}.passflow-verify-otp-button-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.passflow-verify-otp-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.passflow-verify-otp-error{justify-content:center;align-items:center;gap:4px;display:flex}.passflow-verify-otp-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-verify-otp-resend{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-providers-box{flex-flow:wrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.passflow-providers-box--grid{grid-template-columns:repeat(auto-fit,minmax(49px,1fr));justify-content:stretch;align-items:stretch;gap:8px;display:grid}.passflow-provider-item{align-items:center;gap:8px;display:flex}.passflow-provider-text{color:var(--passflow-federated_button_text_color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-transform:capitalize}.passflow-ripple-container{position:absolute;inset:0;overflow:hidden}.passflow-ripple-effect{opacity:.6;background-color:currentColor}.passflow-form{flex-direction:column;gap:32px;width:100%;max-width:384px;display:flex}.passflow-form-switch{justify-content:center;align-items:center;width:100%;margin-bottom:-8px;display:flex}.passflow-form-container{background-color:var(--passflow-card-color);border-radius:6px;gap:24px;max-width:384px;padding:24px;box-shadow:0 4px 15px #00000017}.passflow-form-container,.passflow-form-field{flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;display:flex}.passflow-form-field{gap:6px}.passflow-form-field__header{justify-content:space-between;align-items:center;width:100%;max-height:18px;display:flex}.passflow-form-error{justify-content:center;align-items:center;gap:4px;margin-top:4px;display:flex}.passflow-form-error-text{font-size:var(--passflow-caption);font-weight:var(--passflow-medium);color:var(--passflow-warning)}.passflow-form-actions{justify-content:center;align-items:center;width:100%;max-width:336px;margin:0 auto;display:flex}.passflow-form-actions--top-space{margin-top:-8px}.passflow-form-divider{justify-content:space-between;align-items:center;width:100%;padding:9px 0;display:flex;position:relative}.passflow-form-divider__line-left,.passflow-form-divider__line-right{background-color:var(--passflow-divider-color);width:105px;height:1px}.passflow-form-divider__text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);background-color:#0000;padding:0 15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.passflow-form-providers{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:24px;width:100%;max-width:336px;margin:0 auto;display:flex}.passflow-link{color:var(--passflow-link-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-semibold)}.passflow-dont-have-account,.passflow-have-account,.passflow-remember-password{text-align:center;color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);line-height:18px;font-weight:var(--passflow-medium)}.passflow-country-search-wrapper{z-index:10;background-color:var(--passflow-card-color);scrollbar-width:thin;scrollbar-color:var(--passflow-secondary-text-color) transparent;border-bottom-right-radius:4px;border-bottom-left-radius:4px;width:100%;max-height:181px;position:absolute;top:2px;left:0;overflow-y:auto;transform:translateY(48px);box-shadow:0 4px 15px #00000017}.passflow-country-search-wrapper--without-preferred{max-height:170px}.passflow-country-search-wrapper::-webkit-scrollbar{width:6px}.passflow-country-search-wrapper::-webkit-scrollbar-track{background:0 0}.passflow-country-search-wrapper::-webkit-scrollbar-thumb{background-color:var(--passflow-secondary-text-color);border-radius:3px}.passflow-country-search-wrapper--show{opacity:1;visibility:visible;transition:opacity .2s,visibility .2s;display:block}.passflow-country-search-wrapper--hidden{opacity:0;visibility:hidden;display:none}.passflow-country-search-sticky-bottom,.passflow-country-search-sticky-top{background-color:var(--passflow-card-color);z-index:10;width:100%;height:10px;position:sticky;left:0;overflow-x:hidden}.passflow-country-search-sticky-top{top:0}.passflow-country-search-sticky-bottom{bottom:0}.passflow-country-search-item{background-color:var(--passflow-card-color);cursor:pointer;justify-content:flex-start;align-items:center;width:100%;max-height:32px;padding:7px 12px;transition:background-color .2s;display:flex}.passflow-country-search-item:focus,.passflow-country-search-item:hover{background-color:var(--passflow-background)}.passflow-country-search-flag{width:24px;height:18px}.passflow-country-search-name{color:var(--passflow-text-color);margin-left:8px}.passflow-country-search-code,.passflow-country-search-name{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-country-search-code{color:var(--passflow-secondary-text-color);margin-left:auto;transition:color .2s}.passflow-country-search-item:hover .passflow-country-search-code{color:var(--passflow-text-color)}.passflow-country-search-divider{font-size:var(--passflow-caption);border-bottom:1px solid var(--passflow-divider-color);margin:12px 12px 6px;padding-bottom:6px}.passflow-country-search-divider,.passflow-country-search-no-matches,.passflow-forgot-password-success-text{font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color)}.passflow-country-search-no-matches{font-size:var(--passflow-body-2);text-align:center;width:100%;margin:0 auto;padding:15px;display:block}.passflow-forgot-password-success-wrapper{flex-direction:column;gap:24px;width:100%;display:flex}.passflow-forgot-password-success-container{flex-direction:column;gap:32px;width:100%;max-width:336px;margin-top:-8px;display:flex}.passflow-forgot-password-success-text,.passflow-verify-challenge-magic-link-text{font-size:var(--passflow-body-2);text-align:center}.passflow-forgot-password-success-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-magic-link-wrapper{flex-direction:column;width:100%;margin:0 auto;display:flex}.passflow-verify-challenge-magic-link-container{flex-direction:column;gap:32px;width:100%;max-width:336px;margin-top:-24px;display:flex}.passflow-verify-challenge-magic-link-text{font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color)}.passflow-verify-challenge-magic-link-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-success-wrapper{gap:32px}.passflow-verify-challenge-success-container,.passflow-verify-challenge-success-wrapper{flex-direction:column;justify-content:flex-start;align-items:center;width:100%;display:flex}.passflow-verify-challenge-success-container{gap:8px}.passflow-verify-challenge-success-text{font-size:var(--passflow-h2);font-weight:var(--passflow-bold);color:var(--passflow-text-color);text-align:center}.passflow-reset-password-text,.passflow-verify-challenge-success-text-secondary{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.passflow-reset-password-text{margin-top:-32px;display:block}.passflow-form-error--critical,.passflow-form-error--persistent{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:20px 24px;display:flex}.passflow-form-error--critical .icon-warning,.passflow-form-error--persistent .icon-warning{color:#dc2626;flex-shrink:0;width:32px;height:32px}.passflow-form-error-content{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.passflow-form-error--critical .passflow-form-error-text,.passflow-form-error--persistent .passflow-form-error-text{color:#991b1b;margin:0;font-size:14px;line-height:1.5}.passflow-form-error-actions{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.passflow-button-back-to-signin,.passflow-button-setup-2fa{white-space:nowrap;min-width:140px}.passflow-form-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:12px;margin-top:16px;padding:16px;display:flex}.passflow-form-info .icon-info{color:#2563eb;flex-shrink:0;width:20px;height:20px;margin-top:2px}.passflow-form-info-text{color:#1e40af;font-size:14px;line-height:1.5}.passflow-field--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.icon-info{color:#2563eb}.passflow-continuing-status{min-height:100vh;font-family:var(--passflow-font-family);font-size:var(--passflow-body-1);color:var(--passflow-secondary-text-color);justify-content:center;align-items:center;display:flex}.passflow-country-flag{width:24px;height:18px;color:var(--passflow-secondary-text-color);font-size:9px;font-weight:var(--passflow-bold);text-transform:uppercase;background-repeat:no-repeat;background-size:408px 384px;border-radius:2px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}.passflow-country-flag--fallback{background-color:var(--passflow-input-background-color);outline:1px solid var(--passflow-input-border-color)}.passflow-field-otp-group{--passflow-field-otp-size:48px;--passflow-field-otp-gap:10px}.passflow-field-otp-group--disabled{cursor:not-allowed}.passflow-field-otp-slots{gap:var(--passflow-field-otp-gap)}.passflow-field-otp,.passflow-field-otp-slots{justify-content:center;align-items:center;display:flex}.passflow-field-otp{width:var(--passflow-field-otp-size);height:var(--passflow-field-otp-size);border-radius:var(--passflow-radius);background-color:var(--passflow-input-background-color);outline:1px solid var(--passflow-input-border-color);color:var(--passflow-text-color);font-size:var(--passflow-body-2);position:relative}.passflow-field-otp--active{outline-color:var(--passflow-primary-color)}.passflow-field-otp--error{outline-color:var(--passflow-warning)}.passflow-field-otp--disabled{opacity:.5}.passflow-field-otp__caret{background-color:currentColor;width:1px;height:1em;animation:1s step-end infinite passflow-field-otp-caret-blink}@keyframes passflow-field-otp-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.passflow-field-otp__caret{animation:none}}.passflow-field-otp-field{flex-direction:column;gap:6px;display:inline-flex}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-country-selector-border-color,var(--react-international-phone-border-color,#dcdcdc));-webkit-appearance:button;appearance:button;background-color:var(--react-international-phone-country-selector-background-color,var(--react-international-phone-background-color,#fff));cursor:pointer;text-transform:none;user-select:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover,#f5f5f5)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:#0000}.react-international-phone-country-selector-button__button-content{justify-content:center;align-items:center;display:flex}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-top:var(--react-international-phone-country-selector-arrow-size,4px) solid var(--react-international-phone-country-selector-arrow-color,#777);border-right:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-left:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color,#999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5))}.react-international-phone-flag-emoji{width:var(--react-international-phone-flag-width,24px);height:var(--react-international-phone-flag-height,24px);box-sizing:border-box}.react-international-phone-country-selector-dropdown{z-index:1;top:var(--react-international-phone-dropdown-top,44px);left:var(--react-international-phone-dropdown-left,0);background-color:var(--react-international-phone-dropdown-item-background-color,var(--react-international-phone-background-color,#fff));width:300px;max-height:200px;box-shadow:var(--react-international-phone-dropdown-shadow,2px 2px 16px #00000040);color:var(--react-international-phone-dropdown-item-text-color,var(--react-international-phone-text-color,#222));flex-direction:column;margin:0;padding:4px 0;list-style:none;display:flex;position:absolute;overflow-y:scroll}.react-international-phone-country-selector-dropdown__preferred-list-divider{height:1px;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin,0);background:var(--react-international-phone-dropdown-preferred-list-divider-color,var(--react-international-phone-border-color,#dcdcdc));border:none}.react-international-phone-country-selector-dropdown__list-item{min-height:var(--react-international-phone-dropdown-item-height,28px);box-sizing:border-box;align-items:center;padding:2px 8px;display:flex}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{font-size:var(--react-international-phone-dropdown-item-font-size,14px);text-overflow:ellipsis;white-space:nowrap;margin-right:8px;overflow:hidden}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color,gray);font-size:var(--react-international-phone-dropdown-item-font-size,14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--focused,.react-international-phone-country-selector-dropdown__list-item--selected{background-color:var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5);color:var(--react-international-phone-selected-dropdown-item-text-color,var(--react-international-phone-text-color,#222))}.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color,var(--react-international-phone-dropdown-item-dial-code-color,gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5))}.react-international-phone-dial-code-preview{border:1px solid var(--react-international-phone-dial-code-preview-border-color,var(--react-international-phone-border-color,#dcdcdc));background-color:var(--react-international-phone-dial-code-preview-background-color,var(--react-international-phone-background-color,#fff));color:var(--react-international-phone-dial-code-preview-text-color,var(--react-international-phone-text-color,#222));font-size:var(--react-international-phone-dial-code-preview-font-size,var(--react-international-phone-font-size,13px));justify-content:center;align-items:center;margin-right:-1px;padding:0 8px;display:flex}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5));color:var(--react-international-phone-dial-code-preview-disabled-text-color,var(--react-international-phone-disabled-text-color,#666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius,4px);border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.react-international-phone-input-container .react-international-phone-input{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-border-color,#dcdcdc);border-radius:var(--react-international-phone-border-radius,4px);background-color:var(--react-international-phone-background-color,#fff);color:var(--react-international-phone-text-color,#222);font-family:inherit;font-size:var(--react-international-phone-font-size,13px);border-top-left-radius:0;border-bottom-left-radius:0;margin:0;padding:0 8px;overflow:visible}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color,#f5f5f5);color:var(--react-international-phone-disabled-text-color,#666)}.icon-warning{filter:brightness(0)saturate()invert(17%)sepia(98%)saturate(3037%)hue-rotate(354deg)brightness(87%)contrast(90%)}.icon-white{filter:brightness(0)saturate()invert()sepia(2%)saturate(7%)hue-rotate(80deg)brightness(103%)contrast()}.passflow-icon--match-text{-webkit-mask:var(--passflow-icon-mask) center/contain no-repeat;mask:var(--passflow-icon-mask) center/contain no-repeat;background-color:currentColor;flex:none;display:inline-block}.passflow-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#passflow-wrapper{box-sizing:border-box;-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow-x:hidden}#passflow-wrapper,.passflow-wrapper{width:100%;min-height:100dvh}.passflow-wrapper{color:var(--passflow-text-color);background-color:var(--passflow-background-color);background-image:var(--passflow-background-image);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;display:flex}.passflow-branding{background-color:var(--passflow-branding-background-color);border-radius:4px;flex:none;justify-content:center;align-self:flex-end;align-items:center;gap:4px;margin:0 24px 24px;padding:7px 12px;display:flex}.passflow-branding-text{font-size:11px;line-height:18px;font-weight:var(--passflow-bold);color:var(--passflow-secondary-text-color)}.passflow-branding-text-secondary{font-weight:var(--passflow-normal)}.passflow-form-main-wrapper{border-radius:6px;flex:1 0 auto;justify-content:safe center;gap:32px;padding:32px 24px}.passflow-form-main-container,.passflow-form-main-wrapper{flex-direction:column;align-items:center;width:100%;display:flex}.passflow-form-main-container{justify-content:center;gap:24px;max-width:384px;margin:0 auto}.passflow-form-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.passflow-form-title{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold)}.passflow-form-subtitle{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.passflow-form-main-container-logo{object-fit:contain;object-position:center;border-radius:8px;width:auto;max-width:min(160px,100%);height:auto;max-height:44px}.passflow-error-container{gap:32px;margin-top:-8px}.passflow-error-container,.passflow-error-container-text-wrapper{flex-direction:column;justify-content:start;align-items:center;display:flex}.passflow-error-container-text-wrapper{gap:8px}.passflow-error-container-text{font-size:var(--passflow-h2);font-weight:var(--passflow-bold);color:var(--passflow-warning);text-align:center}.passflow-error-container-text-secondary{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);color:var(--passflow-secondary-text-color);text-align:center}.icon-success{filter:brightness(0)saturate()invert(35%)sepia(38%)saturate(1173%)hue-rotate(106deg)brightness(90%)contrast(95%)}.passflow-login-screen-actions{gap:var(--passflow-spacing-4);max-width:336px;margin:0 auto}.passflow-login-screen-actions,.passflow-login-screen-notice{flex-direction:column;align-items:center;width:100%;display:flex}.passflow-login-screen-notice{gap:var(--passflow-spacing-3);max-width:384px}.passflow-login-screen-code{box-sizing:border-box;width:100%;padding:var(--passflow-spacing-4);background-color:var(--passflow-input-background-color);color:var(--passflow-text-color);font-size:var(--passflow-h1);font-weight:var(--passflow-bold);user-select:all;border-radius:6px}.passflow-login-screen-code,.passflow-login-screen-code-input{letter-spacing:.12em;text-align:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.passflow-login-screen-code-input{font-size:var(--passflow-body-1);text-transform:uppercase}.passflow-login-screen-text{color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-normal);line-height:1.5}.passflow-login-screen-centered-text{text-align:center}.passflow-login-screen-centered{text-align:center;align-items:center}.passflow-login-screen-hint{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);text-align:center;line-height:1.5}.passflow-login-screen-app-name{color:var(--passflow-text-color);font-weight:var(--passflow-semibold)}.passflow-login-screen-success{justify-content:center;align-items:center;gap:var(--passflow-spacing-1);display:flex}.passflow-login-screen-success-text{color:var(--passflow-success);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-login-screen-info{align-items:center;gap:var(--passflow-spacing-3);flex-direction:column;display:flex}.passflow-login-screen-info-icon{color:var(--passflow-primary-color)}.passflow-login-screen-spinner{border:3px solid var(--passflow-grey-three);border-top-color:var(--passflow-primary-color);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite passflow-login-screen-spin}.passflow-login-screen-spinner--small{border-width:2px;width:18px;height:18px}@keyframes passflow-login-screen-spin{to{transform:rotate(1turn)}}@media (width<=480px){.passflow-form-main-wrapper{padding:24px 16px}.passflow-branding{align-self:center;margin:0 16px 16px}}@media (prefers-reduced-motion:reduce){.passflow-login-screen-spinner{animation-duration:3s}}.passflow-login-screen-status{align-items:center;gap:var(--passflow-spacing-3);flex-direction:column;width:100%;display:flex}.passflow-consent-scopes{gap:var(--passflow-spacing-2);flex-direction:column;width:100%;max-width:384px;margin:0 auto;padding:0;list-style:none;display:flex}.passflow-consent-scope{box-sizing:border-box;padding:var(--passflow-spacing-3) var(--passflow-spacing-4);border:1px solid var(--passflow-divider-color);background-color:var(--passflow-card-color);gap:var(--passflow-spacing-1);text-align:left;border-radius:6px;flex-direction:column;display:flex}.passflow-consent-scope-description{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-normal);margin:0;line-height:1.5}.passflow-consent-actions{flex-direction:column;max-width:336px;margin:0 auto}.passflow-consent-actions,.passflow-login-screen-alert-row,.passflow-login-screen-details{gap:var(--passflow-spacing-2);width:100%;display:flex}.passflow-login-screen-alert-row{font-size:var(--passflow-caption);flex-wrap:wrap;justify-content:center;align-items:center}.passflow-login-screen-details{flex-direction:column;margin:0}.passflow-login-screen-details-row{justify-content:space-between;gap:var(--passflow-spacing-4);display:flex}.passflow-login-screen-details-label{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);flex-shrink:0}.passflow-login-screen-details-value{color:var(--passflow-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-semibold);text-align:right;overflow-wrap:anywhere;margin:0}.passflow-spinner{--passflow-spinner-diameter:26px;--passflow-spinner-stroke:3px;width:var(--passflow-spinner-diameter);height:var(--passflow-spinner-diameter);border:var(--passflow-spinner-stroke) solid var(--passflow-grey-three);border-top-color:var(--passflow-primary-color);border-radius:50%;flex:none;animation:.8s linear infinite passflow-spinner-spin}.passflow-spinner--small{--passflow-spinner-diameter:18px;--passflow-spinner-stroke:2px}@keyframes passflow-spinner-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.passflow-spinner{animation-duration:3s}}.passflow-upgrade-dialog{box-sizing:border-box;gap:var(--passflow-spacing-6);width:min(var(--passflow-surface-width),100vw - var(--passflow-spacing-6) * 2);max-height:calc(100dvh - var(--passflow-spacing-6) * 2);padding:var(--passflow-spacing-6);color:var(--passflow-text-color);background-color:var(--passflow-card-color);border-radius:var(--passflow-radius);font-family:var(--passflow-font-family);flex-direction:column;display:flex;overflow-y:auto}.passflow-upgrade-dialog__header{gap:var(--passflow-spacing-2);text-align:left;flex-direction:column;display:flex}.passflow-upgrade-dialog__form,.passflow-upgrade-dialog__status{gap:var(--passflow-spacing-4);flex-direction:column;width:100%;display:flex}.passflow-upgrade-dialog__factor{gap:var(--passflow-spacing-1);padding:var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);border-radius:var(--passflow-radius);flex-direction:column;display:flex}.passflow-upgrade-dialog__factor-label{font-size:var(--passflow-body-1);font-weight:var(--passflow-semibold);color:var(--passflow-text-color)}.passflow-upgrade-dialog__factor-hint,.passflow-upgrade-dialog__status-detail{font-size:var(--passflow-caption);font-weight:var(--passflow-normal);color:var(--passflow-secondary-text-color);margin:0}.passflow-upgrade-dialog__actions,.passflow-upgrade-dialog__alternatives,.passflow-upgrade-dialog__field{gap:var(--passflow-spacing-2);flex-direction:column;width:100%;display:flex}.passflow-upgrade-dialog__alternatives{margin:0;padding:0;list-style:none}.passflow-upgrade-dialog__alternative{width:100%}.passflow-upgrade-dialog__status-head{align-items:center;gap:var(--passflow-spacing-2);display:flex}.passflow-upgrade-dialog__status-message{font-size:var(--passflow-body-1);font-weight:var(--passflow-medium)}.passflow-upgrade-dialog__status-head--success .passflow-upgrade-dialog__status-message{color:var(--passflow-success)}.passflow-upgrade-dialog__status-head--problem .passflow-upgrade-dialog__status-message{color:var(--passflow-warning)}.passflow-upgrade-dialog__status-head--neutral .passflow-upgrade-dialog__status-message,.passflow-upgrade-dialog__status-head--working .passflow-upgrade-dialog__status-message{color:var(--passflow-text-color)}.passflow-upgrade-dialog__bars{gap:var(--passflow-spacing-1);padding:var(--passflow-spacing-3);background-color:var(--passflow-input-background-color);border-radius:var(--passflow-radius);flex-direction:column;display:flex}.passflow-upgrade-dialog__bar{justify-content:space-between;gap:var(--passflow-spacing-3);font-size:var(--passflow-caption);display:flex}.passflow-upgrade-dialog__bar-term{color:var(--passflow-secondary-text-color);font-weight:var(--passflow-medium)}.passflow-upgrade-dialog__bar-value{color:var(--passflow-text-color);font-weight:var(--passflow-semibold)}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@passflow/react",
|
|
3
3
|
"description": "Passflow React UI Kit",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
"preview": "vite preview",
|
|
36
36
|
"test": "playwright install chromium && playwright test --config=playwright/playwright.config.ts",
|
|
37
37
|
"test:ui": "playwright install chromium && playwright test --config=playwright/playwright.ui.config.ts --ui",
|
|
38
|
-
"test:unit": "vitest run",
|
|
38
|
+
"test:unit": "vitest run && vitest run --config vitest.react18.config.ts",
|
|
39
|
+
"test:unit:react18": "vitest run --config vitest.react18.config.ts",
|
|
39
40
|
"test:unit:watch": "vitest",
|
|
40
41
|
"test:coverage": "vitest run --coverage",
|
|
41
42
|
"storybook": "storybook dev -p 6006",
|
|
@@ -49,7 +50,7 @@
|
|
|
49
50
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
|
-
"@passflow/core": "^0.
|
|
53
|
+
"@passflow/core": "^0.24.0",
|
|
53
54
|
"@radix-ui/react-dialog": "^1.3.1",
|
|
54
55
|
"@radix-ui/react-popover": "^1.3.1",
|
|
55
56
|
"@simplewebauthn/browser": "^14.0.0",
|
|
@@ -84,7 +85,9 @@
|
|
|
84
85
|
"cssnano": "^9.9.0",
|
|
85
86
|
"jsdom": "^30.1.3",
|
|
86
87
|
"react": "^19.3.1",
|
|
88
|
+
"react-18": "npm:react@18.3.1",
|
|
87
89
|
"react-dom": "^19.3.1",
|
|
90
|
+
"react-dom-18": "npm:react-dom@18.3.1",
|
|
88
91
|
"react-router": "8.5.1",
|
|
89
92
|
"storybook": "10.6.5",
|
|
90
93
|
"terser": "^5.51.2",
|