@digitaldefiance/express-suite-react-components 2.1.50 → 2.1.52

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 CHANGED
@@ -261,6 +261,14 @@ MIT © Digital Defiance
261
261
 
262
262
  ## ChangeLog
263
263
 
264
+ ### v2.1.52
265
+
266
+ - Export wrappers
267
+
268
+ ### v2.1.51
269
+
270
+ - Try to fix exports again
271
+
264
272
  ### v2.1.50
265
273
 
266
274
  - Fix PrivateRoute/UnAuthRoute
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/express-suite-react-components",
3
- "version": "2.1.50",
3
+ "version": "2.1.52",
4
4
  "description": "React MUI components for Digital Defiance Express Suite",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -3,6 +3,6 @@ interface PrivateRouteProps {
3
3
  children: ReactNode;
4
4
  redirectTo?: string;
5
5
  }
6
- declare const PrivateRoute: FC<PrivateRouteProps>;
6
+ export declare const PrivateRoute: FC<PrivateRouteProps>;
7
7
  export default PrivateRoute;
8
8
  //# sourceMappingURL=PrivateRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateRoute.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/PrivateRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAMlD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAcvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PrivateRoute.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/PrivateRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAMlD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAc9C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivateRoute = void 0;
3
4
  const jsx_runtime_1 = require("react/jsx-runtime");
4
5
  const react_1 = require("react");
5
6
  const react_router_dom_1 = require("react-router-dom");
@@ -18,4 +19,5 @@ const PrivateRoute = ({ children, redirectTo }) => {
18
19
  }
19
20
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
20
21
  };
21
- exports.default = PrivateRoute;
22
+ exports.PrivateRoute = PrivateRoute;
23
+ exports.default = exports.PrivateRoute;
@@ -4,4 +4,5 @@ export interface UnAuthRouteProps {
4
4
  redirectTo?: string;
5
5
  }
6
6
  export declare const UnAuthRoute: FC<UnAuthRouteProps>;
7
+ export default UnAuthRoute;
7
8
  //# sourceMappingURL=UnAuthRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnAuthRoute.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/UnAuthRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAiB5C,CAAC"}
1
+ {"version":3,"file":"UnAuthRoute.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/UnAuthRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAiB5C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -19,3 +19,4 @@ const UnAuthRoute = ({ children, redirectTo = '/dashboard', }) => {
19
19
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
20
20
  };
21
21
  exports.UnAuthRoute = UnAuthRoute;
22
+ exports.default = exports.UnAuthRoute;
@@ -1,4 +1,4 @@
1
- export * from './PrivateRoute';
2
- export * from './UnAuthRoute';
1
+ export { default as PrivateRoute } from './PrivateRoute';
2
+ export { default as UnAuthRoute } from './UnAuthRoute';
3
3
  export * from './Private';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,cAAc,WAAW,CAAC"}
package/src/auth/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnAuthRoute = exports.PrivateRoute = void 0;
3
4
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./PrivateRoute"), exports);
5
- tslib_1.__exportStar(require("./UnAuthRoute"), exports);
5
+ var PrivateRoute_1 = require("./PrivateRoute");
6
+ Object.defineProperty(exports, "PrivateRoute", { enumerable: true, get: function () { return tslib_1.__importDefault(PrivateRoute_1).default; } });
7
+ var UnAuthRoute_1 = require("./UnAuthRoute");
8
+ Object.defineProperty(exports, "UnAuthRoute", { enumerable: true, get: function () { return tslib_1.__importDefault(UnAuthRoute_1).default; } });
6
9
  tslib_1.__exportStar(require("./Private"), exports);
package/src/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export * from './hooks';
6
6
  export * from './interfaces';
7
7
  export * from './services';
8
8
  export * from './types';
9
+ export * from './wrappers';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-express-suite-react-components/src/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-express-suite-react-components/src/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
package/src/index.js CHANGED
@@ -10,3 +10,4 @@ tslib_1.__exportStar(require("./hooks"), exports);
10
10
  tslib_1.__exportStar(require("./interfaces"), exports);
11
11
  tslib_1.__exportStar(require("./services"), exports);
12
12
  tslib_1.__exportStar(require("./types"), exports);
13
+ tslib_1.__exportStar(require("./wrappers"), exports);
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ export declare const BackupCodeLoginWrapper: FC;
3
+ export interface BackupCodesWrapperProps {
4
+ baseUrl: string;
5
+ }
6
+ export declare const BackupCodesWrapper: FC<BackupCodesWrapperProps>;
7
+ export declare const ChangePasswordFormWrapper: FC;
8
+ export declare const LoginFormWrapper: FC;
9
+ export declare const RegisterFormWrapper: FC;
10
+ export declare const LogoutPageWrapper: FC;
11
+ export interface VerifyEmailPageWrapperProps {
12
+ baseUrl: string;
13
+ }
14
+ export declare const VerifyEmailPageWrapper: FC<VerifyEmailPageWrapperProps>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/wrappers/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAaxD,eAAO,MAAM,sBAAsB,EAAE,EAWpC,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAoC1D,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,EAevC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EA6B9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAyBjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAK/B,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAelE,CAAC"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VerifyEmailPageWrapper = exports.LogoutPageWrapper = exports.RegisterFormWrapper = exports.LoginFormWrapper = exports.ChangePasswordFormWrapper = exports.BackupCodesWrapper = exports.BackupCodeLoginWrapper = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_router_dom_1 = require("react-router-dom");
7
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
8
+ const BackupCodeLoginForm_1 = require("../components/BackupCodeLoginForm");
9
+ const BackupCodesForm_1 = require("../components/BackupCodesForm");
10
+ const ChangePasswordForm_1 = require("../components/ChangePasswordForm");
11
+ const LoginForm_1 = require("../components/LoginForm");
12
+ const RegisterForm_1 = require("../components/RegisterForm");
13
+ const LogoutPage_1 = require("../components/LogoutPage");
14
+ const VerifyEmailPage_1 = require("../components/VerifyEmailPage");
15
+ const contexts_1 = require("../contexts");
16
+ const services_1 = require("../services");
17
+ const BackupCodeLoginWrapper = () => {
18
+ const { backupCodeLogin, isAuthenticated } = (0, contexts_1.useAuth)();
19
+ const navigate = (0, react_router_dom_1.useNavigate)();
20
+ return ((0, jsx_runtime_1.jsx)(BackupCodeLoginForm_1.BackupCodeLoginForm, { onSubmit: backupCodeLogin, onNavigate: navigate, isAuthenticated: isAuthenticated }));
21
+ };
22
+ exports.BackupCodeLoginWrapper = BackupCodeLoginWrapper;
23
+ const BackupCodesWrapper = ({ baseUrl }) => {
24
+ const [backupCodesRemaining, setBackupCodesRemaining] = (0, react_1.useState)((0, react_router_dom_1.useLocation)().state?.codeCount ?? null);
25
+ const requestedOnMountRef = (0, react_1.useRef)(false);
26
+ const api = (0, services_1.createAuthenticatedApiClient)(baseUrl);
27
+ (0, react_1.useEffect)(() => {
28
+ if (requestedOnMountRef.current)
29
+ return;
30
+ if (backupCodesRemaining !== null)
31
+ return;
32
+ requestedOnMountRef.current = true;
33
+ api.get('/user/backup-codes')
34
+ .then((result) => {
35
+ if (result?.data?.codeCount) {
36
+ setBackupCodesRemaining(result.data.codeCount);
37
+ }
38
+ })
39
+ .catch(() => {
40
+ setBackupCodesRemaining(0);
41
+ });
42
+ }, [backupCodesRemaining, api]);
43
+ const handleSubmit = async (values) => {
44
+ const result = await api.post('/user/backup-codes', {
45
+ ...(values.password ? { password: values.password } : {}),
46
+ ...(values.mnemonic ? { mnemonic: values.mnemonic } : {}),
47
+ });
48
+ return {
49
+ message: result.data.message,
50
+ backupCodes: result.data.backupCodes,
51
+ };
52
+ };
53
+ return (0, jsx_runtime_1.jsx)(BackupCodesForm_1.BackupCodesForm, { onSubmit: handleSubmit, backupCodesRemaining: backupCodesRemaining });
54
+ };
55
+ exports.BackupCodesWrapper = BackupCodesWrapper;
56
+ const ChangePasswordFormWrapper = () => {
57
+ const { changePassword } = (0, contexts_1.useAuth)();
58
+ const handleSubmit = async (values) => {
59
+ const result = await changePassword(values.currentPassword, values.newPassword);
60
+ if ('error' in result) {
61
+ throw new Error(result.error);
62
+ }
63
+ return result;
64
+ };
65
+ return (0, jsx_runtime_1.jsx)(ChangePasswordForm_1.ChangePasswordForm, { onSubmit: handleSubmit });
66
+ };
67
+ exports.ChangePasswordFormWrapper = ChangePasswordFormWrapper;
68
+ const LoginFormWrapper = () => {
69
+ const { directLogin, passwordLogin } = (0, contexts_1.useAuth)();
70
+ const navigate = (0, react_router_dom_1.useNavigate)();
71
+ const handleSubmit = async (values) => {
72
+ if (values.password) {
73
+ const result = await passwordLogin(new ecies_lib_1.SecureString(values.password), values.username, values.email ? new ecies_lib_1.EmailString(values.email) : undefined);
74
+ if ('error' in result) {
75
+ throw new Error(result.error);
76
+ }
77
+ navigate('/dashboard');
78
+ }
79
+ else if (values.mnemonic) {
80
+ const result = await directLogin(new ecies_lib_1.SecureString(values.mnemonic), values.username, values.email ? new ecies_lib_1.EmailString(values.email) : undefined);
81
+ if ('error' in result) {
82
+ throw new Error(result.error);
83
+ }
84
+ navigate('/dashboard');
85
+ }
86
+ };
87
+ return (0, jsx_runtime_1.jsx)(LoginForm_1.LoginForm, { onSubmit: handleSubmit });
88
+ };
89
+ exports.LoginFormWrapper = LoginFormWrapper;
90
+ const RegisterFormWrapper = () => {
91
+ const { register } = (0, contexts_1.useAuth)();
92
+ const navigate = (0, react_router_dom_1.useNavigate)();
93
+ const handleSubmit = async (values, usePassword) => {
94
+ const result = await register(values.username, values.email, values.timezone || 'UTC', values.password);
95
+ if ('error' in result) {
96
+ throw new Error(result.error);
97
+ }
98
+ navigate('/verify-email');
99
+ return result;
100
+ };
101
+ 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' }));
102
+ };
103
+ exports.RegisterFormWrapper = RegisterFormWrapper;
104
+ const LogoutPageWrapper = () => {
105
+ const { logout } = (0, contexts_1.useAuth)();
106
+ const navigate = (0, react_router_dom_1.useNavigate)();
107
+ return (0, jsx_runtime_1.jsx)(LogoutPage_1.LogoutPage, { onLogout: logout, onNavigate: navigate });
108
+ };
109
+ exports.LogoutPageWrapper = LogoutPageWrapper;
110
+ const VerifyEmailPageWrapper = ({ baseUrl }) => {
111
+ const api = (0, services_1.createAuthenticatedApiClient)(baseUrl);
112
+ const searchParams = new URLSearchParams(window.location.search);
113
+ const token = searchParams.get('token');
114
+ const handleVerify = async (verificationToken) => {
115
+ try {
116
+ const result = await api.post('/verify-email', { token: verificationToken });
117
+ return { success: true, message: result.data.message };
118
+ }
119
+ catch (error) {
120
+ return { success: false, message: error.response?.data?.message };
121
+ }
122
+ };
123
+ return (0, jsx_runtime_1.jsx)(VerifyEmailPage_1.VerifyEmailPage, { token: token, onVerify: handleVerify });
124
+ };
125
+ exports.VerifyEmailPageWrapper = VerifyEmailPageWrapper;