@dynamic-labs/sdk-react-core 4.80.0 → 4.81.0

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 (33) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +12 -12
  5. package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +63 -3
  6. package/src/lib/components/SendBalanceForm/SendBalanceForm.js +63 -3
  7. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/TransactionModeSegmentedControl.cjs +40 -0
  8. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/TransactionModeSegmentedControl.d.ts +16 -0
  9. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/TransactionModeSegmentedControl.js +36 -0
  10. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/icons.cjs +17 -0
  11. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/icons.d.ts +8 -0
  12. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/icons.js +12 -0
  13. package/src/lib/components/SendBalanceForm/TransactionModeSegmentedControl/index.d.ts +1 -0
  14. package/src/lib/styles/index.shadow.cjs +1 -1
  15. package/src/lib/styles/index.shadow.js +1 -1
  16. package/src/lib/utils/hooks/useAleoShieldedBalances/index.d.ts +1 -0
  17. package/src/lib/utils/hooks/useAleoShieldedBalances/useAleoShieldedBalances.cjs +372 -0
  18. package/src/lib/utils/hooks/useAleoShieldedBalances/useAleoShieldedBalances.d.ts +24 -0
  19. package/src/lib/utils/hooks/useAleoShieldedBalances/useAleoShieldedBalances.js +368 -0
  20. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +1 -0
  21. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -0
  22. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +1 -0
  23. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +53 -0
  24. package/src/lib/views/SendBalanceView/SendBalanceView.js +53 -0
  25. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.cjs +191 -11
  26. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.js +191 -11
  27. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.cjs +5 -2
  28. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.d.ts +10 -1
  29. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.js +5 -2
  30. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/index.d.ts +1 -0
  31. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceList/TokenBalanceList.cjs +2 -2
  32. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceList/TokenBalanceList.d.ts +3 -1
  33. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceList/TokenBalanceList.js +2 -2
@@ -113,7 +113,8 @@ const currencyFormatter = new Intl.NumberFormat('en-US', {
113
113
  currency: 'USD',
114
114
  style: 'currency',
115
115
  });
116
- const TokenBalanceItem = ({ tokenBalance, }) => {
116
+ const TokenBalanceItem = ({ tokenBalance, secondaryAction, }) => {
117
+ var _a;
117
118
  const { showFiat } = useInternalDynamicContext();
118
119
  const formattedFiatValue = () => {
119
120
  var _a;
@@ -124,7 +125,9 @@ const TokenBalanceItem = ({ tokenBalance, }) => {
124
125
  ? currencyFormatter.format(parseFloat((_a = tokenBalance.marketValue) === null || _a === void 0 ? void 0 : _a.toFixed(2)))
125
126
  : '<$0.01';
126
127
  };
127
- return (jsxs("div", { className: 'token-balance-item', children: [jsxs("div", { className: 'token-balance-item__name', children: [tokenBalance.logoURI ? (jsx(Image, { src: tokenBalance.logoURI, alt: tokenBalance.symbol, className: 'token-balance-item__icon', dataTestId: 'token-balance-item-icon' })) : (jsx("div", { className: 'token-balance-item__skeleton-icon', "data-testid": 'token-balance-item__skeleton-icon' })), jsx("div", { children: jsx(Typography, { variant: 'body_small', className: 'token-balance-item__title', color: 'primary', children: tokenBalance.name }) })] }), jsxs("div", { className: 'flex', children: [showFiat ? (jsx(Typography, { variant: 'body_small', weight: 'bold', color: 'primary', style: { textAlign: 'right' }, children: formattedFiatValue() })) : null, jsx("div", { className: 'token-balance-item__value', children: jsxs("div", { className: 'token-balance-item__value__balance', "data-testid": 'token-balance-item-balance', children: [jsx(Typography, { variant: 'body_small', color: 'secondary', style: { marginRight: '2px' }, children: roundBalance(String(tokenBalance.balance)) }), jsx(Typography, { variant: 'body_small', color: 'secondary', className: 'token-balance-item__symbol', children: tokenBalance.symbol })] }) })] })] }, tokenBalance.address));
128
+ return (jsxs("div", { className: 'token-balance-item', children: [jsxs("div", { className: 'token-balance-item__row', children: [jsxs("div", { className: 'token-balance-item__name', children: [tokenBalance.logoURI ? (jsx(Image, { src: tokenBalance.logoURI, alt: tokenBalance.symbol, className: 'token-balance-item__icon', dataTestId: 'token-balance-item-icon' })) : (jsx("div", { className: 'token-balance-item__skeleton-icon', "data-testid": 'token-balance-item__skeleton-icon' })), jsx("div", { children: jsx(Typography, { variant: 'body_small', className: 'token-balance-item__title', color: 'primary', children: tokenBalance.name }) })] }), jsxs("div", { className: 'flex', children: [showFiat ? (jsx(Typography, { variant: 'body_small', weight: 'bold', color: 'primary', style: { textAlign: 'right' }, children: formattedFiatValue() })) : null, jsx("div", { className: 'token-balance-item__value', children: jsxs("div", { className: 'token-balance-item__value__balance', "data-testid": 'token-balance-item-balance', children: [jsx(Typography, { variant: 'body_small', color: 'secondary', style: { marginRight: '2px' }, children: roundBalance(String(tokenBalance.balance)) }), jsx(Typography, { variant: 'body_small', color: 'secondary', className: 'token-balance-item__symbol', children: tokenBalance.symbol })] }) })] })] }), secondaryAction ? (jsx("button", { type: 'button', onClick: secondaryAction.onClick, disabled: secondaryAction.isLoading, className: 'token-balance-item__secondary-action', "data-testid": (_a = secondaryAction.dataTestId) !== null && _a !== void 0 ? _a : 'token-balance-item-secondary-action', children: jsx(Typography, { variant: 'body_small', color: 'secondary', className: 'token-balance-item__secondary-action__label', children: secondaryAction.isLoading
129
+ ? 'Working…'
130
+ : `${secondaryAction.label} ›` }) })) : null] }, tokenBalance.address));
128
131
  };
129
132
 
130
133
  export { TokenBalanceItem };
@@ -1 +1,2 @@
1
1
  export { TokenBalanceItem } from './TokenBalanceItem';
2
+ export type { TokenBalanceItemSecondaryAction } from './TokenBalanceItem';
@@ -116,9 +116,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
116
116
 
117
117
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
118
118
 
119
- const TokenBalanceList = ({ tokenBalances }) => {
119
+ const TokenBalanceList = ({ tokenBalances, getSecondaryAction, }) => {
120
120
  const { t } = reactI18next.useTranslation();
121
- return (jsxRuntime.jsx("ul", { className: 'token-balance-list', children: (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.length) === 0 ? (jsxRuntime.jsx("div", { className: 'token-balance-list__empty', children: jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_wallet_information.multi_asset.empty_state', children: t('dyn_wallet_information.multi_asset.empty_state') }) })) : (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.map((tokenBalance, idx) => (jsxRuntime.jsxs(React__default["default"].Fragment, { children: [jsxRuntime.jsx(TokenBalanceItem.TokenBalanceItem, { tokenBalance: tokenBalance }), tokenBalances.length !== idx + 1 ? (jsxRuntime.jsx(Divider.Divider, { className: 'token-balance-list__divider' })) : null] }, idx)))) }));
121
+ return (jsxRuntime.jsx("ul", { className: 'token-balance-list', children: (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.length) === 0 ? (jsxRuntime.jsx("div", { className: 'token-balance-list__empty', children: jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_wallet_information.multi_asset.empty_state', children: t('dyn_wallet_information.multi_asset.empty_state') }) })) : (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.map((tokenBalance, idx) => (jsxRuntime.jsxs(React__default["default"].Fragment, { children: [jsxRuntime.jsx(TokenBalanceItem.TokenBalanceItem, { tokenBalance: tokenBalance, secondaryAction: getSecondaryAction === null || getSecondaryAction === void 0 ? void 0 : getSecondaryAction(tokenBalance) }), tokenBalances.length !== idx + 1 ? (jsxRuntime.jsx(Divider.Divider, { className: 'token-balance-list__divider' })) : null] }, idx)))) }));
122
122
  };
123
123
 
124
124
  exports.TokenBalanceList = TokenBalanceList;
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { TokenBalance } from '@dynamic-labs/sdk-api-core';
3
+ import type { TokenBalanceItemSecondaryAction } from '../TokenBalanceItem/TokenBalanceItem';
3
4
  type TokenBalanceListProps = {
4
5
  tokenBalances: TokenBalance[] | undefined;
6
+ getSecondaryAction?: (tokenBalance: TokenBalance) => TokenBalanceItemSecondaryAction | undefined;
5
7
  };
6
- export declare const TokenBalanceList: ({ tokenBalances }: TokenBalanceListProps) => JSX.Element;
8
+ export declare const TokenBalanceList: ({ tokenBalances, getSecondaryAction, }: TokenBalanceListProps) => JSX.Element;
7
9
  export {};
@@ -108,9 +108,9 @@ import '../../../../../components/Popper/Popper/Popper.js';
108
108
  import '../../../../../components/Popper/PopperContext/PopperContext.js';
109
109
  import { TokenBalanceItem } from '../TokenBalanceItem/TokenBalanceItem.js';
110
110
 
111
- const TokenBalanceList = ({ tokenBalances }) => {
111
+ const TokenBalanceList = ({ tokenBalances, getSecondaryAction, }) => {
112
112
  const { t } = useTranslation();
113
- return (jsx("ul", { className: 'token-balance-list', children: (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.length) === 0 ? (jsx("div", { className: 'token-balance-list__empty', children: jsx(Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_wallet_information.multi_asset.empty_state', children: t('dyn_wallet_information.multi_asset.empty_state') }) })) : (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.map((tokenBalance, idx) => (jsxs(React__default.Fragment, { children: [jsx(TokenBalanceItem, { tokenBalance: tokenBalance }), tokenBalances.length !== idx + 1 ? (jsx(Divider, { className: 'token-balance-list__divider' })) : null] }, idx)))) }));
113
+ return (jsx("ul", { className: 'token-balance-list', children: (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.length) === 0 ? (jsx("div", { className: 'token-balance-list__empty', children: jsx(Typography, { variant: 'body_small', color: 'secondary', copykey: 'dyn_wallet_information.multi_asset.empty_state', children: t('dyn_wallet_information.multi_asset.empty_state') }) })) : (tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.map((tokenBalance, idx) => (jsxs(React__default.Fragment, { children: [jsx(TokenBalanceItem, { tokenBalance: tokenBalance, secondaryAction: getSecondaryAction === null || getSecondaryAction === void 0 ? void 0 : getSecondaryAction(tokenBalance) }), tokenBalances.length !== idx + 1 ? (jsx(Divider, { className: 'token-balance-list__divider' })) : null] }, idx)))) }));
114
114
  };
115
115
 
116
116
  export { TokenBalanceList };