@dynamic-labs/sdk-react-core 1.4.3 → 1.4.4

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 (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/components/DynamicFooter/DynamicFooter.cjs +8 -1
  6. package/src/lib/components/DynamicFooter/DynamicFooter.js +8 -1
  7. package/src/lib/components/Toolkit/Toolkit.cjs +2 -3
  8. package/src/lib/components/Toolkit/Toolkit.js +2 -3
  9. package/src/lib/components/Toolkit/components/index.d.ts +0 -1
  10. package/src/lib/context/DynamicContext/DynamicContext.cjs +8 -11
  11. package/src/lib/context/DynamicContext/DynamicContext.js +8 -11
  12. package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
  13. package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +0 -1
  14. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +0 -3
  15. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +1 -4
  16. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.cjs +15 -0
  17. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.d.ts +6 -0
  18. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.js +11 -0
  19. package/src/lib/context/DynamicContext/types/index.d.ts +4 -1
  20. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +4 -2
  21. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +4 -2
  22. package/src/lib/main.global.cjs +1 -1
  23. package/src/lib/main.global.js +1 -1
  24. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs +0 -10
  25. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js +0 -10
  26. package/src/lib/styles/index.shadow.cjs +1 -1
  27. package/src/lib/styles/index.shadow.js +1 -1
  28. package/src/lib/utils/constants/index.d.ts +1 -1
  29. package/src/lib/utils/constants/localStorage.cjs +0 -2
  30. package/src/lib/utils/constants/localStorage.d.ts +0 -1
  31. package/src/lib/utils/constants/localStorage.js +1 -2
  32. package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.cjs +9 -4
  33. package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.js +9 -4
  34. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +24 -15
  35. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.d.ts +13 -0
  36. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +24 -16
  37. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +16 -1
  38. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +16 -1
  39. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -0
  40. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
  41. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -0
  42. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +11 -1
  43. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +11 -1
  44. package/src/lib/components/Toolkit/components/MultiWalletSwitch.cjs +0 -18
  45. package/src/lib/components/Toolkit/components/MultiWalletSwitch.d.ts +0 -6
  46. package/src/lib/components/Toolkit/components/MultiWalletSwitch.js +0 -14
  47. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +0 -39
  48. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +0 -9
  49. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +0 -35
  50. /package/src/lib/{utils/hooks/multiWallet → context/DynamicContext/hooks}/useMultiWallet/index.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,16 @@
1
1
 
2
+ ### [1.4.4](https://github.com/dynamic-labs/DynamicAuth/compare/v1.4.3...v1.4.4) (2024-04-01)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * Multiple WC bug fixes ([#5132](https://github.com/dynamic-labs/DynamicAuth/issues/5132)) ([#5133](https://github.com/dynamic-labs/DynamicAuth/issues/5133)) ([88affaf](https://github.com/dynamic-labs/DynamicAuth/commit/88affaff291391f5f633f7f3bb1ecd5219705117))
8
+ * apply network validation in mobile auth flow ([#5142](https://github.com/dynamic-labs/DynamicAuth/issues/5142)) ([#5159](https://github.com/dynamic-labs/DynamicAuth/issues/5159)) ([f8a6202](https://github.com/dynamic-labs/DynamicAuth/commit/f8a6202f9af8f234c723cfd05f4438536eb30fd0))
9
+ * Better handling of empty callback queue ([#5147](https://github.com/dynamic-labs/DynamicAuth/issues/5147)) ([#5149](https://github.com/dynamic-labs/DynamicAuth/issues/5149)) ([f520f25](https://github.com/dynamic-labs/DynamicAuth/commit/f520f25f2a0faf12567db29f6712cc2f8e421cff))
10
+ * multiple improvements to the wallet list ([#5155](https://github.com/dynamic-labs/DynamicAuth/issues/5155)) ([582ac0e](https://github.com/dynamic-labs/DynamicAuth/commit/582ac0e8baf0fd0eec1246219a5eda730c99f290)), closes [#5112](https://github.com/dynamic-labs/DynamicAuth/issues/5112)
11
+ * Improved scroll experience on ios [48873da](https://github.com/dynamic-labs/DynamicAuth/commit/48873da25bafd07104cebf3bcbb8e2a787c8092c))
12
+ * better handling of multiwallet state ([#5146](https://github.com/dynamic-labs/DynamicAuth/issues/5146)) ([#5148](https://github.com/dynamic-labs/DynamicAuth/issues/5148)) ([dabb780](https://github.com/dynamic-labs/DynamicAuth/commit/dabb7808c94cfa4da7d0c7a058f04d69ffdb301a))
13
+
2
14
  ### [1.4.3](https://github.com/dynamic-labs/DynamicAuth/compare/v1.4.2...v1.4.3) (2024-03-28)
3
15
 
4
16
 
package/package.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "1.4.3";
5
+ var version = "1.4.4";
6
6
  var dependencies = {
7
7
  "@dynamic-labs/sdk-api": "0.0.387",
8
8
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
- var version = "1.4.3";
1
+ var version = "1.4.4";
2
2
  var dependencies = {
3
3
  "@dynamic-labs/sdk-api": "0.0.387",
4
4
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -16,16 +16,16 @@
16
16
  "react-focus-lock": "2.9.2",
17
17
  "react-i18next": "^13.2.0",
18
18
  "yup": "0.32.11",
19
- "@dynamic-labs/ethereum": "1.4.3",
20
- "@dynamic-labs/iconic": "1.4.3",
21
- "@dynamic-labs/logger": "1.4.3",
22
- "@dynamic-labs/multi-wallet": "1.4.3",
23
- "@dynamic-labs/rpc-providers": "1.4.3",
24
- "@dynamic-labs/types": "1.4.3",
25
- "@dynamic-labs/utils": "1.4.3",
26
- "@dynamic-labs/viem-utils": "1.4.3",
27
- "@dynamic-labs/wallet-book": "1.4.3",
28
- "@dynamic-labs/wallet-connector-core": "1.4.3",
19
+ "@dynamic-labs/ethereum": "1.4.4",
20
+ "@dynamic-labs/iconic": "1.4.4",
21
+ "@dynamic-labs/logger": "1.4.4",
22
+ "@dynamic-labs/multi-wallet": "1.4.4",
23
+ "@dynamic-labs/rpc-providers": "1.4.4",
24
+ "@dynamic-labs/types": "1.4.4",
25
+ "@dynamic-labs/utils": "1.4.4",
26
+ "@dynamic-labs/viem-utils": "1.4.4",
27
+ "@dynamic-labs/wallet-book": "1.4.4",
28
+ "@dynamic-labs/wallet-connector-core": "1.4.4",
29
29
  "eventemitter3": "5.0.1"
30
30
  },
31
31
  "devDependencies": {
@@ -4,7 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var PoweredByDynamic = require('../PoweredByDynamic/PoweredByDynamic.cjs');
7
+ var classNames = require('../../utils/functions/classNames/classNames.cjs');
8
+ var useAuthLayoutChecks = require('../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs');
7
9
 
8
- const DynamicFooter = () => (jsxRuntime.jsx("div", { className: 'dynamic-footer', children: jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) }));
10
+ const DynamicFooter = () => {
11
+ const { shouldHideDynamicFooterSeparator } = useAuthLayoutChecks.useAuthLayoutChecks();
12
+ return (jsxRuntime.jsx("div", { "data-testid": 'dynamic-footer', className: classNames.classNames('dynamic-footer', {
13
+ 'dynamic-footer__top-border': !shouldHideDynamicFooterSeparator,
14
+ }), children: jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) }));
15
+ };
9
16
 
10
17
  exports.DynamicFooter = DynamicFooter;
@@ -1,6 +1,13 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { PoweredByDynamic } from '../PoweredByDynamic/PoweredByDynamic.js';
3
+ import { classNames } from '../../utils/functions/classNames/classNames.js';
4
+ import { useAuthLayoutChecks } from '../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js';
3
5
 
4
- const DynamicFooter = () => (jsx("div", { className: 'dynamic-footer', children: jsx(PoweredByDynamic, {}) }));
6
+ const DynamicFooter = () => {
7
+ const { shouldHideDynamicFooterSeparator } = useAuthLayoutChecks();
8
+ return (jsx("div", { "data-testid": 'dynamic-footer', className: classNames('dynamic-footer', {
9
+ 'dynamic-footer__top-border': !shouldHideDynamicFooterSeparator,
10
+ }), children: jsx(PoweredByDynamic, {}) }));
11
+ };
5
12
 
6
13
  export { DynamicFooter };
@@ -61,7 +61,6 @@ var AuthModeSwitch = require('./components/AuthModeSwitch.cjs');
61
61
  var LoginWithEmailSwitch = require('./components/LoginWithEmailSwitch.cjs');
62
62
  var LoginWithEmailViewDisplayPriorityOrderSwitch = require('./components/LoginWithEmailViewDisplayPriorityOrderSwitch.cjs');
63
63
  var TemplateSelect = require('./components/TemplateSelect.cjs');
64
- var MultiWalletSwitch = require('./components/MultiWalletSwitch.cjs');
65
64
  require('../PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
66
65
  require('../../context/PasskeyContext/PasskeyContext.cjs');
67
66
  require('../../views/WalletList/WalletList.cjs');
@@ -81,7 +80,7 @@ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/
81
80
  var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
82
81
 
83
82
  const Toolkit = () => {
84
- const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, multiWallet, setMultiWallet, } = useInternalDynamicContext.useInternalDynamicContext();
83
+ const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, } = useInternalDynamicContext.useInternalDynamicContext();
85
84
  const isToolkitVisible = React.useMemo(() => {
86
85
  if (!toolkitEnabled)
87
86
  return false;
@@ -89,7 +88,7 @@ const Toolkit = () => {
89
88
  }, [showAuthFlow, showDynamicUserProfile, toolkitEnabled]);
90
89
  if (!isToolkitVisible)
91
90
  return null;
92
- return (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: index.toolkitZIndex, children: jsxRuntime.jsxs("div", { className: 'toolkit__container', children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsxRuntime.jsx(ThemeSwitch.ThemeSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsxRuntime.jsx(TemplateSelect.TemplateSelect, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsxRuntime.jsx(PrimaryColorInput.PrimaryColorInput, {})] }), !user && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsxRuntime.jsx(AuthModeSwitch.AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Multi Wallet" }), jsxRuntime.jsx(MultiWalletSwitch.MultiWalletSwitch, { multiWallet: multiWallet, setMultiWallet: setMultiWallet })] })] })), isEmailProviderEnabled.isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsxRuntime.jsx(LoginWithEmailSwitch.LoginWithEmailSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsxRuntime.jsx(LoginWithEmailViewDisplayPriorityOrderSwitch.LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
91
+ return (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: index.toolkitZIndex, children: jsxRuntime.jsxs("div", { className: 'toolkit__container', children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsxRuntime.jsx(ThemeSwitch.ThemeSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsxRuntime.jsx(TemplateSelect.TemplateSelect, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsxRuntime.jsx(PrimaryColorInput.PrimaryColorInput, {})] }), !user && (jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsxRuntime.jsx(AuthModeSwitch.AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] })), isEmailProviderEnabled.isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsxRuntime.jsx(LoginWithEmailSwitch.LoginWithEmailSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsxRuntime.jsx(LoginWithEmailViewDisplayPriorityOrderSwitch.LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
93
92
  };
94
93
 
95
94
  exports.Toolkit = Toolkit;
@@ -57,7 +57,6 @@ import { AuthModeSwitch } from './components/AuthModeSwitch.js';
57
57
  import { LoginWithEmailSwitch } from './components/LoginWithEmailSwitch.js';
58
58
  import { LoginWithEmailViewDisplayPriorityOrderSwitch } from './components/LoginWithEmailViewDisplayPriorityOrderSwitch.js';
59
59
  import { TemplateSelect } from './components/TemplateSelect.js';
60
- import { MultiWalletSwitch } from './components/MultiWalletSwitch.js';
61
60
  import '../PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
62
61
  import '../../context/PasskeyContext/PasskeyContext.js';
63
62
  import '../../views/WalletList/WalletList.js';
@@ -77,7 +76,7 @@ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/P
77
76
  import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
78
77
 
79
78
  const Toolkit = () => {
80
- const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, multiWallet, setMultiWallet, } = useInternalDynamicContext();
79
+ const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, } = useInternalDynamicContext();
81
80
  const isToolkitVisible = useMemo(() => {
82
81
  if (!toolkitEnabled)
83
82
  return false;
@@ -85,7 +84,7 @@ const Toolkit = () => {
85
84
  }, [showAuthFlow, showDynamicUserProfile, toolkitEnabled]);
86
85
  if (!isToolkitVisible)
87
86
  return null;
88
- return (jsx(ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: toolkitZIndex, children: jsxs("div", { className: 'toolkit__container', children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsx(ThemeSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsx(TemplateSelect, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsx(PrimaryColorInput, {})] }), !user && (jsxs(Fragment, { children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsx(AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Multi Wallet" }), jsx(MultiWalletSwitch, { multiWallet: multiWallet, setMultiWallet: setMultiWallet })] })] })), isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxs(Fragment, { children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsx(LoginWithEmailSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsx(LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
87
+ return (jsx(ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: toolkitZIndex, children: jsxs("div", { className: 'toolkit__container', children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsx(ThemeSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsx(TemplateSelect, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsx(PrimaryColorInput, {})] }), !user && (jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsx(AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] })), isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxs(Fragment, { children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsx(LoginWithEmailSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsx(LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
89
88
  };
90
89
 
91
90
  export { Toolkit };
@@ -4,4 +4,3 @@ export { AuthModeSwitch } from './AuthModeSwitch';
4
4
  export { LoginWithEmailSwitch } from './LoginWithEmailSwitch';
5
5
  export { LoginWithEmailViewDisplayPriorityOrderSwitch } from './LoginWithEmailViewDisplayPriorityOrderSwitch';
6
6
  export { TemplateSelect } from './TemplateSelect';
7
- export { MultiWalletSwitch } from './MultiWalletSwitch';
@@ -79,7 +79,6 @@ var locale = require('../../locale/locale.cjs');
79
79
  var getMissingChains = require('../../utils/functions/getMissingChains/getMissingChains.cjs');
80
80
  var parseTheme = require('../../utils/functions/parseTheme/parseTheme.cjs');
81
81
  var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs');
82
- var useMultiWallet = require('../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs');
83
82
  var useClearWalletConnectSessions = require('../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs');
84
83
  var useConnectWallet = require('../../utils/hooks/useConnectWallet/useConnectWallet.cjs');
85
84
  var useFetchWalletsForChainsMap = require('../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.cjs');
@@ -117,6 +116,7 @@ var useShowAuthFlow = require('./hooks/useShowAuthFlow/useShowAuthFlow.cjs');
117
116
  var usePasskeySuccessPopup = require('./hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.cjs');
118
117
  var useTieCallbacksToEvents = require('./hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs');
119
118
  var useVerificationInProgress = require('./hooks/useVerificationInProgress/useVerificationInProgress.cjs');
119
+ var useMultiWallet = require('./hooks/useMultiWallet/useMultiWallet.cjs');
120
120
  var useSetShowLinkNewWalletModal = require('./hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs');
121
121
  var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
122
122
  var validators = require('./validators/validators.cjs');
@@ -126,7 +126,7 @@ const EMPTY_INITIAL_USER = undefined;
126
126
  const DynamicContext = React.createContext(undefined);
127
127
  /** The context provider itself we only use internally */
128
128
  const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale$1, }) => {
129
- var _a, _b, _c, _d, _e, _f;
129
+ var _a, _b, _c, _d, _e, _f, _g;
130
130
  const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
131
131
  const networkValidationMode = helpers.resolveNetworkValidationMode({
132
132
  bridgeChains: settings.bridgeChains,
@@ -168,10 +168,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
168
168
  dynamicContextProps: { settings },
169
169
  environmentId,
170
170
  });
171
- const { multiWallet, setMultiWallet } = useMultiWallet.useMultiWallet({
171
+ const multiWallet = useMultiWallet.useMultiWallet({
172
172
  isBridgeFlow,
173
- multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
174
- toolkitEnabled: toolkitEnabled || false,
173
+ multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
174
+ multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
175
175
  });
176
176
  // ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
177
177
  const [showWidgetStatePopup, setShowWidgetStatePopup] = React.useState(!multiWallet);
@@ -245,7 +245,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
245
245
  //selected wallet to perform an action (become primary, unlink, etc)
246
246
  const [selectedWalletWithAction, setSelectedWalletWithAction] = React.useState(null);
247
247
  // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
248
- const authToken = (_c = getAuthToken.getAuthToken()) !== null && _c !== void 0 ? _c : onboardingOnlyJwt;
248
+ const authToken = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
249
249
  useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
250
250
  const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
251
251
  authMode,
@@ -312,14 +312,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
312
312
  setShowAuthFlow,
313
313
  setShowBridgeWidget,
314
314
  setShowDynamicUserProfile,
315
- toolkitEnabled,
316
315
  user,
317
316
  walletConnectors,
318
317
  });
319
318
  let wcVersion;
320
319
  if (projectSettings) {
321
320
  wcVersion =
322
- ((_e = (_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.walletConnect) === null || _e === void 0 ? void 0 : _e.v2Enabled) && !walletConnectV1Bridge
321
+ ((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
323
322
  ? 2
324
323
  : 1;
325
324
  }
@@ -516,7 +515,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
516
515
  setIsVerificationInProgress,
517
516
  setLegacyIsVerifying,
518
517
  setLogInWithEmail,
519
- setMultiWallet,
520
518
  setMultiWalletWidgetState,
521
519
  setNetwork,
522
520
  setOnboardingOnlyJwt,
@@ -633,7 +631,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
633
631
  setCallback,
634
632
  setIsVerificationInProgress,
635
633
  setLogInWithEmail,
636
- setMultiWallet,
637
634
  setMultiWalletWidgetState,
638
635
  setNetwork,
639
636
  setPrimaryWallet,
@@ -701,7 +698,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
701
698
  setShowDynamicUserProfile(true);
702
699
  }
703
700
  }, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
704
- return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _f === void 0 ? void 0 : _f.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialView: helpers.getInitialView({
701
+ return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialView: helpers.getInitialView({
705
702
  bridgeOnboardingCompleted,
706
703
  connectedWallets,
707
704
  isAuthenticated: isAuthenticated || Boolean(primaryWallet),
@@ -75,7 +75,6 @@ import { Locale } from '../../locale/locale.js';
75
75
  import { getMissingChains } from '../../utils/functions/getMissingChains/getMissingChains.js';
76
76
  import { parseTheme } from '../../utils/functions/parseTheme/parseTheme.js';
77
77
  import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js';
78
- import { useMultiWallet } from '../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js';
79
78
  import { useClearWalletConnectSessions } from '../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js';
80
79
  import { useConnectWallet } from '../../utils/hooks/useConnectWallet/useConnectWallet.js';
81
80
  import { useFetchWalletsForChainsMap } from '../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.js';
@@ -113,6 +112,7 @@ import { useShowAuthFlow } from './hooks/useShowAuthFlow/useShowAuthFlow.js';
113
112
  import { usePasskeySuccessPopup } from './hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.js';
114
113
  import { useTieCallbacksToEvents } from './hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js';
115
114
  import { useVerificationInProgress } from './hooks/useVerificationInProgress/useVerificationInProgress.js';
115
+ import { useMultiWallet } from './hooks/useMultiWallet/useMultiWallet.js';
116
116
  import { useSetShowLinkNewWalletModal } from './hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js';
117
117
  import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
118
118
  import { validateAuthUser } from './validators/validators.js';
@@ -122,7 +122,7 @@ const EMPTY_INITIAL_USER = undefined;
122
122
  const DynamicContext = createContext(undefined);
123
123
  /** The context provider itself we only use internally */
124
124
  const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
125
- var _a, _b, _c, _d, _e, _f;
125
+ var _a, _b, _c, _d, _e, _f, _g;
126
126
  const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
127
127
  const networkValidationMode = resolveNetworkValidationMode({
128
128
  bridgeChains: settings.bridgeChains,
@@ -164,10 +164,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
164
164
  dynamicContextProps: { settings },
165
165
  environmentId,
166
166
  });
167
- const { multiWallet, setMultiWallet } = useMultiWallet({
167
+ const multiWallet = useMultiWallet({
168
168
  isBridgeFlow,
169
- multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
170
- toolkitEnabled: toolkitEnabled || false,
169
+ multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
170
+ multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
171
171
  });
172
172
  // ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
173
173
  const [showWidgetStatePopup, setShowWidgetStatePopup] = useState(!multiWallet);
@@ -241,7 +241,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
241
241
  //selected wallet to perform an action (become primary, unlink, etc)
242
242
  const [selectedWalletWithAction, setSelectedWalletWithAction] = useState(null);
243
243
  // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
244
- const authToken = (_c = getAuthToken()) !== null && _c !== void 0 ? _c : onboardingOnlyJwt;
244
+ const authToken = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
245
245
  useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
246
246
  const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
247
247
  authMode,
@@ -308,14 +308,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
308
308
  setShowAuthFlow,
309
309
  setShowBridgeWidget,
310
310
  setShowDynamicUserProfile,
311
- toolkitEnabled,
312
311
  user,
313
312
  walletConnectors,
314
313
  });
315
314
  let wcVersion;
316
315
  if (projectSettings) {
317
316
  wcVersion =
318
- ((_e = (_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.walletConnect) === null || _e === void 0 ? void 0 : _e.v2Enabled) && !walletConnectV1Bridge
317
+ ((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
319
318
  ? 2
320
319
  : 1;
321
320
  }
@@ -512,7 +511,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
512
511
  setIsVerificationInProgress,
513
512
  setLegacyIsVerifying,
514
513
  setLogInWithEmail,
515
- setMultiWallet,
516
514
  setMultiWalletWidgetState,
517
515
  setNetwork,
518
516
  setOnboardingOnlyJwt,
@@ -629,7 +627,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
629
627
  setCallback,
630
628
  setIsVerificationInProgress,
631
629
  setLogInWithEmail,
632
- setMultiWallet,
633
630
  setMultiWalletWidgetState,
634
631
  setNetwork,
635
632
  setPrimaryWallet,
@@ -697,7 +694,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
697
694
  setShowDynamicUserProfile(true);
698
695
  }
699
696
  }, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
700
- return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _f === void 0 ? void 0 : _f.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialView: getInitialView({
697
+ return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialView: getInitialView({
701
698
  bridgeOnboardingCompleted,
702
699
  connectedWallets,
703
700
  isAuthenticated: isAuthenticated || Boolean(primaryWallet),
@@ -7,3 +7,4 @@ export * from './useShowAuthFlow';
7
7
  export * from './usePasskeySuccessPopup';
8
8
  export * from './useTieCallbacksToEvents';
9
9
  export * from './useVerificationInProgress';
10
+ export * from './useMultiWallet';
@@ -11,7 +11,6 @@ export type UseHandleLogoutParams = {
11
11
  bridgeChains: ChainsToConnect[] | undefined;
12
12
  setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
13
13
  setShowBridgeWidget: Dispatch<SetStateAction<boolean>>;
14
- toolkitEnabled: boolean | undefined;
15
14
  user: UserProfile | undefined;
16
15
  environmentId: string;
17
16
  walletConnectors: WalletConnectorCore.WalletConnector[];
@@ -84,9 +84,6 @@ const useHandleLogout = (params) => {
84
84
  p.setShowBridgeWidget(false);
85
85
  p.resetLoginWithEmail();
86
86
  localStorage.LocalStorage.removeFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY);
87
- if (!p.toolkitEnabled) {
88
- localStorage.LocalStorage.removeFromLS(localStorage$1.IS_MULTI_WALLET_ENABLED);
89
- }
90
87
  const jwt = getAuthToken.getAuthToken();
91
88
  if (jwt && p.user) {
92
89
  // do not await this async call - just fire and forget
@@ -9,7 +9,7 @@ import '@dynamic-labs/wallet-connector-core';
9
9
  import 'react/jsx-runtime';
10
10
  import '../../../ViewContext/ViewContext.js';
11
11
  import '@dynamic-labs/wallet-book';
12
- import { WALLET_PICKER_SEARCH_KEY, IS_MULTI_WALLET_ENABLED, AUTH_TOKEN } from '../../../../utils/constants/localStorage.js';
12
+ import { WALLET_PICKER_SEARCH_KEY, AUTH_TOKEN } from '../../../../utils/constants/localStorage.js';
13
13
  import '../../../../utils/constants/colors.js';
14
14
  import '../../../../utils/constants/values.js';
15
15
  import { LocalStorage } from '../../../../shared/utils/classes/storage/localStorage.js';
@@ -80,9 +80,6 @@ const useHandleLogout = (params) => {
80
80
  p.setShowBridgeWidget(false);
81
81
  p.resetLoginWithEmail();
82
82
  LocalStorage.removeFromLS(WALLET_PICKER_SEARCH_KEY);
83
- if (!p.toolkitEnabled) {
84
- LocalStorage.removeFromLS(IS_MULTI_WALLET_ENABLED);
85
- }
86
83
  const jwt = getAuthToken();
87
84
  if (jwt && p.user) {
88
85
  // do not await this async call - just fire and forget
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const useMultiWallet = ({ isBridgeFlow, multiWalletOverride, multiWalletSettings, }) => {
6
+ var _a;
7
+ // Use settings override
8
+ if (multiWalletOverride !== undefined) {
9
+ return multiWalletOverride;
10
+ }
11
+ // Use settings value
12
+ return (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
13
+ };
14
+
15
+ exports.useMultiWallet = useMultiWallet;
@@ -0,0 +1,6 @@
1
+ export type UseMultiWalletProps = {
2
+ isBridgeFlow?: boolean;
3
+ multiWalletOverride?: boolean;
4
+ multiWalletSettings?: boolean;
5
+ };
6
+ export declare const useMultiWallet: ({ isBridgeFlow, multiWalletOverride, multiWalletSettings, }: UseMultiWalletProps) => boolean;
@@ -0,0 +1,11 @@
1
+ const useMultiWallet = ({ isBridgeFlow, multiWalletOverride, multiWalletSettings, }) => {
2
+ var _a;
3
+ // Use settings override
4
+ if (multiWalletOverride !== undefined) {
5
+ return multiWalletOverride;
6
+ }
7
+ // Use settings value
8
+ return (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
9
+ };
10
+
11
+ export { useMultiWallet };
@@ -32,6 +32,10 @@ export type WalletListViewSettings = {
32
32
  export type ViewsOverrides = SdkView | WalletListViewSettings;
33
33
  export type SettingsOverrides = {
34
34
  views?: Array<ViewsOverrides>;
35
+ /**
36
+ * Allows overriding the multi-wallet feature from the dashboard.
37
+ */
38
+ multiWallet?: boolean;
35
39
  };
36
40
  export type ConnectWalletResult = {
37
41
  address: string;
@@ -117,7 +121,6 @@ export interface IDynamicContext {
117
121
  setDesktopUri: Dispatch<SetStateAction<string>>;
118
122
  setIsSingleWalletAccount: Dispatch<SetStateAction<boolean>>;
119
123
  setLogInWithEmail: Dispatch<SetStateAction<boolean>>;
120
- setMultiWallet: (value: boolean) => void;
121
124
  setMultiWalletWidgetState: MultiWalletWidgetStateSetter;
122
125
  setNetwork: Dispatch<SetStateAction<number | string | undefined>>;
123
126
  setOnboardingOnlyJwt: Dispatch<SetStateAction<string | undefined>>;
@@ -110,8 +110,10 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onLinkSuccess, onUse
110
110
  handleNextCallback(callbackQueue[0], authToken, user);
111
111
  setCallbackQueue((prev) => {
112
112
  const [resolvedCallback, ...updatedQueue] = prev;
113
- logger.logger.debug('Resolved callback: ', resolvedCallback.callback);
114
- logger.logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
113
+ if (resolvedCallback) {
114
+ logger.logger.debug('Resolved callback: ', resolvedCallback.callback);
115
+ logger.logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
116
+ }
115
117
  return updatedQueue;
116
118
  });
117
119
  }, [callbackQueue, handleNextCallback, primaryWallet, user]);
@@ -106,8 +106,10 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onLinkSuccess, onUse
106
106
  handleNextCallback(callbackQueue[0], authToken, user);
107
107
  setCallbackQueue((prev) => {
108
108
  const [resolvedCallback, ...updatedQueue] = prev;
109
- logger.debug('Resolved callback: ', resolvedCallback.callback);
110
- logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
109
+ if (resolvedCallback) {
110
+ logger.debug('Resolved callback: ', resolvedCallback.callback);
111
+ logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
112
+ }
111
113
  return updatedQueue;
112
114
  });
113
115
  }, [callbackQueue, handleNextCallback, primaryWallet, user]);