@0xkey-io/react-wallet-kit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.MD +116 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +307 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- package/dist/components/auth/Action.d.ts +10 -0
- package/dist/components/auth/Action.d.ts.map +1 -0
- package/dist/components/auth/Action.js +76 -0
- package/dist/components/auth/Action.js.map +1 -0
- package/dist/components/auth/Action.mjs +97 -0
- package/dist/components/auth/Action.mjs.map +1 -0
- package/dist/components/auth/Email.d.ts +6 -0
- package/dist/components/auth/Email.d.ts.map +1 -0
- package/dist/components/auth/Email.js +77 -0
- package/dist/components/auth/Email.js.map +1 -0
- package/dist/components/auth/Email.mjs +98 -0
- package/dist/components/auth/Email.mjs.map +1 -0
- package/dist/components/auth/OAuth.d.ts +13 -0
- package/dist/components/auth/OAuth.d.ts.map +1 -0
- package/dist/components/auth/OAuth.js +63 -0
- package/dist/components/auth/OAuth.js.map +1 -0
- package/dist/components/auth/OAuth.mjs +68 -0
- package/dist/components/auth/OAuth.mjs.map +1 -0
- package/dist/components/auth/OTP.d.ts +21 -0
- package/dist/components/auth/OTP.d.ts.map +1 -0
- package/dist/components/auth/OTP.js +218 -0
- package/dist/components/auth/OTP.js.map +1 -0
- package/dist/components/auth/OTP.mjs +301 -0
- package/dist/components/auth/OTP.mjs.map +1 -0
- package/dist/components/auth/OrSeparator.d.ts +2 -0
- package/dist/components/auth/OrSeparator.d.ts.map +1 -0
- package/dist/components/auth/OrSeparator.js +20 -0
- package/dist/components/auth/OrSeparator.js.map +1 -0
- package/dist/components/auth/OrSeparator.mjs +18 -0
- package/dist/components/auth/OrSeparator.mjs.map +1 -0
- package/dist/components/auth/Passkey.d.ts +7 -0
- package/dist/components/auth/Passkey.d.ts.map +1 -0
- package/dist/components/auth/Passkey.js +34 -0
- package/dist/components/auth/Passkey.js.map +1 -0
- package/dist/components/auth/Passkey.mjs +30 -0
- package/dist/components/auth/Passkey.mjs.map +1 -0
- package/dist/components/auth/Phone.d.ts +6 -0
- package/dist/components/auth/Phone.d.ts.map +1 -0
- package/dist/components/auth/Phone.js +67 -0
- package/dist/components/auth/Phone.js.map +1 -0
- package/dist/components/auth/Phone.mjs +92 -0
- package/dist/components/auth/Phone.mjs.map +1 -0
- package/dist/components/auth/Wallet.d.ts +34 -0
- package/dist/components/auth/Wallet.d.ts.map +1 -0
- package/dist/components/auth/Wallet.js +517 -0
- package/dist/components/auth/Wallet.js.map +1 -0
- package/dist/components/auth/Wallet.mjs +618 -0
- package/dist/components/auth/Wallet.mjs.map +1 -0
- package/dist/components/auth/index.d.ts +9 -0
- package/dist/components/auth/index.d.ts.map +1 -0
- package/dist/components/auth/index.js +457 -0
- package/dist/components/auth/index.js.map +1 -0
- package/dist/components/auth/index.mjs +672 -0
- package/dist/components/auth/index.mjs.map +1 -0
- package/dist/components/design/Buttons.d.ts +29 -0
- package/dist/components/design/Buttons.d.ts.map +1 -0
- package/dist/components/design/Buttons.js +87 -0
- package/dist/components/design/Buttons.js.map +1 -0
- package/dist/components/design/Buttons.mjs +79 -0
- package/dist/components/design/Buttons.mjs.map +1 -0
- package/dist/components/design/Failure.d.ts +9 -0
- package/dist/components/design/Failure.d.ts.map +1 -0
- package/dist/components/design/Failure.js +33 -0
- package/dist/components/design/Failure.js.map +1 -0
- package/dist/components/design/Failure.mjs +34 -0
- package/dist/components/design/Failure.mjs.map +1 -0
- package/dist/components/design/Inputs.d.ts +9 -0
- package/dist/components/design/Inputs.d.ts.map +1 -0
- package/dist/components/design/Inputs.js +135 -0
- package/dist/components/design/Inputs.js.map +1 -0
- package/dist/components/design/Inputs.mjs +133 -0
- package/dist/components/design/Inputs.mjs.map +1 -0
- package/dist/components/design/Lottie/Dynamic.d.ts +2 -0
- package/dist/components/design/Lottie/Dynamic.d.ts.map +1 -0
- package/dist/components/design/Lottie/Dynamic.js +9 -0
- package/dist/components/design/Lottie/Dynamic.js.map +1 -0
- package/dist/components/design/Lottie/Dynamic.mjs +24 -0
- package/dist/components/design/Lottie/Dynamic.mjs.map +1 -0
- package/dist/components/design/Lottie/Wrapper.d.ts +8 -0
- package/dist/components/design/Lottie/Wrapper.d.ts.map +1 -0
- package/dist/components/design/Lottie/Wrapper.js +26 -0
- package/dist/components/design/Lottie/Wrapper.js.map +1 -0
- package/dist/components/design/Lottie/Wrapper.mjs +42 -0
- package/dist/components/design/Lottie/Wrapper.mjs.map +1 -0
- package/dist/components/design/Spinners.d.ts +9 -0
- package/dist/components/design/Spinners.d.ts.map +1 -0
- package/dist/components/design/Spinners.js +38 -0
- package/dist/components/design/Spinners.js.map +1 -0
- package/dist/components/design/Spinners.mjs +37 -0
- package/dist/components/design/Spinners.mjs.map +1 -0
- package/dist/components/design/Success.d.ts +8 -0
- package/dist/components/design/Success.d.ts.map +1 -0
- package/dist/components/design/Success.js +82 -0
- package/dist/components/design/Success.js.map +1 -0
- package/dist/components/design/Success.mjs +86 -0
- package/dist/components/design/Success.mjs.map +1 -0
- package/dist/components/design/Svg.d.ts +13 -0
- package/dist/components/design/Svg.d.ts.map +1 -0
- package/dist/components/design/Svg.js +165 -0
- package/dist/components/design/Svg.js.map +1 -0
- package/dist/components/design/Svg.mjs +161 -0
- package/dist/components/design/Svg.mjs.map +1 -0
- package/dist/components/export/Export.d.ts +13 -0
- package/dist/components/export/Export.d.ts.map +1 -0
- package/dist/components/export/Export.js +169 -0
- package/dist/components/export/Export.js.map +1 -0
- package/dist/components/export/Export.mjs +213 -0
- package/dist/components/export/Export.mjs.map +1 -0
- package/dist/components/export/ExportWarning.d.ts +15 -0
- package/dist/components/export/ExportWarning.d.ts.map +1 -0
- package/dist/components/export/ExportWarning.js +141 -0
- package/dist/components/export/ExportWarning.js.map +1 -0
- package/dist/components/export/ExportWarning.mjs +174 -0
- package/dist/components/export/ExportWarning.mjs.map +1 -0
- package/dist/components/import/Import.d.ts +20 -0
- package/dist/components/import/Import.d.ts.map +1 -0
- package/dist/components/import/Import.js +290 -0
- package/dist/components/import/Import.js.map +1 -0
- package/dist/components/import/Import.mjs +422 -0
- package/dist/components/import/Import.mjs.map +1 -0
- package/dist/components/onramp/OnRamp.d.ts +14 -0
- package/dist/components/onramp/OnRamp.d.ts.map +1 -0
- package/dist/components/onramp/OnRamp.js +61 -0
- package/dist/components/onramp/OnRamp.js.map +1 -0
- package/dist/components/onramp/OnRamp.mjs +79 -0
- package/dist/components/onramp/OnRamp.mjs.map +1 -0
- package/dist/components/send-transaction/SendTransaction.d.ts +12 -0
- package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -0
- package/dist/components/send-transaction/SendTransaction.js +65 -0
- package/dist/components/send-transaction/SendTransaction.js.map +1 -0
- package/dist/components/send-transaction/SendTransaction.mjs +89 -0
- package/dist/components/send-transaction/SendTransaction.mjs.map +1 -0
- package/dist/components/send-transaction/helpers.d.ts +4 -0
- package/dist/components/send-transaction/helpers.d.ts.map +1 -0
- package/dist/components/send-transaction/helpers.js +37 -0
- package/dist/components/send-transaction/helpers.js.map +1 -0
- package/dist/components/send-transaction/helpers.mjs +34 -0
- package/dist/components/send-transaction/helpers.mjs.map +1 -0
- package/dist/components/sign/Message.d.ts +18 -0
- package/dist/components/sign/Message.d.ts.map +1 -0
- package/dist/components/sign/Message.js +132 -0
- package/dist/components/sign/Message.js.map +1 -0
- package/dist/components/sign/Message.mjs +148 -0
- package/dist/components/sign/Message.mjs.map +1 -0
- package/dist/components/user/ConnectWallet.d.ts +8 -0
- package/dist/components/user/ConnectWallet.d.ts.map +1 -0
- package/dist/components/user/ConnectWallet.js +114 -0
- package/dist/components/user/ConnectWallet.js.map +1 -0
- package/dist/components/user/ConnectWallet.mjs +194 -0
- package/dist/components/user/ConnectWallet.mjs.map +1 -0
- package/dist/components/user/RemoveEmail.d.ts +12 -0
- package/dist/components/user/RemoveEmail.d.ts.map +1 -0
- package/dist/components/user/RemoveEmail.js +105 -0
- package/dist/components/user/RemoveEmail.js.map +1 -0
- package/dist/components/user/RemoveEmail.mjs +124 -0
- package/dist/components/user/RemoveEmail.mjs.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts +12 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.js +110 -0
- package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.mjs +131 -0
- package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
- package/dist/components/user/RemovePasskey.d.ts +12 -0
- package/dist/components/user/RemovePasskey.d.ts.map +1 -0
- package/dist/components/user/RemovePasskey.js +114 -0
- package/dist/components/user/RemovePasskey.js.map +1 -0
- package/dist/components/user/RemovePasskey.mjs +135 -0
- package/dist/components/user/RemovePasskey.mjs.map +1 -0
- package/dist/components/user/RemovePhoneNumber.d.ts +12 -0
- package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/RemovePhoneNumber.js +105 -0
- package/dist/components/user/RemovePhoneNumber.js.map +1 -0
- package/dist/components/user/RemovePhoneNumber.mjs +124 -0
- package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateEmail.d.ts +12 -0
- package/dist/components/user/UpdateEmail.d.ts.map +1 -0
- package/dist/components/user/UpdateEmail.js +154 -0
- package/dist/components/user/UpdateEmail.js.map +1 -0
- package/dist/components/user/UpdateEmail.mjs +197 -0
- package/dist/components/user/UpdateEmail.mjs.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts +12 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.js +151 -0
- package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.mjs +198 -0
- package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateUserName.d.ts +13 -0
- package/dist/components/user/UpdateUserName.d.ts.map +1 -0
- package/dist/components/user/UpdateUserName.js +113 -0
- package/dist/components/user/UpdateUserName.js.map +1 -0
- package/dist/components/user/UpdateUserName.mjs +139 -0
- package/dist/components/user/UpdateUserName.mjs.map +1 -0
- package/dist/components/verify/Verify.d.ts +9 -0
- package/dist/components/verify/Verify.d.ts.map +1 -0
- package/dist/components/verify/Verify.js +121 -0
- package/dist/components/verify/Verify.js.map +1 -0
- package/dist/components/verify/Verify.mjs +149 -0
- package/dist/components/verify/Verify.mjs.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/providers/ZeroXKeyProvider.d.ts +9 -0
- package/dist/providers/ZeroXKeyProvider.d.ts.map +1 -0
- package/dist/providers/ZeroXKeyProvider.js +36 -0
- package/dist/providers/ZeroXKeyProvider.js.map +1 -0
- package/dist/providers/ZeroXKeyProvider.mjs +34 -0
- package/dist/providers/ZeroXKeyProvider.mjs.map +1 -0
- package/dist/providers/client/Hook.d.ts +4 -0
- package/dist/providers/client/Hook.d.ts.map +1 -0
- package/dist/providers/client/Hook.js +15 -0
- package/dist/providers/client/Hook.js.map +1 -0
- package/dist/providers/client/Hook.mjs +13 -0
- package/dist/providers/client/Hook.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts +39 -0
- package/dist/providers/client/Provider.d.ts.map +1 -0
- package/dist/providers/client/Provider.js +3934 -0
- package/dist/providers/client/Provider.js.map +1 -0
- package/dist/providers/client/Provider.mjs +6895 -0
- package/dist/providers/client/Provider.mjs.map +1 -0
- package/dist/providers/client/Types.d.ts +711 -0
- package/dist/providers/client/Types.d.ts.map +1 -0
- package/dist/providers/client/Types.js +10 -0
- package/dist/providers/client/Types.js.map +1 -0
- package/dist/providers/client/Types.mjs +8 -0
- package/dist/providers/client/Types.mjs.map +1 -0
- package/dist/providers/index.d.ts +5 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/modal/Hook.d.ts +4 -0
- package/dist/providers/modal/Hook.d.ts.map +1 -0
- package/dist/providers/modal/Hook.js +15 -0
- package/dist/providers/modal/Hook.js.map +1 -0
- package/dist/providers/modal/Hook.mjs +13 -0
- package/dist/providers/modal/Hook.mjs.map +1 -0
- package/dist/providers/modal/Provider.d.ts +27 -0
- package/dist/providers/modal/Provider.d.ts.map +1 -0
- package/dist/providers/modal/Provider.js +48 -0
- package/dist/providers/modal/Provider.js.map +1 -0
- package/dist/providers/modal/Provider.mjs +68 -0
- package/dist/providers/modal/Provider.mjs.map +1 -0
- package/dist/providers/modal/Root.d.ts +7 -0
- package/dist/providers/modal/Root.d.ts.map +1 -0
- package/dist/providers/modal/Root.js +345 -0
- package/dist/providers/modal/Root.js.map +1 -0
- package/dist/providers/modal/Root.mjs +352 -0
- package/dist/providers/modal/Root.mjs.map +1 -0
- package/dist/providers/theme/Overrides.d.ts +18 -0
- package/dist/providers/theme/Overrides.d.ts.map +1 -0
- package/dist/providers/theme/Overrides.js +35 -0
- package/dist/providers/theme/Overrides.js.map +1 -0
- package/dist/providers/theme/Overrides.mjs +37 -0
- package/dist/providers/theme/Overrides.mjs.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/tests/oauth-test.d.ts +2 -0
- package/dist/tests/oauth-test.d.ts.map +1 -0
- package/dist/tests/timers-test.d.ts +2 -0
- package/dist/tests/timers-test.d.ts.map +1 -0
- package/dist/tests/utils-test.d.ts +2 -0
- package/dist/tests/utils-test.d.ts.map +1 -0
- package/dist/typedoc-entry/index.d.ts +5 -0
- package/dist/typedoc-entry/index.d.ts.map +1 -0
- package/dist/types/base.d.ts +178 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +55 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/base.mjs +50 -0
- package/dist/types/base.mjs.map +1 -0
- package/dist/types/method-types.d.ts +258 -0
- package/dist/types/method-types.d.ts.map +1 -0
- package/dist/utils/oauth/completion.d.ts +132 -0
- package/dist/utils/oauth/completion.d.ts.map +1 -0
- package/dist/utils/oauth/completion.js +136 -0
- package/dist/utils/oauth/completion.js.map +1 -0
- package/dist/utils/oauth/completion.mjs +176 -0
- package/dist/utils/oauth/completion.mjs.map +1 -0
- package/dist/utils/oauth/config.d.ts +34 -0
- package/dist/utils/oauth/config.d.ts.map +1 -0
- package/dist/utils/oauth/config.js +69 -0
- package/dist/utils/oauth/config.js.map +1 -0
- package/dist/utils/oauth/config.mjs +54 -0
- package/dist/utils/oauth/config.mjs.map +1 -0
- package/dist/utils/oauth/helpers.d.ts +13 -0
- package/dist/utils/oauth/helpers.d.ts.map +1 -0
- package/dist/utils/oauth/helpers.js +38 -0
- package/dist/utils/oauth/helpers.js.map +1 -0
- package/dist/utils/oauth/helpers.mjs +35 -0
- package/dist/utils/oauth/helpers.mjs.map +1 -0
- package/dist/utils/oauth/index.d.ts +7 -0
- package/dist/utils/oauth/index.d.ts.map +1 -0
- package/dist/utils/oauth/pkce.d.ts +14 -0
- package/dist/utils/oauth/pkce.d.ts.map +1 -0
- package/dist/utils/oauth/pkce.js +48 -0
- package/dist/utils/oauth/pkce.js.map +1 -0
- package/dist/utils/oauth/pkce.mjs +85 -0
- package/dist/utils/oauth/pkce.mjs.map +1 -0
- package/dist/utils/oauth/storage.d.ts +48 -0
- package/dist/utils/oauth/storage.d.ts.map +1 -0
- package/dist/utils/oauth/storage.js +87 -0
- package/dist/utils/oauth/storage.js.map +1 -0
- package/dist/utils/oauth/storage.mjs +78 -0
- package/dist/utils/oauth/storage.mjs.map +1 -0
- package/dist/utils/oauth/url.d.ts +94 -0
- package/dist/utils/oauth/url.d.ts.map +1 -0
- package/dist/utils/oauth/url.js +224 -0
- package/dist/utils/oauth/url.js.map +1 -0
- package/dist/utils/oauth/url.mjs +230 -0
- package/dist/utils/oauth/url.mjs.map +1 -0
- package/dist/utils/timers.d.ts +73 -0
- package/dist/utils/timers.d.ts.map +1 -0
- package/dist/utils/timers.js +133 -0
- package/dist/utils/timers.js.map +1 -0
- package/dist/utils/timers.mjs +142 -0
- package/dist/utils/timers.mjs.map +1 -0
- package/dist/utils/utils.d.ts +40 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +116 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/utils.mjs +164 -0
- package/dist/utils/utils.mjs.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var Hook = require('../../providers/modal/Hook.js');
|
|
6
|
+
var Spinners = require('../design/Spinners.js');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
|
|
9
|
+
function ActionPage(props) {
|
|
10
|
+
const {
|
|
11
|
+
title,
|
|
12
|
+
icon,
|
|
13
|
+
closeOnComplete = true,
|
|
14
|
+
action
|
|
15
|
+
} = props;
|
|
16
|
+
const {
|
|
17
|
+
popPage,
|
|
18
|
+
closeModal,
|
|
19
|
+
isMobile
|
|
20
|
+
} = Hook.useModal();
|
|
21
|
+
const hasRun = react.useRef(false);
|
|
22
|
+
const iconRef = react.useRef(null);
|
|
23
|
+
const [spinnerSize, setSpinnerSize] = react.useState(40);
|
|
24
|
+
react.useEffect(() => {
|
|
25
|
+
if (iconRef.current) {
|
|
26
|
+
const rect = iconRef.current.getBoundingClientRect();
|
|
27
|
+
const size = Math.max(rect.width, rect.height);
|
|
28
|
+
setSpinnerSize(size + 50);
|
|
29
|
+
}
|
|
30
|
+
}, []);
|
|
31
|
+
react.useEffect(() => {
|
|
32
|
+
if (hasRun.current) return;
|
|
33
|
+
hasRun.current = true;
|
|
34
|
+
const runAction = async () => {
|
|
35
|
+
if (action) {
|
|
36
|
+
try {
|
|
37
|
+
await action();
|
|
38
|
+
} catch (error) {
|
|
39
|
+
popPage();
|
|
40
|
+
throw new Error(`${error}`);
|
|
41
|
+
}
|
|
42
|
+
if (closeOnComplete) {
|
|
43
|
+
closeModal();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
runAction();
|
|
48
|
+
}, []);
|
|
49
|
+
return jsxRuntime.jsx("div", {
|
|
50
|
+
className: clsx("flex items-center justify-center py-10", isMobile ? "w-full" : "w-96"),
|
|
51
|
+
children: jsxRuntime.jsxs("div", {
|
|
52
|
+
className: "flex flex-col items-center justify-center gap-8",
|
|
53
|
+
children: [jsxRuntime.jsxs("div", {
|
|
54
|
+
className: "relative flex items-center justify-center",
|
|
55
|
+
children: [jsxRuntime.jsx("div", {
|
|
56
|
+
ref: iconRef,
|
|
57
|
+
className: "flex items-center justify-center",
|
|
58
|
+
children: icon
|
|
59
|
+
}), jsxRuntime.jsx(Spinners.Spinner, {
|
|
60
|
+
className: "absolute",
|
|
61
|
+
style: {
|
|
62
|
+
width: spinnerSize,
|
|
63
|
+
height: spinnerSize
|
|
64
|
+
},
|
|
65
|
+
strokeWidth: 1
|
|
66
|
+
})]
|
|
67
|
+
}), jsxRuntime.jsx("span", {
|
|
68
|
+
className: "text-lg font-semibold",
|
|
69
|
+
children: title
|
|
70
|
+
})]
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
exports.ActionPage = ActionPage;
|
|
76
|
+
//# sourceMappingURL=Action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Action.js","sources":["../../../src/components/auth/Action.tsx"],"sourcesContent":[null],"names":["ActionPage","props","title","icon","closeOnComplete","action","popPage","closeModal","isMobile","useModal","hasRun","useRef","iconRef","spinnerSize","setSpinnerSize","useState","useEffect","current","rect","getBoundingClientRect","size","Math","max","width","height","runAction","error","Error","_jsx","className","clsx","children","_jsxs","ref","Spinner","style","strokeWidth"],"mappings":";;;;;;;;AAYM,SAAUA,UAAUA,CAACC,KAAsB,EAAA;EAC/C,MAAM;IAAEC,KAAK;IAAEC,IAAI;AAAEC,IAAAA,eAAe,GAAG,IAAI;AAAEC,IAAAA;AAAM,GAAE,GAAGJ,KAAK;EAC7D,MAAM;IAAEK,OAAO;IAAEC,UAAU;AAAEC,IAAAA;GAAU,GAAGC,aAAQ,EAAE;AACpD,EAAA,MAAMC,MAAM,GAAGC,YAAM,CAAC,KAAK,CAAC;AAC5B,EAAA,MAAMC,OAAO,GAAGD,YAAM,CAAiB,IAAI,CAAC;EAC5C,MAAM,CAACE,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAS,EAAE,CAAC;AAE1DC,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIJ,OAAO,CAACK,OAAO,EAAE;MACnB,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO,CAACE,qBAAqB,EAAE;AACpD,MAAA,MAAMC,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACJ,IAAI,CAACK,KAAK,EAAEL,IAAI,CAACM,MAAM,CAAC;AAC9CV,MAAAA,cAAc,CAACM,IAAI,GAAG,EAAE,CAAC;AAC3B,IAAA;EACF,CAAC,EAAE,EAAE,CAAC;AAENJ,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIN,MAAM,CAACO,OAAO,EAAE;IACpBP,MAAM,CAACO,OAAO,GAAG,IAAI;AACrB,IAAA,MAAMQ,SAAS,GAAG,YAAW;AAC3B,MAAA,IAAIpB,MAAM,EAAE;QACV,IAAI;UACF,MAAMA,MAAM,EAAE;QAChB,CAAC,CAAC,OAAOqB,KAAK,EAAE;AACdpB,UAAAA,OAAO,EAAE;AACT,UAAA,MAAM,IAAIqB,KAAK,CAAC,CAAA,EAAGD,KAAK,EAAE,CAAC;AAC7B,QAAA;AACA,QAAA,IAAItB,eAAe,EAAE;AACnBG,UAAAA,UAAU,EAAE;AACd,QAAA;AACF,MAAA;IACF,CAAC;AACDkB,IAAAA,SAAS,EAAE;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,OACEG;IACEC,SAAS,EAAEC,IAAI,CACb,wCAAwC,EACxCtB,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAuB,IAAAA,QAAA,EAEDC,eAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,iDAAiD;AAAAE,MAAAA,QAAA,EAAA,CAC9DC;AAAKH,QAAAA,SAAS,EAAC,2CAA2C;AAAAE,QAAAA,QAAA,EAAA,CACxDH,cAAA,CAAA,KAAA,EAAA;AAAKK,UAAAA,GAAG,EAAErB,OAAO;AAAEiB,UAAAA,SAAS,EAAC,kCAAkC;oBAC5D1B;AAAI,SAAA,CACD,EACNyB,cAAA,CAACM,gBAAO,EAAA;AACNL,UAAAA,SAAS,EAAC,UAAU;AACpBM,UAAAA,KAAK,EAAE;AACLZ,YAAAA,KAAK,EAAEV,WAAW;AAClBW,YAAAA,MAAM,EAAEX;WACT;AACDuB,UAAAA,WAAW,EAAE;AAAC,SAAA,CACd;AAAA,OAAA,CACE,EACNR,cAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,uBAAuB;kBAAE3B;AAAK,OAAA,CAAQ;KAAA;AAClD,GAAA,CACF;AAEV;;;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useState, useEffect } from 'react';
|
|
4
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
5
|
+
import { Spinner } from '../design/Spinners.mjs';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
|
|
8
|
+
function ActionPage(props) {
|
|
9
|
+
var title = props.title,
|
|
10
|
+
icon = props.icon,
|
|
11
|
+
_props$closeOnComplet = props.closeOnComplete,
|
|
12
|
+
closeOnComplete = _props$closeOnComplet === void 0 ? true : _props$closeOnComplet,
|
|
13
|
+
action = props.action;
|
|
14
|
+
var _useModal = useModal(),
|
|
15
|
+
popPage = _useModal.popPage,
|
|
16
|
+
closeModal = _useModal.closeModal,
|
|
17
|
+
isMobile = _useModal.isMobile;
|
|
18
|
+
var hasRun = useRef(false);
|
|
19
|
+
var iconRef = useRef(null);
|
|
20
|
+
var _useState = useState(40),
|
|
21
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
22
|
+
spinnerSize = _useState2[0],
|
|
23
|
+
setSpinnerSize = _useState2[1];
|
|
24
|
+
useEffect(function () {
|
|
25
|
+
if (iconRef.current) {
|
|
26
|
+
var rect = iconRef.current.getBoundingClientRect();
|
|
27
|
+
var size = Math.max(rect.width, rect.height);
|
|
28
|
+
setSpinnerSize(size + 50);
|
|
29
|
+
}
|
|
30
|
+
}, []);
|
|
31
|
+
useEffect(function () {
|
|
32
|
+
if (hasRun.current) return;
|
|
33
|
+
hasRun.current = true;
|
|
34
|
+
var runAction = /*#__PURE__*/function () {
|
|
35
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
36
|
+
var _t;
|
|
37
|
+
return _regenerator().w(function (_context) {
|
|
38
|
+
while (1) switch (_context.p = _context.n) {
|
|
39
|
+
case 0:
|
|
40
|
+
if (!action) {
|
|
41
|
+
_context.n = 5;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
_context.p = 1;
|
|
45
|
+
_context.n = 2;
|
|
46
|
+
return action();
|
|
47
|
+
case 2:
|
|
48
|
+
_context.n = 4;
|
|
49
|
+
break;
|
|
50
|
+
case 3:
|
|
51
|
+
_context.p = 3;
|
|
52
|
+
_t = _context.v;
|
|
53
|
+
popPage();
|
|
54
|
+
throw new Error("".concat(_t));
|
|
55
|
+
case 4:
|
|
56
|
+
if (closeOnComplete) {
|
|
57
|
+
closeModal();
|
|
58
|
+
}
|
|
59
|
+
case 5:
|
|
60
|
+
return _context.a(2);
|
|
61
|
+
}
|
|
62
|
+
}, _callee, null, [[1, 3]]);
|
|
63
|
+
}));
|
|
64
|
+
return function runAction() {
|
|
65
|
+
return _ref.apply(this, arguments);
|
|
66
|
+
};
|
|
67
|
+
}();
|
|
68
|
+
runAction();
|
|
69
|
+
}, []);
|
|
70
|
+
return jsx("div", {
|
|
71
|
+
className: clsx("flex items-center justify-center py-10", isMobile ? "w-full" : "w-96"),
|
|
72
|
+
children: jsxs("div", {
|
|
73
|
+
className: "flex flex-col items-center justify-center gap-8",
|
|
74
|
+
children: [jsxs("div", {
|
|
75
|
+
className: "relative flex items-center justify-center",
|
|
76
|
+
children: [jsx("div", {
|
|
77
|
+
ref: iconRef,
|
|
78
|
+
className: "flex items-center justify-center",
|
|
79
|
+
children: icon
|
|
80
|
+
}), jsx(Spinner, {
|
|
81
|
+
className: "absolute",
|
|
82
|
+
style: {
|
|
83
|
+
width: spinnerSize,
|
|
84
|
+
height: spinnerSize
|
|
85
|
+
},
|
|
86
|
+
strokeWidth: 1
|
|
87
|
+
})]
|
|
88
|
+
}), jsx("span", {
|
|
89
|
+
className: "text-lg font-semibold",
|
|
90
|
+
children: title
|
|
91
|
+
})]
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { ActionPage };
|
|
97
|
+
//# sourceMappingURL=Action.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Action.mjs","sources":["../../../src/components/auth/Action.tsx"],"sourcesContent":[null],"names":["ActionPage","props","title","icon","_props$closeOnComplet","closeOnComplete","action","_useModal","useModal","popPage","closeModal","isMobile","hasRun","useRef","iconRef","_useState","useState","_useState2","_slicedToArray","spinnerSize","setSpinnerSize","useEffect","current","rect","getBoundingClientRect","size","Math","max","width","height","runAction","_ref","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","p","n","v","Error","concat","a","apply","arguments","_jsx","className","clsx","children","_jsxs","ref","Spinner","style","strokeWidth"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Email.tsx"],"names":[],"mappings":"AAWA,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA2FhD"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var react$1 = require('@headlessui/react');
|
|
6
|
+
var Buttons = require('../design/Buttons.js');
|
|
7
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
8
|
+
var clsx = require('clsx');
|
|
9
|
+
var Hook = require('../../providers/client/Hook.js');
|
|
10
|
+
|
|
11
|
+
function isValidEmail(email) {
|
|
12
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
13
|
+
}
|
|
14
|
+
function EmailInput(props) {
|
|
15
|
+
const {
|
|
16
|
+
onContinue
|
|
17
|
+
} = props;
|
|
18
|
+
const {
|
|
19
|
+
config
|
|
20
|
+
} = Hook.useZeroXKey();
|
|
21
|
+
const [loading, setLoading] = react.useState(false);
|
|
22
|
+
const [email, setEmail] = react.useState("");
|
|
23
|
+
const useContinueButton = config?.ui?.preferLargeActionButtons ?? false;
|
|
24
|
+
const emailIsValid = isValidEmail(email);
|
|
25
|
+
const handleContinue = async () => {
|
|
26
|
+
if (emailIsValid && onContinue) {
|
|
27
|
+
setLoading(true);
|
|
28
|
+
try {
|
|
29
|
+
await Promise.resolve(onContinue(email));
|
|
30
|
+
} finally {
|
|
31
|
+
setLoading(false);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const handleKeyDown = e => {
|
|
36
|
+
if (e.key === "Enter") {
|
|
37
|
+
handleContinue();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const buttonDisabled = !emailIsValid;
|
|
41
|
+
const inlineArrowClass = clsx("absolute right-1.5 !size-8 !rounded-full !border-none !bg-transparent transition-all duration-300 dark:!bg-transparent active:!outline-none", emailIsValid ? "text-icon-text-light dark:text-white/70" : "text-icon-text-light/40 dark:text-white/30");
|
|
42
|
+
const continueButtonClass = clsx("transition-all duration-300", (emailIsValid || useContinueButton) && "bg-primary-light dark:bg-primary-dark hover:bg-primary-light/90 dark:hover:bg-primary-dark/90 text-primary-text-light dark:text-primary-text-dark");
|
|
43
|
+
return jsxRuntime.jsxs("div", {
|
|
44
|
+
className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
|
|
45
|
+
children: [jsxRuntime.jsxs("div", {
|
|
46
|
+
className: clsx("w-full", !useContinueButton && "relative flex items-center"),
|
|
47
|
+
children: [jsxRuntime.jsx(react$1.Input, {
|
|
48
|
+
"data-testid": "email-input",
|
|
49
|
+
type: "email",
|
|
50
|
+
placeholder: "Enter your email",
|
|
51
|
+
value: email,
|
|
52
|
+
onChange: e => setEmail(e.target.value),
|
|
53
|
+
onKeyDown: handleKeyDown,
|
|
54
|
+
className: "box-border h-10 w-full rounded-lg border border-modal-background-dark/15 bg-button-light py-2.5 pl-4 pr-12 text-sm text-inherit placeholder:text-icon-text-light/45 focus:outline-1 focus:outline-offset-0 focus:outline-primary-light dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white dark:placeholder:text-white/35 focus:dark:outline-primary-dark"
|
|
55
|
+
}), !useContinueButton && jsxRuntime.jsx(Buttons.IconButton, {
|
|
56
|
+
icon: freeSolidSvgIcons.faArrowRight,
|
|
57
|
+
onClick: handleContinue,
|
|
58
|
+
disabled: buttonDisabled,
|
|
59
|
+
loading: loading,
|
|
60
|
+
name: "email-continue-icon",
|
|
61
|
+
className: inlineArrowClass,
|
|
62
|
+
spinnerClassName: "text-icon-text-light dark:text-icon-text-dark"
|
|
63
|
+
})]
|
|
64
|
+
}), useContinueButton && jsxRuntime.jsx(Buttons.ActionButton, {
|
|
65
|
+
onClick: handleContinue,
|
|
66
|
+
disabled: buttonDisabled,
|
|
67
|
+
loading: loading,
|
|
68
|
+
className: clsx("w-full", continueButtonClass),
|
|
69
|
+
name: "email-continue",
|
|
70
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
71
|
+
children: "Continue"
|
|
72
|
+
})]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
exports.EmailInput = EmailInput;
|
|
77
|
+
//# sourceMappingURL=Email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.js","sources":["../../../src/components/auth/Email.tsx"],"sourcesContent":[null],"names":["isValidEmail","email","test","EmailInput","props","onContinue","config","useZeroXKey","loading","setLoading","useState","setEmail","useContinueButton","ui","preferLargeActionButtons","emailIsValid","handleContinue","Promise","resolve","handleKeyDown","e","key","buttonDisabled","inlineArrowClass","clsx","continueButtonClass","_jsxs","className","children","_jsx","Input","type","placeholder","value","onChange","target","onKeyDown","IconButton","icon","faArrowRight","onClick","disabled","name","spinnerClassName","ActionButton"],"mappings":";;;;;;;;;;AAOA,SAASA,YAAYA,CAACC,KAAa,EAAA;AACjC,EAAA,OAAO,4BAA4B,CAACC,IAAI,CAACD,KAAK,CAAC;AACjD;AAMM,SAAUE,UAAUA,CAACC,KAAsB,EAAA;EAC/C,MAAM;AAAEC,IAAAA;AAAU,GAAE,GAAGD,KAAK;EAC5B,MAAM;AAAEE,IAAAA;GAAQ,GAAGC,gBAAW,EAAE;EAChC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACT,KAAK,EAAEU,QAAQ,CAAC,GAAGD,cAAQ,CAAC,EAAE,CAAC;EACtC,MAAME,iBAAiB,GAAGN,MAAM,EAAEO,EAAE,EAAEC,wBAAwB,IAAI,KAAK;AAEvE,EAAA,MAAMC,YAAY,GAAGf,YAAY,CAACC,KAAK,CAAC;AAExC,EAAA,MAAMe,cAAc,GAAG,YAAW;IAChC,IAAID,YAAY,IAAIV,UAAU,EAAE;MAC9BI,UAAU,CAAC,IAAI,CAAC;MAChB,IAAI;QACF,MAAMQ,OAAO,CAACC,OAAO,CAACb,UAAU,CAACJ,KAAK,CAAC,CAAC;AAC1C,MAAA,CAAC,SAAS;QACRQ,UAAU,CAAC,KAAK,CAAC;AACnB,MAAA;AACF,IAAA;EACF,CAAC;EAED,MAAMU,aAAa,GAAIC,CAAwC,IAAI;AACjE,IAAA,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;AACrBL,MAAAA,cAAc,EAAE;AAClB,IAAA;EACF,CAAC;EAED,MAAMM,cAAc,GAAG,CAACP,YAAY;EAEpC,MAAMQ,gBAAgB,GAAGC,IAAI,CAC3B,6IAA6I,EAC7IT,YAAY,GACR,yCAAyC,GACzC,4CAA4C,CACjD;AAED,EAAA,MAAMU,mBAAmB,GAAGD,IAAI,CAC9B,6BAA6B,EAC7B,CAACT,YAAY,IAAIH,iBAAiB,KAChC,mJAAmJ,CACtJ;EAED,OACEc,eAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAEH,IAAI,CACb,8CAA8C,EAC9CZ,iBAAiB,GAAG,eAAe,GAAG,eAAe,CACtD;AAAAgB,IAAAA,QAAA,EAAA,CAEDF,eAAA,CAAA,KAAA,EAAA;MACEC,SAAS,EAAEH,IAAI,CACb,QAAQ,EACR,CAACZ,iBAAiB,IAAI,4BAA4B,CACnD;AAAAgB,MAAAA,QAAA,EAAA,CAEDC,cAAA,CAACC,aAAK,EAAA;AAAA,QAAA,aAAA,EACQ,aAAa;AACzBC,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,WAAW,EAAC,kBAAkB;AAC9BC,QAAAA,KAAK,EAAEhC,KAAK;QACZiC,QAAQ,EAAGd,CAAC,IAAKT,QAAQ,CAACS,CAAC,CAACe,MAAM,CAACF,KAAK,CAAC;AACzCG,QAAAA,SAAS,EAAEjB,aAAa;AACxBQ,QAAAA,SAAS,EAAC;QACV,EAED,CAACf,iBAAiB,IACjBiB,cAAA,CAACQ,kBAAU,EAAA;AACTC,QAAAA,IAAI,EAAEC,8BAAY;AAClBC,QAAAA,OAAO,EAAExB,cAAc;AACvByB,QAAAA,QAAQ,EAAEnB,cAAc;AACxBd,QAAAA,OAAO,EAAEA,OAAO;AAChBkC,QAAAA,IAAI,EAAC,qBAAqB;AAC1Bf,QAAAA,SAAS,EAAEJ,gBAAgB;AAC3BoB,QAAAA,gBAAgB,EAAC;AAA+C,OAAA,CAEnE;MACG,EAEL/B,iBAAiB,IAChBiB,cAAA,CAACe,oBAAY,EAAA;AACXJ,MAAAA,OAAO,EAAExB,cAAc;AACvByB,MAAAA,QAAQ,EAAEnB,cAAc;AACxBd,MAAAA,OAAO,EAAEA,OAAO;AAChBmB,MAAAA,SAAS,EAAEH,IAAI,CAAC,QAAQ,EAAEC,mBAAmB,CAAC;AAC9CiB,MAAAA,IAAI,EAAC,gBAAgB;AACrBC,MAAAA,gBAAgB,EAAC,qDAAqD;AAAAf,MAAAA,QAAA,EAAA;AAAA,KAAA,CAIzE;AAAA,GAAA,CACG;AAEV;;;;"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Input } from '@headlessui/react';
|
|
5
|
+
import { IconButton, ActionButton } from '../design/Buttons.mjs';
|
|
6
|
+
import { faArrowRight } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import clsx from 'clsx';
|
|
8
|
+
import { useZeroXKey } from '../../providers/client/Hook.mjs';
|
|
9
|
+
|
|
10
|
+
function isValidEmail(email) {
|
|
11
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
12
|
+
}
|
|
13
|
+
function EmailInput(props) {
|
|
14
|
+
var _config$ui$preferLarg, _config$ui;
|
|
15
|
+
var onContinue = props.onContinue;
|
|
16
|
+
var _useZeroXKey = useZeroXKey(),
|
|
17
|
+
config = _useZeroXKey.config;
|
|
18
|
+
var _useState = useState(false),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
loading = _useState2[0],
|
|
21
|
+
setLoading = _useState2[1];
|
|
22
|
+
var _useState3 = useState(""),
|
|
23
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
24
|
+
email = _useState4[0],
|
|
25
|
+
setEmail = _useState4[1];
|
|
26
|
+
var useContinueButton = (_config$ui$preferLarg = config === null || config === void 0 ? void 0 : (_config$ui = config.ui) === null || _config$ui === void 0 ? void 0 : _config$ui.preferLargeActionButtons) !== null && _config$ui$preferLarg !== void 0 ? _config$ui$preferLarg : false;
|
|
27
|
+
var emailIsValid = isValidEmail(email);
|
|
28
|
+
var handleContinue = /*#__PURE__*/function () {
|
|
29
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
30
|
+
return _regenerator().w(function (_context) {
|
|
31
|
+
while (1) switch (_context.p = _context.n) {
|
|
32
|
+
case 0:
|
|
33
|
+
if (!(emailIsValid && onContinue)) {
|
|
34
|
+
_context.n = 3;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
setLoading(true);
|
|
38
|
+
_context.p = 1;
|
|
39
|
+
_context.n = 2;
|
|
40
|
+
return Promise.resolve(onContinue(email));
|
|
41
|
+
case 2:
|
|
42
|
+
_context.p = 2;
|
|
43
|
+
setLoading(false);
|
|
44
|
+
return _context.f(2);
|
|
45
|
+
case 3:
|
|
46
|
+
return _context.a(2);
|
|
47
|
+
}
|
|
48
|
+
}, _callee, null, [[1,, 2, 3]]);
|
|
49
|
+
}));
|
|
50
|
+
return function handleContinue() {
|
|
51
|
+
return _ref.apply(this, arguments);
|
|
52
|
+
};
|
|
53
|
+
}();
|
|
54
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
55
|
+
if (e.key === "Enter") {
|
|
56
|
+
handleContinue();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var buttonDisabled = !emailIsValid;
|
|
60
|
+
var inlineArrowClass = clsx("absolute right-1.5 !size-8 !rounded-full !border-none !bg-transparent transition-all duration-300 dark:!bg-transparent active:!outline-none", emailIsValid ? "text-icon-text-light dark:text-white/70" : "text-icon-text-light/40 dark:text-white/30");
|
|
61
|
+
var continueButtonClass = clsx("transition-all duration-300", (emailIsValid || useContinueButton) && "bg-primary-light dark:bg-primary-dark hover:bg-primary-light/90 dark:hover:bg-primary-dark/90 text-primary-text-light dark:text-primary-text-dark");
|
|
62
|
+
return jsxs("div", {
|
|
63
|
+
className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
|
|
64
|
+
children: [jsxs("div", {
|
|
65
|
+
className: clsx("w-full", !useContinueButton && "relative flex items-center"),
|
|
66
|
+
children: [jsx(Input, {
|
|
67
|
+
"data-testid": "email-input",
|
|
68
|
+
type: "email",
|
|
69
|
+
placeholder: "Enter your email",
|
|
70
|
+
value: email,
|
|
71
|
+
onChange: function onChange(e) {
|
|
72
|
+
return setEmail(e.target.value);
|
|
73
|
+
},
|
|
74
|
+
onKeyDown: handleKeyDown,
|
|
75
|
+
className: "box-border h-10 w-full rounded-lg border border-modal-background-dark/15 bg-button-light py-2.5 pl-4 pr-12 text-sm text-inherit placeholder:text-icon-text-light/45 focus:outline-1 focus:outline-offset-0 focus:outline-primary-light dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white dark:placeholder:text-white/35 focus:dark:outline-primary-dark"
|
|
76
|
+
}), !useContinueButton && jsx(IconButton, {
|
|
77
|
+
icon: faArrowRight,
|
|
78
|
+
onClick: handleContinue,
|
|
79
|
+
disabled: buttonDisabled,
|
|
80
|
+
loading: loading,
|
|
81
|
+
name: "email-continue-icon",
|
|
82
|
+
className: inlineArrowClass,
|
|
83
|
+
spinnerClassName: "text-icon-text-light dark:text-icon-text-dark"
|
|
84
|
+
})]
|
|
85
|
+
}), useContinueButton && jsx(ActionButton, {
|
|
86
|
+
onClick: handleContinue,
|
|
87
|
+
disabled: buttonDisabled,
|
|
88
|
+
loading: loading,
|
|
89
|
+
className: clsx("w-full", continueButtonClass),
|
|
90
|
+
name: "email-continue",
|
|
91
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
92
|
+
children: "Continue"
|
|
93
|
+
})]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { EmailInput };
|
|
98
|
+
//# sourceMappingURL=Email.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.mjs","sources":["../../../src/components/auth/Email.tsx"],"sourcesContent":[null],"names":["isValidEmail","email","test","EmailInput","props","_config$ui$preferLarg","_config$ui","onContinue","_useZeroXKey","useZeroXKey","config","_useState","useState","_useState2","_slicedToArray","loading","setLoading","_useState3","_useState4","setEmail","useContinueButton","ui","preferLargeActionButtons","emailIsValid","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","Promise","resolve","f","a","apply","arguments","handleKeyDown","e","key","buttonDisabled","inlineArrowClass","clsx","continueButtonClass","_jsxs","className","children","_jsx","Input","type","placeholder","value","onChange","target","onKeyDown","IconButton","icon","faArrowRight","onClick","disabled","name","spinnerClassName","ActionButton"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface OAuthButtonProps {
|
|
3
|
+
name: string;
|
|
4
|
+
icon: React.ReactNode;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Compact square icon button (auth modal social row) */
|
|
8
|
+
iconOnly?: boolean;
|
|
9
|
+
"aria-label"?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function OAuthButton(props: OAuthButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=OAuth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuth.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OAuth.tsx"],"names":[],"mappings":";AAIA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAqElD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var Buttons = require('../design/Buttons.js');
|
|
7
|
+
|
|
8
|
+
function OAuthButton(props) {
|
|
9
|
+
const {
|
|
10
|
+
name,
|
|
11
|
+
icon,
|
|
12
|
+
onClick,
|
|
13
|
+
className,
|
|
14
|
+
iconOnly = false,
|
|
15
|
+
"aria-label": ariaLabel
|
|
16
|
+
} = props;
|
|
17
|
+
const containerRef = react.useRef(null);
|
|
18
|
+
const [showText, setShowText] = react.useState(false);
|
|
19
|
+
react.useEffect(() => {
|
|
20
|
+
if (iconOnly) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const observer = new ResizeObserver(([entry]) => {
|
|
24
|
+
if (!entry) return;
|
|
25
|
+
const width = entry.contentRect.width;
|
|
26
|
+
setShowText(width > 300);
|
|
27
|
+
});
|
|
28
|
+
if (containerRef.current) {
|
|
29
|
+
observer.observe(containerRef.current);
|
|
30
|
+
}
|
|
31
|
+
return () => observer.disconnect();
|
|
32
|
+
}, [iconOnly]);
|
|
33
|
+
const testId = `oauth-${name.toLowerCase().replace(/\s+/g, "-")}`;
|
|
34
|
+
if (iconOnly) {
|
|
35
|
+
return jsxRuntime.jsx(Buttons.ActionButton, {
|
|
36
|
+
onClick: onClick,
|
|
37
|
+
name: testId,
|
|
38
|
+
"aria-label": ariaLabel ?? `Continue with ${name}`,
|
|
39
|
+
className: clsx("flex items-center justify-center shrink-0 max-w-none !w-12 !min-w-12 h-10 p-0 rounded-lg", "border border-modal-background-dark/15 bg-button-light text-icon-text-light", "dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white", className),
|
|
40
|
+
children: jsxRuntime.jsx("span", {
|
|
41
|
+
className: "flex size-full items-center justify-center [&>svg]:size-5",
|
|
42
|
+
children: icon
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return jsxRuntime.jsx("div", {
|
|
47
|
+
ref: containerRef,
|
|
48
|
+
className: "w-full h-full",
|
|
49
|
+
children: jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
50
|
+
onClick: onClick,
|
|
51
|
+
name: testId,
|
|
52
|
+
"aria-label": ariaLabel ?? `Continue with ${name}`,
|
|
53
|
+
className: clsx("flex items-center justify-center gap-2 w-full h-full rounded-md bg-button-light dark:bg-button-dark text-inherit", className),
|
|
54
|
+
children: [icon, showText && jsxRuntime.jsx("span", {
|
|
55
|
+
className: "truncate",
|
|
56
|
+
children: `Continue with ${name}`
|
|
57
|
+
})]
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.OAuthButton = OAuthButton;
|
|
63
|
+
//# sourceMappingURL=OAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuth.js","sources":["../../../src/components/auth/OAuth.tsx"],"sourcesContent":[null],"names":["OAuthButton","props","name","icon","onClick","className","iconOnly","ariaLabel","containerRef","useRef","showText","setShowText","useState","useEffect","observer","ResizeObserver","entry","width","contentRect","current","observe","disconnect","testId","toLowerCase","replace","_jsx","ActionButton","clsx","children","ref","_jsxs"],"mappings":";;;;;;;AAcM,SAAUA,WAAWA,CAACC,KAAuB,EAAA;EACjD,MAAM;IACJC,IAAI;IACJC,IAAI;IACJC,OAAO;IACPC,SAAS;AACTC,IAAAA,QAAQ,GAAG,KAAK;AAChB,IAAA,YAAY,EAAEC;AAAS,GACxB,GAAGN,KAAK;AACT,EAAA,MAAMO,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;EACjD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE/CC,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIP,QAAQ,EAAE;AACZ,MAAA;AACF,IAAA;IACA,MAAMQ,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAAC,CAACC,KAAK,CAAC,KAAI;MAC9C,IAAI,CAACA,KAAK,EAAE;AACZ,MAAA,MAAMC,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACD,KAAK;AACrCN,MAAAA,WAAW,CAACM,KAAK,GAAG,GAAG,CAAC;AAC1B,IAAA,CAAC,CAAC;IAEF,IAAIT,YAAY,CAACW,OAAO,EAAE;AACxBL,MAAAA,QAAQ,CAACM,OAAO,CAACZ,YAAY,CAACW,OAAO,CAAC;AACxC,IAAA;AAEA,IAAA,OAAO,MAAML,QAAQ,CAACO,UAAU,EAAE;AACpC,EAAA,CAAC,EAAE,CAACf,QAAQ,CAAC,CAAC;AAEd,EAAA,MAAMgB,MAAM,GAAG,CAAA,MAAA,EAASpB,IAAI,CAACqB,WAAW,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA,CAAE;AAEjE,EAAA,IAAIlB,QAAQ,EAAE;IACZ,OACEmB,cAAA,CAACC,oBAAY;AACXtB,MAAAA,OAAO,EAAEA,OAAO;AAChBF,MAAAA,IAAI,EAAEoB,MAAM;oBACAf,SAAS,IAAI,CAAA,cAAA,EAAiBL,IAAI,CAAA,CAAE;MAChDG,SAAS,EAAEsB,IAAI,CACb,0FAA0F,EAC1F,6EAA6E,EAC7E,2EAA2E,EAC3EtB,SAAS,CACV;AAAAuB,MAAAA,QAAA,EAEDH,cAAA,CAAA,MAAA,EAAA;AAAMpB,QAAAA,SAAS,EAAC,2DAA2D;AAAAuB,QAAAA,QAAA,EACxEzB;OAAI;AACA,KAAA,CACM;AAEnB,EAAA;EAEA,OACEsB,cAAA,CAAA,KAAA,EAAA;AAAKI,IAAAA,GAAG,EAAErB,YAAY;AAAEH,IAAAA,SAAS,EAAC,eAAe;AAAAuB,IAAAA,QAAA,EAC/CE,eAAA,CAACJ,oBAAY;AACXtB,MAAAA,OAAO,EAAEA,OAAO;AAChBF,MAAAA,IAAI,EAAEoB,MAAM;AAAA,MAAA,YAAA,EACAf,SAAS,IAAI,CAAA,cAAA,EAAiBL,IAAI,CAAA,CAAE;AAChDG,MAAAA,SAAS,EAAEsB,IAAI,CACb,kHAAkH,EAClHtB,SAAS,CACV;MAAAuB,QAAA,EAAA,CAEAzB,IAAI,EACJO,QAAQ,IACPe;AAAMpB,QAAAA,SAAS,EAAC,UAAU;QAAAuB,QAAA,EAAE,iBAAiB1B,IAAI,CAAA;AAAE,OAAA,CACpD;KAAA;AACY,GAAA,CACX;AAEV;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useState, useEffect } from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
6
|
+
|
|
7
|
+
function OAuthButton(props) {
|
|
8
|
+
var name = props.name,
|
|
9
|
+
icon = props.icon,
|
|
10
|
+
onClick = props.onClick,
|
|
11
|
+
className = props.className,
|
|
12
|
+
_props$iconOnly = props.iconOnly,
|
|
13
|
+
iconOnly = _props$iconOnly === void 0 ? false : _props$iconOnly,
|
|
14
|
+
ariaLabel = props["aria-label"];
|
|
15
|
+
var containerRef = useRef(null);
|
|
16
|
+
var _useState = useState(false),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
showText = _useState2[0],
|
|
19
|
+
setShowText = _useState2[1];
|
|
20
|
+
useEffect(function () {
|
|
21
|
+
if (iconOnly) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var observer = new ResizeObserver(function (_ref) {
|
|
25
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
26
|
+
entry = _ref2[0];
|
|
27
|
+
if (!entry) return;
|
|
28
|
+
var width = entry.contentRect.width;
|
|
29
|
+
setShowText(width > 300);
|
|
30
|
+
});
|
|
31
|
+
if (containerRef.current) {
|
|
32
|
+
observer.observe(containerRef.current);
|
|
33
|
+
}
|
|
34
|
+
return function () {
|
|
35
|
+
return observer.disconnect();
|
|
36
|
+
};
|
|
37
|
+
}, [iconOnly]);
|
|
38
|
+
var testId = "oauth-".concat(name.toLowerCase().replace(/\s+/g, "-"));
|
|
39
|
+
if (iconOnly) {
|
|
40
|
+
return jsx(ActionButton, {
|
|
41
|
+
onClick: onClick,
|
|
42
|
+
name: testId,
|
|
43
|
+
"aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : "Continue with ".concat(name),
|
|
44
|
+
className: clsx("flex items-center justify-center shrink-0 max-w-none !w-12 !min-w-12 h-10 p-0 rounded-lg", "border border-modal-background-dark/15 bg-button-light text-icon-text-light", "dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white", className),
|
|
45
|
+
children: jsx("span", {
|
|
46
|
+
className: "flex size-full items-center justify-center [&>svg]:size-5",
|
|
47
|
+
children: icon
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return jsx("div", {
|
|
52
|
+
ref: containerRef,
|
|
53
|
+
className: "w-full h-full",
|
|
54
|
+
children: jsxs(ActionButton, {
|
|
55
|
+
onClick: onClick,
|
|
56
|
+
name: testId,
|
|
57
|
+
"aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : "Continue with ".concat(name),
|
|
58
|
+
className: clsx("flex items-center justify-center gap-2 w-full h-full rounded-md bg-button-light dark:bg-button-dark text-inherit", className),
|
|
59
|
+
children: [icon, showText && jsx("span", {
|
|
60
|
+
className: "truncate",
|
|
61
|
+
children: "Continue with ".concat(name)
|
|
62
|
+
})]
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { OAuthButton };
|
|
68
|
+
//# sourceMappingURL=OAuth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuth.mjs","sources":["../../../src/components/auth/OAuth.tsx"],"sourcesContent":[null],"names":["OAuthButton","props","name","icon","onClick","className","_props$iconOnly","iconOnly","ariaLabel","containerRef","useRef","_useState","useState","_useState2","_slicedToArray","showText","setShowText","useEffect","observer","ResizeObserver","_ref","_ref2","entry","width","contentRect","current","observe","disconnect","testId","concat","toLowerCase","replace","_jsx","ActionButton","clsx","children","ref","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OtpType } from "@0xkey-io/core";
|
|
2
|
+
interface OtpVerificationProps {
|
|
3
|
+
contact: string;
|
|
4
|
+
otpId: string;
|
|
5
|
+
otpEncryptionTargetBundle: string;
|
|
6
|
+
otpType: OtpType;
|
|
7
|
+
otpLength?: number | undefined;
|
|
8
|
+
alphanumeric?: boolean | undefined;
|
|
9
|
+
formattedContact?: string;
|
|
10
|
+
sessionKey?: string;
|
|
11
|
+
onContinue?: (optCode: string) => Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare function OtpVerification(props: OtpVerificationProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
interface OtpInputProps {
|
|
15
|
+
otpLength: number;
|
|
16
|
+
onContinue: (otpCode: string) => void;
|
|
17
|
+
alphanumeric?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function OtpInput(props: OtpInputProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=OTP.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTP.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OTP.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAqC,MAAM,gBAAgB,CAAC;AAK5E,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA2I1D;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAmG5C"}
|