@dynamic-labs/sdk-react-core 4.0.0-alpha.36 → 4.0.0-alpha.37
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 +7 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.cjs +18 -2
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.d.ts +9 -4
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.js +18 -3
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +3 -2
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.0.0-alpha.37](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.36...v4.0.0-alpha.37) (2024-11-27)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* show the name of a wallet when it is unknown ([#7478](https://github.com/dynamic-labs/dynamic-auth/issues/7478)) ([698acc5](https://github.com/dynamic-labs/dynamic-auth/commit/698acc5b63a489f56bf403747a40c36027045bf7))
|
|
8
|
+
|
|
2
9
|
## [4.0.0-alpha.36](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.35...v4.0.0-alpha.36) (2024-11-26)
|
|
3
10
|
|
|
4
11
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.37",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@dynamic-labs/sdk-api-core": "0.0.570",
|
|
6
6
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
"react-i18next": "13.5.0",
|
|
14
14
|
"yup": "0.32.11",
|
|
15
15
|
"react-international-phone": "4.2.5",
|
|
16
|
-
"@dynamic-labs/assert-package-version": "4.0.0-alpha.
|
|
17
|
-
"@dynamic-labs/iconic": "4.0.0-alpha.
|
|
18
|
-
"@dynamic-labs/logger": "4.0.0-alpha.
|
|
19
|
-
"@dynamic-labs/multi-wallet": "4.0.0-alpha.
|
|
20
|
-
"@dynamic-labs/rpc-providers": "4.0.0-alpha.
|
|
21
|
-
"@dynamic-labs/store": "4.0.0-alpha.
|
|
22
|
-
"@dynamic-labs/types": "4.0.0-alpha.
|
|
23
|
-
"@dynamic-labs/utils": "4.0.0-alpha.
|
|
24
|
-
"@dynamic-labs/wallet-book": "4.0.0-alpha.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "4.0.0-alpha.
|
|
16
|
+
"@dynamic-labs/assert-package-version": "4.0.0-alpha.37",
|
|
17
|
+
"@dynamic-labs/iconic": "4.0.0-alpha.37",
|
|
18
|
+
"@dynamic-labs/logger": "4.0.0-alpha.37",
|
|
19
|
+
"@dynamic-labs/multi-wallet": "4.0.0-alpha.37",
|
|
20
|
+
"@dynamic-labs/rpc-providers": "4.0.0-alpha.37",
|
|
21
|
+
"@dynamic-labs/store": "4.0.0-alpha.37",
|
|
22
|
+
"@dynamic-labs/types": "4.0.0-alpha.37",
|
|
23
|
+
"@dynamic-labs/utils": "4.0.0-alpha.37",
|
|
24
|
+
"@dynamic-labs/wallet-book": "4.0.0-alpha.37",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "4.0.0-alpha.37",
|
|
26
26
|
"bs58": "5.0.0",
|
|
27
27
|
"eventemitter3": "5.0.1"
|
|
28
28
|
},
|
|
@@ -89,11 +89,27 @@ require('../../../../../components/Popper/Popper/Popper.cjs');
|
|
|
89
89
|
require('../../../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
90
90
|
require('qrcode');
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
/**
|
|
93
|
+
* If the wallet has no icon, returns its key, nicely formatted.
|
|
94
|
+
*/
|
|
95
|
+
const getNameIfNoIcon = (wallet) => {
|
|
96
|
+
if (!wallet)
|
|
97
|
+
return undefined;
|
|
98
|
+
const noIcon = !wallet.connector.metadata.icon ||
|
|
99
|
+
wallet.connector.metadata.icon.includes('unknown-wallet');
|
|
100
|
+
return noIcon
|
|
101
|
+
? wallet.key
|
|
102
|
+
.replace(/[-_]/g, ' ')
|
|
103
|
+
.replace(/\b\w/g, (char) => char.toUpperCase())
|
|
104
|
+
: undefined;
|
|
105
|
+
};
|
|
106
|
+
const ActiveWalletAddress = ({ wallet, nameServiceName, menuOption, fullWidth = false, isLoading = false, }) => {
|
|
93
107
|
const { showAlert } = PasskeyContext.usePasskeyContext();
|
|
108
|
+
const header = nameServiceName || getNameIfNoIcon(wallet);
|
|
94
109
|
return (jsxRuntime.jsxs("div", { className: 'active-wallet-information__address-container', children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Typography.Typography, { className: fullWidth
|
|
95
110
|
? 'active-wallet-information__handle--full-width'
|
|
96
|
-
: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal', children:
|
|
111
|
+
: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal', children: header }), jsxRuntime.jsx(Typography.Typography, { className: 'active-wallet-information__address', weight: header ? 'regular' : 'medium', variant: header ? 'body_small' : 'body_normal', color: header ? 'secondary' : 'primary', children: isLoading ? (jsxRuntime.jsx(Skeleton.Skeleton, { className: 'active-wallet-information__address-skeleton' })) : (shortenWalletAddress.shortenWalletAddress(wallet === null || wallet === void 0 ? void 0 : wallet.address, 4, 4)) })] }), jsxRuntime.jsx(DotsMenu.DotsMenu, { "data-testid": 'dots-menu', options: menuOption, buttonClassName: 'active-wallet-information__dots-menu', buttonClassNameWithOpenMenu: 'active-wallet-information__dots-menu', iconOverride: showAlert() ? (jsxRuntime.jsx(IconWithStatus.IconWithStatus, { Icon: () => jsxRuntime.jsx(gear.ReactComponent, { width: 16, height: 16 }), variant: 'yellow' })) : (jsxRuntime.jsx(gear.ReactComponent, { width: 16, height: 16 })) })] }));
|
|
97
112
|
};
|
|
98
113
|
|
|
99
114
|
exports.ActiveWalletAddress = ActiveWalletAddress;
|
|
115
|
+
exports.getNameIfNoIcon = getNameIfNoIcon;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Wallet } from '../../../../../shared';
|
|
2
3
|
import { DotsMenuOption } from '../../DotsMenu';
|
|
3
|
-
type
|
|
4
|
-
|
|
4
|
+
type ActiveWalletAddressProps = {
|
|
5
|
+
wallet: Wallet | null;
|
|
5
6
|
nameServiceName?: string;
|
|
6
7
|
menuOption: DotsMenuOption[];
|
|
7
8
|
fullWidth?: boolean;
|
|
8
9
|
isLoading?: boolean;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* If the wallet has no icon, returns its key, nicely formatted.
|
|
13
|
+
*/
|
|
14
|
+
export declare const getNameIfNoIcon: (wallet: Wallet | null) => string | undefined;
|
|
15
|
+
export declare const ActiveWalletAddress: FC<ActiveWalletAddressProps>;
|
|
11
16
|
export {};
|
|
@@ -85,11 +85,26 @@ import '../../../../../components/Popper/Popper/Popper.js';
|
|
|
85
85
|
import '../../../../../components/Popper/PopperContext/PopperContext.js';
|
|
86
86
|
import 'qrcode';
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
/**
|
|
89
|
+
* If the wallet has no icon, returns its key, nicely formatted.
|
|
90
|
+
*/
|
|
91
|
+
const getNameIfNoIcon = (wallet) => {
|
|
92
|
+
if (!wallet)
|
|
93
|
+
return undefined;
|
|
94
|
+
const noIcon = !wallet.connector.metadata.icon ||
|
|
95
|
+
wallet.connector.metadata.icon.includes('unknown-wallet');
|
|
96
|
+
return noIcon
|
|
97
|
+
? wallet.key
|
|
98
|
+
.replace(/[-_]/g, ' ')
|
|
99
|
+
.replace(/\b\w/g, (char) => char.toUpperCase())
|
|
100
|
+
: undefined;
|
|
101
|
+
};
|
|
102
|
+
const ActiveWalletAddress = ({ wallet, nameServiceName, menuOption, fullWidth = false, isLoading = false, }) => {
|
|
89
103
|
const { showAlert } = usePasskeyContext();
|
|
104
|
+
const header = nameServiceName || getNameIfNoIcon(wallet);
|
|
90
105
|
return (jsxs("div", { className: 'active-wallet-information__address-container', children: [jsxs("div", { children: [jsx(Typography, { className: fullWidth
|
|
91
106
|
? 'active-wallet-information__handle--full-width'
|
|
92
|
-
: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal', children:
|
|
107
|
+
: 'active-wallet-information__handle', color: 'primary', variant: 'body_normal', children: header }), jsx(Typography, { className: 'active-wallet-information__address', weight: header ? 'regular' : 'medium', variant: header ? 'body_small' : 'body_normal', color: header ? 'secondary' : 'primary', children: isLoading ? (jsx(Skeleton, { className: 'active-wallet-information__address-skeleton' })) : (shortenWalletAddress(wallet === null || wallet === void 0 ? void 0 : wallet.address, 4, 4)) })] }), jsx(DotsMenu, { "data-testid": 'dots-menu', options: menuOption, buttonClassName: 'active-wallet-information__dots-menu', buttonClassNameWithOpenMenu: 'active-wallet-information__dots-menu', iconOverride: showAlert() ? (jsx(IconWithStatus, { Icon: () => jsx(SvgGear, { width: 16, height: 16 }), variant: 'yellow' })) : (jsx(SvgGear, { width: 16, height: 16 })) })] }));
|
|
93
108
|
};
|
|
94
109
|
|
|
95
|
-
export { ActiveWalletAddress };
|
|
110
|
+
export { ActiveWalletAddress, getNameIfNoIcon };
|
package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs
CHANGED
|
@@ -177,7 +177,7 @@ const ActiveWalletInformation = ({ isLoading = false, }) => {
|
|
|
177
177
|
return (jsxRuntime.jsx(ActiveBitcoinWalletAddresses.ActiveBitcoinWalletAddresses, { wallet: primaryWallet, menuOption: options }));
|
|
178
178
|
}
|
|
179
179
|
else {
|
|
180
|
-
return (jsxRuntime.jsx(ActiveWalletAddress.ActiveWalletAddress, {
|
|
180
|
+
return (jsxRuntime.jsx(ActiveWalletAddress.ActiveWalletAddress, { wallet: primaryWallet, nameServiceName: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || (user === null || user === void 0 ? void 0 : user.email), menuOption: options, isLoading: isLoading, fullWidth: shouldHideNetwork }));
|
|
181
181
|
}
|
|
182
182
|
};
|
|
183
183
|
const enableMultiAsset = (authMode === 'connect-and-sign' ||
|
package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js
CHANGED
|
@@ -173,7 +173,7 @@ const ActiveWalletInformation = ({ isLoading = false, }) => {
|
|
|
173
173
|
return (jsx(ActiveBitcoinWalletAddresses, { wallet: primaryWallet, menuOption: options }));
|
|
174
174
|
}
|
|
175
175
|
else {
|
|
176
|
-
return (jsx(ActiveWalletAddress, {
|
|
176
|
+
return (jsx(ActiveWalletAddress, { wallet: primaryWallet, nameServiceName: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || (user === null || user === void 0 ? void 0 : user.email), menuOption: options, isLoading: isLoading, fullWidth: shouldHideNetwork }));
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
179
|
const enableMultiAsset = (authMode === 'connect-and-sign' ||
|
|
@@ -114,16 +114,17 @@ LinkButton.displayName = 'LinkButton';
|
|
|
114
114
|
const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
115
115
|
const { primaryWallet, user } = useInternalDynamicContext.useInternalDynamicContext();
|
|
116
116
|
const { open: openSendBalanceModal } = SendBalanceContext.useSendBalance();
|
|
117
|
-
const { supportsFunding, setShowFunding, fundingEnabled } = FundingContext.useFundingContext();
|
|
117
|
+
const { supportsFunding: _supportsFunding, setShowFunding, fundingEnabled, } = FundingContext.useFundingContext();
|
|
118
118
|
const { setDynamicWidgetView, setIsOpen } = DynamicWidgetContext.useWidgetContext();
|
|
119
119
|
const { isLoadingEmbeddedWallet } = WalletContext.useWalletContext();
|
|
120
120
|
const { t } = reactI18next.useTranslation();
|
|
121
|
+
const supportsFunding = _supportsFunding && (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.isAvailable);
|
|
121
122
|
const isSendBalanceEnabled = React.useMemo(() => {
|
|
122
123
|
const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
123
124
|
if (!connector)
|
|
124
125
|
return false;
|
|
125
126
|
return walletConnectorCore.isSendBalanceWalletConnector(connector);
|
|
126
|
-
}, [primaryWallet]);
|
|
127
|
+
}, [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector]);
|
|
127
128
|
const handleOnClickSend = () => {
|
|
128
129
|
if (variant === 'dropdown') {
|
|
129
130
|
setIsOpen(false);
|
|
@@ -106,16 +106,17 @@ LinkButton.displayName = 'LinkButton';
|
|
|
106
106
|
const DynamicWidgetWalletHeader = ({ variant, }) => {
|
|
107
107
|
const { primaryWallet, user } = useInternalDynamicContext();
|
|
108
108
|
const { open: openSendBalanceModal } = useSendBalance();
|
|
109
|
-
const { supportsFunding, setShowFunding, fundingEnabled } = useFundingContext();
|
|
109
|
+
const { supportsFunding: _supportsFunding, setShowFunding, fundingEnabled, } = useFundingContext();
|
|
110
110
|
const { setDynamicWidgetView, setIsOpen } = useWidgetContext();
|
|
111
111
|
const { isLoadingEmbeddedWallet } = useWalletContext();
|
|
112
112
|
const { t } = useTranslation();
|
|
113
|
+
const supportsFunding = _supportsFunding && (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector.isAvailable);
|
|
113
114
|
const isSendBalanceEnabled = useMemo(() => {
|
|
114
115
|
const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
115
116
|
if (!connector)
|
|
116
117
|
return false;
|
|
117
118
|
return isSendBalanceWalletConnector(connector);
|
|
118
|
-
}, [primaryWallet]);
|
|
119
|
+
}, [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector]);
|
|
119
120
|
const handleOnClickSend = () => {
|
|
120
121
|
if (variant === 'dropdown') {
|
|
121
122
|
setIsOpen(false);
|