@digitaldefiance/express-suite-react-components 2.4.4 → 2.5.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.
- package/README.md +131 -0
- package/package.json +6 -6
- package/src/contexts/AuthProvider.d.ts.map +1 -1
- package/src/contexts/AuthProvider.js +19 -5
- package/src/contexts/SuiteConfigProvider.d.ts +44 -0
- package/src/contexts/SuiteConfigProvider.d.ts.map +1 -0
- package/src/contexts/SuiteConfigProvider.js +43 -0
- package/src/contexts/ThemeProvider.d.ts +1 -0
- package/src/contexts/ThemeProvider.d.ts.map +1 -1
- package/src/contexts/ThemeProvider.js +3 -0
- package/src/contexts/index.d.ts +1 -0
- package/src/contexts/index.d.ts.map +1 -1
- package/src/contexts/index.js +1 -0
- package/src/hooks/index.d.ts +3 -0
- package/src/hooks/index.d.ts.map +1 -1
- package/src/hooks/index.js +3 -0
- package/src/hooks/useBackupCodes.d.ts +15 -0
- package/src/hooks/useBackupCodes.d.ts.map +1 -0
- package/src/hooks/useBackupCodes.js +70 -0
- package/src/hooks/useEmailVerification.d.ts +10 -0
- package/src/hooks/useEmailVerification.d.ts.map +1 -0
- package/src/hooks/useEmailVerification.js +36 -0
- package/src/hooks/useUserSettings.d.ts +29 -0
- package/src/hooks/useUserSettings.d.ts.map +1 -0
- package/src/hooks/useUserSettings.js +103 -0
- package/src/wrappers/BackupCodeLoginWrapper.d.ts +8 -0
- package/src/wrappers/BackupCodeLoginWrapper.d.ts.map +1 -0
- package/src/wrappers/BackupCodeLoginWrapper.js +21 -0
- package/src/wrappers/BackupCodesWrapper.d.ts +7 -0
- package/src/wrappers/BackupCodesWrapper.d.ts.map +1 -0
- package/src/wrappers/BackupCodesWrapper.js +17 -0
- package/src/wrappers/ChangePasswordFormWrapper.d.ts +8 -0
- package/src/wrappers/ChangePasswordFormWrapper.d.ts.map +1 -0
- package/src/wrappers/ChangePasswordFormWrapper.js +21 -0
- package/src/wrappers/LoginFormWrapper.d.ts +9 -0
- package/src/wrappers/LoginFormWrapper.d.ts.map +1 -0
- package/src/wrappers/LoginFormWrapper.js +43 -0
- package/src/wrappers/LogoutPageWrapper.d.ts +9 -0
- package/src/wrappers/LogoutPageWrapper.d.ts.map +1 -0
- package/src/wrappers/LogoutPageWrapper.js +21 -0
- package/src/wrappers/RegisterFormWrapper.d.ts +9 -0
- package/src/wrappers/RegisterFormWrapper.d.ts.map +1 -0
- package/src/wrappers/RegisterFormWrapper.js +26 -0
- package/src/wrappers/UserSettingsFormWrapper.d.ts +8 -0
- package/src/wrappers/UserSettingsFormWrapper.d.ts.map +1 -0
- package/src/wrappers/UserSettingsFormWrapper.js +23 -0
- package/src/wrappers/VerifyEmailPageWrapper.d.ts +8 -0
- package/src/wrappers/VerifyEmailPageWrapper.d.ts.map +1 -0
- package/src/wrappers/VerifyEmailPageWrapper.js +20 -0
- package/src/wrappers/index.d.ts +16 -22
- package/src/wrappers/index.d.ts.map +1 -1
- package/src/wrappers/index.js +17 -158
package/src/wrappers/index.js
CHANGED
|
@@ -1,161 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UserSettingsFormWrapper = exports.VerifyEmailPageWrapper = exports.LogoutPageWrapper = exports.RegisterFormWrapper = exports.LoginFormWrapper = exports.ChangePasswordFormWrapper = exports.BackupCodesWrapper = exports.BackupCodeLoginWrapper = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(BackupCodeLoginForm_1.BackupCodeLoginForm, { onSubmit: backupCodeLogin, onNavigate: navigate, isAuthenticated: isAuthenticated }));
|
|
23
|
-
};
|
|
24
|
-
exports.BackupCodeLoginWrapper = BackupCodeLoginWrapper;
|
|
25
|
-
const BackupCodesWrapper = ({ baseUrl }) => {
|
|
26
|
-
const [backupCodesRemaining, setBackupCodesRemaining] = (0, react_1.useState)((0, react_router_dom_1.useLocation)().state?.codeCount ?? null);
|
|
27
|
-
const requestedOnMountRef = (0, react_1.useRef)(false);
|
|
28
|
-
const api = (0, services_1.createAuthenticatedApiClient)(baseUrl);
|
|
29
|
-
(0, react_1.useEffect)(() => {
|
|
30
|
-
if (requestedOnMountRef.current)
|
|
31
|
-
return;
|
|
32
|
-
if (backupCodesRemaining !== null)
|
|
33
|
-
return;
|
|
34
|
-
requestedOnMountRef.current = true;
|
|
35
|
-
api.get('/user/backup-codes')
|
|
36
|
-
.then((result) => {
|
|
37
|
-
if (result?.data?.codeCount) {
|
|
38
|
-
setBackupCodesRemaining(result.data.codeCount);
|
|
39
|
-
}
|
|
40
|
-
})
|
|
41
|
-
.catch(() => {
|
|
42
|
-
setBackupCodesRemaining(0);
|
|
43
|
-
});
|
|
44
|
-
}, [backupCodesRemaining, api]);
|
|
45
|
-
const handleSubmit = async (values) => {
|
|
46
|
-
const result = await api.post('/user/backup-codes', {
|
|
47
|
-
...(values.password ? { password: values.password } : {}),
|
|
48
|
-
...(values.mnemonic ? { mnemonic: values.mnemonic } : {}),
|
|
49
|
-
});
|
|
50
|
-
return {
|
|
51
|
-
message: result.data.message,
|
|
52
|
-
backupCodes: result.data.backupCodes,
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
return (0, jsx_runtime_1.jsx)(BackupCodesForm_1.BackupCodesForm, { onSubmit: handleSubmit, backupCodesRemaining: backupCodesRemaining });
|
|
56
|
-
};
|
|
57
|
-
exports.BackupCodesWrapper = BackupCodesWrapper;
|
|
58
|
-
const ChangePasswordFormWrapper = () => {
|
|
59
|
-
const { changePassword } = (0, contexts_1.useAuth)();
|
|
60
|
-
const handleSubmit = async (values) => {
|
|
61
|
-
const result = await changePassword(values.currentPassword, values.newPassword);
|
|
62
|
-
if ('error' in result) {
|
|
63
|
-
throw new Error(result.error);
|
|
64
|
-
}
|
|
65
|
-
return result;
|
|
66
|
-
};
|
|
67
|
-
return (0, jsx_runtime_1.jsx)(ChangePasswordForm_1.ChangePasswordForm, { onSubmit: handleSubmit });
|
|
68
|
-
};
|
|
69
|
-
exports.ChangePasswordFormWrapper = ChangePasswordFormWrapper;
|
|
70
|
-
const LoginFormWrapper = () => {
|
|
71
|
-
const { directLogin, passwordLogin } = (0, contexts_1.useAuth)();
|
|
72
|
-
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
73
|
-
const handleSubmit = async (values) => {
|
|
74
|
-
const email = values.email && values.email.trim().length > 0 ? new ecies_lib_1.EmailString(values.email) : undefined;
|
|
75
|
-
const username = values.username && values.username.trim() ? values.username : undefined;
|
|
76
|
-
if (values.password) {
|
|
77
|
-
const result = await passwordLogin(new ecies_lib_1.SecureString(values.password), username, email);
|
|
78
|
-
if ('error' in result) {
|
|
79
|
-
throw new Error(result.error);
|
|
80
|
-
}
|
|
81
|
-
navigate('/dashboard');
|
|
82
|
-
}
|
|
83
|
-
else if (values.mnemonic) {
|
|
84
|
-
const result = await directLogin(new ecies_lib_1.SecureString(values.mnemonic), username, email);
|
|
85
|
-
if ('error' in result) {
|
|
86
|
-
throw new Error(result.error);
|
|
87
|
-
}
|
|
88
|
-
navigate('/dashboard');
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_NoPasswordOrMnemonicProvided);
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
return (0, jsx_runtime_1.jsx)(LoginForm_1.LoginForm, { onSubmit: handleSubmit });
|
|
95
|
-
};
|
|
96
|
-
exports.LoginFormWrapper = LoginFormWrapper;
|
|
97
|
-
const RegisterFormWrapper = () => {
|
|
98
|
-
const { register } = (0, contexts_1.useAuth)();
|
|
99
|
-
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
100
|
-
const handleSubmit = async (values, usePassword) => {
|
|
101
|
-
const result = await register(values.username, values.email, values.timezone || 'UTC', values.password);
|
|
102
|
-
if ('error' in result) {
|
|
103
|
-
throw new Error(result.error);
|
|
104
|
-
}
|
|
105
|
-
navigate('/verify-email');
|
|
106
|
-
return result;
|
|
107
|
-
};
|
|
108
|
-
return ((0, jsx_runtime_1.jsx)(RegisterForm_1.RegisterForm, { onSubmit: handleSubmit, timezones: ['UTC', 'America/New_York', 'America/Los_Angeles', 'Europe/London'], getInitialTimezone: () => Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC' }));
|
|
109
|
-
};
|
|
110
|
-
exports.RegisterFormWrapper = RegisterFormWrapper;
|
|
111
|
-
const LogoutPageWrapper = () => {
|
|
112
|
-
const { logout } = (0, contexts_1.useAuth)();
|
|
113
|
-
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
114
|
-
return (0, jsx_runtime_1.jsx)(LogoutPage_1.LogoutPage, { onLogout: logout, onNavigate: navigate });
|
|
115
|
-
};
|
|
116
|
-
exports.LogoutPageWrapper = LogoutPageWrapper;
|
|
117
|
-
const VerifyEmailPageWrapper = ({ baseUrl }) => {
|
|
118
|
-
const api = (0, services_1.createAuthenticatedApiClient)(baseUrl);
|
|
119
|
-
const searchParams = new URLSearchParams(window.location.search);
|
|
120
|
-
const token = searchParams.get('token');
|
|
121
|
-
const handleVerify = async (verificationToken) => {
|
|
122
|
-
try {
|
|
123
|
-
const result = await api.post('/verify-email', { token: verificationToken });
|
|
124
|
-
return { success: true, message: result.data.message };
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
return { success: false, message: error.response?.data?.message };
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
return (0, jsx_runtime_1.jsx)(VerifyEmailPage_1.VerifyEmailPage, { token: token, onVerify: handleVerify });
|
|
131
|
-
};
|
|
132
|
-
exports.VerifyEmailPageWrapper = VerifyEmailPageWrapper;
|
|
133
|
-
const UserSettingsFormWrapper = ({ baseUrl, languages }) => {
|
|
134
|
-
const { userData, setCurrencyCode, setLanguage } = (0, contexts_1.useAuth)();
|
|
135
|
-
const api = (0, services_1.createAuthenticatedApiClient)(baseUrl);
|
|
136
|
-
const handleSubmit = async (values) => {
|
|
137
|
-
try {
|
|
138
|
-
const result = await api.post('/user/settings', values);
|
|
139
|
-
if (values.currency) {
|
|
140
|
-
await setCurrencyCode(values.currency);
|
|
141
|
-
}
|
|
142
|
-
if (values.siteLanguage) {
|
|
143
|
-
await setLanguage(values.siteLanguage);
|
|
144
|
-
}
|
|
145
|
-
return { success: true, message: result.data.message };
|
|
146
|
-
}
|
|
147
|
-
catch (error) {
|
|
148
|
-
return { error: error.response?.data?.message || 'Failed to update settings' };
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
const initialValues = {
|
|
152
|
-
email: userData?.email || '',
|
|
153
|
-
timezone: userData?.timezone || 'UTC',
|
|
154
|
-
siteLanguage: userData?.siteLanguage || 'en-US',
|
|
155
|
-
currency: userData?.currency || 'USD',
|
|
156
|
-
darkMode: userData?.darkMode || false,
|
|
157
|
-
directChallenge: userData?.directChallenge || false,
|
|
158
|
-
};
|
|
159
|
-
return ((0, jsx_runtime_1.jsx)(UserSettingsForm_1.UserSettingsForm, { initialValues: initialValues, onSubmit: handleSubmit, languages: languages }));
|
|
160
|
-
};
|
|
161
|
-
exports.UserSettingsFormWrapper = UserSettingsFormWrapper;
|
|
4
|
+
// Re-export all wrapper components from their individual files
|
|
5
|
+
var BackupCodeLoginWrapper_1 = require("./BackupCodeLoginWrapper");
|
|
6
|
+
Object.defineProperty(exports, "BackupCodeLoginWrapper", { enumerable: true, get: function () { return BackupCodeLoginWrapper_1.BackupCodeLoginWrapper; } });
|
|
7
|
+
var BackupCodesWrapper_1 = require("./BackupCodesWrapper");
|
|
8
|
+
Object.defineProperty(exports, "BackupCodesWrapper", { enumerable: true, get: function () { return BackupCodesWrapper_1.BackupCodesWrapper; } });
|
|
9
|
+
var ChangePasswordFormWrapper_1 = require("./ChangePasswordFormWrapper");
|
|
10
|
+
Object.defineProperty(exports, "ChangePasswordFormWrapper", { enumerable: true, get: function () { return ChangePasswordFormWrapper_1.ChangePasswordFormWrapper; } });
|
|
11
|
+
var LoginFormWrapper_1 = require("./LoginFormWrapper");
|
|
12
|
+
Object.defineProperty(exports, "LoginFormWrapper", { enumerable: true, get: function () { return LoginFormWrapper_1.LoginFormWrapper; } });
|
|
13
|
+
var RegisterFormWrapper_1 = require("./RegisterFormWrapper");
|
|
14
|
+
Object.defineProperty(exports, "RegisterFormWrapper", { enumerable: true, get: function () { return RegisterFormWrapper_1.RegisterFormWrapper; } });
|
|
15
|
+
var LogoutPageWrapper_1 = require("./LogoutPageWrapper");
|
|
16
|
+
Object.defineProperty(exports, "LogoutPageWrapper", { enumerable: true, get: function () { return LogoutPageWrapper_1.LogoutPageWrapper; } });
|
|
17
|
+
var VerifyEmailPageWrapper_1 = require("./VerifyEmailPageWrapper");
|
|
18
|
+
Object.defineProperty(exports, "VerifyEmailPageWrapper", { enumerable: true, get: function () { return VerifyEmailPageWrapper_1.VerifyEmailPageWrapper; } });
|
|
19
|
+
var UserSettingsFormWrapper_1 = require("./UserSettingsFormWrapper");
|
|
20
|
+
Object.defineProperty(exports, "UserSettingsFormWrapper", { enumerable: true, get: function () { return UserSettingsFormWrapper_1.UserSettingsFormWrapper; } });
|