@dynamic-labs/sdk-react-core 0.16.7 → 0.16.9-RC.0

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 CHANGED
@@ -1,4 +1,24 @@
1
1
 
2
+ ### [0.16.9-RC.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.8...v0.16.9-RC.0) (2023-04-26)
3
+
4
+
5
+ ### Features
6
+
7
+ * **DYN-2092:** add and expose global loading state ([#1962](https://github.com/dynamic-labs/DynamicAuth/issues/1962)) ([533d6f8](https://github.com/dynamic-labs/DynamicAuth/commit/533d6f8c94cd4cfdc2d20810bfc2b0a95f751502))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * call authSucces in missing places ([#1961](https://github.com/dynamic-labs/DynamicAuth/issues/1961)) ([c3c1559](https://github.com/dynamic-labs/DynamicAuth/commit/c3c155912066fd4cfcf1c399def233b71c09af65)), closes [#1963](https://github.com/dynamic-labs/DynamicAuth/issues/1963)
13
+ * revert trigger onAuthSuccess on additional flows ([#1953](https://github.com/dynamic-labs/DynamicAuth/issues/1953)) ([#1960](https://github.com/dynamic-labs/DynamicAuth/issues/1960)) ([96cfb38](https://github.com/dynamic-labs/DynamicAuth/commit/96cfb3829314e931a79dfc2fe06469bdd291fd18))
14
+
15
+ ### [0.16.8](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.7...v0.16.8) (2023-04-25)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * trigger onAuthSuccess on additional flows ([#1953](https://github.com/dynamic-labs/DynamicAuth/issues/1953)) ([#1954](https://github.com/dynamic-labs/DynamicAuth/issues/1954)) ([ddabbdb](https://github.com/dynamic-labs/DynamicAuth/commit/ddabbdb1a5fc3b9a7edafae76b73062c6845c609))
21
+
2
22
  ### [0.16.7](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.6...v0.16.7) (2023-04-24)
3
23
 
4
24
 
package/package.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "0.16.7";
5
+ var version = "0.16.9-RC.0";
6
6
  var dependencies = {
7
7
  "react-focus-lock": "^2.9.2",
8
8
  "@dynamic-labs/sdk-api": "0.0.174",
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
- var version = "0.16.7";
1
+ var version = "0.16.9-RC.0";
2
2
  var dependencies = {
3
3
  "react-focus-lock": "^2.9.2",
4
4
  "@dynamic-labs/sdk-api": "0.0.174",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "0.16.7",
3
+ "version": "0.16.9-RC.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -17,9 +17,9 @@
17
17
  "formik": "^2.2.9",
18
18
  "qrcode": "1.5.1",
19
19
  "ethers": "^5.7.2",
20
- "@dynamic-labs/logger": "0.16.7",
21
- "@dynamic-labs/multi-wallet": "0.16.7",
22
- "@dynamic-labs/wallet-connector-core": "0.16.7"
20
+ "@dynamic-labs/logger": "0.16.9-RC.0",
21
+ "@dynamic-labs/multi-wallet": "0.16.9-RC.0",
22
+ "@dynamic-labs/wallet-connector-core": "0.16.9-RC.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "semver": "^7.3.8"
@@ -53,6 +53,7 @@ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs
53
53
  require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
54
54
  require('../../components/ShadowDOM/ShadowDOM.cjs');
55
55
  require('../../components/IconButton/IconButton.cjs');
56
+ var useGlobalLoading = require('../../shared/utils/hooks/useGlobalLoading/useGlobalLoading.cjs');
56
57
  var helpers = require('./helpers.cjs');
57
58
  var validators = require('./validators.cjs');
58
59
  var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
@@ -105,7 +106,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
105
106
  walletUiUtils,
106
107
  });
107
108
  const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
108
- const { connectWallet, removeConnectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
109
+ const { connectWallet, removeConnectedInfo, connectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet.useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
109
110
  const [selectedWalletConnector, setSelectedWalletConnector] = React.useState(null);
110
111
  const removeAuthTokenAndUser = React.useCallback(() => {
111
112
  localStorage.removeItem(localStorage$1.AUTH_TOKEN);
@@ -119,6 +120,14 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
119
120
  setQrcodeUri,
120
121
  wallets,
121
122
  });
123
+ const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading.useGlobalLoading({
124
+ authMode,
125
+ connectedInfo,
126
+ connectedWallet,
127
+ primaryWallet,
128
+ projectSettings,
129
+ user,
130
+ });
122
131
  const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
123
132
  useSyncPrimaryWallet.useSyncPrimaryWallet({
124
133
  multiWalletWidgetState,
@@ -291,6 +300,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
291
300
  projectSettings,
292
301
  qrcodeUri,
293
302
  rpcProviders,
303
+ sdkHasLoaded,
294
304
  secondaryWallets,
295
305
  selectedWalletConnector,
296
306
  setAuthMode,
@@ -306,6 +316,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
306
316
  setPrimaryWallet,
307
317
  setPrimaryWalletId,
308
318
  setQrcodeUri,
319
+ setSdkHasLoaded,
309
320
  setSelectedWalletConnector,
310
321
  setShowAuthFlow,
311
322
  setShowDynamicUserProfile,
@@ -334,9 +345,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
334
345
  accessDeniedMessagePrimary,
335
346
  accessDeniedMessageSecondary,
336
347
  accountSwitchState,
337
- appLogo,
338
348
  appLogoUrl,
339
- displayName,
340
349
  appName,
341
350
  authMode,
342
351
  authorizationViewDisplayOrder,
@@ -345,20 +354,20 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
345
354
  computeConnectedStateForWallets,
346
355
  connectWallet,
347
356
  connectedWallet,
348
- defaultNumberOfWalletsToShow,
349
357
  primaryWallet,
350
358
  secondaryWallets,
351
359
  consumeNonce,
352
360
  cssOverrides,
353
361
  debugError,
354
362
  onboardingOnlyJwt,
363
+ defaultNumberOfWalletsToShow,
355
364
  desktopUri,
356
365
  displayTermsOfService,
357
366
  environmentId,
358
367
  eventsCallbacks,
359
368
  handleLogOut,
360
369
  handleUnlinkWallet,
361
- user,
370
+ isAuthenticated,
362
371
  isProjectSettingsLoading,
363
372
  isSingleWalletAccount,
364
373
  isVerifying,
@@ -380,6 +389,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
380
389
  projectSettings,
381
390
  qrcodeUri,
382
391
  rpcProviders,
392
+ sdkHasLoaded,
383
393
  selectedWalletConnector,
384
394
  setAuthMode,
385
395
  setAuthorizationViewDisplayOrder,
@@ -389,6 +399,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
389
399
  setNetwork,
390
400
  setPrimaryWallet,
391
401
  setPrimaryWalletId,
402
+ setSdkHasLoaded,
392
403
  setShowQrcodeModal,
393
404
  setUser,
394
405
  shadowDOMEnabled,
@@ -403,6 +414,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
403
414
  termsOfServiceUrl,
404
415
  theme,
405
416
  toolkitEnabled,
417
+ user,
406
418
  vendorCredentials,
407
419
  walletUiUtils,
408
420
  wallets,
@@ -56,6 +56,7 @@ export interface IDynamicContext {
56
56
  projectSettings: ProjectSettings | undefined;
57
57
  qrcodeUri: string;
58
58
  rpcProviders: DynamicRPCProviders;
59
+ sdkHasLoaded: boolean;
59
60
  secondaryWallets: Wallet[];
60
61
  selectedWalletConnector: WalletConnector | null;
61
62
  setAuthMode: Dispatch<SetStateAction<AuthModeType>>;
@@ -49,6 +49,7 @@ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
49
49
  import '../../components/Transition/OpacityTransition/OpacityTransition.js';
50
50
  import '../../components/ShadowDOM/ShadowDOM.js';
51
51
  import '../../components/IconButton/IconButton.js';
52
+ import { useGlobalLoading } from '../../shared/utils/hooks/useGlobalLoading/useGlobalLoading.js';
52
53
  import { initExpirationTime } from './helpers.js';
53
54
  import { validateAuthUser } from './validators.js';
54
55
  import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
@@ -101,7 +102,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
101
102
  walletUiUtils,
102
103
  });
103
104
  const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
104
- const { connectWallet, removeConnectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
105
+ const { connectWallet, removeConnectedInfo, connectedInfo, connectedWallet, setConnectedWallet, connectWalletByAddressAndChain, } = useConnectWallet(wallets, authMode, environmentId, enableVisitTrackingOnConnectOnly);
105
106
  const [selectedWalletConnector, setSelectedWalletConnector] = useState(null);
106
107
  const removeAuthTokenAndUser = useCallback(() => {
107
108
  localStorage.removeItem(AUTH_TOKEN);
@@ -115,6 +116,14 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
115
116
  setQrcodeUri,
116
117
  wallets,
117
118
  });
119
+ const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading({
120
+ authMode,
121
+ connectedInfo,
122
+ connectedWallet,
123
+ primaryWallet,
124
+ projectSettings,
125
+ user,
126
+ });
118
127
  const walletForUserFacingContext = authMode === 'connect-and-sign' || user ? primaryWallet : connectedWallet;
119
128
  useSyncPrimaryWallet({
120
129
  multiWalletWidgetState,
@@ -287,6 +296,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
287
296
  projectSettings,
288
297
  qrcodeUri,
289
298
  rpcProviders,
299
+ sdkHasLoaded,
290
300
  secondaryWallets,
291
301
  selectedWalletConnector,
292
302
  setAuthMode,
@@ -302,6 +312,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
302
312
  setPrimaryWallet,
303
313
  setPrimaryWalletId,
304
314
  setQrcodeUri,
315
+ setSdkHasLoaded,
305
316
  setSelectedWalletConnector,
306
317
  setShowAuthFlow,
307
318
  setShowDynamicUserProfile,
@@ -330,9 +341,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
330
341
  accessDeniedMessagePrimary,
331
342
  accessDeniedMessageSecondary,
332
343
  accountSwitchState,
333
- appLogo,
334
344
  appLogoUrl,
335
- displayName,
336
345
  appName,
337
346
  authMode,
338
347
  authorizationViewDisplayOrder,
@@ -341,20 +350,20 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
341
350
  computeConnectedStateForWallets,
342
351
  connectWallet,
343
352
  connectedWallet,
344
- defaultNumberOfWalletsToShow,
345
353
  primaryWallet,
346
354
  secondaryWallets,
347
355
  consumeNonce,
348
356
  cssOverrides,
349
357
  debugError,
350
358
  onboardingOnlyJwt,
359
+ defaultNumberOfWalletsToShow,
351
360
  desktopUri,
352
361
  displayTermsOfService,
353
362
  environmentId,
354
363
  eventsCallbacks,
355
364
  handleLogOut,
356
365
  handleUnlinkWallet,
357
- user,
366
+ isAuthenticated,
358
367
  isProjectSettingsLoading,
359
368
  isSingleWalletAccount,
360
369
  isVerifying,
@@ -376,6 +385,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
376
385
  projectSettings,
377
386
  qrcodeUri,
378
387
  rpcProviders,
388
+ sdkHasLoaded,
379
389
  selectedWalletConnector,
380
390
  setAuthMode,
381
391
  setAuthorizationViewDisplayOrder,
@@ -385,6 +395,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
385
395
  setNetwork,
386
396
  setPrimaryWallet,
387
397
  setPrimaryWalletId,
398
+ setSdkHasLoaded,
388
399
  setShowQrcodeModal,
389
400
  setUser,
390
401
  shadowDOMEnabled,
@@ -399,6 +410,7 @@ const DynamicContextProvider = ({ settings: { accessDeniedMessagePrimary, access
399
410
  termsOfServiceUrl,
400
411
  theme,
401
412
  toolkitEnabled,
413
+ user,
402
414
  vendorCredentials,
403
415
  walletUiUtils,
404
416
  wallets,
@@ -11,7 +11,7 @@ const useDynamicContext = () => {
11
11
  if (context === undefined) {
12
12
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
13
13
  }
14
- const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
14
+ const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
15
15
  return {
16
16
  accountSwitchState,
17
17
  authMode,
@@ -28,6 +28,7 @@ const useDynamicContext = () => {
28
28
  primaryWallet,
29
29
  qrcodeUri,
30
30
  rpcProviders,
31
+ sdkHasLoaded,
31
32
  secondaryWallets,
32
33
  setMultiWalletWidgetState,
33
34
  setNetwork,
@@ -1,3 +1,3 @@
1
1
  import { IDynamicContext } from './DynamicContext';
2
- export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'secondaryWallets' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'setShowDynamicUserProfile' | 'user' | 'walletConnector' | 'wallets'>;
2
+ export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'secondaryWallets' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'sdkHasLoaded' | 'showAuthFlow' | 'showQrcodeModal' | 'setShowDynamicUserProfile' | 'user' | 'walletConnector' | 'wallets'>;
3
3
  export declare const useDynamicContext: () => UseDynamicContext;
@@ -7,7 +7,7 @@ const useDynamicContext = () => {
7
7
  if (context === undefined) {
8
8
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
9
9
  }
10
- const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
10
+ const { accountSwitchState, awaitingSignatureState, authMode, authToken, connectedWallets, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, multiWalletWidgetState, network, networkConfigurations, primaryWallet, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setShowAuthFlow, setNetwork, showAuthFlow, showQrcodeModal, setMultiWalletWidgetState, setShowQrcodeModal, setPrimaryWallet, setShowDynamicUserProfile, user, walletConnector, wallets, shadowDOMEnabled, } = context;
11
11
  return {
12
12
  accountSwitchState,
13
13
  authMode,
@@ -24,6 +24,7 @@ const useDynamicContext = () => {
24
24
  primaryWallet,
25
25
  qrcodeUri,
26
26
  rpcProviders,
27
+ sdkHasLoaded,
27
28
  secondaryWallets,
28
29
  setMultiWalletWidgetState,
29
30
  setNetwork,
@@ -0,0 +1 @@
1
+ export { useGlobalLoading } from './useGlobalLoading';
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var index = require('../../functions/lastAuthenticatedAccount/index.cjs');
7
+
8
+ const useGlobalLoading = ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }) => {
9
+ var _a;
10
+ const [sdkHasLoaded, setSdkHasLoaded] = React.useState(false);
11
+ const primaryWalletIsLoading = user &&
12
+ ((_a = index.lastAuthenticatedAccount(user)) === null || _a === void 0 ? void 0 : _a.format) === 'blockchain' &&
13
+ !primaryWallet;
14
+ const connectOnlyUserIsLoading = authMode === 'connect-only' && connectedInfo && !connectedWallet;
15
+ React.useEffect(() => {
16
+ if (projectSettings) {
17
+ if (primaryWalletIsLoading || connectOnlyUserIsLoading) {
18
+ return;
19
+ }
20
+ setSdkHasLoaded(true);
21
+ }
22
+ }, [
23
+ projectSettings,
24
+ primaryWallet,
25
+ user,
26
+ primaryWalletIsLoading,
27
+ connectOnlyUserIsLoading,
28
+ ]);
29
+ return {
30
+ sdkHasLoaded,
31
+ setSdkHasLoaded,
32
+ };
33
+ };
34
+
35
+ exports.useGlobalLoading = useGlobalLoading;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { ProjectSettings } from '@dynamic-labs/sdk-api';
3
+ import { UserProfile, Wallet } from '../../../types';
4
+ import { ConnectedWalletConnectorType } from '../../../../utils/hooks/useConnectWallet/useConnectWallet';
5
+ type Props = {
6
+ authMode: string;
7
+ connectedInfo: ConnectedWalletConnectorType | null;
8
+ connectedWallet: Wallet | null;
9
+ primaryWallet: Wallet | null;
10
+ projectSettings: ProjectSettings | undefined;
11
+ user: UserProfile | undefined;
12
+ };
13
+ export declare const useGlobalLoading: ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }: Props) => {
14
+ sdkHasLoaded: boolean;
15
+ setSdkHasLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
16
+ };
17
+ export {};
@@ -0,0 +1,31 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { lastAuthenticatedAccount } from '../../functions/lastAuthenticatedAccount/index.js';
3
+
4
+ const useGlobalLoading = ({ authMode, connectedInfo, connectedWallet, projectSettings, primaryWallet, user, }) => {
5
+ var _a;
6
+ const [sdkHasLoaded, setSdkHasLoaded] = useState(false);
7
+ const primaryWalletIsLoading = user &&
8
+ ((_a = lastAuthenticatedAccount(user)) === null || _a === void 0 ? void 0 : _a.format) === 'blockchain' &&
9
+ !primaryWallet;
10
+ const connectOnlyUserIsLoading = authMode === 'connect-only' && connectedInfo && !connectedWallet;
11
+ useEffect(() => {
12
+ if (projectSettings) {
13
+ if (primaryWalletIsLoading || connectOnlyUserIsLoading) {
14
+ return;
15
+ }
16
+ setSdkHasLoaded(true);
17
+ }
18
+ }, [
19
+ projectSettings,
20
+ primaryWallet,
21
+ user,
22
+ primaryWalletIsLoading,
23
+ connectOnlyUserIsLoading,
24
+ ]);
25
+ return {
26
+ sdkHasLoaded,
27
+ setSdkHasLoaded,
28
+ };
29
+ };
30
+
31
+ export { useGlobalLoading };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { AuthModeType, Wallet, WalletOption } from '../../../shared';
4
- type ConnectedWalletConnectorType = {
4
+ export type ConnectedWalletConnectorType = {
5
5
  chain: Chain | undefined;
6
6
  name: string;
7
7
  provider: string;
@@ -16,4 +16,3 @@ export declare const useConnectWallet: (wallets: WalletOption[], authMode: AuthM
16
16
  setConnectedInfo: (value: ConnectedWalletConnectorType | ((val: ConnectedWalletConnectorType | null) => ConnectedWalletConnectorType | null) | null) => void;
17
17
  setConnectedWallet: import("react").Dispatch<import("react").SetStateAction<Wallet | null>>;
18
18
  };
19
- export {};
@@ -34,7 +34,7 @@ var index = require('../UserDataFields/index.cjs');
34
34
  var useUserDataForm = require('../../../utils/hooks/useUserDataForm/useUserDataForm.cjs');
35
35
 
36
36
  const UserDataForm = ({ children, userProfile }) => {
37
- const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
37
+ const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
38
38
  const { setView } = ViewContext.useViewContext();
39
39
  const decodedJwt = decodeJwt.decodeJwt(onboardingOnlyJwt);
40
40
  const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
@@ -47,7 +47,8 @@ const UserDataForm = ({ children, userProfile }) => {
47
47
  return;
48
48
  }
49
49
  setShowAuthFlow(false);
50
- }), [setShowAuthFlow, setView, updateUser]);
50
+ setCallback('authSuccess');
51
+ }), [setCallback, setShowAuthFlow, setView, updateUser]);
51
52
  const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm.useUserDataForm({
52
53
  fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
53
54
  onSubmit,
@@ -30,7 +30,7 @@ import { UserDataFields } from '../UserDataFields/index.js';
30
30
  import { useUserDataForm } from '../../../utils/hooks/useUserDataForm/useUserDataForm.js';
31
31
 
32
32
  const UserDataForm = ({ children, userProfile }) => {
33
- const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow } = useInternalDynamicContext();
33
+ const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
34
34
  const { setView } = useViewContext();
35
35
  const decodedJwt = decodeJwt(onboardingOnlyJwt);
36
36
  const { updateUser } = useUserUpdateRequestInternal({
@@ -43,7 +43,8 @@ const UserDataForm = ({ children, userProfile }) => {
43
43
  return;
44
44
  }
45
45
  setShowAuthFlow(false);
46
- }), [setShowAuthFlow, setView, updateUser]);
46
+ setCallback('authSuccess');
47
+ }), [setCallback, setShowAuthFlow, setView, updateUser]);
47
48
  const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm({
48
49
  fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
49
50
  onSubmit,
@@ -71,6 +71,7 @@ const EmailVerification = () => {
71
71
  const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
72
72
  if (onboardingOnlyJwt) {
73
73
  setOnboardingOnlyJwt(undefined);
74
+ setCallback('authSuccess');
74
75
  }
75
76
  setIsValidated(true);
76
77
  if (nextView === 'verified-and-transferred') {
@@ -95,6 +96,7 @@ const EmailVerification = () => {
95
96
  verifyEmail,
96
97
  setShowAuthFlow,
97
98
  setOnboardingOnlyJwt,
99
+ setCallback,
98
100
  setErrorMessage,
99
101
  ]);
100
102
  const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
@@ -67,6 +67,7 @@ const EmailVerification = () => {
67
67
  const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
68
68
  if (onboardingOnlyJwt) {
69
69
  setOnboardingOnlyJwt(undefined);
70
+ setCallback('authSuccess');
70
71
  }
71
72
  setIsValidated(true);
72
73
  if (nextView === 'verified-and-transferred') {
@@ -91,6 +92,7 @@ const EmailVerification = () => {
91
92
  verifyEmail,
92
93
  setShowAuthFlow,
93
94
  setOnboardingOnlyJwt,
95
+ setCallback,
94
96
  setErrorMessage,
95
97
  ]);
96
98
  const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
@@ -40,7 +40,7 @@ var useUpdateUserProfileByJWTCallback = require('../../utils/hooks/useUpdateUser
40
40
 
41
41
  const NetworkNotSupported = () => {
42
42
  var _a, _b;
43
- const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, } = useInternalDynamicContext.useInternalDynamicContext();
43
+ const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
44
44
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
45
45
  const [isNetworkPickerOpen, setIsNetworkPickerOpen] = React.useState(false);
46
46
  if (!decodedOnboardingOnlyToken || !walletConnector) {
@@ -49,6 +49,7 @@ const NetworkNotSupported = () => {
49
49
  const onSubmit = () => {
50
50
  if (!onboardingOnlyJwt)
51
51
  return;
52
+ setCallback('authSuccess');
52
53
  updateUserProfileByJWT(onboardingOnlyJwt);
53
54
  setShowAuthFlow(false);
54
55
  };
@@ -36,7 +36,7 @@ import { useUpdateUserProfileByJWTCallback } from '../../utils/hooks/useUpdateUs
36
36
 
37
37
  const NetworkNotSupported = () => {
38
38
  var _a, _b;
39
- const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, } = useInternalDynamicContext();
39
+ const { handleLogOut, onboardingOnlyJwt, network, onboardingImageUrl, selectedWalletConnector: walletConnector, decodedOnboardingOnlyToken, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
40
40
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
41
41
  const [isNetworkPickerOpen, setIsNetworkPickerOpen] = useState(false);
42
42
  if (!decodedOnboardingOnlyToken || !walletConnector) {
@@ -45,6 +45,7 @@ const NetworkNotSupported = () => {
45
45
  const onSubmit = () => {
46
46
  if (!onboardingOnlyJwt)
47
47
  return;
48
+ setCallback('authSuccess');
48
49
  updateUserProfileByJWT(onboardingOnlyJwt);
49
50
  setShowAuthFlow(false);
50
51
  };