@dynamic-labs/sdk-react-core 2.2.2 → 2.2.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 (49) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +13 -13
  5. package/src/lib/Main.cjs +1 -0
  6. package/src/lib/Main.js +1 -0
  7. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -1
  8. package/src/lib/context/DynamicContext/DynamicContext.js +2 -1
  9. package/src/lib/context/WalletContext/WalletContext.cjs +1 -1
  10. package/src/lib/context/WalletContext/WalletContext.js +1 -1
  11. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.cjs +77 -0
  12. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.d.ts +6 -0
  13. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.js +71 -0
  14. package/src/lib/context/WidgetRegistry/index.d.ts +1 -0
  15. package/src/lib/data/api/wallets/wallets.cjs +2 -1
  16. package/src/lib/data/api/wallets/wallets.d.ts +2 -1
  17. package/src/lib/data/api/wallets/wallets.js +2 -1
  18. package/src/lib/events/dynamicEvents.d.ts +2 -1
  19. package/src/lib/events/multiWallet.d.ts +6 -0
  20. package/src/lib/locale/en/translation.cjs +2 -2
  21. package/src/lib/locale/en/translation.d.ts +1 -1
  22. package/src/lib/locale/en/translation.js +2 -2
  23. package/src/lib/styles/index.shadow.cjs +1 -1
  24. package/src/lib/styles/index.shadow.js +1 -1
  25. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +1 -1
  26. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +39 -13
  27. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +40 -14
  28. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +3 -1
  29. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +3 -1
  30. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +6 -2
  31. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +6 -2
  32. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +1 -6
  33. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +1 -6
  34. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +69 -25
  35. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +70 -26
  36. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +20 -1
  37. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +20 -1
  38. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +4 -14
  39. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +5 -15
  40. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.cjs +1 -5
  41. package/src/lib/views/SelectHardwareWalletView/SelectHardwareWalletView.js +2 -6
  42. package/src/lib/views/WalletGroupView/WalletGroupView.cjs +1 -6
  43. package/src/lib/views/WalletGroupView/WalletGroupView.js +2 -7
  44. package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.cjs +5 -5
  45. package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.js +5 -5
  46. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +4 -1
  47. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +4 -1
  48. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -1
  49. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -1
@@ -9,7 +9,7 @@ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
9
  require('react');
10
10
  require('../../../context/DynamicContext/DynamicContext.cjs');
11
11
  require('@dynamic-labs/sdk-api-core');
12
- require('../../../shared/logger.cjs');
12
+ var logger = require('../../../shared/logger.cjs');
13
13
  require('@dynamic-labs/iconic');
14
14
  require('react/jsx-runtime');
15
15
  var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
@@ -31,6 +31,7 @@ require('react-international-phone');
31
31
  var requiresTwoStepAuthentication = require('../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.cjs');
32
32
  require('viem');
33
33
  require('viem/chains');
34
+ var logVerboseTroubleshootingMessage = require('../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs');
34
35
  require('@dynamic-labs/store');
35
36
  require('../../../locale/locale.cjs');
36
37
  require('../../../context/CaptchaContext/CaptchaContext.cjs');
@@ -90,7 +91,11 @@ const useWalletItemActions = () => {
90
91
  const { onlyConnectUser } = useConnectAndSignSplitSteps.useConnectAndSignSplitSteps();
91
92
  const connectAndSignWallet = useConnectAndSign.useConnectAndSign();
92
93
  const handleCustodialWalletClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
94
+ logger.logger.debug('handleCustodialWalletClick', walletConnector);
93
95
  const twoStepAuthentication = requiresTwoStepAuthentication.requiresTwoStepAuthentication(walletConnector);
96
+ logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleCustodialWalletClick]', {
97
+ twoStepAuthentication,
98
+ });
94
99
  if (twoStepAuthentication) {
95
100
  setSelectedWalletConnectorKey(walletConnector.key);
96
101
  yield onlyConnectUser({
@@ -105,6 +110,7 @@ const useWalletItemActions = () => {
105
110
  });
106
111
  const handleMobileWalletClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
107
112
  var _a;
113
+ logger.logger.debug('handleMobileWalletClick', walletConnector);
108
114
  setSelectedWalletConnectorKey(walletConnector.key);
109
115
  // We need to set to LS when about to verify phantom wallet on mobile
110
116
  // because the deeplink interrupts this code execution and then redirects back on a new tab.
@@ -124,10 +130,12 @@ const useWalletItemActions = () => {
124
130
  onlyConnectUser({ walletConnector });
125
131
  });
126
132
  const handleInstalledExtensionClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
133
+ logger.logger.debug('handleInstalledExtensionClick', walletConnector);
127
134
  setSelectedWalletConnectorKey(walletConnector.key);
128
135
  setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
129
136
  });
130
137
  const handleUninstalledClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
138
+ logger.logger.debug('handleUninstalledClick', walletConnector);
131
139
  setSelectedWalletConnectorKey(walletConnector.key);
132
140
  if (!walletConnector.canConnectViaQrCode) {
133
141
  setView('no-qr-not-installed');
@@ -149,8 +157,14 @@ const useWalletItemActions = () => {
149
157
  setError(undefined);
150
158
  });
151
159
  const handleAlreadyConnectedWallet = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
160
+ logger.logger.debug('handleAlreadyConnectedWallet', walletConnector);
152
161
  const connectedAccounts = yield walletConnector.getConnectedAccounts();
153
162
  const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
163
+ logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleAlreadyConnectedWallet]', {
164
+ activeAccountAlreadyLinked,
165
+ connectedAccounts,
166
+ linkedWallets,
167
+ });
154
168
  if (activeAccountAlreadyLinked) {
155
169
  setMultiWalletWidgetState('awaiting_account_switch', 'linking_new_wallet');
156
170
  }
@@ -180,6 +194,11 @@ const useWalletItemActions = () => {
180
194
  const { walletConnector, isInstalledOnBrowser } = wallet;
181
195
  const shouldEndWalletConnectorSession = walletConnector.connectedChain === 'FLOW' ||
182
196
  walletConnectorCore.isPhantomRedirectConnector(walletConnector);
197
+ logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleWalletItemClick]', {
198
+ mockedSDK,
199
+ shouldEndWalletConnectorSession,
200
+ wallet,
201
+ });
183
202
  if (mockedSDK)
184
203
  return;
185
204
  if (shouldEndWalletConnectorSession) {
@@ -5,7 +5,7 @@ import { isPhantomRedirectConnector } from '@dynamic-labs/wallet-connector-core'
5
5
  import 'react';
6
6
  import '../../../context/DynamicContext/DynamicContext.js';
7
7
  import '@dynamic-labs/sdk-api-core';
8
- import '../../../shared/logger.js';
8
+ import { logger } from '../../../shared/logger.js';
9
9
  import '@dynamic-labs/iconic';
10
10
  import 'react/jsx-runtime';
11
11
  import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
@@ -27,6 +27,7 @@ import 'react-international-phone';
27
27
  import { requiresTwoStepAuthentication } from '../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.js';
28
28
  import 'viem';
29
29
  import 'viem/chains';
30
+ import { logVerboseTroubleshootingMessage } from '../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js';
30
31
  import '@dynamic-labs/store';
31
32
  import '../../../locale/locale.js';
32
33
  import '../../../context/CaptchaContext/CaptchaContext.js';
@@ -86,7 +87,11 @@ const useWalletItemActions = () => {
86
87
  const { onlyConnectUser } = useConnectAndSignSplitSteps();
87
88
  const connectAndSignWallet = useConnectAndSign();
88
89
  const handleCustodialWalletClick = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
90
+ logger.debug('handleCustodialWalletClick', walletConnector);
89
91
  const twoStepAuthentication = requiresTwoStepAuthentication(walletConnector);
92
+ logVerboseTroubleshootingMessage('[handleCustodialWalletClick]', {
93
+ twoStepAuthentication,
94
+ });
90
95
  if (twoStepAuthentication) {
91
96
  setSelectedWalletConnectorKey(walletConnector.key);
92
97
  yield onlyConnectUser({
@@ -101,6 +106,7 @@ const useWalletItemActions = () => {
101
106
  });
102
107
  const handleMobileWalletClick = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
103
108
  var _a;
109
+ logger.debug('handleMobileWalletClick', walletConnector);
104
110
  setSelectedWalletConnectorKey(walletConnector.key);
105
111
  // We need to set to LS when about to verify phantom wallet on mobile
106
112
  // because the deeplink interrupts this code execution and then redirects back on a new tab.
@@ -120,10 +126,12 @@ const useWalletItemActions = () => {
120
126
  onlyConnectUser({ walletConnector });
121
127
  });
122
128
  const handleInstalledExtensionClick = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
129
+ logger.debug('handleInstalledExtensionClick', walletConnector);
123
130
  setSelectedWalletConnectorKey(walletConnector.key);
124
131
  setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
125
132
  });
126
133
  const handleUninstalledClick = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
134
+ logger.debug('handleUninstalledClick', walletConnector);
127
135
  setSelectedWalletConnectorKey(walletConnector.key);
128
136
  if (!walletConnector.canConnectViaQrCode) {
129
137
  setView('no-qr-not-installed');
@@ -145,8 +153,14 @@ const useWalletItemActions = () => {
145
153
  setError(undefined);
146
154
  });
147
155
  const handleAlreadyConnectedWallet = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
156
+ logger.debug('handleAlreadyConnectedWallet', walletConnector);
148
157
  const connectedAccounts = yield walletConnector.getConnectedAccounts();
149
158
  const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
159
+ logVerboseTroubleshootingMessage('[handleAlreadyConnectedWallet]', {
160
+ activeAccountAlreadyLinked,
161
+ connectedAccounts,
162
+ linkedWallets,
163
+ });
150
164
  if (activeAccountAlreadyLinked) {
151
165
  setMultiWalletWidgetState('awaiting_account_switch', 'linking_new_wallet');
152
166
  }
@@ -176,6 +190,11 @@ const useWalletItemActions = () => {
176
190
  const { walletConnector, isInstalledOnBrowser } = wallet;
177
191
  const shouldEndWalletConnectorSession = walletConnector.connectedChain === 'FLOW' ||
178
192
  isPhantomRedirectConnector(walletConnector);
193
+ logVerboseTroubleshootingMessage('[handleWalletItemClick]', {
194
+ mockedSDK,
195
+ shouldEndWalletConnectorSession,
196
+ wallet,
197
+ });
179
198
  if (mockedSDK)
180
199
  return;
181
200
  if (shouldEndWalletConnectorSession) {
@@ -7,22 +7,19 @@ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
9
  var reactI18next = require('react-i18next');
10
- var walletBook = require('@dynamic-labs/wallet-book');
11
- var iconic = require('@dynamic-labs/iconic');
12
10
  require('../../events/dynamicEvents.cjs');
13
11
  require('@dynamic-labs/utils');
14
12
  require('../../context/DynamicContext/DynamicContext.cjs');
15
13
  require('@dynamic-labs/sdk-api-core');
16
14
  var logger = require('../../shared/logger.cjs');
15
+ require('@dynamic-labs/iconic');
17
16
  require('@dynamic-labs/wallet-connector-core');
18
17
  var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
19
- var add = require('../../shared/assets/add.cjs');
20
- var shortenWalletAddress = require('../../shared/utils/functions/shortenWalletAddress/shortenWalletAddress.cjs');
18
+ require('@dynamic-labs/wallet-book');
21
19
  require('../../utils/constants/colors.cjs');
22
20
  require('../../utils/constants/values.cjs');
23
21
  require('../../shared/utils/classes/storage/localStorage.cjs');
24
22
  require('../../shared/consts/index.cjs');
25
- var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
26
23
  require('../../context/CaptchaContext/CaptchaContext.cjs');
27
24
  require('../../context/ErrorContext/ErrorContext.cjs');
28
25
  require('@dynamic-labs/multi-wallet');
@@ -83,12 +80,11 @@ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/
83
80
  var useMergeUserAccounts = require('../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs');
84
81
 
85
82
  const MergeUserAccountsView = (props) => {
86
- const { selectedWalletConnector } = useInternalDynamicContext.useInternalDynamicContext();
87
83
  const { setView } = ViewContext.useViewContext();
88
84
  const { mergeUserAccounts } = useMergeUserAccounts.useMergeUserAccounts();
89
85
  const { t } = reactI18next.useTranslation();
90
86
  const [error, setError] = React.useState('');
91
- const { mergeConflicts, walletAddress } = props;
87
+ const { mergeConflicts } = props;
92
88
  const goToConflictsResolutionView = () => {
93
89
  // back button on conflicts resolution view should go back to this view
94
90
  const onConflictsResolutionBackClick = () => {
@@ -112,13 +108,7 @@ const MergeUserAccountsView = (props) => {
112
108
  setError(t('dyn_merge_user_accounts.errors.merge_error'));
113
109
  }
114
110
  });
115
- const renderDuplicatedInfo = () => {
116
- if (walletAddress) {
117
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key, className: 'merge-user-accounts__accounts__item__icon' }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', weight: 'bold', color: 'secondary', className: 'merge-user-accounts__accounts__item__text', children: shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }));
118
- }
119
- return (jsxRuntime.jsx(iconic.UserProfileIcon, { className: 'merge-user-accounts__accounts__item__icon' }));
120
- };
121
- return (jsxRuntime.jsxs("div", { className: 'merge-user-accounts', children: [error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts__error', children: error })), jsxRuntime.jsxs("div", { className: 'merge-user-accounts__container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts__title', copykey: 'dyn_merge_user_accounts.wallet.content', children: t('dyn_merge_user_accounts.wallet.content') }), jsxRuntime.jsxs("div", { className: 'merge-user-accounts__accounts', children: [jsxRuntime.jsx("div", { className: 'merge-user-accounts__accounts__item', children: renderDuplicatedInfo() }), jsxRuntime.jsxs("div", { className: 'merge-user-accounts__accounts__divider', children: [jsxRuntime.jsx("div", { className: 'merge-user-accounts__accounts__divider__dash' }), jsxRuntime.jsx("div", { className: 'merge-user-accounts__accounts__divider__icon', children: jsxRuntime.jsx(add.ReactComponent, {}) })] }), jsxRuntime.jsx("div", { className: 'merge-user-accounts__accounts__item', children: renderDuplicatedInfo() })] }), jsxRuntime.jsx(TypographyButton.TypographyButton, { onClick: handleMergeConfirm, buttonClassName: 'merge-user-accounts__button', buttonVariant: 'brand-primary', buttonPadding: 'large', typographyProps: {
111
+ return (jsxRuntime.jsxs("div", { className: 'merge-user-accounts', children: [error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts__error', children: error })), jsxRuntime.jsxs("div", { className: 'merge-user-accounts__container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts__title', copykey: 'dyn_merge_user_accounts.wallet.content', children: t('dyn_merge_user_accounts.wallet.content') }), jsxRuntime.jsx(TypographyButton.TypographyButton, { onClick: handleMergeConfirm, buttonClassName: 'merge-user-accounts__button', buttonVariant: 'brand-primary', buttonPadding: 'large', typographyProps: {
122
112
  color: 'inherit',
123
113
  }, expanded: true, copykey: 'dyn_merge_user_accounts.confirm_button', children: t('dyn_merge_user_accounts.confirm_button') })] })] }));
124
114
  };
@@ -1,24 +1,21 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../_virtual/_tslib.js';
3
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { useState } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { WalletIcon } from '@dynamic-labs/wallet-book';
7
- import { UserProfileIcon } from '@dynamic-labs/iconic';
8
6
  import '../../events/dynamicEvents.js';
9
7
  import '@dynamic-labs/utils';
10
8
  import '../../context/DynamicContext/DynamicContext.js';
11
9
  import '@dynamic-labs/sdk-api-core';
12
10
  import { logger } from '../../shared/logger.js';
11
+ import '@dynamic-labs/iconic';
13
12
  import '@dynamic-labs/wallet-connector-core';
14
13
  import { useViewContext } from '../../context/ViewContext/ViewContext.js';
15
- import { ReactComponent as SvgAdd } from '../../shared/assets/add.js';
16
- import { shortenWalletAddress } from '../../shared/utils/functions/shortenWalletAddress/shortenWalletAddress.js';
14
+ import '@dynamic-labs/wallet-book';
17
15
  import '../../utils/constants/colors.js';
18
16
  import '../../utils/constants/values.js';
19
17
  import '../../shared/utils/classes/storage/localStorage.js';
20
18
  import '../../shared/consts/index.js';
21
- import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
22
19
  import '../../context/CaptchaContext/CaptchaContext.js';
23
20
  import '../../context/ErrorContext/ErrorContext.js';
24
21
  import '@dynamic-labs/multi-wallet';
@@ -79,12 +76,11 @@ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/P
79
76
  import { useMergeUserAccounts } from '../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js';
80
77
 
81
78
  const MergeUserAccountsView = (props) => {
82
- const { selectedWalletConnector } = useInternalDynamicContext();
83
79
  const { setView } = useViewContext();
84
80
  const { mergeUserAccounts } = useMergeUserAccounts();
85
81
  const { t } = useTranslation();
86
82
  const [error, setError] = useState('');
87
- const { mergeConflicts, walletAddress } = props;
83
+ const { mergeConflicts } = props;
88
84
  const goToConflictsResolutionView = () => {
89
85
  // back button on conflicts resolution view should go back to this view
90
86
  const onConflictsResolutionBackClick = () => {
@@ -108,13 +104,7 @@ const MergeUserAccountsView = (props) => {
108
104
  setError(t('dyn_merge_user_accounts.errors.merge_error'));
109
105
  }
110
106
  });
111
- const renderDuplicatedInfo = () => {
112
- if (walletAddress) {
113
- return (jsxs(Fragment, { children: [jsx(WalletIcon, { walletKey: selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key, className: 'merge-user-accounts__accounts__item__icon' }), jsx(Typography, { variant: 'body_small', weight: 'bold', color: 'secondary', className: 'merge-user-accounts__accounts__item__text', children: shortenWalletAddress(walletAddress, 3, 3) })] }));
114
- }
115
- return (jsx(UserProfileIcon, { className: 'merge-user-accounts__accounts__item__icon' }));
116
- };
117
- return (jsxs("div", { className: 'merge-user-accounts', children: [error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts__error', children: error })), jsxs("div", { className: 'merge-user-accounts__container', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts__title', copykey: 'dyn_merge_user_accounts.wallet.content', children: t('dyn_merge_user_accounts.wallet.content') }), jsxs("div", { className: 'merge-user-accounts__accounts', children: [jsx("div", { className: 'merge-user-accounts__accounts__item', children: renderDuplicatedInfo() }), jsxs("div", { className: 'merge-user-accounts__accounts__divider', children: [jsx("div", { className: 'merge-user-accounts__accounts__divider__dash' }), jsx("div", { className: 'merge-user-accounts__accounts__divider__icon', children: jsx(SvgAdd, {}) })] }), jsx("div", { className: 'merge-user-accounts__accounts__item', children: renderDuplicatedInfo() })] }), jsx(TypographyButton, { onClick: handleMergeConfirm, buttonClassName: 'merge-user-accounts__button', buttonVariant: 'brand-primary', buttonPadding: 'large', typographyProps: {
107
+ return (jsxs("div", { className: 'merge-user-accounts', children: [error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts__error', children: error })), jsxs("div", { className: 'merge-user-accounts__container', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts__title', copykey: 'dyn_merge_user_accounts.wallet.content', children: t('dyn_merge_user_accounts.wallet.content') }), jsx(TypographyButton, { onClick: handleMergeConfirm, buttonClassName: 'merge-user-accounts__button', buttonVariant: 'brand-primary', buttonPadding: 'large', typographyProps: {
118
108
  color: 'inherit',
119
109
  }, expanded: true, copykey: 'dyn_merge_user_accounts.confirm_button', children: t('dyn_merge_user_accounts.confirm_button') })] })] }));
120
110
  };
@@ -82,12 +82,8 @@ require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
82
82
  var HardwareWalletToggle = require('../../components/HardwareWalletToggle/HardwareWalletToggle.cjs');
83
83
 
84
84
  const SelectHardwareWalletView = ({ wallet, onSelectWallet, }) => {
85
- var _a;
86
85
  const { t } = reactI18next.useTranslation();
87
- const chainName = (_a = walletConnectorCore.getChainInfo(wallet.walletConnector.connectedChain)) === null || _a === void 0 ? void 0 : _a.displayName;
88
- return (jsxRuntime.jsx("div", { className: 'select-hardware-wallet-view', children: jsxRuntime.jsxs("div", { className: 'select-hardware-wallet-view__container', children: [jsxRuntime.jsx(Icon.Icon, { className: 'select-hardware-wallet-view__icon', children: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: wallet.key }) }), jsxRuntime.jsx(Typography.Typography, { className: 'select-hardware-wallet-view__text', as: 'p', color: 'secondary', variant: 'body_normal', copykey: 'dyn_select_hardware_wallet.description', children: t('dyn_select_hardware_wallet.description') }), walletConnectorCore.isHardwareWalletConnector(wallet.walletConnector) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(HardwareWalletToggle.HardwareWalletToggle, { connectors: [wallet.walletConnector], copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label', {
89
- chainName,
90
- }) }), jsxRuntime.jsx(Divider.Divider, {})] })), jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonVariant: 'primary', onClick: () => onSelectWallet === null || onSelectWallet === void 0 ? void 0 : onSelectWallet(wallet), copykey: 'dyn_select_hardware_wallet.button', dataTestId: 'select-hardware-wallet-connect-button', children: t('dyn_select_hardware_wallet.button') })] }) }));
86
+ return (jsxRuntime.jsx("div", { className: 'select-hardware-wallet-view', children: jsxRuntime.jsxs("div", { className: 'select-hardware-wallet-view__container', children: [jsxRuntime.jsx(Icon.Icon, { className: 'select-hardware-wallet-view__icon', children: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: wallet.key }) }), jsxRuntime.jsx(Typography.Typography, { className: 'select-hardware-wallet-view__text', as: 'p', color: 'secondary', variant: 'body_normal', copykey: 'dyn_select_hardware_wallet.description', children: t('dyn_select_hardware_wallet.description') }), walletConnectorCore.isHardwareWalletConnector(wallet.walletConnector) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(HardwareWalletToggle.HardwareWalletToggle, { connectors: [wallet.walletConnector], copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label') }), jsxRuntime.jsx(Divider.Divider, {})] })), jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonVariant: 'primary', onClick: () => onSelectWallet === null || onSelectWallet === void 0 ? void 0 : onSelectWallet(wallet), copykey: 'dyn_select_hardware_wallet.button', dataTestId: 'select-hardware-wallet-connect-button', children: t('dyn_select_hardware_wallet.button') })] }) }));
91
87
  };
92
88
 
93
89
  exports.SelectHardwareWalletView = SelectHardwareWalletView;
@@ -2,7 +2,7 @@
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { WalletIcon } from '@dynamic-labs/wallet-book';
5
- import { getChainInfo, isHardwareWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
+ import { isHardwareWalletConnector } from '@dynamic-labs/wallet-connector-core';
6
6
  import 'react';
7
7
  import '../../events/dynamicEvents.js';
8
8
  import '../../../../_virtual/_tslib.js';
@@ -78,12 +78,8 @@ import '../../context/IpConfigurationContext/IpConfigurationContext.js';
78
78
  import { HardwareWalletToggle } from '../../components/HardwareWalletToggle/HardwareWalletToggle.js';
79
79
 
80
80
  const SelectHardwareWalletView = ({ wallet, onSelectWallet, }) => {
81
- var _a;
82
81
  const { t } = useTranslation();
83
- const chainName = (_a = getChainInfo(wallet.walletConnector.connectedChain)) === null || _a === void 0 ? void 0 : _a.displayName;
84
- return (jsx("div", { className: 'select-hardware-wallet-view', children: jsxs("div", { className: 'select-hardware-wallet-view__container', children: [jsx(Icon, { className: 'select-hardware-wallet-view__icon', children: jsx(WalletIcon, { walletKey: wallet.key }) }), jsx(Typography, { className: 'select-hardware-wallet-view__text', as: 'p', color: 'secondary', variant: 'body_normal', copykey: 'dyn_select_hardware_wallet.description', children: t('dyn_select_hardware_wallet.description') }), isHardwareWalletConnector(wallet.walletConnector) && (jsxs(Fragment, { children: [jsx(HardwareWalletToggle, { connectors: [wallet.walletConnector], copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label', {
85
- chainName,
86
- }) }), jsx(Divider, {})] })), jsx(TypographyButton, { buttonVariant: 'primary', onClick: () => onSelectWallet === null || onSelectWallet === void 0 ? void 0 : onSelectWallet(wallet), copykey: 'dyn_select_hardware_wallet.button', dataTestId: 'select-hardware-wallet-connect-button', children: t('dyn_select_hardware_wallet.button') })] }) }));
82
+ return (jsx("div", { className: 'select-hardware-wallet-view', children: jsxs("div", { className: 'select-hardware-wallet-view__container', children: [jsx(Icon, { className: 'select-hardware-wallet-view__icon', children: jsx(WalletIcon, { walletKey: wallet.key }) }), jsx(Typography, { className: 'select-hardware-wallet-view__text', as: 'p', color: 'secondary', variant: 'body_normal', copykey: 'dyn_select_hardware_wallet.description', children: t('dyn_select_hardware_wallet.description') }), isHardwareWalletConnector(wallet.walletConnector) && (jsxs(Fragment, { children: [jsx(HardwareWalletToggle, { connectors: [wallet.walletConnector], copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label') }), jsx(Divider, {})] })), jsx(TypographyButton, { buttonVariant: 'primary', onClick: () => onSelectWallet === null || onSelectWallet === void 0 ? void 0 : onSelectWallet(wallet), copykey: 'dyn_select_hardware_wallet.button', dataTestId: 'select-hardware-wallet-connect-button', children: t('dyn_select_hardware_wallet.button') })] }) }));
87
83
  };
88
84
 
89
85
  export { SelectHardwareWalletView };
@@ -82,7 +82,6 @@ require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
82
82
  require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
83
83
 
84
84
  const WalletGroupView = () => {
85
- var _a, _b;
86
85
  const { selectedWalletGroup } = WalletGroupContext.useWalletGroupContext();
87
86
  const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
88
87
  const { handleWalletItemClick } = useWalletItemActions.useWalletItemActions();
@@ -94,11 +93,7 @@ const WalletGroupView = () => {
94
93
  .map(({ walletConnector }) => walletConnector)
95
94
  .filter(walletConnectorCore.isHardwareWalletConnector)
96
95
  .filter((connector) => connector.canConnectWithHardwareWallet());
97
- const hardwareConnectedChain = (_a = hardwareWalletConnectors[0]) === null || _a === void 0 ? void 0 : _a.connectedChain;
98
- const chainName = hardwareConnectedChain && ((_b = walletConnectorCore.getChainInfo(hardwareConnectedChain)) === null || _b === void 0 ? void 0 : _b.displayName);
99
- return (jsxRuntime.jsx(WalletGroupViewLayout.WalletGroupViewLayout, { icon: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: walletBookData.key }), title: t('dyn_select_chain.description'), titleCopyKey: 'dyn_select_chain.description', children: jsxRuntime.jsxs("div", { className: 'wallet-group__list', children: [Boolean(hardwareWalletConnectors.length) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(HardwareWalletToggle.HardwareWalletToggle, { connectors: hardwareWalletConnectors, copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label', {
100
- chainName,
101
- }) }), jsxRuntime.jsx(Divider.Divider, {})] })), jsxRuntime.jsx("div", { className: 'wallet-group-view-layout__list', children: selectedWalletGroup.groupedWallets.map((wallet, index) => (jsxRuntime.jsx(WalletGroupItem.WalletGroupItem, { wallet: wallet, onClick: () => handleWalletItemClick(wallet) }, `${wallet.key}_${index}`))) })] }) }));
96
+ return (jsxRuntime.jsx(WalletGroupViewLayout.WalletGroupViewLayout, { icon: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: walletBookData.key }), title: t('dyn_select_chain.description'), titleCopyKey: 'dyn_select_chain.description', children: jsxRuntime.jsxs("div", { className: 'wallet-group__list', children: [Boolean(hardwareWalletConnectors.length) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(HardwareWalletToggle.HardwareWalletToggle, { connectors: hardwareWalletConnectors, copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label') }), jsxRuntime.jsx(Divider.Divider, {})] })), jsxRuntime.jsx("div", { className: 'wallet-group-view-layout__list', children: selectedWalletGroup.groupedWallets.map((wallet, index) => (jsxRuntime.jsx(WalletGroupItem.WalletGroupItem, { wallet: wallet, onClick: () => handleWalletItemClick(wallet) }, `${wallet.key}_${index}`))) })] }) }));
102
97
  };
103
98
 
104
99
  exports.WalletGroupView = WalletGroupView;
@@ -2,7 +2,7 @@
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { useWalletBookContext, getWalletGroup, WalletIcon } from '@dynamic-labs/wallet-book';
5
- import { isHardwareWalletConnector, getChainInfo } from '@dynamic-labs/wallet-connector-core';
5
+ import { isHardwareWalletConnector } from '@dynamic-labs/wallet-connector-core';
6
6
  import { useWalletGroupContext } from '../../context/WalletGroupContext/WalletGroupContext.js';
7
7
  import 'react';
8
8
  import '../../events/dynamicEvents.js';
@@ -78,7 +78,6 @@ import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
78
78
  import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
79
79
 
80
80
  const WalletGroupView = () => {
81
- var _a, _b;
82
81
  const { selectedWalletGroup } = useWalletGroupContext();
83
82
  const { walletBook } = useWalletBookContext();
84
83
  const { handleWalletItemClick } = useWalletItemActions();
@@ -90,11 +89,7 @@ const WalletGroupView = () => {
90
89
  .map(({ walletConnector }) => walletConnector)
91
90
  .filter(isHardwareWalletConnector)
92
91
  .filter((connector) => connector.canConnectWithHardwareWallet());
93
- const hardwareConnectedChain = (_a = hardwareWalletConnectors[0]) === null || _a === void 0 ? void 0 : _a.connectedChain;
94
- const chainName = hardwareConnectedChain && ((_b = getChainInfo(hardwareConnectedChain)) === null || _b === void 0 ? void 0 : _b.displayName);
95
- return (jsx(WalletGroupViewLayout, { icon: jsx(WalletIcon, { walletKey: walletBookData.key }), title: t('dyn_select_chain.description'), titleCopyKey: 'dyn_select_chain.description', children: jsxs("div", { className: 'wallet-group__list', children: [Boolean(hardwareWalletConnectors.length) && (jsxs(Fragment, { children: [jsx(HardwareWalletToggle, { connectors: hardwareWalletConnectors, copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label', {
96
- chainName,
97
- }) }), jsx(Divider, {})] })), jsx("div", { className: 'wallet-group-view-layout__list', children: selectedWalletGroup.groupedWallets.map((wallet, index) => (jsx(WalletGroupItem, { wallet: wallet, onClick: () => handleWalletItemClick(wallet) }, `${wallet.key}_${index}`))) })] }) }));
92
+ return (jsx(WalletGroupViewLayout, { icon: jsx(WalletIcon, { walletKey: walletBookData.key }), title: t('dyn_select_chain.description'), titleCopyKey: 'dyn_select_chain.description', children: jsxs("div", { className: 'wallet-group__list', children: [Boolean(hardwareWalletConnectors.length) && (jsxs(Fragment, { children: [jsx(HardwareWalletToggle, { connectors: hardwareWalletConnectors, copykey: 'dyn_select_chain.using_hardware_wallet_toggle_label', label: t('dyn_select_chain.using_hardware_wallet_toggle_label') }), jsx(Divider, {})] })), jsx("div", { className: 'wallet-group-view-layout__list', children: selectedWalletGroup.groupedWallets.map((wallet, index) => (jsx(WalletGroupItem, { wallet: wallet, onClick: () => handleWalletItemClick(wallet) }, `${wallet.key}_${index}`))) })] }) }));
98
93
  };
99
94
 
100
95
  export { WalletGroupView };
@@ -22,7 +22,7 @@ require('@dynamic-labs/sdk-api-core');
22
22
  require('../../shared/logger.cjs');
23
23
  require('@dynamic-labs/iconic');
24
24
  require('@dynamic-labs/wallet-connector-core');
25
- var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
25
+ require('../../context/ViewContext/ViewContext.cjs');
26
26
  require('@dynamic-labs/wallet-book');
27
27
  require('../../utils/constants/colors.cjs');
28
28
  require('../../utils/constants/values.cjs');
@@ -86,13 +86,13 @@ require('../DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs
86
86
  require('../DynamicWidget/context/DynamicWidgetContext.cjs');
87
87
  require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
88
88
  require('../DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
89
+ var WidgetRegistryContextProvider = require('../../context/WidgetRegistry/WidgetRegistryContextProvider.cjs');
89
90
 
90
- const pendingSignModalView = ['pending-signature', 'wallet-sign'];
91
91
  const DynamicMultiWalletPromptsWidget = () => {
92
92
  const isLoggedIn = useIsLoggedIn.useIsLoggedIn();
93
- const { showAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
94
- const { view } = ViewContext.useViewContext();
95
- const isRenderingSignMessageInLinkWalletModal = showAuthFlow && pendingSignModalView.includes(view.type);
93
+ const isUserProfilePresent = WidgetRegistryContextProvider.useWidgetRegistryCheck('user-profile');
94
+ const { showAuthFlow, showDynamicUserProfile } = useInternalDynamicContext.useInternalDynamicContext();
95
+ const isRenderingSignMessageInLinkWalletModal = showAuthFlow || (showDynamicUserProfile && isUserProfilePresent);
96
96
  const multiWalletPromptState = useMultiWalletPromptState.useMultiWalletPromptState();
97
97
  const mapMultiWalletPromptStateToModalComponent = {
98
98
  awaiting_connection: AwaitingConnectionModal.AwaitingConnectionModal,
@@ -18,7 +18,7 @@ import '@dynamic-labs/sdk-api-core';
18
18
  import '../../shared/logger.js';
19
19
  import '@dynamic-labs/iconic';
20
20
  import '@dynamic-labs/wallet-connector-core';
21
- import { useViewContext } from '../../context/ViewContext/ViewContext.js';
21
+ import '../../context/ViewContext/ViewContext.js';
22
22
  import '@dynamic-labs/wallet-book';
23
23
  import '../../utils/constants/colors.js';
24
24
  import '../../utils/constants/values.js';
@@ -82,13 +82,13 @@ import '../DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
82
82
  import '../DynamicWidget/context/DynamicWidgetContext.js';
83
83
  import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
84
84
  import '../DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
85
+ import { useWidgetRegistryCheck } from '../../context/WidgetRegistry/WidgetRegistryContextProvider.js';
85
86
 
86
- const pendingSignModalView = ['pending-signature', 'wallet-sign'];
87
87
  const DynamicMultiWalletPromptsWidget = () => {
88
88
  const isLoggedIn = useIsLoggedIn();
89
- const { showAuthFlow } = useInternalDynamicContext();
90
- const { view } = useViewContext();
91
- const isRenderingSignMessageInLinkWalletModal = showAuthFlow && pendingSignModalView.includes(view.type);
89
+ const isUserProfilePresent = useWidgetRegistryCheck('user-profile');
90
+ const { showAuthFlow, showDynamicUserProfile } = useInternalDynamicContext();
91
+ const isRenderingSignMessageInLinkWalletModal = showAuthFlow || (showDynamicUserProfile && isUserProfilePresent);
92
92
  const multiWalletPromptState = useMultiWalletPromptState();
93
93
  const mapMultiWalletPromptStateToModalComponent = {
94
94
  awaiting_connection: AwaitingConnectionModal,
@@ -79,6 +79,7 @@ var SandboxIndicatorWrapper = require('../../../../components/SandboxIndicatorWr
79
79
  var DynamicWidgetContext = require('../../context/DynamicWidgetContext.cjs');
80
80
  var DynamicWidgetCard = require('../DynamicWidgetCard/DynamicWidgetCard.cjs');
81
81
  var DynamicWidgetVariants = require('../DynamicWidgetVariants/DynamicWidgetVariants.cjs');
82
+ var WidgetRegistryContextProvider = require('../../../../context/WidgetRegistry/WidgetRegistryContextProvider.cjs');
82
83
 
83
84
  const DynamicUserProfile = ({ variant, }) => {
84
85
  const { projectSettings, setShowDynamicUserProfile, showAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
@@ -100,7 +101,9 @@ const DynamicUserProfile = ({ variant, }) => {
100
101
  }
101
102
  }, [inlineControlsRef, variant, showAuthFlow, setShowDynamicUserProfile]);
102
103
  index$1.useOnClickOutside(widgetRef, closeOnOutsideClick);
103
- if (!projectSettings)
104
+ const shouldRenderUserProfile = Boolean(projectSettings);
105
+ WidgetRegistryContextProvider.useRegisterWidget('user-profile', shouldRenderUserProfile);
106
+ if (!shouldRenderUserProfile)
104
107
  return null;
105
108
  return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsx(PopperContext.PopperProvider, { children: jsxRuntime.jsx(DynamicWidgetVariants.DynamicWidgetVariants, { isOpen: isOpen, setIsOpen: setIsOpen, variant: _variant, zIndex: index.widgetModalZIndex, children: jsxRuntime.jsx(SandboxIndicatorWrapper.SandboxIndicatorWrapper, { children: jsxRuntime.jsx(DynamicWidgetCard.DynamicWidgetCard, { ref: widgetRef, children: jsxRuntime.jsx(DynamicUserProfileLayout.DynamicUserProfileLayout, { variant: variant }) }) }) }) }) }));
106
109
  };
@@ -75,6 +75,7 @@ import { SandboxIndicatorWrapper } from '../../../../components/SandboxIndicator
75
75
  import { useWidgetContext } from '../../context/DynamicWidgetContext.js';
76
76
  import { DynamicWidgetCard } from '../DynamicWidgetCard/DynamicWidgetCard.js';
77
77
  import { DynamicWidgetVariants } from '../DynamicWidgetVariants/DynamicWidgetVariants.js';
78
+ import { useRegisterWidget } from '../../../../context/WidgetRegistry/WidgetRegistryContextProvider.js';
78
79
 
79
80
  const DynamicUserProfile = ({ variant, }) => {
80
81
  const { projectSettings, setShowDynamicUserProfile, showAuthFlow } = useInternalDynamicContext();
@@ -96,7 +97,9 @@ const DynamicUserProfile = ({ variant, }) => {
96
97
  }
97
98
  }, [inlineControlsRef, variant, showAuthFlow, setShowDynamicUserProfile]);
98
99
  useOnClickOutside(widgetRef, closeOnOutsideClick);
99
- if (!projectSettings)
100
+ const shouldRenderUserProfile = Boolean(projectSettings);
101
+ useRegisterWidget('user-profile', shouldRenderUserProfile);
102
+ if (!shouldRenderUserProfile)
100
103
  return null;
101
104
  return (jsx(IsBrowser, { children: jsx(PopperProvider, { children: jsx(DynamicWidgetVariants, { isOpen: isOpen, setIsOpen: setIsOpen, variant: _variant, zIndex: widgetModalZIndex, children: jsx(SandboxIndicatorWrapper, { children: jsx(DynamicWidgetCard, { ref: widgetRef, children: jsx(DynamicUserProfileLayout, { variant: variant }) }) }) }) }) }));
102
105
  };
@@ -87,7 +87,7 @@ require('../../../../context/IpConfigurationContext/IpConfigurationContext.cjs')
87
87
  const PrimaryNotConnectedContent = () => {
88
88
  var _a;
89
89
  const { primaryWallet } = useInternalDynamicContext.useInternalDynamicContext();
90
- return (jsxRuntime.jsxs(DefaultPromptModal.DefaultPromptLayout, { dataTestId: 'wallet-not-connected', icon: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: (_a = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _a === void 0 ? void 0 : _a.key }), title: `Switch wallet in ${primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name}`, children: [jsxRuntime.jsxs(Typography.Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: ["Your active wallet in", ' ', jsxRuntime.jsx(Typography.Typography, { as: 'span', weight: 'medium', color: 'primary', children: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name }), ' ', "is not linked. Please switch to wallet", ' ', jsxRuntime.jsx(Typography.Typography, { as: 'span', weight: 'medium', color: 'primary', children: shortenWalletAddress.shortenWalletAddress(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address, 3, 3) }), ' ', "to log in."] }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: "You can link this wallet to this account after you log in." }), jsxRuntime.jsx(Divider.Divider, { fullWidth: true, text: 'Or' }), jsxRuntime.jsx(LogoutButton.LogoutButton, { isTextButton: false, buttonClassName: 'primary-not-connected__log-out-button' })] }));
90
+ return (jsxRuntime.jsxs(DefaultPromptModal.DefaultPromptLayout, { dataTestId: 'wallet-not-connected', icon: jsxRuntime.jsx(walletBook.WalletIcon, { walletKey: (_a = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _a === void 0 ? void 0 : _a.key }), title: `Switch wallet in ${primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name}`, children: [jsxRuntime.jsxs(Typography.Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: ["Your active wallet in", ' ', jsxRuntime.jsx(Typography.Typography, { as: 'span', weight: 'medium', color: 'primary', children: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name }), ' ', "is not linked. Please switch to wallet", ' ', jsxRuntime.jsx(Typography.Typography, { as: 'span', weight: 'medium', color: 'primary', children: shortenWalletAddress.shortenWalletAddress(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address, 3, 3) }), "."] }), jsxRuntime.jsx(Divider.Divider, { fullWidth: true, text: 'Or' }), jsxRuntime.jsx(LogoutButton.LogoutButton, { isTextButton: false, buttonClassName: 'primary-not-connected__log-out-button' })] }));
91
91
  };
92
92
  const PrimaryNotConnectedWidgetPortal = () => (jsxRuntime.jsx(WidgetPortal.WidgetPortal, { children: jsxRuntime.jsx(PrimaryNotConnectedContent, {}) }));
93
93
  const PrimaryNotConnectedModal = () => {
@@ -83,7 +83,7 @@ import '../../../../context/IpConfigurationContext/IpConfigurationContext.js';
83
83
  const PrimaryNotConnectedContent = () => {
84
84
  var _a;
85
85
  const { primaryWallet } = useInternalDynamicContext();
86
- return (jsxs(DefaultPromptLayout, { dataTestId: 'wallet-not-connected', icon: jsx(WalletIcon, { walletKey: (_a = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _a === void 0 ? void 0 : _a.key }), title: `Switch wallet in ${primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name}`, children: [jsxs(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: ["Your active wallet in", ' ', jsx(Typography, { as: 'span', weight: 'medium', color: 'primary', children: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name }), ' ', "is not linked. Please switch to wallet", ' ', jsx(Typography, { as: 'span', weight: 'medium', color: 'primary', children: shortenWalletAddress(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address, 3, 3) }), ' ', "to log in."] }), jsx(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: "You can link this wallet to this account after you log in." }), jsx(Divider, { fullWidth: true, text: 'Or' }), jsx(LogoutButton, { isTextButton: false, buttonClassName: 'primary-not-connected__log-out-button' })] }));
86
+ return (jsxs(DefaultPromptLayout, { dataTestId: 'wallet-not-connected', icon: jsx(WalletIcon, { walletKey: (_a = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _a === void 0 ? void 0 : _a.key }), title: `Switch wallet in ${primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name}`, children: [jsxs(Typography, { variant: 'body_normal', color: 'secondary', weight: 'regular', "data-testid": 'content', children: ["Your active wallet in", ' ', jsx(Typography, { as: 'span', weight: 'medium', color: 'primary', children: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.name }), ' ', "is not linked. Please switch to wallet", ' ', jsx(Typography, { as: 'span', weight: 'medium', color: 'primary', children: shortenWalletAddress(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address, 3, 3) }), "."] }), jsx(Divider, { fullWidth: true, text: 'Or' }), jsx(LogoutButton, { isTextButton: false, buttonClassName: 'primary-not-connected__log-out-button' })] }));
87
87
  };
88
88
  const PrimaryNotConnectedWidgetPortal = () => (jsx(WidgetPortal, { children: jsx(PrimaryNotConnectedContent, {}) }));
89
89
  const PrimaryNotConnectedModal = () => {