@depay/widgets 9.0.0 → 9.0.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.
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useContext, useEffect, useCallback, useRef } from 'react';
2
2
  import { NavigateStackContext, ReactDialogStack } from '@depay/react-dialog-stack';
3
- import { getWallets, wallets } from '@depay/web3-wallets';
3
+ import { getWallets, getConnectedWallets, wallets } from '@depay/web3-wallets';
4
4
  import ReactDOM from 'react-dom';
5
5
  import { ReactShadowDOM } from '@depay/react-shadow-dom';
6
6
  import { ethers } from 'ethers';
@@ -653,23 +653,27 @@ var SelectWalletDialog = (function (props) {
653
653
  var wallet = getWallets()[0];
654
654
  useEffect(function () {
655
655
  _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
656
- var account;
656
+ var connectedWallets, account;
657
657
  return regenerator.wrap(function _callee$(_context) {
658
658
  while (1) switch (_context.prev = _context.next) {
659
659
  case 0:
660
- if (!wallet) {
661
- _context.next = 5;
660
+ _context.next = 2;
661
+ return getConnectedWallets();
662
+ case 2:
663
+ connectedWallets = _context.sent;
664
+ if (!(wallet && connectedWallets == 0)) {
665
+ _context.next = 8;
662
666
  break;
663
667
  }
664
- _context.next = 3;
668
+ _context.next = 6;
665
669
  return wallet.account();
666
- case 3:
670
+ case 6:
667
671
  account = _context.sent;
668
672
  if (account == undefined) {
669
673
  navigate('ConnectingWallet');
670
674
  props.connect(wallet);
671
675
  }
672
- case 5:
676
+ case 8:
673
677
  case "end":
674
678
  return _context.stop();
675
679
  }
@@ -1398,28 +1402,28 @@ var Connect = function Connect(options) {
1398
1402
  }
1399
1403
  return new Promise( /*#__PURE__*/function () {
1400
1404
  var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(resolve, reject) {
1401
- var wallet, account;
1405
+ var connectedWallets, wallet, account;
1402
1406
  return regenerator.wrap(function _callee$(_context) {
1403
1407
  while (1) switch (_context.prev = _context.next) {
1404
1408
  case 0:
1405
- wallet = getWallets()[0];
1406
- if (!wallet) {
1407
- _context.next = 7;
1409
+ _context.next = 2;
1410
+ return getConnectedWallets();
1411
+ case 2:
1412
+ connectedWallets = _context.sent;
1413
+ if (!(connectedWallets && connectedWallets.length == 1)) {
1414
+ _context.next = 9;
1408
1415
  break;
1409
1416
  }
1410
- _context.next = 4;
1417
+ wallet = connectedWallets[0];
1418
+ _context.next = 7;
1411
1419
  return wallet.account();
1412
- case 4:
1420
+ case 7:
1413
1421
  account = _context.sent;
1414
- if (!account) {
1415
- _context.next = 7;
1416
- break;
1417
- }
1418
1422
  return _context.abrupt("return", resolve({
1419
1423
  wallet: wallet,
1420
1424
  account: account
1421
1425
  }));
1422
- case 7:
1426
+ case 9:
1423
1427
  mount({
1424
1428
  style: style,
1425
1429
  document: ensureDocument(document)
@@ -1444,7 +1448,7 @@ var Connect = function Connect(options) {
1444
1448
  }), /*#__PURE__*/React.createElement(PoweredBy, null))));
1445
1449
  };
1446
1450
  });
1447
- case 8:
1451
+ case 10:
1448
1452
  case "end":
1449
1453
  return _context.stop();
1450
1454
  }
@@ -21109,7 +21113,45 @@ var WalletProvider = (function (props) {
21109
21113
  props.connected(account);
21110
21114
  }
21111
21115
  };
21112
- if (walletState == 'connected' || recover != undefined) {
21116
+ useEffect(function () {
21117
+ if (recover == undefined || typeof recover == 'function') {
21118
+ var selectConnectedWallet = /*#__PURE__*/function () {
21119
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
21120
+ var connectedWallets, _wallet, _account;
21121
+ return regenerator.wrap(function _callee$(_context) {
21122
+ while (1) switch (_context.prev = _context.next) {
21123
+ case 0:
21124
+ _context.next = 2;
21125
+ return getConnectedWallets();
21126
+ case 2:
21127
+ connectedWallets = _context.sent;
21128
+ if (!(connectedWallets && connectedWallets.length == 1)) {
21129
+ _context.next = 9;
21130
+ break;
21131
+ }
21132
+ _wallet = connectedWallets[0];
21133
+ _context.next = 7;
21134
+ return _wallet.account();
21135
+ case 7:
21136
+ _account = _context.sent;
21137
+ connected({
21138
+ account: _account,
21139
+ wallet: _wallet
21140
+ });
21141
+ case 9:
21142
+ case "end":
21143
+ return _context.stop();
21144
+ }
21145
+ }, _callee);
21146
+ }));
21147
+ return function selectConnectedWallet() {
21148
+ return _ref2.apply(this, arguments);
21149
+ };
21150
+ }();
21151
+ selectConnectedWallet();
21152
+ }
21153
+ }, []);
21154
+ if (walletState == 'connected' || recover != undefined && typeof recover != 'function') {
21113
21155
  return /*#__PURE__*/React.createElement(WalletContext.Provider, {
21114
21156
  value: {
21115
21157
  account: account,
@@ -21257,7 +21299,11 @@ var SignLoginDialog = (function (props) {
21257
21299
  endpoint = _useContext2.endpoint;
21258
21300
  var _useContext3 = useContext(ConfigurationContext),
21259
21301
  recover = _useContext3.recover;
21260
- var wallet = getWallets()[0];
21302
+ var _useContext4 = useContext(WalletContext),
21303
+ wallet = _useContext4.wallet;
21304
+ if (!wallet) {
21305
+ return null;
21306
+ }
21261
21307
  wallet !== null && wallet !== void 0 && wallet.name ? wallet.name : 'wallet';
21262
21308
  var walletLogo = wallet !== null && wallet !== void 0 && wallet.logo ? wallet.logo : undefined;
21263
21309
  if (typeof recover != 'function') {
@@ -21328,10 +21374,6 @@ var LoginStack = (function (props) {
21328
21374
  var _useContext = useContext(ClosableContext),
21329
21375
  open = _useContext.open,
21330
21376
  close = _useContext.close;
21331
- var _useState = useState(true),
21332
- _useState2 = _slicedToArray(_useState, 2);
21333
- _useState2[0];
21334
- _useState2[1];
21335
21377
  return /*#__PURE__*/React.createElement(ReactDialogStack, {
21336
21378
  open: open,
21337
21379
  close: close,
@@ -21363,39 +21405,40 @@ var Login = function Login(options) {
21363
21405
  return regenerator.wrap(function _callee$(_context) {
21364
21406
  while (1) switch (_context.prev = _context.next) {
21365
21407
  case 0:
21366
- Connect().then(function () {
21367
- mount({
21368
- style: style,
21369
- document: ensureDocument(document)
21370
- }, function (unmount) {
21371
- var userClosedDialog = function userClosedDialog() {
21372
- reject('USER_CLOSED_DIALOG');
21373
- unmount();
21374
- };
21375
- return function (container) {
21376
- return /*#__PURE__*/React.createElement(ErrorProvider, {
21377
- errorCallback: error,
21378
- container: container,
21379
- unmount: unmount
21380
- }, /*#__PURE__*/React.createElement(ConfigurationProvider, {
21381
- configuration: {
21382
- message: message,
21383
- endpoint: endpoint || '/login',
21384
- recover: recover
21385
- }
21386
- }, /*#__PURE__*/React.createElement(UpdatableProvider, null, /*#__PURE__*/React.createElement(ClosableProvider, {
21387
- unmount: userClosedDialog
21388
- }, /*#__PURE__*/React.createElement(LoginStack, {
21389
- document: document,
21390
- container: container,
21391
- resolve: function resolve(account) {
21392
- unmount();
21393
- _resolve(account);
21394
- }
21395
- }), /*#__PURE__*/React.createElement(PoweredBy, null)))));
21396
- };
21397
- });
21398
- })["catch"](reject);
21408
+ mount({
21409
+ style: style,
21410
+ document: ensureDocument(document)
21411
+ }, function (unmount) {
21412
+ var userClosedDialog = function userClosedDialog() {
21413
+ reject('USER_CLOSED_DIALOG');
21414
+ unmount();
21415
+ };
21416
+ return function (container) {
21417
+ return /*#__PURE__*/React.createElement(ErrorProvider, {
21418
+ errorCallback: error,
21419
+ container: container,
21420
+ unmount: unmount
21421
+ }, /*#__PURE__*/React.createElement(ConfigurationProvider, {
21422
+ configuration: {
21423
+ message: message,
21424
+ endpoint: endpoint || '/login',
21425
+ recover: recover
21426
+ }
21427
+ }, /*#__PURE__*/React.createElement(UpdatableProvider, null, /*#__PURE__*/React.createElement(ClosableProvider, {
21428
+ unmount: userClosedDialog
21429
+ }, /*#__PURE__*/React.createElement(WalletProvider, {
21430
+ container: container,
21431
+ unmount: unmount
21432
+ }, /*#__PURE__*/React.createElement(LoginStack, {
21433
+ document: document,
21434
+ container: container,
21435
+ resolve: function resolve(account) {
21436
+ unmount();
21437
+ _resolve(account);
21438
+ }
21439
+ }), /*#__PURE__*/React.createElement(PoweredBy, null))))));
21440
+ };
21441
+ });
21399
21442
  case 1:
21400
21443
  case "end":
21401
21444
  return _context.stop();