@availity/change-password 0.1.0 → 0.1.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/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.1.1](https://github.com/Availity/availity-react/compare/@availity/change-password@0.1.0...@availity/change-password@0.1.1) (2023-07-21)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * pass additional args to onError, onHandleSubmit, passes funcs ([5412e5a](https://github.com/Availity/availity-react/commit/5412e5a247e8dc2b37307a4878a5a394f21efeb3))
11
+
12
+
13
+
5
14
  # 0.1.0 (2023-07-20)
6
15
 
7
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@availity/change-password",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Easy to use change-password components",
5
5
  "keywords": [
6
6
  "react",
@@ -10,6 +10,7 @@ const ChangePassword = ({ resource, schema, conditions, children }) => {
10
10
  const [loading, setLoading] = useState(false);
11
11
  const [error, setError] = useState(null);
12
12
  const [success, setSuccess] = useState(null);
13
+ const [submitted, setSubmitted] = useState(false);
13
14
 
14
15
  const currentPasswordIconRef = useRef(null);
15
16
  const newPasswordIconRef = useRef(null);
@@ -28,6 +29,8 @@ const ChangePassword = ({ resource, schema, conditions, children }) => {
28
29
  setError,
29
30
  success,
30
31
  setSuccess,
32
+ submitted,
33
+ setSubmitted,
31
34
  resource,
32
35
  schema,
33
36
  conditions,
@@ -5,7 +5,7 @@ import { useChangePasswordContext } from './ChangePassword';
5
5
  import './ChangePasswordFeedback.scss';
6
6
 
7
7
  const ChangePasswordFeedback = () => {
8
- const { conditions = [] } = useChangePasswordContext();
8
+ const { conditions = [], submitted } = useChangePasswordContext();
9
9
 
10
10
  const { values, touched } = useFormikContext();
11
11
  const { currentPassword, newPassword, confirmNewPassword } = values;
@@ -22,6 +22,7 @@ const ChangePasswordFeedback = () => {
22
22
  currentPasswordTouched: currentPassword || touched.currentPassword === true,
23
23
  newPasswordTouched: newPassword || touched.newPassword === true,
24
24
  confirmNewPasswordTouched: confirmNewPassword || touched.confirmNewPassword === true,
25
+ submitted,
25
26
  });
26
27
  return (
27
28
  <div key={message} className="passwordElement pt-3">
@@ -36,21 +36,23 @@ const ChangePasswordForm = ({
36
36
  setNewPasswordVisible,
37
37
  confirmNewPasswordVisible,
38
38
  setConfirmNewPasswordVisible,
39
+ setSubmitted,
39
40
  } = useChangePasswordContext();
40
41
 
41
42
  const handleSubmit = async ({ currentPassword, newPassword }) => {
42
43
  setLoading(true);
44
+ setSubmitted(true);
43
45
  try {
44
46
  const result = await resource.changePassword({ currentPassword, newPassword });
45
47
  setSuccess('Your password was successfully changed');
46
48
  if (onHandleSubmit) {
47
- await onHandleSubmit({ result });
49
+ await onHandleSubmit({ result, setSuccess, setError });
48
50
  }
49
51
  setLoading(false);
50
52
  } catch (error) {
51
53
  setError('An error occurred changing your password');
52
54
  if (onError) {
53
- await onError({ error });
55
+ await onError({ error, setSuccess, setError });
54
56
  }
55
57
  setLoading(false);
56
58
  }
@@ -36,12 +36,6 @@ class AvChangePasswordApi extends AvApi {
36
36
  export const Default: Story = () => {
37
37
  const resource = new AvChangePasswordApi();
38
38
 
39
- const [submitted, setSubmitted] = useState(false);
40
-
41
- const onHandleSubmit = () => {
42
- setSubmitted(true);
43
- };
44
-
45
39
  const changePasswordSchema = yup.object().shape({
46
40
  currentPassword: yup.string().required('Input your current password'),
47
41
  newPassword: yup
@@ -83,7 +77,7 @@ export const Default: Story = () => {
83
77
  const conditions = [
84
78
  {
85
79
  message: 'Have 8 to 15 characters',
86
- passes: ({ newPassword, newPasswordTouched }) => {
80
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
87
81
  if (new RegExp(/^.{8,15}$/).test(newPassword)) {
88
82
  if (newPasswordTouched) return true;
89
83
  return null;
@@ -94,7 +88,7 @@ export const Default: Story = () => {
94
88
  },
95
89
  {
96
90
  message: 'Have a number',
97
- passes: ({ newPassword, newPasswordTouched }) => {
91
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
98
92
  if (new RegExp(/\d/).test(newPassword)) {
99
93
  if (newPasswordTouched) return true;
100
94
  return null;
@@ -105,7 +99,7 @@ export const Default: Story = () => {
105
99
  },
106
100
  {
107
101
  message: 'Have an uppercase letter',
108
- passes: ({ newPassword, newPasswordTouched }) => {
102
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
109
103
  if (new RegExp('[A-Z]').test(newPassword)) {
110
104
  if (newPasswordTouched) return true;
111
105
  return null;
@@ -116,7 +110,7 @@ export const Default: Story = () => {
116
110
  },
117
111
  {
118
112
  message: 'Have a lowercase letter',
119
- passes: ({ newPassword, newPasswordTouched }) => {
113
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
120
114
  if (new RegExp('[a-z]').test(newPassword)) {
121
115
  if (newPasswordTouched) return true;
122
116
  return null;
@@ -127,7 +121,7 @@ export const Default: Story = () => {
127
121
  },
128
122
  {
129
123
  message: 'Have a special character',
130
- passes: ({ newPassword, newPasswordTouched }) => {
124
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
131
125
  if (new RegExp(/[!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]/).test(newPassword)) {
132
126
  if (newPasswordTouched) return true;
133
127
  return null;
@@ -138,7 +132,7 @@ export const Default: Story = () => {
138
132
  },
139
133
  {
140
134
  message: 'Not contain your user Id',
141
- passes: ({ newPassword, newPasswordTouched }) => {
135
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
142
136
  if (new RegExp(`^((?!${me.userId}).)*$`).test(newPassword)) {
143
137
  if (newPasswordTouched) return true;
144
138
  return null;
@@ -149,7 +143,7 @@ export const Default: Story = () => {
149
143
  },
150
144
  {
151
145
  message: 'Not contain spaces',
152
- passes: ({ newPassword, newPasswordTouched }) => {
146
+ passes: ({ newPassword, newPasswordTouched, submitted }) => {
153
147
  if (new RegExp('^\\S*$').test(newPassword)) {
154
148
  if (newPasswordTouched) return true;
155
149
  return null;
@@ -162,7 +156,7 @@ export const Default: Story = () => {
162
156
 
163
157
  return (
164
158
  <ChangePassword resource={resource} schema={changePasswordSchema} conditions={conditions}>
165
- <ChangePasswordForm onHandleSubmit={onHandleSubmit} />
159
+ <ChangePasswordForm />
166
160
  </ChangePassword>
167
161
  );
168
162
  };