@alore/auth-react-ui 1.2.0-alpha.23 → 1.2.0-alpha.24
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/dist/cjs/auth/ForgotPassword.js +24 -4
- package/dist/cjs/auth/ForgotPassword.js.map +1 -1
- package/dist/cjs/auth/Login.js +67 -43
- package/dist/cjs/auth/Login.js.map +1 -1
- package/dist/cjs/auth/Register.js +93 -26
- package/dist/cjs/auth/Register.js.map +1 -1
- package/dist/cjs/components/Auth.js +7 -2
- package/dist/cjs/components/Auth.js.map +1 -1
- package/dist/cjs/components/AuthProvider.d.ts +16 -0
- package/dist/cjs/components/BackButton.js +1 -1
- package/dist/cjs/components/BackButton.js.map +1 -1
- package/dist/cjs/components/CheckboxForm.js +2 -2
- package/dist/cjs/components/CheckboxForm.js.map +1 -1
- package/dist/cjs/components/InputForm.d.ts +2 -1
- package/dist/cjs/components/InputForm.js +2 -2
- package/dist/cjs/components/InputForm.js.map +1 -1
- package/dist/cjs/components/InputOTP.js +1 -1
- package/dist/cjs/components/InputOTP.js.map +1 -1
- package/dist/cjs/components/LinkButton.d.ts +14 -0
- package/dist/cjs/components/LinkButton.js +29 -0
- package/dist/cjs/components/LinkButton.js.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +3 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/dictionaries/en.json +1 -0
- package/dist/cjs/dictionaries/pt.json +8 -7
- package/dist/cjs/get-dictionary.d.ts +3 -0
- package/dist/cjs/hooks/useAuthService.d.ts +48 -0
- package/dist/cjs/hooks/useAuthServiceInstance.d.ts +16 -0
- package/dist/cjs/hooks/useDictionary.d.ts +1 -0
- package/dist/cjs/machine/index.d.ts +32 -0
- package/dist/cjs/machine/index.js +48 -0
- package/dist/cjs/machine/index.js.map +1 -1
- package/dist/cjs/machine/types.d.ts +13 -1
- package/dist/cjs/styles/themes.js +2 -2
- package/dist/cjs/styles/themes.js.map +1 -1
- package/dist/mjs/auth/ForgotPassword.js +25 -5
- package/dist/mjs/auth/ForgotPassword.js.map +1 -1
- package/dist/mjs/auth/Login.js +69 -45
- package/dist/mjs/auth/Login.js.map +1 -1
- package/dist/mjs/auth/Register.js +95 -28
- package/dist/mjs/auth/Register.js.map +1 -1
- package/dist/mjs/components/Auth.js +7 -2
- package/dist/mjs/components/Auth.js.map +1 -1
- package/dist/mjs/components/AuthProvider.d.ts +16 -0
- package/dist/mjs/components/BackButton.js +1 -1
- package/dist/mjs/components/BackButton.js.map +1 -1
- package/dist/mjs/components/CheckboxForm.js +2 -2
- package/dist/mjs/components/CheckboxForm.js.map +1 -1
- package/dist/mjs/components/InputForm.d.ts +2 -1
- package/dist/mjs/components/InputForm.js +2 -2
- package/dist/mjs/components/InputForm.js.map +1 -1
- package/dist/mjs/components/InputOTP.js +1 -1
- package/dist/mjs/components/InputOTP.js.map +1 -1
- package/dist/mjs/components/LinkButton.d.ts +14 -0
- package/dist/mjs/components/LinkButton.js +10 -0
- package/dist/mjs/components/LinkButton.js.map +1 -0
- package/dist/mjs/components/index.d.ts +1 -0
- package/dist/mjs/components/index.js +1 -0
- package/dist/mjs/components/index.js.map +1 -1
- package/dist/mjs/dictionaries/en.json +1 -0
- package/dist/mjs/dictionaries/pt.json +8 -7
- package/dist/mjs/get-dictionary.d.ts +3 -0
- package/dist/mjs/hooks/useAuthService.d.ts +48 -0
- package/dist/mjs/hooks/useAuthServiceInstance.d.ts +16 -0
- package/dist/mjs/hooks/useDictionary.d.ts +1 -0
- package/dist/mjs/machine/index.d.ts +32 -0
- package/dist/mjs/machine/index.js +45 -0
- package/dist/mjs/machine/index.js.map +1 -1
- package/dist/mjs/machine/types.d.ts +13 -1
- package/dist/mjs/styles/themes.js +3 -2
- package/dist/mjs/styles/themes.js.map +1 -1
- package/package.json +2 -2
|
@@ -11,7 +11,10 @@ export type SessionUser = {
|
|
|
11
11
|
id: string;
|
|
12
12
|
lastLogin: string | null;
|
|
13
13
|
lastTransaction: string | null;
|
|
14
|
-
nickname: string;
|
|
14
|
+
nickname: string | null;
|
|
15
|
+
/** Provider-hosted profile photo URL, when the account was created or
|
|
16
|
+
* linked through social login. Always https; null otherwise. */
|
|
17
|
+
picture: string | null;
|
|
15
18
|
status: string;
|
|
16
19
|
accessToken: string;
|
|
17
20
|
refreshToken: string;
|
|
@@ -97,6 +100,15 @@ export type AuthMachineEvents = {
|
|
|
97
100
|
accessToken: string;
|
|
98
101
|
providerName: string;
|
|
99
102
|
};
|
|
103
|
+
} | {
|
|
104
|
+
type: 'SOCIAL_LOGIN';
|
|
105
|
+
payload: {
|
|
106
|
+
/** An OIDC id_token. Not an access token — the backend rejects those. */
|
|
107
|
+
idToken: string;
|
|
108
|
+
providerName: string;
|
|
109
|
+
device?: string;
|
|
110
|
+
nonce?: string;
|
|
111
|
+
};
|
|
100
112
|
} | {
|
|
101
113
|
type: 'START_PASSKEY_LOGIN';
|
|
102
114
|
payload: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.textInputTheme = exports.buttonTheme = exports.checkboxTheme = void 0;
|
|
4
4
|
const flowbite_react_1 = require("flowbite-react");
|
|
5
5
|
exports.checkboxTheme = Object.assign(Object.assign({}, flowbite_react_1.checkboxTheme), { color: Object.assign(Object.assign({}, flowbite_react_1.checkboxTheme === null || flowbite_react_1.checkboxTheme === void 0 ? void 0 : flowbite_react_1.checkboxTheme.color), { default: 'size-4 rounded border border-gray-300 bg-gray-50 dark:border-gray-600 dark:bg-gray-700 dark:ring-offset-cyan-600 dark:focus:ring-cyan-600 text-[var(--primary-color)] hover:text-[var(--primary-hover)] focus:ring-2 focus:ring-[var(--primary-color)]' }) });
|
|
6
|
-
exports.buttonTheme = Object.assign(Object.assign({}, flowbite_react_1.buttonTheme), { color: Object.assign(Object.assign({}, flowbite_react_1.buttonTheme === null || flowbite_react_1.buttonTheme === void 0 ? void 0 : flowbite_react_1.buttonTheme.color), { default: 'bg-[var(--primary-color)] hover:bg-[var(--primary-hover)] group relative flex items-center justify-center border border-transparent p-0.5 text-center font-medium text-white duration-300 focus:z-10 focus:outline-none focus:ring-0' }) });
|
|
6
|
+
exports.buttonTheme = Object.assign(Object.assign({}, flowbite_react_1.buttonTheme), { color: Object.assign(Object.assign({}, flowbite_react_1.buttonTheme === null || flowbite_react_1.buttonTheme === void 0 ? void 0 : flowbite_react_1.buttonTheme.color), { default: 'bg-[var(--primary-color)] hover:bg-[var(--primary-hover)] group relative flex items-center justify-center border border-transparent p-0.5 text-center font-medium text-white duration-300 focus:z-10 focus:outline-none focus:ring-0 focus-visible:ring-2 focus-visible:ring-[var(--primary-color)] focus-visible:ring-offset-2', light: 'border border-gray-300 bg-white text-gray-900 hover:bg-gray-100 focus:z-10 focus:outline-none focus:ring-0 focus-visible:ring-2 focus-visible:ring-[var(--primary-color)] focus-visible:ring-offset-2 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:hover:border-gray-600 dark:hover:bg-gray-700' }) });
|
|
7
7
|
exports.textInputTheme = {
|
|
8
8
|
base: 'flex',
|
|
9
9
|
addon: 'inline-flex items-center rounded-l-md border border-r-0 border-gray-300 bg-gray-200 px-3 text-sm text-gray-900 dark:border-gray-600 dark:bg-gray-600 dark:text-gray-400',
|
|
@@ -25,7 +25,7 @@ exports.textInputTheme = {
|
|
|
25
25
|
lg: 'sm:text-md p-4',
|
|
26
26
|
},
|
|
27
27
|
colors: {
|
|
28
|
-
gray: 'duration-300 !bg-gray-100 text-gray-900 outline-none border-0 focus:border-0 focus:ring-
|
|
28
|
+
gray: 'duration-300 !bg-gray-100 text-gray-900 outline-none border-0 focus:border-0 focus:ring-2 focus:ring-[var(--primary-color)] dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-cyan-500 dark:focus:ring-cyan-500',
|
|
29
29
|
info: 'border-cyan-500 bg-cyan-50 text-cyan-900 placeholder-cyan-700 focus:border-cyan-500 focus:ring-cyan-500 dark:border-cyan-400 dark:bg-cyan-100 dark:focus:border-cyan-500 dark:focus:ring-cyan-500',
|
|
30
30
|
failure: 'border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:border-red-500 focus:ring-red-500 dark:border-red-400 dark:bg-red-100 dark:focus:border-red-500 dark:focus:ring-red-500',
|
|
31
31
|
warning: 'border-yellow-500 bg-yellow-50 text-yellow-900 placeholder-yellow-700 focus:border-yellow-500 focus:ring-yellow-500 dark:border-yellow-400 dark:bg-yellow-100 dark:focus:border-yellow-500 dark:focus:ring-yellow-500',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../src/styles/themes.ts"],"names":[],"mappings":";;;AAAA,mDAMwB;AAEX,QAAA,aAAa,mCACrB,8BAAqB,KACxB,KAAK,kCACA,8BAAqB,aAArB,8BAAqB,uBAArB,8BAAqB,CAAE,KAAK,KAC/B,OAAO,EACL,wPAAwP,OAE5P;AAEW,QAAA,WAAW,mCACnB,4BAAmB,KACtB,KAAK,kCACA,4BAAmB,aAAnB,4BAAmB,uBAAnB,4BAAmB,CAAE,KAAK,KAC7B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../src/styles/themes.ts"],"names":[],"mappings":";;;AAAA,mDAMwB;AAEX,QAAA,aAAa,mCACrB,8BAAqB,KACxB,KAAK,kCACA,8BAAqB,aAArB,8BAAqB,uBAArB,8BAAqB,CAAE,KAAK,KAC/B,OAAO,EACL,wPAAwP,OAE5P;AAEW,QAAA,WAAW,mCACnB,4BAAmB,KACtB,KAAK,kCACA,4BAAmB,aAAnB,4BAAmB,uBAAnB,4BAAmB,CAAE,KAAK,KAC7B,OAAO,EACL,iUAAiU,EACnU,KAAK,EACH,+SAA+S,OAEnT;AAEW,QAAA,cAAc,GAAmB;IAC5C,IAAI,EAAE,MAAM;IACZ,KAAK,EACH,yKAAyK;IAC3K,KAAK,EAAE;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE;YACJ,IAAI,EAAE,sEAAsE;YAC5E,GAAG,EAAE,0CAA0C;SAChD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,uEAAuE;YAC7E,GAAG,EAAE,0CAA0C;SAChD;QACD,KAAK,EAAE;YACL,IAAI,EAAE,8GAA8G;YACpH,KAAK,EAAE;gBACL,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,eAAe;gBACnB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,iQAAiQ;gBACvQ,IAAI,EAAE,mMAAmM;gBACzM,OAAO,EACL,yLAAyL;gBAC3L,OAAO,EACL,uNAAuN;gBACzN,OAAO,EACL,6MAA6M;aAChN;YACD,aAAa,EAAE;gBACb,EAAE,EAAE,OAAO;gBACX,GAAG,EAAE,EAAE;aACR;YACD,QAAQ,EAAE;gBACR,EAAE,EAAE,OAAO;gBACX,GAAG,EAAE,EAAE;aACR;YACD,SAAS,EAAE;gBACT,EAAE,EAAE,cAAc;gBAClB,GAAG,EAAE,YAAY;aAClB;YACD,UAAU,EAAE;gBACV,EAAE,EAAE,gCAAgC;gBACpC,GAAG,EAAE,EAAE;aACR;SACF;KACF;CACF,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { EnvelopeIcon, LockClosedIcon } from '@heroicons/react/20/solid';
|
|
|
4
4
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
5
5
|
import { useActor } from '@xstate/react';
|
|
6
6
|
import { Button, Card, Spinner } from 'flowbite-react';
|
|
7
|
-
import React, { useMemo } from 'react';
|
|
7
|
+
import React, { useEffect, useMemo } from 'react';
|
|
8
8
|
import { useForm, useWatch } from 'react-hook-form';
|
|
9
9
|
import { twMerge } from 'tailwind-merge';
|
|
10
10
|
import * as yup from 'yup';
|
|
@@ -15,6 +15,7 @@ import { aloreLogoBlack, authErrorImage } from '../utils';
|
|
|
15
15
|
const InputForm = React.lazy(() => import('../components/InputForm'));
|
|
16
16
|
const BackButton = React.lazy(() => import('../components/BackButton'));
|
|
17
17
|
const FormRules = React.lazy(() => import('../components/FormRules'));
|
|
18
|
+
const LinkButton = React.lazy(() => import('../components/LinkButton'));
|
|
18
19
|
const envelopIcon = () => React.createElement(EnvelopeIcon, { className: "size-4 text-gray-500" });
|
|
19
20
|
const lockClosedIcon = () => React.createElement(LockClosedIcon, { className: "size-4 text-gray-500" });
|
|
20
21
|
const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, cryptoUtils, contentAlignment = 'center', titleSpacing = 'gap-y-2 sm:gap-y-7', customClassName, customStyles, logoContainerClassName, }) => {
|
|
@@ -61,6 +62,24 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
|
|
|
61
62
|
useWatch({ control: passwordControl, name: ['confirmPassword'] });
|
|
62
63
|
const isLoading = useMemo(() => authState.matches('active.forgotPassword.sendingCode') ||
|
|
63
64
|
authState.matches('active.forgotPassword.savingPassword'), [authState.value]);
|
|
65
|
+
const canGoBack = useMemo(() => authState.matches('active.forgotPassword.idle') ||
|
|
66
|
+
authState.matches('active.forgotPassword.codeSent') ||
|
|
67
|
+
authState.matches('active.forgotPassword.newPassword'), [authState.value]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (typeof window === 'undefined')
|
|
70
|
+
return undefined;
|
|
71
|
+
const handleEscape = (event) => {
|
|
72
|
+
if (event.key === 'Escape' && canGoBack && !isLoading) {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
sendAuth('BACK');
|
|
75
|
+
window.history.replaceState({}, '', window.location.pathname);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
window.addEventListener('keydown', handleEscape);
|
|
79
|
+
return () => {
|
|
80
|
+
window.removeEventListener('keydown', handleEscape);
|
|
81
|
+
};
|
|
82
|
+
}, [canGoBack, isLoading, sendAuth]);
|
|
64
83
|
const onSubmitEmail = async (data) => {
|
|
65
84
|
const { email } = data;
|
|
66
85
|
sendAuth({
|
|
@@ -190,9 +209,10 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
|
|
|
190
209
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
191
210
|
forgotPasswordDictionary?.sendCode)),
|
|
192
211
|
React.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }),
|
|
193
|
-
React.createElement("
|
|
212
|
+
React.createElement("p", { className: `text-sm font-medium ${getTextAlignmentClass}` },
|
|
194
213
|
dictionary?.auth.login?.dontHaveAccount,
|
|
195
|
-
|
|
214
|
+
' ',
|
|
215
|
+
React.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
|
|
196
216
|
sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
|
|
197
217
|
} }, dictionary?.auth.login?.signUp)))));
|
|
198
218
|
}, [
|
|
@@ -232,8 +252,8 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
|
|
|
232
252
|
React.createElement("span", { className: `font-poppins text-alr-grey mb-5 text-xl font-bold ${getTextAlignmentClass}` }, forgotPasswordDictionary?.newPasswordTitle),
|
|
233
253
|
React.createElement("span", { className: `text-alr-grey mb-5 text-sm font-medium ${getTextAlignmentClass}` }, forgotPasswordDictionary?.newPasswordDescription),
|
|
234
254
|
React.createElement("form", { onSubmit: handleSubmitPassword((data) => onSubmitPassword(data)), className: "flex flex-col gap-y-4" },
|
|
235
|
-
React.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "password", autoFocus: true, icon: lockClosedIcon, placeholder: forgotPasswordDictionary?.passwordLabel, label: forgotPasswordDictionary?.passwordLabel, type: "password", "data-testid": "forgot-password-password-input", disabled: isLoading }),
|
|
236
|
-
React.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "confirmPassword", placeholder: forgotPasswordDictionary?.confirmPasswordLabel, label: forgotPasswordDictionary?.confirmPasswordLabel, icon: lockClosedIcon, type: "password", "data-testid": "forgot-password-confirm-password-input", disabled: isLoading }),
|
|
255
|
+
React.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "password", autoFocus: true, icon: lockClosedIcon, placeholder: forgotPasswordDictionary?.passwordLabel, label: forgotPasswordDictionary?.passwordLabel, type: "password", passwordToggleLabel: dictionary?.auth.togglePasswordVisibility, "data-testid": "forgot-password-password-input", disabled: isLoading }),
|
|
256
|
+
React.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "confirmPassword", placeholder: forgotPasswordDictionary?.confirmPasswordLabel, label: forgotPasswordDictionary?.confirmPasswordLabel, icon: lockClosedIcon, type: "password", passwordToggleLabel: dictionary?.auth.togglePasswordVisibility, "data-testid": "forgot-password-confirm-password-input", disabled: isLoading }),
|
|
237
257
|
React.createElement(FormRules, { locale: locale, className: "!gap-y-1 md:!gap-y-2", passwordValues: getValuesPassword(), userValues: { email: getValuesEmail('email') } }),
|
|
238
258
|
React.createElement(Button, { "data-testid": "forgot-password-submit-button", type: "submit", disabled: isPasswordSubmitDisabled || isLoading },
|
|
239
259
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.js","sourceRoot":"","sources":["../../../src/auth/ForgotPassword.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ForgotPassword.js","sourceRoot":"","sources":["../../../src/auth/ForgotPassword.tsx"],"names":[],"mappings":"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"}
|
package/dist/mjs/auth/Login.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useMsal } from '@azure/msal-react';
|
|
|
3
3
|
import { ArrowRightIcon, EnvelopeIcon, KeyIcon, LockClosedIcon } from '@heroicons/react/20/solid';
|
|
4
4
|
import { LockOpenIcon } from '@heroicons/react/24/outline';
|
|
5
5
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
6
|
-
import {
|
|
6
|
+
import { GoogleLogin } from '@react-oauth/google';
|
|
7
7
|
import { useActor } from '@xstate/react';
|
|
8
8
|
import { Button, Card, Spinner } from 'flowbite-react';
|
|
9
9
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
@@ -12,12 +12,13 @@ import { twMerge } from 'tailwind-merge';
|
|
|
12
12
|
import * as yup from 'yup';
|
|
13
13
|
import { verifyEmptyValues } from '../helpers';
|
|
14
14
|
import useDictionary from '../hooks/useDictionary';
|
|
15
|
-
import { aloreLogoBlack, authErrorImage, fingerprint, fingerprintError,
|
|
15
|
+
import { aloreLogoBlack, authErrorImage, fingerprint, fingerprintError, metamaskLogo, microsoftLogo, walletConnectLogo, } from '../utils';
|
|
16
16
|
import { buildWalletExtensions, resolveWalletSecret } from '../utils/passkeyExtensions';
|
|
17
17
|
/* eslint-disable @next/next/no-img-element */
|
|
18
18
|
const InputForm = React.lazy(() => import('../components/InputForm'));
|
|
19
19
|
const InputOTP = React.lazy(() => import('../components/InputOTP'));
|
|
20
20
|
const BackButton = React.lazy(() => import('../components/BackButton'));
|
|
21
|
+
const LinkButton = React.lazy(() => import('../components/LinkButton'));
|
|
21
22
|
const envelopIcon = () => React.createElement(EnvelopeIcon, { className: "size-4 text-gray-500" });
|
|
22
23
|
const lockClosedIcon = () => React.createElement(LockClosedIcon, { className: "size-4 text-gray-500" });
|
|
23
24
|
const HARDWARE = 1;
|
|
@@ -49,29 +50,17 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
49
50
|
const onlyPasskeyLogin = useMemo(() => {
|
|
50
51
|
return enablePasskeys && !enablePasswords;
|
|
51
52
|
}, [enablePasskeys, enablePasswords]);
|
|
52
|
-
const googleLogin = useGoogleLogin({
|
|
53
|
-
onSuccess: (tokenResponse) => {
|
|
54
|
-
resetEmail();
|
|
55
|
-
sendAuth({
|
|
56
|
-
type: 'GOOGLE_LOGIN',
|
|
57
|
-
payload: {
|
|
58
|
-
accessToken: tokenResponse.access_token,
|
|
59
|
-
providerName: 'google',
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
53
|
const microsoftLogin = () => {
|
|
65
54
|
instance
|
|
66
55
|
.loginPopup({
|
|
67
56
|
scopes: ['user.read'],
|
|
68
57
|
})
|
|
69
58
|
.then((response) => {
|
|
70
|
-
|
|
59
|
+
resetEmail();
|
|
71
60
|
sendAuth({
|
|
72
|
-
type: '
|
|
61
|
+
type: 'SOCIAL_LOGIN',
|
|
73
62
|
payload: {
|
|
74
|
-
|
|
63
|
+
idToken: response.idToken,
|
|
75
64
|
providerName: 'microsoft',
|
|
76
65
|
},
|
|
77
66
|
});
|
|
@@ -80,8 +69,19 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
80
69
|
console.error('Login failed:', error);
|
|
81
70
|
});
|
|
82
71
|
};
|
|
83
|
-
const handleGoogleLogin = () => googleLogin();
|
|
84
72
|
const handleMicrosoftLogin = () => microsoftLogin();
|
|
73
|
+
const handleGoogleCredential = (credentialResponse) => {
|
|
74
|
+
if (!credentialResponse.credential)
|
|
75
|
+
return;
|
|
76
|
+
resetEmail();
|
|
77
|
+
sendAuth({
|
|
78
|
+
type: 'SOCIAL_LOGIN',
|
|
79
|
+
payload: {
|
|
80
|
+
idToken: credentialResponse.credential,
|
|
81
|
+
providerName: 'google',
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
85
|
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
86
86
|
const hasPasskeySupportWithPRFOrLargeBlob = () => {
|
|
87
87
|
if (window.PublicKeyCredential &&
|
|
@@ -248,6 +248,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
248
248
|
authState.matches('active.login.verifyingEmail2fa') ||
|
|
249
249
|
authState.matches('active.login.resendingEmailCode') ||
|
|
250
250
|
authState.matches('active.login.googleLogin') ||
|
|
251
|
+
authState.matches('active.login.socialLogin') ||
|
|
251
252
|
authState.matches('active.login.verifyingGoogleLogin') ||
|
|
252
253
|
authState.matches('active.login.verifyingRegisterPublicKeyCredential') ||
|
|
253
254
|
authState.matches('active.login.retrievingCredentialRCR') ||
|
|
@@ -271,6 +272,25 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
271
272
|
window.removeEventListener('keydown', handleMethodSelectionEnter);
|
|
272
273
|
};
|
|
273
274
|
}, [authState.value, isLoading, selectLoginMethod]);
|
|
275
|
+
const canGoBack = useMemo(() => authState.matches('active.login.loginMethodSelection') ||
|
|
276
|
+
authState.matches('active.login.inputPassword') ||
|
|
277
|
+
authState.matches('active.login.email2fa') ||
|
|
278
|
+
authState.matches('active.login.hardware2fa') ||
|
|
279
|
+
authState.matches('active.login.software2fa'), [authState.value]);
|
|
280
|
+
useEffect(() => {
|
|
281
|
+
if (typeof window === 'undefined')
|
|
282
|
+
return undefined;
|
|
283
|
+
const handleEscape = (event) => {
|
|
284
|
+
if (event.key === 'Escape' && canGoBack && !isLoading) {
|
|
285
|
+
event.preventDefault();
|
|
286
|
+
sendAuth('BACK');
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
window.addEventListener('keydown', handleEscape);
|
|
290
|
+
return () => {
|
|
291
|
+
window.removeEventListener('keydown', handleEscape);
|
|
292
|
+
};
|
|
293
|
+
}, [canGoBack, isLoading, sendAuth]);
|
|
274
294
|
useEffect(() => {
|
|
275
295
|
if (typeof window !== 'undefined') {
|
|
276
296
|
hasPasskeySupportWithPRFOrLargeBlob();
|
|
@@ -596,13 +616,14 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
596
616
|
displayError?.includes('beta') ? (React.createElement("span", { className: "font-poppins text-alr-red text-center text-xl font-bold" }, displayError)) : (React.createElement(React.Fragment, null,
|
|
597
617
|
React.createElement("span", { className: "font-poppins text-alr-red text-center text-xl font-bold" }, authErrorTitle),
|
|
598
618
|
React.createElement("span", { className: "text-alr-grey text-center font-medium" }, authErrorDescription),
|
|
599
|
-
errorObj?.code && (React.createElement("span", { className: "mt-1 text-center text-xs text-gray-500" }, `${loginDictionary?.errorCode} ${errorObj.code}`)))))) : (React.createElement("h1", { className: loginTitleClassName ||
|
|
619
|
+
errorObj?.code && (React.createElement("span", { className: "mt-1 text-center text-xs text-gray-500" }, `${loginDictionary?.errorCode} ${errorObj.code}`)))))) : (React.createElement("h1", { className: loginTitleClassName ||
|
|
620
|
+
`font-inter text-xl font-bold text-gray-700 ${getTextAlignment}` }, loginTitle || (forgeId ? loginDictionary?.forgeLogin : loginDictionary?.loginAccount))),
|
|
600
621
|
React.createElement("div", { className: "mt-4 flex flex-col gap-y-5" },
|
|
601
622
|
!onlyPasskeyLogin && requireEmailVerification && (React.createElement("form", { className: "flex flex-col gap-y-5", onSubmit: handleSubmitEmail((data) => onSubmitEmail(data)) },
|
|
602
|
-
React.createElement(InputForm, {
|
|
623
|
+
React.createElement(InputForm, { inputClassName: inputClassName, control: emailControl, errors: emailErrors, name: "email", type: "text", placeholder: emailInputLabel || loginDictionary?.enterEmail, "data-testid": "login-email-input", icon: envelopIcon, autoComplete: authAbortController && isConditionalMediationAvailable
|
|
603
624
|
? 'username webauthn'
|
|
604
625
|
: undefined, autoFocus: true }),
|
|
605
|
-
React.createElement("
|
|
626
|
+
React.createElement(LinkButton, { "data-testid": "forgot-password-link", onClick: () => sendAuth('FORGOT_PASSWORD'), className: "text-xs" }, loginDictionary?.forgotPassword),
|
|
606
627
|
React.createElement(Button, { type: "submit", "data-testid": "login-button", disabled: verifyEmptyValues(getValuesEmail('email')) },
|
|
607
628
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
608
629
|
onlyPasskeyLogin ? loginDictionary?.passkeyLogin : loginDictionary?.login))),
|
|
@@ -612,12 +633,17 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
612
633
|
React.createElement("span", { className: "font-semibold text-white" }, loginDictionary?.passkeyLogin)))),
|
|
613
634
|
React.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }),
|
|
614
635
|
socialProviders?.length && (React.createElement(React.Fragment, null,
|
|
615
|
-
React.createElement("div", { className: "flex w-full flex-row gap-4" }, socialProviders.map((provider) =>
|
|
636
|
+
React.createElement("div", { className: "flex w-full flex-row gap-4" }, socialProviders.map((provider) => provider.providerName === 'google' ? (
|
|
637
|
+
// Google's own button, because the credential it returns IS
|
|
638
|
+
// the id_token. The custom button below cannot produce one:
|
|
639
|
+
// useGoogleLogin yields an access_token, whose audience the
|
|
640
|
+
// backend has no way to verify. Styling is limited to what
|
|
641
|
+
// Google exposes here.
|
|
642
|
+
React.createElement("div", { key: provider.id, className: "w-full", "data-testid": "login-social-google-button" },
|
|
643
|
+
React.createElement(GoogleLogin, { onSuccess: handleGoogleCredential, onError: () => console.error('Google sign-in failed'), shape: "rectangular", size: "large", width: "100%", text: "continue_with", locale: locale }))) : (React.createElement(Button, { key: provider.id, color: "light", "data-testid": `login-social-${provider.providerName}-button`, className: "w-full", onClick: handleMicrosoftLogin, outline: true },
|
|
616
644
|
React.createElement("div", { className: "flex flex-row items-center justify-center gap-2" },
|
|
617
|
-
React.createElement("img", { src:
|
|
618
|
-
|
|
619
|
-
? dictionary?.auth.continueGoogle
|
|
620
|
-
: dictionary?.auth.continueMicrosoft))))),
|
|
645
|
+
React.createElement("img", { src: microsoftLogo, alt: "microsoft logo", width: 16 }),
|
|
646
|
+
dictionary?.auth.continueMicrosoft))))),
|
|
621
647
|
React.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }))),
|
|
622
648
|
forgeId && (React.createElement(Button, { color: "light", onClick: () => sendAuth('LOGIN_WITH_WEB3CONNECTOR'), outline: true },
|
|
623
649
|
React.createElement("div", { className: "flex flex-row items-center justify-center gap-2" },
|
|
@@ -625,9 +651,9 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
625
651
|
React.createElement("img", { src: metamaskLogo, alt: "metamask logo", width: 20, className: "absolute right-3" }),
|
|
626
652
|
React.createElement("img", { src: walletConnectLogo, alt: "walletconnect logo", width: 20 })),
|
|
627
653
|
loginDictionary?.metamaskWalletConnect))),
|
|
628
|
-
React.createElement("
|
|
629
|
-
loginDictionary?.dontHaveAccount,
|
|
630
|
-
React.createElement(
|
|
654
|
+
React.createElement("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm font-medium" },
|
|
655
|
+
React.createElement("span", null, loginDictionary?.dontHaveAccount),
|
|
656
|
+
React.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
|
|
631
657
|
sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
|
|
632
658
|
} }, loginDictionary?.signUp)))));
|
|
633
659
|
}, [
|
|
@@ -650,12 +676,13 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
650
676
|
handleSubmitEmail,
|
|
651
677
|
onSubmitEmail,
|
|
652
678
|
handlePasskeyButton,
|
|
653
|
-
|
|
679
|
+
handleGoogleCredential,
|
|
654
680
|
handleMicrosoftLogin,
|
|
655
681
|
onlyPasskeyLogin,
|
|
656
682
|
requireEmailVerification,
|
|
657
683
|
errorObj,
|
|
658
684
|
hasDisplayError,
|
|
685
|
+
getTextAlignment,
|
|
659
686
|
]);
|
|
660
687
|
const SelectLoginMethod = useMemo(() => {
|
|
661
688
|
const { authErrorTitle, authErrorDescription } = getAuthError();
|
|
@@ -709,14 +736,14 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
709
736
|
React.createElement("span", { className: "text-alr-grey text-center font-medium" }, authErrorDescription),
|
|
710
737
|
errorObj?.code && (React.createElement("span", { className: "text-center text-xs text-gray-500" }, `${loginDictionary?.errorCode} ${errorObj.code}`))))),
|
|
711
738
|
React.createElement("form", { onSubmit: handleSubmitPassword((data) => onSubmitLogin(data)), className: "flex flex-col gap-y-5", "data-testid": "login-password-step" },
|
|
712
|
-
React.createElement(InputForm, { inputClassName: inputClassName, control: passwordControl, errors: passwordErrors, name: "password", placeholder: loginDictionary?.enterPassword, icon: lockClosedIcon, type: "password", label: dictionary?.password, "data-testid": "login-password" }),
|
|
713
|
-
React.createElement("
|
|
739
|
+
React.createElement(InputForm, { inputClassName: inputClassName, control: passwordControl, errors: passwordErrors, name: "password", placeholder: loginDictionary?.enterPassword, icon: lockClosedIcon, type: "password", label: dictionary?.password, passwordToggleLabel: dictionary?.auth.togglePasswordVisibility, "data-testid": "login-password" }),
|
|
740
|
+
React.createElement(LinkButton, { "data-testid": "forgot-password-link", onClick: () => sendAuth('FORGOT_PASSWORD'), className: "text-xs" }, loginDictionary?.forgotPassword),
|
|
714
741
|
React.createElement(Button, { type: "submit", "data-testid": "login-submit", disabled: isLoginSubmitDisabled },
|
|
715
742
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
716
743
|
loginDictionary?.login),
|
|
717
|
-
React.createElement("
|
|
718
|
-
loginDictionary?.dontHaveAccount,
|
|
719
|
-
React.createElement(
|
|
744
|
+
React.createElement("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm font-medium" },
|
|
745
|
+
React.createElement("span", null, loginDictionary?.dontHaveAccount),
|
|
746
|
+
React.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
|
|
720
747
|
sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
|
|
721
748
|
} }, loginDictionary?.signUp)))));
|
|
722
749
|
}, [
|
|
@@ -738,6 +765,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
738
765
|
onSubmitLogin,
|
|
739
766
|
forgeId,
|
|
740
767
|
isLoginSubmitDisabled,
|
|
768
|
+
getTextAlignment,
|
|
741
769
|
]);
|
|
742
770
|
const VerifyEmail = useMemo(() => (React.createElement("div", { "data-testid": "login-verify-email-step" },
|
|
743
771
|
React.createElement(BackButton, { className: "mb-4", disabled: isLoading, onClick: () => sendAuth('BACK') }, dictionary?.back),
|
|
@@ -752,9 +780,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
752
780
|
React.createElement(Button, { "data-testid": "secure-code-submit", onClick: () => onClickSecureCodeSubmit(), className: "group relative mb-6 flex w-full items-center justify-center rounded-lg border border-transparent bg-[--primary-color] p-0.5 text-center font-medium text-white duration-300 hover:bg-[--primary-hover] focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-300 enabled:hover:bg-red-700 disabled:hover:bg-red-900 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900 dark:enabled:hover:bg-red-700 dark:disabled:hover:bg-red-600", disabled: secureCode2FA.length !== 6 || isLoading },
|
|
753
781
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
754
782
|
loginDictionary?.confirmCode),
|
|
755
|
-
React.createElement("
|
|
756
|
-
? 'pointer-events-none opacity-50'
|
|
757
|
-
: 'cursor-pointer opacity-100 hover:text-[--primary-hover]') }, `${loginDictionary?.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
|
|
783
|
+
React.createElement(LinkButton, { "data-testid": "resend-code-button", onClick: () => resendSecureCode(), disabled: sendEmailCooldown > 0, className: twMerge(`text-base`, sendEmailCooldown > 0 ? 'opacity-50' : 'opacity-100') }, `${loginDictionary?.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
|
|
758
784
|
secureCode2FA,
|
|
759
785
|
sendEmailCooldown,
|
|
760
786
|
isLoading,
|
|
@@ -777,16 +803,16 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
777
803
|
React.createElement(Button, { className: "bg-alr-red hover:bg-alr-dark-red group relative flex w-full items-center justify-center rounded-lg border border-transparent p-0.5 text-center font-medium text-white duration-300 focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-300 enabled:hover:bg-red-700 disabled:hover:bg-red-900 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900 dark:enabled:hover:bg-red-700 dark:disabled:hover:bg-red-600", onClick: () => startHwAuth(0) }, loginDictionary?.tryAgain),
|
|
778
804
|
activeHw2fa?.length > 1 && (React.createElement(React.Fragment, null,
|
|
779
805
|
React.createElement("span", null, loginDictionary?.tryHardware),
|
|
780
|
-
React.createElement(
|
|
806
|
+
React.createElement(LinkButton, { "data-testid": "use-another-hardware-button", className: "flex items-center gap-x-1 text-base font-semibold", onClick: () => startHwAuth(1) },
|
|
781
807
|
loginDictionary?.useAnotherHardware,
|
|
782
808
|
React.createElement(ArrowRightIcon, { className: "size-5" })))),
|
|
783
|
-
activeSw2fa && (React.createElement(
|
|
809
|
+
activeSw2fa && (React.createElement(LinkButton, { "data-testid": "use-software-2fa-button", className: "flex items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') },
|
|
784
810
|
loginDictionary?.useSw2fa,
|
|
785
811
|
React.createElement(ArrowRightIcon, { className: "size-5" }))))) : (React.createElement("div", { className: `flex w-full flex-col ${getAlignmentClasses}` },
|
|
786
812
|
React.createElement("span", { className: `font-poppins text-alr-grey mb-10 mt-12 text-[1.3rem] font-bold ${getTextAlignment}` }, loginDictionary?.touchHardware),
|
|
787
813
|
React.createElement("span", { className: `text-alr-grey mb-10 w-60 text-sm font-normal ${getTextAlignment}` }, loginDictionary?.touchHardwareDescription),
|
|
788
814
|
React.createElement("img", { alt: "usb indicator", src: fingerprint }),
|
|
789
|
-
activeSw2fa && (React.createElement(
|
|
815
|
+
activeSw2fa && (React.createElement(LinkButton, { "data-testid": "use-software-2fa-button", className: "mt-9 flex items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') },
|
|
790
816
|
loginDictionary?.useSw2fa,
|
|
791
817
|
React.createElement(ArrowRightIcon, { className: "size-5" }))))))), [
|
|
792
818
|
isLoading,
|
|
@@ -809,7 +835,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
809
835
|
React.createElement(Button, { "data-testid": "secure-code-2FA-submit", onClick: () => onSubmitSecureCode2FA(), className: "bg-alr-red hover:bg-alr-dark-red group relative mb-6 flex w-full items-center justify-center rounded-lg border border-transparent p-0.5 text-center font-medium text-white duration-300 focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-300 enabled:hover:bg-red-700 disabled:hover:bg-red-900 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900 dark:enabled:hover:bg-red-700 dark:disabled:hover:bg-red-600", disabled: secureCode2FA.length !== 6 },
|
|
810
836
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
811
837
|
loginDictionary?.confirmCode),
|
|
812
|
-
active2fa?.find((item) => item.twoFaTypeId === HARDWARE) && (React.createElement(
|
|
838
|
+
active2fa?.find((item) => item.twoFaTypeId === HARDWARE) && (React.createElement(LinkButton, { "data-testid": "use-hardware-2fa-button", className: "mt-9 flex items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_HARDWARE_2FA') },
|
|
813
839
|
loginDictionary?.useHw2fa,
|
|
814
840
|
React.createElement(ArrowRightIcon, { className: "size-5" })))))), [
|
|
815
841
|
secureCode2FA,
|
|
@@ -834,9 +860,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
|
|
|
834
860
|
React.createElement(Button, { "data-testid": "secure-code-email-submit", onClick: () => onSubmitSecureCodeEmail(), className: "bg-alr-red hover:bg-alr-dark-red group relative mb-6 flex w-full items-center justify-center rounded-lg border border-transparent p-0.5 text-center font-medium text-white duration-300 focus:z-10 focus:outline-none focus:ring-2 focus:ring-red-300 enabled:hover:bg-red-700 disabled:hover:bg-red-900 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900 dark:enabled:hover:bg-red-700 dark:disabled:hover:bg-red-600", disabled: secureCodeEmail.length !== 6 },
|
|
835
861
|
isLoading && React.createElement(Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
|
|
836
862
|
loginDictionary?.confirmCode),
|
|
837
|
-
React.createElement("
|
|
838
|
-
? 'pointer-events-none opacity-50'
|
|
839
|
-
: 'hover:text-alr-red cursor-pointer opacity-100') }, `${loginDictionary?.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
|
|
863
|
+
React.createElement(LinkButton, { "data-testid": "resend-code-button", onClick: () => resendSecureCode(), disabled: sendEmailCooldown > 0, className: twMerge(`text-base`, sendEmailCooldown > 0 ? 'opacity-50' : 'opacity-100') }, `${loginDictionary?.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
|
|
840
864
|
secureCodeEmail,
|
|
841
865
|
sendEmailCooldown,
|
|
842
866
|
isLoading,
|