@rango-dev/ui 0.1.10-next.92 → 0.1.11-next.2

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 (96) hide show
  1. package/README.md +1 -181
  2. package/dist/components/Alert/LoadingFailedAlert.d.ts +2 -0
  3. package/dist/components/Alert/NotFoundAlert.d.ts +7 -0
  4. package/dist/components/Alert/index.d.ts +1 -0
  5. package/dist/components/BlockchainSelector/BlockchainSelector.d.ts +1 -1
  6. package/dist/components/Button/Button.d.ts +1 -1
  7. package/dist/components/Divider/Divider.d.ts +6 -0
  8. package/dist/components/Divider/index.d.ts +1 -0
  9. package/dist/components/Header/Header.d.ts +9 -0
  10. package/dist/components/Header/index.d.ts +1 -0
  11. package/dist/components/Icon/ArrowRightIcon.d.ts +3 -0
  12. package/dist/components/Icon/index.d.ts +1 -0
  13. package/dist/components/LiquiditySourceList/LiquiditySourceList.d.ts +3 -1
  14. package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts +2 -1
  15. package/dist/components/Modal/Modal.d.ts +0 -1
  16. package/dist/components/SelectableWalletList/mock.d.ts +1 -1
  17. package/dist/components/Settings/Settings.d.ts +2 -1
  18. package/dist/components/SwapContainer/SwapContainer.d.ts +1 -0
  19. package/dist/components/SwapDetail/Token.d.ts +16 -0
  20. package/dist/components/TokenList/TokenList.d.ts +2 -2
  21. package/dist/components/TokenSelector/TokenSelector.d.ts +4 -3
  22. package/dist/components/index.d.ts +2 -0
  23. package/dist/containers/ConfirmSwap/ConfirmSwap.d.ts +10 -17
  24. package/dist/containers/ConfirmSwap/ConfirmSwap.stories.d.ts +1 -0
  25. package/dist/containers/ConfirmSwap/mock.d.ts +3 -0
  26. package/dist/containers/History/History.d.ts +6 -1
  27. package/dist/containers/History/index.d.ts +1 -1
  28. package/dist/containers/History/types.d.ts +3 -24
  29. package/dist/containers/SwapHistory/SwapHistory.d.ts +16 -3
  30. package/dist/containers/SwapHistory/SwapMessages.d.ts +17 -0
  31. package/dist/containers/index.d.ts +0 -1
  32. package/dist/helper/index.d.ts +1 -0
  33. package/dist/types/meta.d.ts +1 -0
  34. package/dist/ui.cjs.development.js +1069 -857
  35. package/dist/ui.cjs.development.js.map +1 -1
  36. package/dist/ui.cjs.production.min.js +1 -1
  37. package/dist/ui.cjs.production.min.js.map +1 -1
  38. package/dist/ui.esm.js +1068 -859
  39. package/dist/ui.esm.js.map +1 -1
  40. package/package.json +3 -2
  41. package/src/components/Alert/Alert.tsx +33 -12
  42. package/src/components/Alert/LoadingFailedAlert.tsx +11 -0
  43. package/src/components/Alert/NotFoundAlert.tsx +19 -0
  44. package/src/components/Alert/index.ts +1 -0
  45. package/src/components/BestRoute/mock.ts +10 -0
  46. package/src/components/BlockchainSelector/BlockchainSelector.tsx +13 -19
  47. package/src/components/Button/Button.tsx +2 -1
  48. package/src/components/ConnectWalletsModal/mockData.ts +16 -0
  49. package/src/components/Divider/Divider.tsx +41 -0
  50. package/src/components/Divider/index.ts +1 -0
  51. package/src/components/Header/Header.tsx +39 -0
  52. package/src/components/Header/index.ts +1 -0
  53. package/src/components/Icon/ArrowRightIcon.tsx +31 -0
  54. package/src/components/Icon/index.ts +1 -0
  55. package/src/components/LiquiditySourceList/LiquiditySourceList.tsx +72 -22
  56. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx +15 -10
  57. package/src/components/Modal/Modal.tsx +1 -6
  58. package/src/components/SecondaryPage/SecondaryPage.tsx +26 -52
  59. package/src/components/SelectableWalletList/SelectableWalletList.tsx +5 -0
  60. package/src/components/SelectableWalletList/mock.ts +4 -3
  61. package/src/components/Settings/Settings.tsx +30 -11
  62. package/src/components/StatusDrawer/StatusDrawer.tsx +1 -0
  63. package/src/components/StepDetail/StepDetail.tsx +1 -0
  64. package/src/components/SwapContainer/SwapContainer.tsx +21 -16
  65. package/src/components/SwapDetail/SwapDetail.tsx +77 -115
  66. package/src/components/SwapDetail/Token.tsx +68 -0
  67. package/src/components/SwapDetail/mock.ts +1 -0
  68. package/src/components/TextField/TextField.tsx +1 -0
  69. package/src/components/TokenList/TokenItem.tsx +4 -1
  70. package/src/components/TokenList/TokenList.tsx +18 -21
  71. package/src/components/TokenSelector/TokenSelector.tsx +38 -25
  72. package/src/components/Wallet/Wallet.tsx +1 -1
  73. package/src/components/index.ts +2 -0
  74. package/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx +11 -2
  75. package/src/containers/ConfirmSwap/ConfirmSwap.tsx +103 -117
  76. package/src/containers/ConfirmSwap/mock.ts +79 -2
  77. package/src/containers/History/History.tsx +57 -38
  78. package/src/containers/History/index.ts +1 -1
  79. package/src/containers/History/mock.ts +1 -0
  80. package/src/containers/History/types.tsx +2 -30
  81. package/src/containers/SwapHistory/SwapHistory.tsx +313 -165
  82. package/src/containers/SwapHistory/SwapMessages.tsx +116 -0
  83. package/src/containers/SwapHistory/mock.ts +1 -0
  84. package/src/containers/index.ts +0 -1
  85. package/src/helper/index.ts +14 -0
  86. package/src/types/meta.ts +2 -0
  87. package/dist/containers/ConfirmWallets/ConfirmWallets.d.ts +0 -16
  88. package/dist/containers/ConfirmWallets/ConfirmWallets.stories.d.ts +0 -6
  89. package/dist/containers/ConfirmWallets/index.d.ts +0 -1
  90. package/dist/containers/ConfirmWallets/mock.d.ts +0 -5
  91. package/dist/helper/swaps.d.ts +0 -5
  92. package/src/containers/ConfirmWallets/ConfirmWallets.stories.tsx +0 -26
  93. package/src/containers/ConfirmWallets/ConfirmWallets.tsx +0 -143
  94. package/src/containers/ConfirmWallets/index.ts +0 -1
  95. package/src/containers/ConfirmWallets/mock.ts +0 -222
  96. package/src/helper/swaps.ts +0 -23
package/dist/ui.esm.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import React__default, { createElement, forwardRef, Fragment, useState, useEffect } from 'react';
2
- import { Provider, Root, Portal, Trigger, Content as Content$1, Arrow as Arrow$1 } from '@radix-ui/react-tooltip';
2
+ import { Provider, Root, Portal, Trigger, Content as Content$1, Arrow } from '@radix-ui/react-tooltip';
3
+ import { VariableSizeList } from 'react-window';
4
+ import InfiniteLoader from 'react-window-infinite-loader';
5
+ import AutoSizer from 'react-virtualized-auto-sizer';
3
6
  import { Indicator, Root as Root$1 } from '@radix-ui/react-checkbox';
4
7
  import { createPortal } from 'react-dom';
5
8
  import { detectInstallLink } from '@rango-dev/wallets-shared';
6
9
  import { Root as Root$2, Thumb } from '@radix-ui/react-switch';
7
10
  import { Root as Root$3, Item, Indicator as Indicator$1 } from '@radix-ui/react-radio-group';
8
- import { VariableSizeList } from 'react-window';
9
- import InfiniteLoader from 'react-window-infinite-loader';
10
- import AutoSizer from 'react-virtualized-auto-sizer';
11
11
  import { ChromePicker } from 'react-color';
12
12
 
13
13
  function _extends() {
@@ -864,11 +864,42 @@ ChevronRightIcon.toString = function () {
864
864
  };
865
865
 
866
866
  var _excluded$m = ["size", "color"];
867
- var RetryRightIcon = function RetryRightIcon(_ref) {
867
+ var ArrowRightIcon = function ArrowRightIcon(_ref) {
868
868
  var _ref$size = _ref.size,
869
869
  size = _ref$size === void 0 ? 16 : _ref$size,
870
870
  color = _ref.color,
871
871
  props = _objectWithoutPropertiesLoose(_ref, _excluded$m);
872
+ return createElement(SvgWithStrokeColor, Object.assign({
873
+ width: size,
874
+ height: size,
875
+ viewBox: "0 0 24 24",
876
+ color: color,
877
+ fill: "none",
878
+ stroke: "currentColor",
879
+ "stroke-width": "2",
880
+ "stroke-linecap": "round",
881
+ "stroke-linejoin": "round",
882
+ xmlns: "http://www.w3.org/2000/svg",
883
+ className: "_icon"
884
+ }, props), createElement("line", {
885
+ x1: "5",
886
+ y1: "12",
887
+ x2: "19",
888
+ y2: "12"
889
+ }), createElement("polyline", {
890
+ points: "12 5 19 12 12 19"
891
+ }));
892
+ };
893
+ ArrowRightIcon.toString = function () {
894
+ return '._icon';
895
+ };
896
+
897
+ var _excluded$n = ["size", "color"];
898
+ var RetryRightIcon = function RetryRightIcon(_ref) {
899
+ var _ref$size = _ref.size,
900
+ size = _ref$size === void 0 ? 16 : _ref$size,
901
+ color = _ref.color,
902
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
872
903
  return createElement(SvgWithStrokeColor, Object.assign({
873
904
  width: size,
874
905
  height: size,
@@ -888,12 +919,12 @@ RetryRightIcon.toString = function () {
888
919
  return '._icon';
889
920
  };
890
921
 
891
- var _excluded$n = ["size", "color"];
922
+ var _excluded$o = ["size", "color"];
892
923
  var RetryLeftIcon = function RetryLeftIcon(_ref) {
893
924
  var _ref$size = _ref.size,
894
925
  size = _ref$size === void 0 ? 16 : _ref$size,
895
926
  color = _ref.color,
896
- props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
927
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$o);
897
928
  return createElement(SvgWithStrokeColor, Object.assign({
898
929
  width: size,
899
930
  height: size,
@@ -913,12 +944,12 @@ RetryLeftIcon.toString = function () {
913
944
  return '._icon';
914
945
  };
915
946
 
916
- var _excluded$o = ["size", "color"];
947
+ var _excluded$p = ["size", "color"];
917
948
  var TryAgainIcon = function TryAgainIcon(_ref) {
918
949
  var _ref$size = _ref.size,
919
950
  size = _ref$size === void 0 ? 16 : _ref$size,
920
951
  color = _ref.color,
921
- props = _objectWithoutPropertiesLoose(_ref, _excluded$o);
952
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$p);
922
953
  return createElement(SvgWithStrokeColor, Object.assign({
923
954
  width: size,
924
955
  height: size,
@@ -938,12 +969,12 @@ TryAgainIcon.toString = function () {
938
969
  return '._icon';
939
970
  };
940
971
 
941
- var _excluded$p = ["size", "color"];
972
+ var _excluded$q = ["size", "color"];
942
973
  var VerticalSwapIcon = function VerticalSwapIcon(_ref) {
943
974
  var _ref$size = _ref.size,
944
975
  size = _ref$size === void 0 ? 16 : _ref$size,
945
976
  color = _ref.color,
946
- props = _objectWithoutPropertiesLoose(_ref, _excluded$p);
977
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
947
978
  return createElement(SvgWithStrokeColor, Object.assign({
948
979
  width: size,
949
980
  height: size,
@@ -969,12 +1000,12 @@ VerticalSwapIcon.toString = function () {
969
1000
  return '._icon';
970
1001
  };
971
1002
 
972
- var _excluded$q = ["size", "color"];
1003
+ var _excluded$r = ["size", "color"];
973
1004
  var HorizontalSwapIcon = function HorizontalSwapIcon(_ref) {
974
1005
  var _ref$size = _ref.size,
975
1006
  size = _ref$size === void 0 ? 16 : _ref$size,
976
1007
  color = _ref.color,
977
- props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
1008
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$r);
978
1009
  return createElement(SvgWithStrokeColor, Object.assign({
979
1010
  width: size,
980
1011
  height: size,
@@ -1000,13 +1031,13 @@ HorizontalSwapIcon.toString = function () {
1000
1031
  return '._icon';
1001
1032
  };
1002
1033
 
1003
- var _excluded$r = ["color", "size"];
1034
+ var _excluded$s = ["color", "size"];
1004
1035
  var RetryIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
1005
1036
  var _ref$color = _ref.color,
1006
1037
  color = _ref$color === void 0 ? 'black' : _ref$color,
1007
1038
  _ref$size = _ref.size,
1008
1039
  size = _ref$size === void 0 ? 16 : _ref$size,
1009
- props = _objectWithoutPropertiesLoose(_ref, _excluded$r);
1040
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$s);
1010
1041
  return createElement(SvgWithStrokeColor, Object.assign({
1011
1042
  xmlns: "http://www.w3.org/2000/svg",
1012
1043
  width: size,
@@ -1031,12 +1062,12 @@ RetryIcon.toString = function () {
1031
1062
  return '._icon';
1032
1063
  };
1033
1064
 
1034
- var _excluded$s = ["size", "color"];
1065
+ var _excluded$t = ["size", "color"];
1035
1066
  var WalletIcon = function WalletIcon(_ref) {
1036
1067
  var _ref$size = _ref.size,
1037
1068
  size = _ref$size === void 0 ? 16 : _ref$size,
1038
1069
  color = _ref.color,
1039
- props = _objectWithoutPropertiesLoose(_ref, _excluded$s);
1070
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$t);
1040
1071
  return createElement(SvgWithFillColor, Object.assign({
1041
1072
  width: size,
1042
1073
  height: size,
@@ -1063,12 +1094,12 @@ WalletIcon.toString = function () {
1063
1094
  return '._icon';
1064
1095
  };
1065
1096
 
1066
- var _excluded$t = ["size", "color"];
1097
+ var _excluded$u = ["size", "color"];
1067
1098
  var AddWalletIcon = function AddWalletIcon(_ref) {
1068
1099
  var _ref$size = _ref.size,
1069
1100
  size = _ref$size === void 0 ? 16 : _ref$size,
1070
1101
  color = _ref.color,
1071
- props = _objectWithoutPropertiesLoose(_ref, _excluded$t);
1102
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$u);
1072
1103
  return createElement(SvgWithFillColor, Object.assign({
1073
1104
  width: size,
1074
1105
  height: size,
@@ -1103,12 +1134,12 @@ AddWalletIcon.toString = function () {
1103
1134
  return '._icon';
1104
1135
  };
1105
1136
 
1106
- var _excluded$u = ["size", "color"];
1137
+ var _excluded$v = ["size", "color"];
1107
1138
  var DeleteWalletIcon = function DeleteWalletIcon(_ref) {
1108
1139
  var _ref$size = _ref.size,
1109
1140
  size = _ref$size === void 0 ? 16 : _ref$size,
1110
1141
  color = _ref.color,
1111
- props = _objectWithoutPropertiesLoose(_ref, _excluded$u);
1142
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$v);
1112
1143
  return createElement(SvgWithFillColor, Object.assign({
1113
1144
  width: size,
1114
1145
  height: size,
@@ -1143,12 +1174,12 @@ DeleteWalletIcon.toString = function () {
1143
1174
  return '._icon';
1144
1175
  };
1145
1176
 
1146
- var _excluded$v = ["size", "color"];
1177
+ var _excluded$w = ["size", "color"];
1147
1178
  var CheckWalletIcon = function CheckWalletIcon(_ref) {
1148
1179
  var _ref$size = _ref.size,
1149
1180
  size = _ref$size === void 0 ? 16 : _ref$size,
1150
1181
  color = _ref.color,
1151
- props = _objectWithoutPropertiesLoose(_ref, _excluded$v);
1182
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$w);
1152
1183
  return createElement(SvgWithFillColor, Object.assign({
1153
1184
  width: size,
1154
1185
  height: size,
@@ -1179,12 +1210,12 @@ CheckWalletIcon.toString = function () {
1179
1210
  return '._icon';
1180
1211
  };
1181
1212
 
1182
- var _excluded$w = ["size", "color"];
1213
+ var _excluded$x = ["size", "color"];
1183
1214
  var SwapWalletIcon = function SwapWalletIcon(_ref) {
1184
1215
  var _ref$size = _ref.size,
1185
1216
  size = _ref$size === void 0 ? 16 : _ref$size,
1186
1217
  color = _ref.color,
1187
- props = _objectWithoutPropertiesLoose(_ref, _excluded$w);
1218
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
1188
1219
  return createElement(SvgWithFillColor, Object.assign({
1189
1220
  width: size,
1190
1221
  height: size,
@@ -1219,13 +1250,13 @@ SwapWalletIcon.toString = function () {
1219
1250
  return '._icon';
1220
1251
  };
1221
1252
 
1222
- var _excluded$x = ["color", "size"];
1253
+ var _excluded$y = ["color", "size"];
1223
1254
  var DisconnectIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
1224
1255
  var _ref$color = _ref.color,
1225
1256
  color = _ref$color === void 0 ? 'black' : _ref$color,
1226
1257
  _ref$size = _ref.size,
1227
1258
  size = _ref$size === void 0 ? 16 : _ref$size,
1228
- props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
1259
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
1229
1260
  return createElement(SvgWithStrokeColor, Object.assign({
1230
1261
  xmlns: "http://www.w3.org/2000/svg",
1231
1262
  width: size,
@@ -1255,12 +1286,12 @@ DisconnectIcon.toString = function () {
1255
1286
  return '._icon';
1256
1287
  };
1257
1288
 
1258
- var _excluded$y = ["size", "color"];
1289
+ var _excluded$z = ["size", "color"];
1259
1290
  var BagIcon = function BagIcon(_ref) {
1260
1291
  var _ref$size = _ref.size,
1261
1292
  size = _ref$size === void 0 ? 16 : _ref$size,
1262
1293
  color = _ref.color,
1263
- props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
1294
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
1264
1295
  return createElement(SvgWithStrokeColor, Object.assign({
1265
1296
  width: size,
1266
1297
  height: size,
@@ -1290,11 +1321,11 @@ BagIcon.toString = function () {
1290
1321
  return '._icon';
1291
1322
  };
1292
1323
 
1293
- var _excluded$z = ["size"];
1324
+ var _excluded$A = ["size"];
1294
1325
  var TimeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
1295
1326
  var _ref$size = _ref.size,
1296
1327
  size = _ref$size === void 0 ? 16 : _ref$size,
1297
- props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
1328
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$A);
1298
1329
  return createElement(SvgWithStrokeColor, Object.assign({
1299
1330
  width: size,
1300
1331
  height: size,
@@ -1327,12 +1358,12 @@ CloseIcon.toString = function () {
1327
1358
  return '._icon';
1328
1359
  };
1329
1360
 
1330
- var _excluded$A = ["size", "color"];
1361
+ var _excluded$B = ["size", "color"];
1331
1362
  var SignatureIcon = function SignatureIcon(_ref) {
1332
1363
  var _ref$size = _ref.size,
1333
1364
  size = _ref$size === void 0 ? 16 : _ref$size,
1334
1365
  color = _ref.color,
1335
- props = _objectWithoutPropertiesLoose(_ref, _excluded$A);
1366
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$B);
1336
1367
  return createElement(SvgWithFillColor, Object.assign({
1337
1368
  width: size,
1338
1369
  height: size,
@@ -1353,12 +1384,12 @@ SignatureIcon.toString = function () {
1353
1384
  return '._icon';
1354
1385
  };
1355
1386
 
1356
- var _excluded$B = ["size", "color"];
1387
+ var _excluded$C = ["size", "color"];
1357
1388
  var CopyIcon = function CopyIcon(_ref) {
1358
1389
  var _ref$size = _ref.size,
1359
1390
  size = _ref$size === void 0 ? 16 : _ref$size,
1360
1391
  color = _ref.color,
1361
- props = _objectWithoutPropertiesLoose(_ref, _excluded$B);
1392
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$C);
1362
1393
  return createElement(SvgWithFillColor, Object.assign({
1363
1394
  width: size,
1364
1395
  height: size,
@@ -1384,7 +1415,7 @@ CopyIcon.toString = function () {
1384
1415
  return '._icon';
1385
1416
  };
1386
1417
 
1387
- var _excluded$C = ["children", "className", "color"];
1418
+ var _excluded$D = ["children", "className", "color"];
1388
1419
  var TypographyContainer = /*#__PURE__*/styled('span', {
1389
1420
  margin: 0,
1390
1421
  display: 'inline-block',
@@ -1551,7 +1582,7 @@ function Typography(_ref) {
1551
1582
  var children = _ref.children,
1552
1583
  className = _ref.className,
1553
1584
  color = _ref.color,
1554
- props = _objectWithoutPropertiesLoose(_ref, _excluded$C);
1585
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$D);
1555
1586
  var customCss = color ? {
1556
1587
  color: color.startsWith('$') ? color : "$" + color
1557
1588
  } : {
@@ -1630,7 +1661,8 @@ var Detail = /*#__PURE__*/styled('div', {
1630
1661
  }
1631
1662
  });
1632
1663
  var SubTitle = /*#__PURE__*/styled(Typography, {
1633
- color: '$neutrals600'
1664
+ color: '$neutrals600',
1665
+ display: 'block'
1634
1666
  });
1635
1667
  function StepDetail(_ref) {
1636
1668
  var logo = _ref.logo,
@@ -1832,7 +1864,7 @@ var TooltipContent = /*#__PURE__*/styled(Content$1, {
1832
1864
  }
1833
1865
  }
1834
1866
  });
1835
- var TooltipArrow = /*#__PURE__*/styled(Arrow$1, {
1867
+ var TooltipArrow = /*#__PURE__*/styled(Arrow, {
1836
1868
  variants: {
1837
1869
  color: {
1838
1870
  primary: {
@@ -2068,7 +2100,7 @@ function BestRoute(props) {
2068
2100
  }, "No routes found")));
2069
2101
  }
2070
2102
 
2071
- var _excluded$D = ["children", "loading", "disabled", "prefix", "suffix", "align", "flexContent"];
2103
+ var _excluded$E = ["children", "loading", "disabled", "prefix", "suffix", "align", "flexContent"];
2072
2104
  var _ghost, _css, _css2, _css3;
2073
2105
  var ButtonContainer = /*#__PURE__*/styled('button', {
2074
2106
  borderRadius: '$5',
@@ -2097,6 +2129,7 @@ var ButtonContainer = /*#__PURE__*/styled('button', {
2097
2129
  },
2098
2130
  size: {
2099
2131
  compact: {},
2132
+ free: {},
2100
2133
  small: {
2101
2134
  height: '$32'
2102
2135
  },
@@ -2412,7 +2445,7 @@ function Button(_ref) {
2412
2445
  suffix = _ref.suffix,
2413
2446
  align = _ref.align,
2414
2447
  flexContent = _ref.flexContent,
2415
- props = _objectWithoutPropertiesLoose(_ref, _excluded$D);
2448
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$E);
2416
2449
  var isDisabled = loading || disabled;
2417
2450
  return React__default.createElement(ButtonContainer, Object.assign({
2418
2451
  disabled: isDisabled
@@ -2488,9 +2521,70 @@ function BlockchainsList(props) {
2488
2521
  }));
2489
2522
  }
2490
2523
 
2491
- var _excluded$E = ["label", "prefix", "suffix", "children", "size", "style"];
2524
+ var DividerContainer = /*#__PURE__*/styled('div', {
2525
+ variants: {
2526
+ size: {
2527
+ 4: {
2528
+ height: '$4'
2529
+ },
2530
+ 8: {
2531
+ height: '$8'
2532
+ },
2533
+ 12: {
2534
+ height: '$12'
2535
+ },
2536
+ 16: {
2537
+ height: '$16'
2538
+ },
2539
+ 18: {
2540
+ height: '$18'
2541
+ },
2542
+ 20: {
2543
+ height: '$20'
2544
+ },
2545
+ 24: {
2546
+ height: '$24'
2547
+ },
2548
+ 32: {
2549
+ height: '$32'
2550
+ }
2551
+ }
2552
+ }
2553
+ });
2554
+ function Divider(_ref) {
2555
+ var _ref$size = _ref.size,
2556
+ size = _ref$size === void 0 ? 12 : _ref$size;
2557
+ return React__default.createElement(DividerContainer, {
2558
+ size: size
2559
+ });
2560
+ }
2561
+
2562
+ var HeaderContainer = /*#__PURE__*/styled('div', {
2563
+ display: 'flex',
2564
+ justifyContent: 'space-between',
2565
+ alignItems: 'center',
2566
+ padding: '$8 0',
2567
+ position: 'relative'
2568
+ });
2569
+ var BackButton = /*#__PURE__*/styled(Button, {
2570
+ padding: '$8'
2571
+ });
2572
+ function Header(props) {
2573
+ return React__default.createElement(HeaderContainer, null, props.onBack ? React__default.createElement(BackButton, {
2574
+ variant: "ghost",
2575
+ size: "small",
2576
+ onClick: props.onBack
2577
+ }, React__default.createElement(AngleLeftIcon, {
2578
+ size: 24
2579
+ })) : null, props.prefix, React__default.createElement(Typography, {
2580
+ variant: "h4"
2581
+ }, props.title), props.suffix || React__default.createElement("div", null));
2582
+ }
2583
+
2584
+ var _excluded$F = ["label", "prefix", "suffix", "children", "size", "style"];
2492
2585
  var InputContainer = /*#__PURE__*/styled('div', {
2493
2586
  backgroundColor: '$background',
2587
+ padding: '1px',
2494
2588
  boxSizing: 'border-box',
2495
2589
  border: '1px solid $neutrals400',
2496
2590
  borderRadius: '$5',
@@ -2574,7 +2668,7 @@ var TextField = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
2574
2668
  suffix = props.suffix,
2575
2669
  size = props.size,
2576
2670
  style = props.style,
2577
- inputAttributes = _objectWithoutPropertiesLoose(props, _excluded$E);
2671
+ inputAttributes = _objectWithoutPropertiesLoose(props, _excluded$F);
2578
2672
  return React__default.createElement(React__default.Fragment, null, label && React__default.createElement(Label, Object.assign({
2579
2673
  className: "_text"
2580
2674
  }, inputAttributes.id && {
@@ -2594,36 +2688,15 @@ var TextField = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
2594
2688
  })), suffix || null));
2595
2689
  });
2596
2690
 
2597
- var Container$1 = /*#__PURE__*/styled('div', {
2691
+ var ContentContainer = /*#__PURE__*/styled('div', {
2692
+ overflow: 'hidden',
2598
2693
  display: 'flex',
2599
2694
  flexDirection: 'column',
2600
- height: '100%',
2601
- width: '100%',
2602
- padding: '$12 0',
2603
- position: 'relative',
2604
- '@lg': {
2605
- padding: '$16 0'
2606
- }
2607
- });
2608
- var HeaderContainer = /*#__PURE__*/styled('div', {
2609
- display: 'flex',
2610
- justifyContent: 'center',
2611
- alignItems: 'center',
2612
- marginBottom: '$16',
2613
- position: 'relative'
2614
- });
2615
- var BackIcon = /*#__PURE__*/styled(AngleLeftIcon, {
2616
- position: 'absolute',
2617
- left: '0'
2618
- });
2619
- var StyledBackIcon = /*#__PURE__*/styled(BackIcon, {
2620
- cursor: 'pointer'
2621
- });
2622
- var ContentContainer = /*#__PURE__*/styled('div', {
2623
2695
  flex: '1',
2624
- overflowY: 'auto',
2625
- overflowX: 'hidden',
2626
- marginTop: '$16'
2696
+ padding: '0 $4'
2697
+ });
2698
+ var TextFieldContainer = /*#__PURE__*/styled('div', {
2699
+ padding: '1px'
2627
2700
  });
2628
2701
  function SecondaryPage(props) {
2629
2702
  var title = props.title,
@@ -2635,12 +2708,11 @@ function SecondaryPage(props) {
2635
2708
  var _useState = useState(''),
2636
2709
  searchedFor = _useState[0],
2637
2710
  setSearchedFor = _useState[1];
2638
- return React__default.createElement(Container$1, null, hasHeader && React__default.createElement(HeaderContainer, null, React__default.createElement(StyledBackIcon, {
2639
- size: 24,
2640
- onClick: onBack
2641
- }), React__default.createElement(Typography, {
2642
- variant: "h4"
2643
- }, title), TopButton), props.textField && React__default.createElement("div", null, React__default.createElement(TextField, {
2711
+ return React__default.createElement(React__default.Fragment, null, hasHeader && React__default.createElement(Header, {
2712
+ onBack: onBack,
2713
+ title: title || '',
2714
+ suffix: TopButton
2715
+ }), React__default.createElement(ContentContainer, null, props.textField && React__default.createElement(TextFieldContainer, null, React__default.createElement(TextField, {
2644
2716
  size: "large",
2645
2717
  prefix: React__default.createElement(SearchIcon, {
2646
2718
  size: 24
@@ -2651,9 +2723,28 @@ function SecondaryPage(props) {
2651
2723
  },
2652
2724
  value: searchedFor,
2653
2725
  autoFocus: true
2654
- })), React__default.createElement(ContentContainer, null, props.textField && (props.children == null ? void 0 : props.children(searchedFor)), !props.textField && props.children), Footer);
2726
+ }), React__default.createElement(Divider, {
2727
+ size: 16
2728
+ })), props.textField && (props.children == null ? void 0 : props.children(searchedFor)), !props.textField && props.children), Footer);
2655
2729
  }
2656
2730
 
2731
+ var containsText = function containsText(text, searchText) {
2732
+ return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
2733
+ };
2734
+ var getConciseAddress = function getConciseAddress(address, maxChars, ellipsisLength) {
2735
+ if (maxChars === void 0) {
2736
+ maxChars = 8;
2737
+ }
2738
+ if (ellipsisLength === void 0) {
2739
+ ellipsisLength = 3;
2740
+ }
2741
+ if (!address) return null;
2742
+ if (address.length < 2 * maxChars + ellipsisLength) return address;
2743
+ var start = Math.ceil((address.length - maxChars) / 2);
2744
+ var end = address.length - maxChars;
2745
+ return "" + address.substr(start, maxChars) + '.'.repeat(ellipsisLength) + address.substr(end);
2746
+ };
2747
+
2657
2748
  var SpacerContainer = /*#__PURE__*/styled('div', {
2658
2749
  variants: {
2659
2750
  size: {
@@ -2789,7 +2880,7 @@ var MainContainer = /*#__PURE__*/styled('div', {
2789
2880
  color: '$primary200'
2790
2881
  },
2791
2882
  secondary: {
2792
- color: '$secondary'
2883
+ color: '$foreground'
2793
2884
  },
2794
2885
  success: {
2795
2886
  color: '$success300'
@@ -2813,7 +2904,14 @@ function Alert(props) {
2813
2904
  className: showIcon ? 'hasIcon' : ''
2814
2905
  }, React__default.createElement("div", {
2815
2906
  className: "main"
2816
- }, showIcon && React__default.createElement(React__default.Fragment, null, type === 'success' && React__default.createElement(CheckCircleIcon, {
2907
+ }, showIcon && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
2908
+ style: {
2909
+ width: '32px',
2910
+ display: 'flex',
2911
+ justifyContent: 'center',
2912
+ alignItems: 'center'
2913
+ }
2914
+ }, type === 'success' && React__default.createElement(CheckCircleIcon, {
2817
2915
  color: type,
2818
2916
  size: 24
2819
2917
  }), type === 'warning' && React__default.createElement(WarningIcon, {
@@ -2824,240 +2922,461 @@ function Alert(props) {
2824
2922
  size: 24
2825
2923
  }), React__default.createElement(Spacer, {
2826
2924
  size: 8
2827
- })), title && React__default.createElement(Typography, {
2925
+ }))), React__default.createElement("div", {
2926
+ style: {
2927
+ display: 'flex',
2928
+ justifyContent: 'center',
2929
+ alignItems: 'start',
2930
+ flexDirection: 'column',
2931
+ width: '100%'
2932
+ }
2933
+ }, title && React__default.createElement(React__default.Fragment, null, React__default.createElement(Typography, {
2934
+ className: "title",
2828
2935
  variant: "h6",
2829
2936
  color: type
2830
- }, title), children), props.footer ? React__default.createElement("div", {
2937
+ }, title), !!children && React__default.createElement(Spacer, {
2938
+ size: 8,
2939
+ direction: "vertical"
2940
+ })), children)), props.footer ? React__default.createElement("div", {
2831
2941
  className: "footer"
2832
2942
  }, props.footer) : null);
2833
2943
  }
2834
2944
 
2835
- var containsText = function containsText(text, searchText) {
2836
- return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
2837
- };
2838
-
2839
- var ListContainer$1 = /*#__PURE__*/styled('div', {
2840
- height: '450px',
2841
- display: 'flex',
2842
- justifyContent: 'center',
2843
- alignItems: 'center'
2844
- });
2845
- var filterBlockchains = function filterBlockchains(list, searchedFor) {
2846
- return list.filter(function (blockchain) {
2847
- return containsText(blockchain.name, searchedFor) || containsText(blockchain.displayName, searchedFor);
2848
- });
2849
- };
2850
- function BlockchainSelector(props) {
2851
- var type = props.type,
2852
- list = props.list,
2853
- onChange = props.onChange,
2854
- selected = props.selected,
2855
- onBack = props.onBack,
2856
- loadingStatus = props.loadingStatus,
2857
- hasHeader = props.hasHeader,
2858
- listContainerStyle = props.listContainerStyle,
2859
- multiSelect = props.multiSelect,
2860
- selectedList = props.selectedList;
2861
- return React__default.createElement(SecondaryPage, {
2862
- textField: true,
2863
- hasHeader: hasHeader,
2864
- textFieldPlaceholder: "Search Blockchain By Name",
2865
- title: "Select " + type + " Network",
2866
- onBack: onBack
2867
- }, function (searchedFor) {
2868
- var filteredBlockchains = filterBlockchains(list, searchedFor);
2869
- return React__default.createElement(ListContainer$1, {
2870
- style: listContainerStyle,
2871
- key: "1"
2872
- }, loadingStatus === 'loading' && React__default.createElement("div", null, React__default.createElement(Spinner, {
2873
- size: 24
2874
- })), loadingStatus === 'failed' && React__default.createElement(Alert, {
2875
- type: "error"
2876
- }, React__default.createElement(Typography, {
2877
- variant: "body2"
2878
- }, "Error connecting server, please reload the app and try again")), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, filteredBlockchains.length > 0 ? React__default.createElement(BlockchainsList, {
2879
- list: filteredBlockchains,
2880
- selected: selected,
2881
- multiSelect: multiSelect,
2882
- selectedList: selectedList,
2883
- onChange: onChange
2884
- }) : React__default.createElement(Alert, null, searchedFor + " not found")));
2945
+ function LoadingFailedAlert() {
2946
+ return React__default.createElement(Alert, {
2947
+ type: "error",
2948
+ title: " Error connecting server, please reload the app and try again."
2885
2949
  });
2886
2950
  }
2887
2951
 
2888
- var _excluded$F = ["label", "id"];
2889
- var CheckboxContainer = /*#__PURE__*/styled('div', {
2890
- display: 'flex',
2891
- alignItems: 'center'
2892
- });
2893
- var CheckboxRoot = /*#__PURE__*/styled(Root$1, {
2894
- borderRadius: '5px',
2895
- width: 20,
2896
- padding: 0,
2897
- height: 20,
2898
- border: '1px solid $foreground',
2899
- display: 'flex',
2900
- alignItems: 'center',
2901
- justifyContent: 'center',
2902
- marginRight: '$2',
2903
- backgroundColor: '$neutral-100'
2904
- });
2905
- var Label$1 = /*#__PURE__*/styled('label', {
2906
- color: '$foreground',
2907
- fontSize: '$m',
2908
- marginLeft: '$8'
2909
- });
2910
- function Checkbox(_ref) {
2911
- var label = _ref.label,
2912
- id = _ref.id,
2913
- props = _objectWithoutPropertiesLoose(_ref, _excluded$F);
2914
- return React__default.createElement(CheckboxContainer, null, React__default.createElement(CheckboxRoot, Object.assign({
2915
- id: id
2916
- }, props), React__default.createElement(Indicator, null, React__default.createElement(CheckIcon, {
2917
- size: 20
2918
- }))), React__default.createElement(Label$1, {
2919
- className: "_text",
2920
- htmlFor: id
2921
- }, label));
2952
+ function NotFoundAlert(props) {
2953
+ var catergory = props.catergory,
2954
+ searchedFor = props.searchedFor;
2955
+ return React__default.createElement(Alert, {
2956
+ type: "secondary",
2957
+ title: catergory + " " + (searchedFor ? "'" + searchedFor + "'" : '') + " not found."
2958
+ });
2922
2959
  }
2923
2960
 
2924
- var ChipCointainer = /*#__PURE__*/styled('div', {
2925
- display: 'inline-flex',
2926
- justifyContent: 'center',
2927
- alignItems: 'center',
2928
- borderRadius: '$5',
2929
- padding: '$4 $8',
2930
- height: '32',
2931
- fontSize: '$14',
2932
- cursor: 'pointer',
2933
- transition: 'all 0.35s',
2934
- color: '$foreground',
2935
- '&:hover': {
2936
- backgroundColor: '$success700',
2937
- color: '$background'
2938
- },
2939
- variants: {
2940
- selected: {
2941
- "true": {
2942
- backgroundColor: '$success',
2943
- color: '$background'
2944
- },
2945
- "false": {
2946
- backgroundColor: '$background'
2947
- }
2948
- }
2949
- }
2950
- });
2951
- function Chip(props) {
2952
- var label = props.label,
2953
- selected = props.selected,
2954
- prefix = props.prefix,
2955
- suffix = props.suffix,
2956
- onClick = props.onClick,
2957
- style = props.style;
2958
- return React__default.createElement(ChipCointainer, {
2959
- selected: selected,
2960
- onClick: onClick,
2961
- style: style
2962
- }, prefix || null, label, suffix || null);
2961
+ function VirtualizedList(props) {
2962
+ var itemCount = props.itemCount,
2963
+ hasNextPage = props.hasNextPage,
2964
+ loadNextPage = props.loadNextPage,
2965
+ Item = props.Item,
2966
+ innerElementType = props.innerElementType,
2967
+ size = props.size;
2968
+ var isItemLoaded = function isItemLoaded(index) {
2969
+ return !hasNextPage || index < itemCount;
2970
+ };
2971
+ return React__default.createElement(AutoSizer, null, function (_ref) {
2972
+ var width = _ref.width,
2973
+ height = _ref.height;
2974
+ return React__default.createElement(InfiniteLoader, {
2975
+ isItemLoaded: isItemLoaded,
2976
+ itemCount: hasNextPage ? itemCount + 1 : itemCount,
2977
+ loadMoreItems: loadNextPage,
2978
+ threshold: 1
2979
+ }, function (_ref2) {
2980
+ var onItemsRendered = _ref2.onItemsRendered,
2981
+ ref = _ref2.ref;
2982
+ return React__default.createElement(VariableSizeList, {
2983
+ innerElementType: innerElementType,
2984
+ ref: ref,
2985
+ itemSize: function itemSize() {
2986
+ return size;
2987
+ },
2988
+ itemCount: itemCount,
2989
+ height: height || 0,
2990
+ width: width || 0,
2991
+ onItemsRendered: onItemsRendered
2992
+ }, function (_ref3) {
2993
+ var index = _ref3.index,
2994
+ style = _ref3.style;
2995
+ return isItemLoaded(index) ? React__default.createElement(Item, {
2996
+ index: index,
2997
+ style: style
2998
+ }) : null;
2999
+ });
3000
+ });
3001
+ });
2963
3002
  }
2964
3003
 
2965
- var BackDrop = /*#__PURE__*/styled('div', {
2966
- position: 'fixed',
2967
- display: 'flex',
2968
- justifyContent: 'center',
2969
- alignItems: 'center',
2970
- top: '0',
2971
- left: '0',
2972
- width: '100vw',
2973
- height: '100vh',
2974
- backgroundColor: 'rgba(0,0,0,.1)'
2975
- });
2976
- var ModalContainer = /*#__PURE__*/styled('div', {
2977
- backgroundColor: '$background',
2978
- borderRadius: '$10',
2979
- padding: '$16 $16',
2980
- display: 'flex',
2981
- flexDirection: 'column',
2982
- boxShadow: '$s',
2983
- zIndex: 10
3004
+ var TokenImage = /*#__PURE__*/styled('img', {
3005
+ width: '$32',
3006
+ maxHeight: '$32',
3007
+ marginRight: '$16'
2984
3008
  });
2985
- var Row = /*#__PURE__*/styled('div', {
3009
+ var TokenNameContainer = /*#__PURE__*/styled('div', {
2986
3010
  display: 'flex',
2987
- alignItems: 'center'
3011
+ flexDirection: 'column'
2988
3012
  });
2989
- var ModalHeader = /*#__PURE__*/styled('div', {
3013
+ var TokenAmountContainer = /*#__PURE__*/styled('div', {
2990
3014
  display: 'flex',
2991
- justifyContent: 'space-between',
2992
- alignItems: 'center',
2993
- position: 'relative',
2994
- marginBottom: '$16'
3015
+ flexDirection: 'column',
3016
+ alignItems: 'flex-end'
2995
3017
  });
2996
- var ContentContainer$1 = /*#__PURE__*/styled('div', {});
2997
- function Modal(props) {
2998
- var title = props.title,
2999
- content = props.content,
3000
- open = props.open,
3001
- onClose = props.onClose,
3002
- containerStyle = props.containerStyle,
3003
- action = props.action,
3004
- contentStyle = props.contentStyle;
3005
- var handleBackDropClick = function handleBackDropClick(event) {
3006
- if (event.target === event.currentTarget) onClose();
3018
+ function TokenItem(props) {
3019
+ var _token$balance;
3020
+ var token = props.token,
3021
+ style = props.style,
3022
+ onClick = props.onClick,
3023
+ selected = props.selected;
3024
+ return React__default.createElement("div", {
3025
+ style: _extends({
3026
+ display: 'flex',
3027
+ alignItems: 'center',
3028
+ width: '100%'
3029
+ }, style, {
3030
+ height: '48px',
3031
+ top: parseFloat(style == null ? void 0 : style.top) + 0 + "px",
3032
+ padding: '0 4px'
3033
+ })
3034
+ }, React__default.createElement(Button, {
3035
+ variant: "outlined",
3036
+ size: "large",
3037
+ align: "start",
3038
+ onClick: onClick.bind(null, token),
3039
+ type: selected ? 'primary' : undefined,
3040
+ prefix: React__default.createElement(TokenImage, {
3041
+ src: token.image
3042
+ }),
3043
+ suffix: ((_token$balance = token.balance) == null ? void 0 : _token$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
3044
+ variant: "body2"
3045
+ }, token.balance.amount), React__default.createElement(Typography, {
3046
+ variant: "caption"
3047
+ }, token.balance.usdValue + "$"))
3048
+ }, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
3049
+ variant: "body1"
3050
+ }, token.symbol), React__default.createElement(Typography, {
3051
+ variant: "caption",
3052
+ color: "neutrals600"
3053
+ }, token.name))));
3054
+ }
3055
+
3056
+ var _excluded$G = ["style"];
3057
+ var PAGE_SIZE = 20;
3058
+ function TokenList(props) {
3059
+ var list = props.list,
3060
+ searchedText = props.searchedText,
3061
+ onChange = props.onChange,
3062
+ multiSelect = props.multiSelect,
3063
+ selectedList = props.selectedList;
3064
+ var _useState = useState(props.selected),
3065
+ selected = _useState[0],
3066
+ setSelected = _useState[1];
3067
+ var changeSelected = function changeSelected(token) {
3068
+ setSelected(token);
3069
+ onChange(token);
3070
+ };
3071
+ var isSelected = function isSelected(token) {
3072
+ if (multiSelect && selectedList) {
3073
+ return selectedList.map(function (item) {
3074
+ return item.symbol + item.address;
3075
+ }).indexOf(token.symbol + token.address) > -1;
3076
+ }
3077
+ return (selected == null ? void 0 : selected.symbol) === token.symbol && (selected == null ? void 0 : selected.address) === token.address;
3078
+ };
3079
+ var _useState2 = useState(true),
3080
+ hasNextPage = _useState2[0],
3081
+ setHasNextPage = _useState2[1];
3082
+ var _useState3 = useState(list),
3083
+ tokens = _useState3[0],
3084
+ setTokens = _useState3[1];
3085
+ var loadNextPage = function loadNextPage() {
3086
+ setTokens(list.slice(0, tokens.length + PAGE_SIZE));
3007
3087
  };
3008
3088
  useEffect(function () {
3009
- if (open) document.body.style.overflow = 'hidden';else document.body.style.overflow = 'unset';
3010
- }, [open]);
3011
- return React__default.createElement(React__default.Fragment, null, open && createPortal(React__default.createElement(BackDrop, {
3012
- onClick: handleBackDropClick
3013
- }, React__default.createElement(ModalContainer, {
3014
- style: containerStyle
3015
- }, React__default.createElement(ModalHeader, null, React__default.createElement(Typography, {
3016
- variant: "h4"
3017
- }, title), React__default.createElement(Row, null, action, React__default.createElement(CloseIcon, {
3018
- size: 24,
3019
- onClick: onClose
3020
- }))), React__default.createElement(ContentContainer$1, {
3021
- style: contentStyle
3022
- }, content))), document.body));
3089
+ setTokens(list.slice(0, PAGE_SIZE));
3090
+ }, [searchedText, list]);
3091
+ useEffect(function () {
3092
+ setHasNextPage(list.length > tokens.length);
3093
+ }, [tokens.length]);
3094
+ var innerElementType = forwardRef(function (_ref, ref) {
3095
+ var style = _ref.style,
3096
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$G);
3097
+ return React__default.createElement("div", Object.assign({
3098
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3099
+ ref: ref,
3100
+ style: _extends({}, style, {
3101
+ height: parseFloat(style == null ? void 0 : style.height) + 8 * 2 + "px"
3102
+ })
3103
+ }, rest));
3104
+ });
3105
+ return React__default.createElement(VirtualizedList, {
3106
+ Item: function Item(_ref2) {
3107
+ var index = _ref2.index,
3108
+ style = _ref2.style;
3109
+ return React__default.createElement(TokenItem, {
3110
+ token: tokens[index],
3111
+ style: style,
3112
+ onClick: changeSelected,
3113
+ selected: isSelected(tokens[index])
3114
+ });
3115
+ },
3116
+ hasNextPage: hasNextPage,
3117
+ itemCount: tokens.length,
3118
+ loadNextPage: loadNextPage,
3119
+ innerElementType: innerElementType,
3120
+ size: 56
3121
+ });
3023
3122
  }
3024
3123
 
3025
- var WalletState;
3026
- (function (WalletState) {
3027
- WalletState["NOT_INSTALLED"] = "not installed";
3028
- WalletState["DISCONNECTED"] = "disconnected";
3029
- WalletState["CONNECTING"] = "connecting";
3030
- WalletState["CONNECTED"] = "connected";
3031
- })(WalletState || (WalletState = {}));
3032
-
3033
- var StateIconContainer = /*#__PURE__*/styled('span', {
3124
+ var LoaderContainer = /*#__PURE__*/styled('div', {
3034
3125
  display: 'flex',
3035
3126
  justifyContent: 'center',
3036
- alignItems: 'center'
3127
+ width: '100%',
3128
+ paddingTop: '5%',
3129
+ flex: 1
3037
3130
  });
3038
- var State = function State(_ref) {
3039
- var walletState = _ref.walletState,
3040
- installLink = _ref.installLink;
3041
- return React__default.createElement(Fragment, null, walletState !== WalletState.DISCONNECTED && React__default.createElement(StateIconContainer, null, walletState === WalletState.NOT_INSTALLED && React__default.createElement("a", {
3042
- href: detectInstallLink(installLink),
3043
- target: "_blank"
3044
- }, React__default.createElement(DownloadIcon, {
3045
- size: 24,
3046
- color: "success"
3047
- })), walletState === WalletState.CONNECTING && React__default.createElement(Spinner, null), walletState === WalletState.CONNECTED && React__default.createElement(DisconnectIcon, null)));
3131
+ var filterTokens = function filterTokens(list, searchedFor) {
3132
+ return list.filter(function (token) {
3133
+ return containsText(token.symbol, searchedFor) || containsText(token.address || '', searchedFor) || containsText(token.name || '', searchedFor);
3134
+ });
3048
3135
  };
3049
-
3050
- var WalletImage = /*#__PURE__*/styled('img', {
3051
- width: '$24',
3052
- height: '$24',
3053
- marginRight: '$12'
3054
- });
3055
- var Text = /*#__PURE__*/styled('div', {
3056
- display: 'flex',
3057
- flexDirection: 'column'
3058
- });
3059
- var ExtendedButton = /*#__PURE__*/styled(Button, {
3060
- variants: {
3136
+ function TokenSelector(props) {
3137
+ var list = props.list,
3138
+ type = props.type,
3139
+ selected = props.selected,
3140
+ hasHeader = props.hasHeader,
3141
+ onChange = props.onChange,
3142
+ onBack = props.onBack,
3143
+ loadingStatus = props.loadingStatus;
3144
+ return React__default.createElement(SecondaryPage, {
3145
+ textField: true,
3146
+ hasHeader: hasHeader,
3147
+ title: "Select " + type + " Token",
3148
+ onBack: onBack,
3149
+ textFieldPlaceholder: "Search Token By Name"
3150
+ }, function (searchedFor) {
3151
+ var filteredTokens = filterTokens(list, searchedFor);
3152
+ return loadingStatus === 'loading' ? React__default.createElement(LoaderContainer, null, React__default.createElement(Spinner, {
3153
+ size: 24
3154
+ })) : loadingStatus === 'failed' ? React__default.createElement(LoadingFailedAlert, null) : filteredTokens.length ? React__default.createElement(TokenList, {
3155
+ searchedText: searchedFor,
3156
+ list: filteredTokens,
3157
+ selected: selected,
3158
+ onChange: onChange
3159
+ }) : React__default.createElement(NotFoundAlert, {
3160
+ catergory: "Token",
3161
+ searchedFor: searchedFor
3162
+ });
3163
+ });
3164
+ }
3165
+
3166
+ var ListContainer$1 = /*#__PURE__*/styled('div', {
3167
+ overflowY: 'auto'
3168
+ });
3169
+ var filterBlockchains = function filterBlockchains(list, searchedFor) {
3170
+ return list.filter(function (blockchain) {
3171
+ return containsText(blockchain.name, searchedFor) || containsText(blockchain.displayName, searchedFor);
3172
+ });
3173
+ };
3174
+ function BlockchainSelector(props) {
3175
+ var type = props.type,
3176
+ list = props.list,
3177
+ onChange = props.onChange,
3178
+ selected = props.selected,
3179
+ onBack = props.onBack,
3180
+ loadingStatus = props.loadingStatus,
3181
+ hasHeader = props.hasHeader,
3182
+ listContainerStyle = props.listContainerStyle,
3183
+ multiSelect = props.multiSelect,
3184
+ selectedList = props.selectedList;
3185
+ return React__default.createElement(SecondaryPage, {
3186
+ textField: true,
3187
+ hasHeader: hasHeader,
3188
+ textFieldPlaceholder: "Search Blockchain By Name",
3189
+ title: "Select " + type + " Network",
3190
+ onBack: onBack
3191
+ }, function (searchedFor) {
3192
+ var filteredBlockchains = filterBlockchains(list, searchedFor);
3193
+ return React__default.createElement(ListContainer$1, {
3194
+ style: listContainerStyle,
3195
+ key: "1"
3196
+ }, loadingStatus === 'loading' && React__default.createElement(LoaderContainer, null, React__default.createElement(Spinner, {
3197
+ size: 24
3198
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, filteredBlockchains.length ? React__default.createElement(BlockchainsList, {
3199
+ list: filteredBlockchains,
3200
+ selected: selected,
3201
+ multiSelect: multiSelect,
3202
+ selectedList: selectedList,
3203
+ onChange: onChange
3204
+ }) : React__default.createElement(NotFoundAlert, {
3205
+ catergory: "Blockchain",
3206
+ searchedFor: searchedFor
3207
+ })));
3208
+ });
3209
+ }
3210
+
3211
+ var _excluded$H = ["label", "id"];
3212
+ var CheckboxContainer = /*#__PURE__*/styled('div', {
3213
+ display: 'flex',
3214
+ alignItems: 'center'
3215
+ });
3216
+ var CheckboxRoot = /*#__PURE__*/styled(Root$1, {
3217
+ borderRadius: '5px',
3218
+ width: 20,
3219
+ padding: 0,
3220
+ height: 20,
3221
+ border: '1px solid $foreground',
3222
+ display: 'flex',
3223
+ alignItems: 'center',
3224
+ justifyContent: 'center',
3225
+ marginRight: '$2',
3226
+ backgroundColor: '$neutral-100'
3227
+ });
3228
+ var Label$1 = /*#__PURE__*/styled('label', {
3229
+ color: '$foreground',
3230
+ fontSize: '$m',
3231
+ marginLeft: '$8'
3232
+ });
3233
+ function Checkbox(_ref) {
3234
+ var label = _ref.label,
3235
+ id = _ref.id,
3236
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
3237
+ return React__default.createElement(CheckboxContainer, null, React__default.createElement(CheckboxRoot, Object.assign({
3238
+ id: id
3239
+ }, props), React__default.createElement(Indicator, null, React__default.createElement(CheckIcon, {
3240
+ size: 20
3241
+ }))), React__default.createElement(Label$1, {
3242
+ className: "_text",
3243
+ htmlFor: id
3244
+ }, label));
3245
+ }
3246
+
3247
+ var ChipCointainer = /*#__PURE__*/styled('div', {
3248
+ display: 'inline-flex',
3249
+ justifyContent: 'center',
3250
+ alignItems: 'center',
3251
+ borderRadius: '$5',
3252
+ padding: '$4 $8',
3253
+ height: '32',
3254
+ fontSize: '$14',
3255
+ cursor: 'pointer',
3256
+ transition: 'all 0.35s',
3257
+ color: '$foreground',
3258
+ '&:hover': {
3259
+ backgroundColor: '$success700',
3260
+ color: '$background'
3261
+ },
3262
+ variants: {
3263
+ selected: {
3264
+ "true": {
3265
+ backgroundColor: '$success',
3266
+ color: '$background'
3267
+ },
3268
+ "false": {
3269
+ backgroundColor: '$background'
3270
+ }
3271
+ }
3272
+ }
3273
+ });
3274
+ function Chip(props) {
3275
+ var label = props.label,
3276
+ selected = props.selected,
3277
+ prefix = props.prefix,
3278
+ suffix = props.suffix,
3279
+ onClick = props.onClick,
3280
+ style = props.style;
3281
+ return React__default.createElement(ChipCointainer, {
3282
+ selected: selected,
3283
+ onClick: onClick,
3284
+ style: style
3285
+ }, prefix || null, label, suffix || null);
3286
+ }
3287
+
3288
+ var BackDrop = /*#__PURE__*/styled('div', {
3289
+ position: 'fixed',
3290
+ display: 'flex',
3291
+ justifyContent: 'center',
3292
+ alignItems: 'center',
3293
+ top: '0',
3294
+ left: '0',
3295
+ width: '100vw',
3296
+ height: '100vh',
3297
+ backgroundColor: 'rgba(0,0,0,.1)'
3298
+ });
3299
+ var ModalContainer = /*#__PURE__*/styled('div', {
3300
+ backgroundColor: '$background',
3301
+ borderRadius: '$10',
3302
+ padding: '$16 $16',
3303
+ display: 'flex',
3304
+ flexDirection: 'column',
3305
+ boxShadow: '$s',
3306
+ zIndex: 10
3307
+ });
3308
+ var Row = /*#__PURE__*/styled('div', {
3309
+ display: 'flex',
3310
+ alignItems: 'center'
3311
+ });
3312
+ var ModalHeader = /*#__PURE__*/styled('div', {
3313
+ display: 'flex',
3314
+ justifyContent: 'space-between',
3315
+ alignItems: 'center',
3316
+ position: 'relative',
3317
+ marginBottom: '$16'
3318
+ });
3319
+ function Modal(props) {
3320
+ var title = props.title,
3321
+ content = props.content,
3322
+ open = props.open,
3323
+ onClose = props.onClose,
3324
+ containerStyle = props.containerStyle,
3325
+ action = props.action;
3326
+ var handleBackDropClick = function handleBackDropClick(event) {
3327
+ if (event.target === event.currentTarget) onClose();
3328
+ };
3329
+ useEffect(function () {
3330
+ if (open) document.body.style.overflow = 'hidden';else document.body.style.overflow = 'unset';
3331
+ }, [open]);
3332
+ return React__default.createElement(React__default.Fragment, null, open && createPortal(React__default.createElement(BackDrop, {
3333
+ onClick: handleBackDropClick
3334
+ }, React__default.createElement(ModalContainer, {
3335
+ style: containerStyle
3336
+ }, React__default.createElement(ModalHeader, null, React__default.createElement(Typography, {
3337
+ variant: "h4"
3338
+ }, title), React__default.createElement(Row, null, action, React__default.createElement(CloseIcon, {
3339
+ size: 24,
3340
+ onClick: onClose
3341
+ }))), content)), document.body));
3342
+ }
3343
+
3344
+ var WalletState;
3345
+ (function (WalletState) {
3346
+ WalletState["NOT_INSTALLED"] = "not installed";
3347
+ WalletState["DISCONNECTED"] = "disconnected";
3348
+ WalletState["CONNECTING"] = "connecting";
3349
+ WalletState["CONNECTED"] = "connected";
3350
+ })(WalletState || (WalletState = {}));
3351
+
3352
+ var StateIconContainer = /*#__PURE__*/styled('span', {
3353
+ display: 'flex',
3354
+ justifyContent: 'center',
3355
+ alignItems: 'center'
3356
+ });
3357
+ var State = function State(_ref) {
3358
+ var walletState = _ref.walletState,
3359
+ installLink = _ref.installLink;
3360
+ return React__default.createElement(Fragment, null, walletState !== WalletState.DISCONNECTED && React__default.createElement(StateIconContainer, null, walletState === WalletState.NOT_INSTALLED && React__default.createElement("a", {
3361
+ href: detectInstallLink(installLink),
3362
+ target: "_blank"
3363
+ }, React__default.createElement(DownloadIcon, {
3364
+ size: 24,
3365
+ color: "success"
3366
+ })), walletState === WalletState.CONNECTING && React__default.createElement(Spinner, null), walletState === WalletState.CONNECTED && React__default.createElement(DisconnectIcon, null)));
3367
+ };
3368
+
3369
+ var WalletImage = /*#__PURE__*/styled('img', {
3370
+ width: '$24',
3371
+ height: '$24',
3372
+ marginRight: '$12'
3373
+ });
3374
+ var Text = /*#__PURE__*/styled('div', {
3375
+ display: 'flex',
3376
+ flexDirection: 'column'
3377
+ });
3378
+ var ExtendedButton = /*#__PURE__*/styled(Button, {
3379
+ variants: {
3061
3380
  type: {
3062
3381
  primary: {
3063
3382
  outline: '1px solid $primary',
@@ -3078,7 +3397,7 @@ function Wallet(props) {
3078
3397
  installLink = props.installLink;
3079
3398
  return React__default.createElement(ExtendedButton, {
3080
3399
  type: state === WalletState.CONNECTED ? 'primary' : undefined,
3081
- disabled: !state,
3400
+ disabled: state == WalletState.CONNECTING,
3082
3401
  onClick: function onClick() {
3083
3402
  if (state === WalletState.NOT_INSTALLED) {
3084
3403
  window.open(detectInstallLink(installLink), '_blank');
@@ -3185,14 +3504,21 @@ var groupLiquiditySources = function groupLiquiditySources(liquiditySources) {
3185
3504
  })
3186
3505
  };
3187
3506
  };
3507
+ var MainContainer$1 = /*#__PURE__*/styled('div', {
3508
+ variants: {
3509
+ loaded: {
3510
+ "true": {
3511
+ overflowY: 'auto'
3512
+ }
3513
+ }
3514
+ }
3515
+ });
3188
3516
  var LiquiditySourceType = /*#__PURE__*/styled('div', {
3189
3517
  position: 'sticky',
3190
3518
  display: 'flex',
3191
3519
  justifyContent: 'space-between',
3192
3520
  alignItems: 'center',
3193
3521
  top: '0',
3194
- marginTop: '$8',
3195
- marginBottom: '$8',
3196
3522
  backgroundColor: '$background',
3197
3523
  zIndex: '9999',
3198
3524
  paddingTop: '$8',
@@ -3203,10 +3529,16 @@ var LiquidityImage = /*#__PURE__*/styled('img', {
3203
3529
  maxHeight: '$20',
3204
3530
  marginRight: '$16'
3205
3531
  });
3532
+ var LoaderContainer$1 = /*#__PURE__*/styled('div', {
3533
+ display: 'flex',
3534
+ justifyContent: 'center'
3535
+ });
3206
3536
  function LiquiditySourceList(props) {
3207
3537
  var list = props.list,
3208
3538
  onChange = props.onChange,
3209
- listContainerStyle = props.listContainerStyle;
3539
+ listContainerStyle = props.listContainerStyle,
3540
+ loadingStatus = props.loadingStatus,
3541
+ searchedFor = props.searchedFor;
3210
3542
  var _useState = useState(list.filter(function (item) {
3211
3543
  return item.selected;
3212
3544
  })),
@@ -3240,10 +3572,9 @@ function LiquiditySourceList(props) {
3240
3572
  // TODO: This is not performant
3241
3573
  var totalSelectedBridges = bridges.filter(isSelected).length;
3242
3574
  var totalSelectedExchanges = exchanges.filter(isSelected).length;
3243
- return React__default.createElement("div", {
3244
- style: _extends({
3245
- height: '450px'
3246
- }, listContainerStyle)
3575
+ return React__default.createElement(MainContainer$1, {
3576
+ style: listContainerStyle,
3577
+ loaded: loadingStatus === 'success'
3247
3578
  }, React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, null, React__default.createElement(Typography, {
3248
3579
  variant: "h5"
3249
3580
  }, "Bridges"), React__default.createElement(Typography, {
@@ -3252,14 +3583,19 @@ function LiquiditySourceList(props) {
3252
3583
  }, totalSelectedBridges === totalBridges ? totalBridges : totalSelectedBridges + " / " + totalBridges)), React__default.createElement(Spacer, {
3253
3584
  size: 12,
3254
3585
  direction: "vertical"
3255
- }), bridges.map(function (liquiditySource, index) {
3586
+ }), loadingStatus === 'loading' && React__default.createElement(LoaderContainer$1, null, React__default.createElement(Spinner, {
3587
+ size: 24
3588
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, totalBridges ? bridges.map(function (liquiditySource, index) {
3256
3589
  return React__default.createElement(LiquiditySourceItem, {
3257
3590
  liquiditySource: liquiditySource,
3258
3591
  key: index,
3259
3592
  selected: isSelected(liquiditySource),
3260
3593
  onChange: changeLiquiditySources
3261
3594
  });
3262
- })), React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, null, React__default.createElement(Typography, {
3595
+ }) : React__default.createElement(NotFoundAlert, {
3596
+ catergory: "Bridge",
3597
+ searchedFor: searchedFor
3598
+ }))), React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, null, React__default.createElement(Typography, {
3263
3599
  variant: "h5"
3264
3600
  }, "Exchanges"), React__default.createElement(Typography, {
3265
3601
  variant: "body1",
@@ -3267,14 +3603,19 @@ function LiquiditySourceList(props) {
3267
3603
  }, totalSelectedExchanges === totalExchanges ? totalExchanges : totalSelectedExchanges + " / " + totalExchanges)), React__default.createElement(Spacer, {
3268
3604
  size: 12,
3269
3605
  direction: "vertical"
3270
- }), exchanges.map(function (liquiditySource, index) {
3606
+ }), loadingStatus === 'loading' && React__default.createElement(LoaderContainer$1, null, React__default.createElement(Spinner, {
3607
+ size: 24
3608
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus == 'success' && React__default.createElement(React__default.Fragment, null, totalExchanges ? exchanges.map(function (liquiditySource, index) {
3271
3609
  return React__default.createElement(LiquiditySourceItem, {
3272
3610
  liquiditySource: liquiditySource,
3273
3611
  key: index,
3274
3612
  selected: isSelected(liquiditySource),
3275
3613
  onChange: changeLiquiditySources
3276
3614
  });
3277
- })));
3615
+ }) : React__default.createElement(NotFoundAlert, {
3616
+ catergory: "Exchange",
3617
+ searchedFor: searchedFor
3618
+ }))));
3278
3619
  }
3279
3620
  var LiquiditySourceItem = function LiquiditySourceItem(_ref) {
3280
3621
  var liquiditySource = _ref.liquiditySource,
@@ -3304,22 +3645,19 @@ var filterLiquiditySources = function filterLiquiditySources(liquiditySources, s
3304
3645
  return containsText(liquiditySource.title, searchedFor || '');
3305
3646
  });
3306
3647
  };
3307
- var ActionButton = /*#__PURE__*/styled(Button, {
3308
- position: 'absolute',
3309
- right: 0
3310
- });
3311
3648
  function LiquiditySourcesSelector(props) {
3312
3649
  var list = props.list,
3313
3650
  onChange = props.onChange,
3314
3651
  onBack = props.onBack,
3315
3652
  hasHeader = props.hasHeader,
3316
3653
  listContainerStyle = props.listContainerStyle,
3317
- toggleAll = props.toggleAll;
3654
+ toggleAll = props.toggleAll,
3655
+ loadingStatus = props.loadingStatus;
3318
3656
  return React__default.createElement(SecondaryPage, {
3319
3657
  textField: true,
3320
3658
  textFieldPlaceholder: "Search By Name",
3321
3659
  title: "Liquidity Sources",
3322
- TopButton: React__default.createElement(ActionButton, {
3660
+ TopButton: React__default.createElement(Button, {
3323
3661
  variant: "ghost",
3324
3662
  type: "primary",
3325
3663
  onClick: toggleAll
@@ -3332,7 +3670,9 @@ function LiquiditySourcesSelector(props) {
3332
3670
  return React__default.createElement(LiquiditySourceList, {
3333
3671
  listContainerStyle: listContainerStyle,
3334
3672
  list: filterLiquiditySources(list, searchedFor),
3335
- onChange: onChange
3673
+ onChange: onChange,
3674
+ loadingStatus: loadingStatus,
3675
+ searchedFor: searchedFor
3336
3676
  });
3337
3677
  });
3338
3678
  }
@@ -3376,7 +3716,7 @@ var SolidCircle = /*#__PURE__*/styled('div', {
3376
3716
  }
3377
3717
  }
3378
3718
  });
3379
- var Container$2 = /*#__PURE__*/styled('div', {
3719
+ var Container$1 = /*#__PURE__*/styled('div', {
3380
3720
  border: '1.5px solid',
3381
3721
  borderRadius: '$5',
3382
3722
  padding: '$12',
@@ -3423,7 +3763,7 @@ function SelectableWalletList(_ref) {
3423
3763
  }, [list]);
3424
3764
  return React__default.createElement(Row$1, null, list.map(function (w, index) {
3425
3765
  var checked = active === w.walletType;
3426
- return React__default.createElement(Container$2, {
3766
+ return React__default.createElement(Container$1, {
3427
3767
  checked: checked,
3428
3768
  onClick: onClick.bind(null, w),
3429
3769
  key: index
@@ -3434,7 +3774,9 @@ function SelectableWalletList(_ref) {
3434
3774
  height: 24
3435
3775
  }), React__default.createElement(Typography, {
3436
3776
  variant: "body2"
3437
- }, w.name), React__default.createElement(Circle, {
3777
+ }, w.name), React__default.createElement(Typography, {
3778
+ variant: "caption"
3779
+ }, getConciseAddress(w.address)), React__default.createElement(Circle, {
3438
3780
  checked: checked
3439
3781
  }, React__default.createElement(SolidCircle, {
3440
3782
  checked: checked
@@ -3474,7 +3816,7 @@ var StyledItem = /*#__PURE__*/styled(Item, {
3474
3816
  borderColor: '$neutrals600'
3475
3817
  }
3476
3818
  });
3477
- var Container$3 = /*#__PURE__*/styled('div', {
3819
+ var Container$2 = /*#__PURE__*/styled('div', {
3478
3820
  display: 'flex'
3479
3821
  });
3480
3822
  var StyledIndicator = /*#__PURE__*/styled(Indicator$1, {
@@ -3504,7 +3846,7 @@ function Radio(props) {
3504
3846
  _props$direction = props.direction,
3505
3847
  direction = _props$direction === void 0 ? 'vertical' : _props$direction,
3506
3848
  style = props.style;
3507
- return React__default.createElement(Container$3, null, React__default.createElement(StyledRoot, {
3849
+ return React__default.createElement(Container$2, null, React__default.createElement(StyledRoot, {
3508
3850
  onValueChange: onChange,
3509
3851
  value: value,
3510
3852
  direction: direction,
@@ -3579,7 +3921,8 @@ function Settings(props) {
3579
3921
  selectedTheme = props.selectedTheme,
3580
3922
  onThemeChange = props.onThemeChange,
3581
3923
  toggleInfiniteApprove = props.toggleInfiniteApprove,
3582
- infiniteApprove = props.infiniteApprove;
3924
+ infiniteApprove = props.infiniteApprove,
3925
+ loadingStatus = props.loadingStatus;
3583
3926
  var _useState = useState(props.selectedSlippage),
3584
3927
  selectedSlippage = _useState[0],
3585
3928
  setSelectedSlippage = _useState[1];
@@ -3647,14 +3990,21 @@ function Settings(props) {
3647
3990
  }, "Infinite Approval"), React__default.createElement(Switch, {
3648
3991
  checked: infiniteApprove,
3649
3992
  onChange: toggleInfiniteApprove
3650
- })), React__default.createElement(LiquiditySourceContainer, {
3651
- onClick: onLiquiditySourcesClick
3993
+ })), React__default.createElement(LiquiditySourceContainer, null, React__default.createElement(Button, {
3994
+ onClick: onLiquiditySourcesClick,
3995
+ align: "start",
3996
+ variant: "ghost",
3997
+ loading: loadingStatus === 'loading',
3998
+ suffix: React__default.createElement(LiquiditySourceNumber, null, loadingStatus === 'success' && React__default.createElement(Typography, {
3999
+ variant: "body2",
4000
+ color: "neutrals800"
4001
+ }, liquiditySources.length !== selectedLiquiditySources.length ? selectedLiquiditySources.length + " / " + liquiditySources.length : liquiditySources.length), loadingStatus === 'failed' && React__default.createElement(Typography, {
4002
+ variant: "body2",
4003
+ color: "$error500"
4004
+ }, "Loading failed"), React__default.createElement(StyledAngleRight, null))
3652
4005
  }, React__default.createElement(Typography, {
3653
4006
  variant: "body1"
3654
- }, "Liquidity Sources"), React__default.createElement(LiquiditySourceNumber, null, React__default.createElement(Typography, {
3655
- variant: "body2",
3656
- color: "neutrals800"
3657
- }, liquiditySources.length !== selectedLiquiditySources.length ? selectedLiquiditySources.length + " / " + liquiditySources.length : liquiditySources.length), React__default.createElement(StyledAngleRight, null))));
4007
+ }, "Liquidity Sources"))));
3658
4008
  return React__default.createElement(SecondaryPage, {
3659
4009
  title: "Settings",
3660
4010
  textField: false,
@@ -3662,107 +4012,114 @@ function Settings(props) {
3662
4012
  }, PageContent);
3663
4013
  }
3664
4014
 
3665
- var MainContainer$1 = /*#__PURE__*/styled('div', {
3666
- borderRadius: '$10',
3667
- maxWidth: '512px',
3668
- boxShadow: '$s',
3669
- minWidth: '375px',
3670
- width: '100%',
3671
- backgroundColor: '$background',
3672
- height: 'fit-content',
4015
+ var MainContainer$2 = /*#__PURE__*/styled('div', {
4016
+ position: 'relative',
3673
4017
  display: 'flex',
3674
4018
  flexDirection: 'column',
3675
- alignItems: 'end',
4019
+ borderRadius: '$10',
4020
+ boxShadow: '$s',
4021
+ width: '100%',
4022
+ minWidth: '375px',
4023
+ maxWidth: '512px',
4024
+ maxHeight: '595px',
3676
4025
  padding: '$16',
3677
4026
  boxSizing: 'border-box',
3678
- position: 'relative'
3679
- });
3680
- var ContentContainer$2 = /*#__PURE__*/styled('div', {
3681
- width: '100%'
4027
+ backgroundColor: '$background',
4028
+ variants: {
4029
+ fixedHeight: {
4030
+ "true": {
4031
+ height: '595px'
4032
+ },
4033
+ "false": {
4034
+ height: 'auto'
4035
+ }
4036
+ }
4037
+ }
3682
4038
  });
3683
4039
  function SwapContainer(props) {
3684
4040
  var children = props.children,
3685
- style = props.style;
3686
- return React__default.createElement(MainContainer$1, {
4041
+ style = props.style,
4042
+ _props$fixedHeight = props.fixedHeight,
4043
+ fixedHeight = _props$fixedHeight === void 0 ? true : _props$fixedHeight;
4044
+ return React__default.createElement(MainContainer$2, {
3687
4045
  style: style,
3688
- id: "swap-box"
3689
- }, React__default.createElement(ContentContainer$2, null, children));
4046
+ id: "swap-box",
4047
+ fixedHeight: fixedHeight
4048
+ }, children);
3690
4049
  }
3691
4050
 
3692
- var Container$4 = /*#__PURE__*/styled('div', {
3693
- position: 'relative'
3694
- });
3695
- var ButtonContainer$1 = /*#__PURE__*/styled('div', {
3696
- paddingTop: '$8'
3697
- });
3698
- var SwapContainer$1 = /*#__PURE__*/styled('div', {
4051
+ var TokenContainer = /*#__PURE__*/styled('div', {
3699
4052
  display: 'flex',
3700
- justifyContent: 'space-between',
3701
- '@md': {
3702
- padding: '$12'
3703
- },
3704
- '&:hover': {
3705
- borderColor: '$primary'
3706
- },
3707
- variants: {
3708
- status: {
3709
- failed: {
3710
- borderColor: '$error'
3711
- },
3712
- running: {
3713
- borderColor: '$neutrals400'
3714
- },
3715
- success: {
3716
- borderColor: '$success'
3717
- }
3718
- }
4053
+ alignItems: 'center',
4054
+ '& .amount': {
4055
+ fontWeight: 'bold'
3719
4056
  }
3720
4057
  });
3721
- var Arrow = /*#__PURE__*/styled('div', {
3722
- display: 'flex',
3723
- justifyContent: 'center',
3724
- alignItems: 'center'
3725
- });
3726
- var Line$1 = /*#__PURE__*/styled('div', {
3727
- height: '0',
3728
- width: '$20',
3729
- border: '1px dashed $foreground',
3730
- borderRadius: 'inherit',
3731
- '@md': {
3732
- width: '$36'
4058
+ var TokenImage$1 = /*#__PURE__*/styled('div', {
4059
+ position: 'relative',
4060
+ width: '$24',
4061
+ height: '$24',
4062
+ img: {
4063
+ width: '100%',
4064
+ display: 'block'
3733
4065
  },
3734
- '@lg': {
3735
- width: '$48'
3736
- }
3737
- });
3738
- var Dot$1 = /*#__PURE__*/styled('div', {
3739
- width: '$6',
3740
- height: '$6',
3741
- backgroundColor: '$foreground',
3742
- borderRadius: '50%',
3743
- '@lg': {
3744
- width: '$8',
3745
- height: '$8'
4066
+ '.overlay': {
4067
+ position: 'absolute',
4068
+ right: -4,
4069
+ bottom: -4,
4070
+ width: '$16',
4071
+ height: '$16',
4072
+ padding: '$2',
4073
+ borderRadius: '50%',
4074
+ backgroundColor: '$background',
4075
+ border: '1px solid $neutrals400'
3746
4076
  }
3747
4077
  });
3748
- var ArrowRight$1 = /*#__PURE__*/styled('div', {
3749
- width: '0px',
3750
- height: '0px',
3751
- borderTop: '5px solid transparent',
3752
- borderBottom: '5px solid transparent',
3753
- borderLeft: '5px solid $foreground'
3754
- });
3755
- var StatusContainer = /*#__PURE__*/styled('div', {
3756
- position: 'absolute',
3757
- right: '-8px',
3758
- top: '30%',
3759
- background: '$background',
3760
- borderRadius: '50%',
4078
+ function Token(props) {
4079
+ return React__default.createElement(TokenContainer, null, React__default.createElement(TokenImage$1, null, React__default.createElement("img", {
4080
+ src: props.data.token.logo,
4081
+ alt: ""
4082
+ }), React__default.createElement("div", {
4083
+ className: "overlay"
4084
+ }, React__default.createElement("img", {
4085
+ src: props.data.blockchain.logo,
4086
+ alt: props.data.blockchain.name
4087
+ }))), React__default.createElement(Spacer, {
4088
+ size: 8
4089
+ }), React__default.createElement("span", {
4090
+ className: "amount"
4091
+ }, props.data.amount), React__default.createElement(Spacer, {
4092
+ size: 4
4093
+ }), props.data.token.symbol);
4094
+ }
4095
+
4096
+ var Container$3 = /*#__PURE__*/styled('div', {
4097
+ position: 'relative',
3761
4098
  display: 'flex',
3762
- justifyContent: 'center',
3763
- '@md': {
3764
- top: '40%',
3765
- right: '-8px'
4099
+ justifyContent: 'space-between',
4100
+ alignItems: 'center',
4101
+ padding: '$16 0',
4102
+ borderBottom: '1px solid $neutrals300',
4103
+ '& > .info': {
4104
+ display: 'flex',
4105
+ alignItems: 'center'
4106
+ },
4107
+ '.status': {
4108
+ textTransform: 'uppercase',
4109
+ fontWeight: 'bold',
4110
+ fontSize: '$12'
4111
+ },
4112
+ '&.running': {
4113
+ color: '$foreground'
4114
+ },
4115
+ '&.failed,&.success': {
4116
+ color: '$neutrals600'
4117
+ },
4118
+ '&.failed .status': {
4119
+ color: '$error'
4120
+ },
4121
+ '&.success .status': {
4122
+ color: '$success'
3766
4123
  }
3767
4124
  });
3768
4125
  function SwapDetail(_ref) {
@@ -3771,234 +4128,56 @@ function SwapDetail(_ref) {
3771
4128
  onClick = _ref.onClick;
3772
4129
  var firstStep = swap.steps[0];
3773
4130
  var lastStep = swap.steps[swap.steps.length - 1];
3774
- return React__default.createElement(Container$4, {
3775
- onClick: onClick.bind(null, swap.requestId)
3776
- }, React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
3777
- variant: "outlined",
3778
- align: "grow",
3779
- size: "large",
3780
- type: status === 'failed' ? 'error' : status === 'success' ? 'success' : undefined
3781
- }, React__default.createElement(SwapContainer$1, null, React__default.createElement(StepDetail, {
3782
- logo: firstStep.fromLogo,
3783
- symbol: firstStep.fromSymbol,
3784
- chainLogo: firstStep.fromBlockchainLogo,
3785
- blockchain: firstStep.fromBlockchain,
3786
- amount: swap.inputAmount
3787
- }), React__default.createElement(Arrow, null, React__default.createElement(Dot$1, null), React__default.createElement(Line$1, null), React__default.createElement(ArrowRight$1, null)), React__default.createElement(StepDetail, {
3788
- logo: lastStep.toLogo,
3789
- symbol: lastStep.toSymbol,
3790
- chainLogo: lastStep.toBlockchainLogo,
3791
- blockchain: lastStep.toBlockchain,
3792
- amount: lastStep.outputAmount
3793
- })))), React__default.createElement(StatusContainer, null, status === 'running' ? React__default.createElement(TryAgainIcon, {
3794
- size: 16
3795
- }) : status === 'failed' ? React__default.createElement(InfoCircleIcon, {
3796
- size: 18,
3797
- color: "error"
3798
- }) : React__default.createElement(CheckCircleIcon, {
3799
- size: 18,
3800
- color: "success"
3801
- })));
3802
- }
3803
-
3804
- function VirtualizedList(props) {
3805
- var itemCount = props.itemCount,
3806
- hasNextPage = props.hasNextPage,
3807
- loadNextPage = props.loadNextPage,
3808
- Item = props.Item,
3809
- innerElementType = props.innerElementType,
3810
- size = props.size;
3811
- var isItemLoaded = function isItemLoaded(index) {
3812
- return !hasNextPage || index < itemCount;
3813
- };
3814
- return React__default.createElement(AutoSizer, null, function (_ref) {
3815
- var width = _ref.width,
3816
- height = _ref.height;
3817
- return React__default.createElement(InfiniteLoader, {
3818
- isItemLoaded: isItemLoaded,
3819
- itemCount: hasNextPage ? itemCount + 1 : itemCount,
3820
- loadMoreItems: loadNextPage,
3821
- threshold: 1
3822
- }, function (_ref2) {
3823
- var onItemsRendered = _ref2.onItemsRendered,
3824
- ref = _ref2.ref;
3825
- return React__default.createElement(VariableSizeList, {
3826
- innerElementType: innerElementType,
3827
- ref: ref,
3828
- itemSize: function itemSize() {
3829
- return size;
3830
- },
3831
- itemCount: itemCount,
3832
- height: height || 0,
3833
- width: width || 0,
3834
- onItemsRendered: onItemsRendered
3835
- }, function (_ref3) {
3836
- var index = _ref3.index,
3837
- style = _ref3.style;
3838
- return isItemLoaded(index) ? React__default.createElement(Item, {
3839
- index: index,
3840
- style: style
3841
- }) : null;
3842
- });
3843
- });
3844
- });
3845
- }
3846
-
3847
- var TokenImage = /*#__PURE__*/styled('img', {
3848
- width: '$32',
3849
- maxHeight: '$32',
3850
- marginRight: '$16'
3851
- });
3852
- var TokenNameContainer = /*#__PURE__*/styled('div', {
3853
- display: 'flex',
3854
- flexDirection: 'column'
3855
- });
3856
- var TokenAmountContainer = /*#__PURE__*/styled('div', {
3857
- display: 'flex',
3858
- flexDirection: 'column',
3859
- alignItems: 'flex-end'
3860
- });
3861
- function TokenItem(props) {
3862
- var _token$balance;
3863
- var token = props.token,
3864
- style = props.style,
3865
- onClick = props.onClick,
3866
- selected = props.selected;
3867
- return React__default.createElement("div", {
3868
- style: _extends({
3869
- display: 'flex',
3870
- alignItems: 'center',
3871
- width: '100%'
3872
- }, style, {
3873
- height: '48px',
3874
- top: parseFloat(style == null ? void 0 : style.top) + 0 + "px"
3875
- })
3876
- }, React__default.createElement(Button, {
3877
- variant: "outlined",
3878
- size: "large",
3879
- align: "start",
3880
- onClick: onClick.bind(null, token),
3881
- type: selected ? 'primary' : undefined,
3882
- prefix: React__default.createElement(TokenImage, {
3883
- src: token.image
3884
- }),
3885
- suffix: ((_token$balance = token.balance) == null ? void 0 : _token$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
3886
- variant: "body2"
3887
- }, token.balance.amount), React__default.createElement(Typography, {
3888
- variant: "caption"
3889
- }, token.balance.usdValue + "$"))
3890
- }, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
3891
- variant: "body1"
3892
- }, token.symbol), React__default.createElement(Typography, {
3893
- variant: "body2"
3894
- }, token.name))));
3895
- }
3896
-
3897
- var _excluded$G = ["style"];
3898
- var PAGE_SIZE = 20;
3899
- function TokenList(props) {
3900
- var list = props.list,
3901
- searchedText = props.searchedText,
3902
- onChange = props.onChange,
3903
- multiSelect = props.multiSelect,
3904
- selectedList = props.selectedList;
3905
- var _useState = useState(props.selected),
3906
- selected = _useState[0],
3907
- setSelected = _useState[1];
3908
- var changeSelected = function changeSelected(token) {
3909
- setSelected(token);
3910
- onChange(token);
3911
- };
3912
- var isSelected = function isSelected(token) {
3913
- if (multiSelect && selectedList) {
3914
- return selectedList === 'all' || selectedList.map(function (item) {
3915
- return item.symbol + item.address;
3916
- }).indexOf(token.symbol + token.address) > -1;
3917
- }
3918
- return (selected == null ? void 0 : selected.symbol) === token.symbol && (selected == null ? void 0 : selected.address) === token.address;
3919
- };
3920
- var _useState2 = useState(true),
3921
- hasNextPage = _useState2[0],
3922
- setHasNextPage = _useState2[1];
3923
- var _useState3 = useState(list),
3924
- tokens = _useState3[0],
3925
- setTokens = _useState3[1];
3926
- var loadNextPage = function loadNextPage() {
3927
- setTokens(list.slice(0, tokens.length + PAGE_SIZE));
3928
- };
3929
- useEffect(function () {
3930
- setTokens(list.slice(0, PAGE_SIZE));
3931
- }, [searchedText]);
3932
- useEffect(function () {
3933
- setHasNextPage(list.length > tokens.length);
3934
- }, [tokens.length]);
3935
- var innerElementType = forwardRef(function (_ref, ref) {
3936
- var style = _ref.style,
3937
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$G);
3938
- return React__default.createElement("div", Object.assign({
3939
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3940
- ref: ref,
3941
- style: _extends({}, style, {
3942
- height: parseFloat(style == null ? void 0 : style.height) + 8 * 2 + "px"
3943
- })
3944
- }, rest));
3945
- });
3946
- return React__default.createElement("div", {
3947
- style: {
3948
- height: '450px'
3949
- }
3950
- }, React__default.createElement(VirtualizedList, {
3951
- Item: function Item(_ref2) {
3952
- var index = _ref2.index,
3953
- style = _ref2.style;
3954
- return React__default.createElement(TokenItem, {
3955
- token: tokens[index],
3956
- style: style,
3957
- onClick: changeSelected,
3958
- selected: isSelected(tokens[index])
3959
- });
3960
- },
3961
- hasNextPage: hasNextPage,
3962
- itemCount: tokens.length,
3963
- loadNextPage: loadNextPage,
3964
- innerElementType: innerElementType,
3965
- size: 56
3966
- }));
3967
- }
3968
-
3969
- var filterTokens = function filterTokens(list, searchedFor) {
3970
- return list.filter(function (token) {
3971
- return containsText(token.symbol, searchedFor) || containsText(token.address || '', searchedFor) || containsText(token.name || '', searchedFor);
3972
- });
3973
- };
3974
- function TokenSelector(props) {
3975
- var list = props.list,
3976
- type = props.type,
3977
- selected = props.selected,
3978
- onChange = props.onChange,
3979
- hasHeader = props.hasHeader,
3980
- multiSelect = props.multiSelect,
3981
- selectedList = props.selectedList,
3982
- onBack = props.onBack;
3983
- return React__default.createElement(SecondaryPage, {
3984
- textField: true,
3985
- textFieldPlaceholder: "Search Blockchain By Name",
3986
- title: "Select " + type + " Token",
3987
- hasHeader: hasHeader,
3988
- onBack: onBack
3989
- }, function (searchedFor) {
3990
- return React__default.createElement(TokenList, {
3991
- searchedText: searchedFor,
3992
- list: filterTokens(list, searchedFor),
3993
- selected: selected,
3994
- selectedList: selectedList,
3995
- multiSelect: multiSelect,
3996
- onChange: onChange
3997
- });
3998
- });
4131
+ return React__default.createElement(Button, {
4132
+ variant: "ghost",
4133
+ size: "free",
4134
+ fullWidth: true,
4135
+ onClick: onClick.bind(null, swap.requestId)
4136
+ }, React__default.createElement(Container$3, {
4137
+ className: "" + status
4138
+ }, React__default.createElement("div", {
4139
+ className: "info"
4140
+ }, React__default.createElement(Token, {
4141
+ data: {
4142
+ token: {
4143
+ logo: firstStep.fromLogo,
4144
+ symbol: firstStep.fromSymbol
4145
+ },
4146
+ blockchain: {
4147
+ // @ts-ignore
4148
+ logo: firstStep.fromBlockchainLogo || '',
4149
+ name: firstStep.fromBlockchain
4150
+ },
4151
+ amount: swap.inputAmount
4152
+ }
4153
+ }), React__default.createElement(Spacer, {
4154
+ size: 12
4155
+ }), React__default.createElement(ArrowRightIcon, {
4156
+ size: 12
4157
+ }), React__default.createElement(Spacer, {
4158
+ size: 12
4159
+ }), React__default.createElement(Token, {
4160
+ data: {
4161
+ token: {
4162
+ logo: lastStep.toLogo,
4163
+ symbol: lastStep.toSymbol
4164
+ },
4165
+ blockchain: {
4166
+ // @ts-ignore
4167
+ logo: lastStep.toBlockchainLogo,
4168
+ name: lastStep.toBlockchain
4169
+ },
4170
+ amount: lastStep.outputAmount || lastStep.expectedOutputAmountHumanReadable || ''
4171
+ }
4172
+ })), React__default.createElement("div", {
4173
+ className: "status"
4174
+ }, status === 'running' ? React__default.createElement(Spinner, {
4175
+ size: 24,
4176
+ color: "primary"
4177
+ }) : status)));
3999
4178
  }
4000
4179
 
4001
- var Container$5 = /*#__PURE__*/styled('div', {
4180
+ var Container$4 = /*#__PURE__*/styled('div', {
4002
4181
  position: 'relative'
4003
4182
  });
4004
4183
  var Color = /*#__PURE__*/styled('div', {
@@ -4048,7 +4227,7 @@ function ColorPicker(_ref) {
4048
4227
  var _useState = useState(false),
4049
4228
  displayColorPicker = _useState[0],
4050
4229
  setDisplayColorPicker = _useState[1];
4051
- return React__default.createElement(Container$5, null, React__default.createElement(Label$3, {
4230
+ return React__default.createElement(Container$4, null, React__default.createElement(Label$3, {
4052
4231
  className: "_text"
4053
4232
  }, label), React__default.createElement(Button, {
4054
4233
  variant: "outlined",
@@ -4169,129 +4348,15 @@ function Drawer(props) {
4169
4348
  })), React__default.createElement(Body, null, content), React__default.createElement(Footer, null, footer))), container));
4170
4349
  }
4171
4350
 
4172
- var MainContainer$2 = /*#__PURE__*/styled('div', {
4173
- overflow: 'hidden'
4174
- });
4175
- var Line$2 = /*#__PURE__*/styled('div', {
4176
- width: '0',
4177
- marginLeft: '$12',
4178
- height: '36px',
4179
- border: '1px dashed $foreground',
4180
- borderRadius: 'inherit'
4181
- });
4182
- var SwapperContainer$1 = /*#__PURE__*/styled('div', {
4183
- display: 'flex',
4184
- alignItems: 'center',
4185
- marginLeft: '6px'
4186
- });
4187
- var Fee = /*#__PURE__*/styled('div', {
4188
- display: 'flex',
4189
- alignItems: 'center'
4351
+ var MainContainer$3 = /*#__PURE__*/styled('div', {
4352
+ overflowY: 'auto'
4190
4353
  });
4191
- var SwapperLogo$1 = /*#__PURE__*/styled('img', {
4192
- width: '$16',
4193
- height: '$16'
4194
- });
4195
- var RelativeContainer$1 = /*#__PURE__*/styled('div', {
4196
- position: 'relative'
4197
- });
4198
- var Footer$1 = /*#__PURE__*/styled('div', {
4199
- display: 'flex',
4200
- alignItems: 'center'
4201
- });
4202
- var Dot$2 = /*#__PURE__*/styled('div', {
4203
- width: '$8',
4204
- height: '$8',
4205
- backgroundColor: '$foreground',
4206
- borderRadius: '4px',
4207
- marginLeft: '$8'
4208
- });
4209
- var ArrowDown = /*#__PURE__*/styled('div', {
4210
- width: '0px',
4211
- height: '0px',
4212
- borderLeft: '5px solid transparent',
4213
- borderRight: '5px solid transparent',
4214
- borderTop: '5px solid $foreground',
4215
- marginLeft: '$8'
4216
- });
4217
- var BestRouteContainer$1 = /*#__PURE__*/styled('div', {
4218
- overflow: 'auto'
4219
- });
4220
- var Alerts = /*#__PURE__*/styled('div', {
4221
- paddingBottom: '$16'
4222
- });
4223
- function ConfirmSwap(props) {
4224
- var _bestRoute$result;
4225
- var bestRoute = props.bestRoute,
4226
- onBack = props.onBack,
4227
- onConfirm = props.onConfirm,
4228
- loading = props.loading,
4229
- errors = props.errors,
4230
- warnings = props.warnings,
4231
- extraMessages = props.extraMessages,
4232
- confirmButtonTitle = props.confirmButtonTitle,
4233
- confirmButtonDisabled = props.confirmButtonDisabled;
4234
- return React__default.createElement(SecondaryPage, {
4235
- textField: false,
4236
- title: "Swap",
4237
- onBack: onBack,
4238
- Footer: React__default.createElement(Footer$1, null, React__default.createElement(Button, {
4239
- type: "primary",
4240
- fullWidth: true,
4241
- loading: loading,
4242
- variant: "contained",
4243
- onClick: onConfirm,
4244
- disabled: confirmButtonDisabled
4245
- }, confirmButtonTitle))
4246
- }, React__default.createElement(MainContainer$2, null, React__default.createElement("div", null, extraMessages || null, React__default.createElement(Alerts, null, errors == null ? void 0 : errors.map(function (error, index) {
4247
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4248
- direction: "vertical"
4249
- }), React__default.createElement(Alert, {
4250
- type: "error",
4251
- key: index
4252
- }, error));
4253
- }), warnings == null ? void 0 : warnings.map(function (warning, index) {
4254
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4255
- direction: "vertical"
4256
- }), React__default.createElement(Alert, {
4257
- type: "warning",
4258
- key: index
4259
- }, warning));
4260
- }))), React__default.createElement(BestRouteContainer$1, null, bestRoute == null ? void 0 : (_bestRoute$result = bestRoute.result) == null ? void 0 : _bestRoute$result.swaps.map(function (swap, index) {
4261
- var _bestRoute$result2;
4262
- return React__default.createElement(Fragment, {
4263
- key: index
4264
- }, index === 0 && React__default.createElement(RelativeContainer$1, null, React__default.createElement(StepDetail, {
4265
- logo: swap.from.logo,
4266
- symbol: swap.from.symbol,
4267
- chainLogo: swap.from.blockchainLogo,
4268
- blockchain: swap.from.blockchain,
4269
- amount: swap.fromAmount
4270
- }), React__default.createElement(Dot$2, null)), React__default.createElement(Line$2, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1, {
4271
- src: swap.swapperLogo,
4272
- alt: swap.swapperId
4273
- }), React__default.createElement("div", null, React__default.createElement(Typography, {
4274
- ml: 4,
4275
- variant: "caption"
4276
- }, swap.swapperType, " from ", swap.from.symbol, " to", ' ', swap.to.symbol, " via ", swap.swapperId, ' '), React__default.createElement(Fee, null, React__default.createElement(GasIcon, null), React__default.createElement(Typography, {
4277
- ml: 4,
4278
- variant: "caption"
4279
- }, "$", swap.feeInUsd, " estimated gas fee")))), React__default.createElement(Line$2, null), index + 1 === ((_bestRoute$result2 = bestRoute.result) == null ? void 0 : _bestRoute$result2.swaps.length) && React__default.createElement(ArrowDown, null), React__default.createElement(StepDetail, {
4280
- logo: swap.to.logo,
4281
- symbol: swap.to.symbol,
4282
- chainLogo: swap.to.blockchainLogo,
4283
- blockchain: swap.to.blockchain,
4284
- amount: swap.toAmount
4285
- }));
4286
- }))));
4287
- }
4288
-
4289
4354
  var Section = /*#__PURE__*/styled('div', {
4290
4355
  paddingBottom: '$32',
4291
4356
  marginBottom: '$32',
4292
4357
  borderBottom: '1px solid $neutrals400'
4293
4358
  });
4294
- var Footer$2 = /*#__PURE__*/styled('div', {
4359
+ var Footer$1 = /*#__PURE__*/styled('div', {
4295
4360
  display: 'flex',
4296
4361
  alignItems: 'center'
4297
4362
  });
@@ -4301,7 +4366,7 @@ var AlertContainer = /*#__PURE__*/styled('div', {
4301
4366
  var ConfirmButton = /*#__PURE__*/styled(Button, {
4302
4367
  marginTop: '$16'
4303
4368
  });
4304
- var Container$6 = /*#__PURE__*/styled('div', {
4369
+ var Container$5 = /*#__PURE__*/styled('div', {
4305
4370
  paddingBottom: '$24',
4306
4371
  '.title': {
4307
4372
  paddingBottom: '$8',
@@ -4321,7 +4386,10 @@ var Container$6 = /*#__PURE__*/styled('div', {
4321
4386
  alignItems: 'center'
4322
4387
  }
4323
4388
  });
4324
- function ConfirmWallets(props) {
4389
+ var Alerts = /*#__PURE__*/styled('div', {
4390
+ paddingBottom: '$16'
4391
+ });
4392
+ function ConfirmSwap(props) {
4325
4393
  var onBack = props.onBack,
4326
4394
  loading = props.loading,
4327
4395
  onConfirm = props.onConfirm,
@@ -4330,27 +4398,45 @@ function ConfirmWallets(props) {
4330
4398
  onChange = props.onChange,
4331
4399
  confirmDisabled = props.confirmDisabled,
4332
4400
  isExperimentalChain = props.isExperimentalChain,
4333
- handleConnectChain = props.handleConnectChain;
4401
+ handleConnectChain = props.handleConnectChain,
4402
+ confirmButtonTitle = props.confirmButtonTitle,
4403
+ errors = props.errors,
4404
+ warnings = props.warnings,
4405
+ extraMessages = props.extraMessages;
4334
4406
  return React__default.createElement(SecondaryPage, {
4335
4407
  textField: false,
4336
4408
  title: "Confirm Swap",
4337
4409
  onBack: onBack,
4338
- Footer: React__default.createElement(Footer$2, null, React__default.createElement(ConfirmButton, {
4410
+ Footer: React__default.createElement(Footer$1, null, React__default.createElement(ConfirmButton, {
4339
4411
  fullWidth: true,
4340
4412
  loading: loading,
4341
4413
  type: "primary",
4342
4414
  variant: "contained",
4343
4415
  onClick: onConfirm,
4344
4416
  disabled: confirmDisabled
4345
- }, "Confirm Swap"))
4346
- }, props.previewInputs || props.previewRoutes ? React__default.createElement(Section, null, props.previewInputs, !!props.previewRoutes ? React__default.createElement(Spacer, {
4417
+ }, confirmButtonTitle))
4418
+ }, React__default.createElement(MainContainer$3, null, React__default.createElement("div", null, extraMessages || null, React__default.createElement(Alerts, null, errors == null ? void 0 : errors.map(function (error, index) {
4419
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4420
+ direction: "vertical"
4421
+ }), React__default.createElement(Alert, {
4422
+ type: "error",
4423
+ key: index
4424
+ }, error));
4425
+ }), warnings == null ? void 0 : warnings.map(function (warning, index) {
4426
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4427
+ direction: "vertical"
4428
+ }), React__default.createElement(Alert, {
4429
+ type: "warning",
4430
+ key: index
4431
+ }, warning));
4432
+ }))), props.previewInputs || props.previewRoutes ? React__default.createElement(Section, null, props.previewInputs, !!props.previewRoutes ? React__default.createElement(Spacer, {
4347
4433
  size: 16,
4348
4434
  direction: "vertical"
4349
4435
  }) : null, props.previewRoutes) : null, requiredWallets.map(function (wallet, index) {
4350
4436
  var list = selectableWallets.filter(function (w) {
4351
4437
  return wallet === w.chain;
4352
4438
  });
4353
- return React__default.createElement(Container$6, {
4439
+ return React__default.createElement(Container$5, {
4354
4440
  key: index
4355
4441
  }, React__default.createElement("div", {
4356
4442
  className: "title"
@@ -4373,34 +4459,16 @@ function ConfirmWallets(props) {
4373
4459
  list: list,
4374
4460
  onChange: onChange
4375
4461
  }));
4376
- }));
4377
- }
4378
-
4379
- function groupingOfSwaps(list) {
4380
- return list.reduce(function (acc, swap) {
4381
- var categoryIndex = acc.findIndex(function (item) {
4382
- return swap.status === 'running' && item.title == 'Active Swaps' || swap.status !== 'running' && item.title == 'Recent Swaps';
4383
- });
4384
- if (categoryIndex > -1) {
4385
- acc[categoryIndex].swaps.push(swap);
4386
- } else {
4387
- acc.push({
4388
- title: swap.status === 'running' ? 'Active Swaps' : 'Recent Swaps',
4389
- swaps: [swap]
4390
- });
4391
- }
4392
- return acc;
4393
- }, []);
4462
+ })));
4394
4463
  }
4395
4464
 
4396
- var BodyError = /*#__PURE__*/styled('div', {
4397
- height: '100%',
4398
- display: 'flex',
4399
- justifyContent: 'center',
4400
- alignItems: 'center'
4465
+ var Group = /*#__PURE__*/styled('div', {
4466
+ '.group-title': {
4467
+ textTransform: 'uppercase'
4468
+ }
4401
4469
  });
4402
- var ErrorMsg$1 = /*#__PURE__*/styled(Typography, {
4403
- color: '$error'
4470
+ var Container$6 = /*#__PURE__*/styled('div', {
4471
+ overflowY: 'auto'
4404
4472
  });
4405
4473
  var filteredHistory = function filteredHistory(list, searchedFor) {
4406
4474
  return list.filter(function (swap) {
@@ -4409,30 +4477,34 @@ var filteredHistory = function filteredHistory(list, searchedFor) {
4409
4477
  return containsText(firstStep.fromBlockchain, searchedFor) || containsText(firstStep.fromSymbol, searchedFor) || containsText(lastStep.toBlockchain, searchedFor) || containsText(lastStep.toSymbol, searchedFor) || containsText(swap.requestId, searchedFor);
4410
4478
  });
4411
4479
  };
4412
- var Group = /*#__PURE__*/styled('div', {
4413
- marginBottom: '$24',
4414
- paddingRight: '$8',
4415
- maxHeight: '600px'
4416
- });
4417
- var GroupTitle = /*#__PURE__*/styled(Typography, {
4418
- color: '$neutrals500'
4419
- });
4420
4480
  var SwapsGroup = function SwapsGroup(props) {
4421
4481
  var list = props.list,
4422
- onSwapClick = props.onSwapClick;
4423
- var swapsInGroup = groupingOfSwaps(list);
4424
- return React__default.createElement(React__default.Fragment, null, swapsInGroup.map(function (group, index) {
4425
- return React__default.createElement(Group, {
4482
+ onSwapClick = props.onSwapClick,
4483
+ groupBy = props.groupBy;
4484
+ var groups = groupBy ? groupBy(list) : [{
4485
+ title: 'History',
4486
+ swaps: list
4487
+ }];
4488
+ return React__default.createElement(React__default.Fragment, null, groups.filter(function (group) {
4489
+ return group.swaps.length > 0;
4490
+ }).map(function (group, index) {
4491
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Group, {
4426
4492
  key: index
4427
- }, React__default.createElement(GroupTitle, {
4428
- variant: "body2"
4493
+ }, React__default.createElement(Typography, {
4494
+ variant: "body2",
4495
+ color: "neutrals600",
4496
+ className: "group-title"
4429
4497
  }, group.title), group.swaps.map(function (swap, index) {
4430
- return React__default.createElement(SwapDetail, {
4498
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SwapDetail, {
4431
4499
  key: index,
4432
4500
  swap: swap,
4433
4501
  status: swap.status,
4434
4502
  onClick: onSwapClick
4435
- });
4503
+ }), React__default.createElement(Divider, {
4504
+ size: 12
4505
+ }));
4506
+ })), React__default.createElement(Divider, {
4507
+ size: 24
4436
4508
  }));
4437
4509
  }));
4438
4510
  };
@@ -4440,28 +4512,126 @@ function History(_ref) {
4440
4512
  var _ref$list = _ref.list,
4441
4513
  list = _ref$list === void 0 ? [] : _ref$list,
4442
4514
  onBack = _ref.onBack,
4443
- onSwapClick = _ref.onSwapClick;
4515
+ onSwapClick = _ref.onSwapClick,
4516
+ groupBy = _ref.groupBy;
4444
4517
  return React__default.createElement(SecondaryPage, {
4445
4518
  onBack: onBack,
4446
4519
  textField: true,
4447
- textFieldPlaceholder: "Search By Blockchain Or Token",
4520
+ textFieldPlaceholder: "Search By Blockchain Or Token Or Request ID",
4448
4521
  title: "Swaps"
4449
4522
  }, function (searchedFor) {
4450
4523
  var filterSwaps = filteredHistory(list, searchedFor);
4451
- return filterSwaps.length ? React__default.createElement(SwapsGroup, {
4524
+ return React__default.createElement(Container$6, null, filterSwaps.length ? React__default.createElement(SwapsGroup, {
4452
4525
  list: filterSwaps,
4453
- onSwapClick: onSwapClick
4454
- }) : React__default.createElement(BodyError, null, React__default.createElement(ErrorMsg$1, {
4455
- variant: "caption"
4456
- }, "Not Found"));
4526
+ onSwapClick: onSwapClick,
4527
+ groupBy: groupBy
4528
+ }) : React__default.createElement(NotFoundAlert, {
4529
+ catergory: "Swap"
4530
+ }));
4457
4531
  });
4458
4532
  }
4459
4533
 
4534
+ var getAlertType = function getAlertType(messageType) {
4535
+ if (!messageType || messageType === 'info') return 'secondary';else return messageType;
4536
+ };
4537
+ var DetailedMessage = /*#__PURE__*/styled('div', {
4538
+ width: '90%',
4539
+ overflowWrap: 'break-word',
4540
+ color: '$error500 !important'
4541
+ });
4542
+ var SuccessText = /*#__PURE__*/styled(Typography, {
4543
+ color: '$success500 !important'
4544
+ });
4545
+ var SwapMessages = function SwapMessages(props) {
4546
+ var shortMessage = props.shortMessage,
4547
+ detailedMessage = props.detailedMessage,
4548
+ currentStepBlockchain = props.currentStepBlockchain,
4549
+ type = props.type,
4550
+ lastConvertedTokenInFailedSwap = props.lastConvertedTokenInFailedSwap;
4551
+ var _useState = useState(false),
4552
+ expandedMessage = _useState[0],
4553
+ setExpandedMessage = _useState[1];
4554
+ var allowedNumberOfChars = detailedMessage["long"] ? 0 : 150;
4555
+ var shouldShowMoreDetailsButton = !expandedMessage && detailedMessage.content.length > allowedNumberOfChars;
4556
+ return React__default.createElement(Alert, Object.assign({
4557
+ type: getAlertType(type),
4558
+ title: shortMessage
4559
+ }, shouldShowMoreDetailsButton && {
4560
+ footer: React__default.createElement(Button, {
4561
+ variant: "outlined",
4562
+ type: "primary",
4563
+ onClick: setExpandedMessage.bind(null, function (prevState) {
4564
+ return !prevState;
4565
+ })
4566
+ }, "Show more details")
4567
+ }, !!props.switchNetwork && {
4568
+ footer: React__default.createElement(Button, {
4569
+ variant: 'outlined',
4570
+ type: "primary",
4571
+ onClick: props.switchNetwork
4572
+ }, "Change network to ", currentStepBlockchain)
4573
+ }), !!detailedMessage.content ? React__default.createElement(DetailedMessage, null, React__default.createElement(Typography, {
4574
+ variant: "body2"
4575
+ }, shouldShowMoreDetailsButton && !expandedMessage ? detailedMessage.content.substring(0, allowedNumberOfChars) + (allowedNumberOfChars > 0 ? '...' : '') : detailedMessage.content)) : null, !!lastConvertedTokenInFailedSwap && React__default.createElement(React__default.Fragment, null, React__default.createElement("p", null, React__default.createElement(Typography, {
4576
+ variant: "body2"
4577
+ }, "Don't worry, your fund is\xA0"), React__default.createElement(SuccessText, {
4578
+ variant: "body2"
4579
+ }, React__default.createElement("b", null, "Safe"))), React__default.createElement("p", null, React__default.createElement(Typography, {
4580
+ variant: "body2"
4581
+ }, "It is converted to \xA0", React__default.createElement("u", null, lastConvertedTokenInFailedSwap.outputAmount), "\xA0"), React__default.createElement(SuccessText, {
4582
+ variant: "body2"
4583
+ }, React__default.createElement("b", null, lastConvertedTokenInFailedSwap.symbol, "\xA0")), React__default.createElement(Typography, {
4584
+ variant: "body2"
4585
+ }, "on your\xA0"), React__default.createElement(SuccessText, {
4586
+ variant: "body2"
4587
+ }, React__default.createElement("b", null, lastConvertedTokenInFailedSwap.blockchain, "\xA0")), React__default.createElement(Typography, {
4588
+ variant: "body2"
4589
+ }, "wallet"))));
4590
+ };
4591
+
4592
+ var _excluded$I = ["pendingSwap", "onBack", "onCopy", "isCopied", "onCancel", "date", "onRetry", "previewInputs"];
4593
+ var SwapperContainer$1 = /*#__PURE__*/styled('div', {
4594
+ display: 'flex',
4595
+ alignItems: 'center',
4596
+ marginLeft: '6px'
4597
+ });
4598
+ var Fee = /*#__PURE__*/styled('div', {
4599
+ display: 'flex',
4600
+ alignItems: 'center'
4601
+ });
4602
+ var SwapperLogo$1 = /*#__PURE__*/styled('img', {
4603
+ width: '$16',
4604
+ height: '$16'
4605
+ });
4606
+ var RelativeContainer$1 = /*#__PURE__*/styled('div', {
4607
+ position: 'relative'
4608
+ });
4609
+ var Dot$1 = /*#__PURE__*/styled('div', {
4610
+ width: '$8',
4611
+ height: '$8',
4612
+ backgroundColor: '$foreground',
4613
+ borderRadius: '4px',
4614
+ marginLeft: '$8'
4615
+ });
4616
+ var ArrowDown = /*#__PURE__*/styled('div', {
4617
+ width: '0px',
4618
+ height: '0px',
4619
+ borderLeft: '5px solid transparent',
4620
+ borderRight: '5px solid transparent',
4621
+ borderTop: '5px solid $foreground',
4622
+ marginLeft: '$8'
4623
+ });
4460
4624
  var StyledAnchor = /*#__PURE__*/styled('a', {
4461
4625
  color: '$primary',
4462
4626
  fontWeight: '$600',
4463
4627
  marginLeft: '$12'
4464
4628
  });
4629
+ var SwapInfoContainer = /*#__PURE__*/styled('div', {
4630
+ display: 'flex',
4631
+ flexDirection: 'column',
4632
+ paddingBottom: '$16',
4633
+ borderBottom: '1px solid $neutrals300'
4634
+ });
4465
4635
  var InternalDetailsContainer = /*#__PURE__*/styled('div', {
4466
4636
  display: 'flex'
4467
4637
  });
@@ -4480,30 +4650,51 @@ var Description = /*#__PURE__*/styled(Typography, {
4480
4650
  var Error = /*#__PURE__*/styled(Description, {
4481
4651
  color: '$error'
4482
4652
  });
4483
- var Line$3 = /*#__PURE__*/styled('div', {
4653
+ var Line$1 = /*#__PURE__*/styled('div', {
4484
4654
  width: '0',
4485
4655
  minHeight: '$16',
4486
4656
  marginLeft: '$12',
4487
4657
  border: '1px dashed $foreground',
4488
4658
  borderRadius: 'inherit'
4489
4659
  });
4490
- var RequestIdContainer = /*#__PURE__*/styled('div', {
4491
- cursor: 'pointer',
4492
- backgroundColor: '$neutrals200',
4493
- padding: '$4',
4660
+ var Row$2 = /*#__PURE__*/styled('div', {
4494
4661
  display: 'flex',
4495
- justifyContent: 'center',
4662
+ justifyContent: 'space-between',
4496
4663
  alignItems: 'center',
4497
- borderRadius: '$5',
4498
- marginBottom: '$16'
4664
+ fontSize: '$14',
4665
+ padding: '$8 0',
4666
+ '.name': {
4667
+ color: '$neutrals600'
4668
+ },
4669
+ '.value': {
4670
+ display: 'flex',
4671
+ alignItems: 'center',
4672
+ color: '$neutrals800'
4673
+ },
4674
+ '.status': {
4675
+ fontWeight: 'bold',
4676
+ textTransform: 'uppercase'
4677
+ },
4678
+ '.status.failed': {
4679
+ color: '$error'
4680
+ },
4681
+ '.status.success': {
4682
+ color: '$success'
4683
+ }
4499
4684
  });
4500
- var RequestId = /*#__PURE__*/styled(Typography, {
4501
- color: '$warning500'
4685
+ var RequestId = /*#__PURE__*/styled('div', {
4686
+ width: '150px',
4687
+ whiteSpace: 'nowrap',
4688
+ overflow: 'hidden',
4689
+ textOverflow: 'ellipsis',
4690
+ '@md': {
4691
+ width: 'auto'
4692
+ }
4502
4693
  });
4503
- var CancelButtonContainer = /*#__PURE__*/styled('div', {
4504
- display: 'flex',
4505
- justifyContent: 'center',
4506
- alignItems: 'center'
4694
+ var ExtraDetails = /*#__PURE__*/styled('div', {
4695
+ padding: '$8 0',
4696
+ color: '$neutrals600',
4697
+ fontSize: '$12'
4507
4698
  });
4508
4699
  var StepContainer$1 = /*#__PURE__*/styled('div', {
4509
4700
  variants: {
@@ -4519,43 +4710,57 @@ var StepContainer$1 = /*#__PURE__*/styled('div', {
4519
4710
  }
4520
4711
  }
4521
4712
  });
4713
+ var SwapFlowContainer = /*#__PURE__*/styled('div', {
4714
+ overflowY: 'auto'
4715
+ });
4522
4716
  function SwapHistory(props) {
4523
4717
  var pendingSwap = props.pendingSwap,
4524
4718
  onBack = props.onBack,
4525
4719
  onCopy = props.onCopy,
4526
4720
  isCopied = props.isCopied,
4527
- onCancel = props.onCancel;
4721
+ onCancel = props.onCancel,
4722
+ date = props.date,
4723
+ onRetry = props.onRetry,
4724
+ extraMessageProps = _objectWithoutPropertiesLoose(props, _excluded$I);
4528
4725
  var _useState = useState(false),
4529
4726
  showDrawer = _useState[0],
4530
4727
  setShowDrawer = _useState[1];
4531
4728
  return React__default.createElement(SecondaryPage, {
4532
4729
  title: "Swap Details",
4533
4730
  textField: false,
4534
- onBack: onBack
4535
- }, React__default.createElement("div", {
4536
- style: {
4537
- overflow: 'hidden'
4538
- }
4539
- }, React__default.createElement("div", null, React__default.createElement(Typography, {
4540
- variant: "body1"
4541
- }, " request ID :"), React__default.createElement(RequestIdContainer, {
4731
+ onBack: onBack,
4732
+ Footer: React__default.createElement(React__default.Fragment, null, (pendingSwap == null ? void 0 : pendingSwap.status) === 'running' && React__default.createElement(Button, {
4733
+ variant: "outlined",
4734
+ fullWidth: true,
4735
+ type: "error",
4736
+ onClick: setShowDrawer.bind(null, true)
4737
+ }, "Cancel"), !!onRetry && React__default.createElement(Button, {
4738
+ variant: "contained",
4739
+ fullWidth: true,
4740
+ type: "primary",
4741
+ onClick: onRetry
4742
+ }, "Try again"))
4743
+ }, React__default.createElement("div", null, React__default.createElement(SwapInfoContainer, null, React__default.createElement(Row$2, null, React__default.createElement("div", {
4744
+ className: "name"
4745
+ }, "Request ID:"), React__default.createElement("div", {
4746
+ className: "value requestId",
4542
4747
  onClick: onCopy.bind(null, pendingSwap == null ? void 0 : pendingSwap.requestId)
4543
- }, React__default.createElement(RequestId, {
4544
- variant: "body1"
4545
- }, pendingSwap == null ? void 0 : pendingSwap.requestId), React__default.createElement(Spacer, {
4546
- size: 12
4547
- }), isCopied ? React__default.createElement(CheckSquareIcon, {
4548
- color: "success",
4549
- size: 18
4550
- }) : React__default.createElement(CopyIcon, {
4551
- color: "warning",
4552
- size: 18
4553
- }))), React__default.createElement("div", {
4554
- style: {
4555
- overflow: 'auto',
4556
- position: 'relative'
4557
- }
4558
- }, pendingSwap == null ? void 0 : pendingSwap.steps.map(function (step, index) {
4748
+ }, React__default.createElement(RequestId, null, pendingSwap == null ? void 0 : pendingSwap.requestId), React__default.createElement(Spacer, {
4749
+ size: 4
4750
+ }), React__default.createElement(Button, {
4751
+ type: "primary",
4752
+ variant: "ghost",
4753
+ size: "compact"
4754
+ }, isCopied ? 'Copied!' : 'Copy'))), React__default.createElement(Row$2, null, React__default.createElement("div", {
4755
+ className: "name"
4756
+ }, "Status:"), React__default.createElement("div", {
4757
+ className: "value status " + ((pendingSwap == null ? void 0 : pendingSwap.status) || '')
4758
+ }, pendingSwap == null ? void 0 : pendingSwap.status, (pendingSwap == null ? void 0 : pendingSwap.status) === 'running' && React__default.createElement(Spinner, {
4759
+ size: 16,
4760
+ color: "primary"
4761
+ }))), React__default.createElement(ExtraDetails, null, date))), React__default.createElement(SwapFlowContainer, null, extraMessageProps.shortMessage && React__default.createElement(SwapMessages, Object.assign({}, extraMessageProps)), React__default.createElement(Divider, {
4762
+ size: 32
4763
+ }), pendingSwap == null ? void 0 : pendingSwap.steps.map(function (step, index) {
4559
4764
  return React__default.createElement(StepContainer$1, {
4560
4765
  key: index,
4561
4766
  hasNotStarted: step.status === 'created',
@@ -4563,23 +4768,30 @@ function SwapHistory(props) {
4563
4768
  }, index === 0 && React__default.createElement(RelativeContainer$1, null, React__default.createElement(StepDetail, {
4564
4769
  logo: step.fromLogo,
4565
4770
  symbol: step.fromSymbol,
4566
- chainLogo: step.fromBlockchainLogo,
4771
+ // @ts-ignore
4772
+ chainLogo: step.fromBlockchainLogo || '',
4567
4773
  blockchain: step.fromBlockchain,
4568
4774
  amount: pendingSwap.inputAmount
4569
- }), React__default.createElement(Dot$2, null)), React__default.createElement(Line$3, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1, {
4570
- src: step.swapperLogo,
4775
+ }), React__default.createElement(Dot$1, null)), React__default.createElement(Line$1, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1, {
4776
+ src:
4777
+ // @ts-ignore
4778
+ step.swapperLogo || '',
4571
4779
  alt: step.swapperId
4572
4780
  }), React__default.createElement("div", null, React__default.createElement(Typography, {
4573
4781
  ml: 4,
4574
4782
  variant: "caption"
4575
- }, step.swapperType, " from ", step.fromSymbol, " to ", step.toSymbol, "via ", step.swapperId), React__default.createElement(Fee, null, React__default.createElement(GasIcon, null), React__default.createElement(Typography, {
4783
+ },
4784
+ // @ts-ignore
4785
+ step.swapperType, ' ', "from ", step.fromSymbol, " to ", step.toSymbol, "via ", step.swapperId), React__default.createElement(Fee, null, React__default.createElement(GasIcon, null), React__default.createElement(Typography, {
4576
4786
  ml: 4,
4577
4787
  variant: "caption"
4578
- }, "$", step.feeInUsd, " estimated gas fee")))), React__default.createElement("div", {
4788
+ }, "$",
4789
+ // @ts-ignore
4790
+ step.feeInUsd, ' ', "estimated gas fee")))), React__default.createElement("div", {
4579
4791
  style: {
4580
4792
  display: 'flex'
4581
4793
  }
4582
- }, React__default.createElement(InternalDetailsContainer, null, React__default.createElement(Line$3, null), !!step.explorerUrl && React__default.createElement("div", null, step.explorerUrl.map(function (item, index) {
4794
+ }, React__default.createElement(InternalDetailsContainer, null, React__default.createElement(Line$1, null), !!step.explorerUrl && React__default.createElement("div", null, step.explorerUrl.map(function (item, index) {
4583
4795
  return React__default.createElement(InternalDetail, {
4584
4796
  key: index
4585
4797
  }, React__default.createElement(DescriptionContainer, null, React__default.createElement(CheckCircleIcon, {
@@ -4599,28 +4811,25 @@ function SwapHistory(props) {
4599
4811
  }, "Step failed")))))), index + 1 === pendingSwap.steps.length && React__default.createElement(ArrowDown, null), React__default.createElement(StepDetail, {
4600
4812
  logo: step.toLogo,
4601
4813
  symbol: step.toSymbol,
4602
- chainLogo: step.toBlockchainLogo,
4814
+ // @ts-ignore
4815
+ chainLogo: step.toBlockchainLogo || '',
4603
4816
  blockchain: step.toBlockchain,
4604
- amount: step.outputAmount
4817
+ amount: step.outputAmount || ''
4605
4818
  }));
4606
- }), (pendingSwap == null ? void 0 : pendingSwap.status) === 'running' && React__default.createElement(CancelButtonContainer, null, React__default.createElement(Button, {
4607
- variant: "contained",
4608
- type: "error",
4609
- onClick: setShowDrawer.bind(null, true)
4610
- }, "Cancel")))), React__default.createElement(Drawer, {
4819
+ }), React__default.createElement(Divider, {
4820
+ size: 32
4821
+ })), React__default.createElement(Drawer, {
4611
4822
  onClose: setShowDrawer.bind(null, false),
4612
4823
  open: showDrawer,
4613
4824
  showClose: true,
4614
4825
  anchor: "bottom",
4615
4826
  title: "Cancel Progress",
4616
- content: React__default.createElement(React__default.Fragment, null, React__default.createElement(Alert, {
4827
+ content: React__default.createElement(Alert, {
4617
4828
  type: "warning"
4618
- }, React__default.createElement(Typography, {
4619
- variant: "body2"
4620
- }, React__default.createElement("p", null, "Warning: Rango ", React__default.createElement("u", null, "neither reverts"), " your transaction", React__default.createElement("u", null, "nor refunds"), " you if you've already signed and sent a transaction to the blockchain since it's out of Rango's control. Beware that \"Cancel\" only stops next steps from being executed."), React__default.createElement(Spacer, {
4829
+ }, React__default.createElement("p", null, "Warning: Rango ", React__default.createElement("u", null, "neither reverts"), " your transaction\xA0", React__default.createElement("u", null, "nor refunds"), " you if you've already signed and sent a transaction to the blockchain since it's out of Rango's control. Beware that \"Cancel\" only stops next steps from being executed."), React__default.createElement(Spacer, {
4621
4830
  size: 12,
4622
4831
  direction: "vertical"
4623
- }), React__default.createElement("p", null, "If you have already signed your transaction to blockchain, you should wait for that to complete or rollback")))),
4832
+ }), React__default.createElement("p", null, "If you have already signed your transaction to blockchain, you should wait for that to complete or rollback")),
4624
4833
  footer: React__default.createElement("div", {
4625
4834
  style: {
4626
4835
  display: 'flex',
@@ -4645,5 +4854,5 @@ function SwapHistory(props) {
4645
4854
  }));
4646
4855
  }
4647
4856
 
4648
- export { AddCircleIcon, AddIcon, AddWalletIcon, Alert, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, BagIcon, BanIcon, BestRoute, BlockchainSelector, Button, CheckCircleIcon, CheckIcon, CheckSquareIcon, CheckWalletIcon, Checkbox, ChevronRightIcon, Chip, CloseIcon, ColorPicker, ConfirmSwap, ConfirmWallets, ConnectWalletsModal, CopyIcon, DeleteCircleIcon, DeleteWalletIcon, DisconnectIcon, DownloadIcon, Drawer, FilledCircle, GasIcon, History, HistoryIcon, HorizontalSwapIcon, InfoCircleIcon, LiquiditySourcesSelector, MinusCircleIcon, Modal, Radio, RetryIcon, RetryLeftIcon, RetryRightIcon, SearchIcon, SearchMinusIcon, SecondaryPage, SelectableWalletList, Settings, SettingsIcon, SignatureIcon, Spacer, Spinner, StepDetail, SwapContainer, SwapDetail, SwapHistory, SwapWalletIcon, Switch, TextField, TimeIcon, TokenList, TokenSelector, Tooltip, TrashIcon, TryAgainIcon, Typography, VerticalSwapIcon, Wallet, WalletIcon, WalletState, WarningIcon, createTheme, css, darkTheme, globalCss, keyframes, lightTheme, styled };
4857
+ export { AddCircleIcon, AddIcon, AddWalletIcon, Alert, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, ArrowRightIcon, BagIcon, BanIcon, BestRoute, BlockchainSelector, Button, CheckCircleIcon, CheckIcon, CheckSquareIcon, CheckWalletIcon, Checkbox, ChevronRightIcon, Chip, CloseIcon, ColorPicker, ConfirmSwap, ConnectWalletsModal, CopyIcon, DeleteCircleIcon, DeleteWalletIcon, DisconnectIcon, Divider, DownloadIcon, Drawer, FilledCircle, GasIcon, Header, History, HistoryIcon, HorizontalSwapIcon, InfoCircleIcon, LiquiditySourcesSelector, LoadingFailedAlert, MinusCircleIcon, Modal, Radio, RetryIcon, RetryLeftIcon, RetryRightIcon, SearchIcon, SearchMinusIcon, SecondaryPage, SelectableWalletList, Settings, SettingsIcon, SignatureIcon, Spacer, Spinner, StepDetail, SwapContainer, SwapDetail, SwapHistory, SwapWalletIcon, Switch, TextField, TimeIcon, TokenList, TokenSelector, Tooltip, TrashIcon, TryAgainIcon, Typography, VerticalSwapIcon, Wallet, WalletIcon, WalletState, WarningIcon, createTheme, css, darkTheme, globalCss, keyframes, lightTheme, styled };
4649
4858
  //# sourceMappingURL=ui.esm.js.map