@dynamic-labs/sdk-react-core 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (85) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +10 -10
  5. package/src/index.cjs +4 -2
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +2 -1
  8. package/src/lib/Main.cjs +18 -21
  9. package/src/lib/Main.js +18 -21
  10. package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +84 -5
  11. package/src/lib/components/NeedHelpSection/NeedHelpSection.js +85 -6
  12. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +8 -6
  13. package/src/lib/components/NetworkPicker/NetworkPicker.d.ts +2 -1
  14. package/src/lib/components/NetworkPicker/NetworkPicker.js +8 -6
  15. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +1 -1
  16. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +1 -1
  17. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.cjs +2 -17
  18. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.d.ts +2 -2
  19. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.js +2 -17
  20. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +1 -1
  21. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +1 -1
  22. package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -4
  23. package/src/lib/context/DynamicContext/DynamicContext.js +1 -4
  24. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  25. package/src/lib/data/api.cjs +2 -1
  26. package/src/lib/data/api.js +2 -1
  27. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +9 -11
  28. package/src/lib/layout/DynamicAuthLayout/Header/header.js +10 -12
  29. package/src/lib/locale/en/translation.cjs +7 -3
  30. package/src/lib/locale/en/translation.d.ts +6 -2
  31. package/src/lib/locale/en/translation.js +7 -3
  32. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +1 -1
  33. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +1 -1
  34. package/src/lib/styles/index.shadow.cjs +1 -1
  35. package/src/lib/styles/index.shadow.js +1 -1
  36. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +1 -1
  37. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +1 -1
  38. package/src/lib/utils/hooks/index.d.ts +1 -0
  39. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +1 -6
  40. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +1 -6
  41. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +3 -0
  42. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +3 -0
  43. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -8
  44. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -8
  45. package/src/lib/utils/hooks/useEventListener/useEventListener.cjs +2 -1
  46. package/src/lib/utils/hooks/useEventListener/useEventListener.js +2 -1
  47. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +9 -5
  48. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +0 -1
  49. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +10 -6
  50. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +20 -21
  51. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -2
  52. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +20 -21
  53. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +32 -9
  54. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.d.ts +0 -1
  55. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +33 -10
  56. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -1
  57. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -1
  58. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +6 -3
  59. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +6 -3
  60. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +1 -1
  61. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +1 -1
  62. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +1 -1
  63. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +1 -1
  64. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -1
  65. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -1
  66. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +7 -6
  67. package/src/lib/views/SendBalanceView/SendBalanceView.js +7 -6
  68. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +16 -3
  69. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +16 -3
  70. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +3 -0
  71. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +4 -1
  72. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +3 -3
  73. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +3 -3
  74. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -2
  75. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -2
  76. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -2
  77. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -2
  78. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -2
  79. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -2
  80. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -3
  81. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -3
  82. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -1
  83. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -1
  84. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +16 -6
  85. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +16 -6
package/CHANGELOG.md CHANGED
@@ -1,4 +1,31 @@
1
1
 
2
+ ## [1.0.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2023-12-05)
3
+
4
+
5
+ ### Features
6
+
7
+ * add support for Turnkey HD wallets and backwards compatiblity for private key wallets ([#4011](https://github.com/dynamic-labs/DynamicAuth/issues/4011)) ([75c5258](https://github.com/dynamic-labs/DynamicAuth/commit/75c5258da494d5d4dfa8b96655303dd9645f2269))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * add close button to wallets list ([#4036](https://github.com/dynamic-labs/DynamicAuth/issues/4036)) ([a2b988b](https://github.com/dynamic-labs/DynamicAuth/commit/a2b988bdfc662af6f85d37a79ed6666c483aa447))
13
+ * add support for embedded wallets in connect-only ([#4041](https://github.com/dynamic-labs/DynamicAuth/issues/4041)) ([ceea635](https://github.com/dynamic-labs/DynamicAuth/commit/ceea635b69e2a0c2636b47fbd30639d69dba7a1c))
14
+ * embedded wallet invalid stored chain breaking network picker ([#4050](https://github.com/dynamic-labs/DynamicAuth/issues/4050)) ([2e2384b](https://github.com/dynamic-labs/DynamicAuth/commit/2e2384ba37407d9164cce47e23f5d5f469f7e062))
15
+ * handle insufficient funds from AA provider ([#4027](https://github.com/dynamic-labs/DynamicAuth/issues/4027)) ([6b9cc88](https://github.com/dynamic-labs/DynamicAuth/commit/6b9cc886f4f2590094bd50aba195c07a5532dfa4))
16
+ * prevent double logout caused by wagmi sync ([#4048](https://github.com/dynamic-labs/DynamicAuth/issues/4048)) ([c66c81c](https://github.com/dynamic-labs/DynamicAuth/commit/c66c81c80839aa9ce1cfae76f4afce12e34f3513))
17
+ * properly detect network switch for secondary wallets ([#4038](https://github.com/dynamic-labs/DynamicAuth/issues/4038)) ([f87174d](https://github.com/dynamic-labs/DynamicAuth/commit/f87174de0892dd057401eaf3c0bc68d974add0fc))
18
+ * **use-wallets-connected-state:** update state on wallet id change ([#4045](https://github.com/dynamic-labs/DynamicAuth/issues/4045)) ([ca3a835](https://github.com/dynamic-labs/DynamicAuth/commit/ca3a8359eae386bffa758ed646ac14af8360a7f8))
19
+ * user should be able to see the full passkey name on management view ([#4043](https://github.com/dynamic-labs/DynamicAuth/issues/4043)) ([7bc1b70](https://github.com/dynamic-labs/DynamicAuth/commit/7bc1b7043cbc9f0e21df78a57efc3e6938a99db2))
20
+ * users should be able to easily find passkey recovery ([#4058](https://github.com/dynamic-labs/DynamicAuth/issues/4058)) ([0202ae9](https://github.com/dynamic-labs/DynamicAuth/commit/0202ae98c96544dec5ac357dc77000996e32ad33))
21
+
22
+ ## [1.0.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2023-11-29)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * transaction layout show alert ([#4024](https://github.com/dynamic-labs/DynamicAuth/issues/4024)) ([52057f5](https://github.com/dynamic-labs/DynamicAuth/commit/52057f54ebc32464b2486a2328cb6310caf85208)), closes [#4020](https://github.com/dynamic-labs/DynamicAuth/issues/4020)
28
+
2
29
  ## [1.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2023-11-29)
3
30
 
4
31
 
package/package.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "1.0.0-alpha.5";
5
+ var version = "1.0.0-alpha.7";
6
6
  var dependencies = {
7
7
  "@dynamic-labs/iconic": "0.1.44",
8
- "@dynamic-labs/sdk-api": "0.0.311",
8
+ "@dynamic-labs/sdk-api": "0.0.315",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
11
11
  formik: "2.2.9",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
- var version = "1.0.0-alpha.5";
1
+ var version = "1.0.0-alpha.7";
2
2
  var dependencies = {
3
3
  "@dynamic-labs/iconic": "0.1.44",
4
- "@dynamic-labs/sdk-api": "0.0.311",
4
+ "@dynamic-labs/sdk-api": "0.0.315",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
7
7
  formik: "2.2.9",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "1.0.0-alpha.5",
3
+ "version": "1.0.0-alpha.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@dynamic-labs/iconic": "0.1.44",
11
- "@dynamic-labs/sdk-api": "0.0.311",
11
+ "@dynamic-labs/sdk-api": "0.0.315",
12
12
  "@hcaptcha/react-hcaptcha": "1.4.4",
13
13
  "country-list": "2.3.0",
14
14
  "formik": "2.2.9",
@@ -17,14 +17,14 @@
17
17
  "react-focus-lock": "2.9.2",
18
18
  "react-i18next": "^13.2.0",
19
19
  "yup": "0.32.11",
20
- "@dynamic-labs/ethereum": "1.0.0-alpha.5",
21
- "@dynamic-labs/logger": "1.0.0-alpha.5",
22
- "@dynamic-labs/multi-wallet": "1.0.0-alpha.5",
23
- "@dynamic-labs/rpc-providers": "1.0.0-alpha.5",
24
- "@dynamic-labs/types": "1.0.0-alpha.5",
25
- "@dynamic-labs/utils": "1.0.0-alpha.5",
26
- "@dynamic-labs/wallet-book": "1.0.0-alpha.5",
27
- "@dynamic-labs/wallet-connector-core": "1.0.0-alpha.5",
20
+ "@dynamic-labs/ethereum": "1.0.0-alpha.7",
21
+ "@dynamic-labs/logger": "1.0.0-alpha.7",
22
+ "@dynamic-labs/multi-wallet": "1.0.0-alpha.7",
23
+ "@dynamic-labs/rpc-providers": "1.0.0-alpha.7",
24
+ "@dynamic-labs/types": "1.0.0-alpha.7",
25
+ "@dynamic-labs/utils": "1.0.0-alpha.7",
26
+ "@dynamic-labs/wallet-book": "1.0.0-alpha.7",
27
+ "@dynamic-labs/wallet-connector-core": "1.0.0-alpha.7",
28
28
  "eventemitter3": "5.0.1"
29
29
  },
30
30
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -148,12 +148,13 @@ require('formik');
148
148
  require('viem');
149
149
  require('./lib/components/IconButton/IconButton.cjs');
150
150
  require('./lib/components/Alert/Alert.cjs');
151
- var useEmbeddedWallet = require('./lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs');
151
+ var usePasskeyRecovery = require('./lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs');
152
152
  require('./lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
153
153
  var useWalletItemActions = require('./lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs');
154
154
  var useAuthenticateConnectedUser = require('./lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs');
155
155
  require('./lib/context/UserFieldEditorContext/UserFieldEditorContext.cjs');
156
156
  require('./lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
157
+ var useEmbeddedWallet = require('./lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs');
157
158
  var useIsLoggedIn = require('./lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.cjs');
158
159
  var DynamicConnectButton = require('./lib/components/DynamicConnectButton/DynamicConnectButton.cjs');
159
160
  require('./lib/components/InlineWidget/InlineWidget.cjs');
@@ -306,9 +307,10 @@ exports.useEmailVerificationRequest = useEmailVerificationRequest.useEmailVerifi
306
307
  exports.DynamicWidgetContextProvider = DynamicWidgetContext.DynamicWidgetContextProvider;
307
308
  exports.useSocialAccounts = useSocialAccounts.useSocialAccounts;
308
309
  exports.useUserUpdateRequest = useUserUpdateRequest.useUserUpdateRequest;
309
- exports.useEmbeddedWallet = useEmbeddedWallet.useEmbeddedWallet;
310
+ exports.usePasskeyRecovery = usePasskeyRecovery.usePasskeyRecovery;
310
311
  exports.useWalletItemActions = useWalletItemActions.useWalletItemActions;
311
312
  exports.useAuthenticateConnectedUser = useAuthenticateConnectedUser.useAuthenticateConnectedUser;
313
+ exports.useEmbeddedWallet = useEmbeddedWallet.useEmbeddedWallet;
312
314
  exports.useIsLoggedIn = useIsLoggedIn.useIsLoggedIn;
313
315
  exports.DynamicConnectButton = DynamicConnectButton.DynamicConnectButton;
314
316
  exports.IsBrowser = IsBrowser.IsBrowser;
package/src/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export { classNames } from './lib/utils/functions/classNames';
23
23
  export { getNetwork } from './lib/utils/functions/getNetwork';
24
24
  export * from './lib/utils/functions/walletFilters';
25
25
  export { DynamicWidgetContextProvider } from './lib/widgets/DynamicWidget/context';
26
- export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useIsLoggedIn, } from './lib/utils/hooks';
26
+ export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, usePasskeyRecovery, useIsLoggedIn, } from './lib/utils/hooks';
27
27
  export { useUserUpdateRequest } from './lib/utils/hooks';
28
28
  export { type VerifyEmailCallback, useEmailVerificationRequest, } from './lib/utils/hooks/authenticationHooks/';
29
29
  export type { UpdateUserFieldsArg } from './lib/utils/hooks/';
package/src/index.js CHANGED
@@ -144,12 +144,13 @@ import 'formik';
144
144
  import 'viem';
145
145
  import './lib/components/IconButton/IconButton.js';
146
146
  import './lib/components/Alert/Alert.js';
147
- export { useEmbeddedWallet } from './lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js';
147
+ export { usePasskeyRecovery } from './lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js';
148
148
  import './lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
149
149
  export { useWalletItemActions } from './lib/utils/hooks/useWalletItemActions/useWalletItemActions.js';
150
150
  export { useAuthenticateConnectedUser } from './lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js';
151
151
  import './lib/context/UserFieldEditorContext/UserFieldEditorContext.js';
152
152
  import './lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
153
+ export { useEmbeddedWallet } from './lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js';
153
154
  export { useIsLoggedIn } from './lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.js';
154
155
  export { DynamicConnectButton } from './lib/components/DynamicConnectButton/DynamicConnectButton.js';
155
156
  import './lib/components/InlineWidget/InlineWidget.js';
package/src/lib/Main.cjs CHANGED
@@ -92,27 +92,24 @@ const Main = () => {
92
92
  // We want to disconnect wallet when users closes `network not supported` view
93
93
  // without updating network in wallet
94
94
  // We use onExiting instead onUnmount to avoid jump effect in inline widget
95
- if (isConnectOnly.isConnectOnly(user, authMode)) {
96
- const viewsToDisconnectWalletOnClose = [
97
- 'network-not-supported',
98
- 'network-not-supported-manual',
99
- ];
100
- if (viewsToDisconnectWalletOnClose.includes(view)) {
101
- if (!selectedWalletConnector) {
102
- return;
103
- }
104
- const walletByConnectorName = connectedWallets.find((connectedWallet) => connectedWallet.connector.name === selectedWalletConnector.name);
105
- if (!walletByConnectorName) {
106
- return;
107
- }
108
- // Validate the network
109
- if (!isSupportedNetwork.isSupportedNetwork({
110
- network: yield walletByConnectorName.connector.getNetwork(),
111
- walletConnector: walletByConnectorName.connector,
112
- })) {
113
- disconnectWallet(walletByConnectorName.id);
114
- }
115
- }
95
+ const viewsToDisconnectWalletOnClose = [
96
+ 'network-not-supported',
97
+ 'network-not-supported-manual',
98
+ ];
99
+ if (!isConnectOnly.isConnectOnly(user, authMode) ||
100
+ !viewsToDisconnectWalletOnClose.includes(view) ||
101
+ !selectedWalletConnector)
102
+ return;
103
+ const walletByConnectorName = connectedWallets.find((connectedWallet) => connectedWallet.connector.name === selectedWalletConnector.name);
104
+ if (!walletByConnectorName) {
105
+ return;
106
+ }
107
+ // Validate the network
108
+ if (!isSupportedNetwork.isSupportedNetwork({
109
+ network: yield walletByConnectorName.connector.getNetwork(),
110
+ walletConnector: walletByConnectorName.connector,
111
+ })) {
112
+ disconnectWallet(walletByConnectorName.id);
116
113
  }
117
114
  }), [
118
115
  selectedWalletConnector,
package/src/lib/Main.js CHANGED
@@ -88,27 +88,24 @@ const Main = () => {
88
88
  // We want to disconnect wallet when users closes `network not supported` view
89
89
  // without updating network in wallet
90
90
  // We use onExiting instead onUnmount to avoid jump effect in inline widget
91
- if (isConnectOnly(user, authMode)) {
92
- const viewsToDisconnectWalletOnClose = [
93
- 'network-not-supported',
94
- 'network-not-supported-manual',
95
- ];
96
- if (viewsToDisconnectWalletOnClose.includes(view)) {
97
- if (!selectedWalletConnector) {
98
- return;
99
- }
100
- const walletByConnectorName = connectedWallets.find((connectedWallet) => connectedWallet.connector.name === selectedWalletConnector.name);
101
- if (!walletByConnectorName) {
102
- return;
103
- }
104
- // Validate the network
105
- if (!isSupportedNetwork({
106
- network: yield walletByConnectorName.connector.getNetwork(),
107
- walletConnector: walletByConnectorName.connector,
108
- })) {
109
- disconnectWallet(walletByConnectorName.id);
110
- }
111
- }
91
+ const viewsToDisconnectWalletOnClose = [
92
+ 'network-not-supported',
93
+ 'network-not-supported-manual',
94
+ ];
95
+ if (!isConnectOnly(user, authMode) ||
96
+ !viewsToDisconnectWalletOnClose.includes(view) ||
97
+ !selectedWalletConnector)
98
+ return;
99
+ const walletByConnectorName = connectedWallets.find((connectedWallet) => connectedWallet.connector.name === selectedWalletConnector.name);
100
+ if (!walletByConnectorName) {
101
+ return;
102
+ }
103
+ // Validate the network
104
+ if (!isSupportedNetwork({
105
+ network: yield walletByConnectorName.connector.getNetwork(),
106
+ walletConnector: walletByConnectorName.connector,
107
+ })) {
108
+ disconnectWallet(walletByConnectorName.id);
112
109
  }
113
110
  }), [
114
111
  selectedWalletConnector,
@@ -5,18 +5,97 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactI18next = require('react-i18next');
7
7
  var useInternalDynamicContext = require('../../context/DynamicContext/useInternalDynamicContext.cjs');
8
+ require('react');
9
+ require('@dynamic-labs/utils');
10
+ require('@dynamic-labs/sdk-api');
11
+ require('../../config/ApiEndpoint.cjs');
12
+ require('../../shared/logger.cjs');
13
+ require('@dynamic-labs/iconic');
14
+ require('@dynamic-labs/wallet-connector-core');
15
+ var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
16
+ require('@dynamic-labs/wallet-book');
17
+ require('../../utils/constants/colors.cjs');
18
+ require('../../shared/utils/classes/storage/localStorage.cjs');
19
+ require('viem');
20
+ require('../../shared/consts/index.cjs');
21
+ require('@dynamic-labs/multi-wallet');
22
+ require('@dynamic-labs/rpc-providers');
23
+ require('../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
24
+ require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
25
+ require('../../context/AccountExistsContext/AccountExistsContext.cjs');
26
+ require('../../context/ErrorContext/ErrorContext.cjs');
27
+ require('react-dom');
28
+ var classNames = require('../../utils/functions/classNames/classNames.cjs');
29
+ require('../Alert/Alert.cjs');
8
30
  var Typography = require('../Typography/Typography.cjs');
31
+ var TextButton = require('../TextButton/TextButton.cjs');
32
+ require('../ShadowDOM/ShadowDOM.cjs');
33
+ require('../IconButton/IconButton.cjs');
34
+ require('../../context/ThemeContext/ThemeContext.cjs');
35
+ require('../InlineWidget/InlineWidget.cjs');
36
+ require('../MenuList/Dropdown/Dropdown.cjs');
37
+ require('../Transition/ZoomTransition/ZoomTransition.cjs');
38
+ require('../Transition/SlideInUpTransition/SlideInUpTransition.cjs');
39
+ require('../Transition/OpacityTransition/OpacityTransition.cjs');
40
+ require('../Popper/Popper/Popper.cjs');
41
+ require('../Popper/PopperContext/PopperContext.cjs');
42
+ require('react-focus-lock');
43
+ require('formik');
44
+ require('yup');
45
+ require('../OverlayCard/OverlayCard.context.cjs');
46
+ require('../../context/FooterAnimationContext/index.cjs');
47
+ require('../../context/MockContext/MockContext.cjs');
48
+ require('../../context/QrCodeContext/QrCodeContext.cjs');
49
+ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
50
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
51
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
52
+ require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
53
+ require('qrcode');
54
+ require('../../context/LoadingContext/LoadingContext.cjs');
55
+ require('i18next');
56
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
57
+ require('../UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
58
+ require('@dynamic-labs/types');
59
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
60
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
61
+ var usePasskeyRecovery = require('../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs');
62
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
9
63
 
10
64
  const NeedHelpSection = () => {
65
+ var _a, _b, _c, _d;
11
66
  const { projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
12
67
  const { t } = reactI18next.useTranslation();
13
- const supportEmail = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportEmail;
14
- const supportUrl = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls) &&
15
- Object.values(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls)[0];
16
- if (!supportEmail && !supportUrl) {
68
+ const { initPasskeyRecoveryProcess } = usePasskeyRecovery.usePasskeyRecovery();
69
+ const { view } = ViewContext.useViewContext();
70
+ const supportEmail = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportEmail;
71
+ const supportUrl = ((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _b === void 0 ? void 0 : _b.supportUrls) &&
72
+ ((_c = Object.values(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls)) === null || _c === void 0 ? void 0 : _c[0]);
73
+ // don't show passkey recovery helper on passkey creation flow views
74
+ const isRecoveryEnabled = !view.startsWith('passkey') &&
75
+ Boolean((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.passkeyEmbeddedWalletRecoveryEnabled);
76
+ const hasContactInfo = Boolean(supportEmail || supportUrl);
77
+ const getSupportHelpSession = () => {
78
+ if (!hasContactInfo) {
79
+ return null;
80
+ }
81
+ return (jsxRuntime.jsxs("div", { className: 'need-help-section__links', children: [supportUrl && (jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'link', children: jsxRuntime.jsx("a", { href: supportUrl, rel: 'noreferrer', target: '_blank', children: t('dyn_need_help_section.contact_support') }) })), supportEmail && (jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'link', children: jsxRuntime.jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail }) }))] }));
82
+ };
83
+ const getPasskeyRecoverySession = () => {
84
+ if (!isRecoveryEnabled) {
85
+ return null;
86
+ }
87
+ const recoveryText = t('dyn_need_help_section.recovery_button');
88
+ const finalRecoveryText = hasContactInfo
89
+ ? recoveryText
90
+ : recoveryText.slice(0, 1).toUpperCase() + recoveryText.slice(1);
91
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [hasContactInfo && (jsxRuntime.jsx(Typography.Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.divider') })), jsxRuntime.jsx(TextButton.TextButton, { className: classNames.classNames('helper-link', {
92
+ 'need-help-section--captalize': !hasContactInfo,
93
+ }), onClick: initPasskeyRecoveryProcess, children: finalRecoveryText })] }));
94
+ };
95
+ if (!hasContactInfo && !isRecoveryEnabled) {
17
96
  return null;
18
97
  }
19
- return (jsxRuntime.jsxs("div", { className: 'need-help-section', children: [jsxRuntime.jsx(Typography.Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.info') }), jsxRuntime.jsxs("div", { className: 'need-help-section__links', children: [supportUrl && (jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'link', children: jsxRuntime.jsx("a", { href: supportUrl, rel: 'noreferrer', target: '_blank', children: t('dyn_need_help_section.contact_support') }) })), supportEmail && (jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'link', children: jsxRuntime.jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail }) }))] })] }));
98
+ return (jsxRuntime.jsxs("div", { className: 'need-help-section', children: [jsxRuntime.jsx(Typography.Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.info') }), getSupportHelpSession(), getPasskeyRecoverySession()] }));
20
99
  };
21
100
 
22
101
  exports.NeedHelpSection = NeedHelpSection;
@@ -1,18 +1,97 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { useInternalDynamicContext } from '../../context/DynamicContext/useInternalDynamicContext.js';
4
+ import 'react';
5
+ import '@dynamic-labs/utils';
6
+ import '@dynamic-labs/sdk-api';
7
+ import '../../config/ApiEndpoint.js';
8
+ import '../../shared/logger.js';
9
+ import '@dynamic-labs/iconic';
10
+ import '@dynamic-labs/wallet-connector-core';
11
+ import { useViewContext } from '../../context/ViewContext/ViewContext.js';
12
+ import '@dynamic-labs/wallet-book';
13
+ import '../../utils/constants/colors.js';
14
+ import '../../shared/utils/classes/storage/localStorage.js';
15
+ import 'viem';
16
+ import '../../shared/consts/index.js';
17
+ import '@dynamic-labs/multi-wallet';
18
+ import '@dynamic-labs/rpc-providers';
19
+ import '../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
20
+ import '../../context/AccessDeniedContext/AccessDeniedContext.js';
21
+ import '../../context/AccountExistsContext/AccountExistsContext.js';
22
+ import '../../context/ErrorContext/ErrorContext.js';
23
+ import 'react-dom';
24
+ import { classNames } from '../../utils/functions/classNames/classNames.js';
25
+ import '../Alert/Alert.js';
4
26
  import { Typography } from '../Typography/Typography.js';
27
+ import { TextButton } from '../TextButton/TextButton.js';
28
+ import '../ShadowDOM/ShadowDOM.js';
29
+ import '../IconButton/IconButton.js';
30
+ import '../../context/ThemeContext/ThemeContext.js';
31
+ import '../InlineWidget/InlineWidget.js';
32
+ import '../MenuList/Dropdown/Dropdown.js';
33
+ import '../Transition/ZoomTransition/ZoomTransition.js';
34
+ import '../Transition/SlideInUpTransition/SlideInUpTransition.js';
35
+ import '../Transition/OpacityTransition/OpacityTransition.js';
36
+ import '../Popper/Popper/Popper.js';
37
+ import '../Popper/PopperContext/PopperContext.js';
38
+ import 'react-focus-lock';
39
+ import 'formik';
40
+ import 'yup';
41
+ import '../OverlayCard/OverlayCard.context.js';
42
+ import '../../context/FooterAnimationContext/index.js';
43
+ import '../../context/MockContext/MockContext.js';
44
+ import '../../context/QrCodeContext/QrCodeContext.js';
45
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
46
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
47
+ import '../../context/CaptchaContext/CaptchaContext.js';
48
+ import '../../context/EmailVerificationContext/EmailVerificationContext.js';
49
+ import 'qrcode';
50
+ import '../../context/LoadingContext/LoadingContext.js';
51
+ import 'i18next';
52
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
53
+ import '../UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
54
+ import '@dynamic-labs/types';
55
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
56
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
57
+ import { usePasskeyRecovery } from '../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js';
58
+ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
5
59
 
6
60
  const NeedHelpSection = () => {
61
+ var _a, _b, _c, _d;
7
62
  const { projectSettings } = useInternalDynamicContext();
8
63
  const { t } = useTranslation();
9
- const supportEmail = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportEmail;
10
- const supportUrl = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls) &&
11
- Object.values(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls)[0];
12
- if (!supportEmail && !supportUrl) {
64
+ const { initPasskeyRecoveryProcess } = usePasskeyRecovery();
65
+ const { view } = useViewContext();
66
+ const supportEmail = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportEmail;
67
+ const supportUrl = ((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _b === void 0 ? void 0 : _b.supportUrls) &&
68
+ ((_c = Object.values(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.supportUrls)) === null || _c === void 0 ? void 0 : _c[0]);
69
+ // don't show passkey recovery helper on passkey creation flow views
70
+ const isRecoveryEnabled = !view.startsWith('passkey') &&
71
+ Boolean((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.passkeyEmbeddedWalletRecoveryEnabled);
72
+ const hasContactInfo = Boolean(supportEmail || supportUrl);
73
+ const getSupportHelpSession = () => {
74
+ if (!hasContactInfo) {
75
+ return null;
76
+ }
77
+ return (jsxs("div", { className: 'need-help-section__links', children: [supportUrl && (jsx(Typography, { variant: 'body_small', color: 'link', children: jsx("a", { href: supportUrl, rel: 'noreferrer', target: '_blank', children: t('dyn_need_help_section.contact_support') }) })), supportEmail && (jsx(Typography, { variant: 'body_small', color: 'link', children: jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail }) }))] }));
78
+ };
79
+ const getPasskeyRecoverySession = () => {
80
+ if (!isRecoveryEnabled) {
81
+ return null;
82
+ }
83
+ const recoveryText = t('dyn_need_help_section.recovery_button');
84
+ const finalRecoveryText = hasContactInfo
85
+ ? recoveryText
86
+ : recoveryText.slice(0, 1).toUpperCase() + recoveryText.slice(1);
87
+ return (jsxs(Fragment, { children: [hasContactInfo && (jsx(Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.divider') })), jsx(TextButton, { className: classNames('helper-link', {
88
+ 'need-help-section--captalize': !hasContactInfo,
89
+ }), onClick: initPasskeyRecoveryProcess, children: finalRecoveryText })] }));
90
+ };
91
+ if (!hasContactInfo && !isRecoveryEnabled) {
13
92
  return null;
14
93
  }
15
- return (jsxs("div", { className: 'need-help-section', children: [jsx(Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.info') }), jsxs("div", { className: 'need-help-section__links', children: [supportUrl && (jsx(Typography, { variant: 'body_small', color: 'link', children: jsx("a", { href: supportUrl, rel: 'noreferrer', target: '_blank', children: t('dyn_need_help_section.contact_support') }) })), supportEmail && (jsx(Typography, { variant: 'body_small', color: 'link', children: jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail }) }))] })] }));
94
+ return (jsxs("div", { className: 'need-help-section', children: [jsx(Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_need_help_section.info') }), getSupportHelpSession(), getPasskeyRecoverySession()] }));
16
95
  };
17
96
 
18
97
  export { NeedHelpSection };
@@ -64,12 +64,13 @@ var MenuList = require('../MenuList/MenuList/MenuList.cjs');
64
64
  var NetworkAction = require('./components/NetworkAction/NetworkAction.cjs');
65
65
  var NetworkControl = require('./components/NetworkControl/NetworkControl.cjs');
66
66
 
67
- const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxClassName = '', connector, evmNetworks, isNetworkPickerOpen, listClassName = '', mainClassName = '', setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, }) => {
67
+ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxClassName = '', connector, evmNetworks, isNetworkPickerOpen, listClassName = '', mainClassName = '', setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, currentNetwork, }) => {
68
68
  const pickerRef = React.useRef(null);
69
69
  const [newNetworkId, setNewNetworkId] = React.useState(undefined);
70
- const { loadingNetwork, network, setNetwork } = useInternalDynamicContext.useInternalDynamicContext();
70
+ const { loadingNetwork, primaryWallet, setNetwork } = useInternalDynamicContext.useInternalDynamicContext();
71
71
  const { data: supportedWalletNetworks } = usePromise.usePromise(() => connector === null || connector === void 0 ? void 0 : connector.getSupportedNetworks(), { deps: [connector] });
72
- const shouldAllowOpenDropdown = isNetworkUnsupported.isNetworkUnsupported(network, evmNetworks) || (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
72
+ const shouldAllowOpenDropdown = isNetworkUnsupported.isNetworkUnsupported(currentNetwork, evmNetworks) ||
73
+ (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
73
74
  // Ref to anchor popper to
74
75
  const anchorRef = React.useRef(null);
75
76
  const handleNetworkChange = (networkId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
@@ -79,7 +80,8 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
79
80
  networkChainId: networkId,
80
81
  }));
81
82
  const chainId = yield (connector === null || connector === void 0 ? void 0 : connector.getNetwork());
82
- setNetwork(chainId);
83
+ if ((primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.key) === (connector === null || connector === void 0 ? void 0 : connector.key))
84
+ setNetwork(chainId);
83
85
  customCallbackOnSuccess === null || customCallbackOnSuccess === void 0 ? void 0 : customCallbackOnSuccess();
84
86
  }
85
87
  catch (error) {
@@ -91,10 +93,10 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
91
93
  setIsNetworkPickerOpen(false);
92
94
  }
93
95
  });
94
- return (jsxRuntime.jsxs("div", { className: classNames.classNames('non-widget-network-picker', mainClassName), ref: pickerRef, "data-testid": 'network-picker', children: [jsxRuntime.jsxs("div", { className: 'network-picker-network-control', children: [jsxRuntime.jsx(NetworkControl.NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), jsxRuntime.jsx("div", { ref: anchorRef, className: 'network-picker-network-control__anchor' })] }), shouldAllowOpenDropdown && (jsxRuntime.jsx(MenuList.MenuList, { className: listClassName, isOpen: isNetworkPickerOpen, onClickClose: () => setIsNetworkPickerOpen(false), popperProps: {
96
+ return (jsxRuntime.jsxs("div", { className: classNames.classNames('non-widget-network-picker', mainClassName), ref: pickerRef, "data-testid": 'network-picker', children: [jsxRuntime.jsxs("div", { className: 'network-picker-network-control', children: [jsxRuntime.jsx(NetworkControl.NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: currentNetwork, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), jsxRuntime.jsx("div", { ref: anchorRef, className: 'network-picker-network-control__anchor' })] }), shouldAllowOpenDropdown && (jsxRuntime.jsx(MenuList.MenuList, { className: listClassName, isOpen: isNetworkPickerOpen, onClickClose: () => setIsNetworkPickerOpen(false), popperProps: {
95
97
  anchorOrigin: 'bottom-left',
96
98
  anchorRef,
97
- }, mobileTitle: 'Select network', children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsxRuntime.jsx(NetworkAction.NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
99
+ }, mobileTitle: 'Select network', children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsxRuntime.jsx(NetworkAction.NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: currentNetwork, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
98
100
  !supportedWalletNetworks.includes(`${networkId}`) }, networkId))) }))] }));
99
101
  };
100
102
 
@@ -13,6 +13,7 @@ type Props = {
13
13
  mainClassName?: string;
14
14
  setIsNetworkPickerOpen: Dispatch<SetStateAction<boolean>>;
15
15
  showNetworkName?: boolean;
16
+ currentNetwork: string | number | undefined;
16
17
  };
17
- export declare const NetworkPicker: ({ activeClassName, buttonClassName, checkboxClassName, connector, evmNetworks, isNetworkPickerOpen, listClassName, mainClassName, setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, }: Props) => JSX.Element;
18
+ export declare const NetworkPicker: ({ activeClassName, buttonClassName, checkboxClassName, connector, evmNetworks, isNetworkPickerOpen, listClassName, mainClassName, setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, currentNetwork, }: Props) => JSX.Element;
18
19
  export {};
@@ -60,12 +60,13 @@ import { MenuList } from '../MenuList/MenuList/MenuList.js';
60
60
  import { NetworkAction } from './components/NetworkAction/NetworkAction.js';
61
61
  import { NetworkControl } from './components/NetworkControl/NetworkControl.js';
62
62
 
63
- const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxClassName = '', connector, evmNetworks, isNetworkPickerOpen, listClassName = '', mainClassName = '', setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, }) => {
63
+ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxClassName = '', connector, evmNetworks, isNetworkPickerOpen, listClassName = '', mainClassName = '', setIsNetworkPickerOpen, showNetworkName, customCallbackOnSuccess, currentNetwork, }) => {
64
64
  const pickerRef = useRef(null);
65
65
  const [newNetworkId, setNewNetworkId] = useState(undefined);
66
- const { loadingNetwork, network, setNetwork } = useInternalDynamicContext();
66
+ const { loadingNetwork, primaryWallet, setNetwork } = useInternalDynamicContext();
67
67
  const { data: supportedWalletNetworks } = usePromise(() => connector === null || connector === void 0 ? void 0 : connector.getSupportedNetworks(), { deps: [connector] });
68
- const shouldAllowOpenDropdown = isNetworkUnsupported(network, evmNetworks) || (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
68
+ const shouldAllowOpenDropdown = isNetworkUnsupported(currentNetwork, evmNetworks) ||
69
+ (evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.length) > 1;
69
70
  // Ref to anchor popper to
70
71
  const anchorRef = useRef(null);
71
72
  const handleNetworkChange = (networkId) => __awaiter(void 0, void 0, void 0, function* () {
@@ -75,7 +76,8 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
75
76
  networkChainId: networkId,
76
77
  }));
77
78
  const chainId = yield (connector === null || connector === void 0 ? void 0 : connector.getNetwork());
78
- setNetwork(chainId);
79
+ if ((primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.key) === (connector === null || connector === void 0 ? void 0 : connector.key))
80
+ setNetwork(chainId);
79
81
  customCallbackOnSuccess === null || customCallbackOnSuccess === void 0 ? void 0 : customCallbackOnSuccess();
80
82
  }
81
83
  catch (error) {
@@ -87,10 +89,10 @@ const NetworkPicker = ({ activeClassName = '', buttonClassName = '', checkboxCla
87
89
  setIsNetworkPickerOpen(false);
88
90
  }
89
91
  });
90
- return (jsxs("div", { className: classNames('non-widget-network-picker', mainClassName), ref: pickerRef, "data-testid": 'network-picker', children: [jsxs("div", { className: 'network-picker-network-control', children: [jsx(NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: network, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), jsx("div", { ref: anchorRef, className: 'network-picker-network-control__anchor' })] }), shouldAllowOpenDropdown && (jsx(MenuList, { className: listClassName, isOpen: isNetworkPickerOpen, onClickClose: () => setIsNetworkPickerOpen(false), popperProps: {
92
+ return (jsxs("div", { className: classNames('non-widget-network-picker', mainClassName), ref: pickerRef, "data-testid": 'network-picker', children: [jsxs("div", { className: 'network-picker-network-control', children: [jsx(NetworkControl, { evmNetworks: evmNetworks, activeClassName: activeClassName, network: currentNetwork, loading: loadingNetwork, isOpen: isNetworkPickerOpen, setIsOpen: setIsNetworkPickerOpen, walletConnector: connector, showNetworkName: showNetworkName, buttonClassName: buttonClassName }), jsx("div", { ref: anchorRef, className: 'network-picker-network-control__anchor' })] }), shouldAllowOpenDropdown && (jsx(MenuList, { className: listClassName, isOpen: isNetworkPickerOpen, onClickClose: () => setIsNetworkPickerOpen(false), popperProps: {
91
93
  anchorOrigin: 'bottom-left',
92
94
  anchorRef,
93
- }, mobileTitle: 'Select network', children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsx(NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: network, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
95
+ }, mobileTitle: 'Select network', children: evmNetworks.map(({ name, networkId, vanityName, iconUrls }) => (jsx(NetworkAction, { iconUrl: iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0], networkId: networkId, networkName: vanityName || name, network: currentNetwork, onClick: handleNetworkChange, checkboxClassName: checkboxClassName, newNetworkId: newNetworkId, notSupported: supportedWalletNetworks &&
94
96
  !supportedWalletNetworks.includes(`${networkId}`) }, networkId))) }))] }));
95
97
  };
96
98
 
@@ -47,7 +47,7 @@ const SendBalancePageLayout = ({ error, walletAddress, onClickClose, onClickBack
47
47
  return;
48
48
  return parseFloat(balance);
49
49
  }, [balance]);
50
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: backButton, trailing: closeButton, children: jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__header-content', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: t('dyn_send_transaction.data.from') }), walletKey && (jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: walletKey }) })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }) }), jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__body', children: [jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: error && (jsxRuntime.jsx("div", { className: 'send-balance-page-layout__error', children: jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', children: error }) })) }), networkName && networkIcon && (jsxRuntime.jsx("div", { className: 'send-balance-page-layout__network-container', children: jsxRuntime.jsx(Chip.Chip, { icon: networkIcon, children: networkName }) })), jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__balance-container', children: [jsxRuntime.jsx(FormFieldLabel.FormFieldLabel, { divider: true, children: "Token" }), jsxRuntime.jsx(TokenBalanceCard.TokenBalanceCard, { chain: chain, currencySymbol: currencySymbol, balance: balance })] }), jsxRuntime.jsx(SendBalanceForm.SendBalanceForm, { onSubmit: onSubmit, initialValues: initialValues, balance: balanceNumber, decimals: networkCurrencyDecimals }), displayPoweredByDynamicFooter && (jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { classNameRoot: 'send-balance-page-layout__footer' }))] })] }));
50
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: backButton, trailing: closeButton, children: jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__header-content', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: t('dyn_send_transaction.data.from') }), walletKey && (jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: walletKey }) })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }) }), jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__body', children: [jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: error && (jsxRuntime.jsx("div", { className: 'send-balance-page-layout__error', children: jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', children: error }) })) }), networkName && networkIcon && (jsxRuntime.jsx("div", { className: 'send-balance-page-layout__network-container', children: jsxRuntime.jsx(Chip.Chip, { icon: networkIcon, children: networkName }) })), jsxRuntime.jsxs("div", { className: 'send-balance-page-layout__balance-container', children: [jsxRuntime.jsx(FormFieldLabel.FormFieldLabel, { divider: true, children: "Token" }), jsxRuntime.jsx(TokenBalanceCard.TokenBalanceCard, { chainIcon: networkIcon, currencySymbol: currencySymbol, balance: balance })] }), jsxRuntime.jsx(SendBalanceForm.SendBalanceForm, { onSubmit: onSubmit, initialValues: initialValues, balance: balanceNumber, decimals: networkCurrencyDecimals }), displayPoweredByDynamicFooter && (jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { classNameRoot: 'send-balance-page-layout__footer' }))] })] }));
51
51
  };
52
52
 
53
53
  exports.SendBalancePageLayout = SendBalancePageLayout;
@@ -43,7 +43,7 @@ const SendBalancePageLayout = ({ error, walletAddress, onClickClose, onClickBack
43
43
  return;
44
44
  return parseFloat(balance);
45
45
  }, [balance]);
46
- return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: backButton, trailing: closeButton, children: jsxs("div", { className: 'send-balance-page-layout__header-content', children: [jsx(Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: t('dyn_send_transaction.data.from') }), walletKey && (jsx(Icon, { size: 'small', children: jsx(WalletIcon, { walletKey: walletKey }) })), jsx(Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: shortenWalletAddress(walletAddress, 3, 3) })] }) }), jsxs("div", { className: 'send-balance-page-layout__body', children: [jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'send-balance-page-layout__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), networkName && networkIcon && (jsx("div", { className: 'send-balance-page-layout__network-container', children: jsx(Chip, { icon: networkIcon, children: networkName }) })), jsxs("div", { className: 'send-balance-page-layout__balance-container', children: [jsx(FormFieldLabel, { divider: true, children: "Token" }), jsx(TokenBalanceCard, { chain: chain, currencySymbol: currencySymbol, balance: balance })] }), jsx(SendBalanceForm, { onSubmit: onSubmit, initialValues: initialValues, balance: balanceNumber, decimals: networkCurrencyDecimals }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'send-balance-page-layout__footer' }))] })] }));
46
+ return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: backButton, trailing: closeButton, children: jsxs("div", { className: 'send-balance-page-layout__header-content', children: [jsx(Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: t('dyn_send_transaction.data.from') }), walletKey && (jsx(Icon, { size: 'small', children: jsx(WalletIcon, { walletKey: walletKey }) })), jsx(Typography, { variant: 'body_normal', color: 'primary', as: 'p', children: shortenWalletAddress(walletAddress, 3, 3) })] }) }), jsxs("div", { className: 'send-balance-page-layout__body', children: [jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'send-balance-page-layout__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), networkName && networkIcon && (jsx("div", { className: 'send-balance-page-layout__network-container', children: jsx(Chip, { icon: networkIcon, children: networkName }) })), jsxs("div", { className: 'send-balance-page-layout__balance-container', children: [jsx(FormFieldLabel, { divider: true, children: "Token" }), jsx(TokenBalanceCard, { chainIcon: networkIcon, currencySymbol: currencySymbol, balance: balance })] }), jsx(SendBalanceForm, { onSubmit: onSubmit, initialValues: initialValues, balance: balanceNumber, decimals: networkCurrencyDecimals }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'send-balance-page-layout__footer' }))] })] }));
47
47
  };
48
48
 
49
49
  export { SendBalancePageLayout };