@selfcommunity/react-ui 0.4.2-alpha.2 → 0.5.0-alpha.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/lib/cjs/components/AccountRecover/AccountRecover.d.ts +14 -8
- package/lib/cjs/components/AccountRecover/AccountRecover.d.ts.map +1 -1
- package/lib/cjs/components/AccountRecover/AccountRecover.js +34 -13
- package/lib/cjs/components/AccountRecover/AccountRecover.js.map +1 -1
- package/lib/cjs/components/AccountReset/AccountReset.d.ts +66 -0
- package/lib/cjs/components/AccountReset/AccountReset.d.ts.map +1 -0
- package/lib/cjs/components/{AccountSignUp/AccountSignUp.js → AccountReset/AccountReset.js} +55 -33
- package/lib/cjs/components/AccountReset/AccountReset.js.map +1 -0
- package/lib/cjs/components/AccountReset/index.d.ts +4 -0
- package/lib/cjs/components/AccountReset/index.d.ts.map +1 -0
- package/lib/cjs/components/{AccountSignUp → AccountReset}/index.js +2 -2
- package/lib/cjs/components/AccountReset/index.js.map +1 -0
- package/lib/cjs/components/AccountVerify/AccountVerify.d.ts +53 -0
- package/lib/cjs/components/AccountVerify/AccountVerify.d.ts.map +1 -0
- package/lib/cjs/components/AccountVerify/AccountVerify.js +124 -0
- package/lib/cjs/components/AccountVerify/AccountVerify.js.map +1 -0
- package/lib/cjs/components/AccountVerify/index.d.ts +4 -0
- package/lib/cjs/components/{AccountSignIn → AccountVerify}/index.d.ts.map +1 -1
- package/lib/cjs/components/{AccountSignIn → AccountVerify}/index.js +2 -2
- package/lib/cjs/components/AccountVerify/index.js.map +1 -0
- package/lib/cjs/index.d.ts +9 -9
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +10 -10
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/shared/PasswordTextField/index.js +1 -1
- package/lib/cjs/shared/PasswordTextField/index.js.map +1 -1
- package/lib/esm/components/AccountRecover/AccountRecover.d.ts +14 -8
- package/lib/esm/components/AccountRecover/AccountRecover.d.ts.map +1 -1
- package/lib/esm/components/AccountRecover/AccountRecover.js +37 -16
- package/lib/esm/components/AccountRecover/AccountRecover.js.map +1 -1
- package/lib/esm/components/AccountReset/AccountReset.d.ts +66 -0
- package/lib/esm/components/AccountReset/AccountReset.d.ts.map +1 -0
- package/lib/esm/components/AccountReset/AccountReset.js +126 -0
- package/lib/esm/components/AccountReset/AccountReset.js.map +1 -0
- package/lib/esm/components/AccountReset/index.d.ts +4 -0
- package/lib/esm/components/AccountReset/index.d.ts.map +1 -0
- package/lib/esm/components/AccountReset/index.js +3 -0
- package/lib/esm/components/AccountReset/index.js.map +1 -0
- package/lib/esm/components/AccountVerify/AccountVerify.d.ts +53 -0
- package/lib/esm/components/AccountVerify/AccountVerify.d.ts.map +1 -0
- package/lib/esm/components/AccountVerify/AccountVerify.js +95 -0
- package/lib/esm/components/AccountVerify/AccountVerify.js.map +1 -0
- package/lib/esm/components/AccountVerify/index.d.ts +4 -0
- package/lib/{cjs/components/AccountSignUp → esm/components/AccountVerify}/index.d.ts.map +1 -1
- package/lib/esm/components/AccountVerify/index.js +3 -0
- package/lib/esm/components/AccountVerify/index.js.map +1 -0
- package/lib/esm/index.d.ts +9 -9
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +7 -7
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/shared/PasswordTextField/index.js +1 -1
- package/lib/esm/shared/PasswordTextField/index.js.map +1 -1
- package/lib/umd/react-ui.js +16 -16
- package/lib/umd/react-ui.js.map +1 -1
- package/package.json +7 -7
- package/lib/cjs/components/AccountSignIn/AccountSignIn.d.ts +0 -64
- package/lib/cjs/components/AccountSignIn/AccountSignIn.d.ts.map +0 -1
- package/lib/cjs/components/AccountSignIn/AccountSignIn.js +0 -151
- package/lib/cjs/components/AccountSignIn/AccountSignIn.js.map +0 -1
- package/lib/cjs/components/AccountSignIn/index.d.ts +0 -4
- package/lib/cjs/components/AccountSignIn/index.js.map +0 -1
- package/lib/cjs/components/AccountSignUp/AccountSignUp.d.ts +0 -56
- package/lib/cjs/components/AccountSignUp/AccountSignUp.d.ts.map +0 -1
- package/lib/cjs/components/AccountSignUp/AccountSignUp.js.map +0 -1
- package/lib/cjs/components/AccountSignUp/index.d.ts +0 -4
- package/lib/cjs/components/AccountSignUp/index.js.map +0 -1
- package/lib/esm/components/AccountSignIn/AccountSignIn.d.ts +0 -64
- package/lib/esm/components/AccountSignIn/AccountSignIn.d.ts.map +0 -1
- package/lib/esm/components/AccountSignIn/AccountSignIn.js +0 -122
- package/lib/esm/components/AccountSignIn/AccountSignIn.js.map +0 -1
- package/lib/esm/components/AccountSignIn/index.d.ts +0 -4
- package/lib/esm/components/AccountSignIn/index.d.ts.map +0 -1
- package/lib/esm/components/AccountSignIn/index.js +0 -3
- package/lib/esm/components/AccountSignIn/index.js.map +0 -1
- package/lib/esm/components/AccountSignUp/AccountSignUp.d.ts +0 -56
- package/lib/esm/components/AccountSignUp/AccountSignUp.d.ts.map +0 -1
- package/lib/esm/components/AccountSignUp/AccountSignUp.js +0 -104
- package/lib/esm/components/AccountSignUp/AccountSignUp.js.map +0 -1
- package/lib/esm/components/AccountSignUp/index.d.ts +0 -4
- package/lib/esm/components/AccountSignUp/index.d.ts.map +0 -1
- package/lib/esm/components/AccountSignUp/index.js +0 -3
- package/lib/esm/components/AccountSignUp/index.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { ButtonProps, TextFieldProps } from '@mui/material';
|
|
3
3
|
export interface AccountRecoverProps {
|
|
4
4
|
/**
|
|
@@ -6,11 +6,6 @@ export interface AccountRecoverProps {
|
|
|
6
6
|
* @default null
|
|
7
7
|
*/
|
|
8
8
|
className?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Callback triggered on success sign in
|
|
11
|
-
* @default null
|
|
12
|
-
*/
|
|
13
|
-
onSuccess?: (user: SCUserType) => void;
|
|
14
9
|
/**
|
|
15
10
|
* Default props to TextField Input
|
|
16
11
|
* @default {variant: 'outlined'}
|
|
@@ -21,18 +16,27 @@ export interface AccountRecoverProps {
|
|
|
21
16
|
* @default {variant: 'contained'}
|
|
22
17
|
*/
|
|
23
18
|
ButtonProps?: ButtonProps;
|
|
19
|
+
/**
|
|
20
|
+
* Callback triggered on success sign in
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
onSuccess?: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Action component to display after success message
|
|
26
|
+
* */
|
|
27
|
+
successAction?: React.ReactNode;
|
|
24
28
|
/**
|
|
25
29
|
* Other props
|
|
26
30
|
*/
|
|
27
31
|
[p: string]: any;
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
|
-
* > API documentation for the Community-JS
|
|
34
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
31
35
|
|
|
32
36
|
#### Import
|
|
33
37
|
|
|
34
38
|
```jsx
|
|
35
|
-
import {
|
|
39
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
36
40
|
```
|
|
37
41
|
|
|
38
42
|
#### Component Name
|
|
@@ -45,7 +49,9 @@ export interface AccountRecoverProps {
|
|
|
45
49
|
|Rule Name|Global class|Description|
|
|
46
50
|
|---|---|---|
|
|
47
51
|
|root|.SCAccountRecover-root|Styles applied to the root element.|
|
|
52
|
+
|form|.SCAccountRecover-form|Styles applied to the form element.|
|
|
48
53
|
|email|.SCAccountRecover-email|Styles applied to the email TextField.|
|
|
54
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
49
55
|
|
|
50
56
|
*
|
|
51
57
|
* @param inProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountRecover.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountRecover/AccountRecover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AccountRecover.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountRecover/AccountRecover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAc,WAAW,EAAE,cAAc,EAAa,MAAM,eAAe,CAAC;AA6BnF,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;SAEK;IACL,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAiFhF"}
|
|
@@ -45,30 +45,33 @@ const classnames_1 = __importDefault(require("classnames"));
|
|
|
45
45
|
const react_intl_1 = require("react-intl");
|
|
46
46
|
const EmailTextField_1 = __importDefault(require("../../shared/EmailTextField"));
|
|
47
47
|
const system_1 = require("@mui/system");
|
|
48
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
48
49
|
const PREFIX = 'SCAccountRecover';
|
|
49
50
|
const classes = {
|
|
50
51
|
root: `${PREFIX}-root`,
|
|
51
|
-
|
|
52
|
+
form: `${PREFIX}-form`,
|
|
53
|
+
email: `${PREFIX}-email`,
|
|
54
|
+
success: `${PREFIX}-success`
|
|
52
55
|
};
|
|
53
|
-
const Root = (0, styles_1.styled)(
|
|
56
|
+
const Root = (0, styles_1.styled)(material_1.Box, {
|
|
54
57
|
name: PREFIX,
|
|
55
58
|
slot: 'Root',
|
|
56
59
|
overridesResolver: (props, styles) => styles.root
|
|
57
60
|
})(({ theme }) => ({
|
|
58
|
-
[
|
|
61
|
+
[`& .${classes.form} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
|
|
59
62
|
margin: theme.spacing(1, 0, 1, 0)
|
|
60
63
|
},
|
|
61
|
-
[
|
|
64
|
+
[`& .${classes.form} .MuiTypography-root`]: {
|
|
62
65
|
margin: theme.spacing(1, 0, 1, 0)
|
|
63
66
|
}
|
|
64
67
|
}));
|
|
65
68
|
/**
|
|
66
|
-
* > API documentation for the Community-JS
|
|
69
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
67
70
|
|
|
68
71
|
#### Import
|
|
69
72
|
|
|
70
73
|
```jsx
|
|
71
|
-
import {
|
|
74
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
72
75
|
```
|
|
73
76
|
|
|
74
77
|
#### Component Name
|
|
@@ -81,7 +84,9 @@ const Root = (0, styles_1.styled)('form', {
|
|
|
81
84
|
|Rule Name|Global class|Description|
|
|
82
85
|
|---|---|---|
|
|
83
86
|
|root|.SCAccountRecover-root|Styles applied to the root element.|
|
|
87
|
+
|form|.SCAccountRecover-form|Styles applied to the form element.|
|
|
84
88
|
|email|.SCAccountRecover-email|Styles applied to the email TextField.|
|
|
89
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
85
90
|
|
|
86
91
|
*
|
|
87
92
|
* @param inProps
|
|
@@ -92,21 +97,35 @@ function AccountRecover(inProps) {
|
|
|
92
97
|
name: PREFIX
|
|
93
98
|
});
|
|
94
99
|
// PROPS
|
|
95
|
-
const { className, onSuccess = null, TextFieldProps = { variant: 'outlined', fullWidth: true }, ButtonProps = { variant: 'contained' } } = props, rest = __rest(props, ["className", "onSuccess", "TextFieldProps", "ButtonProps"]);
|
|
100
|
+
const { className, onSuccess = null, TextFieldProps = { variant: 'outlined', fullWidth: true }, ButtonProps = { variant: 'contained' }, successAction = null } = props, rest = __rest(props, ["className", "onSuccess", "TextFieldProps", "ButtonProps", "successAction"]);
|
|
96
101
|
// STATE
|
|
97
102
|
const [email, setEmail] = (0, react_1.useState)('');
|
|
98
103
|
const [emailError, setEmailError] = (0, react_1.useState)('');
|
|
99
104
|
const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
|
|
105
|
+
const [isSucceed, setIsSucceed] = (0, react_1.useState)(false);
|
|
100
106
|
// CONTEXT
|
|
101
107
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
102
|
-
const
|
|
108
|
+
const intl = (0, react_intl_1.useIntl)();
|
|
103
109
|
// HANDLERS
|
|
110
|
+
const handleChange = (event) => {
|
|
111
|
+
setEmail(event.target.value);
|
|
112
|
+
};
|
|
104
113
|
const handleSubmit = (event) => {
|
|
105
114
|
event.preventDefault();
|
|
106
115
|
event.stopPropagation();
|
|
107
116
|
setIsSubmitting(true);
|
|
108
|
-
|
|
109
|
-
|
|
117
|
+
api_services_1.AccountService.recover({ email })
|
|
118
|
+
.then(() => {
|
|
119
|
+
setIsSucceed(true);
|
|
120
|
+
onSuccess && onSuccess();
|
|
121
|
+
})
|
|
122
|
+
.catch((error) => {
|
|
123
|
+
const _error = (0, api_services_1.formatHttpError)(error);
|
|
124
|
+
if (_error.emailError) {
|
|
125
|
+
setEmailError(_error.emailError.error);
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
.then(() => setIsSubmitting(false));
|
|
110
129
|
return false;
|
|
111
130
|
};
|
|
112
131
|
if (scUserContext.user !== null) {
|
|
@@ -114,10 +133,12 @@ function AccountRecover(inProps) {
|
|
|
114
133
|
return null;
|
|
115
134
|
}
|
|
116
135
|
// RENDER
|
|
117
|
-
return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest,
|
|
118
|
-
react_1.default.createElement(
|
|
136
|
+
return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest), isSucceed ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
137
|
+
react_1.default.createElement(material_1.Typography, { className: classes.success }, intl.formatMessage({ id: 'ui.accountRecover.success', defaultMessage: 'ui.accountRecover.success' }, { email, bold: (chunks) => react_1.default.createElement("b", null, chunks) })),
|
|
138
|
+
successAction)) : (react_1.default.createElement("form", { className: classes.form, onSubmit: handleSubmit },
|
|
139
|
+
react_1.default.createElement(EmailTextField_1.default, Object.assign({ className: classes.email, disabled: isSubmitting, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountRecover.email.label", defaultMessage: "ui.accountRecover.email.label" }) }, TextFieldProps, { value: email, onChange: handleChange, error: Boolean(emailError), helperText: emailError })),
|
|
119
140
|
react_1.default.createElement(material_1.Button, Object.assign({ type: "submit" }, ButtonProps, { disabled: !email || isSubmitting }),
|
|
120
|
-
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountRecover.submit", defaultMessage: "ui.accountRecover.submit" }))));
|
|
141
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountRecover.submit", defaultMessage: "ui.accountRecover.submit" }))))));
|
|
121
142
|
}
|
|
122
143
|
exports.default = AccountRecover;
|
|
123
144
|
//# sourceMappingURL=AccountRecover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountRecover.js","sourceRoot":"","sources":["../../../../src/components/AccountRecover/AccountRecover.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AACtC,iDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"AccountRecover.js","sourceRoot":"","sources":["../../../../src/components/AccountRecover/AccountRecover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps, TextFieldProps } from '@mui/material';
|
|
3
|
+
export interface AccountResetProps {
|
|
4
|
+
/**
|
|
5
|
+
* Overrides or extends the styles applied to the component.
|
|
6
|
+
* @default null
|
|
7
|
+
*/
|
|
8
|
+
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Default props to TextField Input
|
|
11
|
+
* @default {variant: 'outlined'}
|
|
12
|
+
*/
|
|
13
|
+
TextFieldProps?: TextFieldProps;
|
|
14
|
+
/**
|
|
15
|
+
* Default props to submit button Input
|
|
16
|
+
* @default {variant: 'contained'}
|
|
17
|
+
*/
|
|
18
|
+
ButtonProps?: ButtonProps;
|
|
19
|
+
/**
|
|
20
|
+
* Validation code sent by email to the user
|
|
21
|
+
* @default empty string
|
|
22
|
+
*/
|
|
23
|
+
validationCode: string;
|
|
24
|
+
/**
|
|
25
|
+
* Callback triggered on success sign in
|
|
26
|
+
* @default null
|
|
27
|
+
*/
|
|
28
|
+
onSuccess?: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Action component to display after success message
|
|
31
|
+
* */
|
|
32
|
+
successAction?: React.ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Other props
|
|
35
|
+
*/
|
|
36
|
+
[p: string]: any;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
40
|
+
|
|
41
|
+
#### Import
|
|
42
|
+
|
|
43
|
+
```jsx
|
|
44
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Component Name
|
|
48
|
+
|
|
49
|
+
The name `SCAccountReset` can be used when providing style overrides in the theme.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
#### CSS
|
|
53
|
+
|
|
54
|
+
|Rule Name|Global class|Description|
|
|
55
|
+
|---|---|---|
|
|
56
|
+
|root|.SCAccountReset-root|Styles applied to the root element.|
|
|
57
|
+
|form|.SCAccountReset-form|Styles applied to the form element.|
|
|
58
|
+
|email|.SCAccountReset-password|Styles applied to the password TextField.|
|
|
59
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
60
|
+
|error|.SCAccountRecover-error|Styles applied to the error Typography.|
|
|
61
|
+
|
|
62
|
+
*
|
|
63
|
+
* @param inProps
|
|
64
|
+
*/
|
|
65
|
+
export default function AccountReset(inProps: AccountResetProps): JSX.Element;
|
|
66
|
+
//# sourceMappingURL=AccountReset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountReset.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountReset/AccountReset.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAc,WAAW,EAAE,cAAc,EAAa,MAAM,eAAe,CAAC;AA8BnF,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;SAEK;IACL,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsG5E"}
|
|
@@ -43,78 +43,95 @@ const react_core_1 = require("@selfcommunity/react-core");
|
|
|
43
43
|
const material_1 = require("@mui/material");
|
|
44
44
|
const classnames_1 = __importDefault(require("classnames"));
|
|
45
45
|
const react_intl_1 = require("react-intl");
|
|
46
|
-
const PasswordTextField_1 = __importDefault(require("../../shared/PasswordTextField"));
|
|
47
|
-
const EmailTextField_1 = __importDefault(require("../../shared/EmailTextField"));
|
|
48
|
-
const UsernameTextField_1 = __importDefault(require("../../shared/UsernameTextField"));
|
|
49
46
|
const system_1 = require("@mui/system");
|
|
50
|
-
const
|
|
47
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
48
|
+
const PasswordTextField_1 = __importDefault(require("../../shared/PasswordTextField"));
|
|
49
|
+
const PREFIX = 'SCAccountReset';
|
|
51
50
|
const classes = {
|
|
52
51
|
root: `${PREFIX}-root`,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
form: `${PREFIX}-form`,
|
|
53
|
+
password: `${PREFIX}-password`,
|
|
54
|
+
success: `${PREFIX}-success`,
|
|
55
|
+
error: `${PREFIX}-error`
|
|
56
56
|
};
|
|
57
|
-
const Root = (0, styles_1.styled)(
|
|
57
|
+
const Root = (0, styles_1.styled)(material_1.Box, {
|
|
58
58
|
name: PREFIX,
|
|
59
59
|
slot: 'Root',
|
|
60
60
|
overridesResolver: (props, styles) => styles.root
|
|
61
61
|
})(({ theme }) => ({
|
|
62
|
-
[
|
|
62
|
+
[`& .${classes.form} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
|
|
63
63
|
margin: theme.spacing(1, 0, 1, 0)
|
|
64
64
|
},
|
|
65
|
-
[
|
|
65
|
+
[`& .${classes.form} .MuiTypography-root`]: {
|
|
66
66
|
margin: theme.spacing(1, 0, 1, 0)
|
|
67
67
|
}
|
|
68
68
|
}));
|
|
69
69
|
/**
|
|
70
|
-
* > API documentation for the Community-JS
|
|
70
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
71
71
|
|
|
72
72
|
#### Import
|
|
73
73
|
|
|
74
74
|
```jsx
|
|
75
|
-
import {
|
|
75
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
#### Component Name
|
|
79
79
|
|
|
80
|
-
The name `
|
|
80
|
+
The name `SCAccountReset` can be used when providing style overrides in the theme.
|
|
81
81
|
|
|
82
82
|
|
|
83
83
|
#### CSS
|
|
84
84
|
|
|
85
85
|
|Rule Name|Global class|Description|
|
|
86
86
|
|---|---|---|
|
|
87
|
-
|root|.
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
87
|
+
|root|.SCAccountReset-root|Styles applied to the root element.|
|
|
88
|
+
|form|.SCAccountReset-form|Styles applied to the form element.|
|
|
89
|
+
|email|.SCAccountReset-password|Styles applied to the password TextField.|
|
|
90
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
91
|
+
|error|.SCAccountRecover-error|Styles applied to the error Typography.|
|
|
91
92
|
|
|
92
93
|
*
|
|
93
94
|
* @param inProps
|
|
94
95
|
*/
|
|
95
|
-
function
|
|
96
|
+
function AccountReset(inProps) {
|
|
96
97
|
const props = (0, system_1.useThemeProps)({
|
|
97
98
|
props: inProps,
|
|
98
99
|
name: PREFIX
|
|
99
100
|
});
|
|
100
101
|
// PROPS
|
|
101
|
-
const { className, onSuccess = null, TextFieldProps = { variant: 'outlined', fullWidth: true }, ButtonProps = { variant: 'contained' } } = props, rest = __rest(props, ["className", "onSuccess", "TextFieldProps", "ButtonProps"]);
|
|
102
|
+
const { className, onSuccess = null, TextFieldProps = { variant: 'outlined', fullWidth: true }, ButtonProps = { variant: 'contained' }, validationCode, successAction = null } = props, rest = __rest(props, ["className", "onSuccess", "TextFieldProps", "ButtonProps", "validationCode", "successAction"]);
|
|
102
103
|
// STATE
|
|
103
|
-
const [email, setEmail] = (0, react_1.useState)('');
|
|
104
|
-
const [emailError, setEmailError] = (0, react_1.useState)(null);
|
|
105
|
-
const [username, setUsername] = (0, react_1.useState)('');
|
|
106
|
-
const [usernameError, setUsernameError] = (0, react_1.useState)(null);
|
|
107
104
|
const [password, setPassword] = (0, react_1.useState)('');
|
|
105
|
+
const [passwordError, setPasswordError] = (0, react_1.useState)('');
|
|
106
|
+
const [validationCodeError, setValidationCodeError] = (0, react_1.useState)('');
|
|
108
107
|
const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
|
|
108
|
+
const [isSucceed, setIsSucceed] = (0, react_1.useState)(false);
|
|
109
109
|
// CONTEXT
|
|
110
110
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
111
|
+
const intl = (0, react_intl_1.useIntl)();
|
|
111
112
|
// HANDLERS
|
|
113
|
+
const handleChange = (event) => {
|
|
114
|
+
setPassword(event.target.value);
|
|
115
|
+
};
|
|
112
116
|
const handleSubmit = (event) => {
|
|
113
117
|
event.preventDefault();
|
|
114
118
|
event.stopPropagation();
|
|
115
119
|
setIsSubmitting(true);
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
api_services_1.AccountService.reset({ validation_code: validationCode, password })
|
|
121
|
+
.then((res) => {
|
|
122
|
+
setIsSucceed(true);
|
|
123
|
+
onSuccess && onSuccess();
|
|
124
|
+
})
|
|
125
|
+
.catch((error) => {
|
|
126
|
+
const _error = (0, api_services_1.formatHttpError)(error);
|
|
127
|
+
if (_error.passwordError) {
|
|
128
|
+
setPasswordError(_error.passwordError.error);
|
|
129
|
+
}
|
|
130
|
+
if (_error.validationCodeError) {
|
|
131
|
+
setValidationCodeError(_error.validationCodeError.error);
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
.then(() => setIsSubmitting(false));
|
|
118
135
|
return false;
|
|
119
136
|
};
|
|
120
137
|
if (scUserContext.user !== null) {
|
|
@@ -122,12 +139,17 @@ function AccountSignUp(inProps) {
|
|
|
122
139
|
return null;
|
|
123
140
|
}
|
|
124
141
|
// RENDER
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
142
|
+
if (isSucceed) {
|
|
143
|
+
return (react_1.default.createElement(material_1.Typography, null,
|
|
144
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountReset.success", defaultMessage: "ui.accountReset.success" })));
|
|
145
|
+
}
|
|
146
|
+
return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest), isSucceed ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
147
|
+
react_1.default.createElement(material_1.Typography, { className: classes.success }, intl.formatMessage({ id: 'ui.accountReset.success', defaultMessage: 'ui.accountReset.success' })),
|
|
148
|
+
successAction)) : validationCodeError ? (react_1.default.createElement(material_1.Typography, { className: classes.error },
|
|
149
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountReset.code.error", defaultMessage: "ui.accountReset.code.error" }))) : (react_1.default.createElement("form", { className: classes.form, onSubmit: handleSubmit },
|
|
150
|
+
react_1.default.createElement(PasswordTextField_1.default, Object.assign({ className: classes.password, disabled: isSubmitting, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountReset.password.label", defaultMessage: "ui.accountReset.password.label" }) }, TextFieldProps, { value: password, onChange: handleChange, error: Boolean(passwordError), helperText: passwordError })),
|
|
151
|
+
react_1.default.createElement(material_1.Button, Object.assign({ type: "submit" }, ButtonProps, { disabled: !password || isSubmitting }),
|
|
152
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountReset.submit", defaultMessage: "ui.accountReset.submit" }))))));
|
|
131
153
|
}
|
|
132
|
-
exports.default =
|
|
133
|
-
//# sourceMappingURL=
|
|
154
|
+
exports.default = AccountReset;
|
|
155
|
+
//# sourceMappingURL=AccountReset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountReset.js","sourceRoot":"","sources":["../../../../src/components/AccountReset/AccountReset.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountReset/index.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE/D,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAC,CAAC"}
|
|
@@ -3,6 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
exports.default =
|
|
6
|
+
const AccountReset_1 = __importDefault(require("./AccountReset"));
|
|
7
|
+
exports.default = AccountReset_1.default;
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/AccountReset/index.tsx"],"names":[],"mappings":";;;;;AAAA,kEAA+D;AAE/D,kBAAe,sBAAY,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface AccountVerifyProps {
|
|
3
|
+
/**
|
|
4
|
+
* Overrides or extends the styles applied to the component.
|
|
5
|
+
* @default null
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Validation code sent by email to the user
|
|
10
|
+
* @default empty string
|
|
11
|
+
*/
|
|
12
|
+
validationCode: string;
|
|
13
|
+
/**
|
|
14
|
+
* Callback triggered on success sign in
|
|
15
|
+
* @default null
|
|
16
|
+
*/
|
|
17
|
+
onSuccess?: () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Action component to display after success message
|
|
20
|
+
* */
|
|
21
|
+
successAction?: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Other props
|
|
24
|
+
*/
|
|
25
|
+
[p: string]: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
29
|
+
|
|
30
|
+
#### Import
|
|
31
|
+
|
|
32
|
+
```jsx
|
|
33
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Component Name
|
|
37
|
+
|
|
38
|
+
The name `SCAccountVerify` can be used when providing style overrides in the theme.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
#### CSS
|
|
42
|
+
|
|
43
|
+
|Rule Name|Global class|Description|
|
|
44
|
+
|---|---|---|
|
|
45
|
+
|root|.SCAccountVerify-root|Styles applied to the root element.|
|
|
46
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
47
|
+
|error|.SCAccountRecover-error|Styles applied to the error Typography.|
|
|
48
|
+
|
|
49
|
+
*
|
|
50
|
+
* @param inProps
|
|
51
|
+
*/
|
|
52
|
+
export default function AccountVerify(inProps: AccountVerifyProps): JSX.Element;
|
|
53
|
+
//# sourceMappingURL=AccountVerify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountVerify.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountVerify/AccountVerify.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AA8BjD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;SAEK;IACL,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAiD9E"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
const react_1 = __importStar(require("react"));
|
|
41
|
+
const styles_1 = require("@mui/material/styles");
|
|
42
|
+
const react_core_1 = require("@selfcommunity/react-core");
|
|
43
|
+
const material_1 = require("@mui/material");
|
|
44
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
45
|
+
const system_1 = require("@mui/system");
|
|
46
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
47
|
+
const react_intl_1 = require("react-intl");
|
|
48
|
+
const PREFIX = 'SCAccountVerify';
|
|
49
|
+
const classes = {
|
|
50
|
+
root: `${PREFIX}-root`,
|
|
51
|
+
success: `${PREFIX}-success`,
|
|
52
|
+
error: `${PREFIX}-error`
|
|
53
|
+
};
|
|
54
|
+
const Root = (0, styles_1.styled)(material_1.Typography, {
|
|
55
|
+
name: PREFIX,
|
|
56
|
+
slot: 'Root',
|
|
57
|
+
overridesResolver: (props, styles) => styles.root
|
|
58
|
+
})(({ theme }) => ({
|
|
59
|
+
[`&.${classes.root}`]: {
|
|
60
|
+
display: 'flex',
|
|
61
|
+
flexDirection: 'column',
|
|
62
|
+
alignItems: 'center',
|
|
63
|
+
justifyContent: 'center'
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
/**
|
|
67
|
+
* > API documentation for the Community-JS AccountVerify component. Learn about the available props and the CSS API.
|
|
68
|
+
|
|
69
|
+
#### Import
|
|
70
|
+
|
|
71
|
+
```jsx
|
|
72
|
+
import {AccountVerify} from '@selfcommunity/react-ui';
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
#### Component Name
|
|
76
|
+
|
|
77
|
+
The name `SCAccountVerify` can be used when providing style overrides in the theme.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
#### CSS
|
|
81
|
+
|
|
82
|
+
|Rule Name|Global class|Description|
|
|
83
|
+
|---|---|---|
|
|
84
|
+
|root|.SCAccountVerify-root|Styles applied to the root element.|
|
|
85
|
+
|success|.SCAccountRecover-success|Styles applied to the success Typography.|
|
|
86
|
+
|error|.SCAccountRecover-error|Styles applied to the error Typography.|
|
|
87
|
+
|
|
88
|
+
*
|
|
89
|
+
* @param inProps
|
|
90
|
+
*/
|
|
91
|
+
function AccountVerify(inProps) {
|
|
92
|
+
const props = (0, system_1.useThemeProps)({
|
|
93
|
+
props: inProps,
|
|
94
|
+
name: PREFIX
|
|
95
|
+
});
|
|
96
|
+
// PROPS
|
|
97
|
+
const { className, onSuccess = null, validationCode, successAction = null } = props, rest = __rest(props, ["className", "onSuccess", "validationCode", "successAction"]);
|
|
98
|
+
// STATE
|
|
99
|
+
const [isValidating, setIsValidating] = (0, react_1.useState)(true);
|
|
100
|
+
const [error, setError] = (0, react_1.useState)(false);
|
|
101
|
+
// CONTEXT
|
|
102
|
+
const scUserContext = (0, react_core_1.useSCUser)();
|
|
103
|
+
// EFFECTS
|
|
104
|
+
(0, react_1.useEffect)(() => {
|
|
105
|
+
setIsValidating(true);
|
|
106
|
+
setError(false);
|
|
107
|
+
api_services_1.AccountService.verify({ validation_code: validationCode })
|
|
108
|
+
.then(() => onSuccess && onSuccess())
|
|
109
|
+
.catch(() => setError(true))
|
|
110
|
+
.then(() => setIsValidating(false));
|
|
111
|
+
}, [validationCode]);
|
|
112
|
+
if (scUserContext.user !== null) {
|
|
113
|
+
// User already logged in
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
// RENDER
|
|
117
|
+
return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className, { [classes.error]: error, [classes.success]: !isValidating && !error }) }, rest), isValidating ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
118
|
+
react_1.default.createElement(material_1.CircularProgress, null),
|
|
119
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountVerify.verifying", defaultMessage: "ui.accountVerify.verifying" }))) : error ? (react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountVerify.error", defaultMessage: "ui.accountVerify.error" })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
120
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountVerify.success", defaultMessage: "ui.accountVerify.success" }),
|
|
121
|
+
successAction))));
|
|
122
|
+
}
|
|
123
|
+
exports.default = AccountVerify;
|
|
124
|
+
//# sourceMappingURL=AccountVerify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountVerify.js","sourceRoot":"","sources":["../../../../src/components/AccountVerify/AccountVerify.tsx"],"names":[],"mappings":"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"}
|