signer-test-sdk-react 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +114 -0
  2. package/dist/src/AbstraxnProvider.d.ts +20 -0
  3. package/dist/src/AbstraxnProvider.js +2213 -0
  4. package/dist/src/AbstraxnProvider.js.map +1 -0
  5. package/dist/src/ConnectButton.css +217 -0
  6. package/dist/src/ConnectButton.d.ts +71 -0
  7. package/dist/src/ConnectButton.js +102 -0
  8. package/dist/src/ConnectButton.js.map +1 -0
  9. package/dist/src/ExternalWalletButtons.css +319 -0
  10. package/dist/src/ExternalWalletButtons.d.ts +56 -0
  11. package/dist/src/ExternalWalletButtons.js +245 -0
  12. package/dist/src/ExternalWalletButtons.js.map +1 -0
  13. package/dist/src/OnboardingUI.d.ts +63 -0
  14. package/dist/src/OnboardingUI.js +66 -0
  15. package/dist/src/OnboardingUI.js.map +1 -0
  16. package/dist/src/WalletModal.css +549 -0
  17. package/dist/src/WalletModal.d.ts +6 -0
  18. package/dist/src/WalletModal.js +89 -0
  19. package/dist/src/WalletModal.js.map +1 -0
  20. package/dist/src/components/OnboardingUI/OnboardingUI.css +727 -0
  21. package/dist/src/components/OnboardingUI/OnboardingUIReact.d.ts +15 -0
  22. package/dist/src/components/OnboardingUI/OnboardingUIReact.js +65 -0
  23. package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -0
  24. package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +257 -0
  25. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +3454 -0
  26. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -0
  27. package/dist/src/components/OnboardingUI/components/EmailForm.d.ts +16 -0
  28. package/dist/src/components/OnboardingUI/components/EmailForm.js +19 -0
  29. package/dist/src/components/OnboardingUI/components/EmailForm.js.map +1 -0
  30. package/dist/src/components/OnboardingUI/components/Modal.d.ts +15 -0
  31. package/dist/src/components/OnboardingUI/components/Modal.js +68 -0
  32. package/dist/src/components/OnboardingUI/components/Modal.js.map +1 -0
  33. package/dist/src/components/OnboardingUI/components/OtpForm.d.ts +19 -0
  34. package/dist/src/components/OnboardingUI/components/OtpForm.js +58 -0
  35. package/dist/src/components/OnboardingUI/components/OtpForm.js.map +1 -0
  36. package/dist/src/components/OnboardingUI/components/PasskeyButton.d.ts +14 -0
  37. package/dist/src/components/OnboardingUI/components/PasskeyButton.js +22 -0
  38. package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -0
  39. package/dist/src/components/OnboardingUI/components/SocialButtons.d.ts +15 -0
  40. package/dist/src/components/OnboardingUI/components/SocialButtons.js +15 -0
  41. package/dist/src/components/OnboardingUI/components/SocialButtons.js.map +1 -0
  42. package/dist/src/components/OnboardingUI/components/index.d.ts +13 -0
  43. package/dist/src/components/OnboardingUI/components/index.js +9 -0
  44. package/dist/src/components/OnboardingUI/components/index.js.map +1 -0
  45. package/dist/src/components/OnboardingUI/hooks/index.d.ts +7 -0
  46. package/dist/src/components/OnboardingUI/hooks/index.js +6 -0
  47. package/dist/src/components/OnboardingUI/hooks/index.js.map +1 -0
  48. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.d.ts +11 -0
  49. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js +146 -0
  50. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js.map +1 -0
  51. package/dist/src/components/OnboardingUI/hooks/useOnboarding.d.ts +21 -0
  52. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js +135 -0
  53. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +1 -0
  54. package/dist/src/components/OnboardingUI/index.d.ts +12 -0
  55. package/dist/src/components/OnboardingUI/index.js +15 -0
  56. package/dist/src/components/OnboardingUI/index.js.map +1 -0
  57. package/dist/src/hooks.d.ts +204 -0
  58. package/dist/src/hooks.js +394 -0
  59. package/dist/src/hooks.js.map +1 -0
  60. package/dist/src/index.d.ts +14 -0
  61. package/dist/src/index.js +11 -0
  62. package/dist/src/index.js.map +1 -0
  63. package/dist/src/types.d.ts +181 -0
  64. package/dist/src/types.js +2 -0
  65. package/dist/src/types.js.map +1 -0
  66. package/dist/src/wagmiConfig.d.ts +147 -0
  67. package/dist/src/wagmiConfig.js +81 -0
  68. package/dist/src/wagmiConfig.js.map +1 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -0
  70. package/package.json +68 -0
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * OnboardingUI React Component
4
+ * Pure React implementation of OnboardingUI
5
+ */
6
+ import { useEffect } from 'react';
7
+ import { useOnboarding } from './hooks/useOnboarding';
8
+ import { useAuthMethods } from './hooks/useAuthMethods';
9
+ import { EmailForm } from './components/EmailForm';
10
+ import { OtpForm } from './components/OtpForm';
11
+ import { SocialButtons } from './components/SocialButtons';
12
+ import { PasskeyButton } from './components/PasskeyButton';
13
+ import { Modal } from './components/Modal';
14
+ import { ExternalWalletButtons } from '../../ExternalWalletButtons';
15
+ import './OnboardingUI.css';
16
+ export const OnboardingUIReact = ({ config = {}, modal = false, onClose, externalWalletsEnabled = false, availableConnectors = [], }) => {
17
+ const theme = config.theme || 'light';
18
+ const authMethods = config.authMethods || ['otp', 'google'];
19
+ const onboarding = useOnboarding(config);
20
+ const authMethodsHook = useAuthMethods(config);
21
+ // Handle URL parameters for social login callbacks
22
+ useEffect(() => {
23
+ if (typeof window === 'undefined' || !config.handleUrlParams)
24
+ return;
25
+ const params = new URLSearchParams(window.location.search);
26
+ const success = params.get('success');
27
+ const error = params.get('error');
28
+ if (success === 'true') {
29
+ // Set loading state
30
+ onboarding.setLoading(true);
31
+ return;
32
+ }
33
+ if (error) {
34
+ onboarding.setError(decodeURIComponent(error));
35
+ }
36
+ return;
37
+ }, [config.handleUrlParams, onboarding]);
38
+ // Reset when modal closes
39
+ useEffect(() => {
40
+ if (!modal && onClose) {
41
+ const handleClose = () => {
42
+ onboarding.reset();
43
+ };
44
+ return handleClose;
45
+ }
46
+ return;
47
+ }, [modal, onClose, onboarding]);
48
+ const handleClose = () => {
49
+ onboarding.reset();
50
+ onClose?.();
51
+ };
52
+ const showEmailForm = onboarding.step === 'email' && authMethods.includes('otp');
53
+ const showOtpForm = onboarding.step === 'otp' && authMethods.includes('otp');
54
+ const showSocialButtons = onboarding.step === 'email' && (authMethods.includes('google') ||
55
+ authMethods.includes('twitter') ||
56
+ authMethods.includes('discord'));
57
+ const showPasskey = onboarding.step === 'email' && authMethods.includes('passkey');
58
+ const showExternalWallets = onboarding.step === 'email' && externalWalletsEnabled && availableConnectors.length > 0;
59
+ const content = (_jsx("div", { className: `onboarding-container onboarding-theme-${theme} ${config.className || ''}`, children: _jsxs("div", { className: "onboarding-card", children: [_jsxs("div", { className: "onboarding-header", children: [config.logo && (_jsx("div", { className: "onboarding-logo-section", children: _jsx("div", { className: "onboarding-logo-container", children: _jsx("img", { src: config.logo, alt: "Logo", className: "onboarding-logo-img" }) }) })), _jsx("h1", { className: "onboarding-title", id: "onboarding-title", children: config.onboardTitle || 'Sign in' })] }), showEmailForm && (_jsx(EmailForm, { email: onboarding.email, onChange: onboarding.setEmail, onSubmit: onboarding.handleEmailSubmit, loading: onboarding.loading, error: onboarding.error, config: config })), showOtpForm && (_jsx(OtpForm, { email: onboarding.email, otp: onboarding.otp, onChange: onboarding.setOtp, onSubmit: onboarding.handleOtpSubmit, onResend: onboarding.handleResendOtp, loading: onboarding.loading, error: onboarding.error, resendCooldown: onboarding.resendCooldown, config: config })), onboarding.step === 'loading' && (_jsxs("div", { className: "onboarding-loading", style: { textAlign: 'center', padding: '40px' }, children: [_jsxs("svg", { width: "48", height: "48", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: { animation: 'spin 1s linear infinite' }, children: [_jsx("line", { x1: "12", y1: "2", x2: "12", y2: "6" }), _jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22" }), _jsx("line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }), _jsx("line", { x1: "16.24", y1: "16.24", x2: "19.07", y2: "19.07" }), _jsx("line", { x1: "2", y1: "12", x2: "6", y2: "12" }), _jsx("line", { x1: "18", y1: "12", x2: "22", y2: "12" }), _jsx("line", { x1: "4.93", y1: "19.07", x2: "7.76", y2: "16.24" }), _jsx("line", { x1: "16.24", y1: "7.76", x2: "19.07", y2: "4.93" })] }), _jsx("p", { style: { marginTop: '16px' }, children: "Authenticating..." })] })), onboarding.step === 'error' && onboarding.error && (_jsxs("div", { className: "onboarding-error-container", children: [_jsx("div", { className: "onboarding-error", role: "alert", children: onboarding.error }), _jsx("button", { type: "button", className: "onboarding-button onboarding-button-primary", onClick: onboarding.reset, children: "Try Again" })] })), showSocialButtons && (showEmailForm || showOtpForm) && (_jsx("div", { className: "onboarding-divider", children: _jsx("span", { className: "onboarding-divider-text", children: "or" }) })), showSocialButtons && (_jsx(SocialButtons, { onGoogleLogin: authMethodsHook.handleGoogleLogin, onTwitterLogin: authMethodsHook.handleTwitterLogin, onDiscordLogin: authMethodsHook.handleDiscordLogin, loading: authMethodsHook.loading, config: config })), showPasskey && (_jsx(PasskeyButton, { onPasskeyLogin: authMethodsHook.handlePasskeyLogin, onPasskeySignup: authMethodsHook.handlePasskeySignup, loading: authMethodsHook.loading, config: config })), showExternalWallets && (_jsxs(_Fragment, { children: [_jsx("div", { className: "onboarding-divider", children: _jsx("span", { className: "onboarding-divider-text", children: "or" }) }), _jsx("div", { style: { marginTop: '12px' }, children: _jsx(ExternalWalletButtons, {}) })] })), config.showFooter !== false && (_jsx("div", { className: "onboarding-footer", children: _jsxs("p", { className: "onboarding-footer-text", children: ["Powered by", ' ', _jsx("a", { href: "https://abstraxn.com", target: "_blank", rel: "noopener noreferrer", className: "onboarding-footer-brand", children: "Abstraxn" })] }) }))] }) }));
60
+ if (modal) {
61
+ return (_jsx(Modal, { isOpen: true, onClose: handleClose, showCloseButton: config.showCloseButton !== false, closeOnBackdropClick: config.closeOnBackdropClick !== false, theme: theme, children: content }));
62
+ }
63
+ return content;
64
+ };
65
+ //# sourceMappingURL=OnboardingUIReact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingUIReact.js","sourceRoot":"","sources":["../../../../src/components/OnboardingUI/OnboardingUIReact.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ import type { OnboardingUIConfig, Theme } from 'signer-test-sdk-core';
2
+ /**
3
+ * OnboardingUI Class
4
+ *
5
+ * A customizable user onboarding component with email-OTP and Google login options.
6
+ * Works with vanilla JavaScript - no framework dependencies required.
7
+ */
8
+ export declare class OnboardingUIWeb {
9
+ private static stylesInjected;
10
+ private config;
11
+ private container;
12
+ private rootElement;
13
+ private modalOverlay;
14
+ private modalContent;
15
+ private emailInput;
16
+ private otpInput;
17
+ private otpInputs;
18
+ private emailForm;
19
+ private continueButton;
20
+ private emailArrowButton;
21
+ private googleButton;
22
+ private twitterButton;
23
+ private discordButton;
24
+ private passkeyLoginButton;
25
+ private passkeySignupLink;
26
+ private passkeyDivider;
27
+ private passkeyErrorElement;
28
+ private errorElement;
29
+ private otpGroup;
30
+ private otpVerificationScreen;
31
+ private closeButton;
32
+ private resendButton;
33
+ private socialGrid;
34
+ externalWalletContainer: HTMLElement | null;
35
+ externalWalletDivider: HTMLElement | null;
36
+ private divider;
37
+ private footer;
38
+ private verifyButton;
39
+ private email;
40
+ private otp;
41
+ private otpSent;
42
+ private loading;
43
+ private activeButton;
44
+ private resendCooldown;
45
+ private externalWalletsEnabled;
46
+ constructor(config: OnboardingUIConfig, externalWalletsEnabled?: boolean);
47
+ /**
48
+ * Show external wallet container and divider
49
+ * Call this before init() to prevent flicker when external wallets are enabled
50
+ */
51
+ showExternalWallets(): void;
52
+ /**
53
+ * Initialize and render the component
54
+ */
55
+ init(): void;
56
+ /**
57
+ * Check URL parameters for social login callbacks
58
+ */
59
+ private checkUrlParams;
60
+ /**
61
+ * Show error screen or modal (public method)
62
+ */
63
+ showError(message: string): void;
64
+ /**
65
+ * Show error screen
66
+ */
67
+ private showErrorScreen;
68
+ /**
69
+ * Show loading screen
70
+ */
71
+ private showLoadingScreen;
72
+ /**
73
+ * Show loading screen as a modal overlay (for inline components)
74
+ */
75
+ private showLoadingModal;
76
+ /**
77
+ * Hide loading modal overlay
78
+ */
79
+ private hideLoadingModal;
80
+ /**
81
+ * Show error screen as a modal overlay (for inline components)
82
+ */
83
+ private showErrorModal;
84
+ /**
85
+ * Inject CSS styles into the document head (only once)
86
+ */
87
+ private injectStyles;
88
+ /**
89
+ * Apply custom colors from config
90
+ */
91
+ private applyCustomColors;
92
+ /**
93
+ * Setup the container element
94
+ */
95
+ private setupContainer;
96
+ /**
97
+ * Render the component
98
+ */
99
+ private render;
100
+ /**
101
+ * Render as modal overlay
102
+ */
103
+ private renderAsModal;
104
+ /**
105
+ * Trap focus within modal for accessibility
106
+ */
107
+ private trapFocus;
108
+ /**
109
+ * Render inline (non-modal)
110
+ */
111
+ private renderInline;
112
+ /**
113
+ * Build form content (shared between modal and inline)
114
+ */
115
+ private buildFormContent;
116
+ /**
117
+ * Attach event listeners
118
+ */
119
+ private attachEventListeners;
120
+ /**
121
+ * Handle email form submission
122
+ */
123
+ private handleEmailSubmit;
124
+ /**
125
+ * Handle Google login
126
+ */
127
+ private handleGoogleLogin;
128
+ /**
129
+ * Handle Twitter login
130
+ */
131
+ private handleTwitterLogin;
132
+ /**
133
+ * Handle Discord login
134
+ */
135
+ private handleDiscordLogin;
136
+ /**
137
+ * Show OTP verification screen
138
+ */
139
+ private showOtpInput;
140
+ /**
141
+ * Create OTP verification screen with 6 input fields
142
+ */
143
+ private createOtpVerificationScreen;
144
+ /**
145
+ * Create email icon SVG
146
+ */
147
+ private createEmailIconSVG;
148
+ /**
149
+ * Handle OTP input - auto-advance to next field
150
+ */
151
+ private handleOtpInput;
152
+ /**
153
+ * Handle OTP keydown - backspace to go to previous field
154
+ */
155
+ private handleOtpKeydown;
156
+ /**
157
+ * Handle OTP paste - fill all fields from clipboard
158
+ */
159
+ private handleOtpPaste;
160
+ /**
161
+ * Update OTP value from input fields
162
+ */
163
+ private updateOtpValue;
164
+ /**
165
+ * Handle OTP verification
166
+ */
167
+ private handleOtpVerify;
168
+ /**
169
+ * Handle resend OTP
170
+ */
171
+ private handleResendOtp;
172
+ /**
173
+ * Start resend cooldown timer
174
+ */
175
+ private startResendCooldown;
176
+ /**
177
+ * Set error message
178
+ */
179
+ private setError;
180
+ /**
181
+ * Set loading state
182
+ */
183
+ private setLoading;
184
+ /**
185
+ * Update button state
186
+ */
187
+ private updateButtonState;
188
+ /**
189
+ * Update theme
190
+ */
191
+ setTheme(theme: Theme): void;
192
+ /**
193
+ * Show/hide component
194
+ */
195
+ setVisible(visible: boolean): void;
196
+ /**
197
+ * Reset OTP screen and show initial login form
198
+ */
199
+ resetToLoginForm(): void;
200
+ /**
201
+ * Close the modal
202
+ */
203
+ close(): void;
204
+ /**
205
+ * Destroy the component
206
+ */
207
+ destroy(): void;
208
+ /**
209
+ * Create DOM element helper
210
+ */
211
+ private createElement;
212
+ /**
213
+ * Parse style object or string
214
+ */
215
+ private parseStyle;
216
+ /**
217
+ * Create email icon SVG
218
+ */
219
+ private createEmailIcon;
220
+ /**
221
+ * Create Google icon SVG
222
+ */
223
+ private createGoogleIcon;
224
+ /**
225
+ * Create right arrow icon SVG
226
+ */
227
+ private createArrowIcon;
228
+ /**
229
+ * Create passkey icon SVG
230
+ */
231
+ private createPasskeyIcon;
232
+ /**
233
+ * Create X (Twitter) icon SVG
234
+ */
235
+ private createTwitterIcon;
236
+ /**
237
+ * Create Discord icon SVG
238
+ */
239
+ private createDiscordIcon;
240
+ /**
241
+ * Handle passkey login
242
+ */
243
+ private handlePasskeyLogin;
244
+ /**
245
+ * Handle passkey signup
246
+ */
247
+ private handlePasskeySignup;
248
+ /**
249
+ * Show passkey-specific error near the passkey controls
250
+ */
251
+ private showPasskeyError;
252
+ /**
253
+ * Hide passkey-specific error
254
+ */
255
+ private hidePasskeyError;
256
+ }
257
+ export default OnboardingUIWeb;