@dynamic-labs/sdk-react-core 4.59.2 → 4.60.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.cjs +4 -3
  3. package/package.js +4 -3
  4. package/package.json +15 -14
  5. package/src/index.cjs +6 -4
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +3 -2
  8. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  9. package/src/lib/events/embeddedWallet.d.ts +15 -3
  10. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  11. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  12. package/src/lib/shared/assets/{warning-circle-orange.cjs → error-circle-x.cjs} +12 -15
  13. package/src/lib/shared/assets/{warning-circle-orange.js → error-circle-x.js} +12 -15
  14. package/src/lib/shared/assets/index.d.ts +2 -1
  15. package/src/lib/shared/assets/setup-password-terms-illustration.cjs +83 -0
  16. package/src/lib/shared/assets/setup-password-terms-illustration.js +59 -0
  17. package/src/lib/shared/types/dynamicHandlers.d.ts +64 -0
  18. package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
  19. package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
  20. package/src/lib/styles/index.shadow.cjs +1 -1
  21. package/src/lib/styles/index.shadow.js +1 -1
  22. package/src/lib/utils/hooks/index.d.ts +4 -0
  23. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +27 -9
  24. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +3 -2
  25. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +27 -9
  26. package/src/lib/utils/hooks/useGetWalletPassword/index.d.ts +2 -0
  27. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.cjs +130 -0
  28. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.d.ts +6 -0
  29. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.js +126 -0
  30. package/src/lib/utils/hooks/usePromptWalletUnlock/index.d.ts +2 -0
  31. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.cjs +144 -0
  32. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.d.ts +5 -0
  33. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.js +140 -0
  34. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +15 -15
  35. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +15 -15
  36. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.cjs +25 -25
  37. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.d.ts +3 -0
  38. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.js +26 -26
  39. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +1 -1
  40. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +1 -1
  41. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
  42. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
  43. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.cjs +1 -1
  44. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.js +1 -1
  45. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +1 -1
  46. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +1 -1
  47. package/src/lib/utils/hooks/useWalletUnlock/index.d.ts +2 -0
  48. package/src/lib/utils/hooks/useWalletUnlock/useWalletUnlock.d.ts +15 -0
  49. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  50. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  51. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.cjs → UnlockWalletView/UnlockWalletView.cjs} +49 -13
  52. package/src/lib/views/UnlockWalletView/UnlockWalletView.d.ts +6 -0
  53. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.js → UnlockWalletView/UnlockWalletView.js} +49 -13
  54. package/src/lib/views/UnlockWalletView/index.d.ts +2 -0
  55. package/src/lib/views/index.d.ts +3 -3
  56. package/src/lib/views/viewToComponentMap.cjs +3 -3
  57. package/src/lib/views/viewToComponentMap.d.ts +1 -1
  58. package/src/lib/views/viewToComponentMap.js +3 -3
  59. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  60. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  61. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +43 -43
  62. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +43 -43
  63. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +33 -19
  64. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +33 -19
  65. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs +71 -0
  66. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.d.ts +9 -0
  67. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js +67 -0
  68. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/index.d.ts +2 -0
  69. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.cjs +7 -15
  70. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.d.ts +0 -1
  71. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.js +7 -15
  72. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs +10 -4
  73. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.d.ts +1 -1
  74. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js +10 -4
  75. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs +15 -11
  76. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js +15 -11
  77. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
  78. package/src/lib/views/SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.d.ts +0 -2
  79. package/src/lib/views/SetupPasswordForWalletCreationView/index.d.ts +0 -1
@@ -24,8 +24,9 @@ require('../../../../context/ViewContext/ViewContext.cjs');
24
24
  var SetupPasswordConfirmView = require('../../views/SetupPasswordConfirmView/SetupPasswordConfirmView.cjs');
25
25
  var SetupPasswordKnowledgeCheckView = require('../../views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.cjs');
26
26
  var SetupPasswordSuccessView = require('../../views/SetupPasswordSuccessView/SetupPasswordSuccessView.cjs');
27
- var WalletsDelegatedSettingsView = require('../../views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.cjs');
28
27
  require('react-i18next');
28
+ require('../../../../components/Input/Input.cjs');
29
+ require('../../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
29
30
  require('@dynamic-labs/wallet-connector-core');
30
31
  require('../../../../shared/logger.cjs');
31
32
  require('@dynamic-labs/wallet-book');
@@ -33,11 +34,11 @@ require('../../../../utils/constants/colors.cjs');
33
34
  require('../../../../utils/constants/values.cjs');
34
35
  require('@dynamic-labs/sdk-api-core');
35
36
  require('../../../../shared/consts/index.cjs');
36
- require('../../../../components/IconButton/IconButton.cjs');
37
- require('@dynamic-labs/types');
37
+ require('../../../../components/Alert/Alert.cjs');
38
+ require('../../../../events/dynamicEvents.cjs');
38
39
  require('../../../../context/DynamicContext/DynamicContext.cjs');
39
40
  require('../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
40
- require('../../../../events/dynamicEvents.cjs');
41
+ require('../../../../store/state/authMode/authMode.cjs');
41
42
  require('../../../../context/CaptchaContext/CaptchaContext.cjs');
42
43
  require('../../../../context/ErrorContext/ErrorContext.cjs');
43
44
  require('@dynamic-labs/multi-wallet');
@@ -55,7 +56,6 @@ require('../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeL
55
56
  require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
56
57
  require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
57
58
  require('../../../../context/UserWalletsContext/UserWalletsContext.cjs');
58
- require('../../../../store/state/authMode/authMode.cjs');
59
59
  require('../../../../context/VerificationContext/VerificationContext.cjs');
60
60
  require('react-dom');
61
61
  require('../../../../utils/functions/compareChains/compareChains.cjs');
@@ -63,6 +63,11 @@ require('../../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmb
63
63
  require('../../../../context/ThemeContext/ThemeContext.cjs');
64
64
  require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
65
65
  require('bs58');
66
+ require('@dynamic-labs/types');
67
+ require('../../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
68
+ require('../../../../context/LoadingContext/LoadingContext.cjs');
69
+ require('../../../../context/WalletContext/WalletContext.cjs');
70
+ require('../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
66
71
  require('yup');
67
72
  require('../../../../context/MockContext/MockContext.cjs');
68
73
  require('../../../../views/CollectUserDataView/useFields.cjs');
@@ -70,45 +75,16 @@ require('../../../../context/FieldsStateContext/FieldsStateContext.cjs');
70
75
  require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
71
76
  require('@dynamic-labs/rpc-providers');
72
77
  require('../../../../store/state/walletOptions/walletOptions.cjs');
73
- require('../../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
74
- require('../../../../components/Alert/Alert.cjs');
75
- require('../../../../context/WalletContext/WalletContext.cjs');
78
+ require('../../../../context/FooterAnimationContext/index.cjs');
76
79
  require('../../../../components/ShadowDOM/ShadowDOM.cjs');
77
- require('../../../../components/InlineWidget/InlineWidget.cjs');
78
- require('../../../../components/Input/Input.cjs');
79
- require('../../../../components/IsBrowser/IsBrowser.cjs');
80
- require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
81
- require('../../../../components/OverlayCard/OverlayCard.cjs');
82
80
  require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
83
81
  require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
84
82
  require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
85
- require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
86
- require('../../../../components/Popper/Popper/Popper.cjs');
87
- require('../../../../components/Popper/PopperContext/PopperContext.cjs');
88
- require('react-focus-lock');
89
- require('qrcode');
90
- require('formik');
91
- require('../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
92
- require('../../../../context/WalletGroupContext/WalletGroupContext.cjs');
93
- require('../../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
94
- require('../../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
95
- require('../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
96
- require('../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
97
- require('@hcaptcha/react-hcaptcha');
98
- require('../../../../context/LoadingContext/LoadingContext.cjs');
99
- require('../../context/DynamicWidgetContext.cjs');
100
- require('../../helpers/convertExchangeKeyAndProviderEnum.cjs');
101
- require('../../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.cjs');
102
- require('../../../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
103
- require('../../../../context/FooterAnimationContext/index.cjs');
104
- require('../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
105
- require('../../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
106
- require('../../../../context/PasskeyContext/PasskeyContext.cjs');
107
- require('../../../../context/OnrampContext/OnrampContext.cjs');
108
- require('../../../../store/state/sendBalances.cjs');
109
- require('../../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
110
83
  require('../../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
84
+ require('../../../../context/WalletGroupContext/WalletGroupContext.cjs');
111
85
  require('../DynamicWidgetHeader/DynamicWidgetHeader.cjs');
86
+ require('react-focus-lock');
87
+ require('../../context/DynamicWidgetContext.cjs');
112
88
  var ChooseLinkedWalletView = require('../../views/ChooseLinkedWalletView/ChooseLinkedWalletView.cjs');
113
89
  var ChooseOnrampProviderView = require('../../views/ChooseOnrampProviderView/ChooseOnrampProviderView.cjs');
114
90
  var ChooseWalletFundingMethod = require('../../views/ChooseWalletFundingMethod/ChooseWalletFundingMethod.cjs');
@@ -125,16 +101,40 @@ var ManageTotpMfaWidgetView = require('../../views/ManageTotpMfaWidgetView/Manag
125
101
  var ReceiveWalletFunds = require('../../views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
126
102
  var RevokeAccessView = require('../../views/SessionManagementView/RevokeAccessView/RevokeAccessView.cjs');
127
103
  var SessionManagementInfoView = require('../../views/SessionManagementView/SessionManagementInfoView/SessionManagementInfoView.cjs');
128
- require('../../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
129
- require('../../../../../index.cjs');
130
- require('../../../../store/state/tokenBalances.cjs');
131
- require('../../../../store/state/multichainBalances.cjs');
132
- require('../../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
104
+ require('../../../../components/IconButton/IconButton.cjs');
133
105
  require('../../../../utils/hooks/useWalletBackup/useWalletBackup.cjs');
134
106
  require('../../../../utils/hooks/useWalletBackup/types.cjs');
135
107
  var WaasBackupInfoView = require('../../views/WaasBackupView/WaasBackupInfoView.cjs');
136
108
  require('../../../../utils/hooks/useWalletBackup/cloudProviders.cjs');
137
109
  var WaasBackupView = require('../../views/WaasBackupView/WaasBackupView.cjs');
110
+ var WalletsDelegatedSettingsView = require('../../views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.cjs');
111
+ require('formik');
112
+ require('../../../../store/state/sendBalances.cjs');
113
+ require('../../../../components/OverlayCard/OverlayCard.cjs');
114
+ require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
115
+ require('../../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
116
+ require('../../../../context/PasskeyContext/PasskeyContext.cjs');
117
+ require('../../../../../index.cjs');
118
+ require('../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
119
+ require('../../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
120
+ require('../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
121
+ require('../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
122
+ require('@hcaptcha/react-hcaptcha');
123
+ require('../../helpers/convertExchangeKeyAndProviderEnum.cjs');
124
+ require('../../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.cjs');
125
+ require('../../../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
126
+ require('../../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
127
+ require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
128
+ require('../../../../context/OnrampContext/OnrampContext.cjs');
129
+ require('../../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
130
+ require('../../../../store/state/tokenBalances.cjs');
131
+ require('../../../../store/state/multichainBalances.cjs');
132
+ require('../../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
133
+ require('../../../../components/InlineWidget/InlineWidget.cjs');
134
+ require('../../../../components/IsBrowser/IsBrowser.cjs');
135
+ require('../../../../components/Popper/Popper/Popper.cjs');
136
+ require('../../../../components/Popper/PopperContext/PopperContext.cjs');
137
+ require('qrcode');
138
138
 
139
139
  const mapViewToComponent = {
140
140
  'account-and-security-settings': AccountAndSecuritySettingsView.AccountAndSecuritySettingsView,
@@ -20,8 +20,9 @@ import '../../../../context/ViewContext/ViewContext.js';
20
20
  import { SetupPasswordConfirmView } from '../../views/SetupPasswordConfirmView/SetupPasswordConfirmView.js';
21
21
  import { SetupPasswordKnowledgeCheckView } from '../../views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.js';
22
22
  import { SetupPasswordSuccessView } from '../../views/SetupPasswordSuccessView/SetupPasswordSuccessView.js';
23
- import { WalletsDelegatedSettingsView } from '../../views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.js';
24
23
  import 'react-i18next';
24
+ import '../../../../components/Input/Input.js';
25
+ import '../../../../components/Accordion/components/AccordionItem/AccordionItem.js';
25
26
  import '@dynamic-labs/wallet-connector-core';
26
27
  import '../../../../shared/logger.js';
27
28
  import '@dynamic-labs/wallet-book';
@@ -29,11 +30,11 @@ import '../../../../utils/constants/colors.js';
29
30
  import '../../../../utils/constants/values.js';
30
31
  import '@dynamic-labs/sdk-api-core';
31
32
  import '../../../../shared/consts/index.js';
32
- import '../../../../components/IconButton/IconButton.js';
33
- import '@dynamic-labs/types';
33
+ import '../../../../components/Alert/Alert.js';
34
+ import '../../../../events/dynamicEvents.js';
34
35
  import '../../../../context/DynamicContext/DynamicContext.js';
35
36
  import '../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
36
- import '../../../../events/dynamicEvents.js';
37
+ import '../../../../store/state/authMode/authMode.js';
37
38
  import '../../../../context/CaptchaContext/CaptchaContext.js';
38
39
  import '../../../../context/ErrorContext/ErrorContext.js';
39
40
  import '@dynamic-labs/multi-wallet';
@@ -51,7 +52,6 @@ import '../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeLa
51
52
  import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
52
53
  import '../../../../context/AccountExistsContext/AccountExistsContext.js';
53
54
  import '../../../../context/UserWalletsContext/UserWalletsContext.js';
54
- import '../../../../store/state/authMode/authMode.js';
55
55
  import '../../../../context/VerificationContext/VerificationContext.js';
56
56
  import 'react-dom';
57
57
  import '../../../../utils/functions/compareChains/compareChains.js';
@@ -59,6 +59,11 @@ import '../../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbe
59
59
  import '../../../../context/ThemeContext/ThemeContext.js';
60
60
  import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
61
61
  import 'bs58';
62
+ import '@dynamic-labs/types';
63
+ import '../../../../context/SocialRedirectContext/SocialRedirectContext.js';
64
+ import '../../../../context/LoadingContext/LoadingContext.js';
65
+ import '../../../../context/WalletContext/WalletContext.js';
66
+ import '../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
62
67
  import 'yup';
63
68
  import '../../../../context/MockContext/MockContext.js';
64
69
  import '../../../../views/CollectUserDataView/useFields.js';
@@ -66,45 +71,16 @@ import '../../../../context/FieldsStateContext/FieldsStateContext.js';
66
71
  import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
67
72
  import '@dynamic-labs/rpc-providers';
68
73
  import '../../../../store/state/walletOptions/walletOptions.js';
69
- import '../../../../components/Accordion/components/AccordionItem/AccordionItem.js';
70
- import '../../../../components/Alert/Alert.js';
71
- import '../../../../context/WalletContext/WalletContext.js';
74
+ import '../../../../context/FooterAnimationContext/index.js';
72
75
  import '../../../../components/ShadowDOM/ShadowDOM.js';
73
- import '../../../../components/InlineWidget/InlineWidget.js';
74
- import '../../../../components/Input/Input.js';
75
- import '../../../../components/IsBrowser/IsBrowser.js';
76
- import '../../../../components/MenuList/Dropdown/Dropdown.js';
77
- import '../../../../components/OverlayCard/OverlayCard.js';
78
76
  import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
79
77
  import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
80
78
  import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
81
- import '../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
82
- import '../../../../components/Popper/Popper/Popper.js';
83
- import '../../../../components/Popper/PopperContext/PopperContext.js';
84
- import 'react-focus-lock';
85
- import 'qrcode';
86
- import 'formik';
87
- import '../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.js';
88
- import '../../../../context/WalletGroupContext/WalletGroupContext.js';
89
- import '../../../../context/IpConfigurationContext/IpConfigurationContext.js';
90
- import '../../../../context/SocialRedirectContext/SocialRedirectContext.js';
91
- import '../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
92
- import '../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
93
- import '@hcaptcha/react-hcaptcha';
94
- import '../../../../context/LoadingContext/LoadingContext.js';
95
- import '../../context/DynamicWidgetContext.js';
96
- import '../../helpers/convertExchangeKeyAndProviderEnum.js';
97
- import '../../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.js';
98
- import '../../../../context/ErrorContext/hooks/useErrorText/useErrorText.js';
99
- import '../../../../context/FooterAnimationContext/index.js';
100
- import '../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
101
- import '../../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
102
- import '../../../../context/PasskeyContext/PasskeyContext.js';
103
- import '../../../../context/OnrampContext/OnrampContext.js';
104
- import '../../../../store/state/sendBalances.js';
105
- import '../../../../store/state/connectorsInitializing/connectorsInitializing.js';
106
79
  import '../../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
80
+ import '../../../../context/WalletGroupContext/WalletGroupContext.js';
107
81
  import '../DynamicWidgetHeader/DynamicWidgetHeader.js';
82
+ import 'react-focus-lock';
83
+ import '../../context/DynamicWidgetContext.js';
108
84
  import { ChooseLinkedWalletView } from '../../views/ChooseLinkedWalletView/ChooseLinkedWalletView.js';
109
85
  import { ChooseOnrampProviderView } from '../../views/ChooseOnrampProviderView/ChooseOnrampProviderView.js';
110
86
  import { ChooseWalletFundingMethod } from '../../views/ChooseWalletFundingMethod/ChooseWalletFundingMethod.js';
@@ -121,16 +97,40 @@ import { ManageTotpMfaWidgetView } from '../../views/ManageTotpMfaWidgetView/Man
121
97
  import { ReceiveWalletFunds } from '../../views/ReceiveWalletFunds/ReceiveWalletFunds.js';
122
98
  import { RevokeAccessView } from '../../views/SessionManagementView/RevokeAccessView/RevokeAccessView.js';
123
99
  import { SessionManagementInfoView } from '../../views/SessionManagementView/SessionManagementInfoView/SessionManagementInfoView.js';
124
- import '../../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
125
- import '../../../../../index.js';
126
- import '../../../../store/state/tokenBalances.js';
127
- import '../../../../store/state/multichainBalances.js';
128
- import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
100
+ import '../../../../components/IconButton/IconButton.js';
129
101
  import '../../../../utils/hooks/useWalletBackup/useWalletBackup.js';
130
102
  import '../../../../utils/hooks/useWalletBackup/types.js';
131
103
  import { WaasBackupInfoView } from '../../views/WaasBackupView/WaasBackupInfoView.js';
132
104
  import '../../../../utils/hooks/useWalletBackup/cloudProviders.js';
133
105
  import { WaasBackupView } from '../../views/WaasBackupView/WaasBackupView.js';
106
+ import { WalletsDelegatedSettingsView } from '../../views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.js';
107
+ import 'formik';
108
+ import '../../../../store/state/sendBalances.js';
109
+ import '../../../../components/OverlayCard/OverlayCard.js';
110
+ import '../../../../components/MenuList/Dropdown/Dropdown.js';
111
+ import '../../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
112
+ import '../../../../context/PasskeyContext/PasskeyContext.js';
113
+ import '../../../../../index.js';
114
+ import '../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.js';
115
+ import '../../../../context/IpConfigurationContext/IpConfigurationContext.js';
116
+ import '../../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
117
+ import '../../../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
118
+ import '@hcaptcha/react-hcaptcha';
119
+ import '../../helpers/convertExchangeKeyAndProviderEnum.js';
120
+ import '../../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.js';
121
+ import '../../../../context/ErrorContext/hooks/useErrorText/useErrorText.js';
122
+ import '../../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
123
+ import '../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
124
+ import '../../../../context/OnrampContext/OnrampContext.js';
125
+ import '../../../../store/state/connectorsInitializing/connectorsInitializing.js';
126
+ import '../../../../store/state/tokenBalances.js';
127
+ import '../../../../store/state/multichainBalances.js';
128
+ import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
129
+ import '../../../../components/InlineWidget/InlineWidget.js';
130
+ import '../../../../components/IsBrowser/IsBrowser.js';
131
+ import '../../../../components/Popper/Popper/Popper.js';
132
+ import '../../../../components/Popper/PopperContext/PopperContext.js';
133
+ import 'qrcode';
134
134
 
135
135
  const mapViewToComponent = {
136
136
  'account-and-security-settings': AccountAndSecuritySettingsView,
@@ -3,43 +3,43 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../../../../_virtual/_tslib.cjs');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var React = require('react');
8
9
  var reactI18next = require('react-i18next');
9
- var Typography = require('../../../../../components/Typography/Typography.cjs');
10
- var TypographyButton = require('../../../../../components/TypographyButton/TypographyButton.cjs');
11
- require('../../../../../context/DynamicContext/DynamicContext.cjs');
12
- require('../../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
10
+ require('@dynamic-labs-sdk/client/core');
11
+ require('@dynamic-labs/sdk-api-core');
12
+ require('../../../../../client/client.cjs');
13
+ require('@dynamic-labs-sdk/client');
14
+ require('../../../../../config/ApiEndpoint.cjs');
13
15
  require('@dynamic-labs/iconic');
14
16
  require('@dynamic-labs/wallet-connector-core');
15
17
  var chevronLeft = require('../../../../../shared/assets/chevron-left.cjs');
16
18
  var faceId = require('../../../../../shared/assets/face-id.cjs');
17
19
  var lock = require('../../../../../shared/assets/lock.cjs');
18
20
  require('../../../../../context/ViewContext/ViewContext.cjs');
19
- require('../../../../../shared/logger.cjs');
21
+ var logger = require('../../../../../shared/logger.cjs');
20
22
  require('@dynamic-labs/wallet-book');
21
23
  require('@dynamic-labs/utils');
22
24
  require('../../../../../utils/constants/colors.cjs');
23
25
  require('../../../../../utils/constants/values.cjs');
24
- require('@dynamic-labs/sdk-api-core');
25
26
  require('../../../../../shared/consts/index.cjs');
26
- require('../../../../../events/dynamicEvents.cjs');
27
- require('../../../../../../../_virtual/_tslib.cjs');
28
- require('../../../../../context/CaptchaContext/CaptchaContext.cjs');
29
- require('../../../../../context/ErrorContext/ErrorContext.cjs');
30
27
  require('@dynamic-labs/multi-wallet');
31
28
  require('react-international-phone');
32
29
  require('../../../../../store/state/nonce/nonce.cjs');
33
- require('@dynamic-labs-sdk/client/core');
34
- require('../../../../../client/client.cjs');
35
- require('@dynamic-labs-sdk/client');
36
- require('../../../../../config/ApiEndpoint.cjs');
37
- var useProjectSettings = require('../../../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.cjs');
38
30
  require('@dynamic-labs/locale');
39
31
  require('../../../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
40
32
  require('../../../../../store/state/primaryWalletId/primaryWalletId.cjs');
41
33
  require('../../../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
42
34
  require('../../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
35
+ require('../../../../../events/dynamicEvents.cjs');
36
+ var useProjectSettings = require('../../../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.cjs');
37
+ var Typography = require('../../../../../components/Typography/Typography.cjs');
38
+ var TypographyButton = require('../../../../../components/TypographyButton/TypographyButton.cjs');
39
+ require('../../../../../context/DynamicContext/DynamicContext.cjs');
40
+ require('../../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
41
+ require('../../../../../context/CaptchaContext/CaptchaContext.cjs');
42
+ require('../../../../../context/ErrorContext/ErrorContext.cjs');
43
43
  require('../../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
44
44
  require('../../../../../context/AccountExistsContext/AccountExistsContext.cjs');
45
45
  require('../../../../../context/UserWalletsContext/UserWalletsContext.cjs');
@@ -135,11 +135,25 @@ const MfaSection = ({ isLoading }) => {
135
135
  const handlePasskeyMfaClick = React.useCallback(() => setDynamicWidgetView('manage-passkeys-mfa'), [setDynamicWidgetView]);
136
136
  const handlePasscodeClick = React.useCallback(() => {
137
137
  setDynamicWidgetView('setup-password', {
138
- onComplete: () => {
139
- // Password setup completed
140
- },
138
+ onComplete: (password) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
139
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address)) {
140
+ logger.logger.error('No wallet address available for password setup');
141
+ return;
142
+ }
143
+ try {
144
+ const connector = wallet.connector;
145
+ yield connector.updatePassword({
146
+ accountAddress: wallet.address,
147
+ existingPassword: '',
148
+ newPassword: password,
149
+ });
150
+ }
151
+ catch (error) {
152
+ logger.logger.error('Failed to update password on modal', error);
153
+ }
154
+ }),
141
155
  });
142
- }, [setDynamicWidgetView]);
156
+ }, [setDynamicWidgetView, wallet]);
143
157
  if (!isMfaEnabled && !isWaasWallet) {
144
158
  return null;
145
159
  }
@@ -1,41 +1,41 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../../../../_virtual/_tslib.js';
2
3
  import { jsxs, jsx } from 'react/jsx-runtime';
3
4
  import { useCallback } from 'react';
4
5
  import { useTranslation } from 'react-i18next';
5
- import { Typography } from '../../../../../components/Typography/Typography.js';
6
- import { TypographyButton } from '../../../../../components/TypographyButton/TypographyButton.js';
7
- import '../../../../../context/DynamicContext/DynamicContext.js';
8
- import '../../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
6
+ import '@dynamic-labs-sdk/client/core';
7
+ import '@dynamic-labs/sdk-api-core';
8
+ import '../../../../../client/client.js';
9
+ import '@dynamic-labs-sdk/client';
10
+ import '../../../../../config/ApiEndpoint.js';
9
11
  import '@dynamic-labs/iconic';
10
12
  import '@dynamic-labs/wallet-connector-core';
11
13
  import { ReactComponent as SvgChevronLeft } from '../../../../../shared/assets/chevron-left.js';
12
14
  import { ReactComponent as SvgFaceId } from '../../../../../shared/assets/face-id.js';
13
15
  import { ReactComponent as SvgLock } from '../../../../../shared/assets/lock.js';
14
16
  import '../../../../../context/ViewContext/ViewContext.js';
15
- import '../../../../../shared/logger.js';
17
+ import { logger } from '../../../../../shared/logger.js';
16
18
  import '@dynamic-labs/wallet-book';
17
19
  import '@dynamic-labs/utils';
18
20
  import '../../../../../utils/constants/colors.js';
19
21
  import '../../../../../utils/constants/values.js';
20
- import '@dynamic-labs/sdk-api-core';
21
22
  import '../../../../../shared/consts/index.js';
22
- import '../../../../../events/dynamicEvents.js';
23
- import '../../../../../../../_virtual/_tslib.js';
24
- import '../../../../../context/CaptchaContext/CaptchaContext.js';
25
- import '../../../../../context/ErrorContext/ErrorContext.js';
26
23
  import '@dynamic-labs/multi-wallet';
27
24
  import 'react-international-phone';
28
25
  import '../../../../../store/state/nonce/nonce.js';
29
- import '@dynamic-labs-sdk/client/core';
30
- import '../../../../../client/client.js';
31
- import '@dynamic-labs-sdk/client';
32
- import '../../../../../config/ApiEndpoint.js';
33
- import { useProjectSettings } from '../../../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.js';
34
26
  import '@dynamic-labs/locale';
35
27
  import '../../../../../store/state/dynamicContextProps/dynamicContextProps.js';
36
28
  import '../../../../../store/state/primaryWalletId/primaryWalletId.js';
37
29
  import '../../../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
38
30
  import '../../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
31
+ import '../../../../../events/dynamicEvents.js';
32
+ import { useProjectSettings } from '../../../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.js';
33
+ import { Typography } from '../../../../../components/Typography/Typography.js';
34
+ import { TypographyButton } from '../../../../../components/TypographyButton/TypographyButton.js';
35
+ import '../../../../../context/DynamicContext/DynamicContext.js';
36
+ import '../../../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
37
+ import '../../../../../context/CaptchaContext/CaptchaContext.js';
38
+ import '../../../../../context/ErrorContext/ErrorContext.js';
39
39
  import '../../../../../context/AccessDeniedContext/AccessDeniedContext.js';
40
40
  import '../../../../../context/AccountExistsContext/AccountExistsContext.js';
41
41
  import '../../../../../context/UserWalletsContext/UserWalletsContext.js';
@@ -131,11 +131,25 @@ const MfaSection = ({ isLoading }) => {
131
131
  const handlePasskeyMfaClick = useCallback(() => setDynamicWidgetView('manage-passkeys-mfa'), [setDynamicWidgetView]);
132
132
  const handlePasscodeClick = useCallback(() => {
133
133
  setDynamicWidgetView('setup-password', {
134
- onComplete: () => {
135
- // Password setup completed
136
- },
134
+ onComplete: (password) => __awaiter(void 0, void 0, void 0, function* () {
135
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address)) {
136
+ logger.error('No wallet address available for password setup');
137
+ return;
138
+ }
139
+ try {
140
+ const connector = wallet.connector;
141
+ yield connector.updatePassword({
142
+ accountAddress: wallet.address,
143
+ existingPassword: '',
144
+ newPassword: password,
145
+ });
146
+ }
147
+ catch (error) {
148
+ logger.error('Failed to update password on modal', error);
149
+ }
150
+ }),
137
151
  });
138
- }, [setDynamicWidgetView]);
152
+ }, [setDynamicWidgetView, wallet]);
139
153
  if (!isMfaEnabled && !isWaasWallet) {
140
154
  return null;
141
155
  }
@@ -0,0 +1,71 @@
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 Icon = require('../../../../components/Icon/Icon.cjs');
11
+ var Input = require('../../../../components/Input/Input.cjs');
12
+ var ToggleVisibilityButton = require('../../../../components/ToggleVisibilityButton/ToggleVisibilityButton.cjs');
13
+ var Typography = require('../../../../components/Typography/Typography.cjs');
14
+ var TypographyButton = require('../../../../components/TypographyButton/TypographyButton.cjs');
15
+ var errorCircleX = require('../../../../shared/assets/error-circle-x.cjs');
16
+ var passwordLockIcon = require('../../../../shared/assets/password-lock-icon.cjs');
17
+ require('@dynamic-labs/iconic');
18
+ require('../../../../context/ViewContext/ViewContext.cjs');
19
+
20
+ const INVALID_PASSWORD_ERROR_MESSAGE = 'Decryption failed: Invalid password';
21
+ const EnterPasswordView = ({ onContinue, title, description, buttonLabel, isLoading: externalLoading, }) => {
22
+ const { t } = reactI18next.useTranslation();
23
+ const [password, setPassword] = React.useState('');
24
+ const [showPassword, setShowPassword] = React.useState(false);
25
+ const [isLoading, setIsLoading] = React.useState(false);
26
+ const [error, setError] = React.useState(null);
27
+ const handlePasswordChange = React.useCallback((e) => {
28
+ setPassword(e.target.value);
29
+ setError(null);
30
+ }, []);
31
+ const handleToggleVisibility = React.useCallback((hidden) => {
32
+ setShowPassword(!hidden);
33
+ }, []);
34
+ const handleContinue = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
35
+ if (!password) {
36
+ setError(t('dyn_enter_password.error.required'));
37
+ return;
38
+ }
39
+ setIsLoading(true);
40
+ setError(null);
41
+ try {
42
+ yield onContinue(password);
43
+ }
44
+ catch (err) {
45
+ let errorMessage;
46
+ if (err instanceof Error) {
47
+ if (err.message.includes(INVALID_PASSWORD_ERROR_MESSAGE)) {
48
+ errorMessage = t('dyn_enter_password.error.invalid_password');
49
+ }
50
+ else {
51
+ errorMessage = err.message;
52
+ }
53
+ }
54
+ else {
55
+ errorMessage = t('dyn_enter_password.error.failed');
56
+ }
57
+ setError(errorMessage);
58
+ }
59
+ finally {
60
+ setIsLoading(false);
61
+ }
62
+ }), [password, onContinue, t]);
63
+ const loading = externalLoading || isLoading;
64
+ return (jsxRuntime.jsx("div", { className: 'enter-password-view', children: jsxRuntime.jsxs("div", { className: 'enter-password-view__body', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', copykey: 'dyn_enter_password.title', className: 'enter-password-view__title', style: { marginBottom: '24px', textAlign: 'center' }, children: title !== null && title !== void 0 ? title : t('dyn_enter_password.title') }), jsxRuntime.jsx("div", { className: 'enter-password-view__icon-container', children: jsxRuntime.jsx(Icon.Icon, { color: 'brand-primary', children: jsxRuntime.jsx(passwordLockIcon.ReactComponent, { width: 64, height: 64 }) }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', copykey: 'dyn_enter_password.description', className: 'enter-password-view__description', children: description !== null && description !== void 0 ? description : t('dyn_enter_password.description') }), jsxRuntime.jsx(Input.Input, { id: 'enter-password-input', type: showPassword ? 'text' : 'password', label: t('dyn_enter_password.label'), placeholder: t('dyn_enter_password.placeholder'), value: password, onChange: handlePasswordChange, variant: 'regular', error: Boolean(error), message: error ? (jsxRuntime.jsxs("span", { className: 'enter-password-view__error-message', children: [jsxRuntime.jsx(errorCircleX.ReactComponent, { width: 14, height: 14 }), error] })) : undefined, suffix:
65
+ // eslint-disable-next-line react/jsx-wrap-multilines
66
+ jsxRuntime.jsx(ToggleVisibilityButton.ToggleVisibilityButton, { initialState: true, onClick: handleToggleVisibility }) }), jsxRuntime.jsx("div", { className: 'enter-password-view__actions', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'enter-password-continue-button', onClick: handleContinue, disabled: !password || loading, copykey: 'dyn_enter_password.button.continue', buttonVariant: 'brand-primary', typographyProps: {
67
+ color: 'inherit',
68
+ }, expanded: true, children: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : t('dyn_enter_password.button.continue') }) })] }) }));
69
+ };
70
+
71
+ exports.EnterPasswordView = EnterPasswordView;
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ export type EnterPasswordViewProps = {
3
+ onContinue: (password: string) => Promise<void>;
4
+ title?: string;
5
+ description?: string;
6
+ buttonLabel?: string;
7
+ isLoading?: boolean;
8
+ };
9
+ export declare const EnterPasswordView: FC<EnterPasswordViewProps>;
@@ -0,0 +1,67 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import { useState, useCallback } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { Icon } from '../../../../components/Icon/Icon.js';
7
+ import { Input } from '../../../../components/Input/Input.js';
8
+ import { ToggleVisibilityButton } from '../../../../components/ToggleVisibilityButton/ToggleVisibilityButton.js';
9
+ import { Typography } from '../../../../components/Typography/Typography.js';
10
+ import { TypographyButton } from '../../../../components/TypographyButton/TypographyButton.js';
11
+ import { ReactComponent as SvgErrorCircleX } from '../../../../shared/assets/error-circle-x.js';
12
+ import { ReactComponent as SvgPasswordLockIcon } from '../../../../shared/assets/password-lock-icon.js';
13
+ import '@dynamic-labs/iconic';
14
+ import '../../../../context/ViewContext/ViewContext.js';
15
+
16
+ const INVALID_PASSWORD_ERROR_MESSAGE = 'Decryption failed: Invalid password';
17
+ const EnterPasswordView = ({ onContinue, title, description, buttonLabel, isLoading: externalLoading, }) => {
18
+ const { t } = useTranslation();
19
+ const [password, setPassword] = useState('');
20
+ const [showPassword, setShowPassword] = useState(false);
21
+ const [isLoading, setIsLoading] = useState(false);
22
+ const [error, setError] = useState(null);
23
+ const handlePasswordChange = useCallback((e) => {
24
+ setPassword(e.target.value);
25
+ setError(null);
26
+ }, []);
27
+ const handleToggleVisibility = useCallback((hidden) => {
28
+ setShowPassword(!hidden);
29
+ }, []);
30
+ const handleContinue = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
31
+ if (!password) {
32
+ setError(t('dyn_enter_password.error.required'));
33
+ return;
34
+ }
35
+ setIsLoading(true);
36
+ setError(null);
37
+ try {
38
+ yield onContinue(password);
39
+ }
40
+ catch (err) {
41
+ let errorMessage;
42
+ if (err instanceof Error) {
43
+ if (err.message.includes(INVALID_PASSWORD_ERROR_MESSAGE)) {
44
+ errorMessage = t('dyn_enter_password.error.invalid_password');
45
+ }
46
+ else {
47
+ errorMessage = err.message;
48
+ }
49
+ }
50
+ else {
51
+ errorMessage = t('dyn_enter_password.error.failed');
52
+ }
53
+ setError(errorMessage);
54
+ }
55
+ finally {
56
+ setIsLoading(false);
57
+ }
58
+ }), [password, onContinue, t]);
59
+ const loading = externalLoading || isLoading;
60
+ return (jsx("div", { className: 'enter-password-view', children: jsxs("div", { className: 'enter-password-view__body', children: [jsx(Typography, { variant: 'title', color: 'primary', copykey: 'dyn_enter_password.title', className: 'enter-password-view__title', style: { marginBottom: '24px', textAlign: 'center' }, children: title !== null && title !== void 0 ? title : t('dyn_enter_password.title') }), jsx("div", { className: 'enter-password-view__icon-container', children: jsx(Icon, { color: 'brand-primary', children: jsx(SvgPasswordLockIcon, { width: 64, height: 64 }) }) }), jsx(Typography, { variant: 'body_normal', color: 'secondary', copykey: 'dyn_enter_password.description', className: 'enter-password-view__description', children: description !== null && description !== void 0 ? description : t('dyn_enter_password.description') }), jsx(Input, { id: 'enter-password-input', type: showPassword ? 'text' : 'password', label: t('dyn_enter_password.label'), placeholder: t('dyn_enter_password.placeholder'), value: password, onChange: handlePasswordChange, variant: 'regular', error: Boolean(error), message: error ? (jsxs("span", { className: 'enter-password-view__error-message', children: [jsx(SvgErrorCircleX, { width: 14, height: 14 }), error] })) : undefined, suffix:
61
+ // eslint-disable-next-line react/jsx-wrap-multilines
62
+ jsx(ToggleVisibilityButton, { initialState: true, onClick: handleToggleVisibility }) }), jsx("div", { className: 'enter-password-view__actions', children: jsx(TypographyButton, { dataTestId: 'enter-password-continue-button', onClick: handleContinue, disabled: !password || loading, copykey: 'dyn_enter_password.button.continue', buttonVariant: 'brand-primary', typographyProps: {
63
+ color: 'inherit',
64
+ }, expanded: true, children: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : t('dyn_enter_password.button.continue') }) })] }) }));
65
+ };
66
+
67
+ export { EnterPasswordView };