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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +10 -10
  5. package/src/index.cjs +9 -1
  6. package/src/index.d.ts +4 -1
  7. package/src/index.js +5 -1
  8. package/src/lib/Main.cjs +2 -0
  9. package/src/lib/Main.js +2 -0
  10. package/src/lib/context/DynamicContext/DynamicContext.cjs +15 -8
  11. package/src/lib/context/DynamicContext/DynamicContext.js +16 -9
  12. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +15 -6
  13. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +15 -6
  14. package/src/lib/context/DynamicContext/types/index.d.ts +4 -2
  15. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +3 -2
  16. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  17. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +3 -2
  18. package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.cjs +113 -0
  19. package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.d.ts +22 -0
  20. package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.js +107 -0
  21. package/src/lib/context/ReinitializeContext/index.d.ts +1 -0
  22. package/src/lib/context/WalletContext/WalletContext.cjs +1 -1
  23. package/src/lib/context/WalletContext/WalletContext.js +1 -1
  24. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.cjs +128 -0
  25. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.d.ts +6 -0
  26. package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.js +122 -0
  27. package/src/lib/context/WidgetRegistry/index.d.ts +1 -0
  28. package/src/lib/data/api/wallets/wallets.cjs +2 -1
  29. package/src/lib/data/api/wallets/wallets.d.ts +2 -1
  30. package/src/lib/data/api/wallets/wallets.js +2 -1
  31. package/src/lib/events/dynamicEvents.d.ts +2 -1
  32. package/src/lib/events/multiWallet.d.ts +6 -0
  33. package/src/lib/store/index.d.ts +1 -1
  34. package/src/lib/store/store.cjs +6 -0
  35. package/src/lib/store/store.d.ts +1 -0
  36. package/src/lib/store/store.js +6 -1
  37. package/src/lib/styles/index.shadow.cjs +1 -1
  38. package/src/lib/styles/index.shadow.js +1 -1
  39. package/src/lib/utils/functions/index.d.ts +1 -0
  40. package/src/lib/utils/functions/logVerboseTroubleshootingMessage/index.d.ts +1 -0
  41. package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs +28 -0
  42. package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.d.ts +1 -0
  43. package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js +24 -0
  44. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.cjs +20 -0
  45. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +2 -2
  46. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.js +20 -1
  47. package/src/lib/utils/hooks/index.d.ts +1 -0
  48. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +39 -13
  49. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +40 -14
  50. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +3 -1
  51. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +3 -1
  52. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +6 -2
  53. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +6 -2
  54. package/src/lib/utils/hooks/useRefreshUser/index.d.ts +1 -0
  55. package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.cjs +90 -0
  56. package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.d.ts +8 -0
  57. package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.js +86 -0
  58. package/src/lib/utils/hooks/useSwitchNetwork/index.d.ts +1 -0
  59. package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.cjs +26 -0
  60. package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.d.ts +5 -0
  61. package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.js +22 -0
  62. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +7 -6
  63. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +7 -6
  64. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +118 -25
  65. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +119 -26
  66. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +20 -1
  67. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +20 -1
  68. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +4 -14
  69. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +5 -15
  70. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +3 -1
  71. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +3 -1
  72. package/src/lib/views/WalletList/WalletList.cjs +1 -3
  73. package/src/lib/views/WalletList/WalletList.js +1 -3
  74. package/src/lib/views/WalletList/hooks/useTabState.cjs +6 -81
  75. package/src/lib/views/WalletList/hooks/useTabState.d.ts +6 -3
  76. package/src/lib/views/WalletList/hooks/useTabState.js +6 -81
  77. package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.cjs +5 -5
  78. package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.js +5 -5
  79. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +4 -1
  80. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +4 -1
  81. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -1
  82. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -1
  83. package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.cjs +0 -22
  84. package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.d.ts +0 -2
  85. package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.js +0 -18
  86. package/src/lib/views/WalletList/utils/getInitialTabIndex/index.d.ts +0 -1
@@ -1,21 +1,21 @@
1
1
  'use client'
2
- import { useInternalDynamicEvents } from '../../../../utils/hooks/events/useDynamicEvents/useDynamicEvents.js';
3
- import 'react';
4
- import '../../../../../../_virtual/_tslib.js';
5
- import '@dynamic-labs/utils';
6
- import '../../DynamicContext.js';
7
2
  import '@dynamic-labs/sdk-api-core';
8
- import '../../../../shared/logger.js';
3
+ import { logger } from '../../../../shared/logger.js';
9
4
  import '@dynamic-labs/iconic';
10
5
  import '@dynamic-labs/wallet-connector-core';
11
6
  import 'react/jsx-runtime';
12
7
  import '../../../ViewContext/ViewContext.js';
8
+ import 'react';
13
9
  import '@dynamic-labs/wallet-book';
14
10
  import '../../../../utils/constants/colors.js';
15
11
  import '../../../../utils/constants/values.js';
16
12
  import '../../../../shared/utils/classes/storage/localStorage.js';
17
13
  import '../../../../shared/utils/classes/storage/sessionStorage.js';
14
+ import '@dynamic-labs/utils';
18
15
  import '../../../../shared/consts/index.js';
16
+ import { useInternalDynamicEvents } from '../../../../utils/hooks/events/useDynamicEvents/useDynamicEvents.js';
17
+ import '../../../../../../_virtual/_tslib.js';
18
+ import '../../DynamicContext.js';
19
19
  import '../../../CaptchaContext/CaptchaContext.js';
20
20
  import '../../../ErrorContext/ErrorContext.js';
21
21
  import '@dynamic-labs/multi-wallet';
@@ -101,14 +101,21 @@ const useTieCallbacksToEvents = ({ clientCallbacks, user, setHasLoggedOut, }) =>
101
101
  useInternalDynamicEvents('walletAdded', (wallet, userWallets) => {
102
102
  var _a;
103
103
  setHasLoggedOut(false);
104
+ logger.debug('[walletAdded]', { userWallets, wallet });
104
105
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onWalletAdded) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, { userWallets, wallet });
105
106
  });
106
107
  useInternalDynamicEvents('walletRemoved', (wallet, userWallets) => {
107
108
  var _a;
109
+ logger.debug('[walletRemoved]', { userWallets, wallet });
108
110
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onWalletRemoved) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, { userWallets, wallet });
109
111
  });
110
112
  useInternalDynamicEvents('embeddedWalletCreated', (_wallet, jwtVerifiedCredential, user) => {
111
113
  var _a;
114
+ logger.debug('[embeddedWalletCreated]', {
115
+ _wallet,
116
+ jwtVerifiedCredential,
117
+ user,
118
+ });
112
119
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onEmbeddedWalletCreated) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, jwtVerifiedCredential, user);
113
120
  });
114
121
  useInternalDynamicEvents('logout', () => {
@@ -117,10 +124,12 @@ const useTieCallbacksToEvents = ({ clientCallbacks, user, setHasLoggedOut, }) =>
117
124
  });
118
125
  useInternalDynamicEvents('authFailure', (data, reason) => {
119
126
  var _a;
127
+ logger.debug('[authFailure]', { data, reason });
120
128
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onAuthFailure) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, data, reason);
121
129
  });
122
130
  useInternalDynamicEvents('authInit', (data) => {
123
131
  var _a;
132
+ logger.debug('[authInit]', { data });
124
133
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onAuthInit) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, data);
125
134
  });
126
135
  };
@@ -117,8 +117,10 @@ export interface IDynamicContext {
117
117
  changeLanguage: typeof changeLanguage;
118
118
  };
119
119
  loginWithEmail: boolean;
120
- setDefaultTabIndex: (index: number) => void;
121
- defaultTabIndex: number;
120
+ selectedTabIndex: number;
121
+ selectedTabSettings: WalletListViewTabItem | undefined;
122
+ tabsItems: WalletListViewTabItem[] | undefined;
123
+ setSelectedTabIndex: Dispatch<SetStateAction<number>>;
122
124
  minAuthToken: string | undefined;
123
125
  multiAsset: boolean;
124
126
  multiWallet: boolean;
@@ -13,7 +13,7 @@ const useDynamicContext = () => {
13
13
  if (context === undefined) {
14
14
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
15
15
  }
16
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, setDefaultTabIndex, } = context;
16
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, selectedTabIndex, setSelectedTabIndex, } = context;
17
17
  const { setAuthMode } = useOverrides.useOverrides(context);
18
18
  return {
19
19
  accountSwitchState,
@@ -36,12 +36,13 @@ const useDynamicContext = () => {
36
36
  primaryWallet,
37
37
  qrcodeUri,
38
38
  sdkHasLoaded,
39
+ selectedTabIndex,
39
40
  sendWagmiSettings,
40
41
  setAuthMode,
41
- setDefaultTabIndex,
42
42
  setLogInWithEmail,
43
43
  setMultiWalletWidgetState,
44
44
  setPrimaryWallet,
45
+ setSelectedTabIndex,
45
46
  setShowAuthFlow: (value) => setShowAuthFlow(value, {
46
47
  clearErrors: true,
47
48
  emitCancelAuth: true,
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
2
  import { IDynamicContext } from '../types';
3
- export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setPrimaryWallet' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'showDynamicUserProfile' | 'setAuthMode' | 'minAuthToken' | 'setDefaultTabIndex'> & {
3
+ export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setPrimaryWallet' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'showDynamicUserProfile' | 'setAuthMode' | 'minAuthToken' | 'selectedTabIndex' | 'setSelectedTabIndex'> & {
4
4
  setShowAuthFlow: Dispatch<SetStateAction<boolean>>;
5
5
  };
6
6
  export declare const useDynamicContext: () => UseDynamicContext;
@@ -9,7 +9,7 @@ const useDynamicContext = () => {
9
9
  if (context === undefined) {
10
10
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
11
11
  }
12
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, setDefaultTabIndex, } = context;
12
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, selectedTabIndex, setSelectedTabIndex, } = context;
13
13
  const { setAuthMode } = useOverrides(context);
14
14
  return {
15
15
  accountSwitchState,
@@ -32,12 +32,13 @@ const useDynamicContext = () => {
32
32
  primaryWallet,
33
33
  qrcodeUri,
34
34
  sdkHasLoaded,
35
+ selectedTabIndex,
35
36
  sendWagmiSettings,
36
37
  setAuthMode,
37
- setDefaultTabIndex,
38
38
  setLogInWithEmail,
39
39
  setMultiWalletWidgetState,
40
40
  setPrimaryWallet,
41
+ setSelectedTabIndex,
41
42
  setShowAuthFlow: (value) => setShowAuthFlow(value, {
42
43
  clearErrors: true,
43
44
  emitCancelAuth: true,
@@ -0,0 +1,113 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ require('@dynamic-labs/wallet-connector-core');
9
+ require('@dynamic-labs/sdk-api-core');
10
+ require('../../utils/constants/values.cjs');
11
+ require('@dynamic-labs/utils');
12
+ require('../../../../_virtual/_tslib.cjs');
13
+ require('@dynamic-labs/multi-wallet');
14
+ require('../../shared/logger.cjs');
15
+ require('@dynamic-labs/iconic');
16
+ require('../ViewContext/ViewContext.cjs');
17
+ require('@dynamic-labs/wallet-book');
18
+ require('../../utils/constants/colors.cjs');
19
+ require('../../shared/utils/classes/storage/localStorage.cjs');
20
+ require('../../shared/utils/classes/storage/sessionStorage.cjs');
21
+ require('../../shared/consts/index.cjs');
22
+ require('react-international-phone');
23
+ require('../../config/ApiEndpoint.cjs');
24
+ require('@dynamic-labs/store');
25
+ require('../../locale/locale.cjs');
26
+ var randomString = require('../../utils/functions/randomString/randomString.cjs');
27
+ require('../../events/dynamicEvents.cjs');
28
+ require('../DynamicContext/DynamicContext.cjs');
29
+ require('../CaptchaContext/CaptchaContext.cjs');
30
+ require('../ErrorContext/ErrorContext.cjs');
31
+ require('../AccessDeniedContext/AccessDeniedContext.cjs');
32
+ require('../AccountExistsContext/AccountExistsContext.cjs');
33
+ require('../UserWalletsContext/UserWalletsContext.cjs');
34
+ require('../VerificationContext/VerificationContext.cjs');
35
+ require('react-dom');
36
+ require('../WalletContext/WalletContext.cjs');
37
+ require('../ThemeContext/ThemeContext.cjs');
38
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
39
+ require('@dynamic-labs/types');
40
+ require('../LoadingContext/LoadingContext.cjs');
41
+ require('yup');
42
+ require('../MockContext/MockContext.cjs');
43
+ require('../../views/CollectUserDataView/useFields.cjs');
44
+ require('../FieldsStateContext/FieldsStateContext.cjs');
45
+ require('../UserFieldEditorContext/UserFieldEditorContext.cjs');
46
+ require('@dynamic-labs/rpc-providers');
47
+ require('react-i18next');
48
+ require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
49
+ require('../../components/Alert/Alert.cjs');
50
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
51
+ require('../../components/IconButton/IconButton.cjs');
52
+ require('../../components/InlineWidget/InlineWidget.cjs');
53
+ require('../../components/Input/Input.cjs');
54
+ require('../../components/IsBrowser/IsBrowser.cjs');
55
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
56
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
57
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
58
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
59
+ require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
60
+ require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
61
+ require('../../components/Popper/Popper/Popper.cjs');
62
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
63
+ require('react-focus-lock');
64
+ require('qrcode');
65
+ require('formik');
66
+ require('../../views/WalletList/WalletList.cjs');
67
+ require('../SocialRedirectContext/SocialRedirectContext.cjs');
68
+ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
69
+ require('@hcaptcha/react-hcaptcha');
70
+ require('../FooterAnimationContext/index.cjs');
71
+ require('../WalletGroupContext/WalletGroupContext.cjs');
72
+ require('../MfaSettingsContext/MfaSettingsContext.cjs');
73
+ require('../IpConfigurationContext/IpConfigurationContext.cjs');
74
+ require('../PasskeyContext/PasskeyContext.cjs');
75
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
76
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
77
+ require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
78
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
79
+
80
+ const reinitializeContext = React.createContext(undefined);
81
+ /**
82
+ * Provider that provides a reinitialize function to its children.
83
+ * @param children The children to render.
84
+ * @param onReinitialize A callback that is called when reinitialize is called.
85
+ */
86
+ const ReinitializeContextProvider = ({ children, onReinitialize }) => {
87
+ // Initial key is undefined to not interfere on react strick mode
88
+ const [key, setKey] = React.useState();
89
+ const onReinitializeCallbackRef = React.useRef(onReinitialize);
90
+ onReinitializeCallbackRef.current = onReinitialize;
91
+ const reinitialize = React.useCallback(() => {
92
+ var _a;
93
+ const newKey = randomString.randomString(8);
94
+ (_a = onReinitializeCallbackRef.current) === null || _a === void 0 ? void 0 : _a.call(onReinitializeCallbackRef, newKey);
95
+ setKey(newKey);
96
+ }, []);
97
+ return (jsxRuntime.jsx(reinitializeContext.Provider, { value: { key, reinitialize }, children: React.cloneElement(children, { key }) }));
98
+ };
99
+ /**
100
+ * Custom hook that provides an reinitialize function for the DynamicContextProvider.
101
+ * @returns The reinitialize function.
102
+ */
103
+ const useReinitialize = () => {
104
+ const context = React.useContext(reinitializeContext);
105
+ if (context === undefined) {
106
+ throw new Error('usage of useReinitialize not wrapped in `ReinitializeContextProvider`.');
107
+ }
108
+ return context.reinitialize;
109
+ };
110
+
111
+ exports.ReinitializeContextProvider = ReinitializeContextProvider;
112
+ exports.reinitializeContext = reinitializeContext;
113
+ exports.useReinitialize = useReinitialize;
@@ -0,0 +1,22 @@
1
+ import { FC, ReactElement } from 'react';
2
+ type IReinitializeContext = {
3
+ reinitialize: () => void;
4
+ key: string | undefined;
5
+ };
6
+ export declare const reinitializeContext: import("react").Context<IReinitializeContext | undefined>;
7
+ type ReinitializeContextProviderProps = {
8
+ children: ReactElement;
9
+ onReinitialize?: (key: string) => void;
10
+ };
11
+ /**
12
+ * Provider that provides a reinitialize function to its children.
13
+ * @param children The children to render.
14
+ * @param onReinitialize A callback that is called when reinitialize is called.
15
+ */
16
+ export declare const ReinitializeContextProvider: FC<ReinitializeContextProviderProps>;
17
+ /**
18
+ * Custom hook that provides an reinitialize function for the DynamicContextProvider.
19
+ * @returns The reinitialize function.
20
+ */
21
+ export declare const useReinitialize: () => () => void;
22
+ export {};
@@ -0,0 +1,107 @@
1
+ 'use client'
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, useContext, useState, useRef, useCallback, cloneElement } from 'react';
4
+ import '@dynamic-labs/wallet-connector-core';
5
+ import '@dynamic-labs/sdk-api-core';
6
+ import '../../utils/constants/values.js';
7
+ import '@dynamic-labs/utils';
8
+ import '../../../../_virtual/_tslib.js';
9
+ import '@dynamic-labs/multi-wallet';
10
+ import '../../shared/logger.js';
11
+ import '@dynamic-labs/iconic';
12
+ import '../ViewContext/ViewContext.js';
13
+ import '@dynamic-labs/wallet-book';
14
+ import '../../utils/constants/colors.js';
15
+ import '../../shared/utils/classes/storage/localStorage.js';
16
+ import '../../shared/utils/classes/storage/sessionStorage.js';
17
+ import '../../shared/consts/index.js';
18
+ import 'react-international-phone';
19
+ import '../../config/ApiEndpoint.js';
20
+ import '@dynamic-labs/store';
21
+ import '../../locale/locale.js';
22
+ import { randomString } from '../../utils/functions/randomString/randomString.js';
23
+ import '../../events/dynamicEvents.js';
24
+ import '../DynamicContext/DynamicContext.js';
25
+ import '../CaptchaContext/CaptchaContext.js';
26
+ import '../ErrorContext/ErrorContext.js';
27
+ import '../AccessDeniedContext/AccessDeniedContext.js';
28
+ import '../AccountExistsContext/AccountExistsContext.js';
29
+ import '../UserWalletsContext/UserWalletsContext.js';
30
+ import '../VerificationContext/VerificationContext.js';
31
+ import 'react-dom';
32
+ import '../WalletContext/WalletContext.js';
33
+ import '../ThemeContext/ThemeContext.js';
34
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
35
+ import '@dynamic-labs/types';
36
+ import '../LoadingContext/LoadingContext.js';
37
+ import 'yup';
38
+ import '../MockContext/MockContext.js';
39
+ import '../../views/CollectUserDataView/useFields.js';
40
+ import '../FieldsStateContext/FieldsStateContext.js';
41
+ import '../UserFieldEditorContext/UserFieldEditorContext.js';
42
+ import '@dynamic-labs/rpc-providers';
43
+ import 'react-i18next';
44
+ import '../../components/Accordion/components/AccordionItem/AccordionItem.js';
45
+ import '../../components/Alert/Alert.js';
46
+ import '../../components/ShadowDOM/ShadowDOM.js';
47
+ import '../../components/IconButton/IconButton.js';
48
+ import '../../components/InlineWidget/InlineWidget.js';
49
+ import '../../components/Input/Input.js';
50
+ import '../../components/IsBrowser/IsBrowser.js';
51
+ import '../../components/MenuList/Dropdown/Dropdown.js';
52
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
53
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
54
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
55
+ import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
56
+ import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
57
+ import '../../components/Popper/Popper/Popper.js';
58
+ import '../../components/Popper/PopperContext/PopperContext.js';
59
+ import 'react-focus-lock';
60
+ import 'qrcode';
61
+ import 'formik';
62
+ import '../../views/WalletList/WalletList.js';
63
+ import '../SocialRedirectContext/SocialRedirectContext.js';
64
+ import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
65
+ import '@hcaptcha/react-hcaptcha';
66
+ import '../FooterAnimationContext/index.js';
67
+ import '../WalletGroupContext/WalletGroupContext.js';
68
+ import '../MfaSettingsContext/MfaSettingsContext.js';
69
+ import '../IpConfigurationContext/IpConfigurationContext.js';
70
+ import '../PasskeyContext/PasskeyContext.js';
71
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
72
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
73
+ import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
74
+ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
75
+
76
+ const reinitializeContext = createContext(undefined);
77
+ /**
78
+ * Provider that provides a reinitialize function to its children.
79
+ * @param children The children to render.
80
+ * @param onReinitialize A callback that is called when reinitialize is called.
81
+ */
82
+ const ReinitializeContextProvider = ({ children, onReinitialize }) => {
83
+ // Initial key is undefined to not interfere on react strick mode
84
+ const [key, setKey] = useState();
85
+ const onReinitializeCallbackRef = useRef(onReinitialize);
86
+ onReinitializeCallbackRef.current = onReinitialize;
87
+ const reinitialize = useCallback(() => {
88
+ var _a;
89
+ const newKey = randomString(8);
90
+ (_a = onReinitializeCallbackRef.current) === null || _a === void 0 ? void 0 : _a.call(onReinitializeCallbackRef, newKey);
91
+ setKey(newKey);
92
+ }, []);
93
+ return (jsx(reinitializeContext.Provider, { value: { key, reinitialize }, children: cloneElement(children, { key }) }));
94
+ };
95
+ /**
96
+ * Custom hook that provides an reinitialize function for the DynamicContextProvider.
97
+ * @returns The reinitialize function.
98
+ */
99
+ const useReinitialize = () => {
100
+ const context = useContext(reinitializeContext);
101
+ if (context === undefined) {
102
+ throw new Error('usage of useReinitialize not wrapped in `ReinitializeContextProvider`.');
103
+ }
104
+ return context.reinitialize;
105
+ };
106
+
107
+ export { ReinitializeContextProvider, reinitializeContext, useReinitialize };
@@ -0,0 +1 @@
1
+ export { ReinitializeContextProvider, useReinitialize, } from './ReinitializeContextProvider';
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var React = require('react');
8
+ require('../../../../_virtual/_tslib.cjs');
8
9
  require('../DynamicContext/DynamicContext.cjs');
9
10
  require('@dynamic-labs/sdk-api-core');
10
11
  require('../../shared/logger.cjs');
@@ -19,7 +20,6 @@ require('../../shared/utils/classes/storage/sessionStorage.cjs');
19
20
  require('@dynamic-labs/utils');
20
21
  require('../../shared/consts/index.cjs');
21
22
  require('../../events/dynamicEvents.cjs');
22
- require('../../../../_virtual/_tslib.cjs');
23
23
  require('../CaptchaContext/CaptchaContext.cjs');
24
24
  require('../ErrorContext/ErrorContext.cjs');
25
25
  require('@dynamic-labs/multi-wallet');
@@ -1,6 +1,7 @@
1
1
  'use client'
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { createContext, useContext, useState, useMemo } from 'react';
4
+ import '../../../../_virtual/_tslib.js';
4
5
  import '../DynamicContext/DynamicContext.js';
5
6
  import '@dynamic-labs/sdk-api-core';
6
7
  import '../../shared/logger.js';
@@ -15,7 +16,6 @@ import '../../shared/utils/classes/storage/sessionStorage.js';
15
16
  import '@dynamic-labs/utils';
16
17
  import '../../shared/consts/index.js';
17
18
  import '../../events/dynamicEvents.js';
18
- import '../../../../_virtual/_tslib.js';
19
19
  import '../CaptchaContext/CaptchaContext.js';
20
20
  import '../ErrorContext/ErrorContext.js';
21
21
  import '@dynamic-labs/multi-wallet';
@@ -0,0 +1,128 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ require('@dynamic-labs/wallet-connector-core');
9
+ require('@dynamic-labs/sdk-api-core');
10
+ require('../../utils/constants/values.cjs');
11
+ require('@dynamic-labs/utils');
12
+ require('../../../../_virtual/_tslib.cjs');
13
+ require('@dynamic-labs/multi-wallet');
14
+ require('../../shared/logger.cjs');
15
+ require('@dynamic-labs/iconic');
16
+ require('../ViewContext/ViewContext.cjs');
17
+ require('@dynamic-labs/wallet-book');
18
+ require('../../utils/constants/colors.cjs');
19
+ require('../../shared/utils/classes/storage/localStorage.cjs');
20
+ require('../../shared/utils/classes/storage/sessionStorage.cjs');
21
+ require('../../shared/consts/index.cjs');
22
+ require('react-international-phone');
23
+ require('../../config/ApiEndpoint.cjs');
24
+ require('@dynamic-labs/store');
25
+ require('../../locale/locale.cjs');
26
+ var randomString = require('../../utils/functions/randomString/randomString.cjs');
27
+ require('../../events/dynamicEvents.cjs');
28
+ require('../DynamicContext/DynamicContext.cjs');
29
+ require('../CaptchaContext/CaptchaContext.cjs');
30
+ require('../ErrorContext/ErrorContext.cjs');
31
+ require('../AccessDeniedContext/AccessDeniedContext.cjs');
32
+ require('../AccountExistsContext/AccountExistsContext.cjs');
33
+ require('../UserWalletsContext/UserWalletsContext.cjs');
34
+ require('../VerificationContext/VerificationContext.cjs');
35
+ require('react-dom');
36
+ require('../WalletContext/WalletContext.cjs');
37
+ require('../ThemeContext/ThemeContext.cjs');
38
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
39
+ require('@dynamic-labs/types');
40
+ require('../LoadingContext/LoadingContext.cjs');
41
+ require('yup');
42
+ require('../MockContext/MockContext.cjs');
43
+ require('../../views/CollectUserDataView/useFields.cjs');
44
+ require('../FieldsStateContext/FieldsStateContext.cjs');
45
+ require('../UserFieldEditorContext/UserFieldEditorContext.cjs');
46
+ require('@dynamic-labs/rpc-providers');
47
+ require('react-i18next');
48
+ require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
49
+ require('../../components/Alert/Alert.cjs');
50
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
51
+ require('../../components/IconButton/IconButton.cjs');
52
+ require('../../components/InlineWidget/InlineWidget.cjs');
53
+ require('../../components/Input/Input.cjs');
54
+ require('../../components/IsBrowser/IsBrowser.cjs');
55
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
56
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
57
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
58
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
59
+ require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
60
+ require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
61
+ require('../../components/Popper/Popper/Popper.cjs');
62
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
63
+ require('react-focus-lock');
64
+ require('qrcode');
65
+ require('formik');
66
+ require('../../views/WalletList/WalletList.cjs');
67
+ require('../SocialRedirectContext/SocialRedirectContext.cjs');
68
+ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
69
+ require('@hcaptcha/react-hcaptcha');
70
+ require('../FooterAnimationContext/index.cjs');
71
+ require('../WalletGroupContext/WalletGroupContext.cjs');
72
+ require('../MfaSettingsContext/MfaSettingsContext.cjs');
73
+ require('../IpConfigurationContext/IpConfigurationContext.cjs');
74
+ require('../PasskeyContext/PasskeyContext.cjs');
75
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
76
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
77
+ require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
78
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
79
+
80
+ const widgetRegistryContext = React.createContext(null);
81
+ const WidgetRegistryContextProvider = ({ children, }) => {
82
+ const [registry, setRegistry] = React.useState({});
83
+ const registerId = React.useCallback((widgetId, widgetType) => {
84
+ setRegistry((prevRegistry) => (Object.assign(Object.assign({}, prevRegistry), { [widgetId]: {
85
+ type: widgetType,
86
+ } })));
87
+ }, [setRegistry]);
88
+ const removeId = React.useCallback((widgetId) => {
89
+ setRegistry((prevRegistry) => {
90
+ const newRegistry = Object.assign({}, prevRegistry);
91
+ delete newRegistry[widgetId];
92
+ return newRegistry;
93
+ });
94
+ }, [setRegistry]);
95
+ const checkWidgetPresence = React.useCallback((widgetType) => Object.values(registry).some((widget) => widget.type === widgetType), [registry]);
96
+ return (jsxRuntime.jsx(widgetRegistryContext.Provider, { value: { checkWidgetPresence, registerId, removeId }, children: children }));
97
+ };
98
+ const useWidgetRegistry = () => {
99
+ const context = React.useContext(widgetRegistryContext);
100
+ if (context === null) {
101
+ throw new Error('usage of useWidgetRegistry not wrapped in `WidgetRegistryContextProvider`.');
102
+ }
103
+ return context;
104
+ };
105
+ const useRegisterWidget = (widgetType, enabled = true) => {
106
+ const idRef = React.useRef(randomString.randomString(8));
107
+ const { registerId, removeId } = useWidgetRegistry();
108
+ React.useEffect(() => {
109
+ if (enabled === false) {
110
+ return;
111
+ }
112
+ registerId(idRef.current, widgetType);
113
+ return () => {
114
+ // This is disabled because eslint think we are using state value
115
+ // but this is fine because it is a ref
116
+ // eslint-disable-next-line react-hooks/exhaustive-deps
117
+ removeId(idRef.current);
118
+ };
119
+ }, [widgetType, enabled, registerId, removeId]);
120
+ };
121
+ const useWidgetRegistryCheck = (widgetType) => {
122
+ const { checkWidgetPresence } = useWidgetRegistry();
123
+ return checkWidgetPresence(widgetType);
124
+ };
125
+
126
+ exports.WidgetRegistryContextProvider = WidgetRegistryContextProvider;
127
+ exports.useRegisterWidget = useRegisterWidget;
128
+ exports.useWidgetRegistryCheck = useWidgetRegistryCheck;
@@ -0,0 +1,6 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ type WidgetType = 'user-profile';
3
+ export declare const WidgetRegistryContextProvider: FC<PropsWithChildren>;
4
+ export declare const useRegisterWidget: (widgetType: WidgetType, enabled?: boolean) => void;
5
+ export declare const useWidgetRegistryCheck: (widgetType: WidgetType) => boolean;
6
+ export {};