@dynamic-labs/sdk-react-core 2.1.0-alpha.17 → 2.1.0-alpha.19

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 (99) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -13
  5. package/src/lib/components/MfaRecoveryIcon/MfaRecoveryIcon.cjs +15 -0
  6. package/src/lib/components/MfaRecoveryIcon/MfaRecoveryIcon.d.ts +2 -0
  7. package/src/lib/components/MfaRecoveryIcon/MfaRecoveryIcon.js +11 -0
  8. package/src/lib/components/MfaRecoveryIcon/index.d.ts +1 -0
  9. package/src/lib/components/Portal/Portal.cjs +0 -1
  10. package/src/lib/components/Portal/Portal.js +0 -1
  11. package/src/lib/components/SocialSignIn/SocialSignIn.cjs +5 -2
  12. package/src/lib/components/SocialSignIn/SocialSignIn.js +5 -2
  13. package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.cjs +16 -28
  14. package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.js +16 -28
  15. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +1 -1
  16. package/src/lib/components/index.d.ts +1 -0
  17. package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -1
  18. package/src/lib/context/DynamicContext/DynamicContext.js +1 -1
  19. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.cjs +4 -5
  20. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.d.ts +3 -2
  21. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.js +4 -5
  22. package/src/lib/context/PasskeyContext/PasskeyContext.cjs +1 -1
  23. package/src/lib/context/PasskeyContext/PasskeyContext.js +2 -2
  24. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  25. package/src/lib/data/api/api.cjs +2 -2
  26. package/src/lib/data/api/api.js +2 -2
  27. package/src/lib/data/api/user/user.cjs +3 -0
  28. package/src/lib/data/api/user/user.js +4 -1
  29. package/src/lib/locale/en/translation.cjs +38 -21
  30. package/src/lib/locale/en/translation.d.ts +38 -21
  31. package/src/lib/locale/en/translation.js +38 -21
  32. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +19 -2
  33. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +19 -2
  34. package/src/lib/shared/assets/index.d.ts +1 -0
  35. package/src/lib/shared/assets/mfa-recovery-icon.cjs +54 -0
  36. package/src/lib/shared/assets/mfa-recovery-icon.js +30 -0
  37. package/src/lib/shared/utils/functions/lastAuthenticatedAccount/index.d.ts +2 -2
  38. package/src/lib/shared/utils/functions/wallet/createWallet.d.ts +4 -0
  39. package/src/lib/styles/index.shadow.cjs +1 -1
  40. package/src/lib/styles/index.shadow.js +1 -1
  41. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -1
  42. package/src/lib/utils/functions/createUserProfile/createUserProfile.d.ts +2 -1
  43. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -1
  44. package/src/lib/utils/functions/getEnabledSocialSignInProvidersAsProviderEnum/getEnabledSocialSignInProvidersAsProviderEnum.cjs +21 -0
  45. package/src/lib/utils/functions/getEnabledSocialSignInProvidersAsProviderEnum/getEnabledSocialSignInProvidersAsProviderEnum.js +17 -0
  46. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.cjs +6 -3
  47. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.d.ts +2 -1
  48. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.js +7 -4
  49. package/src/lib/utils/functions/validateMfaRecoveryCode/index.d.ts +1 -0
  50. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.cjs +11 -0
  51. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.d.ts +1 -0
  52. package/src/lib/utils/functions/validateMfaRecoveryCode/validateMfaRecoveryCode.js +7 -0
  53. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +5 -3
  54. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +5 -3
  55. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  56. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  57. package/src/lib/utils/hooks/useDynamicModals/useDynamicModals.cjs +10 -1
  58. package/src/lib/utils/hooks/useDynamicModals/useDynamicModals.d.ts +5 -0
  59. package/src/lib/utils/hooks/useDynamicModals/useDynamicModals.js +10 -1
  60. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +21 -1
  61. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -0
  62. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +21 -1
  63. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.cjs +1 -0
  64. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.js +1 -0
  65. package/src/lib/utils/hooks/useMfaModals/index.d.ts +1 -0
  66. package/src/lib/utils/hooks/useMfaModals/useMfaModals.cjs +131 -0
  67. package/src/lib/utils/hooks/useMfaModals/useMfaModals.d.ts +8 -0
  68. package/src/lib/utils/hooks/useMfaModals/useMfaModals.js +127 -0
  69. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +24 -3
  70. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +1 -0
  71. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +24 -3
  72. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +8 -4
  73. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +3 -3
  74. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +8 -4
  75. package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +42 -35
  76. package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +43 -36
  77. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +7 -2
  78. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +7 -2
  79. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -10
  80. package/src/lib/views/EmailVerification/EmailVerification.js +1 -10
  81. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.cjs +1 -1
  82. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.js +1 -1
  83. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +5 -2
  84. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +5 -2
  85. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.cjs +116 -0
  86. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.d.ts +2 -0
  87. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.js +112 -0
  88. package/src/lib/views/MfaRecoveryView/index.d.ts +1 -0
  89. package/src/lib/views/viewToComponentMap.cjs +2 -2
  90. package/src/lib/views/viewToComponentMap.d.ts +2 -2
  91. package/src/lib/views/viewToComponentMap.js +2 -2
  92. package/src/lib/widgets/DynamicBridgeWidget/views/ProfileView/ProfileView.cjs +5 -1
  93. package/src/lib/widgets/DynamicBridgeWidget/views/ProfileView/ProfileView.js +5 -1
  94. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +3 -3
  95. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +3 -3
  96. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +0 -131
  97. package/src/lib/views/EmailUpdate/EmailUpdate.d.ts +0 -2
  98. package/src/lib/views/EmailUpdate/EmailUpdate.js +0 -127
  99. package/src/lib/views/EmailUpdate/index.d.ts +0 -1
@@ -52,8 +52,7 @@ import '../../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.j
52
52
  import '../../../../context/SocialRedirectContext/SocialRedirectContext.js';
53
53
  import '../../../../context/WalletGroupContext/WalletGroupContext.js';
54
54
  import '../../components/DynamicWidgetHeader/DynamicWidgetHeader.js';
55
- import { Modal } from '../../../../components/Modal/Modal.js';
56
- import 'react-focus-lock';
55
+ import { PromptModal } from '../../components/PromptModal/PromptModal.js';
57
56
  import { WidgetPortal } from '../../components/WidgetPortal/WidgetPortal.js';
58
57
  import { useCloseMultiWalletPrompt } from '../../hooks/useCloseMultiWalletPrompt/useCloseMultiWalletPrompt.js';
59
58
  import { DefaultPromptLayout } from '../DefaultPromptModal/DefaultPromptModal.js';
@@ -72,6 +71,7 @@ import '../../../../components/InlineWidget/InlineWidget.js';
72
71
  import '../../../../components/IsBrowser/IsBrowser.js';
73
72
  import '../../../../components/Popper/Popper/Popper.js';
74
73
  import '../../../../components/Popper/PopperContext/PopperContext.js';
74
+ import 'react-focus-lock';
75
75
  import 'qrcode';
76
76
  import '../../../../views/WalletList/WalletList.js';
77
77
  import '../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
@@ -95,7 +95,7 @@ const PendingConnectionContent = () => {
95
95
  return (jsx(DefaultPromptLayout, { dataTestId: 'pending-connection-modal', icon: jsx(AuthProviderIcon // eslint-disable-line
96
96
  , { jwt: authToken, wallet: selectedWalletWithAction === null || selectedWalletWithAction === void 0 ? void 0 : selectedWalletWithAction.wallet }), title: title, children: jsx(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: description }) }));
97
97
  };
98
- const PendingConnectionModal = () => (jsx(Modal, { children: jsx(PendingConnectionContent, {}) }));
98
+ const PendingConnectionModal = () => (jsx(PromptModal, { onClose: useCloseMultiWalletPrompt, children: jsx(PendingConnectionContent, {}) }));
99
99
  const PendingConnectionWidgetPortal = () => (jsx(WidgetPortal, { onClose: useCloseMultiWalletPrompt(), children: jsx(PendingConnectionContent, {}) }));
100
100
 
101
101
  export { PendingConnectionModal, PendingConnectionWidgetPortal };
@@ -1,131 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var _tslib = require('../../../../_virtual/_tslib.cjs');
7
- var jsxRuntime = require('react/jsx-runtime');
8
- var React = require('react');
9
- var reactI18next = require('react-i18next');
10
- var utils = require('@dynamic-labs/utils');
11
- require('../../events/dynamicEvents.cjs');
12
- require('../../context/DynamicContext/DynamicContext.cjs');
13
- require('@dynamic-labs/sdk-api-core');
14
- var logger = require('../../shared/logger.cjs');
15
- require('@dynamic-labs/iconic');
16
- require('@dynamic-labs/wallet-connector-core');
17
- var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
18
- var chevronLeft = require('../../shared/assets/chevron-left.cjs');
19
- require('@dynamic-labs/wallet-book');
20
- require('../../utils/constants/colors.cjs');
21
- require('../../utils/constants/values.cjs');
22
- require('../../shared/utils/classes/storage/localStorage.cjs');
23
- require('../../shared/consts/index.cjs');
24
- var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
25
- require('../../context/CaptchaContext/CaptchaContext.cjs');
26
- var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
27
- require('@dynamic-labs/multi-wallet');
28
- require('react-international-phone');
29
- require('viem');
30
- require('viem/chains');
31
- require('../../config/ApiEndpoint.cjs');
32
- require('../../locale/locale.cjs');
33
- var user = require('../../data/api/user/user.cjs');
34
- require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
- require('../../context/AccountExistsContext/AccountExistsContext.cjs');
36
- require('../../context/UserWalletsContext/UserWalletsContext.cjs');
37
- var VerificationContext = require('../../context/VerificationContext/VerificationContext.cjs');
38
- require('react-dom');
39
- require('../../context/WalletContext/WalletContext.cjs');
40
- require('../../context/ThemeContext/ThemeContext.cjs');
41
- require('@dynamic-labs/types');
42
- var LoadingContext = require('../../context/LoadingContext/LoadingContext.cjs');
43
- require('yup');
44
- require('../../context/MockContext/MockContext.cjs');
45
- require('../../context/FieldsStateContext/FieldsStateContext.cjs');
46
- require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
47
- require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
48
- require('@dynamic-labs/rpc-providers');
49
- var Typography = require('../../components/Typography/Typography.cjs');
50
- require('../../context/FooterAnimationContext/index.cjs');
51
- require('../../components/ShadowDOM/ShadowDOM.cjs');
52
- require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
53
- require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
54
- require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
55
- require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
56
- require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
57
- require('../../context/WalletGroupContext/WalletGroupContext.cjs');
58
- require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
59
- require('react-focus-lock');
60
- require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
61
- var IconButton = require('../../components/IconButton/IconButton.cjs');
62
- require('../../components/MenuList/Dropdown/Dropdown.cjs');
63
- require('formik');
64
- var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
65
- require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
66
- var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
67
- require('../../components/Alert/Alert.cjs');
68
- var Input = require('../../components/Input/Input.cjs');
69
- require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
70
- require('../../context/PasskeyContext/PasskeyContext.cjs');
71
- require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
72
- require('../../components/InlineWidget/InlineWidget.cjs');
73
- require('../../components/IsBrowser/IsBrowser.cjs');
74
- require('../../components/Popper/Popper/Popper.cjs');
75
- require('../../components/Popper/PopperContext/PopperContext.cjs');
76
- require('qrcode');
77
- require('../WalletList/WalletList.cjs');
78
- require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
79
- require('@hcaptcha/react-hcaptcha');
80
- require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
81
-
82
- const EmailUpdate = () => {
83
- const [updatedEmail, setUpdatedEmail] = React.useState('');
84
- const { setError, setErrorMessage } = ErrorContext.useErrorContext();
85
- const { loading, setLoading } = LoadingContext.useLoadingContext();
86
- const { setView, goToInitialView } = ViewContext.useViewContext();
87
- const { displayedDestination: email, setDisplayedDestination: setEmail, setVerificationUUID, } = VerificationContext.useVerification();
88
- const { environmentId, handleLogOut } = useInternalDynamicContext.useInternalDynamicContext();
89
- const { t } = reactI18next.useTranslation();
90
- const [emailError, setEmailError] = React.useState(undefined);
91
- const handleBackClick = () => {
92
- setView('verify-email');
93
- setError(undefined);
94
- };
95
- const backButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) }));
96
- const handleEmailUpdate = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
97
- try {
98
- if (!updatedEmail) {
99
- return;
100
- }
101
- setEmailError(undefined);
102
- setLoading(true);
103
- const { emailVerification } = yield user.updateUserProfileFields(environmentId, { email: updatedEmail });
104
- if (!emailVerification) {
105
- yield handleLogOut();
106
- goToInitialView();
107
- return;
108
- }
109
- setError(undefined);
110
- setView('verify-email');
111
- setEmail(emailVerification.email);
112
- setVerificationUUID(emailVerification.verificationUUID);
113
- }
114
- catch (error) {
115
- logger.logger.debug(error);
116
- if (error instanceof utils.EmailAlreadyExistsError) {
117
- setEmailError('Email already exists');
118
- return;
119
- }
120
- setErrorMessage(error.code);
121
- }
122
- finally {
123
- setLoading(false);
124
- }
125
- });
126
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: backButton, displayLeading: true, displayBorder: true, children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', copykey: 'dyn_email_update.title', children: t('dyn_email_update.title') }) }), jsxRuntime.jsxs("div", { className: 'email-update__container', children: [jsxRuntime.jsxs("div", { className: 'email-update__copy-text-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_email_update.current_email', children: t('dyn_email_update.current_email') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'bold', color: 'secondary', children: email })] }), jsxRuntime.jsx(Input.Input, { id: 'email_field', onChange: (e) => {
127
- setUpdatedEmail(e.target.value);
128
- }, type: 'email', copykey: 'dyn_email_update.label', label: t('dyn_email_update.label'), className: 'email-update__input', error: Boolean(emailError), message: emailError }), jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonVariant: 'primary', buttonPadding: 'medium', buttonClassName: 'email-update__button', onClick: () => handleEmailUpdate(), loading: loading, copykey: 'dyn_email_update.send_verification', children: t('dyn_email_update.send_verification') })] })] }));
129
- };
130
-
131
- exports.EmailUpdate = EmailUpdate;
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const EmailUpdate: () => JSX.Element;
@@ -1,127 +0,0 @@
1
- 'use client'
2
- import { __awaiter } from '../../../../_virtual/_tslib.js';
3
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
- import { useState } from 'react';
5
- import { useTranslation } from 'react-i18next';
6
- import { EmailAlreadyExistsError } from '@dynamic-labs/utils';
7
- import '../../events/dynamicEvents.js';
8
- import '../../context/DynamicContext/DynamicContext.js';
9
- import '@dynamic-labs/sdk-api-core';
10
- import { logger } from '../../shared/logger.js';
11
- import '@dynamic-labs/iconic';
12
- import '@dynamic-labs/wallet-connector-core';
13
- import { useViewContext } from '../../context/ViewContext/ViewContext.js';
14
- import { ReactComponent as SvgChevronLeft } from '../../shared/assets/chevron-left.js';
15
- import '@dynamic-labs/wallet-book';
16
- import '../../utils/constants/colors.js';
17
- import '../../utils/constants/values.js';
18
- import '../../shared/utils/classes/storage/localStorage.js';
19
- import '../../shared/consts/index.js';
20
- import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
21
- import '../../context/CaptchaContext/CaptchaContext.js';
22
- import { useErrorContext } from '../../context/ErrorContext/ErrorContext.js';
23
- import '@dynamic-labs/multi-wallet';
24
- import 'react-international-phone';
25
- import 'viem';
26
- import 'viem/chains';
27
- import '../../config/ApiEndpoint.js';
28
- import '../../locale/locale.js';
29
- import { updateUserProfileFields } from '../../data/api/user/user.js';
30
- import '../../context/AccessDeniedContext/AccessDeniedContext.js';
31
- import '../../context/AccountExistsContext/AccountExistsContext.js';
32
- import '../../context/UserWalletsContext/UserWalletsContext.js';
33
- import { useVerification } from '../../context/VerificationContext/VerificationContext.js';
34
- import 'react-dom';
35
- import '../../context/WalletContext/WalletContext.js';
36
- import '../../context/ThemeContext/ThemeContext.js';
37
- import '@dynamic-labs/types';
38
- import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.js';
39
- import 'yup';
40
- import '../../context/MockContext/MockContext.js';
41
- import '../../context/FieldsStateContext/FieldsStateContext.js';
42
- import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
43
- import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
44
- import '@dynamic-labs/rpc-providers';
45
- import { Typography } from '../../components/Typography/Typography.js';
46
- import '../../context/FooterAnimationContext/index.js';
47
- import '../../components/ShadowDOM/ShadowDOM.js';
48
- import '../../components/Transition/ZoomTransition/ZoomTransition.js';
49
- import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
50
- import '../../components/Transition/OpacityTransition/OpacityTransition.js';
51
- import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
52
- import '../../context/SocialRedirectContext/SocialRedirectContext.js';
53
- import '../../context/WalletGroupContext/WalletGroupContext.js';
54
- import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
55
- import 'react-focus-lock';
56
- import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
57
- import { IconButton } from '../../components/IconButton/IconButton.js';
58
- import '../../components/MenuList/Dropdown/Dropdown.js';
59
- import 'formik';
60
- import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
61
- import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
62
- import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
63
- import '../../components/Alert/Alert.js';
64
- import { Input } from '../../components/Input/Input.js';
65
- import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
66
- import '../../context/PasskeyContext/PasskeyContext.js';
67
- import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
68
- import '../../components/InlineWidget/InlineWidget.js';
69
- import '../../components/IsBrowser/IsBrowser.js';
70
- import '../../components/Popper/Popper/Popper.js';
71
- import '../../components/Popper/PopperContext/PopperContext.js';
72
- import 'qrcode';
73
- import '../WalletList/WalletList.js';
74
- import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
75
- import '@hcaptcha/react-hcaptcha';
76
- import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
77
-
78
- const EmailUpdate = () => {
79
- const [updatedEmail, setUpdatedEmail] = useState('');
80
- const { setError, setErrorMessage } = useErrorContext();
81
- const { loading, setLoading } = useLoadingContext();
82
- const { setView, goToInitialView } = useViewContext();
83
- const { displayedDestination: email, setDisplayedDestination: setEmail, setVerificationUUID, } = useVerification();
84
- const { environmentId, handleLogOut } = useInternalDynamicContext();
85
- const { t } = useTranslation();
86
- const [emailError, setEmailError] = useState(undefined);
87
- const handleBackClick = () => {
88
- setView('verify-email');
89
- setError(undefined);
90
- };
91
- const backButton = (jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
92
- const handleEmailUpdate = () => __awaiter(void 0, void 0, void 0, function* () {
93
- try {
94
- if (!updatedEmail) {
95
- return;
96
- }
97
- setEmailError(undefined);
98
- setLoading(true);
99
- const { emailVerification } = yield updateUserProfileFields(environmentId, { email: updatedEmail });
100
- if (!emailVerification) {
101
- yield handleLogOut();
102
- goToInitialView();
103
- return;
104
- }
105
- setError(undefined);
106
- setView('verify-email');
107
- setEmail(emailVerification.email);
108
- setVerificationUUID(emailVerification.verificationUUID);
109
- }
110
- catch (error) {
111
- logger.debug(error);
112
- if (error instanceof EmailAlreadyExistsError) {
113
- setEmailError('Email already exists');
114
- return;
115
- }
116
- setErrorMessage(error.code);
117
- }
118
- finally {
119
- setLoading(false);
120
- }
121
- });
122
- return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: backButton, displayLeading: true, displayBorder: true, children: jsx(Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', copykey: 'dyn_email_update.title', children: t('dyn_email_update.title') }) }), jsxs("div", { className: 'email-update__container', children: [jsxs("div", { className: 'email-update__copy-text-container', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_email_update.current_email', children: t('dyn_email_update.current_email') }), jsx(Typography, { variant: 'body_normal', weight: 'bold', color: 'secondary', children: email })] }), jsx(Input, { id: 'email_field', onChange: (e) => {
123
- setUpdatedEmail(e.target.value);
124
- }, type: 'email', copykey: 'dyn_email_update.label', label: t('dyn_email_update.label'), className: 'email-update__input', error: Boolean(emailError), message: emailError }), jsx(TypographyButton, { buttonVariant: 'primary', buttonPadding: 'medium', buttonClassName: 'email-update__button', onClick: () => handleEmailUpdate(), loading: loading, copykey: 'dyn_email_update.send_verification', children: t('dyn_email_update.send_verification') })] })] }));
125
- };
126
-
127
- export { EmailUpdate };
@@ -1 +0,0 @@
1
- export { EmailUpdate } from './EmailUpdate';