@dynamic-labs/sdk-react-core 4.47.3 → 4.48.1

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 (60) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -13
  5. package/src/lib/client/extension/deprecated/mfa/verifyTotpMfaDevice/verifyTotpMfaDevice.d.ts +1 -1
  6. package/src/lib/components/EmbeddedWalletExport/EmbeddedWalletExport.js +1 -1
  7. package/src/lib/components/index.d.ts +1 -1
  8. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  9. package/src/lib/styles/index.shadow.cjs +1 -1
  10. package/src/lib/styles/index.shadow.js +1 -1
  11. package/src/lib/utils/constants/authViewLayoutChecks.cjs +1 -0
  12. package/src/lib/utils/constants/authViewLayoutChecks.js +1 -0
  13. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +13 -9
  14. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +2 -1
  15. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +13 -9
  16. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +1 -1
  17. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +1 -1
  18. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
  19. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
  20. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.cjs +9 -1
  21. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.js +9 -1
  22. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +1 -1
  23. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +1 -1
  24. package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.cjs +3 -2
  25. package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.js +4 -3
  26. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -1
  27. package/src/lib/views/EmailVerification/EmailVerification.js +1 -1
  28. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +59 -58
  29. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +60 -59
  30. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +1 -1
  31. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +1 -1
  32. package/src/lib/views/ExportSharesView/ExportSharesView.cjs +206 -0
  33. package/src/lib/views/ExportSharesView/ExportSharesView.d.ts +5 -0
  34. package/src/lib/views/ExportSharesView/ExportSharesView.js +202 -0
  35. package/src/lib/views/ExportSharesView/index.d.ts +2 -0
  36. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +8 -6
  37. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +8 -6
  38. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +2 -2
  39. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +2 -2
  40. package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.cjs +1 -1
  41. package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.js +1 -1
  42. package/src/lib/views/viewToComponentMap.cjs +5 -3
  43. package/src/lib/views/viewToComponentMap.d.ts +1 -0
  44. package/src/lib/views/viewToComponentMap.js +5 -3
  45. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +4 -0
  46. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.d.ts +2 -0
  47. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +4 -0
  48. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +1 -1
  49. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.cjs +16 -7
  50. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.js +16 -7
  51. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.cjs +183 -0
  52. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.d.ts +2 -0
  53. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.js +179 -0
  54. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/index.d.ts +1 -0
  55. package/src/lib/widgets/DynamicWidget/views/ExportSharesPasscodeView/ExportSharesPasscodeView.cjs +146 -0
  56. package/src/lib/widgets/DynamicWidget/views/ExportSharesPasscodeView/ExportSharesPasscodeView.d.ts +2 -0
  57. package/src/lib/widgets/DynamicWidget/views/ExportSharesPasscodeView/ExportSharesPasscodeView.js +142 -0
  58. package/src/lib/widgets/DynamicWidget/views/ExportSharesPasscodeView/index.d.ts +1 -0
  59. package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.cjs +10 -5
  60. package/src/lib/widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.js +10 -5
@@ -16,7 +16,7 @@ import { ReactComponent as SvgQuestionMark } from '../../../../shared/assets/que
16
16
  import '../../../../context/ViewContext/ViewContext.js';
17
17
  import { ReactComponent as SvgBackupWaas } from '../../../../shared/assets/backup-waas.js';
18
18
  import { ReactComponent as SvgGoogleDrive } from '../../../../shared/assets/google-drive.js';
19
- import '../../../../shared/logger.js';
19
+ import { logger } from '../../../../shared/logger.js';
20
20
  import '@dynamic-labs/wallet-book';
21
21
  import '@dynamic-labs/utils';
22
22
  import '../../../../utils/constants/colors.js';
@@ -113,14 +113,14 @@ import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
113
113
  import { useInternalDynamicContext } from '../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
114
114
 
115
115
  const WaasBackupView = () => {
116
+ var _a;
116
117
  const { setDynamicWidgetView } = useWidgetContext();
117
118
  const user = useUser();
118
119
  const { primaryWallet } = useInternalDynamicContext();
119
120
  const refresh = useRefreshUser();
120
- const { linkSocialAccount, isLinked, isProcessingForProvider } = useSocialAccounts();
121
+ const { linkSocialAccount, isLinked, isProcessingForProvider, error: socialError, } = useSocialAccounts();
121
122
  const { t } = useTranslation();
122
123
  const [errorMessage, setErrorMessage] = useState(null);
123
- const isGoogleLinked = isLinked(ProviderEnum.Google);
124
124
  const checkGoogleDriveBackup = useCallback(() => {
125
125
  var _a, _b;
126
126
  if (!user || !primaryWallet)
@@ -140,6 +140,7 @@ const WaasBackupView = () => {
140
140
  const handleInfoClick = useCallback(() => {
141
141
  setDynamicWidgetView('waas-backup-info');
142
142
  }, [setDynamicWidgetView]);
143
+ const isGoogleLinked = useMemo(() => isLinked(ProviderEnum.Google), [isLinked]);
143
144
  const handleBackupWalletClick = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
144
145
  setErrorMessage(null);
145
146
  try {
@@ -152,6 +153,9 @@ const WaasBackupView = () => {
152
153
  showWidgetAfterConnection: false,
153
154
  });
154
155
  yield refresh();
156
+ if (!isLinked(ProviderEnum.Google)) {
157
+ return;
158
+ }
155
159
  }
156
160
  let waasConnector;
157
161
  if (isDynamicWaasConnector(primaryWallet.connector)) {
@@ -173,12 +177,13 @@ const WaasBackupView = () => {
173
177
  yield refresh();
174
178
  }
175
179
  catch (error) {
180
+ logger.warn('Error backing up wallet', { error });
176
181
  setErrorMessage(t('dyn_waas.backup.error'));
177
182
  }
178
- }), [primaryWallet, refresh, isGoogleLinked, linkSocialAccount, t]);
183
+ }), [primaryWallet, refresh, isGoogleLinked, linkSocialAccount, t, isLinked]);
179
184
  const infoButton = (jsx(IconButton, { type: 'button', onClick: handleInfoClick, "data-testid": 'info-button', children: jsx(SvgQuestionMark, {}) }));
180
185
  const closeButton = (jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'close-button', children: jsx(SvgClose, {}) }));
181
- return (jsxs("div", { className: 'waas-backup-view', children: [jsx(ModalHeader, { leading: infoButton, trailing: closeButton, children: jsx("div", { className: 'send-balance-page-layout__header-content', children: jsx(Typography, { variant: 'title', color: 'primary', copykey: 'dyn_waas.backup.title', children: t('dyn_waas.backup.title') }) }) }), jsx("div", { className: 'account-wrap', children: jsxs("div", { className: 'settings-view__body', children: [errorMessage && (jsx(ErrorContainer, { variant: 'error', withIcon: false, children: errorMessage })), jsxs("div", { className: 'backup-content', children: [jsx("div", { className: 'backup-icon-container', children: jsx(Icon, { color: 'brand-primary', children: jsx(SvgBackupWaas, { width: 64, height: 64 }) }) }), jsx("div", { className: 'backup-subtitle', children: jsx(Typography, { variant: 'body_normal', color: 'primary', copykey: 'dyn_waas.backup.subtitle', children: t('dyn_waas.backup.subtitle') }) }), jsx("div", { className: 'google-drive-section', children: jsxs("div", { className: 'google-drive-container', children: [jsxs("div", { className: 'google-drive-header', children: [jsx(SvgGoogleDrive, { className: 'google-drive-icon' }), jsxs("div", { className: 'google-drive-text', children: [jsxs("div", { className: 'google-drive-title-row', children: [jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'bold', copykey: 'dyn_waas.backup.google_drive', children: t('dyn_waas.backup.google_drive') }), isBackedUp && (jsx("div", { className: 'backed-up-pill', children: jsx(Typography, { color: 'inherit', weight: 'bold', copykey: 'dyn_waas.backup.backed_up', children: t('dyn_waas.backup.backed_up') }) }))] }), jsx(Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_waas.backup.google_drive_subtitle', children: t('dyn_waas.backup.google_drive_subtitle') })] }), isBackedUp && (jsx(SvgCheck, { className: 'google-drive-check-icon' }))] }), !isBackedUp && (jsx(TypographyButton, { dataTestId: 'backup-wallet-button', onClick: handleBackupWalletClick, buttonClassName: 'backup-button', disabled: isProcessingForProvider(ProviderEnum.Google), typographyProps: {
186
+ return (jsxs("div", { className: 'waas-backup-view', children: [jsx(ModalHeader, { leading: infoButton, trailing: closeButton, children: jsx("div", { className: 'send-balance-page-layout__header-content', children: jsx(Typography, { variant: 'title', color: 'primary', copykey: 'dyn_waas.backup.title', children: t('dyn_waas.backup.title') }) }) }), jsx("div", { className: 'account-wrap', children: jsxs("div", { className: 'settings-view__body', children: [(errorMessage || socialError) && (jsx(ErrorContainer, { variant: 'error', withIcon: false, children: (_a = socialError === null || socialError === void 0 ? void 0 : socialError.message) !== null && _a !== void 0 ? _a : errorMessage })), jsxs("div", { className: 'backup-content', children: [jsx("div", { className: 'backup-icon-container', children: jsx(Icon, { color: 'brand-primary', children: jsx(SvgBackupWaas, { width: 64, height: 64 }) }) }), jsx("div", { className: 'backup-subtitle', children: jsx(Typography, { variant: 'body_normal', color: 'primary', copykey: 'dyn_waas.backup.subtitle', children: t('dyn_waas.backup.subtitle') }) }), jsx("div", { className: 'google-drive-section', children: jsxs("div", { className: 'google-drive-container', children: [jsxs("div", { className: 'google-drive-header', children: [jsx(SvgGoogleDrive, { className: 'google-drive-icon' }), jsxs("div", { className: 'google-drive-text', children: [jsxs("div", { className: 'google-drive-title-row', children: [jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'bold', copykey: 'dyn_waas.backup.google_drive', children: t('dyn_waas.backup.google_drive') }), isBackedUp && (jsx("div", { className: 'backed-up-pill', children: jsx(Typography, { color: 'inherit', weight: 'bold', copykey: 'dyn_waas.backup.backed_up', children: t('dyn_waas.backup.backed_up') }) }))] }), jsx(Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_waas.backup.google_drive_subtitle', children: t('dyn_waas.backup.google_drive_subtitle') })] }), isBackedUp && (jsx(SvgCheck, { className: 'google-drive-check-icon' }))] }), !isBackedUp && (jsx(TypographyButton, { dataTestId: 'backup-wallet-button', onClick: handleBackupWalletClick, buttonClassName: 'backup-button', disabled: isProcessingForProvider(ProviderEnum.Google), typographyProps: {
182
187
  color: 'primary',
183
188
  weight: 'bold',
184
189
  }, copykey: 'dyn_waas.backup.back_up', buttonPadding: 'small', children: t('dyn_waas.backup.back_up') }))] }) })] })] }) })] }));