@depay/widgets 6.3.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/umd/index.js CHANGED
@@ -913,7 +913,8 @@
913
913
  closable: closable,
914
914
  setClosable: setClosable,
915
915
  close: close,
916
- open: open
916
+ open: open,
917
+ setOpen: setOpen
917
918
  }
918
919
  }, props.children);
919
920
  });
@@ -968,23 +969,21 @@
968
969
  }, /*#__PURE__*/React__default["default"].createElement("div", {
969
970
  className: ["DialogHeader", props.stacked ? 'TextCenter' : ''].join(' ')
970
971
  }, props.stacked && /*#__PURE__*/React__default["default"].createElement("div", {
971
- className: "DialogHeaderAction PaddingTopS PaddingLeftS PaddingRightS"
972
+ className: "DialogHeaderActionLeft PaddingTopS PaddingLeftS PaddingRightS"
972
973
  }, /*#__PURE__*/React__default["default"].createElement("button", {
973
974
  onClick: function onClick() {
974
975
  return navigate('back');
975
976
  },
976
977
  className: "ButtonCircular",
977
978
  title: "Go back"
978
- }, /*#__PURE__*/React__default["default"].createElement(ChevronLeft, null))), /*#__PURE__*/React__default["default"].createElement("div", {
979
- className: "DialogHeaderTitle"
980
- }, props.header), /*#__PURE__*/React__default["default"].createElement("div", {
981
- className: "DialogHeaderAction PaddingTopS PaddingLeftS PaddingRightS"
979
+ }, /*#__PURE__*/React__default["default"].createElement(ChevronLeft, null))), props.header, /*#__PURE__*/React__default["default"].createElement("div", {
980
+ className: "DialogHeaderActionRight PaddingTopS PaddingLeftS PaddingRightS"
982
981
  }, closable && /*#__PURE__*/React__default["default"].createElement("button", {
983
982
  onClick: close,
984
983
  className: "ButtonCircular",
985
984
  title: "Close dialog"
986
985
  }, /*#__PURE__*/React__default["default"].createElement(CloseIcon, null)))), /*#__PURE__*/React__default["default"].createElement("div", {
987
- className: "DialogBody"
986
+ className: ["DialogBody", props.bodyClassName].join(' ')
988
987
  }, props.body), /*#__PURE__*/React__default["default"].createElement("div", {
989
988
  className: "DialogFooter"
990
989
  }, props.footer));
@@ -1140,6 +1139,7 @@
1140
1139
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1141
1140
  className: "CardImage"
1142
1141
  }, /*#__PURE__*/React__default["default"].createElement("img", {
1142
+ className: "transparent",
1143
1143
  src: wallet.info.logo
1144
1144
  })), /*#__PURE__*/React__default["default"].createElement("div", {
1145
1145
  className: "CardBody"
@@ -1156,7 +1156,7 @@
1156
1156
  className: "LineHeightL FontSizeL"
1157
1157
  }, "Select a wallet")),
1158
1158
  body: /*#__PURE__*/React__default["default"].createElement("div", {
1159
- className: "PaddingTopS PaddingBottomXS PaddingLeftS PaddingRightS"
1159
+ className: "PaddingBottomS PaddingLeftS PaddingRightS"
1160
1160
  }, walletCards),
1161
1161
  footer: /*#__PURE__*/React__default["default"].createElement("div", {
1162
1162
  className: "PaddingBottomS"
@@ -1582,7 +1582,7 @@
1582
1582
  }(React__default["default"].Component);
1583
1583
 
1584
1584
  var ErrorProvider = (function (props) {
1585
- var _useState = React.useState(),
1585
+ var _useState = React.useState(props.error),
1586
1586
  _useState2 = _slicedToArray(_useState, 2),
1587
1587
  error = _useState2[0],
1588
1588
  setError = _useState2[1];
@@ -1595,8 +1595,8 @@
1595
1595
  var setErrorFromChildren = function setErrorFromChildren(error) {
1596
1596
  setError(error);
1597
1597
 
1598
- if (props.error) {
1599
- props.error(error);
1598
+ if (props.errorCallback) {
1599
+ props.errorCallback(error);
1600
1600
  }
1601
1601
  };
1602
1602
 
@@ -1655,6 +1655,10 @@
1655
1655
  }
1656
1656
  });
1657
1657
 
1658
+ var AlertStyle = (function (style) {
1659
+ return "\n\n .Alert {\n background: rgba(0,0,0,0.08);\n border-radius: 0.4rem;\n font-weight: 500;\n padding: 0.5rem;\n }\n ";
1660
+ });
1661
+
1658
1662
  var BlockchainLogoStyle = (function (style) {
1659
1663
  return "\n\n .BlockchainLogo {\n border-radius: 999px;\n }\n\n .BlockchainLogo.small {\n height: 18px;\n width: 18px;\n }\n ";
1660
1664
  });
@@ -1668,11 +1672,11 @@
1668
1672
  });
1669
1673
 
1670
1674
  var CardStyle = (function (style) {
1671
- return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.1rem;\n color: rgb(150,150,150);\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
1675
+ return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 4.3rem;\n padding: 0.4rem 1.3rem;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 1.2rem;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 1rem;\n }\n\n .Card.Row .CardImage {\n width: 2.5rem;\n }\n\n .Card.Row .CardImage img {\n height: 1.9rem;\n width: 1.9rem;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .CardImage.small {\n width: 1.7rem;\n }\n\n .CardImage.small img {\n height: 1.4rem;\n width: 1.4rem;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n background: rgba(0,0,0,0.1);\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.26rem;\n color: rgb(150,150,150);\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
1672
1676
  });
1673
1677
 
1674
1678
  var DialogStyle = (function (style) {
1675
- return "\n\n .ReactDialogBackground {\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 20px rgba(0,0,0,0.1);\n border-radius: 0.8rem;\n }\n\n @media screen and (max-width: 450px) {\n \n .Dialog, .ReactDialogAnimation {\n width: 100%;\n }\n\n }\n\n @media (orientation: portrait) and (max-width: 900px) {\n\n .Dialog {\n align-content: stretch;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n max-height: 60vh !important;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogStackCell {\n vertical-align: bottom;\n }\n\n .ReactDialogAnimation {\n bottom: -100px !important;\n max-height: 66vh !important;\n top: inherit !important;\n transition: opacity 0.4s ease, bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n }\n\n .DialogBody {\n background: rgb(248,248,248);\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .DialogBody.HeightAuto {\n height: auto;\n }\n\n .DialogHeader {\n background: rgb(248,248,248);\n border-top-left-radius: 0.8rem;\n border-top-right-radius: 0.8rem;\n display: flex;\n flex-direction: row;\n position: relative;\n }\n\n .DialogHeaderTitle {\n flex-basis: auto;\n flex-grow: 1;\n }\n \n .DialogHeaderAction {\n height: 3rem;\n }\n\n .DialogFooter {\n background: rgb(248,248,248);\n border-bottom-left-radius: 0.8rem;\n border-bottom-right-radius: 0.8rem;\n line-height: 1.5rem;\n min-height: 2rem;\n position: relative;\n text-align: center;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n display: table;\n }\n\n ";
1679
+ return "\n\n .ReactDialogBackground {\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 20px rgba(0,0,0,0.1);\n border-radius: 0.8rem;\n background: rgb(248,248,248);\n }\n\n @media screen and (max-width: 450px) {\n \n .Dialog, .ReactDialogAnimation {\n width: 100%;\n }\n\n }\n\n @media (orientation: portrait) and (max-width: 900px) {\n\n .Dialog {\n align-content: stretch;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogStackCell {\n vertical-align: bottom;\n }\n\n .ReactDialogAnimation {\n bottom: -100px !important;\n top: inherit !important;\n transition: opacity 0.4s ease, bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n }\n\n .DialogBody {\n background: rgb(248,248,248);\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .DialogBody.ScrollHeight {\n height: 30vh !important;\n max-height: 30vh !important;\n }\n\n .DialogHeader {\n background: rgb(248,248,248);\n border-top-left-radius: 0.8rem;\n border-top-right-radius: 0.8rem;\n min-height: 3.4rem;\n position: relative;\n width: 100%;\n }\n\n .DialogHeaderActionRight {\n position: absolute;\n top: 0;\n right: 0;\n height: 3rem;\n }\n\n .DialogHeaderActionLeft {\n position: absolute;\n top: 0;\n left: 0;\n height: 3rem;\n }\n\n .DialogFooter {\n background: rgb(248,248,248);\n border-bottom-left-radius: 0.8rem;\n border-bottom-right-radius: 0.8rem;\n line-height: 1.5rem;\n min-height: 2rem;\n position: relative;\n text-align: center;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n display: table;\n }\n\n ";
1676
1680
  });
1677
1681
 
1678
1682
  var FontStyle = (function (style) {
@@ -1703,6 +1707,10 @@
1703
1707
  return "\n\n .Label {\n background: rgb(248,248,248);\n border-radius: 999px;\n color: ".concat(style.colors.primary, ";\n font-size: 0.8rem;\n padding: 0.1rem 0.5rem;\n margin: 0.1rem;\n }\n\n ");
1704
1708
  });
1705
1709
 
1710
+ var LinkStyle = (function (style) {
1711
+ return "\n\n .Link {\n color: ".concat(style.colors.primary, ";\n cursor: pointer;\n text-decoration: none;\n }\n\n .Link:hover {\n filter: brightness(0.8);\n }\n\n .Link:active {\n filter: brightness(1.0);\n }\n ");
1712
+ });
1713
+
1706
1714
  var LoadingTextStyle = (function (style) {
1707
1715
  return "\n\n .LoadingText {\n color: ".concat(style.colors.buttonText, ";\n display: inline-block;\n text-decoration: none;\n }\n\n @keyframes blink {\n 0% { opacity: .2; }\n 20% { opacity: 1; }\n 100% { opacity: .2; }\n }\n \n .LoadingText .dot {\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n }\n \n .LoadingText .dot:nth-child(2) {\n animation-delay: .2s;\n }\n \n .LoadingText .dot:nth-child(3) {\n animation-delay: .4s;\n }\n ");
1708
1716
  });
@@ -1727,10 +1735,18 @@
1727
1735
  return "\n\n html, body, div, span, applet, object, iframe,\n h1, h2, h3, h4, h5, h6, p, blockquote, pre,\n a, abbr, acronym, address, big, cite, code,\n del, dfn, em, img, ins, kbd, q, s, samp,\n small, strike, strong, sub, sup, tt, var,\n b, u, i, center,\n dl, dt, dd, ol, ul, li,\n fieldset, form, label, legend,\n table, caption, tbody, tfoot, thead, tr, th, td,\n article, aside, canvas, details, embed, \n figure, figcaption, footer, header, hgroup, \n menu, nav, output, ruby, section, summary,\n time, mark, audio, video {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n text-align: inherit;\n vertical-align: baseline;\n }\n\n article, aside, details, figcaption, figure, \n footer, header, hgroup, menu, nav, section {\n display: block;\n }\n\n body {\n line-height: 1;\n }\n\n ol, ul {\n list-style: none;\n }\n\n blockquote, q {\n quotes: none;\n }\n\n blockquote:before, blockquote:after,\n q:before, q:after {\n content: '';\n content: none;\n }\n \n table {\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n button {\n border: 0;\n background: none;\n outline: none;\n }\n\n ";
1728
1736
  });
1729
1737
 
1738
+ var SearchStyle = (function (style) {
1739
+ return "\n\n .Search {\n border-radius: 0.8rem;\n border: 1px solid rgba(0,0,0,0.2);\n outline: none !important;\n color: ".concat(style.colors.text, ";\n font-size: 1.2rem;\n padding: 0.8rem;\n width: 100%;\n }\n\n .Search::placeholder {\n color: rgb(180,180,180);\n } \n\n .Search:focus, .Search:focus-visible {\n border: 1px solid ").concat(style.colors.primary, ";\n }\n\n ");
1740
+ });
1741
+
1730
1742
  var SkeletonStyle = (function () {
1731
1743
  return "\n \n .Skeleton {\n background: rgb(230,230,230) !important;\n border: 0px solid transparent !important;\n box-shadow: none !important;\n cursor: inherit !important;\n line-height: 0;\n overflow: hidden;\n position: relative;\n }\n\n @keyframes SkeletonBackgroundAnimation {\n from {\n left: -500px;\n }\n to {\n left: +120%;\n }\n }\n\n .SkeletonBackground {\n animation: 2s SkeletonBackgroundAnimation 0.2s ease infinite;\n background: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 50%, transparent 100%);\n height: 100%;\n left: -140%;\n position: absolute;\n top: 0;\n width: 400px;\n }\n\n .SkeletonWrapper {\n line-height: 0;\n }\n ";
1732
1744
  });
1733
1745
 
1746
+ var TableStyle = (function (style) {
1747
+ return "\n\n .Table {\n border-collapse: separate;\n border-radius: 0.4rem;\n border-style: hidden;\n border: 1px solid rgba(0,0,0,0.1);\n font-size: 94%;\n width: 100%;\n }\n\n .Table tr.small td {\n font-size: 90%;\n }\n\n .Table tr td {\n border-bottom: 1px solid rgba(0,0,0,0.1);\n word-break: break-all;\n }\n \n .Table tr:last-child td {\n border-bottom: none;\n }\n \n .Table tr td {\n padding: 0.5rem 0.9rem;\n text-align: left;\n }\n \n .Table tr td:first-child {\n width: 30%\n }\n\n .Table tr td:last-child {\n width: 70%\n }\n \n .Table .TableSubTitle {\n font-weight: 300;\n opacity: 0.7;\n }\n\n .Table tr td:last-child {\n font-weight: 500;\n }\n ";
1748
+ });
1749
+
1734
1750
  var TextButtonStyle = (function (style) {
1735
1751
  return "\n\n .TextButton {\n cursor: pointer;\n font-size: 16px;\n color: ".concat(style.colors.primary, "\n }\n\n .TextButton:hover * {\n opacity: 1.0;\n }\n ");
1736
1752
  });
@@ -1740,7 +1756,15 @@
1740
1756
  });
1741
1757
 
1742
1758
  var TokenAmountStyle = (function () {
1743
- return "\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n \n }\n ";
1759
+ return "\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n }\n ";
1760
+ });
1761
+
1762
+ var TokenImageStyle = (function (style) {
1763
+ return "\n\n .TokenImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n background: rgba(0,0,0,0.1);\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .TokenImage.medium img {\n height: 5.8rem;\n width: 5.8rem;\n }\n ";
1764
+ });
1765
+
1766
+ var TooltipStyle = (function (style) {
1767
+ return "\n\n .Tooltip {\n background: ".concat(style.colors.primary, ";\n border-radius: 0.6rem;\n color: ").concat(style.colors.buttonText, ";\n padding: 0.6rem 0.8rem;\n position: relative;\n box-shadow: 0 0 8px rgba(0,0,0,0.2);\n }\n\n .TooltipArrowUp {\n border-bottom: 10px solid ").concat(style.colors.primary, ";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n top: -8px;\n width: 0; \n }\n ");
1744
1768
  });
1745
1769
 
1746
1770
  var styleRenderer = (function (style) {
@@ -1753,7 +1777,7 @@
1753
1777
  },
1754
1778
  fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'
1755
1779
  }, style);
1756
- return [ResetStyle(), FontStyle(style), DialogStyle(), ButtonCircularStyle(), ButtonPrimaryStyle(style), CardStyle(style), PoweredByStyle(style), GraphicStyle(), SkeletonStyle(), TokenAmountStyle(), TextStyle(style), IconStyle(style), OpacityStyle(), PaddingStyle(), HeightStyle(), LabelStyle(style), LoadingTextStyle(style), RangeSliderStyle(style), InputStyle(), TextButtonStyle(style), ImageStyle(), BlockchainLogoStyle()].join('');
1780
+ return [ResetStyle(), FontStyle(style), DialogStyle(), ButtonCircularStyle(), ButtonPrimaryStyle(style), CardStyle(style), PoweredByStyle(style), GraphicStyle(), SkeletonStyle(), TokenAmountStyle(), TextStyle(style), IconStyle(style), OpacityStyle(), PaddingStyle(), HeightStyle(), LabelStyle(style), LoadingTextStyle(style), RangeSliderStyle(style), InputStyle(), TextButtonStyle(style), ImageStyle(), BlockchainLogoStyle(), SearchStyle(style), TokenImageStyle(), AlertStyle(), TableStyle(), LinkStyle(style), TooltipStyle(style)].join('');
1757
1781
  });
1758
1782
 
1759
1783
  var mount = (function (_ref, content) {
@@ -1866,7 +1890,7 @@
1866
1890
 
1867
1891
  return function (container) {
1868
1892
  return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
1869
- error: error,
1893
+ errorCallback: error,
1870
1894
  container: container,
1871
1895
  unmount: unmount
1872
1896
  }, /*#__PURE__*/React__default["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default["default"].createElement(ClosableProvider, {
@@ -2997,7 +3021,7 @@
2997
3021
  className: "LineHeightL FontSizeL"
2998
3022
  }, "Donation")),
2999
3023
  body: /*#__PURE__*/React__default["default"].createElement("div", {
3000
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
3024
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
3001
3025
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3002
3026
  className: "Card Skeleton"
3003
3027
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -3306,7 +3330,7 @@
3306
3330
  className: "LineHeightL FontSizeL"
3307
3331
  }, "Donation")),
3308
3332
  body: /*#__PURE__*/React__default["default"].createElement("div", {
3309
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
3333
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
3310
3334
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3311
3335
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
3312
3336
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -3715,7 +3739,7 @@
3715
3739
  }, function (unmount) {
3716
3740
  return function (container) {
3717
3741
  return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
3718
- error: error,
3742
+ errorCallback: error,
3719
3743
  container: container,
3720
3744
  unmount: unmount
3721
3745
  }, /*#__PURE__*/React__default["default"].createElement(ConfigurationProvider, {
@@ -3906,7 +3930,7 @@
3906
3930
 
3907
3931
  return function (container) {
3908
3932
  return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
3909
- error: error,
3933
+ errorCallback: error,
3910
3934
  container: container,
3911
3935
  unmount: unmount
3912
3936
  }, /*#__PURE__*/React__default["default"].createElement(ConfigurationProvider, {
@@ -3988,7 +4012,7 @@
3988
4012
  className: "LineHeightL FontSizeL"
3989
4013
  }, "Payment")),
3990
4014
  body: /*#__PURE__*/React__default["default"].createElement("div", {
3991
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
4015
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
3992
4016
  }, amountsMissing && /*#__PURE__*/React__default["default"].createElement("div", {
3993
4017
  className: "Card Skeleton"
3994
4018
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -4039,7 +4063,7 @@
4039
4063
  className: "LineHeightL FontSizeL"
4040
4064
  }, "Payment")),
4041
4065
  body: /*#__PURE__*/React__default["default"].createElement("div", {
4042
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
4066
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
4043
4067
  }, amountsMissing && /*#__PURE__*/React__default["default"].createElement("div", {
4044
4068
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
4045
4069
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -4186,7 +4210,7 @@
4186
4210
  }, function (unmount) {
4187
4211
  return function (container) {
4188
4212
  return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
4189
- error: error,
4213
+ errorCallback: error,
4190
4214
  container: container,
4191
4215
  unmount: unmount
4192
4216
  }, /*#__PURE__*/React__default["default"].createElement(ConfigurationProvider, {
@@ -4340,7 +4364,7 @@
4340
4364
  className: "LineHeightL FontSizeL"
4341
4365
  }, "Purchase")),
4342
4366
  body: /*#__PURE__*/React__default["default"].createElement("div", {
4343
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
4367
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
4344
4368
  }, /*#__PURE__*/React__default["default"].createElement("div", {
4345
4369
  className: "Card Skeleton",
4346
4370
  style: {
@@ -4424,7 +4448,7 @@
4424
4448
  className: "LineHeightL FontSizeL"
4425
4449
  }, "Purchase")),
4426
4450
  body: /*#__PURE__*/React__default["default"].createElement("div", {
4427
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
4451
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
4428
4452
  }, /*#__PURE__*/React__default["default"].createElement("div", {
4429
4453
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
4430
4454
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -4590,7 +4614,7 @@
4590
4614
  }, function (unmount) {
4591
4615
  return function (container) {
4592
4616
  return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
4593
- error: error,
4617
+ errorCallback: error,
4594
4618
  container: container,
4595
4619
  unmount: unmount
4596
4620
  }, /*#__PURE__*/React__default["default"].createElement(ConfigurationProvider, {
@@ -4650,12 +4674,552 @@
4650
4674
  };
4651
4675
  }();
4652
4676
 
4677
+ var SelectionContext = /*#__PURE__*/React__default["default"].createContext();
4678
+
4679
+ var SelectionProvider = (function (props) {
4680
+ var _useState = React.useState({}),
4681
+ _useState2 = _slicedToArray(_useState, 2),
4682
+ selection = _useState2[0],
4683
+ setSelection = _useState2[1];
4684
+
4685
+ return /*#__PURE__*/React__default["default"].createElement(SelectionContext.Provider, {
4686
+ value: {
4687
+ selection: selection,
4688
+ setSelection: setSelection
4689
+ }
4690
+ }, props.children);
4691
+ });
4692
+
4693
+ var msToTime = (function (ms) {
4694
+ var year, month, day, hour, minute, second;
4695
+ second = Math.floor(ms / 1000);
4696
+ minute = Math.floor(second / 60);
4697
+ second = second % 60;
4698
+ hour = Math.floor(minute / 60);
4699
+ minute = minute % 60;
4700
+ day = Math.floor(hour / 24);
4701
+ hour = hour % 24;
4702
+ month = Math.floor(day / 30);
4703
+ day = day % 30;
4704
+ year = Math.floor(month / 12);
4705
+ month = month % 12;
4706
+ return {
4707
+ year: year,
4708
+ month: month,
4709
+ day: day,
4710
+ hour: hour,
4711
+ minute: minute,
4712
+ second: second
4713
+ };
4714
+ });
4715
+
4716
+ var ConfirmTokenSelectionDialog = (function (props) {
4717
+ var _useContext = React.useContext(SelectionContext),
4718
+ selection = _useContext.selection;
4719
+
4720
+ var _useContext2 = React.useContext(ClosableContext),
4721
+ setOpen = _useContext2.setOpen;
4722
+
4723
+ var token = selection.token;
4724
+ var address = token.address || token.external_id;
4725
+ var logo = token.logo || token.image;
4726
+ var blockchain = web3Blockchains.Blockchain.findByName(token.blockchain);
4727
+ var age = token.first_transfer ? msToTime(new Date() - new Date(token.first_transfer)) : undefined;
4728
+
4729
+ if (age) {
4730
+ age = [age.year && age.year >= 1 ? age.year >= 2 ? "".concat(age.year, " years") : "1 year" : undefined, age.month && age.month >= 1 ? age.month >= 2 ? "".concat(age.month, " months") : "1 month" : undefined, age.day && age.day >= 1 && age.month <= 1 && age.year < 1 ? age.day >= 2 ? "".concat(age.day, " days !!!") : "1 day !!!" : undefined].filter(function (n) {
4731
+ return n;
4732
+ }).join(' ');
4733
+ }
4734
+
4735
+ var holders = token.unique_senders ? token.unique_senders : undefined;
4736
+
4737
+ if (holders) {
4738
+ if (holders > 1000000) {
4739
+ holders = "Millions";
4740
+ } else if (holders > 100000) {
4741
+ holders = "Hundreds of Thousands";
4742
+ } else if (holders > 2000) {
4743
+ holders = "Thousands";
4744
+ } else if (holders > 100) {
4745
+ holders = "Hundreds";
4746
+ } else {
4747
+ holders = "Only a Few!!!";
4748
+ }
4749
+ }
4750
+
4751
+ var onClickConfirm = function onClickConfirm() {
4752
+ setOpen(false);
4753
+ props.resolve({
4754
+ blockchain: token.blockchain,
4755
+ address: token.external_id,
4756
+ symbol: token.symbol,
4757
+ name: token.name,
4758
+ decimals: token.decimals,
4759
+ logo: token.image
4760
+ });
4761
+ setTimeout(props.unmount, 300);
4762
+ };
4763
+
4764
+ return /*#__PURE__*/React__default["default"].createElement(Dialog$1, {
4765
+ header: /*#__PURE__*/React__default["default"].createElement("div", {
4766
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
4767
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("h1", {
4768
+ className: "LineHeightL FontSizeL"
4769
+ }, "Confirm Selection"))),
4770
+ stacked: true,
4771
+ body: /*#__PURE__*/React__default["default"].createElement("div", {
4772
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
4773
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4774
+ className: "TokenImage medium"
4775
+ }, logo && /*#__PURE__*/React__default["default"].createElement("img", {
4776
+ src: logo
4777
+ }), !logo && /*#__PURE__*/React__default["default"].createElement(reactTokenImage.TokenImage, {
4778
+ blockchain: token.blockchain,
4779
+ address: address
4780
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
4781
+ className: "PaddingTopS"
4782
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4783
+ className: "Alert"
4784
+ }, /*#__PURE__*/React__default["default"].createElement("strong", null, "Please review this information"))), /*#__PURE__*/React__default["default"].createElement("div", {
4785
+ className: "PaddingTopXS"
4786
+ }, /*#__PURE__*/React__default["default"].createElement("table", {
4787
+ className: "Table"
4788
+ }, /*#__PURE__*/React__default["default"].createElement("tbody", null, /*#__PURE__*/React__default["default"].createElement("tr", {
4789
+ className: "small"
4790
+ }, /*#__PURE__*/React__default["default"].createElement("td", {
4791
+ colSpan: "2"
4792
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("a", {
4793
+ className: "Link",
4794
+ href: blockchain.explorerUrlFor({
4795
+ token: address
4796
+ }),
4797
+ target: "_blank",
4798
+ rel: "noopener noreferrer"
4799
+ }, address)))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", {
4800
+ className: "TableSubTitle"
4801
+ }, "Blockchain")), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", null, blockchain.label))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", {
4802
+ className: "TableSubTitle"
4803
+ }, "Symbol")), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", null, token.symbol))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", {
4804
+ className: "TableSubTitle"
4805
+ }, "Name")), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", null, token.name))), age && /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", {
4806
+ className: "TableSubTitle"
4807
+ }, "Age")), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", null, age))), holders && /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", {
4808
+ className: "TableSubTitle"
4809
+ }, "Holders")), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("div", null, holders))))))),
4810
+ footer: /*#__PURE__*/React__default["default"].createElement("div", {
4811
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
4812
+ }, /*#__PURE__*/React__default["default"].createElement("button", {
4813
+ className: "ButtonPrimary",
4814
+ onClick: onClickConfirm
4815
+ }, "Confirm"))
4816
+ });
4817
+ });
4818
+
4819
+ var SelectBlockchainDialog = (function (props) {
4820
+ var _useContext = React.useContext(SelectionContext),
4821
+ setSelection = _useContext.setSelection;
4822
+
4823
+ var _useContext2 = React.useContext(reactDialogStack.NavigateStackContext),
4824
+ navigate = _useContext2.navigate;
4825
+
4826
+ var stacked = Object.keys(props.selection).length > 1;
4827
+ var blockchains = [web3Blockchains.Blockchain.findByName('ethereum'), web3Blockchains.Blockchain.findByName('bsc')];
4828
+
4829
+ var selectBlockchain = function selectBlockchain(blockchain) {
4830
+ setSelection(Object.assign(props.selection, {
4831
+ blockchain: blockchain
4832
+ }));
4833
+
4834
+ if (stacked) {
4835
+ navigate('back');
4836
+ } else {
4837
+ props.resolve(blockchain);
4838
+ }
4839
+ };
4840
+
4841
+ var elements = blockchains.map(function (blockchain, index) {
4842
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4843
+ key: index,
4844
+ className: "Card Row",
4845
+ onClick: function onClick() {
4846
+ return selectBlockchain(blockchain);
4847
+ }
4848
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4849
+ className: "CardImage"
4850
+ }, /*#__PURE__*/React__default["default"].createElement("img", {
4851
+ className: "transparent",
4852
+ src: blockchain.logo
4853
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
4854
+ className: "CardBody"
4855
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
4856
+ className: "CardText"
4857
+ }, blockchain.label)));
4858
+ });
4859
+ return /*#__PURE__*/React__default["default"].createElement(Dialog$1, {
4860
+ header: /*#__PURE__*/React__default["default"].createElement("div", {
4861
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
4862
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("h1", {
4863
+ className: "LineHeightL FontSizeL"
4864
+ }, "Select Blockchain"))),
4865
+ stacked: stacked,
4866
+ bodyClassName: "ScrollHeight",
4867
+ body: /*#__PURE__*/React__default["default"].createElement("div", {
4868
+ className: "PaddingTopS"
4869
+ }, elements),
4870
+ footer: /*#__PURE__*/React__default["default"].createElement("div", {
4871
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
4872
+ })
4873
+ });
4874
+ });
4875
+
4876
+ var SelectTokenDialog = (function (props) {
4877
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
4878
+ navigate = _useContext.navigate;
4879
+
4880
+ var _useContext2 = React.useContext(ClosableContext),
4881
+ setOpen = _useContext2.setOpen;
4882
+
4883
+ var _useContext3 = React.useContext(SelectionContext),
4884
+ setSelection = _useContext3.setSelection;
4885
+
4886
+ var _useState = React.useState(web3Blockchains.Blockchain.findByName('ethereum')),
4887
+ _useState2 = _slicedToArray(_useState, 2),
4888
+ blockchain = _useState2[0],
4889
+ setBlockchain = _useState2[1];
4890
+
4891
+ var _useState3 = React.useState(),
4892
+ _useState4 = _slicedToArray(_useState3, 2),
4893
+ requestController = _useState4[0],
4894
+ setRequestController = _useState4[1];
4895
+
4896
+ var _useState5 = React.useState(false),
4897
+ _useState6 = _slicedToArray(_useState5, 2),
4898
+ showAddToken = _useState6[0],
4899
+ setShowAddToken = _useState6[1];
4900
+
4901
+ var _useState7 = React.useState([]),
4902
+ _useState8 = _slicedToArray(_useState7, 2),
4903
+ tokens = _useState8[0],
4904
+ setTokens = _useState8[1];
4905
+
4906
+ var _useState9 = React.useState(),
4907
+ _useState10 = _slicedToArray(_useState9, 2);
4908
+ _useState10[0];
4909
+ _useState10[1];
4910
+
4911
+ var searchElement = React.useRef();
4912
+ React.useEffect(function () {
4913
+ setSelection(Object.assign(props.selection, {
4914
+ blockchain: blockchain,
4915
+ token: undefined
4916
+ }));
4917
+ }, []);
4918
+ React.useEffect(function () {
4919
+ setBlockchain(props.selection.blockchain);
4920
+ setTokens(props.selection.blockchain.tokens);
4921
+
4922
+ if (searchElement.current) {
4923
+ searchElement.current.value = '';
4924
+ searchElement.current.focus();
4925
+ }
4926
+ }, [props.selection.blockchain]);
4927
+
4928
+ var onClickChangeBlockchain = function onClickChangeBlockchain() {
4929
+ navigate('SelectBlockchain');
4930
+ };
4931
+
4932
+ var onClickAddToken = function onClickAddToken() {
4933
+ setShowAddToken(true);
4934
+
4935
+ if (searchElement.current) {
4936
+ searchElement.current.value = '';
4937
+ searchElement.current.focus();
4938
+ }
4939
+ };
4940
+
4941
+ var onChangeSearch = function onChangeSearch(event) {
4942
+ if (requestController) {
4943
+ requestController.abort();
4944
+ }
4945
+
4946
+ var newRequestController = new AbortController();
4947
+ setRequestController(newRequestController);
4948
+ var signal = newRequestController.signal;
4949
+ var term = event.target.value;
4950
+
4951
+ if (term.match(/^0x/)) {
4952
+ setTokens([]);
4953
+ var token;
4954
+
4955
+ try {
4956
+ token = new web3Tokens.Token({
4957
+ blockchain: blockchain.name,
4958
+ address: term
4959
+ });
4960
+ } catch (_unused) {}
4961
+
4962
+ if (token == undefined) {
4963
+ return;
4964
+ }
4965
+
4966
+ Promise.all([token.name(), token.symbol(), token.decimals()]).then(function (_ref) {
4967
+ var _ref2 = _slicedToArray(_ref, 3),
4968
+ name = _ref2[0],
4969
+ symbol = _ref2[1],
4970
+ decimals = _ref2[2];
4971
+
4972
+ setTokens([{
4973
+ name: name,
4974
+ symbol: symbol,
4975
+ decimals: decimals,
4976
+ address: term,
4977
+ blockchain: blockchain.name
4978
+ }]);
4979
+ });
4980
+ } else if (term && term.length) {
4981
+ setTokens([]);
4982
+ fetch("https://api.depay.fi/v2/tokens/search?blockchain=".concat(blockchain.name, "&term=").concat(term), {
4983
+ signal: signal,
4984
+ headers: {
4985
+ 'X-Api-Key': apiKey
4986
+ }
4987
+ }).then(function (response) {
4988
+ if (response.status == 200) {
4989
+ response.json().then(function (tokens) {
4990
+ setTokens(tokens);
4991
+ });
4992
+ }
4993
+ })["catch"](function () {});
4994
+ } else {
4995
+ setTokens(props.selection.blockchain.tokens);
4996
+ }
4997
+ };
4998
+
4999
+ var select = function select(token) {
5000
+ if (blockchain.tokens.find(function (majorToken) {
5001
+ return majorToken.address.toLowerCase() == (token.address || token.external_id).toLowerCase();
5002
+ })) {
5003
+ setOpen(false);
5004
+ props.resolve({
5005
+ blockchain: blockchain.name,
5006
+ address: token.address || token.external_id,
5007
+ logo: token.logo || token.image,
5008
+ name: token.name,
5009
+ symbol: token.symbol,
5010
+ decimals: token.decimals
5011
+ });
5012
+ setTimeout(props.unmount, 300);
5013
+ } else {
5014
+ setSelection(Object.assign(props.selection, {
5015
+ token: token
5016
+ }));
5017
+ navigate('ConfirmTokenSelection');
5018
+ }
5019
+ };
5020
+
5021
+ var elements = tokens.map(function (token, index) {
5022
+ return /*#__PURE__*/React__default["default"].createElement("div", {
5023
+ key: "".concat(index, "-").concat(token.address),
5024
+ className: "Card Row",
5025
+ onClick: function onClick() {
5026
+ return select(token);
5027
+ }
5028
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5029
+ className: "CardImage"
5030
+ }, token.logo && /*#__PURE__*/React__default["default"].createElement("img", {
5031
+ src: token.logo
5032
+ }), token.image && /*#__PURE__*/React__default["default"].createElement("img", {
5033
+ src: token.image
5034
+ }), !(token.logo || token.image) && /*#__PURE__*/React__default["default"].createElement(reactTokenImage.TokenImage, {
5035
+ blockchain: token.blockchain,
5036
+ address: token.external_id || token.address
5037
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
5038
+ className: "CardBody"
5039
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5040
+ className: "CardTokenSymbol",
5041
+ title: token.symbol
5042
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
5043
+ className: "CardText"
5044
+ }, token.symbol)), /*#__PURE__*/React__default["default"].createElement("div", {
5045
+ className: "CardTokenName",
5046
+ title: token.name
5047
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
5048
+ className: "CardText"
5049
+ }, token.name))));
5050
+ });
5051
+
5052
+ if (props.selection.blockchain == undefined) {
5053
+ return null;
5054
+ }
5055
+
5056
+ return /*#__PURE__*/React__default["default"].createElement(Dialog$1, {
5057
+ header: /*#__PURE__*/React__default["default"].createElement("div", {
5058
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
5059
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("h1", {
5060
+ className: "LineHeightL FontSizeL"
5061
+ }, "Select Token")), /*#__PURE__*/React__default["default"].createElement("div", {
5062
+ className: "PaddingTopS PaddingBottomXS"
5063
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5064
+ className: "Card small",
5065
+ onClick: onClickChangeBlockchain
5066
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5067
+ className: "CardImage small"
5068
+ }, /*#__PURE__*/React__default["default"].createElement("img", {
5069
+ className: "transparent",
5070
+ src: props.selection.blockchain.logo
5071
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
5072
+ className: "CardBody"
5073
+ }, props.selection.blockchain.label), /*#__PURE__*/React__default["default"].createElement("div", {
5074
+ className: "CardAction"
5075
+ }, /*#__PURE__*/React__default["default"].createElement(ChevronRight, null)))), /*#__PURE__*/React__default["default"].createElement("div", {
5076
+ className: "PaddingTopXS PaddingBottomS"
5077
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
5078
+ onChange: onChangeSearch,
5079
+ className: "Search",
5080
+ autoFocus: true,
5081
+ placeholder: "Search name or paste address",
5082
+ ref: searchElement
5083
+ }), showAddToken && /*#__PURE__*/React__default["default"].createElement("div", {
5084
+ className: "PaddingTopXS PaddingRightXS PaddingLeftXS"
5085
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5086
+ className: "Tooltip"
5087
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
5088
+ className: "TooltipArrowUp"
5089
+ }), "Paste or enter token address here!")))),
5090
+ bodyClassName: "ScrollHeight",
5091
+ body: /*#__PURE__*/React__default["default"].createElement("div", {
5092
+ className: ""
5093
+ }, elements),
5094
+ footer: /*#__PURE__*/React__default["default"].createElement("div", {
5095
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
5096
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5097
+ className: "PaddingTopXS PaddingBottomXS"
5098
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
5099
+ className: "Link",
5100
+ onClick: onClickAddToken
5101
+ }, "Token missing? Add it.")))
5102
+ });
5103
+ });
5104
+
5105
+ var SelectStack = (function (props) {
5106
+ var _useContext = React.useContext(ConfigurationContext),
5107
+ what = _useContext.what;
5108
+
5109
+ var _useContext2 = React.useContext(ClosableContext),
5110
+ open = _useContext2.open,
5111
+ close = _useContext2.close;
5112
+
5113
+ var _useContext3 = React.useContext(SelectionContext),
5114
+ selection = _useContext3.selection;
5115
+
5116
+ var start;
5117
+
5118
+ switch (what) {
5119
+ default:
5120
+ start = 'SelectToken';
5121
+ }
5122
+
5123
+ return /*#__PURE__*/React__default["default"].createElement(reactDialogStack.ReactDialogStack, {
5124
+ open: open,
5125
+ close: close,
5126
+ start: start,
5127
+ container: props.container,
5128
+ document: props.document,
5129
+ dialogs: {
5130
+ SelectToken: /*#__PURE__*/React__default["default"].createElement(SelectTokenDialog, {
5131
+ selection: selection,
5132
+ resolve: props.resolve,
5133
+ unmount: props.unmount
5134
+ }),
5135
+ SelectBlockchain: /*#__PURE__*/React__default["default"].createElement(SelectBlockchainDialog, {
5136
+ selection: selection,
5137
+ resolve: props.resolve
5138
+ }),
5139
+ ConfirmTokenSelection: /*#__PURE__*/React__default["default"].createElement(ConfirmTokenSelectionDialog, {
5140
+ selection: selection,
5141
+ resolve: props.resolve,
5142
+ unmount: props.unmount
5143
+ })
5144
+ }
5145
+ });
5146
+ });
5147
+
5148
+ var Select = function Select(options) {
5149
+ var style, error, document, what;
5150
+
5151
+ if (_typeof(options) == 'object') {
5152
+ style = options.style;
5153
+ error = options.error;
5154
+ document = options.document;
5155
+ what = options.what;
5156
+ }
5157
+
5158
+ var startupError;
5159
+
5160
+ if (what == undefined) {
5161
+ startupError = '"what" needs to be configured!';
5162
+ } else if (['token'].indexOf(what) < 0) {
5163
+ startupError = "Unknown \"what\" configured: ".concat(what, "!");
5164
+ }
5165
+
5166
+ return new Promise( /*#__PURE__*/function () {
5167
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(resolve, reject) {
5168
+ return regenerator.wrap(function _callee$(_context) {
5169
+ while (1) {
5170
+ switch (_context.prev = _context.next) {
5171
+ case 0:
5172
+ mount({
5173
+ style: style,
5174
+ document: ensureDocument(document)
5175
+ }, function (unmount) {
5176
+ var userClosedDialog = function userClosedDialog() {
5177
+ reject('USER_CLOSED_DIALOG');
5178
+ unmount();
5179
+ };
5180
+
5181
+ return function (container) {
5182
+ return /*#__PURE__*/React__default["default"].createElement(ErrorProvider, {
5183
+ error: startupError,
5184
+ errorCallback: error,
5185
+ container: container,
5186
+ unmount: unmount
5187
+ }, /*#__PURE__*/React__default["default"].createElement(ConfigurationProvider, {
5188
+ configuration: {
5189
+ what: what
5190
+ }
5191
+ }, /*#__PURE__*/React__default["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default["default"].createElement(ClosableProvider, {
5192
+ unmount: userClosedDialog
5193
+ }, /*#__PURE__*/React__default["default"].createElement(SelectionProvider, null, /*#__PURE__*/React__default["default"].createElement(SelectStack, {
5194
+ document: document,
5195
+ container: container,
5196
+ unmount: unmount,
5197
+ resolve: resolve
5198
+ })), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null)))));
5199
+ };
5200
+ });
5201
+
5202
+ case 1:
5203
+ case "end":
5204
+ return _context.stop();
5205
+ }
5206
+ }
5207
+ }, _callee);
5208
+ }));
5209
+
5210
+ return function (_x, _x2) {
5211
+ return _ref.apply(this, arguments);
5212
+ };
5213
+ }());
5214
+ };
5215
+
4653
5216
  var DePayWidgets = {
4654
5217
  Connect: Connect,
4655
5218
  Donation: Donation,
4656
5219
  Login: Login,
4657
5220
  Payment: Payment,
4658
5221
  Sale: Sale,
5222
+ Select: Select,
4659
5223
  provider: web3Client.provider
4660
5224
  };
4661
5225