@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,218 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var Hook$1 = require('../../providers/modal/Hook.js');
|
|
6
|
+
var Hook = require('../../providers/client/Hook.js');
|
|
7
|
+
var Spinners = require('../design/Spinners.js');
|
|
8
|
+
var react$1 = require('@headlessui/react');
|
|
9
|
+
var Buttons = require('../design/Buttons.js');
|
|
10
|
+
var core = require('@0xkey-io/core');
|
|
11
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
12
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
13
|
+
var clsx = require('clsx');
|
|
14
|
+
|
|
15
|
+
function OtpVerification(props) {
|
|
16
|
+
const {
|
|
17
|
+
contact,
|
|
18
|
+
otpType,
|
|
19
|
+
otpLength = 6,
|
|
20
|
+
alphanumeric = true,
|
|
21
|
+
formattedContact,
|
|
22
|
+
sessionKey,
|
|
23
|
+
onContinue = null // Default to null if not provided
|
|
24
|
+
} = props;
|
|
25
|
+
const {
|
|
26
|
+
initOtp,
|
|
27
|
+
completeOtp
|
|
28
|
+
} = Hook.useZeroXKey();
|
|
29
|
+
const {
|
|
30
|
+
closeModal,
|
|
31
|
+
isMobile
|
|
32
|
+
} = Hook$1.useModal();
|
|
33
|
+
const [submitting, setSubmitting] = react.useState(false);
|
|
34
|
+
const [resending, setResending] = react.useState(false);
|
|
35
|
+
const [resent, setResent] = react.useState(false);
|
|
36
|
+
const [otpId, setOtpId] = react.useState(props.otpId);
|
|
37
|
+
// Resend can return a fresh enclave-signed target bundle (and very likely
|
|
38
|
+
// will, since each init call generates a new ephemeral target keypair on the
|
|
39
|
+
// server). We track it locally so that the next completeOtp call uses the
|
|
40
|
+
// bundle that matches the otpId we will actually submit.
|
|
41
|
+
const [otpEncryptionTargetBundle, setOtpEncryptionTargetBundle] = react.useState(props.otpEncryptionTargetBundle);
|
|
42
|
+
const [error, setError] = react.useState(null);
|
|
43
|
+
const [shaking, setShaking] = react.useState(false);
|
|
44
|
+
const shakeInput = () => {
|
|
45
|
+
setShaking(true);
|
|
46
|
+
setTimeout(() => setShaking(false), 250);
|
|
47
|
+
};
|
|
48
|
+
const handleContinue = async otpCode => {
|
|
49
|
+
try {
|
|
50
|
+
setSubmitting(true);
|
|
51
|
+
if (onContinue) {
|
|
52
|
+
await onContinue(otpCode);
|
|
53
|
+
} else {
|
|
54
|
+
await completeOtp({
|
|
55
|
+
otpId,
|
|
56
|
+
otpCode,
|
|
57
|
+
otpEncryptionTargetBundle,
|
|
58
|
+
contact,
|
|
59
|
+
otpType,
|
|
60
|
+
...(sessionKey && {
|
|
61
|
+
sessionKey
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
closeModal();
|
|
65
|
+
}
|
|
66
|
+
} catch (error) {
|
|
67
|
+
const niceError = error.code === core.ZeroXKeyErrorCodes.INVALID_OTP_CODE ? "Invalid OTP code" : "An error has occurred";
|
|
68
|
+
setError(niceError);
|
|
69
|
+
shakeInput();
|
|
70
|
+
throw new Error(`Error completing OTP: ${error}`);
|
|
71
|
+
} finally {
|
|
72
|
+
setSubmitting(false);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const handleResend = async () => {
|
|
76
|
+
setResending(true);
|
|
77
|
+
try {
|
|
78
|
+
const {
|
|
79
|
+
otpId: id,
|
|
80
|
+
otpEncryptionTargetBundle: nextBundle
|
|
81
|
+
} = await initOtp({
|
|
82
|
+
otpType,
|
|
83
|
+
contact
|
|
84
|
+
});
|
|
85
|
+
setOtpId(id);
|
|
86
|
+
setOtpEncryptionTargetBundle(nextBundle);
|
|
87
|
+
setResent(true);
|
|
88
|
+
} catch (error) {
|
|
89
|
+
throw new Error(`Error resending OTP: ${error}`);
|
|
90
|
+
} finally {
|
|
91
|
+
setResending(false);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return jsxRuntime.jsxs("div", {
|
|
95
|
+
className: clsx("flex items-center justify-center py-3", isMobile ? "w-full" : "min-w-96"),
|
|
96
|
+
children: [jsxRuntime.jsxs("div", {
|
|
97
|
+
className: `flex flex-col items-center justify-center gap-6 transition-all duration-300 ${submitting && "opacity-30 blur"}`,
|
|
98
|
+
children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
99
|
+
size: "3x",
|
|
100
|
+
icon: otpType === core.OtpType.Email ? freeSolidSvgIcons.faEnvelope : otpType === core.OtpType.Sms ? freeSolidSvgIcons.faPhone : freeSolidSvgIcons.faEnvelope
|
|
101
|
+
}), jsxRuntime.jsxs("div", {
|
|
102
|
+
className: "flex flex-col text-center",
|
|
103
|
+
children: [jsxRuntime.jsx("span", {
|
|
104
|
+
className: "text-lg font-medium",
|
|
105
|
+
children: `Enter the ${otpLength}-digit code we sent to`
|
|
106
|
+
}), jsxRuntime.jsx("span", {
|
|
107
|
+
className: "text-base font-semibold",
|
|
108
|
+
children: formattedContact ?? contact
|
|
109
|
+
})]
|
|
110
|
+
}), jsxRuntime.jsx("div", {
|
|
111
|
+
className: `transition-all flex justify-center ${shaking ? "animate-shake" : ""}`,
|
|
112
|
+
children: jsxRuntime.jsx(OtpInput, {
|
|
113
|
+
otpLength: otpLength,
|
|
114
|
+
onContinue: handleContinue,
|
|
115
|
+
alphanumeric: alphanumeric
|
|
116
|
+
})
|
|
117
|
+
}), error && jsxRuntime.jsx("div", {
|
|
118
|
+
className: "text-red-400 text-center text-sm",
|
|
119
|
+
children: error
|
|
120
|
+
}), jsxRuntime.jsx(Buttons.BaseButton, {
|
|
121
|
+
onClick: handleResend,
|
|
122
|
+
disabled: resending || resent,
|
|
123
|
+
className: `text-xs text-inherit font-semibold bg-transparent border-none ${resent && "opacity-30"}`,
|
|
124
|
+
children: resending ? jsxRuntime.jsxs("span", {
|
|
125
|
+
className: "flex items-center gap-2.5",
|
|
126
|
+
children: [jsxRuntime.jsx(Spinners.Spinner, {
|
|
127
|
+
className: "size-3"
|
|
128
|
+
}), "Resending..."]
|
|
129
|
+
}) : resent ? "Code sent!" : "Resend Code"
|
|
130
|
+
})]
|
|
131
|
+
}), submitting && jsxRuntime.jsx("div", {
|
|
132
|
+
className: "absolute flex w-full h-full justify-center items-center",
|
|
133
|
+
children: jsxRuntime.jsx(Spinners.Spinner, {
|
|
134
|
+
strokeWidth: 1,
|
|
135
|
+
className: "size-1/2"
|
|
136
|
+
})
|
|
137
|
+
})]
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
function OtpInput(props) {
|
|
141
|
+
const {
|
|
142
|
+
otpLength,
|
|
143
|
+
onContinue,
|
|
144
|
+
alphanumeric = false
|
|
145
|
+
} = props;
|
|
146
|
+
const {
|
|
147
|
+
isMobile
|
|
148
|
+
} = Hook$1.useModal();
|
|
149
|
+
const [values, setValues] = react.useState(Array(otpLength).fill(""));
|
|
150
|
+
const inputsRef = react.useRef([]);
|
|
151
|
+
const handleChange = (index, value) => {
|
|
152
|
+
if (!alphanumeric) value = value.replace(/[^0-9]/g, "");else value = value.replace(/[^a-zA-Z0-9]/g, "");
|
|
153
|
+
const newValues = [...values];
|
|
154
|
+
newValues[index] = value.slice(-1); // only last char
|
|
155
|
+
setValues(newValues);
|
|
156
|
+
if (value && index < otpLength - 1) {
|
|
157
|
+
inputsRef.current[index + 1]?.focus();
|
|
158
|
+
}
|
|
159
|
+
if (value && newValues.every(v => v)) {
|
|
160
|
+
onContinue(newValues.join(""));
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const handleKeyDown = (e, index) => {
|
|
164
|
+
if (e.key === "Backspace" && !values[index] && index > 0) {
|
|
165
|
+
inputsRef.current[index - 1]?.focus();
|
|
166
|
+
}
|
|
167
|
+
if (e.key === "ArrowLeft" && index > 0) {
|
|
168
|
+
inputsRef.current[index - 1]?.focus();
|
|
169
|
+
}
|
|
170
|
+
if (e.key === "ArrowRight" && index < otpLength - 1) {
|
|
171
|
+
inputsRef.current[index + 1]?.focus();
|
|
172
|
+
}
|
|
173
|
+
if (e.key === "Enter") {
|
|
174
|
+
onContinue(values.join(""));
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
const handlePaste = e => {
|
|
178
|
+
e.preventDefault();
|
|
179
|
+
const paste = e.clipboardData.getData("text").trim();
|
|
180
|
+
const cleaned = alphanumeric ? paste.replace(/[^a-zA-Z0-9]/g, "") : paste.replace(/[^0-9]/g, "");
|
|
181
|
+
const sliced = cleaned.slice(0, otpLength).split("");
|
|
182
|
+
const newValues = [...values];
|
|
183
|
+
for (let i = 0; i < sliced.length; i++) {
|
|
184
|
+
newValues[i] = sliced[i] ?? "";
|
|
185
|
+
if (inputsRef.current[i]) {
|
|
186
|
+
inputsRef.current[i].value = sliced[i] ?? "";
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
setValues(newValues);
|
|
190
|
+
// Focus the last filled box
|
|
191
|
+
const lastIndex = Math.min(sliced.length, otpLength - 1);
|
|
192
|
+
inputsRef.current[lastIndex]?.focus();
|
|
193
|
+
onContinue(newValues.join(""));
|
|
194
|
+
};
|
|
195
|
+
return jsxRuntime.jsx("div", {
|
|
196
|
+
className: clsx("flex items-center justify-center space-x-2", isMobile ? "w-[95%]" : "w-full"),
|
|
197
|
+
children: Array.from({
|
|
198
|
+
length: otpLength
|
|
199
|
+
}).map((_, i) => {
|
|
200
|
+
return jsxRuntime.jsx(react$1.Input, {
|
|
201
|
+
type: alphanumeric ? "text" : "text",
|
|
202
|
+
inputMode: alphanumeric ? "text" : "numeric",
|
|
203
|
+
maxLength: 1,
|
|
204
|
+
value: values[i]?.toUpperCase(),
|
|
205
|
+
autoComplete: "off",
|
|
206
|
+
onChange: e => handleChange(i, e.target.value.toUpperCase()),
|
|
207
|
+
onKeyDown: e => handleKeyDown(e, i),
|
|
208
|
+
onPaste: handlePaste,
|
|
209
|
+
ref: el => inputsRef.current[i] = el,
|
|
210
|
+
className: clsx("text-center text-lg rounded-md border border-modal-background-dark/20 dark:border-modal-background-light/20 bg-button-light dark:bg-button-dark text-inherit focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 transition-all", isMobile ? "w-full h-10" : "h-12 w-12")
|
|
211
|
+
}, i);
|
|
212
|
+
})
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
exports.OtpInput = OtpInput;
|
|
217
|
+
exports.OtpVerification = OtpVerification;
|
|
218
|
+
//# sourceMappingURL=OTP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTP.js","sources":["../../../src/components/auth/OTP.tsx"],"sourcesContent":[null],"names":["OtpVerification","props","contact","otpType","otpLength","alphanumeric","formattedContact","sessionKey","onContinue","initOtp","completeOtp","useZeroXKey","closeModal","isMobile","useModal","submitting","setSubmitting","useState","resending","setResending","resent","setResent","otpId","setOtpId","otpEncryptionTargetBundle","setOtpEncryptionTargetBundle","error","setError","shaking","setShaking","shakeInput","setTimeout","handleContinue","otpCode","niceError","code","ZeroXKeyErrorCodes","INVALID_OTP_CODE","Error","handleResend","id","nextBundle","_jsxs","className","clsx","children","_jsx","FontAwesomeIcon","size","icon","OtpType","Email","faEnvelope","Sms","faPhone","OtpInput","BaseButton","onClick","disabled","Spinner","strokeWidth","values","setValues","Array","fill","inputsRef","useRef","handleChange","index","value","replace","newValues","slice","current","focus","every","v","join","handleKeyDown","e","key","handlePaste","preventDefault","paste","clipboardData","getData","trim","cleaned","sliced","split","i","length","lastIndex","Math","min","from","map","_","Input","type","inputMode","maxLength","toUpperCase","autoComplete","onChange","target","onKeyDown","onPaste","ref","el"],"mappings":"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"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useRef } from 'react';
|
|
4
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
5
|
+
import { useZeroXKey } from '../../providers/client/Hook.mjs';
|
|
6
|
+
import { Spinner } from '../design/Spinners.mjs';
|
|
7
|
+
import { Input } from '@headlessui/react';
|
|
8
|
+
import { BaseButton } from '../design/Buttons.mjs';
|
|
9
|
+
import { OtpType, ZeroXKeyErrorCodes } from '@0xkey-io/core';
|
|
10
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
11
|
+
import { faEnvelope, faPhone } from '@fortawesome/free-solid-svg-icons';
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
|
|
14
|
+
function OtpVerification(props) {
|
|
15
|
+
var contact = props.contact,
|
|
16
|
+
otpType = props.otpType,
|
|
17
|
+
_props$otpLength = props.otpLength,
|
|
18
|
+
otpLength = _props$otpLength === void 0 ? 6 : _props$otpLength,
|
|
19
|
+
_props$alphanumeric = props.alphanumeric,
|
|
20
|
+
alphanumeric = _props$alphanumeric === void 0 ? true : _props$alphanumeric,
|
|
21
|
+
formattedContact = props.formattedContact,
|
|
22
|
+
sessionKey = props.sessionKey,
|
|
23
|
+
_props$onContinue = props.onContinue,
|
|
24
|
+
onContinue = _props$onContinue === void 0 ? null : _props$onContinue;
|
|
25
|
+
var _useZeroXKey = useZeroXKey(),
|
|
26
|
+
initOtp = _useZeroXKey.initOtp,
|
|
27
|
+
completeOtp = _useZeroXKey.completeOtp;
|
|
28
|
+
var _useModal = useModal(),
|
|
29
|
+
closeModal = _useModal.closeModal,
|
|
30
|
+
isMobile = _useModal.isMobile;
|
|
31
|
+
var _useState = useState(false),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
submitting = _useState2[0],
|
|
34
|
+
setSubmitting = _useState2[1];
|
|
35
|
+
var _useState3 = useState(false),
|
|
36
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
37
|
+
resending = _useState4[0],
|
|
38
|
+
setResending = _useState4[1];
|
|
39
|
+
var _useState5 = useState(false),
|
|
40
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
41
|
+
resent = _useState6[0],
|
|
42
|
+
setResent = _useState6[1];
|
|
43
|
+
var _useState7 = useState(props.otpId),
|
|
44
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
45
|
+
otpId = _useState8[0],
|
|
46
|
+
setOtpId = _useState8[1];
|
|
47
|
+
// Resend can return a fresh enclave-signed target bundle (and very likely
|
|
48
|
+
// will, since each init call generates a new ephemeral target keypair on the
|
|
49
|
+
// server). We track it locally so that the next completeOtp call uses the
|
|
50
|
+
// bundle that matches the otpId we will actually submit.
|
|
51
|
+
var _useState9 = useState(props.otpEncryptionTargetBundle),
|
|
52
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
53
|
+
otpEncryptionTargetBundle = _useState0[0],
|
|
54
|
+
setOtpEncryptionTargetBundle = _useState0[1];
|
|
55
|
+
var _useState1 = useState(null),
|
|
56
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
57
|
+
error = _useState10[0],
|
|
58
|
+
setError = _useState10[1];
|
|
59
|
+
var _useState11 = useState(false),
|
|
60
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
61
|
+
shaking = _useState12[0],
|
|
62
|
+
setShaking = _useState12[1];
|
|
63
|
+
var shakeInput = function shakeInput() {
|
|
64
|
+
setShaking(true);
|
|
65
|
+
setTimeout(function () {
|
|
66
|
+
return setShaking(false);
|
|
67
|
+
}, 250);
|
|
68
|
+
};
|
|
69
|
+
var handleContinue = /*#__PURE__*/function () {
|
|
70
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(otpCode) {
|
|
71
|
+
var niceError, _t;
|
|
72
|
+
return _regenerator().w(function (_context) {
|
|
73
|
+
while (1) switch (_context.p = _context.n) {
|
|
74
|
+
case 0:
|
|
75
|
+
_context.p = 0;
|
|
76
|
+
setSubmitting(true);
|
|
77
|
+
if (!onContinue) {
|
|
78
|
+
_context.n = 2;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
_context.n = 1;
|
|
82
|
+
return onContinue(otpCode);
|
|
83
|
+
case 1:
|
|
84
|
+
_context.n = 4;
|
|
85
|
+
break;
|
|
86
|
+
case 2:
|
|
87
|
+
_context.n = 3;
|
|
88
|
+
return completeOtp(_objectSpread2({
|
|
89
|
+
otpId: otpId,
|
|
90
|
+
otpCode: otpCode,
|
|
91
|
+
otpEncryptionTargetBundle: otpEncryptionTargetBundle,
|
|
92
|
+
contact: contact,
|
|
93
|
+
otpType: otpType
|
|
94
|
+
}, sessionKey && {
|
|
95
|
+
sessionKey: sessionKey
|
|
96
|
+
}));
|
|
97
|
+
case 3:
|
|
98
|
+
closeModal();
|
|
99
|
+
case 4:
|
|
100
|
+
_context.n = 6;
|
|
101
|
+
break;
|
|
102
|
+
case 5:
|
|
103
|
+
_context.p = 5;
|
|
104
|
+
_t = _context.v;
|
|
105
|
+
niceError = _t.code === ZeroXKeyErrorCodes.INVALID_OTP_CODE ? "Invalid OTP code" : "An error has occurred";
|
|
106
|
+
setError(niceError);
|
|
107
|
+
shakeInput();
|
|
108
|
+
throw new Error("Error completing OTP: ".concat(_t));
|
|
109
|
+
case 6:
|
|
110
|
+
_context.p = 6;
|
|
111
|
+
setSubmitting(false);
|
|
112
|
+
return _context.f(6);
|
|
113
|
+
case 7:
|
|
114
|
+
return _context.a(2);
|
|
115
|
+
}
|
|
116
|
+
}, _callee, null, [[0, 5, 6, 7]]);
|
|
117
|
+
}));
|
|
118
|
+
return function handleContinue(_x) {
|
|
119
|
+
return _ref.apply(this, arguments);
|
|
120
|
+
};
|
|
121
|
+
}();
|
|
122
|
+
var handleResend = /*#__PURE__*/function () {
|
|
123
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
124
|
+
var _yield$initOtp, id, nextBundle, _t2;
|
|
125
|
+
return _regenerator().w(function (_context2) {
|
|
126
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
127
|
+
case 0:
|
|
128
|
+
setResending(true);
|
|
129
|
+
_context2.p = 1;
|
|
130
|
+
_context2.n = 2;
|
|
131
|
+
return initOtp({
|
|
132
|
+
otpType: otpType,
|
|
133
|
+
contact: contact
|
|
134
|
+
});
|
|
135
|
+
case 2:
|
|
136
|
+
_yield$initOtp = _context2.v;
|
|
137
|
+
id = _yield$initOtp.otpId;
|
|
138
|
+
nextBundle = _yield$initOtp.otpEncryptionTargetBundle;
|
|
139
|
+
setOtpId(id);
|
|
140
|
+
setOtpEncryptionTargetBundle(nextBundle);
|
|
141
|
+
setResent(true);
|
|
142
|
+
_context2.n = 4;
|
|
143
|
+
break;
|
|
144
|
+
case 3:
|
|
145
|
+
_context2.p = 3;
|
|
146
|
+
_t2 = _context2.v;
|
|
147
|
+
throw new Error("Error resending OTP: ".concat(_t2));
|
|
148
|
+
case 4:
|
|
149
|
+
_context2.p = 4;
|
|
150
|
+
setResending(false);
|
|
151
|
+
return _context2.f(4);
|
|
152
|
+
case 5:
|
|
153
|
+
return _context2.a(2);
|
|
154
|
+
}
|
|
155
|
+
}, _callee2, null, [[1, 3, 4, 5]]);
|
|
156
|
+
}));
|
|
157
|
+
return function handleResend() {
|
|
158
|
+
return _ref2.apply(this, arguments);
|
|
159
|
+
};
|
|
160
|
+
}();
|
|
161
|
+
return jsxs("div", {
|
|
162
|
+
className: clsx("flex items-center justify-center py-3", isMobile ? "w-full" : "min-w-96"),
|
|
163
|
+
children: [jsxs("div", {
|
|
164
|
+
className: "flex flex-col items-center justify-center gap-6 transition-all duration-300 ".concat(submitting && "opacity-30 blur"),
|
|
165
|
+
children: [jsx(FontAwesomeIcon, {
|
|
166
|
+
size: "3x",
|
|
167
|
+
icon: otpType === OtpType.Email ? faEnvelope : otpType === OtpType.Sms ? faPhone : faEnvelope
|
|
168
|
+
}), jsxs("div", {
|
|
169
|
+
className: "flex flex-col text-center",
|
|
170
|
+
children: [jsx("span", {
|
|
171
|
+
className: "text-lg font-medium",
|
|
172
|
+
children: "Enter the ".concat(otpLength, "-digit code we sent to")
|
|
173
|
+
}), jsx("span", {
|
|
174
|
+
className: "text-base font-semibold",
|
|
175
|
+
children: formattedContact !== null && formattedContact !== void 0 ? formattedContact : contact
|
|
176
|
+
})]
|
|
177
|
+
}), jsx("div", {
|
|
178
|
+
className: "transition-all flex justify-center ".concat(shaking ? "animate-shake" : ""),
|
|
179
|
+
children: jsx(OtpInput, {
|
|
180
|
+
otpLength: otpLength,
|
|
181
|
+
onContinue: handleContinue,
|
|
182
|
+
alphanumeric: alphanumeric
|
|
183
|
+
})
|
|
184
|
+
}), error && jsx("div", {
|
|
185
|
+
className: "text-red-400 text-center text-sm",
|
|
186
|
+
children: error
|
|
187
|
+
}), jsx(BaseButton, {
|
|
188
|
+
onClick: handleResend,
|
|
189
|
+
disabled: resending || resent,
|
|
190
|
+
className: "text-xs text-inherit font-semibold bg-transparent border-none ".concat(resent && "opacity-30"),
|
|
191
|
+
children: resending ? jsxs("span", {
|
|
192
|
+
className: "flex items-center gap-2.5",
|
|
193
|
+
children: [jsx(Spinner, {
|
|
194
|
+
className: "size-3"
|
|
195
|
+
}), "Resending..."]
|
|
196
|
+
}) : resent ? "Code sent!" : "Resend Code"
|
|
197
|
+
})]
|
|
198
|
+
}), submitting && jsx("div", {
|
|
199
|
+
className: "absolute flex w-full h-full justify-center items-center",
|
|
200
|
+
children: jsx(Spinner, {
|
|
201
|
+
strokeWidth: 1,
|
|
202
|
+
className: "size-1/2"
|
|
203
|
+
})
|
|
204
|
+
})]
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
function OtpInput(props) {
|
|
208
|
+
var otpLength = props.otpLength,
|
|
209
|
+
onContinue = props.onContinue,
|
|
210
|
+
_props$alphanumeric2 = props.alphanumeric,
|
|
211
|
+
alphanumeric = _props$alphanumeric2 === void 0 ? false : _props$alphanumeric2;
|
|
212
|
+
var _useModal2 = useModal(),
|
|
213
|
+
isMobile = _useModal2.isMobile;
|
|
214
|
+
var _useState13 = useState(Array(otpLength).fill("")),
|
|
215
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
216
|
+
values = _useState14[0],
|
|
217
|
+
setValues = _useState14[1];
|
|
218
|
+
var inputsRef = useRef([]);
|
|
219
|
+
var handleChange = function handleChange(index, value) {
|
|
220
|
+
if (!alphanumeric) value = value.replace(/[^0-9]/g, "");else value = value.replace(/[^a-zA-Z0-9]/g, "");
|
|
221
|
+
var newValues = _toConsumableArray(values);
|
|
222
|
+
newValues[index] = value.slice(-1); // only last char
|
|
223
|
+
setValues(newValues);
|
|
224
|
+
if (value && index < otpLength - 1) {
|
|
225
|
+
var _inputsRef$current;
|
|
226
|
+
(_inputsRef$current = inputsRef.current[index + 1]) === null || _inputsRef$current === void 0 ? void 0 : _inputsRef$current.focus();
|
|
227
|
+
}
|
|
228
|
+
if (value && newValues.every(function (v) {
|
|
229
|
+
return v;
|
|
230
|
+
})) {
|
|
231
|
+
onContinue(newValues.join(""));
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
var handleKeyDown = function handleKeyDown(e, index) {
|
|
235
|
+
if (e.key === "Backspace" && !values[index] && index > 0) {
|
|
236
|
+
var _inputsRef$current2;
|
|
237
|
+
(_inputsRef$current2 = inputsRef.current[index - 1]) === null || _inputsRef$current2 === void 0 ? void 0 : _inputsRef$current2.focus();
|
|
238
|
+
}
|
|
239
|
+
if (e.key === "ArrowLeft" && index > 0) {
|
|
240
|
+
var _inputsRef$current3;
|
|
241
|
+
(_inputsRef$current3 = inputsRef.current[index - 1]) === null || _inputsRef$current3 === void 0 ? void 0 : _inputsRef$current3.focus();
|
|
242
|
+
}
|
|
243
|
+
if (e.key === "ArrowRight" && index < otpLength - 1) {
|
|
244
|
+
var _inputsRef$current4;
|
|
245
|
+
(_inputsRef$current4 = inputsRef.current[index + 1]) === null || _inputsRef$current4 === void 0 ? void 0 : _inputsRef$current4.focus();
|
|
246
|
+
}
|
|
247
|
+
if (e.key === "Enter") {
|
|
248
|
+
onContinue(values.join(""));
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
var handlePaste = function handlePaste(e) {
|
|
252
|
+
var _inputsRef$current$la;
|
|
253
|
+
e.preventDefault();
|
|
254
|
+
var paste = e.clipboardData.getData("text").trim();
|
|
255
|
+
var cleaned = alphanumeric ? paste.replace(/[^a-zA-Z0-9]/g, "") : paste.replace(/[^0-9]/g, "");
|
|
256
|
+
var sliced = cleaned.slice(0, otpLength).split("");
|
|
257
|
+
var newValues = _toConsumableArray(values);
|
|
258
|
+
for (var i = 0; i < sliced.length; i++) {
|
|
259
|
+
var _sliced$i;
|
|
260
|
+
newValues[i] = (_sliced$i = sliced[i]) !== null && _sliced$i !== void 0 ? _sliced$i : "";
|
|
261
|
+
if (inputsRef.current[i]) {
|
|
262
|
+
var _sliced$i2;
|
|
263
|
+
inputsRef.current[i].value = (_sliced$i2 = sliced[i]) !== null && _sliced$i2 !== void 0 ? _sliced$i2 : "";
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
setValues(newValues);
|
|
267
|
+
// Focus the last filled box
|
|
268
|
+
var lastIndex = Math.min(sliced.length, otpLength - 1);
|
|
269
|
+
(_inputsRef$current$la = inputsRef.current[lastIndex]) === null || _inputsRef$current$la === void 0 ? void 0 : _inputsRef$current$la.focus();
|
|
270
|
+
onContinue(newValues.join(""));
|
|
271
|
+
};
|
|
272
|
+
return jsx("div", {
|
|
273
|
+
className: clsx("flex items-center justify-center space-x-2", isMobile ? "w-[95%]" : "w-full"),
|
|
274
|
+
children: Array.from({
|
|
275
|
+
length: otpLength
|
|
276
|
+
}).map(function (_, i) {
|
|
277
|
+
var _values$i;
|
|
278
|
+
return jsx(Input, {
|
|
279
|
+
type: alphanumeric ? "text" : "text",
|
|
280
|
+
inputMode: alphanumeric ? "text" : "numeric",
|
|
281
|
+
maxLength: 1,
|
|
282
|
+
value: (_values$i = values[i]) === null || _values$i === void 0 ? void 0 : _values$i.toUpperCase(),
|
|
283
|
+
autoComplete: "off",
|
|
284
|
+
onChange: function onChange(e) {
|
|
285
|
+
return handleChange(i, e.target.value.toUpperCase());
|
|
286
|
+
},
|
|
287
|
+
onKeyDown: function onKeyDown(e) {
|
|
288
|
+
return handleKeyDown(e, i);
|
|
289
|
+
},
|
|
290
|
+
onPaste: handlePaste,
|
|
291
|
+
ref: function ref(el) {
|
|
292
|
+
return inputsRef.current[i] = el;
|
|
293
|
+
},
|
|
294
|
+
className: clsx("text-center text-lg rounded-md border border-modal-background-dark/20 dark:border-modal-background-light/20 bg-button-light dark:bg-button-dark text-inherit focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 transition-all", isMobile ? "w-full h-10" : "h-12 w-12")
|
|
295
|
+
}, i);
|
|
296
|
+
})
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export { OtpInput, OtpVerification };
|
|
301
|
+
//# sourceMappingURL=OTP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTP.mjs","sources":["../../../src/components/auth/OTP.tsx"],"sourcesContent":[null],"names":["OtpVerification","props","contact","otpType","_props$otpLength","otpLength","_props$alphanumeric","alphanumeric","formattedContact","sessionKey","_props$onContinue","onContinue","_useZeroXKey","useZeroXKey","initOtp","completeOtp","_useModal","useModal","closeModal","isMobile","_useState","useState","_useState2","_slicedToArray","submitting","setSubmitting","_useState3","_useState4","resending","setResending","_useState5","_useState6","resent","setResent","_useState7","otpId","_useState8","setOtpId","_useState9","otpEncryptionTargetBundle","_useState0","setOtpEncryptionTargetBundle","_useState1","_useState10","error","setError","_useState11","_useState12","shaking","setShaking","shakeInput","setTimeout","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","otpCode","niceError","_t","w","_context","p","n","_objectSpread","v","code","ZeroXKeyErrorCodes","INVALID_OTP_CODE","Error","concat","f","a","_x","apply","arguments","handleResend","_ref2","_callee2","_yield$initOtp","id","nextBundle","_t2","_context2","_jsxs","className","clsx","children","_jsx","FontAwesomeIcon","size","icon","OtpType","Email","faEnvelope","Sms","faPhone","OtpInput","BaseButton","onClick","disabled","Spinner","strokeWidth","_props$alphanumeric2","_useModal2","_useState13","Array","fill","_useState14","values","setValues","inputsRef","useRef","handleChange","index","value","replace","newValues","_toConsumableArray","slice","_inputsRef$current","current","focus","every","join","handleKeyDown","e","key","_inputsRef$current2","_inputsRef$current3","_inputsRef$current4","handlePaste","_inputsRef$current$la","preventDefault","paste","clipboardData","getData","trim","cleaned","sliced","split","i","length","_sliced$i","_sliced$i2","lastIndex","Math","min","from","map","_","_values$i","Input","type","inputMode","maxLength","toUpperCase","autoComplete","onChange","target","onKeyDown","onPaste","ref","el"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OrSeparator.tsx"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,4CAU1B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
function OrSeparator() {
|
|
6
|
+
return jsxRuntime.jsxs("div", {
|
|
7
|
+
className: "my-3 flex w-full flex-row items-center justify-center",
|
|
8
|
+
children: [jsxRuntime.jsx("div", {
|
|
9
|
+
className: "flex h-[1px] flex-grow bg-icon-text-light/15 dark:bg-icon-text-dark/15"
|
|
10
|
+
}), jsxRuntime.jsx("span", {
|
|
11
|
+
className: "mx-2 text-xs text-icon-text-light/50 dark:text-icon-text-dark/50",
|
|
12
|
+
children: "or"
|
|
13
|
+
}), jsxRuntime.jsx("div", {
|
|
14
|
+
className: "flex h-[1px] flex-grow bg-icon-text-light/15 dark:bg-icon-text-dark/15"
|
|
15
|
+
})]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.OrSeparator = OrSeparator;
|
|
20
|
+
//# sourceMappingURL=OrSeparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrSeparator.js","sources":["../../../src/components/auth/OrSeparator.tsx"],"sourcesContent":[null],"names":["OrSeparator","_jsxs","className","_jsx","children"],"mappings":";;;;SAAgBA,WAAWA,GAAA;EACzB,OACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uDAAuD;eACpEC,cAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG,EAC1FC;AAAMD,MAAAA,SAAS,EAAC,kEAAkE;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAE3E,EACPD,cAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG;AAAA,GAAA,CACtF;AAEV;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
function OrSeparator() {
|
|
4
|
+
return jsxs("div", {
|
|
5
|
+
className: "my-3 flex w-full flex-row items-center justify-center",
|
|
6
|
+
children: [jsx("div", {
|
|
7
|
+
className: "flex h-[1px] flex-grow bg-icon-text-light/15 dark:bg-icon-text-dark/15"
|
|
8
|
+
}), jsx("span", {
|
|
9
|
+
className: "mx-2 text-xs text-icon-text-light/50 dark:text-icon-text-dark/50",
|
|
10
|
+
children: "or"
|
|
11
|
+
}), jsx("div", {
|
|
12
|
+
className: "flex h-[1px] flex-grow bg-icon-text-light/15 dark:bg-icon-text-dark/15"
|
|
13
|
+
})]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { OrSeparator };
|
|
18
|
+
//# sourceMappingURL=OrSeparator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrSeparator.mjs","sources":["../../../src/components/auth/OrSeparator.tsx"],"sourcesContent":[null],"names":["OrSeparator","_jsxs","className","_jsx","children"],"mappings":";;SAAgBA,WAAWA,GAAA;EACzB,OACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uDAAuD;eACpEC,GAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG,EAC1FC;AAAMD,MAAAA,SAAS,EAAC,kEAAkE;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAE3E,EACPD,GAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG;AAAA,GAAA,CACtF;AAEV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Passkey.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Passkey.tsx"],"names":[],"mappings":"AAIA,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAuBxD"}
|