@web3auth/modal 11.0.0-beta.0 → 11.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/lib.cjs/packages/modal/src/account-linking/index.js +12 -0
- package/dist/lib.cjs/packages/modal/src/account-linking/react.js +22 -0
- package/dist/lib.cjs/packages/modal/src/account-linking/vue.js +22 -0
- package/dist/lib.cjs/packages/modal/src/config.js +1 -1
- package/dist/lib.cjs/packages/modal/src/modalManager.js +446 -26
- package/dist/lib.cjs/packages/modal/src/react/index.js +7 -3
- package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +27 -12
- package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +13 -13
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +10 -10
- package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +7 -7
- package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +4 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +28 -28
- package/dist/lib.cjs/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
- package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +19 -19
- package/dist/lib.cjs/packages/modal/src/ui/components/Otp/Otp.js +10 -10
- package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +21 -21
- package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +11 -11
- package/dist/lib.cjs/packages/modal/src/ui/config.js +3 -1
- package/dist/lib.cjs/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +109 -0
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWallet.js +14 -3
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -7
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +9 -9
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletList/ConnectWalletList.js +19 -19
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +8 -8
- package/dist/lib.cjs/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +5 -5
- package/dist/lib.cjs/packages/modal/src/ui/containers/Embed/Embed.js +11 -11
- package/dist/lib.cjs/packages/modal/src/ui/containers/Login/Login.js +48 -42
- package/dist/lib.cjs/packages/modal/src/ui/containers/Login/LoginOtp/LoginOtp.js +11 -11
- package/dist/lib.cjs/packages/modal/src/ui/containers/Login/LoginPasswordLess/LoginPasswordLess.js +13 -13
- package/dist/lib.cjs/packages/modal/src/ui/containers/Root/Root.js +24 -9
- package/dist/lib.cjs/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +16 -16
- package/dist/lib.cjs/packages/modal/src/ui/containers/Widget/Widget.js +6 -2
- package/dist/lib.cjs/packages/modal/src/ui/context/ModalStateContext.js +1 -0
- package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +26 -12
- package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +14 -0
- package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +26 -0
- package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +113 -4
- package/dist/lib.cjs/packages/modal/src/vue/index.js +7 -3
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +27 -14
- package/dist/lib.cjs/types/account-linking/index.d.ts +1 -0
- package/dist/lib.cjs/types/account-linking/react.d.ts +2 -0
- package/dist/lib.cjs/types/account-linking/vue.d.ts +2 -0
- package/dist/lib.cjs/types/modalManager.d.ts +40 -2
- package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +2 -0
- package/dist/lib.cjs/types/ui/containers/AccountLinking/AccountLinking.d.ts +6 -0
- package/dist/lib.cjs/types/ui/containers/AccountLinking/index.d.ts +1 -0
- package/dist/lib.cjs/types/ui/containers/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +1 -0
- package/dist/lib.cjs/types/ui/containers/Root/Root.d.ts +1 -1
- package/dist/lib.cjs/types/ui/interfaces.d.ts +43 -8
- package/dist/lib.cjs/types/ui/loginModal.d.ts +27 -2
- package/dist/lib.cjs/types/ui/utils.d.ts +1 -1
- package/dist/lib.cjs/types/vue/composables/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/useWallets.d.ts +2 -0
- package/dist/lib.esm/packages/modal/src/account-linking/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/account-linking/react.js +1 -0
- package/dist/lib.esm/packages/modal/src/account-linking/vue.js +1 -0
- package/dist/lib.esm/packages/modal/src/config.js +1 -1
- package/dist/lib.esm/packages/modal/src/modalManager.js +451 -28
- package/dist/lib.esm/packages/modal/src/react/index.js +1 -1
- package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +28 -13
- package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +13 -13
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +10 -10
- package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +7 -7
- package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +4 -4
- package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +28 -28
- package/dist/lib.esm/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
- package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +19 -19
- package/dist/lib.esm/packages/modal/src/ui/components/Otp/Otp.js +10 -10
- package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +21 -21
- package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +11 -11
- package/dist/lib.esm/packages/modal/src/ui/config.js +3 -1
- package/dist/lib.esm/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +107 -0
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWallet.js +14 -3
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -7
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +9 -9
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletList/ConnectWalletList.js +19 -19
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +8 -8
- package/dist/lib.esm/packages/modal/src/ui/containers/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +5 -5
- package/dist/lib.esm/packages/modal/src/ui/containers/Embed/Embed.js +11 -11
- package/dist/lib.esm/packages/modal/src/ui/containers/Login/Login.js +49 -43
- package/dist/lib.esm/packages/modal/src/ui/containers/Login/LoginOtp/LoginOtp.js +11 -11
- package/dist/lib.esm/packages/modal/src/ui/containers/Login/LoginPasswordLess/LoginPasswordLess.js +13 -13
- package/dist/lib.esm/packages/modal/src/ui/containers/Root/Root.js +24 -9
- package/dist/lib.esm/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +16 -16
- package/dist/lib.esm/packages/modal/src/ui/containers/Widget/Widget.js +6 -2
- package/dist/lib.esm/packages/modal/src/ui/context/ModalStateContext.js +2 -1
- package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +26 -12
- package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +14 -0
- package/dist/lib.esm/packages/modal/src/ui/interfaces.js +24 -1
- package/dist/lib.esm/packages/modal/src/ui/loginModal.js +115 -6
- package/dist/lib.esm/packages/modal/src/vue/index.js +1 -1
- package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +28 -15
- package/package.json +43 -20
|
@@ -2,13 +2,13 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
|
|
3
3
|
const PulseLoader = () => {
|
|
4
4
|
return /*#__PURE__*/jsxs("div", {
|
|
5
|
-
className: "
|
|
5
|
+
className: "wta:flex wta:items-center wta:justify-center wta:gap-x-2",
|
|
6
6
|
children: [/*#__PURE__*/jsx("div", {
|
|
7
|
-
className: "
|
|
7
|
+
className: "wta:size-3 wta:animate-pulse wta:rounded-full wta:bg-app-gray-500 wta:dark:bg-app-gray-200"
|
|
8
8
|
}), /*#__PURE__*/jsx("div", {
|
|
9
|
-
className: "
|
|
9
|
+
className: "wta:size-3 wta:animate-pulse wta:rounded-full wta:bg-app-gray-400 wta:dark:bg-app-gray-400"
|
|
10
10
|
}), /*#__PURE__*/jsx("div", {
|
|
11
|
-
className: "
|
|
11
|
+
className: "wta:size-3 wta:animate-pulse wta:rounded-full wta:bg-app-gray-200 wta:dark:bg-app-gray-600"
|
|
12
12
|
})]
|
|
13
13
|
});
|
|
14
14
|
};
|
|
@@ -13,12 +13,12 @@ function getProviderIcon(method, isDark, extension) {
|
|
|
13
13
|
id: "active-login-img",
|
|
14
14
|
src: `https://images.web3auth.io/${hoverId}${extension}`,
|
|
15
15
|
alt: "active-login-img",
|
|
16
|
-
className: "
|
|
16
|
+
className: "wta:hidden wta:size-5 wta:object-contain wta:group-hover:block"
|
|
17
17
|
}), /*#__PURE__*/jsx("img", {
|
|
18
18
|
id: "login-img",
|
|
19
19
|
src: `https://images.web3auth.io/${imageId}${extension}`,
|
|
20
20
|
alt: "login-img",
|
|
21
|
-
className: "
|
|
21
|
+
className: "wta:block wta:size-5 wta:object-contain wta:group-hover:hidden"
|
|
22
22
|
})]
|
|
23
23
|
});
|
|
24
24
|
}
|
|
@@ -35,20 +35,20 @@ function SocialLoginList(props) {
|
|
|
35
35
|
} = props;
|
|
36
36
|
const getGridRowFromVisibleLogin = () => {
|
|
37
37
|
if (visibleRow.length === 1) {
|
|
38
|
-
return "
|
|
38
|
+
return "wta:grid-cols-1";
|
|
39
39
|
} else if (visibleRow.length === 2) {
|
|
40
|
-
return "
|
|
40
|
+
return "wta:grid-cols-2";
|
|
41
41
|
} else if (visibleRow.length === 3) {
|
|
42
|
-
return "
|
|
42
|
+
return "wta:grid-cols-3";
|
|
43
43
|
} else {
|
|
44
|
-
return "
|
|
44
|
+
return "wta:grid-cols-4";
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
if ((visibleRow.length !== 0 || mainOptionsRow.length !== 0) && (otherRow === null || otherRow === void 0 ? void 0 : otherRow.length) === 0) {
|
|
48
48
|
return /*#__PURE__*/jsxs("div", {
|
|
49
|
-
className: "
|
|
49
|
+
className: "wta:flex wta:w-full wta:flex-col wta:items-center wta:justify-center wta:gap-y-2",
|
|
50
50
|
children: [/*#__PURE__*/jsx("div", {
|
|
51
|
-
className: "
|
|
51
|
+
className: "wta:grid wta:w-full wta:gap-y-2",
|
|
52
52
|
children: mainOptionsRow.map(row => /*#__PURE__*/jsx(Button, {
|
|
53
53
|
type: BUTTON_TYPE.SOCIAL,
|
|
54
54
|
props: {
|
|
@@ -57,7 +57,7 @@ function SocialLoginList(props) {
|
|
|
57
57
|
method: row.method,
|
|
58
58
|
isDark,
|
|
59
59
|
isPrimaryBtn: false,
|
|
60
|
-
btnStyle: "
|
|
60
|
+
btnStyle: "wta:flex wta:items-center wta:justify-center! wta:w-full wta:h-11 wta:group",
|
|
61
61
|
children: /*#__PURE__*/jsx(Fragment, {
|
|
62
62
|
children: getProviderIcon(row.method, isDark, ".svg")
|
|
63
63
|
}),
|
|
@@ -68,7 +68,7 @@ function SocialLoginList(props) {
|
|
|
68
68
|
}
|
|
69
69
|
}, row.method))
|
|
70
70
|
}), /*#__PURE__*/jsxs("div", {
|
|
71
|
-
className: cn("
|
|
71
|
+
className: cn("wta:grid wta:w-full wta:gap-x-2", getGridRowFromVisibleLogin()),
|
|
72
72
|
children: [visibleRow.filter((_, index) => visibleRow.length === 4 ? index <= 3 : index < 3).map(row => /*#__PURE__*/jsx(LoginHint, {
|
|
73
73
|
content: "Last Login",
|
|
74
74
|
isDark: isDark,
|
|
@@ -80,7 +80,7 @@ function SocialLoginList(props) {
|
|
|
80
80
|
method: row.method,
|
|
81
81
|
isDark,
|
|
82
82
|
isPrimaryBtn: false,
|
|
83
|
-
btnStyle: "
|
|
83
|
+
btnStyle: "wta:flex wta:items-center wta:justify-center! wta:w-full wta:h-11 wta:group",
|
|
84
84
|
children: /*#__PURE__*/jsx(Fragment, {
|
|
85
85
|
children: getProviderIcon(row.method, isDark, ".svg")
|
|
86
86
|
}),
|
|
@@ -96,11 +96,11 @@ function SocialLoginList(props) {
|
|
|
96
96
|
isDark,
|
|
97
97
|
showIcon: false,
|
|
98
98
|
onClick: handleExpandSocialLogins,
|
|
99
|
-
btnStyle: "
|
|
99
|
+
btnStyle: "wta:flex wta:items-center wta:justify-center! wta:w-full wta:h-11",
|
|
100
100
|
children: /*#__PURE__*/jsx("img", {
|
|
101
101
|
src: getIcons(isDark ? "dots-dark-horizontal" : "dots-light-horizontal"),
|
|
102
102
|
alt: "Logo",
|
|
103
|
-
className: "
|
|
103
|
+
className: "wta:object-contain"
|
|
104
104
|
}),
|
|
105
105
|
buttonRadius
|
|
106
106
|
}
|
|
@@ -109,20 +109,20 @@ function SocialLoginList(props) {
|
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
return /*#__PURE__*/jsxs("div", {
|
|
112
|
-
className: "
|
|
112
|
+
className: "wta:flex wta:w-full wta:flex-col wta:items-start wta:justify-start wta:gap-y-4",
|
|
113
113
|
children: [/*#__PURE__*/jsx("button", {
|
|
114
114
|
type: "button",
|
|
115
|
-
className: "
|
|
115
|
+
className: "wta:appearance-none",
|
|
116
116
|
onClick: () => handleExpandSocialLogins(),
|
|
117
117
|
children: /*#__PURE__*/jsx("img", {
|
|
118
118
|
src: getIcons(isDark ? "arrow-left-dark" : "arrow-left-light"),
|
|
119
119
|
alt: "Logo",
|
|
120
|
-
className: "
|
|
120
|
+
className: "wta:object-contain"
|
|
121
121
|
})
|
|
122
122
|
}), /*#__PURE__*/jsx("div", {
|
|
123
|
-
className: "w3a--social-container
|
|
123
|
+
className: "w3a--social-container wta:grid wta:h-[300px] wta:w-full wta:auto-rows-min wta:grid-cols-1 wta:gap-y-2 wta:overflow-y-auto wta:pl-2 wta:pr-3",
|
|
124
124
|
children: otherRow.map(row => /*#__PURE__*/jsx("div", {
|
|
125
|
-
className: "
|
|
125
|
+
className: "wta:h-11 wta:w-full",
|
|
126
126
|
children: /*#__PURE__*/jsx(Button, {
|
|
127
127
|
type: BUTTON_TYPE.SOCIAL,
|
|
128
128
|
props: {
|
|
@@ -132,15 +132,15 @@ function SocialLoginList(props) {
|
|
|
132
132
|
onClick: () => handleSocialLoginClick({
|
|
133
133
|
loginParams: row.loginParams
|
|
134
134
|
}),
|
|
135
|
-
btnStyle: "
|
|
135
|
+
btnStyle: "wta:group wta:relative wta:overflow-hidden wta:flex wta:items-center wta:justify-start! wta:w-full wta:h-11",
|
|
136
136
|
buttonRadius,
|
|
137
137
|
children: /*#__PURE__*/jsxs(Fragment, {
|
|
138
138
|
children: [getProviderIcon(row.method, isDark, ".svg"), /*#__PURE__*/jsx("p", {
|
|
139
|
-
className: "
|
|
139
|
+
className: "wta:text-sm wta:font-normal wta:text-app-gray-900 wta:dark:text-app-white",
|
|
140
140
|
children: row.name
|
|
141
141
|
}), /*#__PURE__*/jsx("img", {
|
|
142
142
|
id: "login-arrow",
|
|
143
|
-
className: "
|
|
143
|
+
className: "wta:absolute wta:right-4 wta:top-1/2 wta:-translate-x-10 wta:-translate-y-1/2 wta:opacity-0 wta:transition-all wta:duration-300 wta:group-hover:translate-x-0 wta:group-hover:opacity-100",
|
|
144
144
|
src: getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
145
145
|
alt: "arrow"
|
|
146
146
|
})]
|
|
@@ -17,7 +17,7 @@ const SpinnerLoader = props => {
|
|
|
17
17
|
height
|
|
18
18
|
},
|
|
19
19
|
children: [/*#__PURE__*/jsx("div", {
|
|
20
|
-
className: cn("w3a--spinner-loader-ring
|
|
20
|
+
className: cn("w3a--spinner-loader-ring wta:animate-spin", classes === null || classes === void 0 ? void 0 : classes.spinner)
|
|
21
21
|
}), children && /*#__PURE__*/jsx("div", {
|
|
22
22
|
className: "w3a--spinner-loader-image",
|
|
23
23
|
children: children
|
|
@@ -20,21 +20,21 @@ const Toast = () => {
|
|
|
20
20
|
}, [toast.message, setToast]);
|
|
21
21
|
if (!toast.message) return null;
|
|
22
22
|
const toastClass = {
|
|
23
|
-
success: "
|
|
24
|
-
error: "
|
|
25
|
-
warning: "
|
|
26
|
-
info: "
|
|
23
|
+
success: "wta:border-app-green-200 wta:bg-app-green-100 wta:text-app-green-900",
|
|
24
|
+
error: "wta:border-app-red-200 wta:bg-app-red-100 wta:text-app-red-900",
|
|
25
|
+
warning: "wta:border-app-yellow-200 wta:bg-app-yellow-100 wta:text-app-yellow-900",
|
|
26
|
+
info: "wta:border-app-blue-200 wta:bg-app-blue-100 wta:text-app-blue-900"
|
|
27
27
|
};
|
|
28
28
|
const toastIconClass = {
|
|
29
|
-
success: "
|
|
30
|
-
error: "
|
|
31
|
-
warning: "
|
|
32
|
-
info: "
|
|
29
|
+
success: "wta:text-app-green-900",
|
|
30
|
+
error: "wta:text-app-red-900",
|
|
31
|
+
warning: "wta:text-app-yellow-900",
|
|
32
|
+
info: "wta:text-app-blue-900"
|
|
33
33
|
};
|
|
34
34
|
return /*#__PURE__*/jsxs("div", {
|
|
35
|
-
className: `
|
|
35
|
+
className: `wta:absolute wta:inset-x-4 wta:bottom-4 wta:z-[60] wta:mx-auto wta:w-[90%] wta:rounded-md wta:border wta:p-4 wta:text-sm ${toastClass[toast.type]}`,
|
|
36
36
|
children: [/*#__PURE__*/jsx("div", {
|
|
37
|
-
className: "
|
|
37
|
+
className: "wta:absolute wta:right-4 wta:top-4 wta:z-10 wta:cursor-pointer",
|
|
38
38
|
children: /*#__PURE__*/jsx("svg", {
|
|
39
39
|
width: "13",
|
|
40
40
|
height: "13",
|
|
@@ -54,7 +54,7 @@ const Toast = () => {
|
|
|
54
54
|
})
|
|
55
55
|
})
|
|
56
56
|
}), /*#__PURE__*/jsx("div", {
|
|
57
|
-
className: "
|
|
57
|
+
className: "wta:flex wta:items-center wta:gap-2",
|
|
58
58
|
children: /*#__PURE__*/jsx("p", {
|
|
59
59
|
children: toast.message
|
|
60
60
|
})
|
|
@@ -3,7 +3,9 @@ import { AUTH_CONNECTION, BUILD_ENV } from '@web3auth/auth';
|
|
|
3
3
|
function capitalizeFirstLetter(string) {
|
|
4
4
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
5
5
|
}
|
|
6
|
-
const restrictedLoginMethods = new Set([AUTH_CONNECTION.CUSTOM, AUTH_CONNECTION.PASSKEYS, AUTH_CONNECTION.TELEGRAM, AUTH_CONNECTION.AUTHENTICATOR
|
|
6
|
+
const restrictedLoginMethods = new Set([AUTH_CONNECTION.CUSTOM, AUTH_CONNECTION.PASSKEYS, AUTH_CONNECTION.TELEGRAM, AUTH_CONNECTION.AUTHENTICATOR,
|
|
7
|
+
// Farcaster login is deprecated and no longer supported by the Web3Auth SDKs.
|
|
8
|
+
AUTH_CONNECTION.FARCASTER]);
|
|
7
9
|
const AUTH_PROVIDERS = Object.values(AUTH_CONNECTION).filter(x => !restrictedLoginMethods.has(x));
|
|
8
10
|
const AUTH_PROVIDERS_NAMES = AUTH_PROVIDERS.reduce((acc, x) => {
|
|
9
11
|
if (x === "email_passwordless") acc[x] = "Email";else if (x === "sms_passwordless") acc[x] = "Mobile";else acc[x] = capitalizeFirstLetter(x);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { WALLET_CONNECTORS } from '@web3auth/no-modal';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { WALLET_CONNECT_LOGO } from '../../constants.js';
|
|
5
|
+
import { useModalState } from '../../context/ModalStateContext.js';
|
|
6
|
+
import { useWidget } from '../../context/WidgetContext.js';
|
|
7
|
+
import { ACCOUNT_LINKING_INTENT, ACCOUNT_LINKING_STATUS } from '../../interfaces.js';
|
|
8
|
+
import i18nInstance from '../../localeImport.js';
|
|
9
|
+
import ConnectWalletQrCode from '../ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js';
|
|
10
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
|
+
|
|
12
|
+
const DEFAULT_ACCOUNT_LINKING_BUTTON = {
|
|
13
|
+
name: WALLET_CONNECTORS.WALLET_CONNECT_V2,
|
|
14
|
+
displayName: "WalletConnect",
|
|
15
|
+
hasInjectedWallet: false,
|
|
16
|
+
hasWalletConnect: true,
|
|
17
|
+
hasInstallLinks: false,
|
|
18
|
+
imgExtension: "svg"
|
|
19
|
+
};
|
|
20
|
+
function AccountLinking(props) {
|
|
21
|
+
var _accountLinkingButton;
|
|
22
|
+
const {
|
|
23
|
+
allExternalWallets
|
|
24
|
+
} = props;
|
|
25
|
+
const {
|
|
26
|
+
modalState
|
|
27
|
+
} = useModalState();
|
|
28
|
+
const {
|
|
29
|
+
deviceDetails,
|
|
30
|
+
isDark
|
|
31
|
+
} = useWidget();
|
|
32
|
+
const [t] = useTranslation(undefined, {
|
|
33
|
+
i18n: i18nInstance
|
|
34
|
+
});
|
|
35
|
+
const accountLinkingButton = useMemo(() => {
|
|
36
|
+
const requestedConnectorName = modalState.accountLinking.connectorName;
|
|
37
|
+
if (!requestedConnectorName) return DEFAULT_ACCOUNT_LINKING_BUTTON;
|
|
38
|
+
return allExternalWallets.find(button => button.name === requestedConnectorName) || DEFAULT_ACCOUNT_LINKING_BUTTON;
|
|
39
|
+
}, [allExternalWallets, modalState.accountLinking.connectorName]);
|
|
40
|
+
const accountLinkingDisplayName = useMemo(() => {
|
|
41
|
+
return accountLinkingButton.displayName || "WalletConnect";
|
|
42
|
+
}, [accountLinkingButton.displayName]);
|
|
43
|
+
const accountLinkingQrLogoImage = useMemo(() => {
|
|
44
|
+
if (accountLinkingButton.name === WALLET_CONNECTORS.WALLET_CONNECT_V2 || !accountLinkingButton.imgExtension) {
|
|
45
|
+
return WALLET_CONNECT_LOGO;
|
|
46
|
+
}
|
|
47
|
+
return `https://images.web3auth.io/login-${accountLinkingButton.name}.${accountLinkingButton.imgExtension}`;
|
|
48
|
+
}, [accountLinkingButton.imgExtension, accountLinkingButton.name]);
|
|
49
|
+
const isSwitchAccountIntent = modalState.accountLinking.intent === ACCOUNT_LINKING_INTENT.SWITCH;
|
|
50
|
+
const isWalletConnectConnector = accountLinkingButton.name === WALLET_CONNECTORS.WALLET_CONNECT_V2;
|
|
51
|
+
const accountLinkingMessage = useMemo(() => {
|
|
52
|
+
switch (modalState.accountLinking.status) {
|
|
53
|
+
case ACCOUNT_LINKING_STATUS.INITIALIZING:
|
|
54
|
+
return t("modal.account-linking.initializing-wallet", {
|
|
55
|
+
wallet: accountLinkingDisplayName
|
|
56
|
+
});
|
|
57
|
+
case ACCOUNT_LINKING_STATUS.AWAITING_CONNECTION:
|
|
58
|
+
return modalState.accountLinking.walletConnectUri ? isWalletConnectConnector ? t("modal.account-linking.scan-walletconnect") : t("modal.account-linking.scan-wallet", {
|
|
59
|
+
wallet: accountLinkingDisplayName
|
|
60
|
+
}) : t("modal.account-linking.preparing-wallet-qr", {
|
|
61
|
+
wallet: accountLinkingDisplayName
|
|
62
|
+
});
|
|
63
|
+
case ACCOUNT_LINKING_STATUS.WALLET_CONNECTED:
|
|
64
|
+
return isSwitchAccountIntent ? t("modal.account-linking.wallet-connected-preparing-switch") : t("modal.account-linking.wallet-connected-preparing-linking");
|
|
65
|
+
case ACCOUNT_LINKING_STATUS.LINKING:
|
|
66
|
+
return isSwitchAccountIntent ? t("modal.account-linking.switching-wallet") : t("modal.account-linking.linking-wallet");
|
|
67
|
+
case ACCOUNT_LINKING_STATUS.COMPLETED:
|
|
68
|
+
return isSwitchAccountIntent ? t("modal.account-linking.wallet-switched") : t("modal.account-linking.wallet-linked");
|
|
69
|
+
case ACCOUNT_LINKING_STATUS.ERRORED:
|
|
70
|
+
return modalState.accountLinking.errorMessage || (isSwitchAccountIntent ? t("modal.account-linking.failed-switch-wallet", {
|
|
71
|
+
wallet: accountLinkingDisplayName
|
|
72
|
+
}) : t("modal.account-linking.failed-connect-wallet", {
|
|
73
|
+
wallet: accountLinkingDisplayName
|
|
74
|
+
}));
|
|
75
|
+
default:
|
|
76
|
+
return "";
|
|
77
|
+
}
|
|
78
|
+
}, [accountLinkingDisplayName, isSwitchAccountIntent, isWalletConnectConnector, modalState.accountLinking.errorMessage, modalState.accountLinking.status, modalState.accountLinking.walletConnectUri, t]);
|
|
79
|
+
return /*#__PURE__*/jsxs("div", {
|
|
80
|
+
className: "wta:flex wta:flex-1 wta:flex-col wta:gap-y-4",
|
|
81
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
82
|
+
className: "wta:flex wta:items-center wta:justify-center",
|
|
83
|
+
children: /*#__PURE__*/jsx("p", {
|
|
84
|
+
className: "wta:text-base wta:font-medium wta:text-app-gray-900 wta:dark:text-app-white",
|
|
85
|
+
children: accountLinkingDisplayName
|
|
86
|
+
})
|
|
87
|
+
}), modalState.accountLinking.status === ACCOUNT_LINKING_STATUS.ERRORED ? /*#__PURE__*/jsx("div", {
|
|
88
|
+
className: "wta:rounded-2xl wta:border wta:border-app-gray-200 wta:bg-app-gray-50 wta:p-4 wta:dark:border-app-gray-700 wta:dark:bg-app-gray-800",
|
|
89
|
+
children: /*#__PURE__*/jsx("p", {
|
|
90
|
+
className: "wta:text-center wta:text-sm wta:text-app-gray-700 wta:dark:text-app-gray-200",
|
|
91
|
+
children: accountLinkingMessage
|
|
92
|
+
})
|
|
93
|
+
}) : /*#__PURE__*/jsx(ConnectWalletQrCode, {
|
|
94
|
+
qrCodeValue: modalState.accountLinking.walletConnectUri,
|
|
95
|
+
isDark: isDark,
|
|
96
|
+
selectedButton: accountLinkingButton,
|
|
97
|
+
logoImage: accountLinkingQrLogoImage,
|
|
98
|
+
primaryColor: (_accountLinkingButton = accountLinkingButton.walletRegistryItem) === null || _accountLinkingButton === void 0 ? void 0 : _accountLinkingButton.primaryColor,
|
|
99
|
+
platform: deviceDetails.platform
|
|
100
|
+
}), accountLinkingMessage && modalState.accountLinking.status !== ACCOUNT_LINKING_STATUS.ERRORED && /*#__PURE__*/jsx("p", {
|
|
101
|
+
className: "wta:text-center wta:text-sm wta:text-app-gray-500 wta:dark:text-app-gray-300",
|
|
102
|
+
children: accountLinkingMessage
|
|
103
|
+
})]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { AccountLinking as default };
|
|
@@ -247,6 +247,16 @@ function ConnectWallet(props) {
|
|
|
247
247
|
} else {
|
|
248
248
|
// show QR code if wallet connect v2 is supported
|
|
249
249
|
if (button.hasWalletConnect) {
|
|
250
|
+
// In account-linking picker mode, hand off to the WC v2 account-linking flow in
|
|
251
|
+
// modalManager (via the picker resolver in onExternalWalletLogin) instead of showing
|
|
252
|
+
// the regular inline QR — the regular QR uses a connector owned by the login flow,
|
|
253
|
+
// which is not what we want for linking.
|
|
254
|
+
if (modalState.accountLinking.pickerActive) {
|
|
255
|
+
handleExternalWalletClick({
|
|
256
|
+
connector: button.name
|
|
257
|
+
});
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
250
260
|
setSelectedButton(button);
|
|
251
261
|
setSelectedWallet(true);
|
|
252
262
|
setCurrentPage(CONNECT_WALLET_PAGES.SELECTED_WALLET);
|
|
@@ -279,13 +289,14 @@ function ConnectWallet(props) {
|
|
|
279
289
|
return false;
|
|
280
290
|
}, [selectedWallet, isExternalWalletModeOnly]);
|
|
281
291
|
return /*#__PURE__*/jsxs("div", {
|
|
282
|
-
className: "
|
|
292
|
+
className: "wta:relative wta:flex wta:flex-1 wta:flex-col wta:gap-y-4",
|
|
283
293
|
children: [/*#__PURE__*/jsx(ConnectWalletHeader, {
|
|
284
294
|
hideBackButton: hideBackButton,
|
|
285
295
|
disableBackButton: disableBackButton,
|
|
286
296
|
onBackClick: handleBack,
|
|
287
297
|
currentPage: currentPage,
|
|
288
|
-
selectedButton: selectedButton
|
|
298
|
+
selectedButton: selectedButton,
|
|
299
|
+
isLinking: modalState.accountLinking.pickerActive
|
|
289
300
|
}), selectedWallet ? /*#__PURE__*/jsx(ConnectWalletQrCode, {
|
|
290
301
|
qrCodeValue: qrCodeValue,
|
|
291
302
|
isDark: isDark,
|
|
@@ -294,7 +305,7 @@ function ConnectWallet(props) {
|
|
|
294
305
|
logoImage: `https://images.web3auth.io/login-${selectedButton.name}.${selectedButton.imgExtension}`,
|
|
295
306
|
platform: deviceDetails.platform
|
|
296
307
|
}) : /*#__PURE__*/jsxs("div", {
|
|
297
|
-
className: "
|
|
308
|
+
className: "wta:flex wta:flex-col wta:gap-y-2",
|
|
298
309
|
children: [/*#__PURE__*/jsx(ConnectWalletChainFilter, {
|
|
299
310
|
isDark: isDark,
|
|
300
311
|
isLoading: isLoading,
|
|
@@ -44,28 +44,28 @@ function ConnectWalletChainFilter(props) {
|
|
|
44
44
|
}
|
|
45
45
|
if (isLoading) {
|
|
46
46
|
return /*#__PURE__*/jsx("div", {
|
|
47
|
-
className: "
|
|
47
|
+
className: "wta:flex wta:items-center wta:justify-between wta:gap-x-2",
|
|
48
48
|
children: Array.from({
|
|
49
49
|
length: chains.length
|
|
50
50
|
}).map((_, index) => /*#__PURE__*/jsx("div", {
|
|
51
|
-
className: "
|
|
51
|
+
className: "wta:h-12 wta:w-[100px] wta:animate-pulse wta:rounded-2xl wta:bg-app-gray-200 wta:dark:bg-app-gray-700"
|
|
52
52
|
}, `chain-loader-${index}`))
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
return /*#__PURE__*/jsx("div", {
|
|
56
|
-
className: "
|
|
56
|
+
className: "wta:flex wta:items-center wta:justify-items-start wta:gap-x-4",
|
|
57
57
|
children: chains.map(chain => /*#__PURE__*/jsxs("button", {
|
|
58
58
|
type: "button",
|
|
59
|
-
className: cn("
|
|
60
|
-
"
|
|
59
|
+
className: cn("wta:flex wta:w-[104px] wta:items-center wta:justify-center wta:gap-x-1 wta:text-xs wta:font-medium wta:px-4 wta:py-3 wta:text-app-gray-500 wta:dark:text-app-gray-300 wta:hover:bg-app-gray-200 wta:dark:hover:bg-app-gray-700 wta:h-12 wta:rounded-2xl wta:border wta:border-transparent", {
|
|
60
|
+
"wta:bg-app-gray-100 wta:dark:bg-app-gray-800 wta:border-app-gray-200 wta:dark:border-app-gray-700 wta:text-app-gray-900 wta:dark:text-app-white wta:hover:bg-app-gray-100! wta:dark:hover:bg-app-gray-800!": selectedChain === chain.id
|
|
61
61
|
}),
|
|
62
62
|
onClick: () => setSelectedChain(chain.id),
|
|
63
63
|
children: [chain.icon && /*#__PURE__*/jsx("img", {
|
|
64
64
|
src: getIcons(isDark ? `${chain.icon}-dark` : `${chain.icon}-light`),
|
|
65
65
|
alt: chain.name,
|
|
66
|
-
className: "
|
|
66
|
+
className: "wta:size-5 wta:object-contain"
|
|
67
67
|
}), /*#__PURE__*/jsx("span", {
|
|
68
|
-
className: "first-letter:
|
|
68
|
+
className: "wta:first-letter:capitalize",
|
|
69
69
|
children: t(chain.name)
|
|
70
70
|
})]
|
|
71
71
|
}, chain.id))
|
|
@@ -24,13 +24,13 @@ const ConnectWalletChainNamespaceSelect = props => {
|
|
|
24
24
|
});
|
|
25
25
|
return /*#__PURE__*/jsxs("div", {
|
|
26
26
|
children: [/*#__PURE__*/jsx("div", {
|
|
27
|
-
className: "
|
|
27
|
+
className: "wta:flex wta:items-center wta:justify-center",
|
|
28
28
|
children: /*#__PURE__*/jsx("p", {
|
|
29
|
-
className: "
|
|
29
|
+
className: "wta:text-base wta:font-medium wta:text-app-gray-900 wta:dark:text-app-white",
|
|
30
30
|
children: t("modal.external.select-chain")
|
|
31
31
|
})
|
|
32
32
|
}), /*#__PURE__*/jsx("div", {
|
|
33
|
-
className: "
|
|
33
|
+
className: "wta:my-6 wta:flex wta:justify-center",
|
|
34
34
|
children: /*#__PURE__*/jsx(Image, {
|
|
35
35
|
imageId: `login-${wallet.name}`,
|
|
36
36
|
hoverImageId: `login-${wallet.name}`,
|
|
@@ -41,12 +41,12 @@ const ConnectWalletChainNamespaceSelect = props => {
|
|
|
41
41
|
extension: wallet.imgExtension
|
|
42
42
|
})
|
|
43
43
|
}), /*#__PURE__*/jsx("p", {
|
|
44
|
-
className: "
|
|
44
|
+
className: "wta:my-6 wta:text-center wta:text-sm wta:text-app-gray-500 wta:dark:text-app-gray-400",
|
|
45
45
|
children: t("modal.external.select-chain-description", {
|
|
46
46
|
wallet: wallet.displayName
|
|
47
47
|
})
|
|
48
48
|
}), /*#__PURE__*/jsx("ul", {
|
|
49
|
-
className: "
|
|
49
|
+
className: "wta:flex wta:flex-col wta:gap-3",
|
|
50
50
|
children: chainNamespaces.map(({
|
|
51
51
|
chainNamespace,
|
|
52
52
|
displayName,
|
|
@@ -54,13 +54,13 @@ const ConnectWalletChainNamespaceSelect = props => {
|
|
|
54
54
|
}) => /*#__PURE__*/jsx("li", {
|
|
55
55
|
children: /*#__PURE__*/jsxs("button", {
|
|
56
56
|
type: "button",
|
|
57
|
-
className: "w3a--btn
|
|
57
|
+
className: "w3a--btn wta:group wta:relative wta:h-11 wta:w-full wta:items-center wta:justify-between! wta:overflow-hidden wta:rounded-full",
|
|
58
58
|
onClick: () => handleExternalWalletClick({
|
|
59
59
|
connector: wallet.name,
|
|
60
60
|
chainNamespace
|
|
61
61
|
}),
|
|
62
62
|
children: [/*#__PURE__*/jsxs("div", {
|
|
63
|
-
className: "
|
|
63
|
+
className: "wta:flex wta:items-center",
|
|
64
64
|
children: [/*#__PURE__*/jsx(Image, {
|
|
65
65
|
imageId: imageId,
|
|
66
66
|
hoverImageId: imageId,
|
|
@@ -70,12 +70,12 @@ const ConnectWalletChainNamespaceSelect = props => {
|
|
|
70
70
|
isButton: true,
|
|
71
71
|
extension: "svg"
|
|
72
72
|
}), /*#__PURE__*/jsx("p", {
|
|
73
|
-
className: "
|
|
73
|
+
className: "wta:ml-2 wta:text-left wta:text-sm wta:text-app-gray-900 wta:first-letter:capitalize wta:dark:text-app-gray-200",
|
|
74
74
|
children: displayName
|
|
75
75
|
})]
|
|
76
76
|
}), /*#__PURE__*/jsx("img", {
|
|
77
77
|
id: "chain-namespace-arrow",
|
|
78
|
-
className: "
|
|
78
|
+
className: "wta:absolute wta:right-4 wta:top-1/2 wta:-translate-x-6 wta:-translate-y-1/2 wta:opacity-0 wta:transition-all wta:duration-300 wta:group-hover:translate-x-0 wta:group-hover:opacity-100",
|
|
79
79
|
src: getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
80
80
|
alt: "arrow"
|
|
81
81
|
})]
|
|
@@ -9,7 +9,8 @@ function ConnectWalletHeader(props) {
|
|
|
9
9
|
disableBackButton,
|
|
10
10
|
onBackClick,
|
|
11
11
|
currentPage,
|
|
12
|
-
selectedButton
|
|
12
|
+
selectedButton,
|
|
13
|
+
isLinking
|
|
13
14
|
} = props;
|
|
14
15
|
const [t] = useTranslation(undefined, {
|
|
15
16
|
i18n: i18nInstance
|
|
@@ -20,17 +21,17 @@ function ConnectWalletHeader(props) {
|
|
|
20
21
|
}
|
|
21
22
|
};
|
|
22
23
|
return /*#__PURE__*/jsxs("div", {
|
|
23
|
-
className: "
|
|
24
|
-
children: [!hideBackButton ? /*#__PURE__*/jsx("button", {
|
|
24
|
+
className: "wta:flex wta:items-center wta:justify-between",
|
|
25
|
+
children: [!hideBackButton && !isLinking ? /*#__PURE__*/jsx("button", {
|
|
25
26
|
type: "button",
|
|
26
|
-
className: "
|
|
27
|
+
className: "wta:z-20 wta:flex wta:size-5 wta:cursor-pointer wta:items-center wta:justify-center wta:rounded-full",
|
|
27
28
|
onClick: handleBack,
|
|
28
29
|
disabled: disableBackButton,
|
|
29
30
|
children: /*#__PURE__*/jsx("svg", {
|
|
30
31
|
xmlns: "http://www.w3.org/2000/svg",
|
|
31
32
|
fill: "none",
|
|
32
33
|
viewBox: "0 0 20 20",
|
|
33
|
-
className: `
|
|
34
|
+
className: `wta:text-app-gray-500 wta:dark:text-app-gray-200 ${disableBackButton ? "wta:cursor-not-allowed wta:opacity-50" : "wta:hover:text-app-gray-900 wta:dark:hover:text-app-white"}`,
|
|
34
35
|
children: /*#__PURE__*/jsx("path", {
|
|
35
36
|
fill: "currentColor",
|
|
36
37
|
fillRule: "evenodd",
|
|
@@ -39,10 +40,10 @@ function ConnectWalletHeader(props) {
|
|
|
39
40
|
})
|
|
40
41
|
})
|
|
41
42
|
}) : /*#__PURE__*/jsx("div", {}), /*#__PURE__*/jsx("p", {
|
|
42
|
-
className: "
|
|
43
|
-
children: currentPage === CONNECT_WALLET_PAGES.SELECTED_WALLET ? selectedButton === null || selectedButton === void 0 ? void 0 : selectedButton.displayName : currentPage === CONNECT_WALLET_PAGES.CONNECT_WALLET ? t("modal.connectYourWallet") : currentPage
|
|
43
|
+
className: "wta:text-base wta:font-medium wta:text-app-gray-900 wta:dark:text-app-white",
|
|
44
|
+
children: currentPage === CONNECT_WALLET_PAGES.SELECTED_WALLET ? selectedButton === null || selectedButton === void 0 ? void 0 : selectedButton.displayName : currentPage === CONNECT_WALLET_PAGES.CONNECT_WALLET ? isLinking ? t("modal.linkYourWallet") : t("modal.connectYourWallet") : currentPage
|
|
44
45
|
}), /*#__PURE__*/jsx("div", {
|
|
45
|
-
className: "
|
|
46
|
+
className: "wta:z-[-1] wta:size-5"
|
|
46
47
|
})]
|
|
47
48
|
});
|
|
48
49
|
}
|
|
@@ -11,7 +11,7 @@ function NoWalletsFound() {
|
|
|
11
11
|
i18n: i18nInstance
|
|
12
12
|
});
|
|
13
13
|
return /*#__PURE__*/jsx("div", {
|
|
14
|
-
className: "
|
|
14
|
+
className: "wta:flex wta:w-full wta:items-center wta:justify-center wta:py-6 wta:text-center wta:text-app-gray-400 wta:dark:text-app-gray-500",
|
|
15
15
|
children: t("modal.external.no-wallets-found")
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -32,20 +32,20 @@ function WalletsFound(props) {
|
|
|
32
32
|
} = uiConfig;
|
|
33
33
|
if (isLoading) {
|
|
34
34
|
return /*#__PURE__*/jsx("div", {
|
|
35
|
-
className: "
|
|
35
|
+
className: "wta:flex wta:flex-col wta:gap-y-2",
|
|
36
36
|
children: Array.from({
|
|
37
37
|
length: 6
|
|
38
38
|
}).map((_, index) => /*#__PURE__*/jsx("div", {
|
|
39
|
-
className: cn("
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
39
|
+
className: cn("wta:h-12 wta:w-full wta:animate-pulse wta:rounded-2xl wta:bg-app-gray-200 wta:dark:bg-app-gray-700", {
|
|
40
|
+
"wta:rounded-full": buttonRadius === "pill",
|
|
41
|
+
"wta:rounded-lg": buttonRadius === "rounded",
|
|
42
|
+
"wta:rounded-none": buttonRadius === "square"
|
|
43
43
|
})
|
|
44
44
|
}, `loader-${index}`))
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
return /*#__PURE__*/jsx("div", {
|
|
48
|
-
className: "
|
|
48
|
+
className: "wta:flex wta:flex-col wta:gap-y-2",
|
|
49
49
|
children: externalButtons.map(button => /*#__PURE__*/jsx(Button, {
|
|
50
50
|
type: BUTTON_TYPE.WALLET,
|
|
51
51
|
props: {
|
|
@@ -84,19 +84,19 @@ function MoreWalletsButton(props) {
|
|
|
84
84
|
};
|
|
85
85
|
if (isLoading && initialWalletCount < totalExternalWalletsCount) {
|
|
86
86
|
return /*#__PURE__*/jsx("div", {
|
|
87
|
-
className: cn("
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
87
|
+
className: cn("wta:h-12 wta:w-full wta:animate-pulse wta:bg-app-gray-200 wta:dark:bg-app-gray-700", {
|
|
88
|
+
"wta:rounded-full": buttonRadius === "pill",
|
|
89
|
+
"wta:rounded-lg": buttonRadius === "rounded",
|
|
90
|
+
"wta:rounded-none": buttonRadius === "square"
|
|
91
91
|
})
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
return /*#__PURE__*/jsxs("button", {
|
|
95
95
|
type: "button",
|
|
96
|
-
className: cn("
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
96
|
+
className: cn("wta:flex wta:items-center wta:justify-start wta:gap-x-2 wta:bg-app-gray-50 wta:p-3 wta:hover:bg-app-gray-200 wta:dark:bg-app-gray-800 wta:dark:hover:bg-app-gray-600 wta:active:scale-95 wta:transition-all wta:duration-150", {
|
|
97
|
+
"wta:rounded-full": buttonRadius === "pill",
|
|
98
|
+
"wta:rounded-lg": buttonRadius === "rounded",
|
|
99
|
+
"wta:rounded-none": buttonRadius === "square"
|
|
100
100
|
}),
|
|
101
101
|
onClick: onMoreWalletsClick,
|
|
102
102
|
children: [/*#__PURE__*/jsx("img", {
|
|
@@ -105,10 +105,10 @@ function MoreWalletsButton(props) {
|
|
|
105
105
|
height: "24",
|
|
106
106
|
width: "24"
|
|
107
107
|
}), /*#__PURE__*/jsx("p", {
|
|
108
|
-
className: "
|
|
108
|
+
className: "wta:text-base wta:font-normal wta:text-app-gray-700 wta:dark:text-app-white",
|
|
109
109
|
children: t("modal.connect-wallet.more-wallets")
|
|
110
110
|
}), /*#__PURE__*/jsx("span", {
|
|
111
|
-
className: "
|
|
111
|
+
className: "wta:inline-flex wta:items-center wta:rounded-full wta:bg-app-primary-100 wta:px-2 wta:py-1 wta:text-xs wta:font-medium wta:text-app-primary-800 wta:dark:border wta:dark:border-app-primary-400 wta:dark:bg-transparent wta:dark:text-app-primary-400",
|
|
112
112
|
children: totalExternalWalletsCount - initialWalletCount
|
|
113
113
|
})]
|
|
114
114
|
});
|
|
@@ -131,8 +131,8 @@ function ConnectWalletList(props) {
|
|
|
131
131
|
const showMoreWalletsButton = !isShowAllWallets;
|
|
132
132
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
133
133
|
children: [/*#__PURE__*/jsx("ul", {
|
|
134
|
-
className: cn("
|
|
135
|
-
"
|
|
134
|
+
className: cn("wta:overflow-y-auto wta:flex wta:flex-col wta:gap-y-2 wta:h-[280px] w3a--social-container wta:-mx-5 wta:px-5", {
|
|
135
|
+
"wta:h-[328px]": !showMoreWalletsButton
|
|
136
136
|
}),
|
|
137
137
|
children: externalButtons.length === 0 ? /*#__PURE__*/jsx(NoWalletsFound, {}) : /*#__PURE__*/jsx(WalletsFound, {
|
|
138
138
|
externalButtons: externalButtons,
|