@dynamic-labs/sdk-react-core 3.0.0-alpha.34 → 3.0.0-alpha.36

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 (51) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +12 -12
  5. package/src/index.cjs +5 -1
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +1 -1
  8. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -2
  9. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -2
  10. package/src/lib/data/api/mfa/mfa.cjs +9 -4
  11. package/src/lib/data/api/mfa/mfa.js +9 -4
  12. package/src/lib/locale/en/translation.cjs +14 -8
  13. package/src/lib/locale/en/translation.d.ts +12 -6
  14. package/src/lib/locale/en/translation.js +14 -8
  15. package/src/lib/styles/index.shadow.cjs +1 -1
  16. package/src/lib/styles/index.shadow.js +1 -1
  17. package/src/lib/utils/functions/index.d.ts +1 -0
  18. package/src/lib/utils/functions/isValidMfaRecoveryCode/index.d.ts +1 -0
  19. package/src/lib/utils/functions/isValidMfaRecoveryCode/isValidMfaRecoveryCode.cjs +11 -0
  20. package/src/lib/utils/functions/isValidMfaRecoveryCode/isValidMfaRecoveryCode.d.ts +1 -0
  21. package/src/lib/utils/functions/isValidMfaRecoveryCode/isValidMfaRecoveryCode.js +7 -0
  22. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +3 -1
  23. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +3 -1
  24. package/src/lib/utils/hooks/useEmbeddedWallet/index.d.ts +1 -0
  25. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +4 -3
  26. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
  27. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +4 -3
  28. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/index.d.ts +1 -0
  29. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +8 -5
  30. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +8 -5
  31. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.cjs +5 -1
  32. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.js +5 -1
  33. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +27 -12
  34. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.d.ts +5 -2
  35. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +28 -13
  36. package/src/lib/views/MfaChooseDeviceView/getMfaOptions/getMfaOptions.cjs +29 -0
  37. package/src/lib/views/MfaChooseDeviceView/getMfaOptions/getMfaOptions.d.ts +11 -0
  38. package/src/lib/views/MfaChooseDeviceView/getMfaOptions/getMfaOptions.js +25 -0
  39. package/src/lib/views/MfaChooseDeviceView/getMfaOptions/index.d.ts +1 -0
  40. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.cjs +12 -12
  41. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.js +13 -13
  42. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.cjs +1 -1
  43. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.js +1 -1
  44. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +10 -2
  45. package/src/lib/views/MfaVerificationView/MfaVerificationView.d.ts +3 -1
  46. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +11 -3
  47. package/src/lib/views/viewToComponentMap.d.ts +2 -2
  48. package/src/lib/utils/functions/validateMfaRecoveryCode/index.d.ts +0 -1
  49. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.cjs +0 -11
  50. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.d.ts +0 -1
  51. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,4 +1,20 @@
1
1
 
2
+ ## [3.0.0-alpha.36](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.35...v3.0.0-alpha.36) (2024-08-06)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * emb wallet export with silent signing ([#6493](https://github.com/dynamic-labs/DynamicAuth/issues/6493)) ([af69c3a](https://github.com/dynamic-labs/DynamicAuth/commit/af69c3a85d8c1db6a0bf9b42c1310bf3183f9360))
8
+ * use correct redirect url override when connecting with social ([#6502](https://github.com/dynamic-labs/DynamicAuth/issues/6502)) ([e27a0de](https://github.com/dynamic-labs/DynamicAuth/commit/e27a0ded2ad2d95b80a2ad354accaf57f5228691))
9
+ * wagmi account sync issues when switching wallets ([#6441](https://github.com/dynamic-labs/DynamicAuth/issues/6441)) ([4536f88](https://github.com/dynamic-labs/DynamicAuth/commit/4536f88d41bf4a30cf114e8cd7efd7a211c00889))
10
+
11
+ ## [3.0.0-alpha.35](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.34...v3.0.0-alpha.35) (2024-08-06)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * allow mfa sync to rerun after logout ([#6503](https://github.com/dynamic-labs/DynamicAuth/issues/6503)) ([74377e8](https://github.com/dynamic-labs/DynamicAuth/commit/74377e844a84da422173289a10561eb7acf4f8b9))
17
+
2
18
  ## [3.0.0-alpha.34](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.33...v3.0.0-alpha.34) (2024-08-02)
3
19
 
4
20
  ## [3.0.0-alpha.33](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.32...v3.0.0-alpha.33) (2024-08-02)
package/package.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "3.0.0-alpha.34";
6
+ var version = "3.0.0-alpha.36";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.506",
8
+ "@dynamic-labs/sdk-api-core": "0.0.509",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
11
11
  formik: "2.2.9",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- var version = "3.0.0-alpha.34";
2
+ var version = "3.0.0-alpha.36";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.506",
4
+ "@dynamic-labs/sdk-api-core": "0.0.509",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
7
7
  formik: "2.2.9",
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "3.0.0-alpha.34",
3
+ "version": "3.0.0-alpha.36",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
7
  "directory": "packages/sdk-react-core"
8
8
  },
9
9
  "dependencies": {
10
- "@dynamic-labs/sdk-api-core": "0.0.506",
10
+ "@dynamic-labs/sdk-api-core": "0.0.509",
11
11
  "@hcaptcha/react-hcaptcha": "1.4.4",
12
12
  "country-list": "2.3.0",
13
13
  "formik": "2.2.9",
@@ -17,16 +17,16 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/iconic": "3.0.0-alpha.34",
21
- "@dynamic-labs/logger": "3.0.0-alpha.34",
22
- "@dynamic-labs/message-transport": "3.0.0-alpha.34",
23
- "@dynamic-labs/multi-wallet": "3.0.0-alpha.34",
24
- "@dynamic-labs/rpc-providers": "3.0.0-alpha.34",
25
- "@dynamic-labs/store": "3.0.0-alpha.34",
26
- "@dynamic-labs/types": "3.0.0-alpha.34",
27
- "@dynamic-labs/utils": "3.0.0-alpha.34",
28
- "@dynamic-labs/wallet-book": "3.0.0-alpha.34",
29
- "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.34",
20
+ "@dynamic-labs/iconic": "3.0.0-alpha.36",
21
+ "@dynamic-labs/logger": "3.0.0-alpha.36",
22
+ "@dynamic-labs/message-transport": "3.0.0-alpha.36",
23
+ "@dynamic-labs/multi-wallet": "3.0.0-alpha.36",
24
+ "@dynamic-labs/rpc-providers": "3.0.0-alpha.36",
25
+ "@dynamic-labs/store": "3.0.0-alpha.36",
26
+ "@dynamic-labs/types": "3.0.0-alpha.36",
27
+ "@dynamic-labs/utils": "3.0.0-alpha.36",
28
+ "@dynamic-labs/wallet-book": "3.0.0-alpha.36",
29
+ "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.36",
30
30
  "eventemitter3": "5.0.1"
31
31
  },
32
32
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -68,7 +68,7 @@ require('@dynamic-labs/store');
68
68
  require('./lib/locale/locale.cjs');
69
69
  var useEmbeddedWallet = require('./lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs');
70
70
  require('./lib/context/WalletContext/WalletContext.cjs');
71
- require('./lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
71
+ var constants = require('./lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
72
72
  require('./lib/context/ErrorContext/ErrorContext.cjs');
73
73
  require('./lib/context/ThemeContext/ThemeContext.cjs');
74
74
  var useIsLoggedIn = require('./lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.cjs');
@@ -206,6 +206,10 @@ exports.SpinnerIcon = spinner.ReactComponent;
206
206
  exports.ArrowIcon = stroke.ReactComponent;
207
207
  exports.mergeNetworks = mergeNetworks.mergeNetworks;
208
208
  exports.useEmbeddedWallet = useEmbeddedWallet.useEmbeddedWallet;
209
+ Object.defineProperty(exports, 'EmbeddedWalletVersion', {
210
+ enumerable: true,
211
+ get: function () { return constants.EmbeddedWalletVersion; }
212
+ });
209
213
  exports.useIsLoggedIn = useIsLoggedIn.useIsLoggedIn;
210
214
  exports.useOtpVerificationRequest = useOtpVerificationRequest.useOtpVerificationRequest;
211
215
  exports.usePasskeyRecovery = usePasskeyRecovery.usePasskeyRecovery;
package/src/index.d.ts CHANGED
@@ -108,7 +108,7 @@ export { FilterAndSortWallets, FilterBridgeChainsName, FilterChain, FilterWallet
108
108
  export {
109
109
  /** @deprecated */
110
110
  DynamicWidgetContextProvider, } from './lib/widgets/DynamicWidget/context';
111
- export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useTokenBalances, useSwitchWallet, useRpcProviders, useRefreshUser, useSelectWalletOption, } from './lib/utils/hooks';
111
+ export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useTokenBalances, useSwitchWallet, useRpcProviders, useRefreshUser, useSelectWalletOption, EmbeddedWalletVersion, } from './lib/utils/hooks';
112
112
  export { useUserUpdateRequest, useWalletConnectorEvent, } from './lib/utils/hooks';
113
113
  export { type VerifyOtp, useOtpVerificationRequest, } from './lib/utils/hooks/authenticationHooks/';
114
114
  export type { UpdateUserFieldsArg } from './lib/utils/hooks/';
package/src/index.js CHANGED
@@ -64,7 +64,7 @@ import '@dynamic-labs/store';
64
64
  import './lib/locale/locale.js';
65
65
  export { useEmbeddedWallet } from './lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js';
66
66
  import './lib/context/WalletContext/WalletContext.js';
67
- import './lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
67
+ export { EmbeddedWalletVersion } from './lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
68
68
  import './lib/context/ErrorContext/ErrorContext.js';
69
69
  import './lib/context/ThemeContext/ThemeContext.js';
70
70
  export { useIsLoggedIn } from './lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.js';
@@ -11,8 +11,8 @@ require('../../shared/logger.cjs');
11
11
  require('@dynamic-labs/iconic');
12
12
  require('@dynamic-labs/wallet-connector-core');
13
13
  require('../../context/ViewContext/ViewContext.cjs');
14
+ var arrowLeft = require('../../shared/assets/arrow-left.cjs');
14
15
  var check = require('../../shared/assets/check.cjs');
15
- var chevronLeft = require('../../shared/assets/chevron-left.cjs');
16
16
  var pencilAltIcon = require('../../shared/assets/pencil-alt-icon.cjs');
17
17
  require('@dynamic-labs/wallet-book');
18
18
  require('../../utils/constants/colors.cjs');
@@ -34,7 +34,7 @@ var Typography = require('../Typography/Typography.cjs');
34
34
 
35
35
  const OTPVerificationView = ({ onClickBack, onClickEditDestination, isLoading, displayedDestination, description, onPinComplete, isValid, error, retryHandler, onPinChange, successBannerTextKey, MainIcon, hideHeader, appendAboveOTPInput, appendToEnd, }) => {
36
36
  const { t } = reactI18next.useTranslation();
37
- const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) }));
37
+ const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }));
38
38
  const titleCopyKey = React.useMemo(() => isValid
39
39
  ? 'dyn_otp_verification.verification_succeeded'
40
40
  : 'dyn_otp_verification.confirm_code', [isValid]);
@@ -7,8 +7,8 @@ import '../../shared/logger.js';
7
7
  import '@dynamic-labs/iconic';
8
8
  import '@dynamic-labs/wallet-connector-core';
9
9
  import '../../context/ViewContext/ViewContext.js';
10
+ import { ReactComponent as SvgArrowLeft } from '../../shared/assets/arrow-left.js';
10
11
  import { ReactComponent as SvgCheck } from '../../shared/assets/check.js';
11
- import { ReactComponent as SvgChevronLeft } from '../../shared/assets/chevron-left.js';
12
12
  import { ReactComponent as SvgPencilAltIcon } from '../../shared/assets/pencil-alt-icon.js';
13
13
  import '@dynamic-labs/wallet-book';
14
14
  import '../../utils/constants/colors.js';
@@ -30,7 +30,7 @@ import { Typography } from '../Typography/Typography.js';
30
30
 
31
31
  const OTPVerificationView = ({ onClickBack, onClickEditDestination, isLoading, displayedDestination, description, onPinComplete, isValid, error, retryHandler, onPinChange, successBannerTextKey, MainIcon, hideHeader, appendAboveOTPInput, appendToEnd, }) => {
32
32
  const { t } = useTranslation();
33
- const backButton = onClickBack && (jsx(IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
33
+ const backButton = onClickBack && (jsx(IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsx(SvgArrowLeft, {}) }));
34
34
  const titleCopyKey = useMemo(() => isValid
35
35
  ? 'dyn_otp_verification.verification_succeeded'
36
36
  : 'dyn_otp_verification.confirm_code', [isValid]);
@@ -163,10 +163,15 @@ const authMfaRecovery = (_j) => _tslib.__awaiter(void 0, [_j], void 0, function*
163
163
  });
164
164
  return response;
165
165
  }
166
- catch (e) {
167
- const data = yield e.json();
168
- logger.logger.error(data.error);
169
- return undefined;
166
+ catch (error) {
167
+ logger.logger.error(error);
168
+ if (error instanceof Response) {
169
+ const responseError = yield error.json();
170
+ if (responseError.code === 'mfa_invalid_code') {
171
+ throw new utils.MfaInvalidOtpError();
172
+ }
173
+ }
174
+ throw error;
170
175
  }
171
176
  });
172
177
 
@@ -159,10 +159,15 @@ const authMfaRecovery = (_j) => __awaiter(void 0, [_j], void 0, function* ({ env
159
159
  });
160
160
  return response;
161
161
  }
162
- catch (e) {
163
- const data = yield e.json();
164
- logger.error(data.error);
165
- return undefined;
162
+ catch (error) {
163
+ logger.error(error);
164
+ if (error instanceof Response) {
165
+ const responseError = yield error.json();
166
+ if (responseError.code === 'mfa_invalid_code') {
167
+ throw new MfaInvalidOtpError();
168
+ }
169
+ }
170
+ throw error;
166
171
  }
167
172
  });
168
173
 
@@ -858,13 +858,15 @@ const translation = {
858
858
  authenticator_app: 'Authenticator app',
859
859
  authenticator_app_description:
860
860
  'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
861
- sms_code: 'SMS code',
862
- sms_code_description:
863
- 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
861
+ backup_code: 'Backup code',
862
+ backup_code_description:
863
+ 'Enter one of your saved backup codes to authenticate.',
864
+ choose_another_method: 'Choose another method',
865
+ choose_another_method_description: 'Use one of the methods below:',
864
866
  },
865
867
  display_backup_codes_view: {
866
868
  title: 'Back up your codes',
867
- body: 'Backup codes help recover your account if you lose access to your device.',
869
+ body: 'Backup codes help recover your account if you lose access to your device. Each code can be used only 1 time.',
868
870
  warning: 'You won’t be able to see these again',
869
871
  copy_all: 'Copy all',
870
872
  download: 'Download',
@@ -875,6 +877,7 @@ const translation = {
875
877
  title: 'Confirm verification code',
876
878
  body: 'Enter the verification code generated by your authenticator app',
877
879
  error: 'Invalid code. Please try again.',
880
+ choose_another_method: 'Sign in another way',
878
881
  },
879
882
  secure_device_view: {
880
883
  title: 'Secure your account',
@@ -889,12 +892,14 @@ const translation = {
889
892
  select_options: 'Protect your account by adding multi-factor authentication',
890
893
  authenticator_app: 'Authenticator app',
891
894
  authenticator_app_description: 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
892
- sms_code: 'SMS code',
893
- sms_code_description: 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
895
+ backup_code: 'Backup code',
896
+ backup_code_description: 'Enter one of your saved backup codes to authenticate.',
897
+ choose_another_method: 'Choose another method',
898
+ choose_another_method_description: 'Use one of the methods below:',
894
899
  },
895
900
  display_backup_codes_view: {
896
901
  title: 'Back up your codes',
897
- body: 'Backup codes help recover your account if you lose access to your device.',
902
+ body: 'Backup codes help recover your account if you lose access to your device. Each code can be used only 1 time.',
898
903
  warning: 'You won’t be able to see these again',
899
904
  copy_all: 'Copy all',
900
905
  download: 'Download',
@@ -905,6 +910,7 @@ const translation = {
905
910
  title: 'Confirm verification code',
906
911
  body: 'Enter the verification code generated by your authenticator app',
907
912
  error: 'Invalid code. Please try again.',
913
+ choose_another_method: 'Sign in another way',
908
914
  },
909
915
  secure_device_view: {
910
916
  title: 'Secure your account',
@@ -928,7 +934,7 @@ const translation = {
928
934
  },
929
935
  recovery_view: {
930
936
  title: 'Enter your backup code',
931
- body: 'Your backup code is the 24 character code you received when you activated two step authentication',
937
+ body: 'Your backup code is one of the 10 codes you received when you first enrolled in multi-factor authentication',
932
938
  input_label: 'Enter back up code',
933
939
  button_label: 'Continue',
934
940
  get_help: {
@@ -854,13 +854,15 @@ export declare const translation: {
854
854
  authenticator_app: 'Authenticator app',
855
855
  authenticator_app_description:
856
856
  'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
857
- sms_code: 'SMS code',
858
- sms_code_description:
859
- 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
857
+ backup_code: 'Backup code',
858
+ backup_code_description:
859
+ 'Enter one of your saved backup codes to authenticate.',
860
+ choose_another_method: 'Choose another method',
861
+ choose_another_method_description: 'Use one of the methods below:',
860
862
  },
861
863
  display_backup_codes_view: {
862
864
  title: 'Back up your codes',
863
- body: 'Backup codes help recover your account if you lose access to your device.',
865
+ body: 'Backup codes help recover your account if you lose access to your device. Each code can be used only 1 time.',
864
866
  warning: 'You won’t be able to see these again',
865
867
  copy_all: 'Copy all',
866
868
  download: 'Download',
@@ -871,6 +873,7 @@ export declare const translation: {
871
873
  title: 'Confirm verification code',
872
874
  body: 'Enter the verification code generated by your authenticator app',
873
875
  error: 'Invalid code. Please try again.',
876
+ choose_another_method: 'Sign in another way',
874
877
  },
875
878
  secure_device_view: {
876
879
  title: 'Secure your account',
@@ -885,8 +888,10 @@ export declare const translation: {
885
888
  select_options: string;
886
889
  authenticator_app: string;
887
890
  authenticator_app_description: string;
888
- sms_code: string;
889
- sms_code_description: string;
891
+ backup_code: string;
892
+ backup_code_description: string;
893
+ choose_another_method: string;
894
+ choose_another_method_description: string;
890
895
  };
891
896
  display_backup_codes_view: {
892
897
  title: string;
@@ -901,6 +906,7 @@ export declare const translation: {
901
906
  title: string;
902
907
  body: string;
903
908
  error: string;
909
+ choose_another_method: string;
904
910
  };
905
911
  secure_device_view: {
906
912
  title: string;
@@ -854,13 +854,15 @@ const translation = {
854
854
  authenticator_app: 'Authenticator app',
855
855
  authenticator_app_description:
856
856
  'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
857
- sms_code: 'SMS code',
858
- sms_code_description:
859
- 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
857
+ backup_code: 'Backup code',
858
+ backup_code_description:
859
+ 'Enter one of your saved backup codes to authenticate.',
860
+ choose_another_method: 'Choose another method',
861
+ choose_another_method_description: 'Use one of the methods below:',
860
862
  },
861
863
  display_backup_codes_view: {
862
864
  title: 'Back up your codes',
863
- body: 'Backup codes help recover your account if you lose access to your device.',
865
+ body: 'Backup codes help recover your account if you lose access to your device. Each code can be used only 1 time.',
864
866
  warning: 'You won’t be able to see these again',
865
867
  copy_all: 'Copy all',
866
868
  download: 'Download',
@@ -871,6 +873,7 @@ const translation = {
871
873
  title: 'Confirm verification code',
872
874
  body: 'Enter the verification code generated by your authenticator app',
873
875
  error: 'Invalid code. Please try again.',
876
+ choose_another_method: 'Sign in another way',
874
877
  },
875
878
  secure_device_view: {
876
879
  title: 'Secure your account',
@@ -885,12 +888,14 @@ const translation = {
885
888
  select_options: 'Protect your account by adding multi-factor authentication',
886
889
  authenticator_app: 'Authenticator app',
887
890
  authenticator_app_description: 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
888
- sms_code: 'SMS code',
889
- sms_code_description: 'Use your preferred authenticator app such as Authy, Google Authenticator, etc.',
891
+ backup_code: 'Backup code',
892
+ backup_code_description: 'Enter one of your saved backup codes to authenticate.',
893
+ choose_another_method: 'Choose another method',
894
+ choose_another_method_description: 'Use one of the methods below:',
890
895
  },
891
896
  display_backup_codes_view: {
892
897
  title: 'Back up your codes',
893
- body: 'Backup codes help recover your account if you lose access to your device.',
898
+ body: 'Backup codes help recover your account if you lose access to your device. Each code can be used only 1 time.',
894
899
  warning: 'You won’t be able to see these again',
895
900
  copy_all: 'Copy all',
896
901
  download: 'Download',
@@ -901,6 +906,7 @@ const translation = {
901
906
  title: 'Confirm verification code',
902
907
  body: 'Enter the verification code generated by your authenticator app',
903
908
  error: 'Invalid code. Please try again.',
909
+ choose_another_method: 'Sign in another way',
904
910
  },
905
911
  secure_device_view: {
906
912
  title: 'Secure your account',
@@ -924,7 +930,7 @@ const translation = {
924
930
  },
925
931
  recovery_view: {
926
932
  title: 'Enter your backup code',
927
- body: 'Your backup code is the 24 character code you received when you activated two step authentication',
933
+ body: 'Your backup code is one of the 10 codes you received when you first enrolled in multi-factor authentication',
928
934
  input_label: 'Enter back up code',
929
935
  button_label: 'Continue',
930
936
  get_help: {