@dynamic-labs/sdk-react-core 0.19.0-alpha.10 → 0.19.0-alpha.11
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.
- package/CHANGELOG.md +15 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +3 -3
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +4 -4
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +74 -0
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.d.ts +2 -0
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +70 -0
- package/src/lib/components/SyncPasskeyFlow/index.d.ts +1 -0
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +2 -1
- package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +2 -0
- package/src/lib/locale/en/translation.cjs +4 -3
- package/src/lib/locale/en/translation.js +4 -3
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +2 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +2 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.types.d.ts +9 -0
- package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +20 -0
- package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.d.ts +2 -0
- package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +16 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/isPasskeyEnabled/isPasskeyEnabled.cjs +10 -2
- package/src/lib/utils/functions/isPasskeyEnabled/isPasskeyEnabled.js +10 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +6 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +6 -2
- package/src/lib/utils/hooks/usePromise/usePromise.cjs +5 -8
- package/src/lib/utils/hooks/usePromise/usePromise.js +5 -8
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
- package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
- package/src/lib/views/PasskeyIntroView/PasskeyIntroView.cjs +16 -7
- package/src/lib/views/PasskeyIntroView/PasskeyIntroView.js +17 -8
- package/src/lib/views/WalletList/data.cjs +8 -1
- package/src/lib/views/WalletList/data.d.ts +1 -1
- package/src/lib/views/WalletList/data.js +8 -1
- package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/DynamicWidget.js +3 -3
- package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +41 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +41 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +2 -2
|
@@ -136,7 +136,7 @@ const EmailVerification = () => {
|
|
|
136
136
|
try {
|
|
137
137
|
// this function will check turnkey wallet enabled and create wallet if needed
|
|
138
138
|
// if not enabled, it will throw an error.
|
|
139
|
-
createEmbeddedWallet();
|
|
139
|
+
yield createEmbeddedWallet();
|
|
140
140
|
}
|
|
141
141
|
catch (e) {
|
|
142
142
|
setShowAuthFlow(false);
|
|
@@ -204,7 +204,7 @@ const EmailVerification = () => {
|
|
|
204
204
|
try {
|
|
205
205
|
// this function will check turnkey wallet enabled and create wallet if needed
|
|
206
206
|
// if not enabled, it will throw an error.
|
|
207
|
-
createEmbeddedWallet();
|
|
207
|
+
yield createEmbeddedWallet();
|
|
208
208
|
}
|
|
209
209
|
catch (e) {
|
|
210
210
|
setShowAuthFlow(false);
|
|
@@ -10,19 +10,19 @@ var utils = require('@dynamic-labs/utils');
|
|
|
10
10
|
var useInternalDynamicContext = require('../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
11
11
|
var Typography = require('../../components/Typography/Typography.cjs');
|
|
12
12
|
require('@dynamic-labs/sdk-api');
|
|
13
|
-
require('../../shared/logger.cjs');
|
|
13
|
+
var logger = require('../../shared/logger.cjs');
|
|
14
14
|
require('@dynamic-labs/iconic');
|
|
15
15
|
require('@dynamic-labs/wallet-connector-core');
|
|
16
16
|
var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
|
|
17
|
-
var close = require('../../shared/assets/close.cjs');
|
|
18
17
|
var footerInfoIcon = require('../../shared/assets/footer-info-icon.cjs');
|
|
19
18
|
var passkeyIntroIcon = require('../../shared/assets/passkey-intro-icon.cjs');
|
|
20
19
|
var androidFaceId = require('../../shared/assets/android-face-id.cjs');
|
|
21
20
|
var iphoneFaceId = require('../../shared/assets/iphone-face-id.cjs');
|
|
22
21
|
var iphoneTouchId = require('../../shared/assets/iphone-touch-id.cjs');
|
|
23
22
|
require('@dynamic-labs/wallet-book');
|
|
23
|
+
var localStorage$1 = require('../../utils/constants/localStorage.cjs');
|
|
24
24
|
require('../../utils/constants/colors.cjs');
|
|
25
|
-
require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
25
|
+
var localStorage = require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
26
26
|
require('viem');
|
|
27
27
|
require('../../shared/consts/index.cjs');
|
|
28
28
|
var index$1 = require('../../utils/functions/storeAuthToken/index.cjs');
|
|
@@ -58,6 +58,7 @@ var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
|
|
|
58
58
|
require('@dynamic-labs/types');
|
|
59
59
|
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
60
60
|
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
61
|
+
var TextButton = require('../../components/TextButton/TextButton.cjs');
|
|
61
62
|
var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
|
|
62
63
|
require('../../components/Popper/Popper/Popper.cjs');
|
|
63
64
|
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
@@ -70,11 +71,14 @@ var createEmbeddedWalletWithPasskey = require('./utils/createEmbeddedWalletWithP
|
|
|
70
71
|
var findPasskeyEmailWalletConnector = require('./utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.cjs');
|
|
71
72
|
|
|
72
73
|
const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletWithPasskey.createEmbeddedWalletWithPasskey, }) => {
|
|
73
|
-
const {
|
|
74
|
+
const { user, wallets, setPrimaryWalletId, setUser, authToken, environmentId, handleLogOut, internalEvents, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
74
75
|
const { setView } = ViewContext.useViewContext();
|
|
75
76
|
const { setIsFooterExpanded } = index.useFooterAnimationContext();
|
|
76
77
|
const { t } = reactI18next.useTranslation();
|
|
77
78
|
const { data: passkeyEnabled } = usePromise.usePromise(isPasskeyEnabled.isPasskeyEnabled);
|
|
79
|
+
// if passkey is not yet setup, but user logged in with email in a passkey env
|
|
80
|
+
// it should be null to force user to setup passkey even after the a refresh
|
|
81
|
+
React.useEffect(() => localStorage.LocalStorage.removeFromLS(localStorage$1.LAST_USED_WALLET), []);
|
|
78
82
|
const { mutate: createEmbeddedWalletWithPasskeyMutation, isLoading, error, } = useMutation.useMutation(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
79
83
|
const { embeddedWalletVerifiedCredentialId, jwt, decodedJwt } = yield createEmbeddedWalletMutation({
|
|
80
84
|
authToken,
|
|
@@ -82,11 +86,17 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
82
86
|
user,
|
|
83
87
|
walletConnector: findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(wallets),
|
|
84
88
|
});
|
|
89
|
+
internalEvents.current.emit('embeddedWalletCreated', embeddedWalletVerifiedCredentialId);
|
|
85
90
|
setPrimaryWalletId(embeddedWalletVerifiedCredentialId);
|
|
86
91
|
index$1.storeAuthToken(jwt);
|
|
87
92
|
setUser(createUserProfile.createUserProfile(decodedJwt));
|
|
88
93
|
setView('passkey-success');
|
|
89
|
-
})
|
|
94
|
+
}), {
|
|
95
|
+
onFailure: (err) => {
|
|
96
|
+
logger.logger.error('Failed to create embedded wallet', err);
|
|
97
|
+
internalEvents.current.emit('embeddedWalletFailed', err);
|
|
98
|
+
},
|
|
99
|
+
});
|
|
90
100
|
const errorText = React.useMemo(() => {
|
|
91
101
|
if (!error) {
|
|
92
102
|
return undefined;
|
|
@@ -96,7 +106,6 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
96
106
|
}
|
|
97
107
|
return 'Something went wrong.';
|
|
98
108
|
}, [error]);
|
|
99
|
-
const closeButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', "data-testid": 'close-button', onClick: () => setShowAuthFlow(false), children: jsxRuntime.jsx(close.ReactComponent, {}) }));
|
|
100
109
|
const infoIconButton = (jsxRuntime.jsx(Tooltip.Tooltip, { content: t('dyn_passkey_intro.helper.tooltip'), className: 'header__tooltip', children: jsxRuntime.jsx(IconButton.IconButton, { type: 'button', "data-testid": 'info-button', onClick: () => setIsFooterExpanded((prev) => !prev), className: 'header__icon', children: jsxRuntime.jsx(footerInfoIcon.ReactComponent, {}) }) }, 'info-button'));
|
|
101
110
|
const renderIcon = () => {
|
|
102
111
|
let IdIcon;
|
|
@@ -116,7 +125,7 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
116
125
|
}
|
|
117
126
|
return jsxRuntime.jsx(Icon.Icon, { size: 'small', children: IdIcon });
|
|
118
127
|
};
|
|
119
|
-
return (jsxRuntime.jsxs("div", { className: 'passkey-intro-modal-wrapper', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: infoIconButton,
|
|
128
|
+
return (jsxRuntime.jsxs("div", { className: 'passkey-intro-modal-wrapper', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: infoIconButton, children: jsxRuntime.jsx("div", { className: 'passkey-intro-view__header', children: jsxRuntime.jsx(passkeyIntroIcon.ReactComponent, {}) }) }), jsxRuntime.jsx("div", { className: 'passkey-intro-view', children: jsxRuntime.jsxs("div", { className: 'passkey-intro-view__content', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'passkey-intro-view__title', children: t('dyn_passkey_intro.title') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-intro-view__subtitle', children: t('dyn_passkey_intro.subtitle') }), passkeyEnabled === false && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: t('dyn_passkey_intro.disabled') })), errorText && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: errorText }), jsxRuntime.jsxs("div", { className: 'passkey-intro-view__actions', children: [jsxRuntime.jsx(Button.Button, { buttonPadding: 'large', onClick: () => createEmbeddedWalletWithPasskeyMutation(), dataTestId: 'setup-passkey-button', loading: isLoading, disabled: isLoading || !passkeyEnabled, children: jsxRuntime.jsxs("div", { className: 'passkey-intro-view__inline-button', children: [renderIcon(), jsxRuntime.jsx(Typography.Typography, { children: t('dyn_passkey_intro.button') })] }) }), jsxRuntime.jsx(TextButton.TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, children: t('dyn_passkey_intro.button_logout') })] })] }) })] }));
|
|
120
129
|
};
|
|
121
130
|
|
|
122
131
|
exports.PasskeyIntroView = PasskeyIntroView;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { useMemo } from 'react';
|
|
3
|
+
import { useEffect, useMemo } from 'react';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
import { DynamicError, isIPhone, isIPhone8OrEarlier, isAndroid } from '@dynamic-labs/utils';
|
|
6
6
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useInternalDynamicContext.js';
|
|
7
7
|
import { Typography } from '../../components/Typography/Typography.js';
|
|
8
8
|
import '@dynamic-labs/sdk-api';
|
|
9
|
-
import '../../shared/logger.js';
|
|
9
|
+
import { logger } from '../../shared/logger.js';
|
|
10
10
|
import '@dynamic-labs/iconic';
|
|
11
11
|
import '@dynamic-labs/wallet-connector-core';
|
|
12
12
|
import { useViewContext } from '../../context/ViewContext/ViewContext.js';
|
|
13
|
-
import { ReactComponent as SvgClose } from '../../shared/assets/close.js';
|
|
14
13
|
import { ReactComponent as SvgFooterInfoIcon } from '../../shared/assets/footer-info-icon.js';
|
|
15
14
|
import { ReactComponent as SvgPasskeyIntroIcon } from '../../shared/assets/passkey-intro-icon.js';
|
|
16
15
|
import { ReactComponent as SvgAndroidFaceId } from '../../shared/assets/android-face-id.js';
|
|
17
16
|
import { ReactComponent as SvgIphoneFaceId } from '../../shared/assets/iphone-face-id.js';
|
|
18
17
|
import { ReactComponent as SvgIphoneTouchId } from '../../shared/assets/iphone-touch-id.js';
|
|
19
18
|
import '@dynamic-labs/wallet-book';
|
|
19
|
+
import { LAST_USED_WALLET } from '../../utils/constants/localStorage.js';
|
|
20
20
|
import '../../utils/constants/colors.js';
|
|
21
|
-
import '../../shared/utils/classes/storage/localStorage.js';
|
|
21
|
+
import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
|
|
22
22
|
import 'viem';
|
|
23
23
|
import '../../shared/consts/index.js';
|
|
24
24
|
import { storeAuthToken } from '../../utils/functions/storeAuthToken/index.js';
|
|
@@ -54,6 +54,7 @@ import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
|
|
|
54
54
|
import '@dynamic-labs/types';
|
|
55
55
|
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
56
56
|
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
57
|
+
import { TextButton } from '../../components/TextButton/TextButton.js';
|
|
57
58
|
import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
|
|
58
59
|
import '../../components/Popper/Popper/Popper.js';
|
|
59
60
|
import '../../components/Popper/PopperContext/PopperContext.js';
|
|
@@ -66,11 +67,14 @@ import { createEmbeddedWalletWithPasskey } from './utils/createEmbeddedWalletWit
|
|
|
66
67
|
import { findPasskeyEmailWalletConnector } from './utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.js';
|
|
67
68
|
|
|
68
69
|
const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletWithPasskey, }) => {
|
|
69
|
-
const {
|
|
70
|
+
const { user, wallets, setPrimaryWalletId, setUser, authToken, environmentId, handleLogOut, internalEvents, } = useInternalDynamicContext();
|
|
70
71
|
const { setView } = useViewContext();
|
|
71
72
|
const { setIsFooterExpanded } = useFooterAnimationContext();
|
|
72
73
|
const { t } = useTranslation();
|
|
73
74
|
const { data: passkeyEnabled } = usePromise(isPasskeyEnabled);
|
|
75
|
+
// if passkey is not yet setup, but user logged in with email in a passkey env
|
|
76
|
+
// it should be null to force user to setup passkey even after the a refresh
|
|
77
|
+
useEffect(() => LocalStorage.removeFromLS(LAST_USED_WALLET), []);
|
|
74
78
|
const { mutate: createEmbeddedWalletWithPasskeyMutation, isLoading, error, } = useMutation(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
79
|
const { embeddedWalletVerifiedCredentialId, jwt, decodedJwt } = yield createEmbeddedWalletMutation({
|
|
76
80
|
authToken,
|
|
@@ -78,11 +82,17 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
78
82
|
user,
|
|
79
83
|
walletConnector: findPasskeyEmailWalletConnector(wallets),
|
|
80
84
|
});
|
|
85
|
+
internalEvents.current.emit('embeddedWalletCreated', embeddedWalletVerifiedCredentialId);
|
|
81
86
|
setPrimaryWalletId(embeddedWalletVerifiedCredentialId);
|
|
82
87
|
storeAuthToken(jwt);
|
|
83
88
|
setUser(createUserProfile(decodedJwt));
|
|
84
89
|
setView('passkey-success');
|
|
85
|
-
})
|
|
90
|
+
}), {
|
|
91
|
+
onFailure: (err) => {
|
|
92
|
+
logger.error('Failed to create embedded wallet', err);
|
|
93
|
+
internalEvents.current.emit('embeddedWalletFailed', err);
|
|
94
|
+
},
|
|
95
|
+
});
|
|
86
96
|
const errorText = useMemo(() => {
|
|
87
97
|
if (!error) {
|
|
88
98
|
return undefined;
|
|
@@ -92,7 +102,6 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
92
102
|
}
|
|
93
103
|
return 'Something went wrong.';
|
|
94
104
|
}, [error]);
|
|
95
|
-
const closeButton = (jsx(IconButton, { type: 'button', "data-testid": 'close-button', onClick: () => setShowAuthFlow(false), children: jsx(SvgClose, {}) }));
|
|
96
105
|
const infoIconButton = (jsx(Tooltip, { content: t('dyn_passkey_intro.helper.tooltip'), className: 'header__tooltip', children: jsx(IconButton, { type: 'button', "data-testid": 'info-button', onClick: () => setIsFooterExpanded((prev) => !prev), className: 'header__icon', children: jsx(SvgFooterInfoIcon, {}) }) }, 'info-button'));
|
|
97
106
|
const renderIcon = () => {
|
|
98
107
|
let IdIcon;
|
|
@@ -112,7 +121,7 @@ const PasskeyIntroView = ({ createEmbeddedWalletMutation = createEmbeddedWalletW
|
|
|
112
121
|
}
|
|
113
122
|
return jsx(Icon, { size: 'small', children: IdIcon });
|
|
114
123
|
};
|
|
115
|
-
return (jsxs("div", { className: 'passkey-intro-modal-wrapper', children: [jsx(ModalHeader, { leading: infoIconButton,
|
|
124
|
+
return (jsxs("div", { className: 'passkey-intro-modal-wrapper', children: [jsx(ModalHeader, { leading: infoIconButton, children: jsx("div", { className: 'passkey-intro-view__header', children: jsx(SvgPasskeyIntroIcon, {}) }) }), jsx("div", { className: 'passkey-intro-view', children: jsxs("div", { className: 'passkey-intro-view__content', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'passkey-intro-view__title', children: t('dyn_passkey_intro.title') }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-intro-view__subtitle', children: t('dyn_passkey_intro.subtitle') }), passkeyEnabled === false && (jsx(ErrorContainer, { children: t('dyn_passkey_intro.disabled') })), errorText && jsx(ErrorContainer, { children: errorText }), jsxs("div", { className: 'passkey-intro-view__actions', children: [jsx(Button, { buttonPadding: 'large', onClick: () => createEmbeddedWalletWithPasskeyMutation(), dataTestId: 'setup-passkey-button', loading: isLoading, disabled: isLoading || !passkeyEnabled, children: jsxs("div", { className: 'passkey-intro-view__inline-button', children: [renderIcon(), jsx(Typography, { children: t('dyn_passkey_intro.button') })] }) }), jsx(TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, children: t('dyn_passkey_intro.button_logout') })] })] }) })] }));
|
|
116
125
|
};
|
|
117
126
|
|
|
118
127
|
export { PasskeyIntroView };
|
|
@@ -18,9 +18,16 @@ require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
|
18
18
|
require('viem');
|
|
19
19
|
require('../../shared/consts/index.cjs');
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* This object is needed because the selected symbols default value from
|
|
23
|
+
* getChainInfo differs from the one used in the wallet connectors
|
|
24
|
+
*/
|
|
25
|
+
const chainInfoOverrides = {
|
|
26
|
+
starknet: 'STARK',
|
|
27
|
+
};
|
|
21
28
|
const getEnabledChains = (chains) => chains
|
|
22
29
|
.filter(({ enabled }) => enabled)
|
|
23
|
-
.map(({ name }) => { var _a; return (_a = walletConnectorCore.getChainInfo(name)) === null ||
|
|
30
|
+
.map(({ name }) => { var _a, _b; return (_a = chainInfoOverrides[name]) !== null && _a !== void 0 ? _a : (_b = walletConnectorCore.getChainInfo(name)) === null || _b === void 0 ? void 0 : _b.symbol; })
|
|
24
31
|
.filter((chain) => Boolean(chain));
|
|
25
32
|
const getWallets = (props) => {
|
|
26
33
|
var _a, _b, _c, _d;
|
|
@@ -4,7 +4,7 @@ interface IChain {
|
|
|
4
4
|
enabled: boolean;
|
|
5
5
|
name: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const getEnabledChains: (chains: IChain[]) => ("ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "
|
|
7
|
+
export declare const getEnabledChains: (chains: IChain[]) => ("STARK" | "ETH" | "FLOW" | "SOL" | "EVM" | "ALGO" | "ATOM" | "COSMOS")[];
|
|
8
8
|
type BaseGetSupportedWalletOpts = Omit<GetSupportedWalletsOpts, 'isWalletConnectV2Enabled' | 'walletConnectProjectId' | 'chainRpcProviders'>;
|
|
9
9
|
export declare const getWallets: (props: {
|
|
10
10
|
getSupportedWalletOpts: BaseGetSupportedWalletOpts;
|
|
@@ -14,9 +14,16 @@ import '../../shared/utils/classes/storage/localStorage.js';
|
|
|
14
14
|
import 'viem';
|
|
15
15
|
import '../../shared/consts/index.js';
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* This object is needed because the selected symbols default value from
|
|
19
|
+
* getChainInfo differs from the one used in the wallet connectors
|
|
20
|
+
*/
|
|
21
|
+
const chainInfoOverrides = {
|
|
22
|
+
starknet: 'STARK',
|
|
23
|
+
};
|
|
17
24
|
const getEnabledChains = (chains) => chains
|
|
18
25
|
.filter(({ enabled }) => enabled)
|
|
19
|
-
.map(({ name }) => { var _a; return (_a = getChainInfo(name)) === null ||
|
|
26
|
+
.map(({ name }) => { var _a, _b; return (_a = chainInfoOverrides[name]) !== null && _a !== void 0 ? _a : (_b = getChainInfo(name)) === null || _b === void 0 ? void 0 : _b.symbol; })
|
|
20
27
|
.filter((chain) => Boolean(chain));
|
|
21
28
|
const getWallets = (props) => {
|
|
22
29
|
var _a, _b, _c, _d;
|
|
@@ -45,7 +45,7 @@ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs'
|
|
|
45
45
|
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
46
46
|
var DynamicConnectButton = require('../../components/DynamicConnectButton/DynamicConnectButton.cjs');
|
|
47
47
|
require('../../components/Popper/Popper/Popper.cjs');
|
|
48
|
-
|
|
48
|
+
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
49
49
|
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
50
50
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
51
51
|
require('../../components/OverlayCard/OverlayCard.context.cjs');
|
|
@@ -77,7 +77,7 @@ const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', in
|
|
|
77
77
|
}
|
|
78
78
|
return Boolean(!primaryWallet);
|
|
79
79
|
}, [authMode, primaryWallet, user]);
|
|
80
|
-
return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsx(ShadowDOM.ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsxRuntime.jsx(DynamicConnectButton.DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: innerButtonComponent })) : (jsxRuntime.jsxs(
|
|
80
|
+
return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsx(ShadowDOM.ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsxRuntime.jsx(DynamicConnectButton.DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: innerButtonComponent })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(DynamicNav.DynamicNav, {}), jsxRuntime.jsx(DynamicUserProfile.DynamicUserProfile, { variant: variant })] })) }) }));
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
exports.DynamicWidget = DynamicWidget;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useCallback, useMemo } from 'react';
|
|
3
3
|
import { useTranslation } from 'react-i18next';
|
|
4
4
|
import '@dynamic-labs/sdk-api';
|
|
@@ -41,7 +41,7 @@ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
|
41
41
|
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
42
42
|
import { DynamicConnectButton } from '../../components/DynamicConnectButton/DynamicConnectButton.js';
|
|
43
43
|
import '../../components/Popper/Popper/Popper.js';
|
|
44
|
-
import
|
|
44
|
+
import '../../components/Popper/PopperContext/PopperContext.js';
|
|
45
45
|
import '../../components/InlineWidget/InlineWidget.js';
|
|
46
46
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
47
47
|
import '../../components/OverlayCard/OverlayCard.context.js';
|
|
@@ -73,7 +73,7 @@ const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', in
|
|
|
73
73
|
}
|
|
74
74
|
return Boolean(!primaryWallet);
|
|
75
75
|
}, [authMode, primaryWallet, user]);
|
|
76
|
-
return (jsx(IsBrowser, { children: jsx(ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsx(DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: innerButtonComponent })) : (jsxs(
|
|
76
|
+
return (jsx(IsBrowser, { children: jsx(ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsx(DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: innerButtonComponent })) : (jsxs(Fragment, { children: [jsx(DynamicNav, {}), jsx(DynamicUserProfile, { variant: variant })] })) }) }));
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
export { DynamicWidget };
|
|
@@ -10,6 +10,46 @@ var ShadowDOM = require('../../../../components/ShadowDOM/ShadowDOM.cjs');
|
|
|
10
10
|
var DynamicWidgetContext = require('../../context/DynamicWidgetContext.cjs');
|
|
11
11
|
var IsBrowser = require('../../../../components/IsBrowser/IsBrowser.cjs');
|
|
12
12
|
var NetworkPicker = require('../../../../components/NetworkPicker/NetworkPicker.cjs');
|
|
13
|
+
require('@dynamic-labs/sdk-api');
|
|
14
|
+
require('../../../../shared/logger.cjs');
|
|
15
|
+
require('@dynamic-labs/iconic');
|
|
16
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
17
|
+
require('../../../../context/ViewContext/ViewContext.cjs');
|
|
18
|
+
require('@dynamic-labs/wallet-book');
|
|
19
|
+
require('@dynamic-labs/utils');
|
|
20
|
+
require('../../../../utils/constants/colors.cjs');
|
|
21
|
+
require('../../../../shared/utils/classes/storage/localStorage.cjs');
|
|
22
|
+
require('viem');
|
|
23
|
+
require('../../../../shared/consts/index.cjs');
|
|
24
|
+
require('@dynamic-labs/multi-wallet');
|
|
25
|
+
require('../../../../config/ApiEndpoint.cjs');
|
|
26
|
+
require('../../../../context/ThemeContext/ThemeContext.cjs');
|
|
27
|
+
require('react-dom');
|
|
28
|
+
require('react-focus-lock');
|
|
29
|
+
require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
30
|
+
require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
31
|
+
require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
32
|
+
require('@dynamic-labs/rpc-providers');
|
|
33
|
+
require('../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
|
|
34
|
+
require('../../../../context/ErrorContext/ErrorContext.cjs');
|
|
35
|
+
require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
36
|
+
require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
37
|
+
require('../../../../components/IconButton/IconButton.cjs');
|
|
38
|
+
require('../../../../components/Alert/Alert.cjs');
|
|
39
|
+
require('formik');
|
|
40
|
+
require('yup');
|
|
41
|
+
require('../../../../views/CollectUserDataView/fieldsConfig.cjs');
|
|
42
|
+
require('../../../../context/MockContext/MockContext.cjs');
|
|
43
|
+
require('../../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
44
|
+
require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
|
|
45
|
+
require('@dynamic-labs/types');
|
|
46
|
+
require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
47
|
+
require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
48
|
+
require('../../../../components/Popper/Popper/Popper.cjs');
|
|
49
|
+
var PopperContext = require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
50
|
+
require('../../../../components/InlineWidget/InlineWidget.cjs');
|
|
51
|
+
require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
52
|
+
require('../../../../components/OverlayCard/OverlayCard.context.cjs');
|
|
13
53
|
|
|
14
54
|
const DynamicNav = () => {
|
|
15
55
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = React.useState(false);
|
|
@@ -21,7 +61,7 @@ const DynamicNav = () => {
|
|
|
21
61
|
if (!projectSettings)
|
|
22
62
|
return null;
|
|
23
63
|
const shouldHideNetwork = projectSettings.sdk.hideNetworkInDynamicWidget;
|
|
24
|
-
return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsxs("div", { ref: inlineControlsRef, "data-testid": 'DynamicNav', className: 'dynamic-widget-inline-controls', children: [!shouldHideNetwork && primaryWallet && (jsxRuntime.jsx(NetworkPicker.NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'dynamic-widget-inline-controls__network-picker-main', buttonClassName: 'dynamic-widget-inline-controls__network-picker', listClassName: 'dynamic-widget-inline-controls__network-picker-list', checkboxClassName: 'dynamic-widget-inline-controls__network-picker-checkbox', evmNetworks: evmNetworks })), jsxRuntime.jsx("div", { className: 'dynamic-widget-inline-controls__account-control-container', children: jsxRuntime.jsx(AccountControl.AccountControl, { className: 'dynamic-widget-inline-controls__account-control' }) })] }) }));
|
|
64
|
+
return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsxs("div", { ref: inlineControlsRef, "data-testid": 'DynamicNav', className: 'dynamic-widget-inline-controls', children: [!shouldHideNetwork && primaryWallet && (jsxRuntime.jsx(PopperContext.PopperProvider, { children: jsxRuntime.jsx(NetworkPicker.NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'dynamic-widget-inline-controls__network-picker-main', buttonClassName: 'dynamic-widget-inline-controls__network-picker', listClassName: 'dynamic-widget-inline-controls__network-picker-list', checkboxClassName: 'dynamic-widget-inline-controls__network-picker-checkbox', evmNetworks: evmNetworks }) })), jsxRuntime.jsx("div", { className: 'dynamic-widget-inline-controls__account-control-container', children: jsxRuntime.jsx(AccountControl.AccountControl, { className: 'dynamic-widget-inline-controls__account-control' }) })] }) }));
|
|
25
65
|
};
|
|
26
66
|
const ShadowedDynamicNav = () => (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { children: jsxRuntime.jsx(DynamicNav, {}) }));
|
|
27
67
|
|
|
@@ -6,6 +6,46 @@ import { ShadowDOM } from '../../../../components/ShadowDOM/ShadowDOM.js';
|
|
|
6
6
|
import { useWidgetContext } from '../../context/DynamicWidgetContext.js';
|
|
7
7
|
import { IsBrowser } from '../../../../components/IsBrowser/IsBrowser.js';
|
|
8
8
|
import { NetworkPicker } from '../../../../components/NetworkPicker/NetworkPicker.js';
|
|
9
|
+
import '@dynamic-labs/sdk-api';
|
|
10
|
+
import '../../../../shared/logger.js';
|
|
11
|
+
import '@dynamic-labs/iconic';
|
|
12
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
13
|
+
import '../../../../context/ViewContext/ViewContext.js';
|
|
14
|
+
import '@dynamic-labs/wallet-book';
|
|
15
|
+
import '@dynamic-labs/utils';
|
|
16
|
+
import '../../../../utils/constants/colors.js';
|
|
17
|
+
import '../../../../shared/utils/classes/storage/localStorage.js';
|
|
18
|
+
import 'viem';
|
|
19
|
+
import '../../../../shared/consts/index.js';
|
|
20
|
+
import '@dynamic-labs/multi-wallet';
|
|
21
|
+
import '../../../../config/ApiEndpoint.js';
|
|
22
|
+
import '../../../../context/ThemeContext/ThemeContext.js';
|
|
23
|
+
import 'react-dom';
|
|
24
|
+
import 'react-focus-lock';
|
|
25
|
+
import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
26
|
+
import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
27
|
+
import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
28
|
+
import '@dynamic-labs/rpc-providers';
|
|
29
|
+
import '../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
|
|
30
|
+
import '../../../../context/ErrorContext/ErrorContext.js';
|
|
31
|
+
import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
32
|
+
import '../../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
33
|
+
import '../../../../components/IconButton/IconButton.js';
|
|
34
|
+
import '../../../../components/Alert/Alert.js';
|
|
35
|
+
import 'formik';
|
|
36
|
+
import 'yup';
|
|
37
|
+
import '../../../../views/CollectUserDataView/fieldsConfig.js';
|
|
38
|
+
import '../../../../context/MockContext/MockContext.js';
|
|
39
|
+
import '../../../../context/CaptchaContext/CaptchaContext.js';
|
|
40
|
+
import '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
|
|
41
|
+
import '@dynamic-labs/types';
|
|
42
|
+
import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
43
|
+
import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
44
|
+
import '../../../../components/Popper/Popper/Popper.js';
|
|
45
|
+
import { PopperProvider } from '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
46
|
+
import '../../../../components/InlineWidget/InlineWidget.js';
|
|
47
|
+
import '../../../../components/MenuList/Dropdown/Dropdown.js';
|
|
48
|
+
import '../../../../components/OverlayCard/OverlayCard.context.js';
|
|
9
49
|
|
|
10
50
|
const DynamicNav = () => {
|
|
11
51
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = useState(false);
|
|
@@ -17,7 +57,7 @@ const DynamicNav = () => {
|
|
|
17
57
|
if (!projectSettings)
|
|
18
58
|
return null;
|
|
19
59
|
const shouldHideNetwork = projectSettings.sdk.hideNetworkInDynamicWidget;
|
|
20
|
-
return (jsx(IsBrowser, { children: jsxs("div", { ref: inlineControlsRef, "data-testid": 'DynamicNav', className: 'dynamic-widget-inline-controls', children: [!shouldHideNetwork && primaryWallet && (jsx(NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'dynamic-widget-inline-controls__network-picker-main', buttonClassName: 'dynamic-widget-inline-controls__network-picker', listClassName: 'dynamic-widget-inline-controls__network-picker-list', checkboxClassName: 'dynamic-widget-inline-controls__network-picker-checkbox', evmNetworks: evmNetworks })), jsx("div", { className: 'dynamic-widget-inline-controls__account-control-container', children: jsx(AccountControl, { className: 'dynamic-widget-inline-controls__account-control' }) })] }) }));
|
|
60
|
+
return (jsx(IsBrowser, { children: jsxs("div", { ref: inlineControlsRef, "data-testid": 'DynamicNav', className: 'dynamic-widget-inline-controls', children: [!shouldHideNetwork && primaryWallet && (jsx(PopperProvider, { children: jsx(NetworkPicker, { connector: primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, mainClassName: 'dynamic-widget-inline-controls__network-picker-main', buttonClassName: 'dynamic-widget-inline-controls__network-picker', listClassName: 'dynamic-widget-inline-controls__network-picker-list', checkboxClassName: 'dynamic-widget-inline-controls__network-picker-checkbox', evmNetworks: evmNetworks }) })), jsx("div", { className: 'dynamic-widget-inline-controls__account-control-container', children: jsx(AccountControl, { className: 'dynamic-widget-inline-controls__account-control' }) })] }) }));
|
|
21
61
|
};
|
|
22
62
|
const ShadowedDynamicNav = () => (jsx(ShadowDOM, { children: jsx(DynamicNav, {}) }));
|
|
23
63
|
|
|
@@ -47,7 +47,7 @@ require('@dynamic-labs/types');
|
|
|
47
47
|
require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
48
48
|
require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
49
49
|
require('../../../../components/Popper/Popper/Popper.cjs');
|
|
50
|
-
require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
50
|
+
var PopperContext = require('../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
51
51
|
require('../../../../components/InlineWidget/InlineWidget.cjs');
|
|
52
52
|
require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
53
53
|
require('../../../../components/OverlayCard/OverlayCard.context.cjs');
|
|
@@ -67,7 +67,7 @@ const DynamicUserProfile = ({ variant, }) => {
|
|
|
67
67
|
if (!projectSettings)
|
|
68
68
|
return null;
|
|
69
69
|
const shouldRenderHeader = dynamicWidgetView !== 'send-balance';
|
|
70
|
-
return (jsxRuntime.jsx(IsBrowser.IsBrowser, { children: jsxRuntime.jsx(DynamicWidgetVariants.DynamicWidgetVariants, { isOpen: isOpen, setIsOpen: setIsOpen, variant: _variant, zIndex: index.widgetModalZIndex, children: jsxRuntime.jsx(DynamicWidgetCard.DynamicWidgetCard, { ref: widgetRef, children: jsxRuntime.jsxs(OverlayCardTarget.OverlayCardTarget, { children: [shouldRenderHeader && jsxRuntime.jsx(DynamicWidgetHeader.MemoizedDynamicWidgetHeader, { variant: variant }), jsxRuntime.jsx(DynamicWidgetViews.DynamicWidgetViews, {}), jsxRuntime.jsx(DynamicWidgetPrompts.DynamicWidgetPrompts, {})] }) }) }) }));
|
|
70
|
+
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(DynamicWidgetCard.DynamicWidgetCard, { ref: widgetRef, children: jsxRuntime.jsxs(OverlayCardTarget.OverlayCardTarget, { children: [shouldRenderHeader && jsxRuntime.jsx(DynamicWidgetHeader.MemoizedDynamicWidgetHeader, { variant: variant }), jsxRuntime.jsx(DynamicWidgetViews.DynamicWidgetViews, {}), jsxRuntime.jsx(DynamicWidgetPrompts.DynamicWidgetPrompts, {})] }) }) }) }) }));
|
|
71
71
|
};
|
|
72
72
|
const ShadowedDynamicUserProfile = () => (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { zIndex: index.widgetModalZIndex, children: jsxRuntime.jsx(DynamicUserProfile, {}) }));
|
|
73
73
|
|
|
@@ -43,7 +43,7 @@ import '@dynamic-labs/types';
|
|
|
43
43
|
import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
44
44
|
import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
45
45
|
import '../../../../components/Popper/Popper/Popper.js';
|
|
46
|
-
import '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
46
|
+
import { PopperProvider } from '../../../../components/Popper/PopperContext/PopperContext.js';
|
|
47
47
|
import '../../../../components/InlineWidget/InlineWidget.js';
|
|
48
48
|
import '../../../../components/MenuList/Dropdown/Dropdown.js';
|
|
49
49
|
import '../../../../components/OverlayCard/OverlayCard.context.js';
|
|
@@ -63,7 +63,7 @@ const DynamicUserProfile = ({ variant, }) => {
|
|
|
63
63
|
if (!projectSettings)
|
|
64
64
|
return null;
|
|
65
65
|
const shouldRenderHeader = dynamicWidgetView !== 'send-balance';
|
|
66
|
-
return (jsx(IsBrowser, { children: jsx(DynamicWidgetVariants, { isOpen: isOpen, setIsOpen: setIsOpen, variant: _variant, zIndex: widgetModalZIndex, children: jsx(DynamicWidgetCard, { ref: widgetRef, children: jsxs(OverlayCardTarget, { children: [shouldRenderHeader && jsx(MemoizedDynamicWidgetHeader, { variant: variant }), jsx(DynamicWidgetViews, {}), jsx(DynamicWidgetPrompts, {})] }) }) }) }));
|
|
66
|
+
return (jsx(IsBrowser, { children: jsx(PopperProvider, { children: jsx(DynamicWidgetVariants, { isOpen: isOpen, setIsOpen: setIsOpen, variant: _variant, zIndex: widgetModalZIndex, children: jsx(DynamicWidgetCard, { ref: widgetRef, children: jsxs(OverlayCardTarget, { children: [shouldRenderHeader && jsx(MemoizedDynamicWidgetHeader, { variant: variant }), jsx(DynamicWidgetViews, {}), jsx(DynamicWidgetPrompts, {})] }) }) }) }) }));
|
|
67
67
|
};
|
|
68
68
|
const ShadowedDynamicUserProfile = () => (jsx(ShadowDOM, { zIndex: widgetModalZIndex, children: jsx(DynamicUserProfile, {}) }));
|
|
69
69
|
|