@xyo-network/react-connected-accounts 2.67.6 → 2.67.7

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 (43) hide show
  1. package/dist/browser/classes/EnabledWallets.d.cts.map +1 -1
  2. package/dist/browser/classes/EnabledWallets.d.mts.map +1 -1
  3. package/dist/browser/classes/EnabledWallets.d.ts.map +1 -1
  4. package/dist/browser/hooks/useDetectWallets.d.cts.map +1 -1
  5. package/dist/browser/hooks/useDetectWallets.d.mts.map +1 -1
  6. package/dist/browser/hooks/useDetectWallets.d.ts.map +1 -1
  7. package/dist/browser/hooks/useEnabledWallets.d.cts.map +1 -1
  8. package/dist/browser/hooks/useEnabledWallets.d.mts.map +1 -1
  9. package/dist/browser/hooks/useEnabledWallets.d.ts.map +1 -1
  10. package/dist/browser/img/index.d.cts +2 -3
  11. package/dist/browser/img/index.d.cts.map +1 -1
  12. package/dist/browser/img/index.d.mts +2 -3
  13. package/dist/browser/img/index.d.mts.map +1 -1
  14. package/dist/browser/img/index.d.ts +2 -3
  15. package/dist/browser/img/index.d.ts.map +1 -1
  16. package/dist/browser/index.cjs +17 -10
  17. package/dist/browser/index.cjs.map +1 -1
  18. package/dist/browser/index.js +20 -13
  19. package/dist/browser/index.js.map +1 -1
  20. package/dist/node/classes/EnabledWallets.d.cts.map +1 -1
  21. package/dist/node/classes/EnabledWallets.d.mts.map +1 -1
  22. package/dist/node/classes/EnabledWallets.d.ts.map +1 -1
  23. package/dist/node/hooks/useDetectWallets.d.cts.map +1 -1
  24. package/dist/node/hooks/useDetectWallets.d.mts.map +1 -1
  25. package/dist/node/hooks/useDetectWallets.d.ts.map +1 -1
  26. package/dist/node/hooks/useEnabledWallets.d.cts.map +1 -1
  27. package/dist/node/hooks/useEnabledWallets.d.mts.map +1 -1
  28. package/dist/node/hooks/useEnabledWallets.d.ts.map +1 -1
  29. package/dist/node/img/index.d.cts +2 -3
  30. package/dist/node/img/index.d.cts.map +1 -1
  31. package/dist/node/img/index.d.mts +2 -3
  32. package/dist/node/img/index.d.mts.map +1 -1
  33. package/dist/node/img/index.d.ts +2 -3
  34. package/dist/node/img/index.d.ts.map +1 -1
  35. package/dist/node/index.cjs +17 -10
  36. package/dist/node/index.cjs.map +1 -1
  37. package/dist/node/index.js +20 -13
  38. package/dist/node/index.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/classes/EnabledWallets.ts +2 -0
  41. package/src/hooks/useDetectWallets.tsx +1 -0
  42. package/src/hooks/useEnabledWallets.tsx +2 -1
  43. package/src/img/index.ts +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAgBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAiBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAWvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAgBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAiBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAWvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAgBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAiBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAWvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AASxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
1
+ {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AAUxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AASxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
1
+ {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AAUxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AASxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
1
+ {"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,gBAAgB,EAAsB,MAAM,sBAAsB,CAAA;AAUxH,eAAO,MAAM,kBAAkB;;;CA8B9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAiB9E,CAAA"}
1
+ {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAkB9E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAiB9E,CAAA"}
1
+ {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAkB9E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAiB9E,CAAA"}
1
+ {"version":3,"file":"useEnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEnabledWallets.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1G;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,wBAAwB,2BAYnF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,wBAAyB,wBAAwB;;;;;CAkB9E,CAAA"}
@@ -1,4 +1,3 @@
1
- import xyoColorLogo from './xyo-color-logo.svg';
2
- import xyoColorLogoText from './xyo-color-logo-text-only.svg';
3
- export { xyoColorLogo, xyoColorLogoText };
1
+ export { default as xyoColorLogo } from './xyo-color-logo.svg';
2
+ export { default as xyoColorLogoText } from './xyo-color-logo-text-only.svg';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAA"}
@@ -1,4 +1,3 @@
1
- import xyoColorLogo from './xyo-color-logo.svg';
2
- import xyoColorLogoText from './xyo-color-logo-text-only.svg';
3
- export { xyoColorLogo, xyoColorLogoText };
1
+ export { default as xyoColorLogo } from './xyo-color-logo.svg';
2
+ export { default as xyoColorLogoText } from './xyo-color-logo-text-only.svg';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAA"}
@@ -1,4 +1,3 @@
1
- import xyoColorLogo from './xyo-color-logo.svg';
2
- import xyoColorLogoText from './xyo-color-logo-text-only.svg';
3
- export { xyoColorLogo, xyoColorLogoText };
1
+ export { default as xyoColorLogo } from './xyo-color-logo.svg';
2
+ export { default as xyoColorLogoText } from './xyo-color-logo-text-only.svg';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAA"}
@@ -146,10 +146,13 @@ var import_react7 = require("react");
146
146
  // src/hooks/useDetectWallets.tsx
147
147
  var import_react_crypto = require("@xylabs/react-crypto");
148
148
  var import_react = require("react");
149
- var sortWallets = (wallets) => Object.values(wallets).reduce((acc, wallet) => {
150
- wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet);
151
- return acc;
152
- }, []);
149
+ var sortWallets = (wallets) => (
150
+ // eslint-disable-next-line unicorn/no-array-reduce
151
+ Object.values(wallets).reduce((acc, wallet) => {
152
+ wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet);
153
+ return acc;
154
+ }, [])
155
+ );
153
156
  var useDetectedWallets = () => {
154
157
  const wallets = (0, import_react_crypto.useWalletDiscovery)();
155
158
  const [refresh, setRefresh] = (0, import_react.useState)(0);
@@ -183,7 +186,8 @@ var useEnabledWalletsInner = (enabledWalletsRdns) => {
183
186
  if (enabledEthWallets === void 0)
184
187
  enabledEthWallets = new EnabledEthWalletConnections();
185
188
  enabledEthWallets.resetWallets(discoveredWallets);
186
- Object.entries(enabledWalletsRdns ?? {}).forEach(([rdns, enabled]) => enabledEthWallets?.toggleEnabledWallet(rdns, enabled));
189
+ for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {}))
190
+ enabledEthWallets?.toggleEnabledWallet(rdns, enabled);
187
191
  return enabledEthWallets;
188
192
  }, [discoveredWallets, enabledWalletsRdns]);
189
193
  return (0, import_react2.useSyncExternalStore)(wallets.subscribe.bind(wallets), () => wallets.wallets);
@@ -191,11 +195,14 @@ var useEnabledWalletsInner = (enabledWalletsRdns) => {
191
195
  var useEnabledWallets = (enabledWalletsRdns) => {
192
196
  const wallets = useEnabledWalletsInner(enabledWalletsRdns);
193
197
  const enabledWallets = (0, import_react2.useMemo)(
194
- () => Object.entries(wallets).reduce((acc, [walletName, wallet]) => {
195
- if (wallet.enabled)
196
- acc[walletName] = wallet;
197
- return acc;
198
- }, {}),
198
+ () => (
199
+ // eslint-disable-next-line unicorn/no-array-reduce
200
+ Object.entries(wallets).reduce((acc, [walletName, wallet]) => {
201
+ if (wallet.enabled)
202
+ acc[walletName] = wallet;
203
+ return acc;
204
+ }, {})
205
+ ),
199
206
  [wallets]
200
207
  );
201
208
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/classes/EnabledWallets.ts","../../src/components/ConnectedAccountsFlexbox.tsx","../../src/hooks/useDetectWallets.tsx","../../src/hooks/useEnabledWallets.tsx","../../src/components/wallet/dialogs/connect/CheckboxFormControl.tsx","../../src/components/wallet/dialogs/connect/Dialog.tsx","../../src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx","../../src/img/index.ts","../../src/components/wallet/dialogs/connect/Permissions.tsx","../../src/components/wallet/dialogs/revoke/Dialog.tsx","../../src/components/wallet/table/cells/Accounts.tsx","../../src/components/wallet/table/cells/Actions.tsx","../../src/components/wallet/table/cells/ChainName.tsx","../../src/components/wallet/table/cells/State.tsx","../../src/components/wallet/table/cells/Wallet.tsx","../../src/components/wallet/table/cells/Cells.tsx","../../src/components/wallet/table/ConnectedWalletsTable.tsx","../../src/components/wallet/lib/TableHeadData.ts","../../src/components/wallet/table/ConnectedWalletsTableRow.tsx","../../src/components/wallet/table/hooks/useActiveProviderDialogState.tsx"],"sourcesContent":["export * from './classes'\nexport * from './components'\nexport * from './hooks'\n","import { DiscoveredWallets, EIP6963Connector } from '@xylabs/react-crypto'\n\nconst DEFAULT_LOCAL_STORAGE_KEY = 'XYO|EnabledWallets'\n\n/**\n * State for storing wallets and their enabled/disabled status by name\n */\nexport interface EnabledEthWalletsState {\n [rdns: string]: {\n enabled: boolean\n wallet: EIP6963Connector\n }\n}\n\n/**\n * State for storing only enabled/disabled status of a wallet by name\n */\nexport interface EnabledWalletsSavedState {\n [rdns: string]: boolean\n}\n\nexport type WalletListener = () => void\n\nexport class EnabledEthWalletConnections {\n // control whether or not enabled/disabled preferences are persisted (i.e. in localStorage)\n persistPreferences = true\n\n // Map of wallet names and their enabled/disabled state\n private enabledWallets: EnabledWalletsSavedState = {}\n\n // Map of wallet names, their enabled/disabled state, and their wallet class\n private ethWalletsState: EnabledEthWalletsState = {}\n\n // list of listeners that want to be notified on wallet changes\n private listeners: WalletListener[] = []\n\n // key to use in localStorage when persisting preferences\n private localStorageKey = DEFAULT_LOCAL_STORAGE_KEY\n\n constructor(localStorageKey = DEFAULT_LOCAL_STORAGE_KEY) {\n this.localStorageKey = localStorageKey\n this.reviveSettings()\n }\n\n get wallets() {\n return this.ethWalletsState\n }\n\n disableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, false)\n }\n\n enableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, true)\n }\n\n /**\n * Given a new set of wallets, set their enabled state based off previous preferences\n */\n resetWallets(wallets: DiscoveredWallets) {\n const newWallets: EnabledEthWalletsState = {}\n\n const addWallet = ([walletName, wallet]: [string, EIP6963Connector]) => {\n newWallets[walletName] = {\n // preserve the existing enabled state\n enabled: walletName in this.enabledWallets ? this.enabledWallets[walletName] : true,\n wallet,\n }\n }\n\n Object.entries(wallets).forEach(addWallet.bind(this))\n this.ethWalletsState = newWallets\n this.emitChange()\n }\n\n subscribe(listener: WalletListener) {\n this.listeners = [...this.listeners, listener]\n return () => {\n this.listeners = this.listeners.filter((existingListener) => existingListener !== listener)\n }\n }\n\n toggleEnabledWallet(rdns: string, enabled: boolean) {\n if (rdns && this.ethWalletsState[rdns]) {\n this.ethWalletsState[rdns].enabled = enabled\n this.ethWalletsState = { ...this.ethWalletsState }\n this.emitChange()\n }\n }\n\n private emitChange() {\n for (const listener of this.listeners) {\n listener()\n }\n\n this.persistSettings()\n }\n\n private isPersistance(method: () => void) {\n if (this.persistPreferences) {\n method()\n }\n }\n\n private persistSettings() {\n this.isPersistance(() => {\n // convert wallet enabled selections into serializable state\n const enabledWallets = Object.entries(this.ethWalletsState).reduce((acc, [rdns, { enabled }]) => {\n acc[rdns] = enabled\n return acc\n }, {} as EnabledWalletsSavedState)\n\n localStorage.setItem(this.localStorageKey, JSON.stringify(enabledWallets))\n })\n }\n\n private reviveSettings() {\n this.isPersistance(() => {\n const existingEntries = localStorage.getItem(this.localStorageKey)\n try {\n const entries = existingEntries ? JSON.parse(existingEntries) : {}\n this.enabledWallets = entries\n } catch (e) {\n console.warn(`Error parsing saved enabled wallet entries: ${(e as Error).message}`)\n }\n })\n }\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { forwardRef } from 'react'\n\nimport { useDetectedWallets } from '../hooks'\nimport { ConnectedWalletsTable } from './wallet'\n\nexport interface ConnectedAccountsFlexboxProps extends FlexBoxProps {\n ignoreConnectDialog?: boolean\n // A callback that is invoked when the option to ignore the dialog is checked\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectedAccountsFlexbox = forwardRef<HTMLDivElement, ConnectedAccountsFlexboxProps>(\n ({ ignoreConnectDialog, onIgnoreConnectDialog, ...props }, ref) => {\n const theme = useTheme()\n\n const { totalConnectedAccounts, sortedWallets } = useDetectedWallets()\n\n return (\n <FlexCol alignItems=\"stretch\" justifyContent=\"start\" gap={2} ref={ref} {...props}>\n <FlexCol alignItems=\"start\">\n <Typography variant={'h2'} sx={{ mb: 0.5 }}>\n Detected Web3 Wallets\n </Typography>\n {totalConnectedAccounts ? (\n <Typography variant={'subtitle1'} color={theme.palette.secondary.main} sx={{ opacity: 0.5 }}>\n Total Connected Accounts: {totalConnectedAccounts}\n </Typography>\n ) : null}\n </FlexCol>\n <ConnectedWalletsTable wallets={sortedWallets} ignoreConnectDialog={ignoreConnectDialog} onIgnoreConnectDialog={onIgnoreConnectDialog} />\n </FlexCol>\n )\n },\n)\n\nConnectedAccountsFlexbox.displayName = 'ConnectedAccountsFlexbox'\n","import { AccountsChangedEventName, DiscoveredWallets, EIP6963Connector, useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useEffect, useMemo, useState } from 'react'\n\nconst sortWallets = (wallets: DiscoveredWallets) =>\n Object.values(wallets).reduce((acc, wallet) => {\n wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet)\n return acc\n }, [] as EIP6963Connector[])\n\nexport const useDetectedWallets = () => {\n const wallets = useWalletDiscovery()\n const [refresh, setRefresh] = useState(0)\n const [sortedWallets, setSortedWallets] = useState<EIP6963Connector[]>([])\n\n useEffect(() => {\n setSortedWallets(sortWallets(wallets))\n }, [wallets, refresh])\n\n /**\n * Rely on custom events from the wallet base class to know when accounts are changed.\n * This approach prevents the need to loop through all wallets and set up individual listeners.\n */\n useEffect(() => {\n const listener: (event: CustomEventInit) => void = () => {\n setRefresh((refresh) => refresh + 1)\n }\n window.addEventListener(AccountsChangedEventName, listener)\n\n return () => {\n window.removeEventListener(AccountsChangedEventName, listener)\n }\n }, [wallets])\n\n const totalConnectedAccounts = useMemo(\n () => Object.values(sortedWallets).reduce((acc, wallet) => acc + wallet.allowedAccounts.length, 0),\n [sortedWallets],\n )\n\n return { sortedWallets, totalConnectedAccounts }\n}\n","import { useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport { EnabledEthWalletConnections, EnabledEthWalletsState, EnabledWalletsSavedState } from '../classes'\n\nlet enabledEthWallets: EnabledEthWalletConnections | undefined\n\n/**\n * Takes the discovered wallets and tracks their enabled state globally\n */\nexport const useEnabledWalletsInner = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const discoveredWallets = useWalletDiscovery()\n\n // when we discover new wallets, build their enabled state\n const wallets = useMemo(() => {\n if (enabledEthWallets === undefined) enabledEthWallets = new EnabledEthWalletConnections()\n enabledEthWallets.resetWallets(discoveredWallets)\n Object.entries(enabledWalletsRdns ?? {}).forEach(([rdns, enabled]) => enabledEthWallets?.toggleEnabledWallet(rdns, enabled))\n return enabledEthWallets\n }, [discoveredWallets, enabledWalletsRdns])\n\n return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets)\n}\n\n/**\n * Expose an interface for enabling and disabling wallets\n */\nexport const useEnabledWallets = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const wallets = useEnabledWalletsInner(enabledWalletsRdns)\n const enabledWallets = useMemo(\n () =>\n Object.entries(wallets).reduce((acc, [walletName, wallet]) => {\n if (wallet.enabled) acc[walletName] = wallet\n return acc\n }, {} as EnabledEthWalletsState),\n [wallets],\n )\n\n return {\n disableWallet: enabledEthWallets?.disableWallet.bind(enabledEthWallets),\n enableWallet: enabledEthWallets?.enableWallet.bind(enabledEthWallets),\n enabledWallets,\n wallets,\n }\n}\n","import { Checkbox, FormControl, FormControlProps, FormLabel } from '@mui/material'\n\nexport interface CheckboxFormControlProps extends FormControlProps {\n onCheckChanged?: (checked: boolean) => void\n}\n\nexport const CheckboxFormControl: React.FC<CheckboxFormControlProps> = ({ onCheckChanged, ...props }) => {\n return (\n <FormControl {...props}>\n <FormLabel>\n <Checkbox onChange={(_, checked) => onCheckChanged?.(checked)} />\n Do not show this again.\n </FormLabel>\n </FormControl>\n )\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { ActiveProvider } from '../../lib'\nimport { CheckboxFormControl } from './CheckboxFormControl'\nimport { LinkedProvidersFlexbox } from './LinkedProvidersFlexbox'\nimport { WalletPermissionsFlexbox } from './Permissions'\n\nexport interface ConnectWalletDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectWalletDialog: React.FC<ConnectWalletDialogProps> = ({ activeProvider, onIgnoreConnectDialog, ...props }) => {\n const { icon, providerName } = activeProvider ?? {}\n\n const onConnect = async () => {\n try {\n await activeProvider?.connectWallet?.()\n props.onClose?.({}, 'escapeKeyDown')\n } catch (e) {\n console.warn(`Error connecting to wallet: ${(e as Error).message}`)\n }\n }\n\n return (\n <Dialog PaperProps={{ sx: { display: 'flex', gap: 4 } }} {...props}>\n <DialogTitle sx={{ textAlign: 'center' }}>XYO Wants To Access The Blockchain on Your Behalf</DialogTitle>\n <DialogContent sx={{ display: 'flex', flexDirection: 'column', gap: 4 }}>\n <LinkedProvidersFlexbox icon={icon} providerName={providerName} />\n <WalletPermissionsFlexbox />\n <CheckboxFormControl onCheckChanged={onIgnoreConnectDialog} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { SyncAlt } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { xyoColorLogo } from '../../../../img'\n\nexport interface LinkedProvidersFlexboxProps extends FlexBoxProps {\n icon?: string\n providerName?: string\n}\n\nexport const LinkedProvidersFlexbox: React.FC<LinkedProvidersFlexboxProps> = ({ icon, providerName, ...props }) => {\n return (\n <FlexRow gap={4} justifyContent=\"space-evenly\" {...props}>\n <FlexCol gap={0.5}>\n <img alt=\"XYO Logo\" src={xyoColorLogo} style={{ height: '48px' }} />\n <Typography variant=\"subtitle1\">XYO App</Typography>\n </FlexCol>\n <SyncAlt fontSize={'large'} />\n <FlexCol gap={0.5}>\n <ConstrainedImage constrainedValue={'48px'} src={icon} alt={providerName} style={{ height: '48px', maxWidth: '48px' }} />\n <Typography variant=\"subtitle1\">{providerName}</Typography>\n </FlexCol>\n </FlexRow>\n )\n}\n","import xyoColorLogo from './xyo-color-logo.svg'\nimport xyoColorLogoText from './xyo-color-logo-text-only.svg'\n\nexport { xyoColorLogo, xyoColorLogoText }\n","import { Link, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport interface WalletPermissionsFlexBoxProps extends FlexBoxProps {}\n\nexport const WalletPermissionsFlexbox: React.FC<WalletPermissionsFlexBoxProps> = (props) => {\n return (\n <FlexCol gap={4} {...props}>\n <Typography fontWeight=\"bold\" sx={{ textAlign: 'center' }}>\n This will allow XYO to:\n </Typography>\n <ul>\n <li>View your wallet account(s) and address(es)</li>\n <li>Read-only access to browse the public blockchain(s) you select</li>\n </ul>\n <Typography variant=\"subtitle1\" sx={{ textAlign: 'center' }}>\n You control what accounts to share and what blockchains to view. You can see or revoke access via your wallet&apos;s settings at anytime. View\n more on XYO&apos;s sovereign data philosophy{' '}\n <Link\n href=\"https://cointelegraph.com/innovation-circle/decentralization-and-sovereignty-debunking-our-approach-to-digital-sovereignty\"\n sx={{ fontWeight: 'bold' }}\n target=\"_blank\"\n >\n here\n </Link>\n .\n </Typography>\n </FlexCol>\n )\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle, Typography } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ActiveProvider } from '../../lib'\n\nexport interface RevokeWalletConnectionDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n}\n\nexport const RevokeWalletConnectionDialog: React.FC<RevokeWalletConnectionDialogProps> = ({ activeProvider, ...props }) => {\n return (\n <Dialog {...props}>\n <FlexRow gap={2} justifyContent=\"start\" pl={2}>\n <ConstrainedImage src={activeProvider?.icon} constrainedValue={'24px'} />\n <DialogTitle sx={{ pl: 0 }}>Revoke {activeProvider?.providerName} Access</DialogTitle>\n </FlexRow>\n <DialogContent>\n <Typography>\n Revoking access to your wallet must be done from the wallet&apos;s browser extension. Wallets grant access to specific domains please\n consult {activeProvider?.providerName}&apos;s documentation on how to revoke access to this website:\n </Typography>\n <Typography>{window.location.origin}</Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { TableCell, Tooltip, Typography } from '@mui/material'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsAccountsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n additionalAccounts,\n currentAccount,\n totalAccounts,\n tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <Tooltip\n sx={{ cursor: totalAccounts > 0 ? 'pointer' : 'auto' }}\n title={[...(currentAccount ?? []), ...(additionalAccounts ?? [])].map((address, index) => (\n <p key={index}>{address}</p>\n ))}\n >\n <Typography>{totalAccounts}</Typography>\n </Tooltip>\n </TableCell>\n )\n}\n","import { Check, InfoOutlined } from '@mui/icons-material'\nimport { Button, IconButton, TableCell, Typography } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsActionsTableCell: React.FC<ConnectedWalletTableCellProps> = ({ connected, onConnect, onRevoke, tableCellProps }) => {\n return (\n <TableCell {...tableCellProps}>\n <FlexRow gap={2} justifyContent=\"start\">\n {connected ? (\n <Typography sx={{ display: 'inline-flex', gap: 0.5 }}>\n <Check />\n Connected\n </Typography>\n ) : (\n <Button variant={'contained'} onClick={onConnect}>\n Connect\n </Button>\n )}\n {connected ? (\n <IconButton onClick={onRevoke}>\n <InfoOutlined />\n </IconButton>\n ) : null}\n </FlexRow>\n </TableCell>\n )\n}\n","import { TableCell } from '@mui/material'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsChainNameTableCell: React.FC<ConnectedWalletTableCellProps> = ({ chainName, tableCellProps }) => {\n return <TableCell {...tableCellProps}>{chainName}</TableCell>\n}\n","import { Switch, TableCell } from '@mui/material'\nimport { ChangeEvent, useMemo } from 'react'\n\nimport { useEnabledWallets } from '../../../../hooks'\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletState: React.FC<ConnectedWalletTableCellProps> = ({ connected, walletRdns, tableCellProps }) => {\n const { disableWallet, enableWallet, wallets } = useEnabledWallets()\n\n const enabled = useMemo(() => (walletRdns ? wallets[walletRdns].enabled : false), [wallets, walletRdns])\n\n const handleClick = (event: ChangeEvent<HTMLInputElement>) => {\n const checked = event.target?.checked\n if (walletRdns) {\n checked ? enableWallet?.(walletRdns) : disableWallet?.(walletRdns)\n }\n }\n return (\n <TableCell {...tableCellProps}>\n <Switch disabled={!connected} checked={connected && enabled} onChange={handleClick} />\n </TableCell>\n )\n}\n","import { TableCell, useTheme } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsWalletTableCell: React.FC<ConnectedWalletTableCellProps> = ({ icon, walletName, tableCellProps }) => {\n const theme = useTheme()\n\n return (\n <TableCell {...tableCellProps}>\n <FlexRow gap={2} justifyContent=\"start\">\n <ConstrainedImage constrainedValue={theme.spacing(4)} src={icon} />\n {walletName}\n </FlexRow>\n </TableCell>\n )\n}\n","import { ComponentType } from 'react'\n\nimport { ConnectedWalletsAccountsTableCell } from './Accounts'\nimport { ConnectedWalletsActionsTableCell } from './Actions'\nimport { ConnectedWalletsChainNameTableCell } from './ChainName'\nimport { ConnectedWalletTableCellProps } from './lib'\nimport { ConnectedWalletState } from './State'\nimport { ConnectedWalletsWalletTableCell } from './Wallet'\n\nexport const ConnectedWalletTableCells: ComponentType<ConnectedWalletTableCellProps>[] = [\n ConnectedWalletsWalletTableCell,\n ConnectedWalletsChainNameTableCell,\n ConnectedWalletsAccountsTableCell,\n ConnectedWalletsActionsTableCell,\n ConnectedWalletState,\n]\n","import { Table, TableBody, TableCell, TableHead, TableProps, TableRow } from '@mui/material'\nimport { EIP6963Connector } from '@xylabs/react-crypto'\nimport { useState } from 'react'\n\nimport { ConnectWalletDialog, RevokeWalletConnectionDialog } from '../dialogs'\nimport { ActiveProvider, WalletsTableHeadCells } from '../lib'\nimport { WalletConnectionsTableRow } from './ConnectedWalletsTableRow'\nimport { useActiveProviderDialogState } from './hooks'\n\nexport interface ConnectedWalletsTableProps extends TableProps {\n ignoreConnectDialog?: boolean\n onIgnoreConnectDialog?: (checked: boolean) => void\n wallets?: EIP6963Connector[]\n}\n\nexport const ConnectedWalletsTable: React.FC<ConnectedWalletsTableProps> = ({ ignoreConnectDialog, onIgnoreConnectDialog, wallets, ...props }) => {\n const [activeProvider, setActiveProvider] = useState<ActiveProvider>()\n const [showConnect, onSetActiveProviderConnect, onConnectClose] = useActiveProviderDialogState(setActiveProvider)\n const [showRevoke, onSetActiveProviderRevoke, onRevokeClose] = useActiveProviderDialogState(setActiveProvider)\n\n return (\n <>\n <Table {...props}>\n <TableHead>\n <TableRow>\n {WalletsTableHeadCells.map(({ disablePadding, id, label, align, width }) => (\n <TableCell align={align} key={id} padding={disablePadding ? 'none' : 'normal'} width={width ?? 'auto'}>\n {label}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {(wallets ?? []).map((wallet) => (\n <WalletConnectionsTableRow\n ignoreConnectDialog={ignoreConnectDialog}\n key={wallet.providerInfo?.rdns}\n onConnectClick={onSetActiveProviderConnect}\n onRevoke={onSetActiveProviderRevoke}\n wallet={wallet}\n />\n ))}\n </TableBody>\n </Table>\n <RevokeWalletConnectionDialog open={showRevoke} onClose={onRevokeClose} activeProvider={activeProvider} />\n <ConnectWalletDialog\n activeProvider={activeProvider}\n onClose={onConnectClose}\n open={showConnect}\n onIgnoreConnectDialog={onIgnoreConnectDialog}\n />\n </>\n )\n}\n","import { TableHeadCell } from '@xyo-network/react-table'\n\nexport const WalletsTableHeadCells: TableHeadCell[] = [\n {\n disablePadding: false,\n id: 'wallet',\n label: 'Wallet',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'chain',\n label: 'Chain',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'accounts',\n label: 'Accounts',\n numeric: true,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'actions',\n label: 'Actions',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'enabled',\n label: 'Enabled',\n numeric: false,\n showOnMobile: true,\n },\n]\n","import { TableRow, TableRowProps } from '@mui/material'\nimport { EthWalletConnectorBase, useEthWallet } from '@xylabs/react-crypto'\nimport { useCallback, useMemo } from 'react'\n\nimport { ActiveProvider } from '../lib'\nimport { ConnectedWalletTableCells } from './cells'\n\nexport interface WalletConnectionsTableRowProps extends TableRowProps {\n ignoreConnectDialog?: boolean\n onConnectClick?: (activeProvider: ActiveProvider) => void\n onRevoke?: (activeProvider: ActiveProvider) => void\n wallet: EthWalletConnectorBase\n}\n\nexport const WalletConnectionsTableRow: React.FC<WalletConnectionsTableRowProps> = ({\n ignoreConnectDialog,\n onConnectClick,\n onRevoke,\n wallet,\n ...props\n}) => {\n const { currentAccount: currentAccountFromWallet, additionalAccounts, chainName, connectWallet, providerInfo } = useEthWallet(wallet)\n\n const currentAccount = currentAccountFromWallet?.toString() ? [currentAccountFromWallet.toString()] : []\n const totalAccounts = (additionalAccounts?.length ?? 0) + (currentAccount?.length ?? 0)\n const connected = !!(currentAccount?.length ?? 0 > 0)\n const { icon, name, rdns } = useMemo(() => providerInfo ?? { icon: undefined, name: undefined, rdns: undefined }, [providerInfo])\n\n const activeProvider = useMemo<ActiveProvider>(\n () => ({\n connectWallet,\n icon,\n providerName: name,\n }),\n [connectWallet, icon, name],\n )\n\n const onRevokeLocal = useCallback(() => {\n onRevoke?.(activeProvider)\n }, [activeProvider, onRevoke])\n\n const onConnectLocal = useCallback(async () => {\n if (ignoreConnectDialog) {\n await connectWallet?.()\n } else {\n onConnectClick?.(activeProvider)\n }\n }, [activeProvider, connectWallet, ignoreConnectDialog, onConnectClick])\n\n return (\n <TableRow {...props}>\n {Object.values(ConnectedWalletTableCells).map((Cell, index) => (\n <Cell\n key={index}\n additionalAccounts={additionalAccounts}\n chainName={chainName}\n connected={connected}\n currentAccount={currentAccount}\n icon={icon}\n onConnect={onConnectLocal}\n onRevoke={onRevokeLocal}\n totalAccounts={totalAccounts}\n walletName={name}\n walletRdns={rdns}\n />\n ))}\n </TableRow>\n )\n}\n","import { Dispatch, SetStateAction, useState } from 'react'\n\nimport { ActiveProvider } from '../../lib'\n\nexport const useActiveProviderDialogState = (\n setActiveProvider: Dispatch<SetStateAction<ActiveProvider | undefined>>,\n): [boolean, (activeProvider: ActiveProvider) => void, () => void] => {\n const [show, setShow] = useState(false)\n const onSetActiveProvider = (activeProvider: ActiveProvider) => {\n setShow(true)\n setActiveProvider(activeProvider)\n }\n\n const onClose = () => {\n setShow(false)\n setActiveProvider({})\n }\n\n return [show, onSetActiveProvider, onClose]\n}\n"],"mappings":"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","names":["import_material","import_react_flexbox","import_react","refresh","import_react_crypto","import_react","import_material","import_material","import_react_crypto","import_jsx_runtime","xyoColorLogo","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","import_material","import_react_crypto","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_material","import_react_crypto","import_react_flexbox","import_jsx_runtime","import_material","import_react","import_material","import_react_crypto","import_react","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/classes/EnabledWallets.ts","../../src/components/ConnectedAccountsFlexbox.tsx","../../src/hooks/useDetectWallets.tsx","../../src/hooks/useEnabledWallets.tsx","../../src/components/wallet/dialogs/connect/CheckboxFormControl.tsx","../../src/components/wallet/dialogs/connect/Dialog.tsx","../../src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx","../../src/img/index.ts","../../src/components/wallet/dialogs/connect/Permissions.tsx","../../src/components/wallet/dialogs/revoke/Dialog.tsx","../../src/components/wallet/table/cells/Accounts.tsx","../../src/components/wallet/table/cells/Actions.tsx","../../src/components/wallet/table/cells/ChainName.tsx","../../src/components/wallet/table/cells/State.tsx","../../src/components/wallet/table/cells/Wallet.tsx","../../src/components/wallet/table/cells/Cells.tsx","../../src/components/wallet/table/ConnectedWalletsTable.tsx","../../src/components/wallet/lib/TableHeadData.ts","../../src/components/wallet/table/ConnectedWalletsTableRow.tsx","../../src/components/wallet/table/hooks/useActiveProviderDialogState.tsx"],"sourcesContent":["export * from './classes'\nexport * from './components'\nexport * from './hooks'\n","import { DiscoveredWallets, EIP6963Connector } from '@xylabs/react-crypto'\n\nconst DEFAULT_LOCAL_STORAGE_KEY = 'XYO|EnabledWallets'\n\n/**\n * State for storing wallets and their enabled/disabled status by name\n */\nexport interface EnabledEthWalletsState {\n [rdns: string]: {\n enabled: boolean\n wallet: EIP6963Connector\n }\n}\n\n/**\n * State for storing only enabled/disabled status of a wallet by name\n */\nexport interface EnabledWalletsSavedState {\n [rdns: string]: boolean\n}\n\nexport type WalletListener = () => void\n\nexport class EnabledEthWalletConnections {\n // control whether or not enabled/disabled preferences are persisted (i.e. in localStorage)\n persistPreferences = true\n\n // Map of wallet names and their enabled/disabled state\n private enabledWallets: EnabledWalletsSavedState = {}\n\n // Map of wallet names, their enabled/disabled state, and their wallet class\n private ethWalletsState: EnabledEthWalletsState = {}\n\n // list of listeners that want to be notified on wallet changes\n private listeners: WalletListener[] = []\n\n // key to use in localStorage when persisting preferences\n private localStorageKey = DEFAULT_LOCAL_STORAGE_KEY\n\n constructor(localStorageKey = DEFAULT_LOCAL_STORAGE_KEY) {\n this.localStorageKey = localStorageKey\n this.reviveSettings()\n }\n\n get wallets() {\n return this.ethWalletsState\n }\n\n disableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, false)\n }\n\n enableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, true)\n }\n\n /**\n * Given a new set of wallets, set their enabled state based off previous preferences\n */\n resetWallets(wallets: DiscoveredWallets) {\n const newWallets: EnabledEthWalletsState = {}\n\n const addWallet = ([walletName, wallet]: [string, EIP6963Connector]) => {\n newWallets[walletName] = {\n // preserve the existing enabled state\n enabled: walletName in this.enabledWallets ? this.enabledWallets[walletName] : true,\n wallet,\n }\n }\n\n // eslint-disable-next-line unicorn/no-array-for-each\n Object.entries(wallets).forEach(addWallet.bind(this))\n this.ethWalletsState = newWallets\n this.emitChange()\n }\n\n subscribe(listener: WalletListener) {\n this.listeners = [...this.listeners, listener]\n return () => {\n this.listeners = this.listeners.filter((existingListener) => existingListener !== listener)\n }\n }\n\n toggleEnabledWallet(rdns: string, enabled: boolean) {\n if (rdns && this.ethWalletsState[rdns]) {\n this.ethWalletsState[rdns].enabled = enabled\n this.ethWalletsState = { ...this.ethWalletsState }\n this.emitChange()\n }\n }\n\n private emitChange() {\n for (const listener of this.listeners) {\n listener()\n }\n\n this.persistSettings()\n }\n\n private isPersistance(method: () => void) {\n if (this.persistPreferences) {\n method()\n }\n }\n\n private persistSettings() {\n this.isPersistance(() => {\n // convert wallet enabled selections into serializable state\n // eslint-disable-next-line unicorn/no-array-reduce\n const enabledWallets = Object.entries(this.ethWalletsState).reduce((acc, [rdns, { enabled }]) => {\n acc[rdns] = enabled\n return acc\n }, {} as EnabledWalletsSavedState)\n\n localStorage.setItem(this.localStorageKey, JSON.stringify(enabledWallets))\n })\n }\n\n private reviveSettings() {\n this.isPersistance(() => {\n const existingEntries = localStorage.getItem(this.localStorageKey)\n try {\n const entries = existingEntries ? JSON.parse(existingEntries) : {}\n this.enabledWallets = entries\n } catch (e) {\n console.warn(`Error parsing saved enabled wallet entries: ${(e as Error).message}`)\n }\n })\n }\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { forwardRef } from 'react'\n\nimport { useDetectedWallets } from '../hooks'\nimport { ConnectedWalletsTable } from './wallet'\n\nexport interface ConnectedAccountsFlexboxProps extends FlexBoxProps {\n ignoreConnectDialog?: boolean\n // A callback that is invoked when the option to ignore the dialog is checked\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectedAccountsFlexbox = forwardRef<HTMLDivElement, ConnectedAccountsFlexboxProps>(\n ({ ignoreConnectDialog, onIgnoreConnectDialog, ...props }, ref) => {\n const theme = useTheme()\n\n const { totalConnectedAccounts, sortedWallets } = useDetectedWallets()\n\n return (\n <FlexCol alignItems=\"stretch\" justifyContent=\"start\" gap={2} ref={ref} {...props}>\n <FlexCol alignItems=\"start\">\n <Typography variant={'h2'} sx={{ mb: 0.5 }}>\n Detected Web3 Wallets\n </Typography>\n {totalConnectedAccounts ? (\n <Typography variant={'subtitle1'} color={theme.palette.secondary.main} sx={{ opacity: 0.5 }}>\n Total Connected Accounts: {totalConnectedAccounts}\n </Typography>\n ) : null}\n </FlexCol>\n <ConnectedWalletsTable wallets={sortedWallets} ignoreConnectDialog={ignoreConnectDialog} onIgnoreConnectDialog={onIgnoreConnectDialog} />\n </FlexCol>\n )\n },\n)\n\nConnectedAccountsFlexbox.displayName = 'ConnectedAccountsFlexbox'\n","import { AccountsChangedEventName, DiscoveredWallets, EIP6963Connector, useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useEffect, useMemo, useState } from 'react'\n\nconst sortWallets = (wallets: DiscoveredWallets) =>\n // eslint-disable-next-line unicorn/no-array-reduce\n Object.values(wallets).reduce((acc, wallet) => {\n wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet)\n return acc\n }, [] as EIP6963Connector[])\n\nexport const useDetectedWallets = () => {\n const wallets = useWalletDiscovery()\n const [refresh, setRefresh] = useState(0)\n const [sortedWallets, setSortedWallets] = useState<EIP6963Connector[]>([])\n\n useEffect(() => {\n setSortedWallets(sortWallets(wallets))\n }, [wallets, refresh])\n\n /**\n * Rely on custom events from the wallet base class to know when accounts are changed.\n * This approach prevents the need to loop through all wallets and set up individual listeners.\n */\n useEffect(() => {\n const listener: (event: CustomEventInit) => void = () => {\n setRefresh((refresh) => refresh + 1)\n }\n window.addEventListener(AccountsChangedEventName, listener)\n\n return () => {\n window.removeEventListener(AccountsChangedEventName, listener)\n }\n }, [wallets])\n\n const totalConnectedAccounts = useMemo(\n () => Object.values(sortedWallets).reduce((acc, wallet) => acc + wallet.allowedAccounts.length, 0),\n [sortedWallets],\n )\n\n return { sortedWallets, totalConnectedAccounts }\n}\n","import { useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport { EnabledEthWalletConnections, EnabledEthWalletsState, EnabledWalletsSavedState } from '../classes'\n\nlet enabledEthWallets: EnabledEthWalletConnections | undefined\n\n/**\n * Takes the discovered wallets and tracks their enabled state globally\n */\nexport const useEnabledWalletsInner = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const discoveredWallets = useWalletDiscovery()\n\n // when we discover new wallets, build their enabled state\n const wallets = useMemo(() => {\n if (enabledEthWallets === undefined) enabledEthWallets = new EnabledEthWalletConnections()\n enabledEthWallets.resetWallets(discoveredWallets)\n for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {})) enabledEthWallets?.toggleEnabledWallet(rdns, enabled)\n return enabledEthWallets\n }, [discoveredWallets, enabledWalletsRdns])\n\n return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets)\n}\n\n/**\n * Expose an interface for enabling and disabling wallets\n */\nexport const useEnabledWallets = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const wallets = useEnabledWalletsInner(enabledWalletsRdns)\n const enabledWallets = useMemo(\n () =>\n // eslint-disable-next-line unicorn/no-array-reduce\n Object.entries(wallets).reduce((acc, [walletName, wallet]) => {\n if (wallet.enabled) acc[walletName] = wallet\n return acc\n }, {} as EnabledEthWalletsState),\n [wallets],\n )\n\n return {\n disableWallet: enabledEthWallets?.disableWallet.bind(enabledEthWallets),\n enableWallet: enabledEthWallets?.enableWallet.bind(enabledEthWallets),\n enabledWallets,\n wallets,\n }\n}\n","import { Checkbox, FormControl, FormControlProps, FormLabel } from '@mui/material'\n\nexport interface CheckboxFormControlProps extends FormControlProps {\n onCheckChanged?: (checked: boolean) => void\n}\n\nexport const CheckboxFormControl: React.FC<CheckboxFormControlProps> = ({ onCheckChanged, ...props }) => {\n return (\n <FormControl {...props}>\n <FormLabel>\n <Checkbox onChange={(_, checked) => onCheckChanged?.(checked)} />\n Do not show this again.\n </FormLabel>\n </FormControl>\n )\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { ActiveProvider } from '../../lib'\nimport { CheckboxFormControl } from './CheckboxFormControl'\nimport { LinkedProvidersFlexbox } from './LinkedProvidersFlexbox'\nimport { WalletPermissionsFlexbox } from './Permissions'\n\nexport interface ConnectWalletDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectWalletDialog: React.FC<ConnectWalletDialogProps> = ({ activeProvider, onIgnoreConnectDialog, ...props }) => {\n const { icon, providerName } = activeProvider ?? {}\n\n const onConnect = async () => {\n try {\n await activeProvider?.connectWallet?.()\n props.onClose?.({}, 'escapeKeyDown')\n } catch (e) {\n console.warn(`Error connecting to wallet: ${(e as Error).message}`)\n }\n }\n\n return (\n <Dialog PaperProps={{ sx: { display: 'flex', gap: 4 } }} {...props}>\n <DialogTitle sx={{ textAlign: 'center' }}>XYO Wants To Access The Blockchain on Your Behalf</DialogTitle>\n <DialogContent sx={{ display: 'flex', flexDirection: 'column', gap: 4 }}>\n <LinkedProvidersFlexbox icon={icon} providerName={providerName} />\n <WalletPermissionsFlexbox />\n <CheckboxFormControl onCheckChanged={onIgnoreConnectDialog} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { SyncAlt } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { xyoColorLogo } from '../../../../img'\n\nexport interface LinkedProvidersFlexboxProps extends FlexBoxProps {\n icon?: string\n providerName?: string\n}\n\nexport const LinkedProvidersFlexbox: React.FC<LinkedProvidersFlexboxProps> = ({ icon, providerName, ...props }) => {\n return (\n <FlexRow gap={4} justifyContent=\"space-evenly\" {...props}>\n <FlexCol gap={0.5}>\n <img alt=\"XYO Logo\" src={xyoColorLogo} style={{ height: '48px' }} />\n <Typography variant=\"subtitle1\">XYO App</Typography>\n </FlexCol>\n <SyncAlt fontSize={'large'} />\n <FlexCol gap={0.5}>\n <ConstrainedImage constrainedValue={'48px'} src={icon} alt={providerName} style={{ height: '48px', maxWidth: '48px' }} />\n <Typography variant=\"subtitle1\">{providerName}</Typography>\n </FlexCol>\n </FlexRow>\n )\n}\n","export { default as xyoColorLogo } from './xyo-color-logo.svg'\nexport { default as xyoColorLogoText } from './xyo-color-logo-text-only.svg'\n","import { Link, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport interface WalletPermissionsFlexBoxProps extends FlexBoxProps {}\n\nexport const WalletPermissionsFlexbox: React.FC<WalletPermissionsFlexBoxProps> = (props) => {\n return (\n <FlexCol gap={4} {...props}>\n <Typography fontWeight=\"bold\" sx={{ textAlign: 'center' }}>\n This will allow XYO to:\n </Typography>\n <ul>\n <li>View your wallet account(s) and address(es)</li>\n <li>Read-only access to browse the public blockchain(s) you select</li>\n </ul>\n <Typography variant=\"subtitle1\" sx={{ textAlign: 'center' }}>\n You control what accounts to share and what blockchains to view. You can see or revoke access via your wallet&apos;s settings at anytime. View\n more on XYO&apos;s sovereign data philosophy{' '}\n <Link\n href=\"https://cointelegraph.com/innovation-circle/decentralization-and-sovereignty-debunking-our-approach-to-digital-sovereignty\"\n sx={{ fontWeight: 'bold' }}\n target=\"_blank\"\n >\n here\n </Link>\n .\n </Typography>\n </FlexCol>\n )\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle, Typography } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ActiveProvider } from '../../lib'\n\nexport interface RevokeWalletConnectionDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n}\n\nexport const RevokeWalletConnectionDialog: React.FC<RevokeWalletConnectionDialogProps> = ({ activeProvider, ...props }) => {\n return (\n <Dialog {...props}>\n <FlexRow gap={2} justifyContent=\"start\" pl={2}>\n <ConstrainedImage src={activeProvider?.icon} constrainedValue={'24px'} />\n <DialogTitle sx={{ pl: 0 }}>Revoke {activeProvider?.providerName} Access</DialogTitle>\n </FlexRow>\n <DialogContent>\n <Typography>\n Revoking access to your wallet must be done from the wallet&apos;s browser extension. Wallets grant access to specific domains please\n consult {activeProvider?.providerName}&apos;s documentation on how to revoke access to this website:\n </Typography>\n <Typography>{window.location.origin}</Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { TableCell, Tooltip, Typography } from '@mui/material'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsAccountsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n additionalAccounts,\n currentAccount,\n totalAccounts,\n tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <Tooltip\n sx={{ cursor: totalAccounts > 0 ? 'pointer' : 'auto' }}\n title={[...(currentAccount ?? []), ...(additionalAccounts ?? [])].map((address, index) => (\n <p key={index}>{address}</p>\n ))}\n >\n <Typography>{totalAccounts}</Typography>\n </Tooltip>\n </TableCell>\n )\n}\n","import { Check, InfoOutlined } from '@mui/icons-material'\nimport { Button, IconButton, TableCell, Typography } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsActionsTableCell: React.FC<ConnectedWalletTableCellProps> = ({ connected, onConnect, onRevoke, tableCellProps }) => {\n return (\n <TableCell {...tableCellProps}>\n <FlexRow gap={2} justifyContent=\"start\">\n {connected ? (\n <Typography sx={{ display: 'inline-flex', gap: 0.5 }}>\n <Check />\n Connected\n </Typography>\n ) : (\n <Button variant={'contained'} onClick={onConnect}>\n Connect\n </Button>\n )}\n {connected ? (\n <IconButton onClick={onRevoke}>\n <InfoOutlined />\n </IconButton>\n ) : null}\n </FlexRow>\n </TableCell>\n )\n}\n","import { TableCell } from '@mui/material'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsChainNameTableCell: React.FC<ConnectedWalletTableCellProps> = ({ chainName, tableCellProps }) => {\n return <TableCell {...tableCellProps}>{chainName}</TableCell>\n}\n","import { Switch, TableCell } from '@mui/material'\nimport { ChangeEvent, useMemo } from 'react'\n\nimport { useEnabledWallets } from '../../../../hooks'\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletState: React.FC<ConnectedWalletTableCellProps> = ({ connected, walletRdns, tableCellProps }) => {\n const { disableWallet, enableWallet, wallets } = useEnabledWallets()\n\n const enabled = useMemo(() => (walletRdns ? wallets[walletRdns].enabled : false), [wallets, walletRdns])\n\n const handleClick = (event: ChangeEvent<HTMLInputElement>) => {\n const checked = event.target?.checked\n if (walletRdns) {\n checked ? enableWallet?.(walletRdns) : disableWallet?.(walletRdns)\n }\n }\n return (\n <TableCell {...tableCellProps}>\n <Switch disabled={!connected} checked={connected && enabled} onChange={handleClick} />\n </TableCell>\n )\n}\n","import { TableCell, useTheme } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\n\nimport { ConnectedWalletTableCellProps } from './lib'\n\nexport const ConnectedWalletsWalletTableCell: React.FC<ConnectedWalletTableCellProps> = ({ icon, walletName, tableCellProps }) => {\n const theme = useTheme()\n\n return (\n <TableCell {...tableCellProps}>\n <FlexRow gap={2} justifyContent=\"start\">\n <ConstrainedImage constrainedValue={theme.spacing(4)} src={icon} />\n {walletName}\n </FlexRow>\n </TableCell>\n )\n}\n","import { ComponentType } from 'react'\n\nimport { ConnectedWalletsAccountsTableCell } from './Accounts'\nimport { ConnectedWalletsActionsTableCell } from './Actions'\nimport { ConnectedWalletsChainNameTableCell } from './ChainName'\nimport { ConnectedWalletTableCellProps } from './lib'\nimport { ConnectedWalletState } from './State'\nimport { ConnectedWalletsWalletTableCell } from './Wallet'\n\nexport const ConnectedWalletTableCells: ComponentType<ConnectedWalletTableCellProps>[] = [\n ConnectedWalletsWalletTableCell,\n ConnectedWalletsChainNameTableCell,\n ConnectedWalletsAccountsTableCell,\n ConnectedWalletsActionsTableCell,\n ConnectedWalletState,\n]\n","import { Table, TableBody, TableCell, TableHead, TableProps, TableRow } from '@mui/material'\nimport { EIP6963Connector } from '@xylabs/react-crypto'\nimport { useState } from 'react'\n\nimport { ConnectWalletDialog, RevokeWalletConnectionDialog } from '../dialogs'\nimport { ActiveProvider, WalletsTableHeadCells } from '../lib'\nimport { WalletConnectionsTableRow } from './ConnectedWalletsTableRow'\nimport { useActiveProviderDialogState } from './hooks'\n\nexport interface ConnectedWalletsTableProps extends TableProps {\n ignoreConnectDialog?: boolean\n onIgnoreConnectDialog?: (checked: boolean) => void\n wallets?: EIP6963Connector[]\n}\n\nexport const ConnectedWalletsTable: React.FC<ConnectedWalletsTableProps> = ({ ignoreConnectDialog, onIgnoreConnectDialog, wallets, ...props }) => {\n const [activeProvider, setActiveProvider] = useState<ActiveProvider>()\n const [showConnect, onSetActiveProviderConnect, onConnectClose] = useActiveProviderDialogState(setActiveProvider)\n const [showRevoke, onSetActiveProviderRevoke, onRevokeClose] = useActiveProviderDialogState(setActiveProvider)\n\n return (\n <>\n <Table {...props}>\n <TableHead>\n <TableRow>\n {WalletsTableHeadCells.map(({ disablePadding, id, label, align, width }) => (\n <TableCell align={align} key={id} padding={disablePadding ? 'none' : 'normal'} width={width ?? 'auto'}>\n {label}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {(wallets ?? []).map((wallet) => (\n <WalletConnectionsTableRow\n ignoreConnectDialog={ignoreConnectDialog}\n key={wallet.providerInfo?.rdns}\n onConnectClick={onSetActiveProviderConnect}\n onRevoke={onSetActiveProviderRevoke}\n wallet={wallet}\n />\n ))}\n </TableBody>\n </Table>\n <RevokeWalletConnectionDialog open={showRevoke} onClose={onRevokeClose} activeProvider={activeProvider} />\n <ConnectWalletDialog\n activeProvider={activeProvider}\n onClose={onConnectClose}\n open={showConnect}\n onIgnoreConnectDialog={onIgnoreConnectDialog}\n />\n </>\n )\n}\n","import { TableHeadCell } from '@xyo-network/react-table'\n\nexport const WalletsTableHeadCells: TableHeadCell[] = [\n {\n disablePadding: false,\n id: 'wallet',\n label: 'Wallet',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'chain',\n label: 'Chain',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'accounts',\n label: 'Accounts',\n numeric: true,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'actions',\n label: 'Actions',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'enabled',\n label: 'Enabled',\n numeric: false,\n showOnMobile: true,\n },\n]\n","import { TableRow, TableRowProps } from '@mui/material'\nimport { EthWalletConnectorBase, useEthWallet } from '@xylabs/react-crypto'\nimport { useCallback, useMemo } from 'react'\n\nimport { ActiveProvider } from '../lib'\nimport { ConnectedWalletTableCells } from './cells'\n\nexport interface WalletConnectionsTableRowProps extends TableRowProps {\n ignoreConnectDialog?: boolean\n onConnectClick?: (activeProvider: ActiveProvider) => void\n onRevoke?: (activeProvider: ActiveProvider) => void\n wallet: EthWalletConnectorBase\n}\n\nexport const WalletConnectionsTableRow: React.FC<WalletConnectionsTableRowProps> = ({\n ignoreConnectDialog,\n onConnectClick,\n onRevoke,\n wallet,\n ...props\n}) => {\n const { currentAccount: currentAccountFromWallet, additionalAccounts, chainName, connectWallet, providerInfo } = useEthWallet(wallet)\n\n const currentAccount = currentAccountFromWallet?.toString() ? [currentAccountFromWallet.toString()] : []\n const totalAccounts = (additionalAccounts?.length ?? 0) + (currentAccount?.length ?? 0)\n const connected = !!(currentAccount?.length ?? 0 > 0)\n const { icon, name, rdns } = useMemo(() => providerInfo ?? { icon: undefined, name: undefined, rdns: undefined }, [providerInfo])\n\n const activeProvider = useMemo<ActiveProvider>(\n () => ({\n connectWallet,\n icon,\n providerName: name,\n }),\n [connectWallet, icon, name],\n )\n\n const onRevokeLocal = useCallback(() => {\n onRevoke?.(activeProvider)\n }, [activeProvider, onRevoke])\n\n const onConnectLocal = useCallback(async () => {\n if (ignoreConnectDialog) {\n await connectWallet?.()\n } else {\n onConnectClick?.(activeProvider)\n }\n }, [activeProvider, connectWallet, ignoreConnectDialog, onConnectClick])\n\n return (\n <TableRow {...props}>\n {Object.values(ConnectedWalletTableCells).map((Cell, index) => (\n <Cell\n key={index}\n additionalAccounts={additionalAccounts}\n chainName={chainName}\n connected={connected}\n currentAccount={currentAccount}\n icon={icon}\n onConnect={onConnectLocal}\n onRevoke={onRevokeLocal}\n totalAccounts={totalAccounts}\n walletName={name}\n walletRdns={rdns}\n />\n ))}\n </TableRow>\n )\n}\n","import { Dispatch, SetStateAction, useState } from 'react'\n\nimport { ActiveProvider } from '../../lib'\n\nexport const useActiveProviderDialogState = (\n setActiveProvider: Dispatch<SetStateAction<ActiveProvider | undefined>>,\n): [boolean, (activeProvider: ActiveProvider) => void, () => void] => {\n const [show, setShow] = useState(false)\n const onSetActiveProvider = (activeProvider: ActiveProvider) => {\n setShow(true)\n setActiveProvider(activeProvider)\n }\n\n const onClose = () => {\n setShow(false)\n setActiveProvider({})\n }\n\n return [show, onSetActiveProvider, onClose]\n}\n"],"mappings":"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","names":["import_material","import_react_flexbox","import_react","refresh","import_react_crypto","import_react","import_material","import_material","import_react_crypto","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","import_material","import_react_crypto","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_material","import_react_crypto","import_react_flexbox","import_jsx_runtime","import_material","import_react","import_material","import_react_crypto","import_react","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}
@@ -94,10 +94,13 @@ import { forwardRef } from "react";
94
94
  // src/hooks/useDetectWallets.tsx
95
95
  import { AccountsChangedEventName, useWalletDiscovery } from "@xylabs/react-crypto";
96
96
  import { useEffect, useMemo, useState } from "react";
97
- var sortWallets = (wallets) => Object.values(wallets).reduce((acc, wallet) => {
98
- wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet);
99
- return acc;
100
- }, []);
97
+ var sortWallets = (wallets) => (
98
+ // eslint-disable-next-line unicorn/no-array-reduce
99
+ Object.values(wallets).reduce((acc, wallet) => {
100
+ wallet.allowedAccounts.length > 0 ? acc.unshift(wallet) : acc.push(wallet);
101
+ return acc;
102
+ }, [])
103
+ );
101
104
  var useDetectedWallets = () => {
102
105
  const wallets = useWalletDiscovery();
103
106
  const [refresh, setRefresh] = useState(0);
@@ -131,7 +134,8 @@ var useEnabledWalletsInner = (enabledWalletsRdns) => {
131
134
  if (enabledEthWallets === void 0)
132
135
  enabledEthWallets = new EnabledEthWalletConnections();
133
136
  enabledEthWallets.resetWallets(discoveredWallets);
134
- Object.entries(enabledWalletsRdns ?? {}).forEach(([rdns, enabled]) => enabledEthWallets?.toggleEnabledWallet(rdns, enabled));
137
+ for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {}))
138
+ enabledEthWallets?.toggleEnabledWallet(rdns, enabled);
135
139
  return enabledEthWallets;
136
140
  }, [discoveredWallets, enabledWalletsRdns]);
137
141
  return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets);
@@ -139,11 +143,14 @@ var useEnabledWalletsInner = (enabledWalletsRdns) => {
139
143
  var useEnabledWallets = (enabledWalletsRdns) => {
140
144
  const wallets = useEnabledWalletsInner(enabledWalletsRdns);
141
145
  const enabledWallets = useMemo2(
142
- () => Object.entries(wallets).reduce((acc, [walletName, wallet]) => {
143
- if (wallet.enabled)
144
- acc[walletName] = wallet;
145
- return acc;
146
- }, {}),
146
+ () => (
147
+ // eslint-disable-next-line unicorn/no-array-reduce
148
+ Object.entries(wallets).reduce((acc, [walletName, wallet]) => {
149
+ if (wallet.enabled)
150
+ acc[walletName] = wallet;
151
+ return acc;
152
+ }, {})
153
+ ),
147
154
  [wallets]
148
155
  );
149
156
  return {
@@ -174,15 +181,15 @@ import { ConstrainedImage } from "@xylabs/react-crypto";
174
181
  import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
175
182
 
176
183
  // src/img/index.ts
177
- import xyoColorLogo from "./xyo-color-logo-LHR2SMEM.svg";
178
- import xyoColorLogoText from "./xyo-color-logo-text-only-QPAW5BSQ.svg";
184
+ import { default as default2 } from "./xyo-color-logo-LHR2SMEM.svg";
185
+ import { default as default3 } from "./xyo-color-logo-text-only-QPAW5BSQ.svg";
179
186
 
180
187
  // src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx
181
188
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
182
189
  var LinkedProvidersFlexbox = ({ icon, providerName, ...props }) => {
183
190
  return /* @__PURE__ */ jsxs2(FlexRow, { gap: 4, justifyContent: "space-evenly", ...props, children: [
184
191
  /* @__PURE__ */ jsxs2(FlexCol, { gap: 0.5, children: [
185
- /* @__PURE__ */ jsx2("img", { alt: "XYO Logo", src: xyoColorLogo, style: { height: "48px" } }),
192
+ /* @__PURE__ */ jsx2("img", { alt: "XYO Logo", src: default2, style: { height: "48px" } }),
186
193
  /* @__PURE__ */ jsx2(Typography, { variant: "subtitle1", children: "XYO App" })
187
194
  ] }),
188
195
  /* @__PURE__ */ jsx2(SyncAlt, { fontSize: "large" }),