@dynamic-labs/sdk-react-core 3.0.0-alpha.37 → 3.0.0-alpha.39

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 (178) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  6. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  7. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.cjs +1 -1
  8. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.js +1 -1
  9. package/src/lib/components/UserProfile/UserProfile.cjs +3 -2
  10. package/src/lib/components/UserProfile/UserProfile.js +3 -2
  11. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.cjs +112 -0
  12. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.d.ts +2 -0
  13. package/src/lib/components/UserProfile/parts/EditProfileButton/EditProfileButton.js +108 -0
  14. package/src/lib/components/UserProfile/parts/EditProfileButton/index.d.ts +1 -0
  15. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -1
  16. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.d.ts +2 -1
  17. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +2 -2
  18. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -1
  19. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -1
  20. package/src/lib/components/index.d.ts +1 -1
  21. package/src/lib/context/CaptchaContext/CaptchaContext.cjs +22 -12
  22. package/src/lib/context/CaptchaContext/CaptchaContext.d.ts +1 -4
  23. package/src/lib/context/CaptchaContext/CaptchaContext.js +23 -12
  24. package/src/lib/data/api/mfa/mfa.cjs +2 -1
  25. package/src/lib/data/api/mfa/mfa.d.ts +2 -1
  26. package/src/lib/data/api/mfa/mfa.js +2 -1
  27. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.cjs +41 -3
  28. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.js +42 -4
  29. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -1
  30. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -1
  31. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -1
  32. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -1
  33. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -1
  34. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -1
  35. package/src/lib/locale/en/translation.cjs +39 -7
  36. package/src/lib/locale/en/translation.d.ts +37 -5
  37. package/src/lib/locale/en/translation.js +39 -7
  38. package/src/lib/shared/assets/authenticator.cjs +54 -0
  39. package/src/lib/shared/assets/authenticator.js +30 -0
  40. package/src/lib/shared/assets/currency.cjs +70 -0
  41. package/src/lib/shared/assets/currency.js +46 -0
  42. package/src/lib/shared/assets/index.d.ts +9 -0
  43. package/src/lib/shared/assets/profile-outline.cjs +54 -0
  44. package/src/lib/shared/assets/profile-outline.js +30 -0
  45. package/src/lib/shared/assets/profile.cjs +65 -0
  46. package/src/lib/shared/assets/profile.js +41 -0
  47. package/src/lib/shared/assets/settings-outline.cjs +54 -0
  48. package/src/lib/shared/assets/settings-outline.js +30 -0
  49. package/src/lib/shared/assets/settings.cjs +54 -0
  50. package/src/lib/shared/assets/settings.js +30 -0
  51. package/src/lib/shared/assets/shield.cjs +59 -0
  52. package/src/lib/shared/assets/shield.js +35 -0
  53. package/src/lib/shared/assets/wallet-outline-v2.cjs +54 -0
  54. package/src/lib/shared/assets/wallet-outline-v2.js +30 -0
  55. package/src/lib/shared/assets/wallet.cjs +52 -0
  56. package/src/lib/shared/assets/wallet.js +28 -0
  57. package/src/lib/styles/index.shadow.cjs +1 -1
  58. package/src/lib/styles/index.shadow.js +1 -1
  59. package/src/lib/utils/constants/localStorage.cjs +2 -0
  60. package/src/lib/utils/constants/localStorage.d.ts +1 -0
  61. package/src/lib/utils/constants/localStorage.js +2 -1
  62. package/src/lib/utils/hooks/useMfa/useMfa.cjs +2 -1
  63. package/src/lib/utils/hooks/useMfa/useMfa.d.ts +1 -1
  64. package/src/lib/utils/hooks/useMfa/useMfa.js +2 -1
  65. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
  66. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
  67. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +2 -1
  68. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +2 -1
  69. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -1
  70. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -1
  71. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.cjs +1 -1
  72. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.js +1 -1
  73. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
  74. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
  75. package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.cjs +1 -1
  76. package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.js +1 -1
  77. package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.cjs +1 -1
  78. package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.js +1 -1
  79. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +1 -1
  80. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +1 -1
  81. package/src/lib/views/EnterPasswordView/EnterPasswordView.cjs +1 -1
  82. package/src/lib/views/EnterPasswordView/EnterPasswordView.js +1 -1
  83. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.cjs +1 -4
  84. package/src/lib/views/FarcasterQrCodeView/FarcasterQrCodeView.js +1 -4
  85. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs +1 -1
  86. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js +1 -1
  87. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +3 -1
  88. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +3 -1
  89. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +1 -2
  90. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +1 -2
  91. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +1 -1
  92. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +1 -1
  93. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +1 -1
  94. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +1 -1
  95. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +1 -1
  96. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +1 -1
  97. package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.cjs +1 -1
  98. package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.js +1 -1
  99. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.cjs +1 -1
  100. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.js +1 -1
  101. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.cjs +2 -2
  102. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.js +2 -2
  103. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +15 -15
  104. package/src/lib/views/MfaVerificationView/MfaVerificationView.d.ts +2 -1
  105. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +15 -15
  106. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  107. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  108. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.cjs +1 -1
  109. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.js +1 -1
  110. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.cjs +1 -1
  111. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.js +1 -1
  112. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +1 -1
  113. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +1 -1
  114. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
  115. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
  116. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +1 -1
  117. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +1 -1
  118. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.cjs +1 -1
  119. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.js +1 -1
  120. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -1
  121. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -1
  122. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +1 -1
  123. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +1 -1
  124. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +1 -1
  125. package/src/lib/views/WalletLockedView/WalletLockedView.js +1 -1
  126. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -1
  127. package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -1
  128. package/src/lib/views/viewToComponentMap.d.ts +1 -1
  129. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -1
  130. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -1
  131. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  132. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  133. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.cjs +16 -0
  134. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.d.ts +13 -0
  135. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/BottomNavBar.js +12 -0
  136. package/src/lib/widgets/DynamicWidget/components/BottomNavBar/index.d.ts +1 -0
  137. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +23 -45
  138. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +24 -46
  139. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +1 -1
  140. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +1 -1
  141. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.cjs +4 -2
  142. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.js +4 -2
  143. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +14 -3
  144. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +14 -3
  145. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -1
  146. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -1
  147. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +15 -0
  148. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +15 -0
  149. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.cjs +2 -2
  150. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +6 -3
  151. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.js +2 -2
  152. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -1
  153. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -1
  154. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -1
  155. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -1
  156. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +1 -1
  157. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +1 -1
  158. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.cjs +128 -0
  159. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.d.ts +4 -0
  160. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.js +123 -0
  161. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.cjs +109 -0
  162. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.d.ts +8 -0
  163. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/UserDeviceTile.js +105 -0
  164. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/components/index.d.ts +1 -0
  165. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/index.d.ts +1 -0
  166. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +2 -2
  167. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +2 -2
  168. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -105
  169. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +2 -106
  170. package/src/lib/widgets/DynamicWidget/views/{WalletSettingsView/WalletSettingsView.cjs → SettingsView/SettingsView.cjs} +35 -25
  171. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.d.ts +2 -0
  172. package/src/lib/widgets/DynamicWidget/views/{WalletSettingsView/WalletSettingsView.js → SettingsView/SettingsView.js} +36 -26
  173. package/src/lib/widgets/DynamicWidget/views/SettingsView/index.d.ts +1 -0
  174. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -15
  175. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -15
  176. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -1
  177. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.d.ts +0 -2
  178. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/index.d.ts +0 -1
@@ -5,111 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var UserProfile = require('../../../../components/UserProfile/UserProfile.cjs');
8
- var DynamicWidgetFooter = require('../../components/DynamicWidgetFooter/DynamicWidgetFooter.cjs');
9
- var classNames = require('../../../../utils/functions/classNames/classNames.cjs');
10
- require('../../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
11
- require('../../../../components/Alert/Alert.cjs');
12
- require('react');
13
- require('../../../../events/dynamicEvents.cjs');
14
- require('../../../../../../_virtual/_tslib.cjs');
15
- require('@dynamic-labs/utils');
16
- require('../../../../context/DynamicContext/DynamicContext.cjs');
17
- require('@dynamic-labs/sdk-api-core');
18
- require('../../../../shared/logger.cjs');
19
- require('@dynamic-labs/iconic');
20
- require('@dynamic-labs/wallet-connector-core');
21
- require('../../../../context/ViewContext/ViewContext.cjs');
22
- var pencil = require('../../../../shared/assets/pencil.cjs');
23
- require('@dynamic-labs/wallet-book');
24
- require('../../../../utils/constants/colors.cjs');
25
- require('../../../../utils/constants/values.cjs');
26
- require('../../../../shared/utils/classes/storage/localStorage.cjs');
27
- require('../../../../shared/utils/classes/storage/sessionStorage.cjs');
28
- require('../../../../shared/consts/index.cjs');
29
- var useInternalDynamicContext = require('../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
30
- require('../../../../context/CaptchaContext/CaptchaContext.cjs');
31
- require('../../../../context/ErrorContext/ErrorContext.cjs');
32
- require('@dynamic-labs/multi-wallet');
33
- require('react-international-phone');
34
- require('../../../../config/ApiEndpoint.cjs');
35
- require('@dynamic-labs/store');
36
- require('../../../../locale/locale.cjs');
37
- var getUserProfileFields = require('../../../../utils/functions/getUserProfileFields/getUserProfileFields.cjs');
38
- require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
39
- require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
40
- require('../../../../context/UserWalletsContext/UserWalletsContext.cjs');
41
- require('../../../../context/VerificationContext/VerificationContext.cjs');
42
- require('react-dom');
43
- require('../../../../context/WalletContext/WalletContext.cjs');
44
- require('../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
45
- require('../../../../context/ThemeContext/ThemeContext.cjs');
46
- require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
47
- require('@dynamic-labs/types');
48
- require('../../../../context/LoadingContext/LoadingContext.cjs');
49
- require('yup');
50
- require('../../../../context/MockContext/MockContext.cjs');
51
- require('../../../../views/CollectUserDataView/useFields.cjs');
52
- require('../../../../context/FieldsStateContext/FieldsStateContext.cjs');
53
- require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
54
- require('@dynamic-labs/rpc-providers');
55
- require('react-i18next');
56
- require('../../../../context/FooterAnimationContext/index.cjs');
57
- require('../../../../components/ShadowDOM/ShadowDOM.cjs');
58
- require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
59
- require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
60
- require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
61
- require('../../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
62
- require('../../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
63
- require('../../../../context/WalletGroupContext/WalletGroupContext.cjs');
64
- require('../../components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
65
- require('react-focus-lock');
66
- var DynamicWidgetContext = require('../../context/DynamicWidgetContext.cjs');
67
- require('../../../../components/IconButton/IconButton.cjs');
68
- require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
69
- require('formik');
70
- var TypographyButton = require('../../../../components/TypographyButton/TypographyButton.cjs');
71
- require('../../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
72
- require('../../../../components/Input/Input.cjs');
73
- require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
74
- require('../../../../context/PasskeyContext/PasskeyContext.cjs');
75
- require('../ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
76
- require('../../../../../polyfills.cjs');
77
- require('../../../../context/ErrorBoundary/ErrorBoundaryBase.cjs');
78
- require('../../../../context/ErrorBoundary/ErrorBoundaryContext.cjs');
79
- require('../../../DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.cjs');
80
- require('../../components/DynamicWidgetCard/DynamicWidgetCard.cjs');
81
- require('../../../../components/IsBrowser/IsBrowser.cjs');
82
- require('../../../../context/WidgetRegistry/WidgetRegistryContextProvider.cjs');
83
- require('../../../../context/FundingContext/FundingContext.cjs');
84
- require('../../../../components/Popper/Popper/Popper.cjs');
85
- require('../../../../components/Popper/PopperContext/PopperContext.cjs');
86
- require('../../../../views/WalletList/WalletList.cjs');
87
- require('../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
88
- require('@hcaptcha/react-hcaptcha');
89
- require('../../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
90
- require('../../../../context/SendBalanceContext/SendBalanceContext.cjs');
91
- require('../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
92
- require('../../../../context/ConnectWithOtpContext/constants.cjs');
93
- require('../../../../context/ReinitializeContext/ReinitializeContextProvider.cjs');
94
- require('../../../../components/InlineWidget/InlineWidget.cjs');
95
- var LogoutButton = require('../../../../components/LogoutButton/LogoutButton.cjs');
96
- require('qrcode');
97
8
 
98
- const ProfileView = () => {
99
- var _a, _b;
100
- const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
101
- const { projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
102
- // Allow to navigate to edit profile view when there are fields what can be edited
103
- const editableUserFields = getUserProfileFields.getEditableUserProfileFields([
104
- ...((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.kyc) !== null && _a !== void 0 ? _a : []),
105
- ...((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.customFields) !== null && _b !== void 0 ? _b : []),
106
- ]);
107
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(UserProfile.UserProfile, { rootClassName: 'profile-view' }), jsxRuntime.jsx(DynamicWidgetFooter.DynamicWidgetFooter, { children: jsxRuntime.jsxs("div", { className: 'profile-view__footer', children: [editableUserFields.length > 0 && (jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonClassName: 'dynamic-widget-footer__button', buttonVariant: 'tertiary', buttonPadding: 'none', typographyProps: {
108
- color: 'secondary',
109
- variant: 'button_tertiary',
110
- }, onClick: () => setDynamicWidgetView('edit-profile'), startSlot: jsxRuntime.jsx(pencil.ReactComponent, {}), children: "Edit profile" })), jsxRuntime.jsx(LogoutButton.LogoutButton, { isTextButton: true, buttonClassName: classNames.classNames('dynamic-widget-footer__button', {
111
- 'dynamic-widget-footer__button-align-right': !(editableUserFields === null || editableUserFields === void 0 ? void 0 : editableUserFields.length),
112
- }) })] }) })] }));
113
- };
9
+ const ProfileView = () => (jsxRuntime.jsx(UserProfile.UserProfile, { rootClassName: 'profile-view' }));
114
10
 
115
11
  exports.ProfileView = ProfileView;
@@ -1,111 +1,7 @@
1
1
  'use client'
2
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { jsx } from 'react/jsx-runtime';
3
3
  import { UserProfile } from '../../../../components/UserProfile/UserProfile.js';
4
- import { DynamicWidgetFooter } from '../../components/DynamicWidgetFooter/DynamicWidgetFooter.js';
5
- import { classNames } from '../../../../utils/functions/classNames/classNames.js';
6
- import '../../../../components/Accordion/components/AccordionItem/AccordionItem.js';
7
- import '../../../../components/Alert/Alert.js';
8
- import 'react';
9
- import '../../../../events/dynamicEvents.js';
10
- import '../../../../../../_virtual/_tslib.js';
11
- import '@dynamic-labs/utils';
12
- import '../../../../context/DynamicContext/DynamicContext.js';
13
- import '@dynamic-labs/sdk-api-core';
14
- import '../../../../shared/logger.js';
15
- import '@dynamic-labs/iconic';
16
- import '@dynamic-labs/wallet-connector-core';
17
- import '../../../../context/ViewContext/ViewContext.js';
18
- import { ReactComponent as SvgPencil } from '../../../../shared/assets/pencil.js';
19
- import '@dynamic-labs/wallet-book';
20
- import '../../../../utils/constants/colors.js';
21
- import '../../../../utils/constants/values.js';
22
- import '../../../../shared/utils/classes/storage/localStorage.js';
23
- import '../../../../shared/utils/classes/storage/sessionStorage.js';
24
- import '../../../../shared/consts/index.js';
25
- import { useInternalDynamicContext } from '../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
26
- import '../../../../context/CaptchaContext/CaptchaContext.js';
27
- import '../../../../context/ErrorContext/ErrorContext.js';
28
- import '@dynamic-labs/multi-wallet';
29
- import 'react-international-phone';
30
- import '../../../../config/ApiEndpoint.js';
31
- import '@dynamic-labs/store';
32
- import '../../../../locale/locale.js';
33
- import { getEditableUserProfileFields } from '../../../../utils/functions/getUserProfileFields/getUserProfileFields.js';
34
- import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
35
- import '../../../../context/AccountExistsContext/AccountExistsContext.js';
36
- import '../../../../context/UserWalletsContext/UserWalletsContext.js';
37
- import '../../../../context/VerificationContext/VerificationContext.js';
38
- import 'react-dom';
39
- import '../../../../context/WalletContext/WalletContext.js';
40
- import '../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
41
- import '../../../../context/ThemeContext/ThemeContext.js';
42
- import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
43
- import '@dynamic-labs/types';
44
- import '../../../../context/LoadingContext/LoadingContext.js';
45
- import 'yup';
46
- import '../../../../context/MockContext/MockContext.js';
47
- import '../../../../views/CollectUserDataView/useFields.js';
48
- import '../../../../context/FieldsStateContext/FieldsStateContext.js';
49
- import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
50
- import '@dynamic-labs/rpc-providers';
51
- import 'react-i18next';
52
- import '../../../../context/FooterAnimationContext/index.js';
53
- import '../../../../components/ShadowDOM/ShadowDOM.js';
54
- import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
55
- import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
56
- import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
57
- import '../../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
58
- import '../../../../context/SocialRedirectContext/SocialRedirectContext.js';
59
- import '../../../../context/WalletGroupContext/WalletGroupContext.js';
60
- import '../../components/DynamicWidgetHeader/DynamicWidgetHeader.js';
61
- import 'react-focus-lock';
62
- import { useWidgetContext } from '../../context/DynamicWidgetContext.js';
63
- import '../../../../components/IconButton/IconButton.js';
64
- import '../../../../components/MenuList/Dropdown/Dropdown.js';
65
- import 'formik';
66
- import { TypographyButton } from '../../../../components/TypographyButton/TypographyButton.js';
67
- import '../../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
68
- import '../../../../components/Input/Input.js';
69
- import '../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
70
- import '../../../../context/PasskeyContext/PasskeyContext.js';
71
- import '../ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
72
- import '../../../../../polyfills.js';
73
- import '../../../../context/ErrorBoundary/ErrorBoundaryBase.js';
74
- import '../../../../context/ErrorBoundary/ErrorBoundaryContext.js';
75
- import '../../../DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.js';
76
- import '../../components/DynamicWidgetCard/DynamicWidgetCard.js';
77
- import '../../../../components/IsBrowser/IsBrowser.js';
78
- import '../../../../context/WidgetRegistry/WidgetRegistryContextProvider.js';
79
- import '../../../../context/FundingContext/FundingContext.js';
80
- import '../../../../components/Popper/Popper/Popper.js';
81
- import '../../../../components/Popper/PopperContext/PopperContext.js';
82
- import '../../../../views/WalletList/WalletList.js';
83
- import '../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
84
- import '@hcaptcha/react-hcaptcha';
85
- import '../../../../context/IpConfigurationContext/IpConfigurationContext.js';
86
- import '../../../../context/SendBalanceContext/SendBalanceContext.js';
87
- import '../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
88
- import '../../../../context/ConnectWithOtpContext/constants.js';
89
- import '../../../../context/ReinitializeContext/ReinitializeContextProvider.js';
90
- import '../../../../components/InlineWidget/InlineWidget.js';
91
- import { LogoutButton } from '../../../../components/LogoutButton/LogoutButton.js';
92
- import 'qrcode';
93
4
 
94
- const ProfileView = () => {
95
- var _a, _b;
96
- const { setDynamicWidgetView } = useWidgetContext();
97
- const { projectSettings } = useInternalDynamicContext();
98
- // Allow to navigate to edit profile view when there are fields what can be edited
99
- const editableUserFields = getEditableUserProfileFields([
100
- ...((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.kyc) !== null && _a !== void 0 ? _a : []),
101
- ...((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.customFields) !== null && _b !== void 0 ? _b : []),
102
- ]);
103
- return (jsxs(Fragment, { children: [jsx(UserProfile, { rootClassName: 'profile-view' }), jsx(DynamicWidgetFooter, { children: jsxs("div", { className: 'profile-view__footer', children: [editableUserFields.length > 0 && (jsx(TypographyButton, { buttonClassName: 'dynamic-widget-footer__button', buttonVariant: 'tertiary', buttonPadding: 'none', typographyProps: {
104
- color: 'secondary',
105
- variant: 'button_tertiary',
106
- }, onClick: () => setDynamicWidgetView('edit-profile'), startSlot: jsx(SvgPencil, {}), children: "Edit profile" })), jsx(LogoutButton, { isTextButton: true, buttonClassName: classNames('dynamic-widget-footer__button', {
107
- 'dynamic-widget-footer__button-align-right': !(editableUserFields === null || editableUserFields === void 0 ? void 0 : editableUserFields.length),
108
- }) })] }) })] }));
109
- };
5
+ const ProfileView = () => (jsx(UserProfile, { rootClassName: 'profile-view' }));
110
6
 
111
7
  export { ProfileView };
@@ -26,7 +26,10 @@ var chevronLeft = require('../../../../shared/assets/chevron-left.cjs');
26
26
  var exportPrivateKey = require('../../../../shared/assets/export-private-key.cjs');
27
27
  var exportRecoveryPhrase = require('../../../../shared/assets/export-recovery-phrase.cjs');
28
28
  var footerInfoIcon = require('../../../../shared/assets/footer-info-icon.cjs');
29
+ var logout = require('../../../../shared/assets/logout.cjs');
29
30
  var signInWithEmail = require('../../../../shared/assets/sign-in-with-email.cjs');
31
+ var currency = require('../../../../shared/assets/currency.cjs');
32
+ var shield = require('../../../../shared/assets/shield.cjs');
30
33
  require('@dynamic-labs/wallet-book');
31
34
  require('../../../../utils/constants/colors.cjs');
32
35
  require('../../../../utils/constants/values.cjs');
@@ -41,6 +44,7 @@ require('react-international-phone');
41
44
  require('../../../../config/ApiEndpoint.cjs');
42
45
  require('@dynamic-labs/store');
43
46
  require('../../../../locale/locale.cjs');
47
+ var getEOAWallet = require('../../../../utils/functions/getEOAWallet/getEOAWallet.cjs');
44
48
  require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
45
49
  require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
46
50
  require('../../../../context/UserWalletsContext/UserWalletsContext.cjs');
@@ -74,10 +78,10 @@ require('../../components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
74
78
  require('react-focus-lock');
75
79
  var Icon = require('../../../../components/Icon/Icon.cjs');
76
80
  var DynamicWidgetContext = require('../../context/DynamicWidgetContext.cjs');
77
- var IconButton = require('../../../../components/IconButton/IconButton.cjs');
81
+ require('../../../../components/IconButton/IconButton.cjs');
78
82
  require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
79
- require('formik');
80
83
  var TypographyButton = require('../../../../components/TypographyButton/TypographyButton.cjs');
84
+ require('formik');
81
85
  require('../../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
82
86
  var spinner = require('../../../../components/Spinner/spinner.cjs');
83
87
  var ModalHeader = require('../../../../components/ModalHeader/ModalHeader.cjs');
@@ -110,10 +114,10 @@ var useEmbeddedWalletAuthenticator = require('../../../../utils/hooks/useEmbedde
110
114
  require('../../../../components/InlineWidget/InlineWidget.cjs');
111
115
  require('qrcode');
112
116
 
113
- const WalletSettingsView = () => {
114
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
115
- const { projectSettings, primaryWallet, user } = useInternalDynamicContext.useInternalDynamicContext();
116
- const { goToInitialDynamicWidgetView, setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
117
+ const SettingsView = () => {
118
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
119
+ const { projectSettings, primaryWallet, user, handleLogOut } = useInternalDynamicContext.useInternalDynamicContext();
120
+ const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
117
121
  const { addEmbeddedWalletRecoveryEmail } = useEmbeddedWalletAuthenticator.useEmbeddedWalletAuthenticator();
118
122
  const { createPassword } = useEmbeddedWallet.useEmbeddedWallet();
119
123
  const { initExportProcess } = useEmbeddedReveal.useEmbeddedReveal();
@@ -154,38 +158,44 @@ const WalletSettingsView = () => {
154
158
  });
155
159
  const renderPasskeysButtonEndSlot = () => {
156
160
  if (isTurnkeyWalletWithAuthenticator)
157
- return (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' }));
161
+ return (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--success' }));
158
162
  if (isLoading)
159
163
  return jsxRuntime.jsx(spinner.Spinner, {});
160
164
  return jsxRuntime.jsx(add.ReactComponent, {});
161
165
  };
162
166
  const renderEmailButtonEndSlot = () => {
163
167
  if (hasRecoveryEmail)
164
- return (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' }));
168
+ return (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--success' }));
165
169
  if (isLoading)
166
170
  return jsxRuntime.jsx(spinner.Spinner, {});
167
171
  return jsxRuntime.jsx(add.ReactComponent, { "data-testid": 'email-add-icon' });
168
172
  };
169
- const backButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: goToInitialDynamicWidgetView, "data-testid": 'back-button', children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) }));
170
- const showSigninSection = (isPasskeyEnabled && isTurnkeyWallet && !isSessionKeyCompatibleWallet) ||
171
- isCoinbaseWallet;
172
- return (jsxRuntime.jsxs("div", { className: 'wallet-settings-view', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: backButton, children: jsxRuntime.jsx("div", { className: 'wallet-settings-view__header', children: jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', copykey: 'dyn_wallet_settings.title', children: t('dyn_wallet_settings.title') }) }) }), jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body', children: [showSigninSection && (jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsxRuntime.jsxs("div", { className: classNames.classNames('wallet-settings-view__body__section__title', {
173
- 'wallet-settings-view__body__section__title__info-icon': !isTurnkeyWalletWithAuthenticator,
174
- }), children: [t('dyn_wallet_settings.signing_section.title'), !isTurnkeyWalletWithAuthenticator && (jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(footerInfoIcon.ReactComponent, { className: 'wallet-settings-view__body__section__title__info-icon' }) }))] }), isPasskeyEnabled && isTurnkeyWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-passkeys-button', onClick: () => handlePasskeyClick(), buttonClassName: classNames.classNames('wallet-settings-view__body__section__button', {
175
- 'wallet-settings-view__body__section__button__badge': !isTurnkeyWalletWithAuthenticator,
176
- }), startSlot:
173
+ const wallet = getEOAWallet.getEOAWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || []);
174
+ const isEmbeddedWallet = Boolean(wallet &&
175
+ (((_m = (_l = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _l === void 0 ? void 0 : _l.key) === null || _m === void 0 ? void 0 : _m.startsWith('turnkey')) ||
176
+ ((_p = (_o = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _o === void 0 ? void 0 : _o.key) === null || _p === void 0 ? void 0 : _p.startsWith('coinbasempc'))));
177
+ const isMfaEnabled = Boolean((_r = (_q = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.security) === null || _q === void 0 ? void 0 : _q.mfa) === null || _r === void 0 ? void 0 : _r.enabled);
178
+ return (jsxRuntime.jsxs("div", { className: 'settings-view', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { children: jsxRuntime.jsx("div", { className: 'settings-view__header', children: jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', copykey: 'dyn_settings.title', children: t('dyn_settings.title') }) }) }), jsxRuntime.jsxs("div", { className: 'settings-view__body', children: [jsxRuntime.jsxs("div", { className: 'settings-view__body__section', children: [jsxRuntime.jsx("div", { className: 'settings-view__body__section__title', children: t('dyn_settings.global_section.title') }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'currency-button', buttonClassName: classNames.classNames('settings-view__body__section__button', 'settings-view__body__section__button__badge'), startSlot:
177
179
  // eslint-disable-next-line react/jsx-wrap-multilines
178
- jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(PasskeyDeviceIcon.PasskeyDeviceIcon, { className: 'wallet-settings-view__body__section__button__icon', defaultIcon: jsxRuntime.jsx(androidTouchId.ReactComponent, { "data-testid": 'default-icon' }) }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.signing_section.passkey_button', children: t('dyn_wallet_settings.signing_section.passkey_button') }), !isTurnkeyWalletWithAuthenticator && (jsxRuntime.jsx(Badge.Badge, { text: t('dyn_wallet_settings.tags.recommended'), copykey: 'dyn_wallet_settings.tags.recommended', variant: 'secondary' }))] }), endSlot: renderPasskeysButtonEndSlot(), disabled: isLoading, showInternalLoading: false })), isCoinbaseWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-password-button', onClick: () => createPassword(!hasClaimedCoinbaseMPC), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
179
- // eslint-disable-next-line react/jsx-wrap-multilines
180
- jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(altKey.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.signing_section.passkey_button', children: t('dyn_wallet_settings.signing_section.password_button') })] }), endSlot: hasClaimedCoinbaseMPC ? (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' })) : undefined, showInternalLoading: false }))] })), isTurnkeyWallet &&
181
- !hasRecoveryEmail &&
182
- !isSessionKeyCompatibleWallet && (jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsxRuntime.jsxs("div", { className: classNames.classNames('wallet-settings-view__body__section__title', 'wallet-settings-view__body__section__title__info-icon'), children: [t('dyn_wallet_settings.identity_section.title'), jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(footerInfoIcon.ReactComponent, { className: 'wallet-settings-view__body__section__title__info-icon', "data-testid": 'email-info-icon-title' }) })] }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-email-recovery-button', onClick: addEmbeddedWalletRecoveryEmail, buttonClassName: classNames.classNames('wallet-settings-view__body__section__button', 'wallet-settings-view__body__section__button__badge'), startSlot:
180
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(currency.ReactComponent, { className: 'settings-view__body__section__button__icon' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.global_section.currency.badge', children: t('dyn_settings.global_section.currency.title') }), jsxRuntime.jsx(Badge.Badge, { text: t('dyn_settings.global_section.currency.badge'), copykey: 'dyn_settings.global_section.currency.badge', variant: 'secondary' })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), disabled: true, showInternalLoading: false })] }), jsxRuntime.jsxs("div", { className: 'settings-view__body__section', children: [jsxRuntime.jsxs("div", { className: classNames.classNames('settings-view__body__section__title', {
181
+ 'settings-view__body__section__title__info-icon': !isTurnkeyWalletWithAuthenticator,
182
+ }), children: [t('dyn_settings.security_section.title'), !isTurnkeyWalletWithAuthenticator && (jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(footerInfoIcon.ReactComponent, { className: 'settings-view__body__section__title__info-icon' }) }))] }), isPasskeyEnabled && isTurnkeyWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-passkeys-button', onClick: () => handlePasskeyClick(), buttonClassName: classNames.classNames('settings-view__body__section__button', {
183
+ 'settings-view__body__section__button__badge': !isTurnkeyWalletWithAuthenticator,
184
+ }), startSlot:
183
185
  // eslint-disable-next-line react/jsx-wrap-multilines
184
- jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(signInWithEmail.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon email' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.identity_section.add_email_button', children: t('dyn_wallet_settings.identity_section.add_email_button') }), jsxRuntime.jsx(Badge.Badge, { text: t('dyn_wallet_settings.tags.recommended'), copykey: 'dyn_wallet_settings.tags.recommended', variant: 'secondary' })] }), endSlot: renderEmailButtonEndSlot(), disabled: isLoading || hasRecoveryEmail, showInternalLoading: false })] })), jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsxRuntime.jsx("div", { className: 'wallet-settings-view__body__section__title', children: t('dyn_wallet_settings.export_section.title') }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'embedded-reveal-account-button', onClick: () => handleExportClick(), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
186
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(PasskeyDeviceIcon.PasskeyDeviceIcon, { className: 'settings-view__body__section__button__icon', defaultIcon: jsxRuntime.jsx(androidTouchId.ReactComponent, { "data-testid": 'default-icon' }) }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.passkey_button', children: t('dyn_settings.security_section.passkey_button') }), !isTurnkeyWalletWithAuthenticator && (jsxRuntime.jsx(Badge.Badge, { text: t('dyn_settings.tags.recommended'), copykey: 'dyn_settings.tags.recommended', variant: 'secondary' }))] }), endSlot: renderPasskeysButtonEndSlot(), disabled: isLoading, showInternalLoading: false })), isMfaEnabled && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-mfa-button', onClick: () => setDynamicWidgetView('manage-mfa'), buttonClassName: 'settings-view__body__section__button', startSlot:
185
187
  // eslint-disable-next-line react/jsx-wrap-multilines
186
- jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(exportPrivateKey.ReactComponent, { className: `wallet-settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.export_section.private_key_button', children: t('dyn_wallet_settings.export_section.private_key_button') })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }), isTurnkeyHDWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'embedded-reveal-button', onClick: () => handleExportClick(true), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
188
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(shield.ReactComponent, { className: 'settings-view__body__section__button__icon' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.mfa_button', children: t('dyn_settings.security_section.mfa_button') })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), disabled: isLoading, showInternalLoading: false })), isCoinbaseWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-password-button', onClick: () => createPassword(!hasClaimedCoinbaseMPC), buttonClassName: 'settings-view__body__section__button', startSlot:
187
189
  // eslint-disable-next-line react/jsx-wrap-multilines
188
- jsxRuntime.jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(exportRecoveryPhrase.ReactComponent, { className: `wallet-settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.export_section.srp_button', children: t('dyn_wallet_settings.export_section.srp_button') })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'wallet-settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }))] })] })] }));
190
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(altKey.ReactComponent, { className: 'settings-view__body__section__button__icon' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.passkey_button', children: t('dyn_settings.security_section.password_button') })] }), endSlot: hasClaimedCoinbaseMPC ? (jsxRuntime.jsx(checkCircle.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--success' })) : undefined, showInternalLoading: false }))] }), isEmbeddedWallet && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isTurnkeyWallet &&
191
+ !hasRecoveryEmail &&
192
+ !isSessionKeyCompatibleWallet && (jsxRuntime.jsxs("div", { className: 'settings-view__body__section', children: [jsxRuntime.jsxs("div", { className: classNames.classNames('settings-view__body__section__title', 'settings-view__body__section__title__info-icon'), children: [t('dyn_settings.identity_section.title'), jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(footerInfoIcon.ReactComponent, { className: 'settings-view__body__section__title__info-icon', "data-testid": 'email-info-icon-title' }) })] }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'manage-email-recovery-button', onClick: addEmbeddedWalletRecoveryEmail, buttonClassName: classNames.classNames('settings-view__body__section__button', 'settings-view__body__section__button__badge'), startSlot:
193
+ // eslint-disable-next-line react/jsx-wrap-multilines
194
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(signInWithEmail.ReactComponent, { className: 'settings-view__body__section__button__icon email' }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.identity_section.add_email_button', children: t('dyn_settings.identity_section.add_email_button') }), jsxRuntime.jsx(Badge.Badge, { text: t('dyn_settings.tags.recommended'), copykey: 'dyn_settings.tags.recommended', variant: 'secondary' })] }), endSlot: renderEmailButtonEndSlot(), disabled: isLoading || hasRecoveryEmail, showInternalLoading: false })] })), jsxRuntime.jsxs("div", { className: 'settings-view__body__section', children: [jsxRuntime.jsx("div", { className: 'settings-view__body__section__title', children: t('dyn_settings.export_section.title') }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'embedded-reveal-account-button', onClick: () => handleExportClick(), buttonClassName: 'settings-view__body__section__button', startSlot:
195
+ // eslint-disable-next-line react/jsx-wrap-multilines
196
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(exportPrivateKey.ReactComponent, { className: `settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.export_section.private_key_button', children: t('dyn_settings.export_section.private_key_button') })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }), isTurnkeyHDWallet && (jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'embedded-reveal-button', onClick: () => handleExportClick(true), buttonClassName: 'settings-view__body__section__button', startSlot:
197
+ // eslint-disable-next-line react/jsx-wrap-multilines
198
+ jsxRuntime.jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsxRuntime.jsx(exportRecoveryPhrase.ReactComponent, { className: `settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsxRuntime.jsx(Typography.Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.export_section.srp_button', children: t('dyn_settings.export_section.srp_button') })] }), endSlot: jsxRuntime.jsx(chevronLeft.ReactComponent, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }))] })] }))] }), jsxRuntime.jsx("div", { className: 'settings-view__logout-button-container', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonClassName: 'settings-view__logout-button-container__button', onClick: handleLogOut, dataTestId: 'logout-button', copykey: 'dyn_settings.buttonLogout', startSlot: jsxRuntime.jsx(logout.ReactComponent, {}), children: t('dyn_settings.button_logout') }) })] }));
189
199
  };
190
200
 
191
- exports.WalletSettingsView = WalletSettingsView;
201
+ exports.SettingsView = SettingsView;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const SettingsView: FC;
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
- import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import { useState } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { isCoinbaseMpcWalletConnector, isSessionKeyCompatibleWalletConnector } from '@dynamic-labs/wallet-connector-core';
@@ -22,7 +22,10 @@ import { ReactComponent as SvgChevronLeft } from '../../../../shared/assets/chev
22
22
  import { ReactComponent as SvgExportPrivateKey } from '../../../../shared/assets/export-private-key.js';
23
23
  import { ReactComponent as SvgExportRecoveryPhrase } from '../../../../shared/assets/export-recovery-phrase.js';
24
24
  import { ReactComponent as SvgFooterInfoIcon } from '../../../../shared/assets/footer-info-icon.js';
25
+ import { ReactComponent as SvgLogout } from '../../../../shared/assets/logout.js';
25
26
  import { ReactComponent as SvgSignInWithEmail } from '../../../../shared/assets/sign-in-with-email.js';
27
+ import { ReactComponent as SvgCurrency } from '../../../../shared/assets/currency.js';
28
+ import { ReactComponent as SvgShield } from '../../../../shared/assets/shield.js';
26
29
  import '@dynamic-labs/wallet-book';
27
30
  import '../../../../utils/constants/colors.js';
28
31
  import '../../../../utils/constants/values.js';
@@ -37,6 +40,7 @@ import 'react-international-phone';
37
40
  import '../../../../config/ApiEndpoint.js';
38
41
  import '@dynamic-labs/store';
39
42
  import '../../../../locale/locale.js';
43
+ import { getEOAWallet } from '../../../../utils/functions/getEOAWallet/getEOAWallet.js';
40
44
  import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
41
45
  import '../../../../context/AccountExistsContext/AccountExistsContext.js';
42
46
  import '../../../../context/UserWalletsContext/UserWalletsContext.js';
@@ -70,10 +74,10 @@ import '../../components/DynamicWidgetHeader/DynamicWidgetHeader.js';
70
74
  import 'react-focus-lock';
71
75
  import { Icon } from '../../../../components/Icon/Icon.js';
72
76
  import { useWidgetContext } from '../../context/DynamicWidgetContext.js';
73
- import { IconButton } from '../../../../components/IconButton/IconButton.js';
77
+ import '../../../../components/IconButton/IconButton.js';
74
78
  import '../../../../components/MenuList/Dropdown/Dropdown.js';
75
- import 'formik';
76
79
  import { TypographyButton } from '../../../../components/TypographyButton/TypographyButton.js';
80
+ import 'formik';
77
81
  import '../../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
78
82
  import { Spinner } from '../../../../components/Spinner/spinner.js';
79
83
  import { ModalHeader } from '../../../../components/ModalHeader/ModalHeader.js';
@@ -106,10 +110,10 @@ import { useEmbeddedWalletAuthenticator } from '../../../../utils/hooks/useEmbed
106
110
  import '../../../../components/InlineWidget/InlineWidget.js';
107
111
  import 'qrcode';
108
112
 
109
- const WalletSettingsView = () => {
110
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
111
- const { projectSettings, primaryWallet, user } = useInternalDynamicContext();
112
- const { goToInitialDynamicWidgetView, setDynamicWidgetView } = useWidgetContext();
113
+ const SettingsView = () => {
114
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
115
+ const { projectSettings, primaryWallet, user, handleLogOut } = useInternalDynamicContext();
116
+ const { setDynamicWidgetView } = useWidgetContext();
113
117
  const { addEmbeddedWalletRecoveryEmail } = useEmbeddedWalletAuthenticator();
114
118
  const { createPassword } = useEmbeddedWallet();
115
119
  const { initExportProcess } = useEmbeddedReveal();
@@ -150,38 +154,44 @@ const WalletSettingsView = () => {
150
154
  });
151
155
  const renderPasskeysButtonEndSlot = () => {
152
156
  if (isTurnkeyWalletWithAuthenticator)
153
- return (jsx(SvgCheckCircle, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' }));
157
+ return (jsx(SvgCheckCircle, { className: 'settings-view__body__section__button__icon-secondary--success' }));
154
158
  if (isLoading)
155
159
  return jsx(Spinner, {});
156
160
  return jsx(SvgAdd, {});
157
161
  };
158
162
  const renderEmailButtonEndSlot = () => {
159
163
  if (hasRecoveryEmail)
160
- return (jsx(SvgCheckCircle, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' }));
164
+ return (jsx(SvgCheckCircle, { className: 'settings-view__body__section__button__icon-secondary--success' }));
161
165
  if (isLoading)
162
166
  return jsx(Spinner, {});
163
167
  return jsx(SvgAdd, { "data-testid": 'email-add-icon' });
164
168
  };
165
- const backButton = (jsx(IconButton, { type: 'button', onClick: goToInitialDynamicWidgetView, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
166
- const showSigninSection = (isPasskeyEnabled && isTurnkeyWallet && !isSessionKeyCompatibleWallet) ||
167
- isCoinbaseWallet;
168
- return (jsxs("div", { className: 'wallet-settings-view', children: [jsx(ModalHeader, { leading: backButton, children: jsx("div", { className: 'wallet-settings-view__header', children: jsx(Typography, { variant: 'title', color: 'primary', copykey: 'dyn_wallet_settings.title', children: t('dyn_wallet_settings.title') }) }) }), jsxs("div", { className: 'wallet-settings-view__body', children: [showSigninSection && (jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsxs("div", { className: classNames('wallet-settings-view__body__section__title', {
169
- 'wallet-settings-view__body__section__title__info-icon': !isTurnkeyWalletWithAuthenticator,
170
- }), children: [t('dyn_wallet_settings.signing_section.title'), !isTurnkeyWalletWithAuthenticator && (jsx(Icon, { size: 'small', children: jsx(SvgFooterInfoIcon, { className: 'wallet-settings-view__body__section__title__info-icon' }) }))] }), isPasskeyEnabled && isTurnkeyWallet && (jsx(TypographyButton, { dataTestId: 'manage-passkeys-button', onClick: () => handlePasskeyClick(), buttonClassName: classNames('wallet-settings-view__body__section__button', {
171
- 'wallet-settings-view__body__section__button__badge': !isTurnkeyWalletWithAuthenticator,
172
- }), startSlot:
169
+ const wallet = getEOAWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || []);
170
+ const isEmbeddedWallet = Boolean(wallet &&
171
+ (((_m = (_l = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _l === void 0 ? void 0 : _l.key) === null || _m === void 0 ? void 0 : _m.startsWith('turnkey')) ||
172
+ ((_p = (_o = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _o === void 0 ? void 0 : _o.key) === null || _p === void 0 ? void 0 : _p.startsWith('coinbasempc'))));
173
+ const isMfaEnabled = Boolean((_r = (_q = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.security) === null || _q === void 0 ? void 0 : _q.mfa) === null || _r === void 0 ? void 0 : _r.enabled);
174
+ return (jsxs("div", { className: 'settings-view', children: [jsx(ModalHeader, { children: jsx("div", { className: 'settings-view__header', children: jsx(Typography, { variant: 'title', color: 'primary', copykey: 'dyn_settings.title', children: t('dyn_settings.title') }) }) }), jsxs("div", { className: 'settings-view__body', children: [jsxs("div", { className: 'settings-view__body__section', children: [jsx("div", { className: 'settings-view__body__section__title', children: t('dyn_settings.global_section.title') }), jsx(TypographyButton, { dataTestId: 'currency-button', buttonClassName: classNames('settings-view__body__section__button', 'settings-view__body__section__button__badge'), startSlot:
173
175
  // eslint-disable-next-line react/jsx-wrap-multilines
174
- jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsx(PasskeyDeviceIcon, { className: 'wallet-settings-view__body__section__button__icon', defaultIcon: jsx(SvgAndroidTouchId, { "data-testid": 'default-icon' }) }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.signing_section.passkey_button', children: t('dyn_wallet_settings.signing_section.passkey_button') }), !isTurnkeyWalletWithAuthenticator && (jsx(Badge, { text: t('dyn_wallet_settings.tags.recommended'), copykey: 'dyn_wallet_settings.tags.recommended', variant: 'secondary' }))] }), endSlot: renderPasskeysButtonEndSlot(), disabled: isLoading, showInternalLoading: false })), isCoinbaseWallet && (jsx(TypographyButton, { dataTestId: 'manage-password-button', onClick: () => createPassword(!hasClaimedCoinbaseMPC), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
175
- // eslint-disable-next-line react/jsx-wrap-multilines
176
- jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsx(SvgAltKey, { className: 'wallet-settings-view__body__section__button__icon' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.signing_section.passkey_button', children: t('dyn_wallet_settings.signing_section.password_button') })] }), endSlot: hasClaimedCoinbaseMPC ? (jsx(SvgCheckCircle, { className: 'wallet-settings-view__body__section__button__icon-secondary--success' })) : undefined, showInternalLoading: false }))] })), isTurnkeyWallet &&
177
- !hasRecoveryEmail &&
178
- !isSessionKeyCompatibleWallet && (jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsxs("div", { className: classNames('wallet-settings-view__body__section__title', 'wallet-settings-view__body__section__title__info-icon'), children: [t('dyn_wallet_settings.identity_section.title'), jsx(Icon, { size: 'small', children: jsx(SvgFooterInfoIcon, { className: 'wallet-settings-view__body__section__title__info-icon', "data-testid": 'email-info-icon-title' }) })] }), jsx(TypographyButton, { dataTestId: 'manage-email-recovery-button', onClick: addEmbeddedWalletRecoveryEmail, buttonClassName: classNames('wallet-settings-view__body__section__button', 'wallet-settings-view__body__section__button__badge'), startSlot:
176
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgCurrency, { className: 'settings-view__body__section__button__icon' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.global_section.currency.badge', children: t('dyn_settings.global_section.currency.title') }), jsx(Badge, { text: t('dyn_settings.global_section.currency.badge'), copykey: 'dyn_settings.global_section.currency.badge', variant: 'secondary' })] }), endSlot: jsx(SvgChevronLeft, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), disabled: true, showInternalLoading: false })] }), jsxs("div", { className: 'settings-view__body__section', children: [jsxs("div", { className: classNames('settings-view__body__section__title', {
177
+ 'settings-view__body__section__title__info-icon': !isTurnkeyWalletWithAuthenticator,
178
+ }), children: [t('dyn_settings.security_section.title'), !isTurnkeyWalletWithAuthenticator && (jsx(Icon, { size: 'small', children: jsx(SvgFooterInfoIcon, { className: 'settings-view__body__section__title__info-icon' }) }))] }), isPasskeyEnabled && isTurnkeyWallet && (jsx(TypographyButton, { dataTestId: 'manage-passkeys-button', onClick: () => handlePasskeyClick(), buttonClassName: classNames('settings-view__body__section__button', {
179
+ 'settings-view__body__section__button__badge': !isTurnkeyWalletWithAuthenticator,
180
+ }), startSlot:
179
181
  // eslint-disable-next-line react/jsx-wrap-multilines
180
- jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsx(SvgSignInWithEmail, { className: 'wallet-settings-view__body__section__button__icon email' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.identity_section.add_email_button', children: t('dyn_wallet_settings.identity_section.add_email_button') }), jsx(Badge, { text: t('dyn_wallet_settings.tags.recommended'), copykey: 'dyn_wallet_settings.tags.recommended', variant: 'secondary' })] }), endSlot: renderEmailButtonEndSlot(), disabled: isLoading || hasRecoveryEmail, showInternalLoading: false })] })), jsxs("div", { className: 'wallet-settings-view__body__section', children: [jsx("div", { className: 'wallet-settings-view__body__section__title', children: t('dyn_wallet_settings.export_section.title') }), jsx(TypographyButton, { dataTestId: 'embedded-reveal-account-button', onClick: () => handleExportClick(), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
182
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(PasskeyDeviceIcon, { className: 'settings-view__body__section__button__icon', defaultIcon: jsx(SvgAndroidTouchId, { "data-testid": 'default-icon' }) }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.passkey_button', children: t('dyn_settings.security_section.passkey_button') }), !isTurnkeyWalletWithAuthenticator && (jsx(Badge, { text: t('dyn_settings.tags.recommended'), copykey: 'dyn_settings.tags.recommended', variant: 'secondary' }))] }), endSlot: renderPasskeysButtonEndSlot(), disabled: isLoading, showInternalLoading: false })), isMfaEnabled && (jsx(TypographyButton, { dataTestId: 'manage-mfa-button', onClick: () => setDynamicWidgetView('manage-mfa'), buttonClassName: 'settings-view__body__section__button', startSlot:
181
183
  // eslint-disable-next-line react/jsx-wrap-multilines
182
- jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsx(SvgExportPrivateKey, { className: `wallet-settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.export_section.private_key_button', children: t('dyn_wallet_settings.export_section.private_key_button') })] }), endSlot: jsx(SvgChevronLeft, { className: 'wallet-settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }), isTurnkeyHDWallet && (jsx(TypographyButton, { dataTestId: 'embedded-reveal-button', onClick: () => handleExportClick(true), buttonClassName: 'wallet-settings-view__body__section__button', startSlot:
184
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgShield, { className: 'settings-view__body__section__button__icon' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.mfa_button', children: t('dyn_settings.security_section.mfa_button') })] }), endSlot: jsx(SvgChevronLeft, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), disabled: isLoading, showInternalLoading: false })), isCoinbaseWallet && (jsx(TypographyButton, { dataTestId: 'manage-password-button', onClick: () => createPassword(!hasClaimedCoinbaseMPC), buttonClassName: 'settings-view__body__section__button', startSlot:
183
185
  // eslint-disable-next-line react/jsx-wrap-multilines
184
- jsxs("div", { className: 'wallet-settings-view__body__section__button__start-slot', children: [jsx(SvgExportRecoveryPhrase, { className: `wallet-settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_wallet_settings.export_section.srp_button', children: t('dyn_wallet_settings.export_section.srp_button') })] }), endSlot: jsx(SvgChevronLeft, { className: 'wallet-settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }))] })] })] }));
186
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgAltKey, { className: 'settings-view__body__section__button__icon' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.security_section.passkey_button', children: t('dyn_settings.security_section.password_button') })] }), endSlot: hasClaimedCoinbaseMPC ? (jsx(SvgCheckCircle, { className: 'settings-view__body__section__button__icon-secondary--success' })) : undefined, showInternalLoading: false }))] }), isEmbeddedWallet && (jsxs(Fragment, { children: [isTurnkeyWallet &&
187
+ !hasRecoveryEmail &&
188
+ !isSessionKeyCompatibleWallet && (jsxs("div", { className: 'settings-view__body__section', children: [jsxs("div", { className: classNames('settings-view__body__section__title', 'settings-view__body__section__title__info-icon'), children: [t('dyn_settings.identity_section.title'), jsx(Icon, { size: 'small', children: jsx(SvgFooterInfoIcon, { className: 'settings-view__body__section__title__info-icon', "data-testid": 'email-info-icon-title' }) })] }), jsx(TypographyButton, { dataTestId: 'manage-email-recovery-button', onClick: addEmbeddedWalletRecoveryEmail, buttonClassName: classNames('settings-view__body__section__button', 'settings-view__body__section__button__badge'), startSlot:
189
+ // eslint-disable-next-line react/jsx-wrap-multilines
190
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgSignInWithEmail, { className: 'settings-view__body__section__button__icon email' }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.identity_section.add_email_button', children: t('dyn_settings.identity_section.add_email_button') }), jsx(Badge, { text: t('dyn_settings.tags.recommended'), copykey: 'dyn_settings.tags.recommended', variant: 'secondary' })] }), endSlot: renderEmailButtonEndSlot(), disabled: isLoading || hasRecoveryEmail, showInternalLoading: false })] })), jsxs("div", { className: 'settings-view__body__section', children: [jsx("div", { className: 'settings-view__body__section__title', children: t('dyn_settings.export_section.title') }), jsx(TypographyButton, { dataTestId: 'embedded-reveal-account-button', onClick: () => handleExportClick(), buttonClassName: 'settings-view__body__section__button', startSlot:
191
+ // eslint-disable-next-line react/jsx-wrap-multilines
192
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgExportPrivateKey, { className: `settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.export_section.private_key_button', children: t('dyn_settings.export_section.private_key_button') })] }), endSlot: jsx(SvgChevronLeft, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }), isTurnkeyHDWallet && (jsx(TypographyButton, { dataTestId: 'embedded-reveal-button', onClick: () => handleExportClick(true), buttonClassName: 'settings-view__body__section__button', startSlot:
193
+ // eslint-disable-next-line react/jsx-wrap-multilines
194
+ jsxs("div", { className: 'settings-view__body__section__button__start-slot', children: [jsx(SvgExportRecoveryPhrase, { className: `settings-view__body__section__button__icon${theme.theme.name === 'dark' ? '__stroke' : ''}` }), jsx(Typography, { color: 'primary', weight: 'medium', copykey: 'dyn_settings.export_section.srp_button', children: t('dyn_settings.export_section.srp_button') })] }), endSlot: jsx(SvgChevronLeft, { className: 'settings-view__body__section__button__icon-secondary--rotate' }), showInternalLoading: false }))] })] }))] }), jsx("div", { className: 'settings-view__logout-button-container', children: jsx(TypographyButton, { buttonClassName: 'settings-view__logout-button-container__button', onClick: handleLogOut, dataTestId: 'logout-button', copykey: 'dyn_settings.buttonLogout', startSlot: jsx(SvgLogout, {}), children: t('dyn_settings.button_logout') }) })] }));
185
195
  };
186
196
 
187
- export { WalletSettingsView };
197
+ export { SettingsView };
@@ -0,0 +1 @@
1
+ export { SettingsView } from './SettingsView';