@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.
Files changed (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +8 -8
  5. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +3 -3
  6. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +4 -4
  7. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +74 -0
  8. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.d.ts +2 -0
  9. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +70 -0
  10. package/src/lib/components/SyncPasskeyFlow/index.d.ts +1 -0
  11. package/src/lib/components/index.d.ts +1 -0
  12. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -1
  13. package/src/lib/context/DynamicContext/DynamicContext.js +2 -1
  14. package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +2 -0
  15. package/src/lib/locale/en/translation.cjs +4 -3
  16. package/src/lib/locale/en/translation.js +4 -3
  17. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +2 -1
  18. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +2 -1
  19. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.types.d.ts +9 -0
  20. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +20 -0
  21. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.d.ts +2 -0
  22. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +16 -0
  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/functions/isPasskeyEnabled/isPasskeyEnabled.cjs +10 -2
  26. package/src/lib/utils/functions/isPasskeyEnabled/isPasskeyEnabled.js +10 -2
  27. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +6 -2
  28. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
  29. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +6 -2
  30. package/src/lib/utils/hooks/usePromise/usePromise.cjs +5 -8
  31. package/src/lib/utils/hooks/usePromise/usePromise.js +5 -8
  32. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
  33. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
  34. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
  35. package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
  36. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.cjs +16 -7
  37. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.js +17 -8
  38. package/src/lib/views/WalletList/data.cjs +8 -1
  39. package/src/lib/views/WalletList/data.d.ts +1 -1
  40. package/src/lib/views/WalletList/data.js +8 -1
  41. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +2 -2
  42. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +3 -3
  43. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +41 -1
  44. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +41 -1
  45. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +2 -2
  46. 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 { setShowAuthFlow, user, wallets, setPrimaryWalletId, setUser, authToken, environmentId, } = useInternalDynamicContext.useInternalDynamicContext();
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, trailing: closeButton, 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.jsx("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') })] }) }) })] }) })] }));
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 { setShowAuthFlow, user, wallets, setPrimaryWalletId, setUser, authToken, environmentId, } = useInternalDynamicContext();
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, trailing: closeButton, 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 }), jsx("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') })] }) }) })] }) })] }));
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 || _a === void 0 ? void 0 : _a.symbol; })
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" | "STARK" | "ATOM" | "COSMOS")[];
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 || _a === void 0 ? void 0 : _a.symbol; })
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
- var PopperContext = require('../../components/Popper/PopperContext/PopperContext.cjs');
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(PopperContext.PopperProvider, { children: [jsxRuntime.jsx(DynamicNav.DynamicNav, {}), jsxRuntime.jsx(DynamicUserProfile.DynamicUserProfile, { variant: variant })] })) }) }));
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 { PopperProvider } from '../../components/Popper/PopperContext/PopperContext.js';
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(PopperProvider, { children: [jsx(DynamicNav, {}), jsx(DynamicUserProfile, { variant: variant })] })) }) }));
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