@reown/appkit-wallet-button 1.8.15-viem-upgrade.0 → 1.8.15-wc-linking-reset-headless.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.
Files changed (45) hide show
  1. package/dist/esm/exports/index.js +10 -0
  2. package/dist/esm/exports/index.js.map +1 -0
  3. package/dist/esm/exports/react.js +142 -0
  4. package/dist/esm/exports/react.js.map +1 -0
  5. package/dist/esm/package.json +84 -0
  6. package/dist/esm/src/client.js +91 -0
  7. package/dist/esm/src/client.js.map +1 -0
  8. package/dist/esm/src/controllers/ApiController.js +39 -0
  9. package/dist/esm/src/controllers/ApiController.js.map +1 -0
  10. package/dist/esm/src/controllers/WalletButtonController.js +21 -0
  11. package/dist/esm/src/controllers/WalletButtonController.js.map +1 -0
  12. package/dist/esm/src/scaffold-ui/appkit-wallet-button/index.js +214 -0
  13. package/dist/esm/src/scaffold-ui/appkit-wallet-button/index.js.map +1 -0
  14. package/dist/esm/src/tests/client.test.js +103 -0
  15. package/dist/esm/src/tests/client.test.js.map +1 -0
  16. package/dist/esm/src/tests/controllers/ApiController.test.js +17 -0
  17. package/dist/esm/src/tests/controllers/ApiController.test.js.map +1 -0
  18. package/dist/esm/src/tests/controllers/WalletButtonController.test.js +28 -0
  19. package/dist/esm/src/tests/controllers/WalletButtonController.test.js.map +1 -0
  20. package/dist/esm/src/tests/scaffold-ui/appkit-wallet-button.test.js +249 -0
  21. package/dist/esm/src/tests/scaffold-ui/appkit-wallet-button.test.js.map +1 -0
  22. package/dist/esm/src/tests/utils/HelperUtil.js +14 -0
  23. package/dist/esm/src/tests/utils/HelperUtil.js.map +1 -0
  24. package/dist/esm/src/utils/ConstantsUtil.js +54 -0
  25. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -0
  26. package/dist/esm/src/utils/TypeUtil.js +2 -0
  27. package/dist/esm/src/utils/TypeUtil.js.map +1 -0
  28. package/dist/esm/src/utils/WalletUtil.js +18 -0
  29. package/dist/esm/src/utils/WalletUtil.js.map +1 -0
  30. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  31. package/dist/types/exports/index.d.ts +7 -0
  32. package/dist/types/exports/react.d.ts +52 -0
  33. package/dist/types/src/client.d.ts +16 -0
  34. package/dist/types/src/controllers/ApiController.d.ts +13 -0
  35. package/dist/types/src/controllers/WalletButtonController.d.ts +14 -0
  36. package/dist/types/src/scaffold-ui/appkit-wallet-button/index.d.ts +29 -0
  37. package/dist/types/src/tests/client.test.d.ts +1 -0
  38. package/dist/types/src/tests/controllers/ApiController.test.d.ts +1 -0
  39. package/dist/types/src/tests/controllers/WalletButtonController.test.d.ts +1 -0
  40. package/dist/types/src/tests/scaffold-ui/appkit-wallet-button.test.d.ts +1 -0
  41. package/dist/types/src/tests/utils/HelperUtil.d.ts +5 -0
  42. package/dist/types/src/utils/ConstantsUtil.d.ts +51 -0
  43. package/dist/types/src/utils/TypeUtil.d.ts +3 -0
  44. package/dist/types/src/utils/WalletUtil.d.ts +4 -0
  45. package/package.json +5 -5
@@ -0,0 +1,10 @@
1
+ import { AppKitWalletButton } from '../src/client.js';
2
+ export * from '../src/scaffold-ui/appkit-wallet-button/index.js';
3
+ let walletButton = undefined;
4
+ export function createAppKitWalletButton({ namespace } = {}) {
5
+ if (!walletButton) {
6
+ walletButton = new AppKitWalletButton({ namespace });
7
+ }
8
+ return walletButton;
9
+ }
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../exports/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGrD,cAAc,kDAAkD,CAAA;AAMhE,IAAI,YAAY,GAAmC,SAAS,CAAA;AAE5D,MAAM,UAAU,wBAAwB,CAAC,EAAE,SAAS,KAAqC,EAAE;IACzF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -0,0 +1,142 @@
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
+ import { createComponent } from '@lit/react';
3
+ import { useSnapshot } from 'valtio';
4
+ import { ChainController, ConnectorController, ConnectorControllerUtil, ModalController, RouterController } from '@reown/appkit-controllers';
5
+ import { ApiController } from '../src/controllers/ApiController.js';
6
+ import { WalletButtonController } from '../src/controllers/WalletButtonController.js';
7
+ import { ConstantsUtil } from '../src/utils/ConstantsUtil.js';
8
+ import { WalletUtil } from '../src/utils/WalletUtil.js';
9
+ import { AppKitWalletButton as AppKitWalletButtonComponent } from './index.js';
10
+ export * from './index.js';
11
+ export const AppKitWalletButton = createComponent({
12
+ tagName: 'appkit-wallet-button',
13
+ elementClass: AppKitWalletButtonComponent,
14
+ react: React
15
+ });
16
+ export function useAppKitWallet(parameters) {
17
+ const { connectors } = useSnapshot(ConnectorController.state);
18
+ const { pending: isWalletButtonConnecting, ready: isWalletButtonReady, error: walletButtonError, data: walletButtonData } = useSnapshot(WalletButtonController.state);
19
+ const { namespace, onSuccess, onError } = parameters ?? {};
20
+ useEffect(() => {
21
+ if (!isWalletButtonReady) {
22
+ ApiController.fetchWalletButtons().then(() => {
23
+ if (ApiController.state.walletButtons.length) {
24
+ WalletButtonController.setReady(true);
25
+ }
26
+ });
27
+ }
28
+ }, [isWalletButtonReady]);
29
+ useEffect(() => ChainController.subscribeKey('activeCaipAddress', val => {
30
+ if (val) {
31
+ WalletButtonController.setError(undefined);
32
+ WalletButtonController.setPending(false);
33
+ }
34
+ }), []);
35
+ useEffect(() => ApiController.subscribeKey('walletButtons', val => {
36
+ if (val.length) {
37
+ WalletButtonController.setReady(true);
38
+ }
39
+ }), []);
40
+ const handleSuccess = useCallback((caipAddress) => {
41
+ WalletButtonController.setData(caipAddress);
42
+ onSuccess?.(caipAddress);
43
+ }, [onSuccess]);
44
+ const handleError = useCallback((err) => {
45
+ const finalError = err instanceof Error ? err : new Error('Something went wrong');
46
+ WalletButtonController.setError(finalError);
47
+ onError?.(finalError);
48
+ }, [onError]);
49
+ const connect = useCallback(async (wallet) => {
50
+ try {
51
+ WalletButtonController.setPending(true);
52
+ WalletButtonController.setError(undefined);
53
+ if (wallet === ConstantsUtil.Email) {
54
+ await ConnectorControllerUtil.connectEmail({
55
+ namespace,
56
+ onOpen() {
57
+ ModalController.open({ view: 'EmailLogin' });
58
+ }
59
+ }).then(handleSuccess);
60
+ return;
61
+ }
62
+ if (ConstantsUtil.Socials.some(social => social === wallet)) {
63
+ await ConnectorControllerUtil.connectSocial({
64
+ social: wallet,
65
+ namespace,
66
+ onOpenFarcaster() {
67
+ ModalController.open({ view: 'ConnectingFarcaster' });
68
+ },
69
+ onConnect() {
70
+ RouterController.push('Connect');
71
+ }
72
+ }).then(handleSuccess);
73
+ return;
74
+ }
75
+ const walletButton = WalletUtil.getWalletButton(wallet);
76
+ const connector = walletButton && namespace
77
+ ? ConnectorController.getConnector({ id: walletButton.id, namespace })
78
+ : undefined;
79
+ if (connector) {
80
+ await ConnectorControllerUtil.connectExternal(connector).then(handleSuccess);
81
+ return;
82
+ }
83
+ await ConnectorControllerUtil.connectWalletConnect({
84
+ walletConnect: wallet === 'walletConnect',
85
+ connector: connectors.find(c => c.id === 'walletConnect'),
86
+ onOpen(isMobile) {
87
+ ModalController.open({
88
+ view: isMobile ? 'AllWallets' : 'ConnectingWalletConnect',
89
+ data: isMobile ? undefined : { wallet: walletButton }
90
+ });
91
+ },
92
+ onConnect() {
93
+ RouterController.replace('Connect');
94
+ }
95
+ }).then(handleSuccess);
96
+ }
97
+ catch (err) {
98
+ handleError(err);
99
+ }
100
+ finally {
101
+ WalletButtonController.setPending(false);
102
+ }
103
+ }, [namespace, connectors, handleSuccess, handleError]);
104
+ return {
105
+ data: walletButtonData,
106
+ error: walletButtonError,
107
+ isReady: isWalletButtonReady,
108
+ isPending: isWalletButtonConnecting,
109
+ isError: Boolean(walletButtonError),
110
+ isSuccess: Boolean(walletButtonData),
111
+ connect
112
+ };
113
+ }
114
+ export function useAppKitUpdateEmail(parameters) {
115
+ const { onSuccess, onError } = parameters ?? {};
116
+ const [data, setData] = useState();
117
+ const [error, setError] = useState();
118
+ const [isPending, setIsPending] = useState(false);
119
+ const updateEmail = useCallback(async () => {
120
+ setIsPending(true);
121
+ setError(undefined);
122
+ await ConnectorControllerUtil.updateEmail()
123
+ .then(emailData => {
124
+ setData(emailData);
125
+ onSuccess?.(emailData);
126
+ })
127
+ .catch(err => {
128
+ setError(err);
129
+ onError?.(err);
130
+ })
131
+ .finally(() => setIsPending(false));
132
+ }, [onError, onSuccess]);
133
+ return {
134
+ data,
135
+ error,
136
+ isPending,
137
+ isError: Boolean(error),
138
+ isSuccess: Boolean(data),
139
+ updateEmail
140
+ };
141
+ }
142
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../exports/react.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@reown/appkit-wallet-button",
3
+ "version": "1.8.15-wc-linking-reset-headless.0",
4
+ "type": "module",
5
+ "main": "./dist/esm/exports/index.js",
6
+ "types": "./dist/types/exports/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "!tsconfig.tsbuildinfo",
10
+ "README.md"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/types/exports/index.d.ts",
15
+ "import": "./dist/esm/exports/index.js",
16
+ "default": "./dist/esm/exports/index.js"
17
+ },
18
+ "./react": {
19
+ "types": "./dist/types/exports/react.d.ts",
20
+ "import": "./dist/esm/exports/react.js",
21
+ "default": "./dist/esm/exports/react.js"
22
+ }
23
+ },
24
+ "typesVersions": {
25
+ "*": {
26
+ "react": [
27
+ "./dist/types/exports/react.d.ts"
28
+ ]
29
+ }
30
+ },
31
+ "scripts": {
32
+ "build:clean": "rm -rf dist",
33
+ "build": "tsc --build",
34
+ "watch": "tsc --watch",
35
+ "test": "vitest run --coverage.enabled=true -- coverage.reporter=json --coverage.reporter=json-summary --coverage.reportOnFailure=true",
36
+ "typecheck": "tsc --noEmit",
37
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
38
+ },
39
+ "dependencies": {
40
+ "@reown/appkit-common": "workspace:*",
41
+ "@reown/appkit-controllers": "workspace:*",
42
+ "@reown/appkit-ui": "workspace:*",
43
+ "@reown/appkit-utils": "workspace:*",
44
+ "@walletconnect/universal-provider": "2.23.1",
45
+ "lit": "3.3.0",
46
+ "valtio": "2.1.7"
47
+ },
48
+ "optionalDependencies": {
49
+ "@lit/react": "1.0.8"
50
+ },
51
+ "author": "Reown (https://discord.gg/reown)",
52
+ "license": "SEE LICENSE IN LICENSE.md",
53
+ "homepage": "https://github.com/reown-com/appkit",
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/reown-com/appkit.git"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/reown-com/appkit/issues"
60
+ },
61
+ "devDependencies": {
62
+ "@open-wc/testing": "4.0.0",
63
+ "@types/react": "19.1.15",
64
+ "@vitest/coverage-v8": "2.1.9",
65
+ "eslint-plugin-react-hooks": "5.2.0",
66
+ "react": "19.1.2",
67
+ "vitest": "3.1.3"
68
+ },
69
+ "keywords": [
70
+ "appkit",
71
+ "wallet",
72
+ "onboarding",
73
+ "reown",
74
+ "dapps",
75
+ "web3",
76
+ "wagmi",
77
+ "ethereum",
78
+ "solana",
79
+ "bitcoin"
80
+ ],
81
+ "publishConfig": {
82
+ "provenance": true
83
+ }
84
+ }
@@ -0,0 +1,91 @@
1
+ import { ChainController, ConnectorController, ConnectorControllerUtil, ModalController, RouterController } from '@reown/appkit-controllers';
2
+ import { ApiController } from './controllers/ApiController.js';
3
+ import { WalletButtonController } from './controllers/WalletButtonController.js';
4
+ import { ConstantsUtil } from './utils/ConstantsUtil.js';
5
+ import { WalletUtil } from './utils/WalletUtil.js';
6
+ export class AppKitWalletButton {
7
+ constructor({ namespace } = {}) {
8
+ this.namespace = namespace;
9
+ if (!this.isReady()) {
10
+ ApiController.fetchWalletButtons().then(() => {
11
+ if (ApiController.state.walletButtons.length) {
12
+ WalletButtonController.setReady(true);
13
+ }
14
+ });
15
+ }
16
+ }
17
+ isReady() {
18
+ return WalletButtonController.state.ready;
19
+ }
20
+ subscribeIsReady(callback) {
21
+ ApiController.subscribeKey('walletButtons', val => {
22
+ if (val.length) {
23
+ WalletButtonController.setReady(true);
24
+ callback({ isReady: true });
25
+ }
26
+ else {
27
+ callback({ isReady: false });
28
+ }
29
+ });
30
+ }
31
+ async connect(wallet) {
32
+ const namespace = this.namespace || ChainController.state.activeChain;
33
+ const connectors = ConnectorController.state.connectors;
34
+ if (!namespace) {
35
+ throw new Error('Namespace not found');
36
+ }
37
+ if (wallet === ConstantsUtil.Email) {
38
+ return ConnectorControllerUtil.connectEmail({
39
+ namespace,
40
+ onOpen() {
41
+ ModalController.open().then(() => RouterController.push('EmailLogin'));
42
+ },
43
+ onConnect() {
44
+ RouterController.push('Connect');
45
+ }
46
+ });
47
+ }
48
+ if (ConstantsUtil.Socials.some(social => social === wallet)) {
49
+ return ConnectorControllerUtil.connectSocial({
50
+ social: wallet,
51
+ namespace,
52
+ onOpenFarcaster() {
53
+ ModalController.open({ view: 'ConnectingFarcaster' });
54
+ },
55
+ onConnect() {
56
+ RouterController.push('Connect');
57
+ }
58
+ });
59
+ }
60
+ const walletButton = WalletUtil.getWalletButton(wallet);
61
+ const connector = walletButton
62
+ ? ConnectorController.getConnector({ id: walletButton.id, namespace })
63
+ : undefined;
64
+ if (connector && connector.type !== 'AUTH') {
65
+ return ConnectorControllerUtil.connectExternal(connector);
66
+ }
67
+ return ConnectorControllerUtil.connectWalletConnect({
68
+ walletConnect: wallet === 'walletConnect',
69
+ connector: connectors.find(c => c.id === 'walletConnect'),
70
+ onOpen(isMobile) {
71
+ ModalController.open().then(() => {
72
+ if (isMobile) {
73
+ RouterController.push('AllWallets');
74
+ }
75
+ else {
76
+ RouterController.push('ConnectingWalletConnect', {
77
+ wallet: walletButton
78
+ });
79
+ }
80
+ });
81
+ },
82
+ onConnect() {
83
+ RouterController.replace('Connect');
84
+ }
85
+ });
86
+ }
87
+ async updateEmail() {
88
+ return ConnectorControllerUtil.updateEmail();
89
+ }
90
+ }
91
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { proxy } from 'valtio/vanilla';
2
+ import { subscribeKey as subKey } from 'valtio/vanilla/utils';
3
+ import { ApiController as CoreApiController, CoreHelperUtil, FetchUtil } from '@reown/appkit-controllers';
4
+ import { ConstantsUtil } from '../utils/ConstantsUtil.js';
5
+ const baseUrl = CoreHelperUtil.getApiUrl();
6
+ export const api = new FetchUtil({
7
+ baseUrl,
8
+ clientId: null
9
+ });
10
+ const state = proxy({
11
+ walletButtons: [],
12
+ fetching: false
13
+ });
14
+ export const ApiController = {
15
+ state,
16
+ subscribeKey(key, callback) {
17
+ return subKey(state, key, callback);
18
+ },
19
+ async fetchWalletButtons() {
20
+ if (state.fetching) {
21
+ return;
22
+ }
23
+ state.fetching = true;
24
+ const walletButtonIds = Object.values(ConstantsUtil.WalletButtonsIds);
25
+ const { data } = await api.get({
26
+ path: '/getWallets',
27
+ params: {
28
+ ...CoreApiController._getSdkProperties(),
29
+ page: '1',
30
+ entries: String(walletButtonIds.length),
31
+ include: walletButtonIds?.join(',')
32
+ }
33
+ });
34
+ const images = data.map(d => d.image_id).filter(Boolean);
35
+ await Promise.allSettled(images.map(id => CoreApiController._fetchWalletImage(id)));
36
+ state.walletButtons = data;
37
+ }
38
+ };
39
+ //# sourceMappingURL=ApiController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiController.js","sourceRoot":"","sources":["../../../../src/controllers/ApiController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,EAEL,aAAa,IAAI,iBAAiB,EAClC,cAAc,EACd,SAAS,EAEV,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAGzD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,CAAA;AAC1C,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;IAC/B,OAAO;IACP,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AAWF,MAAM,KAAK,GAAG,KAAK,CAAqB;IACtC,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK;IAEL,YAAY,CAAqB,GAAM,EAAE,QAAgD;QACvF,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAM;QACR,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QACrE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAwB;YACpD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE;gBACN,GAAG,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;gBACvC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC;aACpC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,OAAO,CAAC,UAAU,CACrB,MAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CACxE,CAAA;QACD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;IAC5B,CAAC;CACF,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { proxy } from 'valtio/vanilla';
2
+ const state = proxy({
3
+ ready: false,
4
+ pending: false
5
+ });
6
+ export const WalletButtonController = {
7
+ state,
8
+ setReady(ready) {
9
+ state.ready = ready;
10
+ },
11
+ setPending(pending) {
12
+ state.pending = pending;
13
+ },
14
+ setError(error) {
15
+ state.error = error;
16
+ },
17
+ setData(data) {
18
+ state.data = data;
19
+ }
20
+ };
21
+ //# sourceMappingURL=WalletButtonController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletButtonController.js","sourceRoot":"","sources":["../../../../src/controllers/WalletButtonController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAatC,MAAM,KAAK,GAAG,KAAK,CAA8B;IAC/C,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;CACf,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,KAAK;IAEL,QAAQ,CAAC,KAAc;QACrB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,IAAuB;QAC7B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACnB,CAAC;CACF,CAAA"}
@@ -0,0 +1,214 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html } from 'lit';
8
+ import { property, state } from 'lit/decorators.js';
9
+ import { ifDefined } from 'lit/directives/if-defined.js';
10
+ import { AssetUtil, ChainController, ConnectorController, ConnectorControllerUtil, ModalController, RouterController } from '@reown/appkit-controllers';
11
+ import { customElement } from '@reown/appkit-ui';
12
+ import '@reown/appkit-ui/wui-wallet-button';
13
+ import { ApiController } from '../../controllers/ApiController.js';
14
+ import { ConstantsUtil } from '../../utils/ConstantsUtil.js';
15
+ import { WalletUtil } from '../../utils/WalletUtil.js';
16
+ let AppKitWalletButton = class AppKitWalletButton extends LitElement {
17
+ constructor() {
18
+ super();
19
+ this.unsubscribe = [];
20
+ this.wallet = 'metamask';
21
+ this.connectors = ConnectorController.state.connectors;
22
+ this.loading = false;
23
+ this.error = false;
24
+ this.ready = WalletUtil.isWalletButtonReady(this.wallet);
25
+ this.modalLoading = ModalController.state.loading;
26
+ this.unsubscribe.push(...[
27
+ ModalController.subscribeKey('loading', val => (this.modalLoading = val)),
28
+ ConnectorController.subscribeKey('connectors', val => (this.connectors = val)),
29
+ ApiController.subscribeKey('walletButtons', () => {
30
+ this.ready = WalletUtil.isWalletButtonReady(this.wallet);
31
+ })
32
+ ]);
33
+ }
34
+ disconnectedCallback() {
35
+ this.unsubscribe.forEach(unsubscribe => unsubscribe());
36
+ }
37
+ connectedCallback() {
38
+ super.connectedCallback();
39
+ this.caipAddress = this.namespace
40
+ ? ChainController.state.chains.get(this.namespace)?.accountState?.caipAddress
41
+ : ChainController.state.activeCaipAddress;
42
+ }
43
+ firstUpdated() {
44
+ if (!WalletUtil.isWalletButtonReady(this.wallet)) {
45
+ ApiController.fetchWalletButtons();
46
+ }
47
+ if (this.namespace) {
48
+ this.unsubscribe.push(ChainController.subscribeChainProp('accountState', val => {
49
+ this.caipAddress = val?.caipAddress;
50
+ }, this.namespace));
51
+ }
52
+ else {
53
+ this.unsubscribe.push(ChainController.subscribeKey('activeCaipAddress', val => (this.caipAddress = val)));
54
+ }
55
+ }
56
+ render() {
57
+ const namespace = this.namespace || ChainController.state.activeChain;
58
+ if (this.wallet === 'email') {
59
+ return this.emailTemplate();
60
+ }
61
+ if (ConstantsUtil.Socials.some(social => social === this.wallet)) {
62
+ return this.socialTemplate();
63
+ }
64
+ const walletButton = WalletUtil.getWalletButton(this.wallet);
65
+ const connector = walletButton && namespace
66
+ ? ConnectorController.getConnector({ id: walletButton.id, namespace })
67
+ : undefined;
68
+ if (connector) {
69
+ return this.externalTemplate(connector);
70
+ }
71
+ return this.walletButtonTemplate();
72
+ }
73
+ walletButtonTemplate() {
74
+ const walletConnect = this.wallet === 'walletConnect';
75
+ const loading = walletConnect ? this.loading : this.loading || !this.ready;
76
+ const walletButton = WalletUtil.getWalletButton(this.wallet);
77
+ const walletImage = AssetUtil.getWalletImageById(walletButton?.image_id);
78
+ const walletName = this.wallet === 'walletConnect' ? 'WalletConnect' : walletButton?.name;
79
+ return html `
80
+ <wui-wallet-button
81
+ data-testid="apkt-wallet-button"
82
+ name=${(!this.ready && !walletConnect) || this.modalLoading
83
+ ? 'Loading...'
84
+ : ifDefined(walletName)}
85
+ @click=${async () => {
86
+ this.loading = true;
87
+ await ConnectorControllerUtil.connectWalletConnect({
88
+ walletConnect: this.wallet === 'walletConnect',
89
+ connector: this.connectors.find(c => c.id === 'walletConnect'),
90
+ onOpen(isMobile) {
91
+ ModalController.open({
92
+ view: isMobile ? 'AllWallets' : 'ConnectingWalletConnect',
93
+ data: isMobile ? undefined : { wallet: walletButton }
94
+ });
95
+ },
96
+ onConnect() {
97
+ RouterController.replace('Connect');
98
+ }
99
+ })
100
+ .catch(() => {
101
+ })
102
+ .finally(() => (this.loading = false));
103
+ }}
104
+ .icon=${ifDefined(this.wallet === 'walletConnect' ? 'walletConnectInvert' : undefined)}
105
+ .imageSrc=${ifDefined(walletImage)}
106
+ ?disabled=${Boolean(this.caipAddress) || loading || this.modalLoading}
107
+ ?loading=${loading || this.modalLoading}
108
+ ></wui-wallet-button>
109
+ `;
110
+ }
111
+ externalTemplate(connector) {
112
+ const walletButton = WalletUtil.getWalletButton(this.wallet);
113
+ const walletImage = AssetUtil.getWalletImageById(walletButton?.image_id);
114
+ const connectorImage = AssetUtil.getConnectorImage(connector);
115
+ return html `
116
+ <wui-wallet-button
117
+ data-testid="apkt-wallet-button-external"
118
+ name=${this.modalLoading ? 'Loading...' : ifDefined(connector.name)}
119
+ @click=${async () => {
120
+ this.loading = true;
121
+ this.error = false;
122
+ await ConnectorControllerUtil.connectExternal(connector)
123
+ .catch(() => (this.error = true))
124
+ .finally(() => (this.loading = false));
125
+ }}
126
+ .imageSrc=${ifDefined(walletImage ?? connectorImage)}
127
+ ?disabled=${Boolean(this.caipAddress) || this.loading || this.modalLoading}
128
+ ?loading=${this.loading || this.modalLoading}
129
+ ?error=${this.error}
130
+ ></wui-wallet-button>
131
+ `;
132
+ }
133
+ socialTemplate() {
134
+ return html `<wui-wallet-button
135
+ data-testid="apkt-wallet-button-social"
136
+ name=${this.modalLoading ? 'Loading...' : this.wallet}
137
+ @click=${() => {
138
+ this.loading = true;
139
+ this.error = false;
140
+ return ConnectorControllerUtil.connectSocial({
141
+ social: this.wallet,
142
+ namespace: this.namespace,
143
+ onOpenFarcaster() {
144
+ ModalController.open({ view: 'ConnectingFarcaster' });
145
+ },
146
+ onConnect() {
147
+ RouterController.push('Connect');
148
+ }
149
+ })
150
+ .catch(() => (this.error = true))
151
+ .finally(() => (this.loading = false));
152
+ }}
153
+ .icon=${this.wallet}
154
+ ?disabled=${Boolean(this.caipAddress) || this.loading || this.modalLoading}
155
+ ?loading=${this.loading || this.modalLoading}
156
+ ?error=${this.error}
157
+ ></wui-wallet-button>`;
158
+ }
159
+ emailTemplate() {
160
+ return html `<wui-wallet-button
161
+ data-testid="apkt-wallet-button-email"
162
+ name=${this.modalLoading ? 'Loading...' : 'Email'}
163
+ @click=${async () => {
164
+ this.loading = true;
165
+ this.error = false;
166
+ await ConnectorControllerUtil.connectEmail({
167
+ namespace: this.namespace,
168
+ onOpen() {
169
+ ModalController.open({ view: 'EmailLogin' });
170
+ },
171
+ onConnect() {
172
+ RouterController.push('Connect');
173
+ }
174
+ })
175
+ .catch(() => (this.error = true))
176
+ .finally(() => (this.loading = false));
177
+ }}
178
+ .icon=${'mail'}
179
+ .iconSize=${'lg'}
180
+ ?disabled=${Boolean(this.caipAddress) || this.loading || this.modalLoading}
181
+ ?loading=${this.loading || this.modalLoading}
182
+ ?error=${this.error}
183
+ ></wui-wallet-button>`;
184
+ }
185
+ };
186
+ __decorate([
187
+ property()
188
+ ], AppKitWalletButton.prototype, "wallet", void 0);
189
+ __decorate([
190
+ property()
191
+ ], AppKitWalletButton.prototype, "namespace", void 0);
192
+ __decorate([
193
+ state()
194
+ ], AppKitWalletButton.prototype, "connectors", void 0);
195
+ __decorate([
196
+ state()
197
+ ], AppKitWalletButton.prototype, "caipAddress", void 0);
198
+ __decorate([
199
+ state()
200
+ ], AppKitWalletButton.prototype, "loading", void 0);
201
+ __decorate([
202
+ state()
203
+ ], AppKitWalletButton.prototype, "error", void 0);
204
+ __decorate([
205
+ state()
206
+ ], AppKitWalletButton.prototype, "ready", void 0);
207
+ __decorate([
208
+ state()
209
+ ], AppKitWalletButton.prototype, "modalLoading", void 0);
210
+ AppKitWalletButton = __decorate([
211
+ customElement('appkit-wallet-button')
212
+ ], AppKitWalletButton);
213
+ export { AppKitWalletButton };
214
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/scaffold-ui/appkit-wallet-button/index.ts"],"names":[],"mappings":"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"}