@dynamic-labs/sdk-react-core 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (85) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +10 -10
  5. package/src/index.cjs +4 -2
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +2 -1
  8. package/src/lib/Main.cjs +18 -21
  9. package/src/lib/Main.js +18 -21
  10. package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +84 -5
  11. package/src/lib/components/NeedHelpSection/NeedHelpSection.js +85 -6
  12. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +8 -6
  13. package/src/lib/components/NetworkPicker/NetworkPicker.d.ts +2 -1
  14. package/src/lib/components/NetworkPicker/NetworkPicker.js +8 -6
  15. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +1 -1
  16. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +1 -1
  17. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.cjs +2 -17
  18. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.d.ts +2 -2
  19. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.js +2 -17
  20. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +1 -1
  21. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +1 -1
  22. package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -4
  23. package/src/lib/context/DynamicContext/DynamicContext.js +1 -4
  24. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  25. package/src/lib/data/api.cjs +2 -1
  26. package/src/lib/data/api.js +2 -1
  27. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +9 -11
  28. package/src/lib/layout/DynamicAuthLayout/Header/header.js +10 -12
  29. package/src/lib/locale/en/translation.cjs +7 -3
  30. package/src/lib/locale/en/translation.d.ts +6 -2
  31. package/src/lib/locale/en/translation.js +7 -3
  32. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +1 -1
  33. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +1 -1
  34. package/src/lib/styles/index.shadow.cjs +1 -1
  35. package/src/lib/styles/index.shadow.js +1 -1
  36. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +1 -1
  37. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +1 -1
  38. package/src/lib/utils/hooks/index.d.ts +1 -0
  39. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +1 -6
  40. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +1 -6
  41. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +3 -0
  42. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +3 -0
  43. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -8
  44. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -8
  45. package/src/lib/utils/hooks/useEventListener/useEventListener.cjs +2 -1
  46. package/src/lib/utils/hooks/useEventListener/useEventListener.js +2 -1
  47. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +9 -5
  48. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +0 -1
  49. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +10 -6
  50. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +20 -21
  51. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -2
  52. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +20 -21
  53. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +32 -9
  54. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.d.ts +0 -1
  55. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +33 -10
  56. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -1
  57. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -1
  58. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +6 -3
  59. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +6 -3
  60. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +1 -1
  61. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +1 -1
  62. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +1 -1
  63. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +1 -1
  64. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -1
  65. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -1
  66. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +7 -6
  67. package/src/lib/views/SendBalanceView/SendBalanceView.js +7 -6
  68. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +16 -3
  69. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +16 -3
  70. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +3 -0
  71. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +4 -1
  72. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +3 -3
  73. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +3 -3
  74. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -2
  75. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -2
  76. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -2
  77. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -2
  78. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -2
  79. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -2
  80. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -3
  81. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -3
  82. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -1
  83. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -1
  84. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +16 -6
  85. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +16 -6
@@ -4,26 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactI18next = require('react-i18next');
7
- require('@dynamic-labs/sdk-api');
8
- require('../../../../shared/logger.cjs');
9
- var getChainIcon = require('../../../../shared/utils/functions/chain/getChainIcon.cjs');
10
- require('@dynamic-labs/wallet-connector-core');
11
- require('@dynamic-labs/wallet-book');
12
- require('../../../../utils/constants/colors.cjs');
13
- require('../../../../shared/utils/classes/storage/localStorage.cjs');
14
- require('viem');
15
- require('react');
16
- require('@dynamic-labs/utils');
17
- require('@dynamic-labs/iconic');
18
- require('../../../../context/ViewContext/ViewContext.cjs');
19
- require('../../../../shared/consts/index.cjs');
20
- var Icon = require('../../../Icon/Icon.cjs');
21
7
  var Typography = require('../../../Typography/Typography.cjs');
22
8
 
23
- const TokenBalanceCard = ({ chain, currencySymbol, balance, }) => {
24
- const ChainIcon = getChainIcon.getChainIcon(chain);
9
+ const TokenBalanceCard = ({ chainIcon, currencySymbol, balance, }) => {
25
10
  const { t } = reactI18next.useTranslation();
26
- return (jsxRuntime.jsxs("div", { className: 'token-balance-card', children: [jsxRuntime.jsxs("div", { className: 'token-balance-card__chain', children: [jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(ChainIcon, {}) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', children: currencySymbol })] }), Boolean(balance) && (jsxRuntime.jsxs("div", { className: 'token-balance-card__balance-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'tertiary', children: t('dyn_send_transaction.data.balance.label') }), jsxRuntime.jsxs("div", { className: 'token-balance-card__balance', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'secondary', children: balance }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'tertiary', children: currencySymbol })] })] }))] }));
11
+ return (jsxRuntime.jsxs("div", { className: 'token-balance-card', children: [jsxRuntime.jsxs("div", { className: 'token-balance-card__chain', children: [Boolean(chainIcon) && (jsxRuntime.jsx("div", { className: 'token-balance-card__chain__icon', children: chainIcon })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', children: currencySymbol })] }), Boolean(balance) && (jsxRuntime.jsxs("div", { className: 'token-balance-card__balance-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'tertiary', children: t('dyn_send_transaction.data.balance.label') }), jsxRuntime.jsxs("div", { className: 'token-balance-card__balance', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'secondary', children: balance }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'tertiary', children: currencySymbol })] })] }))] }));
27
12
  };
28
13
 
29
14
  exports.TokenBalanceCard = TokenBalanceCard;
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  type TokenBalanceCardProps = {
3
3
  balance?: string;
4
- chain: string;
4
+ chainIcon?: ReactNode;
5
5
  currencySymbol: string;
6
6
  };
7
7
  export declare const TokenBalanceCard: FC<TokenBalanceCardProps>;
@@ -1,25 +1,10 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useTranslation } from 'react-i18next';
3
- import '@dynamic-labs/sdk-api';
4
- import '../../../../shared/logger.js';
5
- import { getChainIcon } from '../../../../shared/utils/functions/chain/getChainIcon.js';
6
- import '@dynamic-labs/wallet-connector-core';
7
- import '@dynamic-labs/wallet-book';
8
- import '../../../../utils/constants/colors.js';
9
- import '../../../../shared/utils/classes/storage/localStorage.js';
10
- import 'viem';
11
- import 'react';
12
- import '@dynamic-labs/utils';
13
- import '@dynamic-labs/iconic';
14
- import '../../../../context/ViewContext/ViewContext.js';
15
- import '../../../../shared/consts/index.js';
16
- import { Icon } from '../../../Icon/Icon.js';
17
3
  import { Typography } from '../../../Typography/Typography.js';
18
4
 
19
- const TokenBalanceCard = ({ chain, currencySymbol, balance, }) => {
20
- const ChainIcon = getChainIcon(chain);
5
+ const TokenBalanceCard = ({ chainIcon, currencySymbol, balance, }) => {
21
6
  const { t } = useTranslation();
22
- return (jsxs("div", { className: 'token-balance-card', children: [jsxs("div", { className: 'token-balance-card__chain', children: [jsx(Icon, { size: 'small', children: jsx(ChainIcon, {}) }), jsx(Typography, { variant: 'body_normal', color: 'primary', children: currencySymbol })] }), Boolean(balance) && (jsxs("div", { className: 'token-balance-card__balance-container', children: [jsx(Typography, { variant: 'body_small', color: 'tertiary', children: t('dyn_send_transaction.data.balance.label') }), jsxs("div", { className: 'token-balance-card__balance', children: [jsx(Typography, { variant: 'body_small', color: 'secondary', children: balance }), jsx(Typography, { variant: 'body_small', color: 'tertiary', children: currencySymbol })] })] }))] }));
7
+ return (jsxs("div", { className: 'token-balance-card', children: [jsxs("div", { className: 'token-balance-card__chain', children: [Boolean(chainIcon) && (jsx("div", { className: 'token-balance-card__chain__icon', children: chainIcon })), jsx(Typography, { variant: 'body_normal', color: 'primary', children: currencySymbol })] }), Boolean(balance) && (jsxs("div", { className: 'token-balance-card__balance-container', children: [jsx(Typography, { variant: 'body_small', color: 'tertiary', children: t('dyn_send_transaction.data.balance.label') }), jsxs("div", { className: 'token-balance-card__balance', children: [jsx(Typography, { variant: 'body_small', color: 'secondary', children: balance }), jsx(Typography, { variant: 'body_small', color: 'tertiary', children: currencySymbol })] })] }))] }));
23
8
  };
24
9
 
25
10
  export { TokenBalanceCard };
@@ -38,7 +38,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
38
38
  const { t } = reactI18next.useTranslation();
39
39
  const closeButton = onClickClose && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading, children: jsxRuntime.jsx(close.ReactComponent, {}) }));
40
40
  const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) }));
41
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: (props) => (jsxRuntime.jsx(Icon.Icon, { color: 'brand-primary', children: jsxRuntime.jsx(signCircle.ReactComponent, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxRuntime.jsxs("div", { className: 'transaction-confirmation__body', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: error && (jsxRuntime.jsx("div", { className: 'transaction-confirmation__error', children: jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsxRuntime.jsx("div", { className: 'transaction-confirmation__content_vertical_alignment', children: jsxRuntime.jsxs("div", { className: 'transaction-confirmation__content', children: [jsxRuntime.jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsxRuntime.jsx(AppOriginTile.AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsxRuntime.jsx("div", { className: 'transaction-confirmation__rows', children: children })] }) }), jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: alert && (jsxRuntime.jsx("div", { className: 'transaction-confirmation__warning', children: alert })) }), jsxRuntime.jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsxRuntime.jsx(Button.Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', disabled: isLoading, children: t('dyn_send_transaction.confirmation.cancel_button') })), jsxRuntime.jsx(Button.Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: (event) => {
41
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: (props) => (jsxRuntime.jsx(Icon.Icon, { color: 'brand-primary', children: jsxRuntime.jsx(signCircle.ReactComponent, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxRuntime.jsxs("div", { className: 'transaction-confirmation__body', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: error && (jsxRuntime.jsx("div", { className: 'transaction-confirmation__error', children: jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsxRuntime.jsxs("div", { className: 'transaction-confirmation__content', children: [jsxRuntime.jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsxRuntime.jsx(AppOriginTile.AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsxRuntime.jsx("div", { className: 'transaction-confirmation__rows', children: children })] }), jsxRuntime.jsx(AnimatePresence.AnimatePresence, { animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, {}), children: alert && (jsxRuntime.jsx("div", { className: 'transaction-confirmation__warning', children: alert })) }), jsxRuntime.jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsxRuntime.jsx(Button.Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', disabled: isLoading, children: t('dyn_send_transaction.confirmation.cancel_button') })), jsxRuntime.jsx(Button.Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: (event) => {
42
42
  onClickSend === null || onClickSend === void 0 ? void 0 : onClickSend(event);
43
43
  }, expanded: true, loading: isLoading, disabled: disableSendButton, children: t('dyn_send_transaction.confirmation.confirm_button') })] }), displayPoweredByDynamicFooter && (jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { classNameRoot: 'transaction-confirmation__footer' }))] })] }));
44
44
  };
@@ -34,7 +34,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
34
34
  const { t } = useTranslation();
35
35
  const closeButton = onClickClose && (jsx(IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading, children: jsx(SvgClose, {}) }));
36
36
  const backButton = onClickBack && (jsx(IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
37
- return (jsxs(Fragment, { children: [jsx(ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsx(IconWithSpinner, { Icon: (props) => (jsx(Icon, { color: 'brand-primary', children: jsx(SvgSignCircle, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxs("div", { className: 'transaction-confirmation__body', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'transaction-confirmation__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsx("div", { className: 'transaction-confirmation__content_vertical_alignment', children: jsxs("div", { className: 'transaction-confirmation__content', children: [jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsx(AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsx("div", { className: 'transaction-confirmation__rows', children: children })] }) }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: alert && (jsx("div", { className: 'transaction-confirmation__warning', children: alert })) }), jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsx(Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', disabled: isLoading, children: t('dyn_send_transaction.confirmation.cancel_button') })), jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: (event) => {
37
+ return (jsxs(Fragment, { children: [jsx(ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsx(IconWithSpinner, { Icon: (props) => (jsx(Icon, { color: 'brand-primary', children: jsx(SvgSignCircle, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxs("div", { className: 'transaction-confirmation__body', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'transaction-confirmation__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsxs("div", { className: 'transaction-confirmation__content', children: [jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsx(AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsx("div", { className: 'transaction-confirmation__rows', children: children })] }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: alert && (jsx("div", { className: 'transaction-confirmation__warning', children: alert })) }), jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsx(Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', disabled: isLoading, children: t('dyn_send_transaction.confirmation.cancel_button') })), jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: (event) => {
38
38
  onClickSend === null || onClickSend === void 0 ? void 0 : onClickSend(event);
39
39
  }, expanded: true, loading: isLoading, disabled: disableSendButton, children: t('dyn_send_transaction.confirmation.confirm_button') })] }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'transaction-confirmation__footer' }))] })] }));
40
40
  };
@@ -236,7 +236,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
236
236
  // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
237
237
  const authToken = (_e = getAuthToken.getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
238
238
  useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, wallets);
239
- const { computeConnectedStateForWallets, didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
239
+ const { didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
240
240
  authMode,
241
241
  authToken: getAuthToken.getAuthToken() || onboardingOnlyJwt,
242
242
  canHaveMultipleWalletsConnected: multiWallet || isBridgeFlow,
@@ -370,7 +370,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
370
370
  });
371
371
  const { loadingNetwork, network, setNetwork } = useWalletEventListeners.useWalletEventListeners({
372
372
  authMode,
373
- computeConnectedStateForWallets,
374
373
  handleLogOut,
375
374
  multiWallet,
376
375
  multiWalletWidgetState,
@@ -480,7 +479,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
480
479
  bridgeChains,
481
480
  bridgeChainsToConnect,
482
481
  clearStatesOnBackClick,
483
- computeConnectedStateForWallets,
484
482
  connectWallet,
485
483
  connectedWallet,
486
484
  connectedWallets,
@@ -600,7 +598,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
600
598
  bridgeChains,
601
599
  bridgeChainsToConnect,
602
600
  clearStatesOnBackClick,
603
- computeConnectedStateForWallets,
604
601
  connectWallet,
605
602
  connectedWallet,
606
603
  connectedWallets,
@@ -232,7 +232,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
232
232
  // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
233
233
  const authToken = (_e = getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
234
234
  useSetWalletConnectorVerifiedCredentials(authToken, wallets);
235
- const { computeConnectedStateForWallets, didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
235
+ const { didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
236
236
  authMode,
237
237
  authToken: getAuthToken() || onboardingOnlyJwt,
238
238
  canHaveMultipleWalletsConnected: multiWallet || isBridgeFlow,
@@ -366,7 +366,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
366
366
  });
367
367
  const { loadingNetwork, network, setNetwork } = useWalletEventListeners({
368
368
  authMode,
369
- computeConnectedStateForWallets,
370
369
  handleLogOut,
371
370
  multiWallet,
372
371
  multiWalletWidgetState,
@@ -476,7 +475,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
476
475
  bridgeChains,
477
476
  bridgeChainsToConnect,
478
477
  clearStatesOnBackClick,
479
- computeConnectedStateForWallets,
480
478
  connectWallet,
481
479
  connectedWallet,
482
480
  connectedWallets,
@@ -596,7 +594,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
596
594
  bridgeChains,
597
595
  bridgeChainsToConnect,
598
596
  clearStatesOnBackClick,
599
- computeConnectedStateForWallets,
600
597
  connectWallet,
601
598
  connectedWallet,
602
599
  connectedWallets,
@@ -33,7 +33,6 @@ export interface IDynamicContext {
33
33
  authorizationViewDisplayOrder: DisplayOrder;
34
34
  awaitingSignatureState: AwaitingSignatureState;
35
35
  clearStatesOnBackClick: () => void;
36
- computeConnectedStateForWallets: () => Promise<void>;
37
36
  connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts, shouldCallCallback?: boolean) => Promise<ConnectWalletResult | undefined>;
38
37
  connectedWallet: Wallet | null;
39
38
  connectedWallets: Wallet[];
@@ -480,11 +480,12 @@ const createTurnkeyEvmEmbeddedWallet = ({ attestation, challenge, environmentId,
480
480
  embeddedWallets: [
481
481
  {
482
482
  chain: sdkApi$1.ChainEnum.Evm,
483
- embeddedWalletProvider: sdkApi$1.EmbeddedWalletProviderEnum.Turnkey,
483
+ embeddedWalletProvider: sdkApi$1.EmbeddedWalletProviderEnum.Turnkeyhd,
484
484
  embeddedWalletSpecificOpts: {
485
485
  attestation,
486
486
  challenge,
487
487
  },
488
+ isAuthenticatorAttached: true,
488
489
  },
489
490
  ],
490
491
  },
@@ -476,11 +476,12 @@ const createTurnkeyEvmEmbeddedWallet = ({ attestation, challenge, environmentId,
476
476
  embeddedWallets: [
477
477
  {
478
478
  chain: ChainEnum.Evm,
479
- embeddedWalletProvider: EmbeddedWalletProviderEnum.Turnkey,
479
+ embeddedWalletProvider: EmbeddedWalletProviderEnum.Turnkeyhd,
480
480
  embeddedWalletSpecificOpts: {
481
481
  attestation,
482
482
  challenge,
483
483
  },
484
+ isAuthenticatorAttached: true,
484
485
  },
485
486
  ],
486
487
  },
@@ -89,20 +89,18 @@ const Header = ({ onClose: handleClose, heading, projectSettings, walletConnecto
89
89
  selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.name,
90
90
  clearStatesOnBackClick,
91
91
  ]);
92
- const leadingButtons = React.useMemo(() => {
93
- let buttons = [];
94
- if (showBackButton) {
95
- buttons = [
96
- ...buttons,
97
- jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'header__icon', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }, 'back-button'),
98
- ];
99
- }
100
- return buttons;
101
- }, [handleBackClick, showBackButton]);
102
92
  const closeButton = showCloseButton && handleClose && (jsxRuntime.jsx(IconButton.IconButton, { onClick: handleClose, type: 'button', id: 'close-button', "data-testid": 'close-button', className: 'header__icon', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
103
93
  const infoButton = showHelpContent && (jsxRuntime.jsx(Tooltip.Tooltip, { content: 'Need some help?', className: 'header__tooltip', children: jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: () => setIsFooterExpanded(!isFooterExpanded), "data-testid": 'info-button', className: 'header__icon', children: isWalletListTypeView ? jsxRuntime.jsx(questionMark.ReactComponent, {}) : jsxRuntime.jsx(footerInfoIcon.ReactComponent, {}) }) }, 'info-button'));
94
+ const leadingButtons = [];
95
+ if (showBackButton) {
96
+ leadingButtons.push(jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'header__icon', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }, 'back-button'));
97
+ }
98
+ // if has close button and info button, info button should be on the right
99
+ if (closeButton && infoButton) {
100
+ leadingButtons.push(infoButton);
101
+ }
104
102
  const qrCodePreHeader = (jsxRuntime.jsxs("div", { className: 'qr-code-view__scan-issue-message', children: [jsxRuntime.jsx(Typography.Typography, { color: 'primary', variant: 'body_small', children: "If you're having issues scanning, click\u00A0" }), jsxRuntime.jsx("button", { className: 'qr-code-view__scan-issue-button', onClick: () => setShowQrCodeImage(true), children: "here" })] }));
105
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: leadingButtons, trailing: infoButton || closeButton, displayBorder: displayBorderBelowHeader, children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: !projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { className: 'header__skeleton' })) : (heading) }) }), showQrCodePreHeader && qrCodePreHeader] }));
103
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: leadingButtons, trailing: closeButton || infoButton, displayBorder: displayBorderBelowHeader, children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: !projectSettings ? (jsxRuntime.jsx(Skeleton.Skeleton, { className: 'header__skeleton' })) : (heading) }) }), showQrCodePreHeader && qrCodePreHeader] }));
106
104
  };
107
105
 
108
106
  exports.Header = Header;
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { useCallback, useMemo } from 'react';
2
+ import { useCallback } from 'react';
3
3
  import '@dynamic-labs/utils';
4
4
  import '@dynamic-labs/sdk-api';
5
5
  import '../../../config/ApiEndpoint.js';
@@ -85,20 +85,18 @@ const Header = ({ onClose: handleClose, heading, projectSettings, walletConnecto
85
85
  selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.name,
86
86
  clearStatesOnBackClick,
87
87
  ]);
88
- const leadingButtons = useMemo(() => {
89
- let buttons = [];
90
- if (showBackButton) {
91
- buttons = [
92
- ...buttons,
93
- jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'header__icon', children: jsx(SvgArrowLeft, {}) }, 'back-button'),
94
- ];
95
- }
96
- return buttons;
97
- }, [handleBackClick, showBackButton]);
98
88
  const closeButton = showCloseButton && handleClose && (jsx(IconButton, { onClick: handleClose, type: 'button', id: 'close-button', "data-testid": 'close-button', className: 'header__icon', children: jsx(SvgClose, {}) }));
99
89
  const infoButton = showHelpContent && (jsx(Tooltip, { content: 'Need some help?', className: 'header__tooltip', children: jsx(IconButton, { type: 'button', onClick: () => setIsFooterExpanded(!isFooterExpanded), "data-testid": 'info-button', className: 'header__icon', children: isWalletListTypeView ? jsx(SvgQuestionMark, {}) : jsx(SvgFooterInfoIcon, {}) }) }, 'info-button'));
90
+ const leadingButtons = [];
91
+ if (showBackButton) {
92
+ leadingButtons.push(jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'header__icon', children: jsx(SvgArrowLeft, {}) }, 'back-button'));
93
+ }
94
+ // if has close button and info button, info button should be on the right
95
+ if (closeButton && infoButton) {
96
+ leadingButtons.push(infoButton);
97
+ }
100
98
  const qrCodePreHeader = (jsxs("div", { className: 'qr-code-view__scan-issue-message', children: [jsx(Typography, { color: 'primary', variant: 'body_small', children: "If you're having issues scanning, click\u00A0" }), jsx("button", { className: 'qr-code-view__scan-issue-button', onClick: () => setShowQrCodeImage(true), children: "here" })] }));
101
- return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: leadingButtons, trailing: infoButton || closeButton, displayBorder: displayBorderBelowHeader, children: jsx(Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: !projectSettings ? (jsx(Skeleton, { className: 'header__skeleton' })) : (heading) }) }), showQrCodePreHeader && qrCodePreHeader] }));
99
+ return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: leadingButtons, trailing: closeButton || infoButton, displayBorder: displayBorderBelowHeader, children: jsx(Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: !projectSettings ? (jsx(Skeleton, { className: 'header__skeleton' })) : (heading) }) }), showQrCodePreHeader && qrCodePreHeader] }));
102
100
  };
103
101
 
104
102
  export { Header };
@@ -372,13 +372,17 @@ const translation = {
372
372
  * @description copy key for Dynamic need help footer section
373
373
  * @default
374
374
  * {
375
- info: 'Any troubles with your passkey?',
376
- contact_support: 'Contact Support',
375
+ info: 'Can’t find your passkey?',
376
+ contact_support: 'Contact support',
377
+ divider: 'or',
378
+ recovery_button: 'generate a new one.',
377
379
  }
378
380
  */
379
381
  dyn_need_help_section: {
380
- info: 'Any troubles with your passkey?',
382
+ info: 'Can’t find your passkey?',
381
383
  contact_support: 'Contact support',
384
+ divider: 'or',
385
+ recovery_button: 'generate a new one.',
382
386
  },
383
387
  /**
384
388
  * @description copy keys for network not supported view
@@ -367,13 +367,17 @@ export declare const translation: {
367
367
  * @description copy key for Dynamic need help footer section
368
368
  * @default
369
369
  * {
370
- info: 'Any troubles with your passkey?',
371
- contact_support: 'Contact Support',
370
+ info: 'Can’t find your passkey?',
371
+ contact_support: 'Contact support',
372
+ divider: 'or',
373
+ recovery_button: 'generate a new one.',
372
374
  }
373
375
  */
374
376
  dyn_need_help_section: {
375
377
  info: string;
376
378
  contact_support: string;
379
+ divider: string;
380
+ recovery_button: string;
377
381
  };
378
382
  /**
379
383
  * @description copy keys for network not supported view
@@ -368,13 +368,17 @@ const translation = {
368
368
  * @description copy key for Dynamic need help footer section
369
369
  * @default
370
370
  * {
371
- info: 'Any troubles with your passkey?',
372
- contact_support: 'Contact Support',
371
+ info: 'Can’t find your passkey?',
372
+ contact_support: 'Contact support',
373
+ divider: 'or',
374
+ recovery_button: 'generate a new one.',
373
375
  }
374
376
  */
375
377
  dyn_need_help_section: {
376
- info: 'Any troubles with your passkey?',
378
+ info: 'Can’t find your passkey?',
377
379
  contact_support: 'Contact support',
380
+ divider: 'or',
381
+ recovery_button: 'generate a new one.',
378
382
  },
379
383
  /**
380
384
  * @description copy keys for network not supported view
@@ -8,7 +8,7 @@ const TurnkeyErrorMap = {
8
8
  3: 'You reached the limit of passkeys for this account.',
9
9
  };
10
10
  const DOMExceptionErrorMap = {
11
- NotAllowedError: 'Make sure to have you browser tab focused.',
11
+ NotAllowedError: 'Request Cancelled. Select a device or password manager to set up a passkey.',
12
12
  };
13
13
  const getProperErrorMessage = (originalError) => {
14
14
  var _a, _b;
@@ -4,7 +4,7 @@ const TurnkeyErrorMap = {
4
4
  3: 'You reached the limit of passkeys for this account.',
5
5
  };
6
6
  const DOMExceptionErrorMap = {
7
- NotAllowedError: 'Make sure to have you browser tab focused.',
7
+ NotAllowedError: 'Request Cancelled. Select a device or password manager to set up a passkey.',
8
8
  };
9
9
  const getProperErrorMessage = (originalError) => {
10
10
  var _a, _b;