@rango-dev/ui 0.1.10-next.81 → 0.1.10-next.83
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/dist/components/BlockchainSelector/BlockchainSelector.d.ts +1 -0
- package/dist/components/BlockchainSelector/BlockchainSelector.stories.d.ts +1 -0
- package/dist/components/BlockchainsList/BlockchainsList.d.ts +1 -0
- package/dist/components/BlockchainsList/BlockchainsList.stories.d.ts +1 -0
- package/dist/components/Chip/Chip.stories.d.ts +1 -0
- package/dist/components/ColorPicker/ColorPicker.stories.d.ts +1 -0
- package/dist/components/ConnectWalletsModal/ConnectWallets.stories.d.ts +1 -0
- package/dist/components/ConnectWalletsModal/ConnectWalletsModal.d.ts +1 -0
- package/dist/components/Drawer/Drawer.stories.d.ts +1 -0
- package/dist/components/Icon/Icons.stories.d.ts +1 -0
- package/dist/components/LiquiditySourceList/LiquiditySource.stories.d.ts +1 -0
- package/dist/components/LiquiditySourceList/LiquiditySourceList.d.ts +1 -0
- package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts +1 -0
- package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.d.ts +1 -0
- package/dist/components/Modal/Modal.stories.d.ts +1 -0
- package/dist/components/Radio/Radio.d.ts +1 -0
- package/dist/components/Radio/Radio.stories.d.ts +1 -0
- package/dist/components/Settings/Settings.d.ts +1 -0
- package/dist/components/Settings/Settings.stories.d.ts +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +1 -0
- package/dist/components/Skeleton/Skeleton.stories.d.ts +1 -0
- package/dist/components/Spacer/Spacer.d.ts +1 -0
- package/dist/components/Spacer/Spacer.stories.d.ts +1 -0
- package/dist/components/Spinner/Spinner.d.ts +1 -0
- package/dist/components/Spinner/Spinner.stories.d.ts +1 -0
- package/dist/components/StatusDrawer/StatusDrawer.stories.d.ts +1 -0
- package/dist/components/Switch/Switch.d.ts +1 -0
- package/dist/components/Switch/Switch.stories.d.ts +1 -0
- package/dist/components/TextField/TextField.stories.d.ts +1 -1
- package/dist/components/TokenList/TokenItem.d.ts +11 -0
- package/dist/components/TokenList/TokenList.d.ts +1 -0
- package/dist/components/TokenList/TokenList.stories.d.ts +1 -0
- package/dist/components/TokenSelector/TokenSelector.d.ts +1 -0
- package/dist/components/TokenSelector/TokenSelector.stories.d.ts +1 -0
- package/dist/components/VirtualizedList/VirtualizedList.d.ts +0 -1
- package/dist/components/Wallet/State.d.ts +1 -0
- package/dist/components/Wallet/Wallet.d.ts +1 -0
- package/dist/components/Wallet/Wallet.stories.d.ts +1 -0
- package/dist/containers/SwapHistory/SwapHistory.d.ts +1 -0
- package/dist/containers/SwapHistory/SwapHistory.stories.d.ts +1 -0
- package/dist/ui.cjs.development.js +75 -85
- package/dist/ui.cjs.development.js.map +1 -1
- package/dist/ui.cjs.production.min.js +1 -1
- package/dist/ui.cjs.production.min.js.map +1 -1
- package/dist/ui.esm.js +76 -86
- package/dist/ui.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/components/TokenList/TokenItem.tsx +70 -0
- package/src/components/TokenList/TokenList.tsx +14 -108
- package/src/components/TokenSelector/TokenSelector.tsx +10 -1
- package/src/components/VirtualizedList/VirtualizedList.tsx +19 -35
package/dist/ui.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default, { createElement, forwardRef, Fragment, useState, useEffect
|
|
1
|
+
import React__default, { createElement, forwardRef, Fragment, useState, useEffect } from 'react';
|
|
2
2
|
import { Indicator, Root } from '@radix-ui/react-checkbox';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
import { detectInstallLink } from '@rango-dev/wallets-shared';
|
|
@@ -3477,30 +3477,27 @@ function SwapDetail(_ref) {
|
|
|
3477
3477
|
function VirtualizedList(props) {
|
|
3478
3478
|
var itemCount = props.itemCount,
|
|
3479
3479
|
hasNextPage = props.hasNextPage,
|
|
3480
|
-
isNextPageLoading = props.isNextPageLoading,
|
|
3481
3480
|
loadNextPage = props.loadNextPage,
|
|
3482
3481
|
Item = props.Item,
|
|
3483
3482
|
innerElementType = props.innerElementType,
|
|
3484
3483
|
size = props.size;
|
|
3485
|
-
var listRef = useRef(null);
|
|
3486
3484
|
var isItemLoaded = function isItemLoaded(index) {
|
|
3487
3485
|
return !hasNextPage || index < itemCount;
|
|
3488
3486
|
};
|
|
3489
|
-
return React__default.createElement(
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
height = _ref2.height;
|
|
3487
|
+
return React__default.createElement(AutoSizer, null, function (_ref) {
|
|
3488
|
+
var width = _ref.width,
|
|
3489
|
+
height = _ref.height;
|
|
3490
|
+
return React__default.createElement(InfiniteLoader, {
|
|
3491
|
+
isItemLoaded: isItemLoaded,
|
|
3492
|
+
itemCount: hasNextPage ? itemCount + 1 : itemCount,
|
|
3493
|
+
loadMoreItems: loadNextPage,
|
|
3494
|
+
threshold: 1
|
|
3495
|
+
}, function (_ref2) {
|
|
3496
|
+
var onItemsRendered = _ref2.onItemsRendered,
|
|
3497
|
+
ref = _ref2.ref;
|
|
3501
3498
|
return React__default.createElement(VariableSizeList, {
|
|
3502
3499
|
innerElementType: innerElementType,
|
|
3503
|
-
ref:
|
|
3500
|
+
ref: ref,
|
|
3504
3501
|
itemSize: function itemSize() {
|
|
3505
3502
|
return size;
|
|
3506
3503
|
},
|
|
@@ -3520,8 +3517,6 @@ function VirtualizedList(props) {
|
|
|
3520
3517
|
});
|
|
3521
3518
|
}
|
|
3522
3519
|
|
|
3523
|
-
var _excluded$D = ["style"];
|
|
3524
|
-
var PAGE_SIZE = 20;
|
|
3525
3520
|
var TokenImage = /*#__PURE__*/styled('img', {
|
|
3526
3521
|
width: '$32',
|
|
3527
3522
|
maxHeight: '$32',
|
|
@@ -3536,11 +3531,44 @@ var TokenAmountContainer = /*#__PURE__*/styled('div', {
|
|
|
3536
3531
|
flexDirection: 'column',
|
|
3537
3532
|
alignItems: 'flex-end'
|
|
3538
3533
|
});
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3534
|
+
function TokenItem(props) {
|
|
3535
|
+
var _token$balance;
|
|
3536
|
+
var token = props.token,
|
|
3537
|
+
style = props.style,
|
|
3538
|
+
onClick = props.onClick,
|
|
3539
|
+
selected = props.selected;
|
|
3540
|
+
return React__default.createElement("div", {
|
|
3541
|
+
style: _extends({
|
|
3542
|
+
display: 'flex',
|
|
3543
|
+
alignItems: 'center',
|
|
3544
|
+
width: '100%'
|
|
3545
|
+
}, style, {
|
|
3546
|
+
height: '48px',
|
|
3547
|
+
top: parseFloat(style == null ? void 0 : style.top) + 0 + "px"
|
|
3548
|
+
})
|
|
3549
|
+
}, React__default.createElement(Button, {
|
|
3550
|
+
variant: "outlined",
|
|
3551
|
+
size: "large",
|
|
3552
|
+
align: "start",
|
|
3553
|
+
onClick: onClick.bind(null, token),
|
|
3554
|
+
type: selected ? 'primary' : undefined,
|
|
3555
|
+
prefix: React__default.createElement(TokenImage, {
|
|
3556
|
+
src: token.image
|
|
3557
|
+
}),
|
|
3558
|
+
suffix: ((_token$balance = token.balance) == null ? void 0 : _token$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
|
|
3559
|
+
variant: "body2"
|
|
3560
|
+
}, token.balance.amount), React__default.createElement(Typography, {
|
|
3561
|
+
variant: "caption"
|
|
3562
|
+
}, token.balance.usdValue + "$"))
|
|
3563
|
+
}, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
|
|
3564
|
+
variant: "body1"
|
|
3565
|
+
}, token.symbol), React__default.createElement(Typography, {
|
|
3566
|
+
variant: "body2"
|
|
3567
|
+
}, token.name))));
|
|
3568
|
+
}
|
|
3569
|
+
|
|
3570
|
+
var _excluded$D = ["style"];
|
|
3571
|
+
var PAGE_SIZE = 20;
|
|
3544
3572
|
function TokenList(props) {
|
|
3545
3573
|
var list = props.list,
|
|
3546
3574
|
searchedText = props.searchedText,
|
|
@@ -3554,7 +3582,7 @@ function TokenList(props) {
|
|
|
3554
3582
|
setSelected(token);
|
|
3555
3583
|
onChange(token);
|
|
3556
3584
|
};
|
|
3557
|
-
var
|
|
3585
|
+
var isSelected = function isSelected(token) {
|
|
3558
3586
|
if (multiSelect && selectedList) {
|
|
3559
3587
|
return selectedList === 'all' || selectedList.map(function (item) {
|
|
3560
3588
|
return item.symbol + item.address;
|
|
@@ -3562,71 +3590,28 @@ function TokenList(props) {
|
|
|
3562
3590
|
}
|
|
3563
3591
|
return (selected == null ? void 0 : selected.symbol) === token.symbol && (selected == null ? void 0 : selected.address) === token.address;
|
|
3564
3592
|
};
|
|
3565
|
-
var Token = function Token(_ref) {
|
|
3566
|
-
var _currentToken$balance;
|
|
3567
|
-
var filteredTokens = _ref.filteredTokens,
|
|
3568
|
-
index = _ref.index,
|
|
3569
|
-
style = _ref.style;
|
|
3570
|
-
var currentToken = filteredTokens[index];
|
|
3571
|
-
return React__default.createElement("div", {
|
|
3572
|
-
style: _extends({
|
|
3573
|
-
display: 'flex',
|
|
3574
|
-
alignItems: 'center',
|
|
3575
|
-
width: '100%'
|
|
3576
|
-
}, style, {
|
|
3577
|
-
height: '48px',
|
|
3578
|
-
top: parseFloat(style == null ? void 0 : style.top) + 0 + "px"
|
|
3579
|
-
})
|
|
3580
|
-
}, React__default.createElement(Button, {
|
|
3581
|
-
variant: "outlined",
|
|
3582
|
-
size: "large",
|
|
3583
|
-
align: "start",
|
|
3584
|
-
onClick: changeSelected.bind(null, currentToken),
|
|
3585
|
-
type: isSelect(currentToken) ? 'primary' : undefined,
|
|
3586
|
-
prefix: React__default.createElement(TokenImage, {
|
|
3587
|
-
src: currentToken.image
|
|
3588
|
-
}),
|
|
3589
|
-
suffix: ((_currentToken$balance = currentToken.balance) == null ? void 0 : _currentToken$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
|
|
3590
|
-
variant: "body2"
|
|
3591
|
-
}, currentToken.balance.amount), React__default.createElement(Typography, {
|
|
3592
|
-
variant: "caption"
|
|
3593
|
-
}, currentToken.balance.usdValue + "$"))
|
|
3594
|
-
}, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
|
|
3595
|
-
variant: "body1"
|
|
3596
|
-
}, currentToken.symbol), React__default.createElement(Typography, {
|
|
3597
|
-
variant: "body2"
|
|
3598
|
-
}, currentToken.name))));
|
|
3599
|
-
};
|
|
3600
3593
|
var _useState2 = useState(true),
|
|
3601
3594
|
hasNextPage = _useState2[0],
|
|
3602
3595
|
setHasNextPage = _useState2[1];
|
|
3603
|
-
var _useState3 = useState(
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
var _useState4 = useState(list),
|
|
3607
|
-
filteredTokens = _useState4[0],
|
|
3608
|
-
setFilteredTokens = _useState4[1];
|
|
3596
|
+
var _useState3 = useState(list),
|
|
3597
|
+
tokens = _useState3[0],
|
|
3598
|
+
setTokens = _useState3[1];
|
|
3609
3599
|
var loadNextPage = function loadNextPage() {
|
|
3610
|
-
|
|
3611
|
-
setTimeout(function () {
|
|
3612
|
-
setIsNextPageLoading(false);
|
|
3613
|
-
setFilteredTokens(filterTokens(list, searchedText, filteredTokens.length + PAGE_SIZE));
|
|
3614
|
-
}, 0);
|
|
3600
|
+
setTokens(list.slice(0, tokens.length + PAGE_SIZE));
|
|
3615
3601
|
};
|
|
3616
3602
|
useEffect(function () {
|
|
3617
|
-
|
|
3603
|
+
setTokens(list.slice(0, PAGE_SIZE));
|
|
3618
3604
|
}, [searchedText]);
|
|
3619
3605
|
useEffect(function () {
|
|
3620
|
-
setHasNextPage(
|
|
3621
|
-
}, [
|
|
3622
|
-
var innerElementType = forwardRef(function (
|
|
3623
|
-
var style =
|
|
3624
|
-
rest = _objectWithoutPropertiesLoose(
|
|
3606
|
+
setHasNextPage(list.length > tokens.length);
|
|
3607
|
+
}, [tokens.length]);
|
|
3608
|
+
var innerElementType = forwardRef(function (_ref, ref) {
|
|
3609
|
+
var style = _ref.style,
|
|
3610
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$D);
|
|
3625
3611
|
return React__default.createElement("div", Object.assign({
|
|
3626
3612
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3627
3613
|
ref: ref,
|
|
3628
3614
|
style: _extends({}, style, {
|
|
3629
|
-
// eslint-disable-next-line react/prop-types
|
|
3630
3615
|
height: parseFloat(style == null ? void 0 : style.height) + 8 * 2 + "px"
|
|
3631
3616
|
})
|
|
3632
3617
|
}, rest));
|
|
@@ -3636,24 +3621,29 @@ function TokenList(props) {
|
|
|
3636
3621
|
height: '450px'
|
|
3637
3622
|
}
|
|
3638
3623
|
}, React__default.createElement(VirtualizedList, {
|
|
3639
|
-
Item: function Item(
|
|
3640
|
-
var index =
|
|
3641
|
-
style =
|
|
3642
|
-
return React__default.createElement(
|
|
3643
|
-
|
|
3624
|
+
Item: function Item(_ref2) {
|
|
3625
|
+
var index = _ref2.index,
|
|
3626
|
+
style = _ref2.style;
|
|
3627
|
+
return React__default.createElement(TokenItem, {
|
|
3628
|
+
token: tokens[index],
|
|
3644
3629
|
style: style,
|
|
3645
|
-
|
|
3630
|
+
onClick: changeSelected,
|
|
3631
|
+
selected: isSelected(tokens[index])
|
|
3646
3632
|
});
|
|
3647
3633
|
},
|
|
3648
3634
|
hasNextPage: hasNextPage,
|
|
3649
|
-
|
|
3650
|
-
itemCount: filteredTokens.length,
|
|
3635
|
+
itemCount: tokens.length,
|
|
3651
3636
|
loadNextPage: loadNextPage,
|
|
3652
3637
|
innerElementType: innerElementType,
|
|
3653
3638
|
size: 56
|
|
3654
3639
|
}));
|
|
3655
3640
|
}
|
|
3656
3641
|
|
|
3642
|
+
var filterTokens = function filterTokens(list, searchedFor) {
|
|
3643
|
+
return list.filter(function (token) {
|
|
3644
|
+
return containsText(token.symbol, searchedFor) || containsText(token.address || '', searchedFor) || containsText(token.name || '', searchedFor);
|
|
3645
|
+
});
|
|
3646
|
+
};
|
|
3657
3647
|
function TokenSelector(props) {
|
|
3658
3648
|
var list = props.list,
|
|
3659
3649
|
type = props.type,
|
|
@@ -3672,7 +3662,7 @@ function TokenSelector(props) {
|
|
|
3672
3662
|
}, function (searchedFor) {
|
|
3673
3663
|
return React__default.createElement(TokenList, {
|
|
3674
3664
|
searchedText: searchedFor,
|
|
3675
|
-
list: list,
|
|
3665
|
+
list: filterTokens(list, searchedFor),
|
|
3676
3666
|
selected: selected,
|
|
3677
3667
|
selectedList: selectedList,
|
|
3678
3668
|
multiSelect: multiSelect,
|