@dynamic-labs/sdk-react-core 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (144) hide show
  1. package/CHANGELOG.md +32 -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/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs +68 -0
  16. package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.d.ts +6 -0
  17. package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js +64 -0
  18. package/src/lib/components/PasskeyCreatedSuccessBanner/index.d.ts +1 -0
  19. package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.cjs +24 -0
  20. package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.d.ts +6 -0
  21. package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.js +20 -0
  22. package/src/lib/components/SecureTurnkeyWalletCard/index.d.ts +1 -0
  23. package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +4 -1
  24. package/src/lib/components/SendBalanceForm/SendBalanceForm.js +4 -1
  25. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +5 -2
  26. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +5 -2
  27. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +6 -2
  28. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +6 -2
  29. package/src/lib/components/index.d.ts +2 -0
  30. package/src/lib/context/DynamicContext/DynamicContext.cjs +8 -5
  31. package/src/lib/context/DynamicContext/DynamicContext.js +8 -5
  32. package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
  33. package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/index.d.ts +1 -0
  34. package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.cjs +23 -0
  35. package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.d.ts +4 -0
  36. package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.js +19 -0
  37. package/src/lib/context/DynamicContext/types/index.d.ts +2 -1
  38. package/src/lib/data/api.cjs +14 -10
  39. package/src/lib/data/api.d.ts +2 -2
  40. package/src/lib/data/api.js +14 -10
  41. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +9 -11
  42. package/src/lib/layout/DynamicAuthLayout/Header/header.js +10 -12
  43. package/src/lib/locale/en/translation.cjs +77 -3
  44. package/src/lib/locale/en/translation.d.ts +76 -2
  45. package/src/lib/locale/en/translation.js +77 -3
  46. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +6 -2
  47. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +6 -2
  48. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +1 -1
  49. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +1 -1
  50. package/src/lib/styles/index.shadow.cjs +1 -1
  51. package/src/lib/styles/index.shadow.js +1 -1
  52. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +1 -1
  53. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +1 -1
  54. package/src/lib/utils/hooks/index.d.ts +2 -0
  55. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +1 -6
  56. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +1 -6
  57. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +3 -0
  58. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +3 -0
  59. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -8
  60. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -8
  61. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/index.d.ts +1 -0
  62. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +83 -0
  63. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +15 -0
  64. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +79 -0
  65. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +11 -3
  66. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +11 -3
  67. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +57 -33
  68. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
  69. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +57 -33
  70. package/src/lib/utils/hooks/useEventListener/useEventListener.cjs +2 -1
  71. package/src/lib/utils/hooks/useEventListener/useEventListener.js +2 -1
  72. package/src/lib/utils/hooks/useIsTurnkeyWallet/index.d.ts +1 -0
  73. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +37 -0
  74. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.d.ts +6 -0
  75. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +33 -0
  76. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +9 -5
  77. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +0 -1
  78. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +10 -6
  79. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +20 -21
  80. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -2
  81. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +20 -21
  82. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +32 -9
  83. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.d.ts +0 -1
  84. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +33 -10
  85. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +1 -1
  86. package/src/lib/views/AccountExistsView/AccountExistsView.js +1 -1
  87. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -1
  88. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -1
  89. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -1
  90. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -1
  91. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +1 -1
  92. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +1 -1
  93. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.cjs +2 -5
  94. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.js +2 -5
  95. package/src/lib/views/LoginView/useLoginView.cjs +101 -84
  96. package/src/lib/views/LoginView/useLoginView.js +102 -85
  97. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +6 -3
  98. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +6 -3
  99. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +20 -50
  100. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +1 -6
  101. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +20 -50
  102. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +7 -2
  103. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +7 -2
  104. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +11 -7
  105. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +11 -7
  106. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +8 -10
  107. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +8 -10
  108. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +56 -0
  109. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +13 -0
  110. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +52 -0
  111. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +1 -0
  112. package/src/lib/views/Passkey/utils/index.d.ts +1 -0
  113. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +1 -1
  114. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +1 -1
  115. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -1
  116. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -1
  117. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +12 -2
  118. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +12 -2
  119. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +3 -0
  120. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +4 -1
  121. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +6 -3
  122. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +6 -3
  123. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -2
  124. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -2
  125. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +2 -1
  126. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +2 -1
  127. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +8 -5
  128. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +8 -5
  129. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +2 -3
  130. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +2 -3
  131. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +11 -2
  132. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +11 -2
  133. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -2
  134. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -2
  135. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -3
  136. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -3
  137. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -1
  138. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -1
  139. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +2 -1
  140. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +2 -1
  141. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +16 -6
  142. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +16 -6
  143. package/src/lib/utils/functions/getEnabledProviders/index.cjs +0 -7
  144. package/src/lib/utils/functions/getEnabledProviders/index.js +0 -3
package/CHANGELOG.md CHANGED
@@ -1,4 +1,36 @@
1
1
 
2
+ ## [1.0.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2023-12-05)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * rename EthereumSmartWalletConnectors to ZeroDevSmartWalletConnectors (#4067)
8
+
9
+
10
+ ### Features
11
+
12
+ * add support for pregenerated wallets + securing them ([#3968](https://github.com/dynamic-labs/DynamicAuth/issues/3968)) ([8212b76](https://github.com/dynamic-labs/DynamicAuth/commit/8212b760ba199bd989e0ba2ad3caf97590db4861))
13
+
14
+ ## [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)
15
+
16
+
17
+ ### Features
18
+
19
+ * 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))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * add close button to wallets list ([#4036](https://github.com/dynamic-labs/DynamicAuth/issues/4036)) ([a2b988b](https://github.com/dynamic-labs/DynamicAuth/commit/a2b988bdfc662af6f85d37a79ed6666c483aa447))
25
+ * 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))
26
+ * 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))
27
+ * handle insufficient funds from AA provider ([#4027](https://github.com/dynamic-labs/DynamicAuth/issues/4027)) ([6b9cc88](https://github.com/dynamic-labs/DynamicAuth/commit/6b9cc886f4f2590094bd50aba195c07a5532dfa4))
28
+ * 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))
29
+ * 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))
30
+ * **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))
31
+ * 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))
32
+ * 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))
33
+
2
34
  ## [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)
3
35
 
4
36
 
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.6";
5
+ var version = "1.0.0-alpha.8";
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.6";
1
+ var version = "1.0.0-alpha.8";
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.6",
3
+ "version": "1.0.0-alpha.8",
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.6",
21
- "@dynamic-labs/logger": "1.0.0-alpha.6",
22
- "@dynamic-labs/multi-wallet": "1.0.0-alpha.6",
23
- "@dynamic-labs/rpc-providers": "1.0.0-alpha.6",
24
- "@dynamic-labs/types": "1.0.0-alpha.6",
25
- "@dynamic-labs/utils": "1.0.0-alpha.6",
26
- "@dynamic-labs/wallet-book": "1.0.0-alpha.6",
27
- "@dynamic-labs/wallet-connector-core": "1.0.0-alpha.6",
20
+ "@dynamic-labs/ethereum": "1.0.0-alpha.8",
21
+ "@dynamic-labs/logger": "1.0.0-alpha.8",
22
+ "@dynamic-labs/multi-wallet": "1.0.0-alpha.8",
23
+ "@dynamic-labs/rpc-providers": "1.0.0-alpha.8",
24
+ "@dynamic-labs/types": "1.0.0-alpha.8",
25
+ "@dynamic-labs/utils": "1.0.0-alpha.8",
26
+ "@dynamic-labs/wallet-book": "1.0.0-alpha.8",
27
+ "@dynamic-labs/wallet-connector-core": "1.0.0-alpha.8",
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
+ var usePasskeyRecovery = require('../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs');
46
+ require('../OverlayCard/OverlayCard.context.cjs');
47
+ require('../../context/FooterAnimationContext/index.cjs');
48
+ require('../../context/MockContext/MockContext.cjs');
49
+ require('../../context/QrCodeContext/QrCodeContext.cjs');
50
+ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
51
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
52
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
53
+ require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
54
+ require('qrcode');
55
+ require('../../context/LoadingContext/LoadingContext.cjs');
56
+ require('i18next');
57
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
58
+ require('../UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
59
+ require('@dynamic-labs/types');
60
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
61
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.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 { usePasskeyRecovery } from '../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js';
42
+ import '../OverlayCard/OverlayCard.context.js';
43
+ import '../../context/FooterAnimationContext/index.js';
44
+ import '../../context/MockContext/MockContext.js';
45
+ import '../../context/QrCodeContext/QrCodeContext.js';
46
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
47
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
48
+ import '../../context/CaptchaContext/CaptchaContext.js';
49
+ import '../../context/EmailVerificationContext/EmailVerificationContext.js';
50
+ import 'qrcode';
51
+ import '../../context/LoadingContext/LoadingContext.js';
52
+ import 'i18next';
53
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
54
+ import '../UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
55
+ import '@dynamic-labs/types';
56
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
57
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.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