@alore/auth-react-ui 1.2.0-alpha.22 → 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 (79) 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 +79 -72
  4. package/dist/cjs/auth/Login.js.map +1 -1
  5. package/dist/cjs/auth/Register.js +109 -66
  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 +58 -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/cjs/utils/passkeyExtensions.d.ts +55 -0
  38. package/dist/cjs/utils/passkeyExtensions.js +77 -0
  39. package/dist/cjs/utils/passkeyExtensions.js.map +1 -0
  40. package/dist/mjs/auth/ForgotPassword.js +25 -5
  41. package/dist/mjs/auth/ForgotPassword.js.map +1 -1
  42. package/dist/mjs/auth/Login.js +79 -71
  43. package/dist/mjs/auth/Login.js.map +1 -1
  44. package/dist/mjs/auth/Register.js +110 -67
  45. package/dist/mjs/auth/Register.js.map +1 -1
  46. package/dist/mjs/components/Auth.js +7 -2
  47. package/dist/mjs/components/Auth.js.map +1 -1
  48. package/dist/mjs/components/AuthProvider.d.ts +16 -0
  49. package/dist/mjs/components/BackButton.js +1 -1
  50. package/dist/mjs/components/BackButton.js.map +1 -1
  51. package/dist/mjs/components/CheckboxForm.js +2 -2
  52. package/dist/mjs/components/CheckboxForm.js.map +1 -1
  53. package/dist/mjs/components/InputForm.d.ts +2 -1
  54. package/dist/mjs/components/InputForm.js +2 -2
  55. package/dist/mjs/components/InputForm.js.map +1 -1
  56. package/dist/mjs/components/InputOTP.js +1 -1
  57. package/dist/mjs/components/InputOTP.js.map +1 -1
  58. package/dist/mjs/components/LinkButton.d.ts +14 -0
  59. package/dist/mjs/components/LinkButton.js +10 -0
  60. package/dist/mjs/components/LinkButton.js.map +1 -0
  61. package/dist/mjs/components/index.d.ts +1 -0
  62. package/dist/mjs/components/index.js +1 -0
  63. package/dist/mjs/components/index.js.map +1 -1
  64. package/dist/mjs/dictionaries/en.json +1 -0
  65. package/dist/mjs/dictionaries/pt.json +8 -7
  66. package/dist/mjs/get-dictionary.d.ts +3 -0
  67. package/dist/mjs/hooks/useAuthService.d.ts +48 -0
  68. package/dist/mjs/hooks/useAuthServiceInstance.d.ts +16 -0
  69. package/dist/mjs/hooks/useDictionary.d.ts +1 -0
  70. package/dist/mjs/machine/index.d.ts +32 -0
  71. package/dist/mjs/machine/index.js +55 -0
  72. package/dist/mjs/machine/index.js.map +1 -1
  73. package/dist/mjs/machine/types.d.ts +13 -1
  74. package/dist/mjs/styles/themes.js +3 -2
  75. package/dist/mjs/styles/themes.js.map +1 -1
  76. package/dist/mjs/utils/passkeyExtensions.d.ts +55 -0
  77. package/dist/mjs/utils/passkeyExtensions.js +71 -0
  78. package/dist/mjs/utils/passkeyExtensions.js.map +1 -0
  79. package/package.json +6 -4
@@ -52,6 +52,7 @@ const utils_1 = require("../utils");
52
52
  const InputForm = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/InputForm'))));
53
53
  const BackButton = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/BackButton'))));
54
54
  const FormRules = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/FormRules'))));
55
+ const LinkButton = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/LinkButton'))));
55
56
  const envelopIcon = () => react_2.default.createElement(solid_1.EnvelopeIcon, { className: "size-4 text-gray-500" });
56
57
  const lockClosedIcon = () => react_2.default.createElement(solid_1.LockClosedIcon, { className: "size-4 text-gray-500" });
57
58
  const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, cryptoUtils, contentAlignment = 'center', titleSpacing = 'gap-y-2 sm:gap-y-7', customClassName, customStyles, logoContainerClassName, }) => {
@@ -98,6 +99,24 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
98
99
  (0, react_hook_form_1.useWatch)({ control: passwordControl, name: ['confirmPassword'] });
99
100
  const isLoading = (0, react_2.useMemo)(() => authState.matches('active.forgotPassword.sendingCode') ||
100
101
  authState.matches('active.forgotPassword.savingPassword'), [authState.value]);
102
+ const canGoBack = (0, react_2.useMemo)(() => authState.matches('active.forgotPassword.idle') ||
103
+ authState.matches('active.forgotPassword.codeSent') ||
104
+ authState.matches('active.forgotPassword.newPassword'), [authState.value]);
105
+ (0, react_2.useEffect)(() => {
106
+ if (typeof window === 'undefined')
107
+ return undefined;
108
+ const handleEscape = (event) => {
109
+ if (event.key === 'Escape' && canGoBack && !isLoading) {
110
+ event.preventDefault();
111
+ sendAuth('BACK');
112
+ window.history.replaceState({}, '', window.location.pathname);
113
+ }
114
+ };
115
+ window.addEventListener('keydown', handleEscape);
116
+ return () => {
117
+ window.removeEventListener('keydown', handleEscape);
118
+ };
119
+ }, [canGoBack, isLoading, sendAuth]);
101
120
  const onSubmitEmail = (data) => __awaiter(void 0, void 0, void 0, function* () {
102
121
  const { email } = data;
103
122
  sendAuth({
@@ -229,9 +248,10 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
229
248
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 :
230
249
  forgotPasswordDictionary.sendCode)),
231
250
  react_2.default.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }),
232
- react_2.default.createElement("span", { className: `text-sm font-medium ${getTextAlignmentClass}` }, (_b = dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.login) === null || _b === void 0 ? void 0 :
251
+ react_2.default.createElement("p", { className: `text-sm font-medium ${getTextAlignmentClass}` }, (_b = dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.login) === null || _b === void 0 ? void 0 :
233
252
  _b.dontHaveAccount,
234
- react_2.default.createElement("div", { "data-testid": "sign-up-button", className: "cursor-pointer text-[var(--primary-color)] hover:text-[var(--primary-hover)]", onClick: () => {
253
+ ' ',
254
+ react_2.default.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
235
255
  sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
236
256
  } }, (_c = dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.login) === null || _c === void 0 ? void 0 : _c.signUp)))));
237
257
  }, [
@@ -271,8 +291,8 @@ const ForgotPassword = ({ locale = 'pt', authServiceInstance, forgeId, logoImage
271
291
  react_2.default.createElement("span", { className: `font-poppins text-alr-grey mb-5 text-xl font-bold ${getTextAlignmentClass}` }, forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.newPasswordTitle),
272
292
  react_2.default.createElement("span", { className: `text-alr-grey mb-5 text-sm font-medium ${getTextAlignmentClass}` }, forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.newPasswordDescription),
273
293
  react_2.default.createElement("form", { onSubmit: handleSubmitPassword((data) => onSubmitPassword(data)), className: "flex flex-col gap-y-4" },
274
- react_2.default.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "password", autoFocus: true, icon: lockClosedIcon, placeholder: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.passwordLabel, label: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.passwordLabel, type: "password", "data-testid": "forgot-password-password-input", disabled: isLoading }),
275
- react_2.default.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "confirmPassword", placeholder: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.confirmPasswordLabel, label: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.confirmPasswordLabel, icon: lockClosedIcon, type: "password", "data-testid": "forgot-password-confirm-password-input", disabled: isLoading }),
294
+ react_2.default.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "password", autoFocus: true, icon: lockClosedIcon, placeholder: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.passwordLabel, label: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.passwordLabel, type: "password", passwordToggleLabel: dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.togglePasswordVisibility, "data-testid": "forgot-password-password-input", disabled: isLoading }),
295
+ react_2.default.createElement(InputForm, { control: passwordControl, errors: passwordErrors, name: "confirmPassword", placeholder: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.confirmPasswordLabel, label: forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 : forgotPasswordDictionary.confirmPasswordLabel, icon: lockClosedIcon, type: "password", passwordToggleLabel: dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.togglePasswordVisibility, "data-testid": "forgot-password-confirm-password-input", disabled: isLoading }),
276
296
  react_2.default.createElement(FormRules, { locale: locale, className: "!gap-y-1 md:!gap-y-2", passwordValues: getValuesPassword(), userValues: { email: getValuesEmail('email') } }),
277
297
  react_2.default.createElement(flowbite_react_1.Button, { "data-testid": "forgot-password-submit-button", type: "submit", disabled: isPasswordSubmitDisabled || isLoading },
278
298
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), forgotPasswordDictionary === null || forgotPasswordDictionary === void 0 ? void 0 :
@@ -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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"}
@@ -50,10 +50,12 @@ const yup = __importStar(require("yup"));
50
50
  const helpers_1 = require("../helpers");
51
51
  const useDictionary_1 = __importDefault(require("../hooks/useDictionary"));
52
52
  const utils_1 = require("../utils");
53
+ const passkeyExtensions_1 = require("../utils/passkeyExtensions");
53
54
  /* eslint-disable @next/next/no-img-element */
54
55
  const InputForm = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/InputForm'))));
55
56
  const InputOTP = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/InputOTP'))));
56
57
  const BackButton = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/BackButton'))));
58
+ const LinkButton = react_2.default.lazy(() => Promise.resolve().then(() => __importStar(require('../components/LinkButton'))));
57
59
  const envelopIcon = () => react_2.default.createElement(solid_1.EnvelopeIcon, { className: "size-4 text-gray-500" });
58
60
  const lockClosedIcon = () => react_2.default.createElement(solid_1.LockClosedIcon, { className: "size-4 text-gray-500" });
59
61
  const HARDWARE = 1;
@@ -70,7 +72,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
70
72
  // Single UI-facing error message derived from the error object
71
73
  const displayError = (errorObj === null || errorObj === void 0 ? void 0 : errorObj.message) || '';
72
74
  const hasDisplayError = !!displayError;
73
- const { enablePasskeys, requireEmailVerification, enablePasswords, socialProviders } = authProviderConfigs || {};
75
+ const { enablePasskeys, requireEmailVerification, enablePasswords, socialProviders, enableWalletCreation, } = authProviderConfigs || {};
74
76
  const [currentDevice, setCurrentDevice] = (0, react_2.useState)('');
75
77
  const [loading, setLoading] = (0, react_2.useState)(false);
76
78
  const [trustDevice, setTrustDevice] = (0, react_2.useState)(true);
@@ -85,29 +87,17 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
85
87
  const onlyPasskeyLogin = (0, react_2.useMemo)(() => {
86
88
  return enablePasskeys && !enablePasswords;
87
89
  }, [enablePasskeys, enablePasswords]);
88
- const googleLogin = (0, google_1.useGoogleLogin)({
89
- onSuccess: (tokenResponse) => {
90
- resetEmail();
91
- sendAuth({
92
- type: 'GOOGLE_LOGIN',
93
- payload: {
94
- accessToken: tokenResponse.access_token,
95
- providerName: 'google',
96
- },
97
- });
98
- },
99
- });
100
90
  const microsoftLogin = () => {
101
91
  instance
102
92
  .loginPopup({
103
93
  scopes: ['user.read'],
104
94
  })
105
95
  .then((response) => {
106
- console.info('Login success:', response);
96
+ resetEmail();
107
97
  sendAuth({
108
- type: 'GOOGLE_LOGIN',
98
+ type: 'SOCIAL_LOGIN',
109
99
  payload: {
110
- accessToken: response.accessToken,
100
+ idToken: response.idToken,
111
101
  providerName: 'microsoft',
112
102
  },
113
103
  });
@@ -116,8 +106,19 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
116
106
  console.error('Login failed:', error);
117
107
  });
118
108
  };
119
- const handleGoogleLogin = () => googleLogin();
120
109
  const handleMicrosoftLogin = () => microsoftLogin();
110
+ const handleGoogleCredential = (credentialResponse) => {
111
+ if (!credentialResponse.credential)
112
+ return;
113
+ resetEmail();
114
+ sendAuth({
115
+ type: 'SOCIAL_LOGIN',
116
+ payload: {
117
+ idToken: credentialResponse.credential,
118
+ providerName: 'google',
119
+ },
120
+ });
121
+ };
121
122
  const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
122
123
  const hasPasskeySupportWithPRFOrLargeBlob = () => {
123
124
  if (window.PublicKeyCredential &&
@@ -151,26 +152,13 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
151
152
  };
152
153
  // eslint-disable-next-line no-undef
153
154
  const sendSignedCredential = (credential) => __awaiter(void 0, void 0, void 0, function* () {
154
- var _a, _b, _c, _d, _e, _f, _g;
155
155
  const extensionResults = credential.getClientExtensionResults();
156
- let secretFromCredential;
157
- // @ts-ignore
158
- const hasPrf = !!((_b = (_a = extensionResults === null || extensionResults === void 0 ? void 0 : extensionResults.prf) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.first);
159
- // @ts-ignore
160
- const hasLargeBlob = !!((_c = extensionResults === null || extensionResults === void 0 ? void 0 : extensionResults.largeBlob) === null || _c === void 0 ? void 0 : _c.blob);
161
- if (hasPrf) {
162
- // @ts-ignore
163
- secretFromCredential = (_e = (_d = extensionResults === null || extensionResults === void 0 ? void 0 : extensionResults.prf) === null || _d === void 0 ? void 0 : _d.results) === null || _e === void 0 ? void 0 : _e.first;
164
- }
165
- else if (hasLargeBlob) {
166
- // @ts-ignore
167
- secretFromCredential = (_f = extensionResults === null || extensionResults === void 0 ? void 0 : extensionResults.largeBlob) === null || _f === void 0 ? void 0 : _f.blob;
168
- }
169
- if (hasLargeBlob && isSafari) {
170
- // @ts-ignore
171
- secretFromCredential = (_g = extensionResults === null || extensionResults === void 0 ? void 0 : extensionResults.largeBlob) === null || _g === void 0 ? void 0 : _g.blob;
172
- }
173
- if (!secretFromCredential) {
156
+ // JOO-1792: with wallets disabled no secret is required (none was requested);
157
+ // with wallets enabled the previous PRF/largeBlob/Safari semantics are preserved.
158
+ const { supported: walletSecretSupported, secret: secretFromCredential } = (0, passkeyExtensions_1.resolveWalletSecret)(!!enableWalletCreation, extensionResults, {
159
+ isSafari,
160
+ });
161
+ if (!walletSecretSupported) {
174
162
  sendAuth({
175
163
  type: 'PASSKEY_NOT_SUPPORTED',
176
164
  payload: { error: loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.passkeyNotSupported },
@@ -199,7 +187,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
199
187
  },
200
188
  },
201
189
  });
202
- if (keyshareWorker) {
190
+ if (keyshareWorker && secretFromCredential) {
203
191
  keyshareWorker.postMessage({
204
192
  method: 'derive-password',
205
193
  payload: {
@@ -210,24 +198,19 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
210
198
  }
211
199
  });
212
200
  const finishPasskeyAuth = () => __awaiter(void 0, void 0, void 0, function* () {
213
- var _h;
201
+ var _a;
214
202
  if (!RCRPublicKey || !(navigator === null || navigator === void 0 ? void 0 : navigator.credentials)) {
215
203
  sendAuth('BACK');
216
204
  return;
217
205
  }
218
206
  cancelConditionalCredentialRequest();
219
207
  const { publicKey } = RCRPublicKey;
220
- const extensions = {
221
- prf: { eval: { first: new TextEncoder().encode('Alore') } },
222
- largeBlob: {
223
- read: true,
224
- },
225
- };
208
+ const extensions = (0, passkeyExtensions_1.buildWalletExtensions)('login', !!enableWalletCreation);
226
209
  // eslint-disable-next-line no-undef
227
210
  const credentialOptions = {
228
211
  publicKey: Object.assign(Object.assign({}, publicKey), {
229
212
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
230
- allowCredentials: (_h = publicKey.allowCredentials) === null || _h === void 0 ? void 0 : _h.map((cred) => (Object.assign(Object.assign({}, cred), { id: Buffer.from(cred.id, 'base64') }))), timeout: 10000,
213
+ allowCredentials: (_a = publicKey.allowCredentials) === null || _a === void 0 ? void 0 : _a.map((cred) => (Object.assign(Object.assign({}, cred), { id: Buffer.from(cred.id, 'base64') }))), timeout: 10000,
231
214
  // @ts-ignore
232
215
  challenge: Buffer.from(publicKey.challenge, 'base64'), rpId: publicKey.rpId,
233
216
  // @ts-ignore
@@ -288,6 +271,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
288
271
  authState.matches('active.login.verifyingEmail2fa') ||
289
272
  authState.matches('active.login.resendingEmailCode') ||
290
273
  authState.matches('active.login.googleLogin') ||
274
+ authState.matches('active.login.socialLogin') ||
291
275
  authState.matches('active.login.verifyingGoogleLogin') ||
292
276
  authState.matches('active.login.verifyingRegisterPublicKeyCredential') ||
293
277
  authState.matches('active.login.retrievingCredentialRCR') ||
@@ -311,6 +295,25 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
311
295
  window.removeEventListener('keydown', handleMethodSelectionEnter);
312
296
  };
313
297
  }, [authState.value, isLoading, selectLoginMethod]);
298
+ const canGoBack = (0, react_2.useMemo)(() => authState.matches('active.login.loginMethodSelection') ||
299
+ authState.matches('active.login.inputPassword') ||
300
+ authState.matches('active.login.email2fa') ||
301
+ authState.matches('active.login.hardware2fa') ||
302
+ authState.matches('active.login.software2fa'), [authState.value]);
303
+ (0, react_2.useEffect)(() => {
304
+ if (typeof window === 'undefined')
305
+ return undefined;
306
+ const handleEscape = (event) => {
307
+ if (event.key === 'Escape' && canGoBack && !isLoading) {
308
+ event.preventDefault();
309
+ sendAuth('BACK');
310
+ }
311
+ };
312
+ window.addEventListener('keydown', handleEscape);
313
+ return () => {
314
+ window.removeEventListener('keydown', handleEscape);
315
+ };
316
+ }, [canGoBack, isLoading, sendAuth]);
314
317
  (0, react_2.useEffect)(() => {
315
318
  if (typeof window !== 'undefined') {
316
319
  hasPasskeySupportWithPRFOrLargeBlob();
@@ -639,13 +642,14 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
639
642
  (displayError === null || displayError === void 0 ? void 0 : displayError.includes('beta')) ? (react_2.default.createElement("span", { className: "font-poppins text-alr-red text-center text-xl font-bold" }, displayError)) : (react_2.default.createElement(react_2.default.Fragment, null,
640
643
  react_2.default.createElement("span", { className: "font-poppins text-alr-red text-center text-xl font-bold" }, authErrorTitle),
641
644
  react_2.default.createElement("span", { className: "text-alr-grey text-center font-medium" }, authErrorDescription),
642
- (errorObj === null || errorObj === void 0 ? void 0 : errorObj.code) && (react_2.default.createElement("span", { className: "mt-1 text-center text-xs text-gray-500" }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.errorCode} ${errorObj.code}`)))))) : (react_2.default.createElement("h1", { className: loginTitleClassName || 'font-inter text-center text-xl font-bold text-gray-700' }, loginTitle || (forgeId ? loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgeLogin : loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.loginAccount))),
645
+ (errorObj === null || errorObj === void 0 ? void 0 : errorObj.code) && (react_2.default.createElement("span", { className: "mt-1 text-center text-xs text-gray-500" }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.errorCode} ${errorObj.code}`)))))) : (react_2.default.createElement("h1", { className: loginTitleClassName ||
646
+ `font-inter text-xl font-bold text-gray-700 ${getTextAlignment}` }, loginTitle || (forgeId ? loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgeLogin : loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.loginAccount))),
643
647
  react_2.default.createElement("div", { className: "mt-4 flex flex-col gap-y-5" },
644
648
  !onlyPasskeyLogin && requireEmailVerification && (react_2.default.createElement("form", { className: "flex flex-col gap-y-5", onSubmit: handleSubmitEmail((data) => onSubmitEmail(data)) },
645
- react_2.default.createElement(InputForm, { className: "my-1", inputClassName: inputClassName, control: emailControl, errors: emailErrors, name: "email", type: "text", placeholder: emailInputLabel || (loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.enterEmail), "data-testid": "login-email-input", icon: envelopIcon, autoComplete: authAbortController && isConditionalMediationAvailable
649
+ react_2.default.createElement(InputForm, { inputClassName: inputClassName, control: emailControl, errors: emailErrors, name: "email", type: "text", placeholder: emailInputLabel || (loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.enterEmail), "data-testid": "login-email-input", icon: envelopIcon, autoComplete: authAbortController && isConditionalMediationAvailable
646
650
  ? 'username webauthn'
647
651
  : undefined, autoFocus: true }),
648
- react_2.default.createElement("span", { onClick: () => sendAuth('FORGOT_PASSWORD'), className: "cursor-pointer text-xs font-medium text-[var(--primary-color)] hover:text-[var(--primary-hover)]" }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgotPassword),
652
+ react_2.default.createElement(LinkButton, { "data-testid": "forgot-password-link", onClick: () => sendAuth('FORGOT_PASSWORD'), className: "text-xs" }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgotPassword),
649
653
  react_2.default.createElement(flowbite_react_1.Button, { type: "submit", "data-testid": "login-button", disabled: (0, helpers_1.verifyEmptyValues)(getValuesEmail('email')) },
650
654
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }),
651
655
  onlyPasskeyLogin ? loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.passkeyLogin : loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.login))),
@@ -655,12 +659,17 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
655
659
  react_2.default.createElement("span", { className: "font-semibold text-white" }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.passkeyLogin)))),
656
660
  react_2.default.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }),
657
661
  (socialProviders === null || socialProviders === void 0 ? void 0 : socialProviders.length) && (react_2.default.createElement(react_2.default.Fragment, null,
658
- react_2.default.createElement("div", { className: "flex w-full flex-row gap-4" }, socialProviders.map((provider) => (react_2.default.createElement(flowbite_react_1.Button, { key: provider.id, color: "light", "data-testid": `login-social-${provider.providerName}-button`, className: "w-full", onClick: provider.providerName === 'google' ? handleGoogleLogin : handleMicrosoftLogin, outline: true },
662
+ react_2.default.createElement("div", { className: "flex w-full flex-row gap-4" }, socialProviders.map((provider) => provider.providerName === 'google' ? (
663
+ // Google's own button, because the credential it returns IS
664
+ // the id_token. The custom button below cannot produce one:
665
+ // useGoogleLogin yields an access_token, whose audience the
666
+ // backend has no way to verify. Styling is limited to what
667
+ // Google exposes here.
668
+ react_2.default.createElement("div", { key: provider.id, className: "w-full", "data-testid": "login-social-google-button" },
669
+ react_2.default.createElement(google_1.GoogleLogin, { onSuccess: handleGoogleCredential, onError: () => console.error('Google sign-in failed'), shape: "rectangular", size: "large", width: "100%", text: "continue_with", locale: locale }))) : (react_2.default.createElement(flowbite_react_1.Button, { key: provider.id, color: "light", "data-testid": `login-social-${provider.providerName}-button`, className: "w-full", onClick: handleMicrosoftLogin, outline: true },
659
670
  react_2.default.createElement("div", { className: "flex flex-row items-center justify-center gap-2" },
660
- react_2.default.createElement("img", { src: provider.providerName === 'google' ? utils_1.google : utils_1.microsoftLogo, alt: provider.providerName === 'google' ? 'google logo' : 'microsoft logo', width: 16 }),
661
- provider.providerName === 'google'
662
- ? dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.continueGoogle
663
- : dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.continueMicrosoft))))),
671
+ react_2.default.createElement("img", { src: utils_1.microsoftLogo, alt: "microsoft logo", width: 16 }), dictionary === null || dictionary === void 0 ? void 0 :
672
+ dictionary.auth.continueMicrosoft))))),
664
673
  react_2.default.createElement("div", { className: "h-[0.5px] w-full bg-gray-300" }))),
665
674
  forgeId && (react_2.default.createElement(flowbite_react_1.Button, { color: "light", onClick: () => sendAuth('LOGIN_WITH_WEB3CONNECTOR'), outline: true },
666
675
  react_2.default.createElement("div", { className: "flex flex-row items-center justify-center gap-2" },
@@ -668,9 +677,9 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
668
677
  react_2.default.createElement("img", { src: utils_1.metamaskLogo, alt: "metamask logo", width: 20, className: "absolute right-3" }),
669
678
  react_2.default.createElement("img", { src: utils_1.walletConnectLogo, alt: "walletconnect logo", width: 20 })), loginDictionary === null || loginDictionary === void 0 ? void 0 :
670
679
  loginDictionary.metamaskWalletConnect))),
671
- react_2.default.createElement("span", { className: "text-center text-sm font-medium" }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
672
- loginDictionary.dontHaveAccount,
673
- react_2.default.createElement("div", { "data-testid": "sign-up-button", className: "cursor-pointer text-[var(--primary-color)] hover:text-[var(--primary-hover)]", onClick: () => {
680
+ react_2.default.createElement("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm font-medium" },
681
+ react_2.default.createElement("span", null, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.dontHaveAccount),
682
+ react_2.default.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
674
683
  sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
675
684
  } }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.signUp)))));
676
685
  }, [
@@ -693,12 +702,13 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
693
702
  handleSubmitEmail,
694
703
  onSubmitEmail,
695
704
  handlePasskeyButton,
696
- handleGoogleLogin,
705
+ handleGoogleCredential,
697
706
  handleMicrosoftLogin,
698
707
  onlyPasskeyLogin,
699
708
  requireEmailVerification,
700
709
  errorObj,
701
710
  hasDisplayError,
711
+ getTextAlignment,
702
712
  ]);
703
713
  const SelectLoginMethod = (0, react_2.useMemo)(() => {
704
714
  const { authErrorTitle, authErrorDescription } = getAuthError();
@@ -752,14 +762,14 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
752
762
  react_2.default.createElement("span", { className: "text-alr-grey text-center font-medium" }, authErrorDescription),
753
763
  (errorObj === null || errorObj === void 0 ? void 0 : errorObj.code) && (react_2.default.createElement("span", { className: "text-center text-xs text-gray-500" }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.errorCode} ${errorObj.code}`))))),
754
764
  react_2.default.createElement("form", { onSubmit: handleSubmitPassword((data) => onSubmitLogin(data)), className: "flex flex-col gap-y-5", "data-testid": "login-password-step" },
755
- react_2.default.createElement(InputForm, { inputClassName: inputClassName, control: passwordControl, errors: passwordErrors, name: "password", placeholder: loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.enterPassword, icon: lockClosedIcon, type: "password", label: dictionary === null || dictionary === void 0 ? void 0 : dictionary.password, "data-testid": "login-password" }),
756
- react_2.default.createElement("span", { onClick: () => sendAuth('FORGOT_PASSWORD'), className: "cursor-pointer text-xs font-medium text-[var(--primary-color)] hover:text-[var(--primary-hover)]" }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgotPassword),
765
+ react_2.default.createElement(InputForm, { inputClassName: inputClassName, control: passwordControl, errors: passwordErrors, name: "password", placeholder: loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.enterPassword, icon: lockClosedIcon, type: "password", label: dictionary === null || dictionary === void 0 ? void 0 : dictionary.password, passwordToggleLabel: dictionary === null || dictionary === void 0 ? void 0 : dictionary.auth.togglePasswordVisibility, "data-testid": "login-password" }),
766
+ react_2.default.createElement(LinkButton, { "data-testid": "forgot-password-link", onClick: () => sendAuth('FORGOT_PASSWORD'), className: "text-xs" }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.forgotPassword),
757
767
  react_2.default.createElement(flowbite_react_1.Button, { type: "submit", "data-testid": "login-submit", disabled: isLoginSubmitDisabled },
758
768
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), loginDictionary === null || loginDictionary === void 0 ? void 0 :
759
769
  loginDictionary.login),
760
- react_2.default.createElement("span", { className: "text-center text-sm font-medium" }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
761
- loginDictionary.dontHaveAccount,
762
- react_2.default.createElement("div", { className: "cursor-pointer text-[--primary-color]", onClick: () => {
770
+ react_2.default.createElement("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm font-medium" },
771
+ react_2.default.createElement("span", null, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.dontHaveAccount),
772
+ react_2.default.createElement(LinkButton, { "data-testid": "sign-up-button", className: "text-sm", onClick: () => {
763
773
  sendAuth(['RESET', { type: 'INITIALIZE', forgeId }, 'SIGN_UP']);
764
774
  } }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.signUp)))));
765
775
  }, [
@@ -781,6 +791,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
781
791
  onSubmitLogin,
782
792
  forgeId,
783
793
  isLoginSubmitDisabled,
794
+ getTextAlignment,
784
795
  ]);
785
796
  const VerifyEmail = (0, react_2.useMemo)(() => (react_2.default.createElement("div", { "data-testid": "login-verify-email-step" },
786
797
  react_2.default.createElement(BackButton, { className: "mb-4", disabled: isLoading, onClick: () => sendAuth('BACK') }, dictionary === null || dictionary === void 0 ? void 0 : dictionary.back),
@@ -795,9 +806,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
795
806
  react_2.default.createElement(flowbite_react_1.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 },
796
807
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), loginDictionary === null || loginDictionary === void 0 ? void 0 :
797
808
  loginDictionary.confirmCode),
798
- react_2.default.createElement("span", { onClick: () => resendSecureCode(), className: (0, tailwind_merge_1.twMerge)(`text-base font-medium text-gray-700 duration-300`, sendEmailCooldown > 0
799
- ? 'pointer-events-none opacity-50'
800
- : 'cursor-pointer opacity-100 hover:text-[--primary-hover]') }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
809
+ react_2.default.createElement(LinkButton, { "data-testid": "resend-code-button", onClick: () => resendSecureCode(), disabled: sendEmailCooldown > 0, className: (0, tailwind_merge_1.twMerge)(`text-base`, sendEmailCooldown > 0 ? 'opacity-50' : 'opacity-100') }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
801
810
  secureCode2FA,
802
811
  sendEmailCooldown,
803
812
  isLoading,
@@ -820,16 +829,16 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
820
829
  react_2.default.createElement(flowbite_react_1.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 === null || loginDictionary === void 0 ? void 0 : loginDictionary.tryAgain),
821
830
  (activeHw2fa === null || activeHw2fa === void 0 ? void 0 : activeHw2fa.length) > 1 && (react_2.default.createElement(react_2.default.Fragment, null,
822
831
  react_2.default.createElement("span", null, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.tryHardware),
823
- react_2.default.createElement("div", { className: "text-alr-red flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => startHwAuth(1) }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
832
+ react_2.default.createElement(LinkButton, { "data-testid": "use-another-hardware-button", className: "flex items-center gap-x-1 text-base font-semibold", onClick: () => startHwAuth(1) }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
824
833
  loginDictionary.useAnotherHardware,
825
834
  react_2.default.createElement(solid_1.ArrowRightIcon, { className: "size-5" })))),
826
- activeSw2fa && (react_2.default.createElement("div", { className: "text-alr-red flex cursor-pointer items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
835
+ activeSw2fa && (react_2.default.createElement(LinkButton, { "data-testid": "use-software-2fa-button", className: "flex items-center gap-x-1 text-base font-semibold", onClick: () => sendAuth('USE_SOFTWARE_2FA') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
827
836
  loginDictionary.useSw2fa,
828
837
  react_2.default.createElement(solid_1.ArrowRightIcon, { className: "size-5" }))))) : (react_2.default.createElement("div", { className: `flex w-full flex-col ${getAlignmentClasses}` },
829
838
  react_2.default.createElement("span", { className: `font-poppins text-alr-grey mb-10 mt-12 text-[1.3rem] font-bold ${getTextAlignment}` }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.touchHardware),
830
839
  react_2.default.createElement("span", { className: `text-alr-grey mb-10 w-60 text-sm font-normal ${getTextAlignment}` }, loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.touchHardwareDescription),
831
840
  react_2.default.createElement("img", { alt: "usb indicator", src: utils_1.fingerprint }),
832
- activeSw2fa && (react_2.default.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') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
841
+ activeSw2fa && (react_2.default.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') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
833
842
  loginDictionary.useSw2fa,
834
843
  react_2.default.createElement(solid_1.ArrowRightIcon, { className: "size-5" }))))))), [
835
844
  isLoading,
@@ -852,7 +861,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
852
861
  react_2.default.createElement(flowbite_react_1.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 },
853
862
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), loginDictionary === null || loginDictionary === void 0 ? void 0 :
854
863
  loginDictionary.confirmCode),
855
- (active2fa === null || active2fa === void 0 ? void 0 : active2fa.find((item) => item.twoFaTypeId === HARDWARE)) && (react_2.default.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') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
864
+ (active2fa === null || active2fa === void 0 ? void 0 : active2fa.find((item) => item.twoFaTypeId === HARDWARE)) && (react_2.default.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') }, loginDictionary === null || loginDictionary === void 0 ? void 0 :
856
865
  loginDictionary.useHw2fa,
857
866
  react_2.default.createElement(solid_1.ArrowRightIcon, { className: "size-5" })))))), [
858
867
  secureCode2FA,
@@ -877,9 +886,7 @@ const Login = ({ locale = 'pt', authServiceInstance, forgeId, logoImage, keyshar
877
886
  react_2.default.createElement(flowbite_react_1.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 },
878
887
  isLoading && react_2.default.createElement(flowbite_react_1.Spinner, { className: "mr-3 !h-5 w-full !fill-gray-300" }), loginDictionary === null || loginDictionary === void 0 ? void 0 :
879
888
  loginDictionary.confirmCode),
880
- react_2.default.createElement("span", { onClick: () => resendSecureCode(), className: (0, tailwind_merge_1.twMerge)(`text-base font-medium duration-300`, sendEmailCooldown > 0
881
- ? 'pointer-events-none opacity-50'
882
- : 'hover:text-alr-red cursor-pointer opacity-100') }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
889
+ react_2.default.createElement(LinkButton, { "data-testid": "resend-code-button", onClick: () => resendSecureCode(), disabled: sendEmailCooldown > 0, className: (0, tailwind_merge_1.twMerge)(`text-base`, sendEmailCooldown > 0 ? 'opacity-50' : 'opacity-100') }, `${loginDictionary === null || loginDictionary === void 0 ? void 0 : loginDictionary.resendCode}${sendEmailCooldown ? ` (${sendEmailCooldown}s)` : ''}`)))), [
883
890
  secureCodeEmail,
884
891
  sendEmailCooldown,
885
892
  isLoading,