@dynamic-labs/sdk-react-core 2.1.0-alpha.26 → 2.1.0-alpha.28

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 (42) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +13 -13
  5. package/src/lib/components/{SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.cjs → SyncAuthFlow/SyncAuthFlow.cjs} +12 -65
  6. package/src/lib/components/SyncAuthFlow/SyncAuthFlow.d.ts +1 -0
  7. package/src/lib/components/{SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.js → SyncAuthFlow/SyncAuthFlow.js} +12 -65
  8. package/src/lib/components/SyncAuthFlow/index.d.ts +1 -0
  9. package/src/lib/components/index.d.ts +1 -1
  10. package/src/lib/context/DynamicContext/DynamicContext.cjs +11 -5
  11. package/src/lib/context/DynamicContext/DynamicContext.js +11 -5
  12. package/src/lib/context/DynamicContext/types/index.d.ts +3 -0
  13. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +1 -0
  14. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +1 -0
  15. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +0 -28
  16. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -28
  17. package/src/lib/utils/functions/index.d.ts +0 -1
  18. package/src/lib/utils/hooks/index.d.ts +1 -0
  19. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +0 -16
  20. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +0 -16
  21. package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs +2 -10
  22. package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.js +2 -10
  23. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +2 -2
  24. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +2 -2
  25. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/index.d.ts +1 -0
  26. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.cjs +139 -0
  27. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.d.ts +1 -0
  28. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.js +135 -0
  29. package/src/lib/views/EmailVerification/EmailVerification.cjs +5 -5
  30. package/src/lib/views/EmailVerification/EmailVerification.js +5 -5
  31. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedWidget.cjs +85 -3
  32. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedWidget.js +85 -3
  33. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +7 -1
  34. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +8 -2
  35. package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.d.ts +0 -1
  36. package/src/lib/components/SyncEmbeddedWalletAuthFlow/index.d.ts +0 -1
  37. package/src/lib/utils/functions/updateJWTAndCreateUserProfile/index.d.ts +0 -1
  38. package/src/lib/utils/functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs +0 -20
  39. package/src/lib/utils/functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.d.ts +0 -1
  40. package/src/lib/utils/functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js +0 -16
  41. package/src/lib/utils/hooks/useCreateUserProfileByJWTCallback/index.d.ts +0 -1
  42. package/src/lib/utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.d.ts +0 -3
@@ -1,10 +1,92 @@
1
1
  'use client'
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import { useEffect } from 'react';
4
+ import '../../context/DynamicContext/DynamicContext.js';
5
+ import '@dynamic-labs/sdk-api-core';
6
+ import '../../shared/logger.js';
7
+ import '@dynamic-labs/iconic';
8
+ import '@dynamic-labs/wallet-connector-core';
9
+ import '../../context/ViewContext/ViewContext.js';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../utils/constants/colors.js';
12
+ import '../../utils/constants/values.js';
13
+ import '../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../shared/consts/index.js';
16
+ import '../../events/dynamicEvents.js';
17
+ import '../../../../_virtual/_tslib.js';
18
+ import '../../context/CaptchaContext/CaptchaContext.js';
19
+ import '../../context/ErrorContext/ErrorContext.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import 'react-international-phone';
22
+ import 'viem';
23
+ import 'viem/chains';
24
+ import '../../config/ApiEndpoint.js';
25
+ import '@dynamic-labs/store';
26
+ import '../../locale/locale.js';
27
+ import '../../context/AccessDeniedContext/AccessDeniedContext.js';
28
+ import '../../context/AccountExistsContext/AccountExistsContext.js';
29
+ import '../../context/UserWalletsContext/UserWalletsContext.js';
30
+ import '../../context/VerificationContext/VerificationContext.js';
31
+ import 'react-dom';
32
+ import '../../context/WalletContext/WalletContext.js';
33
+ import '../../context/ThemeContext/ThemeContext.js';
34
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
35
+ import '@dynamic-labs/types';
36
+ import '../../context/LoadingContext/LoadingContext.js';
37
+ import 'yup';
38
+ import '../../context/MockContext/MockContext.js';
39
+ import '../../views/CollectUserDataView/useFields.js';
40
+ import '../../context/FieldsStateContext/FieldsStateContext.js';
41
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
42
+ import '@dynamic-labs/rpc-providers';
43
+ import 'react-i18next';
44
+ import '../../components/Alert/Alert.js';
45
+ import '../../components/ShadowDOM/ShadowDOM.js';
46
+ import '../../components/IconButton/IconButton.js';
47
+ import '../../components/InlineWidget/InlineWidget.js';
48
+ import '../../components/Input/Input.js';
49
+ import '../../components/IsBrowser/IsBrowser.js';
50
+ import '../../components/MenuList/Dropdown/Dropdown.js';
51
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
52
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
53
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
54
+ import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
55
+ import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
56
+ import '../../components/Popper/Popper/Popper.js';
57
+ import '../../components/Popper/PopperContext/PopperContext.js';
58
+ import 'react-focus-lock';
59
+ import 'qrcode';
60
+ import 'formik';
61
+ import '../../views/WalletList/WalletList.js';
62
+ import '../../context/SocialRedirectContext/SocialRedirectContext.js';
63
+ import '../DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
64
+ import '@hcaptcha/react-hcaptcha';
65
+ import '../../context/FooterAnimationContext/index.js';
66
+ import '../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
67
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
68
+ import '../../context/MfaSettingsContext/MfaSettingsContext.js';
69
+ import '../../context/IpConfigurationContext/IpConfigurationContext.js';
70
+ import '../../context/PasskeyContext/PasskeyContext.js';
71
+ import '../DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
72
+ import '../DynamicWidget/context/DynamicWidgetContext.js';
73
+ import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
74
+ import '../DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
75
+ import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
3
76
  import { DynamicEmbeddedAuthFlow } from './DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js';
4
77
  import { DynamicEmbeddedUserProfile } from './DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.js';
5
78
 
6
- const DynamicEmbeddedWidget = ({ background = 'none', className, style, }) => (
7
- // Only one of these 2 show at any given time, due these components' own definitions
8
- jsxs(Fragment, { children: [jsx(DynamicEmbeddedAuthFlow, { background: background, className: className, style: style }), jsx(DynamicEmbeddedUserProfile, { background: background, className: className, style: style })] }));
79
+ const DynamicEmbeddedWidget = ({ background = 'none', className, style, }) => {
80
+ const { setDynamicWidgetHasLoaded } = useInternalDynamicContext();
81
+ useEffect(() => {
82
+ setDynamicWidgetHasLoaded(true);
83
+ return () => {
84
+ setDynamicWidgetHasLoaded(false);
85
+ };
86
+ }, [setDynamicWidgetHasLoaded]);
87
+ return (
88
+ // Only one of these 2 show at any given time, due these components' own definitions
89
+ jsxs(Fragment, { children: [jsx(DynamicEmbeddedAuthFlow, { background: background, className: className, style: style }), jsx(DynamicEmbeddedUserProfile, { background: background, className: className, style: style })] }));
90
+ };
9
91
 
10
92
  export { DynamicEmbeddedWidget };
@@ -84,7 +84,7 @@ var DynamicNav = require('./components/DynamicNav/DynamicNav.cjs');
84
84
  var DynamicUserProfile = require('./components/DynamicUserProfile/DynamicUserProfile.cjs');
85
85
 
86
86
  const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', innerButtonComponent, variant = 'modal', }) => {
87
- const { showAuthFlow, setShowDynamicUserProfile } = useInternalDynamicContext.useInternalDynamicContext();
87
+ const { showAuthFlow, setShowDynamicUserProfile, setDynamicWidgetHasLoaded } = useInternalDynamicContext.useInternalDynamicContext();
88
88
  const { widgetRef, inlineControlsRef } = DynamicWidgetContext.useWidgetContext();
89
89
  const { t } = reactI18next.useTranslation();
90
90
  if (!innerButtonComponent) {
@@ -101,6 +101,12 @@ const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', in
101
101
  }, [inlineControlsRef, variant, showAuthFlow, setShowDynamicUserProfile]);
102
102
  index.useOnClickOutside(widgetRef, closeOnOutsideClick);
103
103
  const showDynamicConnectButton = !useIsLoggedIn.useIsLoggedIn();
104
+ React.useEffect(() => {
105
+ setDynamicWidgetHasLoaded(true);
106
+ return () => {
107
+ setDynamicWidgetHasLoaded(false);
108
+ };
109
+ }, [setDynamicWidgetHasLoaded]);
104
110
  return (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsxRuntime.jsx(DynamicConnectButton.DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, copykey: 'dyn_widget.connect', children: innerButtonComponent })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(DynamicNav.DynamicNav, {}), jsxRuntime.jsx(DynamicUserProfile.DynamicUserProfile, { variant: variant })] })) }));
105
111
  };
106
112
 
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import { useCallback } from 'react';
3
+ import { useCallback, useEffect } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import '../../events/dynamicEvents.js';
6
6
  import '../../../../_virtual/_tslib.js';
@@ -80,7 +80,7 @@ import { DynamicNav } from './components/DynamicNav/DynamicNav.js';
80
80
  import { DynamicUserProfile } from './components/DynamicUserProfile/DynamicUserProfile.js';
81
81
 
82
82
  const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', innerButtonComponent, variant = 'modal', }) => {
83
- const { showAuthFlow, setShowDynamicUserProfile } = useInternalDynamicContext();
83
+ const { showAuthFlow, setShowDynamicUserProfile, setDynamicWidgetHasLoaded } = useInternalDynamicContext();
84
84
  const { widgetRef, inlineControlsRef } = useWidgetContext();
85
85
  const { t } = useTranslation();
86
86
  if (!innerButtonComponent) {
@@ -97,6 +97,12 @@ const DynamicWidget = ({ buttonContainerClassName = '', buttonClassName = '', in
97
97
  }, [inlineControlsRef, variant, showAuthFlow, setShowDynamicUserProfile]);
98
98
  useOnClickOutside(widgetRef, closeOnOutsideClick);
99
99
  const showDynamicConnectButton = !useIsLoggedIn();
100
+ useEffect(() => {
101
+ setDynamicWidgetHasLoaded(true);
102
+ return () => {
103
+ setDynamicWidgetHasLoaded(false);
104
+ };
105
+ }, [setDynamicWidgetHasLoaded]);
100
106
  return (jsx(ShadowDOM, { className: 'dynamic-widget__container', id: 'dynamic-widget', children: showDynamicConnectButton ? (jsx(DynamicConnectButton, { buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, copykey: 'dyn_widget.connect', children: innerButtonComponent })) : (jsxs(Fragment, { children: [jsx(DynamicNav, {}), jsx(DynamicUserProfile, { variant: variant })] })) }));
101
107
  };
102
108
 
@@ -1 +0,0 @@
1
- export declare const SyncEmbeddedWalletAuthFlow: () => null;
@@ -1 +0,0 @@
1
- export { SyncEmbeddedWalletAuthFlow } from './SyncEmbeddedWalletAuthFlow';
@@ -1 +0,0 @@
1
- export { updateJWTAndCreateUserProfile } from './updateJWTAndCreateUserProfile';
@@ -1,20 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var utils = require('@dynamic-labs/utils');
7
- var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
8
- var createUserProfile = require('../createUserProfile/createUserProfile.cjs');
9
- var index = require('../storeAuthToken/index.cjs');
10
-
11
- const updateJWTAndCreateUserProfile = (jwt, minJwt) => {
12
- const decodedJWT = decodeJwt.decodeJwt(jwt);
13
- if (!jwt || !decodedJWT || !minJwt) {
14
- throw new utils.DynamicError('Invalid session');
15
- }
16
- index.storeAuthToken(jwt, minJwt);
17
- return createUserProfile.createUserProfile(decodedJWT);
18
- };
19
-
20
- exports.updateJWTAndCreateUserProfile = updateJWTAndCreateUserProfile;
@@ -1 +0,0 @@
1
- export declare const updateJWTAndCreateUserProfile: (jwt: string | undefined, minJwt: string | undefined) => import("dist/packages/types/src").UserProfile;
@@ -1,16 +0,0 @@
1
- 'use client'
2
- import { DynamicError } from '@dynamic-labs/utils';
3
- import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
4
- import { createUserProfile } from '../createUserProfile/createUserProfile.js';
5
- import { storeAuthToken } from '../storeAuthToken/index.js';
6
-
7
- const updateJWTAndCreateUserProfile = (jwt, minJwt) => {
8
- const decodedJWT = decodeJwt(jwt);
9
- if (!jwt || !decodedJWT || !minJwt) {
10
- throw new DynamicError('Invalid session');
11
- }
12
- storeAuthToken(jwt, minJwt);
13
- return createUserProfile(decodedJWT);
14
- };
15
-
16
- export { updateJWTAndCreateUserProfile };
@@ -1 +0,0 @@
1
- export * from './useCreateUserProfileByJWTCallback';
@@ -1,3 +0,0 @@
1
- export declare const useCreateUserProfileByJWTCallback: () => {
2
- createUserProfileByJWT: (jwt: string, minifiedJwt: string) => Promise<void>;
3
- };