@dynamic-labs/sdk-react-core 4.2.3 → 4.3.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 (49) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/components.d.ts +1 -0
  6. package/src/lib/components/SignMessagePreview/SignMessagePreview.cjs +2 -1
  7. package/src/lib/components/SignMessagePreview/SignMessagePreview.js +2 -1
  8. package/src/lib/components/SignMessagePreview/utils/safeJsonParse/index.d.ts +1 -0
  9. package/src/lib/components/SignMessagePreview/utils/safeJsonParse/safeJsonParse.cjs +21 -0
  10. package/src/lib/components/SignMessagePreview/utils/safeJsonParse/safeJsonParse.d.ts +1 -0
  11. package/src/lib/components/SignMessagePreview/utils/safeJsonParse/safeJsonParse.js +17 -0
  12. package/src/lib/components/index.d.ts +1 -0
  13. package/src/lib/context/UserWalletsContext/UserWalletsContext.cjs +19 -14
  14. package/src/lib/context/UserWalletsContext/UserWalletsContext.js +20 -15
  15. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  16. package/src/lib/data/api/wallets/wallets.cjs +3 -0
  17. package/src/lib/data/api/wallets/wallets.js +4 -1
  18. package/src/lib/locale/en/translation.cjs +4 -0
  19. package/src/lib/locale/en/translation.d.ts +4 -0
  20. package/src/lib/locale/en/translation.js +4 -0
  21. package/src/lib/store/internalImplementation/store.cjs +3 -0
  22. package/src/lib/store/internalImplementation/store.js +3 -0
  23. package/src/lib/styles/index.shadow.cjs +1 -1
  24. package/src/lib/styles/index.shadow.js +1 -1
  25. package/src/lib/utils/functions/getWalletUniqueId/getWalletUniqueId.cjs +13 -0
  26. package/src/lib/utils/functions/getWalletUniqueId/getWalletUniqueId.d.ts +10 -0
  27. package/src/lib/utils/functions/getWalletUniqueId/getWalletUniqueId.js +9 -0
  28. package/src/lib/utils/functions/getWalletUniqueId/index.d.ts +1 -0
  29. package/src/lib/utils/functions/index.d.ts +1 -0
  30. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +6 -13
  31. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +6 -13
  32. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +4 -0
  33. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +4 -0
  34. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  35. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  36. package/src/lib/views/WalletAlreadyExistsView/WalletAlreadyExistsView.cjs +109 -0
  37. package/src/lib/views/WalletAlreadyExistsView/WalletAlreadyExistsView.d.ts +2 -0
  38. package/src/lib/views/WalletAlreadyExistsView/WalletAlreadyExistsView.js +105 -0
  39. package/src/lib/views/WalletAlreadyExistsView/index.d.ts +1 -0
  40. package/src/lib/views/viewToComponentMap.cjs +2 -0
  41. package/src/lib/views/viewToComponentMap.d.ts +1 -0
  42. package/src/lib/views/viewToComponentMap.js +2 -0
  43. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +8 -6
  44. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +8 -6
  45. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
  46. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
  47. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +10 -4
  48. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.d.ts +3 -1
  49. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +10 -4
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { useCallback } from 'react';
3
4
  import { isEmbeddedConnector } from '@dynamic-labs/wallet-connector-core';
4
- import 'react';
5
5
  import { ReactComponent as SvgCopy } from '../../../../shared/assets/copy.js';
6
6
  import { ReactComponent as SvgKey } from '../../../../shared/assets/key.js';
7
7
  import { ReactComponent as SvgSwitchHorizontal } from '../../../../shared/assets/switch-horizontal.js';
@@ -51,6 +51,7 @@ import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
51
51
  import '@dynamic-labs/rpc-providers';
52
52
  import '../../../../store/state/walletOptions/walletOptions.js';
53
53
  import 'react-i18next';
54
+ import { classNames } from '../../../../utils/functions/classNames/classNames.js';
54
55
  import '../../../../components/Accordion/components/AccordionItem/AccordionItem.js';
55
56
  import '../../../../components/Alert/Alert.js';
56
57
  import { Typography } from '../../../../components/Typography/Typography.js';
@@ -96,16 +97,19 @@ import '../../../../store/state/tokenBalances.js';
96
97
  import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
97
98
  import { useInternalDynamicContext } from '../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
98
99
 
99
- const Wallet = ({ wallet, ens }) => {
100
+ const Wallet = ({ wallet, ens, clickable }) => {
100
101
  var _a;
101
102
  const { connector, address } = wallet;
102
103
  const switchWallet = useSwitchWallet();
103
104
  const { setSelectedWalletWithAction, projectSettings, authMode } = useInternalDynamicContext();
105
+ const handleSwitchWallet = useCallback(() => {
106
+ switchWallet(wallet.id);
107
+ }, [switchWallet, wallet.id]);
104
108
  const iconSize = 20;
105
109
  const options = [
106
110
  {
107
111
  Icon: jsx(SvgSwitchHorizontal, {}),
108
- callback: () => switchWallet(wallet.id),
112
+ callback: handleSwitchWallet,
109
113
  hide: !((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.isAvailable),
110
114
  text: 'Select wallet',
111
115
  },
@@ -138,7 +142,9 @@ const Wallet = ({ wallet, ens }) => {
138
142
  text: 'Export private keys',
139
143
  });
140
144
  }
141
- return (jsxs("div", { className: 'wallet__container', "data-testid": 'wallet', children: [jsxs("div", { className: 'wallet__row', children: [jsx("div", { className: 'wallet__icon-container', children: jsx(AuthProviderIcon, { iconSize: iconSize, wallet: wallet, showNetworkIcon: true }) }), (ens === null || ens === void 0 ? void 0 : ens.name) ? (jsxs(Fragment, { children: [jsx(Typography, { className: 'wallet__ens-name', variant: 'body_small', color: 'primary', truncate: true, children: ens === null || ens === void 0 ? void 0 : ens.name }), jsx("div", { className: 'wallet__row__seperator' }), jsx(Typography, { variant: 'body_mini', color: 'secondary', children: shortenWalletAddress(address, 3, 3) })] })) : (jsx(Typography, { variant: 'body_small', color: 'primary', children: shortenWalletAddress(address, 4, 4) }))] }), jsx(DotsMenu, { "data-testid": 'dots-menu', options: options, buttonClassName: 'wallet__menu', direction: 'left' })] }));
145
+ return (jsxs("div", { className: 'wallet__container', "data-testid": 'wallet', children: [jsxs("div", { className: classNames('wallet__row', {
146
+ 'wallet__row--clickable': clickable,
147
+ }), onClick: clickable ? handleSwitchWallet : undefined, children: [jsx("div", { className: 'wallet__icon-container', children: jsx(AuthProviderIcon, { iconSize: iconSize, wallet: wallet, showNetworkIcon: true }) }), (ens === null || ens === void 0 ? void 0 : ens.name) ? (jsxs(Fragment, { children: [jsx(Typography, { className: 'wallet__ens-name', variant: 'body_small', color: 'primary', truncate: true, children: ens === null || ens === void 0 ? void 0 : ens.name }), jsx("div", { className: 'wallet__row__separator' }), jsx(Typography, { variant: 'body_mini', color: 'secondary', children: shortenWalletAddress(address, 3, 3) })] })) : (jsx(Typography, { variant: 'body_small', color: 'primary', children: shortenWalletAddress(address, 4, 4) }))] }), jsx("div", { className: 'wallet__row__separator wallet__row__menu__separator ' }), jsx(DotsMenu, { "data-testid": 'dots-menu', options: options, buttonClassName: 'wallet__menu', direction: 'left' })] }));
142
148
  };
143
149
 
144
150
  export { Wallet };