@selfcommunity/react-ui 0.4.2 → 0.5.0-alpha.2

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 (106) hide show
  1. package/lib/cjs/components/AccountRecover/AccountRecover.d.ts +14 -8
  2. package/lib/cjs/components/AccountRecover/AccountRecover.d.ts.map +1 -1
  3. package/lib/cjs/components/AccountRecover/AccountRecover.js +34 -13
  4. package/lib/cjs/components/AccountRecover/AccountRecover.js.map +1 -1
  5. package/lib/cjs/components/AccountReset/AccountReset.d.ts +66 -0
  6. package/lib/cjs/components/AccountReset/AccountReset.d.ts.map +1 -0
  7. package/lib/cjs/components/{AccountSignUp/AccountSignUp.js → AccountReset/AccountReset.js} +55 -33
  8. package/lib/cjs/components/AccountReset/AccountReset.js.map +1 -0
  9. package/lib/cjs/components/AccountReset/index.d.ts +4 -0
  10. package/lib/cjs/components/AccountReset/index.d.ts.map +1 -0
  11. package/lib/cjs/components/{AccountSignUp → AccountReset}/index.js +2 -2
  12. package/lib/cjs/components/AccountReset/index.js.map +1 -0
  13. package/lib/cjs/components/AccountVerify/AccountVerify.d.ts +53 -0
  14. package/lib/cjs/components/AccountVerify/AccountVerify.d.ts.map +1 -0
  15. package/lib/cjs/components/AccountVerify/AccountVerify.js +124 -0
  16. package/lib/cjs/components/AccountVerify/AccountVerify.js.map +1 -0
  17. package/lib/cjs/components/AccountVerify/index.d.ts +4 -0
  18. package/lib/cjs/components/{AccountSignIn → AccountVerify}/index.d.ts.map +1 -1
  19. package/lib/cjs/components/{AccountSignIn → AccountVerify}/index.js +2 -2
  20. package/lib/cjs/components/AccountVerify/index.js.map +1 -0
  21. package/lib/cjs/components/Feed/Feed.d.ts +20 -0
  22. package/lib/cjs/components/Feed/Feed.d.ts.map +1 -1
  23. package/lib/cjs/components/Feed/Feed.js +24 -3
  24. package/lib/cjs/components/Feed/Feed.js.map +1 -1
  25. package/lib/cjs/components/Feed/prefetchedData.d.ts +287 -19
  26. package/lib/cjs/components/Feed/prefetchedData.d.ts.map +1 -1
  27. package/lib/cjs/components/Feed/prefetchedData.js +513 -1
  28. package/lib/cjs/components/Feed/prefetchedData.js.map +1 -1
  29. package/lib/cjs/index.d.ts +9 -9
  30. package/lib/cjs/index.d.ts.map +1 -1
  31. package/lib/cjs/index.js +10 -10
  32. package/lib/cjs/index.js.map +1 -1
  33. package/lib/cjs/shared/InfiniteScroll/index.d.ts +2 -0
  34. package/lib/cjs/shared/InfiniteScroll/index.d.ts.map +1 -1
  35. package/lib/cjs/shared/InfiniteScroll/index.js +3 -1
  36. package/lib/cjs/shared/InfiniteScroll/index.js.map +1 -1
  37. package/lib/cjs/shared/PasswordTextField/index.js +1 -1
  38. package/lib/cjs/shared/PasswordTextField/index.js.map +1 -1
  39. package/lib/esm/components/AccountRecover/AccountRecover.d.ts +14 -8
  40. package/lib/esm/components/AccountRecover/AccountRecover.d.ts.map +1 -1
  41. package/lib/esm/components/AccountRecover/AccountRecover.js +37 -16
  42. package/lib/esm/components/AccountRecover/AccountRecover.js.map +1 -1
  43. package/lib/esm/components/AccountReset/AccountReset.d.ts +66 -0
  44. package/lib/esm/components/AccountReset/AccountReset.d.ts.map +1 -0
  45. package/lib/esm/components/AccountReset/AccountReset.js +126 -0
  46. package/lib/esm/components/AccountReset/AccountReset.js.map +1 -0
  47. package/lib/esm/components/AccountReset/index.d.ts +4 -0
  48. package/lib/esm/components/AccountReset/index.d.ts.map +1 -0
  49. package/lib/esm/components/AccountReset/index.js +3 -0
  50. package/lib/esm/components/AccountReset/index.js.map +1 -0
  51. package/lib/esm/components/AccountVerify/AccountVerify.d.ts +53 -0
  52. package/lib/esm/components/AccountVerify/AccountVerify.d.ts.map +1 -0
  53. package/lib/esm/components/AccountVerify/AccountVerify.js +95 -0
  54. package/lib/esm/components/AccountVerify/AccountVerify.js.map +1 -0
  55. package/lib/esm/components/AccountVerify/index.d.ts +4 -0
  56. package/lib/{cjs/components/AccountSignUp → esm/components/AccountVerify}/index.d.ts.map +1 -1
  57. package/lib/esm/components/AccountVerify/index.js +3 -0
  58. package/lib/esm/components/AccountVerify/index.js.map +1 -0
  59. package/lib/esm/components/Feed/Feed.d.ts +20 -0
  60. package/lib/esm/components/Feed/Feed.d.ts.map +1 -1
  61. package/lib/esm/components/Feed/Feed.js +25 -4
  62. package/lib/esm/components/Feed/Feed.js.map +1 -1
  63. package/lib/esm/components/Feed/prefetchedData.d.ts +287 -19
  64. package/lib/esm/components/Feed/prefetchedData.d.ts.map +1 -1
  65. package/lib/esm/components/Feed/prefetchedData.js +513 -1
  66. package/lib/esm/components/Feed/prefetchedData.js.map +1 -1
  67. package/lib/esm/index.d.ts +9 -9
  68. package/lib/esm/index.d.ts.map +1 -1
  69. package/lib/esm/index.js +7 -7
  70. package/lib/esm/index.js.map +1 -1
  71. package/lib/esm/shared/InfiniteScroll/index.d.ts +2 -0
  72. package/lib/esm/shared/InfiniteScroll/index.d.ts.map +1 -1
  73. package/lib/esm/shared/InfiniteScroll/index.js +3 -1
  74. package/lib/esm/shared/InfiniteScroll/index.js.map +1 -1
  75. package/lib/esm/shared/PasswordTextField/index.js +1 -1
  76. package/lib/esm/shared/PasswordTextField/index.js.map +1 -1
  77. package/lib/umd/react-ui.js +16 -16
  78. package/lib/umd/react-ui.js.map +1 -1
  79. package/package.json +7 -7
  80. package/lib/cjs/components/AccountSignIn/AccountSignIn.d.ts +0 -64
  81. package/lib/cjs/components/AccountSignIn/AccountSignIn.d.ts.map +0 -1
  82. package/lib/cjs/components/AccountSignIn/AccountSignIn.js +0 -151
  83. package/lib/cjs/components/AccountSignIn/AccountSignIn.js.map +0 -1
  84. package/lib/cjs/components/AccountSignIn/index.d.ts +0 -4
  85. package/lib/cjs/components/AccountSignIn/index.js.map +0 -1
  86. package/lib/cjs/components/AccountSignUp/AccountSignUp.d.ts +0 -56
  87. package/lib/cjs/components/AccountSignUp/AccountSignUp.d.ts.map +0 -1
  88. package/lib/cjs/components/AccountSignUp/AccountSignUp.js.map +0 -1
  89. package/lib/cjs/components/AccountSignUp/index.d.ts +0 -4
  90. package/lib/cjs/components/AccountSignUp/index.js.map +0 -1
  91. package/lib/esm/components/AccountSignIn/AccountSignIn.d.ts +0 -64
  92. package/lib/esm/components/AccountSignIn/AccountSignIn.d.ts.map +0 -1
  93. package/lib/esm/components/AccountSignIn/AccountSignIn.js +0 -122
  94. package/lib/esm/components/AccountSignIn/AccountSignIn.js.map +0 -1
  95. package/lib/esm/components/AccountSignIn/index.d.ts +0 -4
  96. package/lib/esm/components/AccountSignIn/index.d.ts.map +0 -1
  97. package/lib/esm/components/AccountSignIn/index.js +0 -3
  98. package/lib/esm/components/AccountSignIn/index.js.map +0 -1
  99. package/lib/esm/components/AccountSignUp/AccountSignUp.d.ts +0 -56
  100. package/lib/esm/components/AccountSignUp/AccountSignUp.d.ts.map +0 -1
  101. package/lib/esm/components/AccountSignUp/AccountSignUp.js +0 -104
  102. package/lib/esm/components/AccountSignUp/AccountSignUp.js.map +0 -1
  103. package/lib/esm/components/AccountSignUp/index.d.ts +0 -4
  104. package/lib/esm/components/AccountSignUp/index.d.ts.map +0 -1
  105. package/lib/esm/components/AccountSignUp/index.js +0 -3
  106. package/lib/esm/components/AccountSignUp/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { SCUserType } from '@selfcommunity/types';
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 AccountRecover component. Learn about the available props and the CSS API.
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 {AccountRecover} from '@selfcommunity/react-ui';
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":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAS,WAAW,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AA0BlE,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAmDhF"}
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
- email: `${PREFIX}-email`
52
+ form: `${PREFIX}-form`,
53
+ email: `${PREFIX}-email`,
54
+ success: `${PREFIX}-success`
52
55
  };
53
- const Root = (0, styles_1.styled)('form', {
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
- [`&.${classes.root} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
61
+ [`& .${classes.form} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
59
62
  margin: theme.spacing(1, 0, 1, 0)
60
63
  },
61
- [`&.${classes.root} .MuiTypography-root`]: {
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 AccountRecover component. Learn about the available props and the CSS API.
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 {AccountRecover} from '@selfcommunity/react-ui';
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 scRoutingContext = (0, react_core_1.useSCRouting)();
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
- // TODO: recover API call
109
- onSuccess && onSuccess(null);
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, { onSubmit: handleSubmit }),
118
- react_1.default.createElement(EmailTextField_1.default, Object.assign({ className: classes.email, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountRecover.email.label", defaultMessage: "ui.accountRecover.email.label" }) }, TextFieldProps, { value: email, onChange: (event) => setEmail(event.target.value), error: Boolean(emailError), helperText: emailError })),
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":"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"}
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 PREFIX = 'SCAccountSignUp';
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
- email: `${PREFIX}-email`,
54
- username: `${PREFIX}-username`,
55
- password: `${PREFIX}-password`
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)('form', {
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
- [`&.${classes.root} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
62
+ [`& .${classes.form} .MuiTextField-root, &.${classes.root} .MuiButton-root`]: {
63
63
  margin: theme.spacing(1, 0, 1, 0)
64
64
  },
65
- [`&.${classes.root} .MuiTypography-root`]: {
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 AccountSignUp component. Learn about the available props and the CSS API.
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 {AccountSignUp} from '@selfcommunity/react-ui';
75
+ import {AccountVerify} from '@selfcommunity/react-ui';
76
76
  ```
77
77
 
78
78
  #### Component Name
79
79
 
80
- The name `SCAccountSignUp` can be used when providing style overrides in the theme.
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|.SCAccountSignUp-root|Styles applied to the root element.|
88
- |email|.SCAccountSignUp-email|Styles applied to the email TextField.|
89
- |username|.SCAccountSignUp-username|Styles applied to the username TextField.|
90
- |password|.SCAccountSignUp-password|Styles applied to the password TextField.|
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 AccountSignUp(inProps) {
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
- // TODO: signup API call
117
- onSuccess && onSuccess(null);
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
- return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onSubmit: handleSubmit }),
126
- react_1.default.createElement(EmailTextField_1.default, Object.assign({ className: classes.email, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountSignup.email.label", defaultMessage: "ui.accountSignup.email.label" }) }, TextFieldProps, { error: Boolean(emailError), helperText: emailError, value: email, onChange: (event) => setEmail(event.target.value) })),
127
- react_1.default.createElement(UsernameTextField_1.default, Object.assign({ className: classes.username, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountSignup.username.label", defaultMessage: "ui.accountSignup.username.label" }) }, TextFieldProps, { error: Boolean(usernameError), helperText: usernameError, value: username, onChange: (event) => setUsername(event.target.value) })),
128
- react_1.default.createElement(PasswordTextField_1.default, Object.assign({ className: classes.password, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountSignup.password.label", defaultMessage: "ui.accountSignup.password.label" }) }, TextFieldProps, { value: password, onChange: (event) => setPassword(event.target.value) })),
129
- react_1.default.createElement(material_1.Button, Object.assign({ type: "submit" }, ButtonProps, { disabled: !email || !username || !password || isSubmitting }),
130
- react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.accountSignup.submit", defaultMessage: "ui.accountSignup.submit" }))));
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 = AccountSignUp;
133
- //# sourceMappingURL=AccountSignUp.js.map
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,4 @@
1
+ import AccountReset, { AccountResetProps } from './AccountReset';
2
+ export default AccountReset;
3
+ export { AccountResetProps };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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 AccountSignUp_1 = __importDefault(require("./AccountSignUp"));
7
- exports.default = AccountSignUp_1.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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"}
@@ -0,0 +1,4 @@
1
+ import AccountVerify, { AccountVerifyProps } from './AccountVerify';
2
+ export default AccountVerify;
3
+ export { AccountVerifyProps };
4
+ //# sourceMappingURL=index.d.ts.map