@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.
Files changed (73) hide show
  1. package/dist/cjs/auth/ForgotPassword.js +24 -4
  2. package/dist/cjs/auth/ForgotPassword.js.map +1 -1
  3. package/dist/cjs/auth/Login.js +67 -43
  4. package/dist/cjs/auth/Login.js.map +1 -1
  5. package/dist/cjs/auth/Register.js +93 -26
  6. package/dist/cjs/auth/Register.js.map +1 -1
  7. package/dist/cjs/components/Auth.js +7 -2
  8. package/dist/cjs/components/Auth.js.map +1 -1
  9. package/dist/cjs/components/AuthProvider.d.ts +16 -0
  10. package/dist/cjs/components/BackButton.js +1 -1
  11. package/dist/cjs/components/BackButton.js.map +1 -1
  12. package/dist/cjs/components/CheckboxForm.js +2 -2
  13. package/dist/cjs/components/CheckboxForm.js.map +1 -1
  14. package/dist/cjs/components/InputForm.d.ts +2 -1
  15. package/dist/cjs/components/InputForm.js +2 -2
  16. package/dist/cjs/components/InputForm.js.map +1 -1
  17. package/dist/cjs/components/InputOTP.js +1 -1
  18. package/dist/cjs/components/InputOTP.js.map +1 -1
  19. package/dist/cjs/components/LinkButton.d.ts +14 -0
  20. package/dist/cjs/components/LinkButton.js +29 -0
  21. package/dist/cjs/components/LinkButton.js.map +1 -0
  22. package/dist/cjs/components/index.d.ts +1 -0
  23. package/dist/cjs/components/index.js +3 -1
  24. package/dist/cjs/components/index.js.map +1 -1
  25. package/dist/cjs/dictionaries/en.json +1 -0
  26. package/dist/cjs/dictionaries/pt.json +8 -7
  27. package/dist/cjs/get-dictionary.d.ts +3 -0
  28. package/dist/cjs/hooks/useAuthService.d.ts +48 -0
  29. package/dist/cjs/hooks/useAuthServiceInstance.d.ts +16 -0
  30. package/dist/cjs/hooks/useDictionary.d.ts +1 -0
  31. package/dist/cjs/machine/index.d.ts +32 -0
  32. package/dist/cjs/machine/index.js +48 -0
  33. package/dist/cjs/machine/index.js.map +1 -1
  34. package/dist/cjs/machine/types.d.ts +13 -1
  35. package/dist/cjs/styles/themes.js +2 -2
  36. package/dist/cjs/styles/themes.js.map +1 -1
  37. package/dist/mjs/auth/ForgotPassword.js +25 -5
  38. package/dist/mjs/auth/ForgotPassword.js.map +1 -1
  39. package/dist/mjs/auth/Login.js +69 -45
  40. package/dist/mjs/auth/Login.js.map +1 -1
  41. package/dist/mjs/auth/Register.js +95 -28
  42. package/dist/mjs/auth/Register.js.map +1 -1
  43. package/dist/mjs/components/Auth.js +7 -2
  44. package/dist/mjs/components/Auth.js.map +1 -1
  45. package/dist/mjs/components/AuthProvider.d.ts +16 -0
  46. package/dist/mjs/components/BackButton.js +1 -1
  47. package/dist/mjs/components/BackButton.js.map +1 -1
  48. package/dist/mjs/components/CheckboxForm.js +2 -2
  49. package/dist/mjs/components/CheckboxForm.js.map +1 -1
  50. package/dist/mjs/components/InputForm.d.ts +2 -1
  51. package/dist/mjs/components/InputForm.js +2 -2
  52. package/dist/mjs/components/InputForm.js.map +1 -1
  53. package/dist/mjs/components/InputOTP.js +1 -1
  54. package/dist/mjs/components/InputOTP.js.map +1 -1
  55. package/dist/mjs/components/LinkButton.d.ts +14 -0
  56. package/dist/mjs/components/LinkButton.js +10 -0
  57. package/dist/mjs/components/LinkButton.js.map +1 -0
  58. package/dist/mjs/components/index.d.ts +1 -0
  59. package/dist/mjs/components/index.js +1 -0
  60. package/dist/mjs/components/index.js.map +1 -1
  61. package/dist/mjs/dictionaries/en.json +1 -0
  62. package/dist/mjs/dictionaries/pt.json +8 -7
  63. package/dist/mjs/get-dictionary.d.ts +3 -0
  64. package/dist/mjs/hooks/useAuthService.d.ts +48 -0
  65. package/dist/mjs/hooks/useAuthServiceInstance.d.ts +16 -0
  66. package/dist/mjs/hooks/useDictionary.d.ts +1 -0
  67. package/dist/mjs/machine/index.d.ts +32 -0
  68. package/dist/mjs/machine/index.js +45 -0
  69. package/dist/mjs/machine/index.js.map +1 -1
  70. package/dist/mjs/machine/types.d.ts +13 -1
  71. package/dist/mjs/styles/themes.js +3 -2
  72. package/dist/mjs/styles/themes.js.map +1 -1
  73. 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-gray-300 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',
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,sOAAsO,OAE1O;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,sOAAsO;gBAC5O,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"}
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("span", { className: `text-sm font-medium ${getTextAlignmentClass}` },
212
+ React.createElement("p", { className: `text-sm font-medium ${getTextAlignmentClass}` },
194
213
  dictionary?.auth.login?.dontHaveAccount,
195
- React.createElement("div", { "data-testid": "sign-up-button", className: "cursor-pointer text-[var(--primary-color)] hover:text-[var(--primary-hover)]", onClick: () => {
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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"}
@@ -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 { useGoogleLogin } from '@react-oauth/google';
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, google, metamaskLogo, microsoftLogo, walletConnectLogo, } from '../utils';
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
- console.info('Login success:', response);
59
+ resetEmail();
71
60
  sendAuth({
72
- type: 'GOOGLE_LOGIN',
61
+ type: 'SOCIAL_LOGIN',
73
62
  payload: {
74
- accessToken: response.accessToken,
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 || 'font-inter text-center text-xl font-bold text-gray-700' }, loginTitle || (forgeId ? loginDictionary?.forgeLogin : loginDictionary?.loginAccount))),
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, { className: "my-1", inputClassName: inputClassName, control: emailControl, errors: emailErrors, name: "email", type: "text", placeholder: emailInputLabel || loginDictionary?.enterEmail, "data-testid": "login-email-input", icon: envelopIcon, autoComplete: authAbortController && isConditionalMediationAvailable
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("span", { onClick: () => sendAuth('FORGOT_PASSWORD'), className: "cursor-pointer text-xs font-medium text-[var(--primary-color)] hover:text-[var(--primary-hover)]" }, loginDictionary?.forgotPassword),
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) => (React.createElement(Button, { key: provider.id, color: "light", "data-testid": `login-social-${provider.providerName}-button`, className: "w-full", onClick: provider.providerName === 'google' ? handleGoogleLogin : handleMicrosoftLogin, outline: true },
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: provider.providerName === 'google' ? google : microsoftLogo, alt: provider.providerName === 'google' ? 'google logo' : 'microsoft logo', width: 16 }),
618
- provider.providerName === 'google'
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("span", { className: "text-center text-sm font-medium" },
629
- loginDictionary?.dontHaveAccount,
630
- React.createElement("div", { "data-testid": "sign-up-button", className: "cursor-pointer text-[var(--primary-color)] hover:text-[var(--primary-hover)]", onClick: () => {
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
- handleGoogleLogin,
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("span", { onClick: () => sendAuth('FORGOT_PASSWORD'), className: "cursor-pointer text-xs font-medium text-[var(--primary-color)] hover:text-[var(--primary-hover)]" }, loginDictionary?.forgotPassword),
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("span", { className: "text-center text-sm font-medium" },
718
- loginDictionary?.dontHaveAccount,
719
- React.createElement("div", { className: "cursor-pointer text-[--primary-color]", onClick: () => {
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("span", { onClick: () => resendSecureCode(), className: twMerge(`text-base font-medium text-gray-700 duration-300`, sendEmailCooldown > 0
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("div", { className: "text-alr-red flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => startHwAuth(1) },
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("div", { className: "text-alr-red flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') },
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("div", { className: "text-alr-red mt-9 flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') },
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("div", { className: "text-alr-red mt-9 flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_HARDWARE_2FA') },
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("span", { onClick: () => resendSecureCode(), className: twMerge(`text-base font-medium duration-300`, sendEmailCooldown > 0
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,