contentoh-components-library 21.0.26 → 21.0.29

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 (51) hide show
  1. package/dist/components/atoms/Loading/Loading.stories.js +28 -0
  2. package/dist/components/atoms/Loading/index.js +27 -0
  3. package/dist/components/atoms/Loading/styles.js +18 -0
  4. package/dist/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +28 -0
  5. package/dist/components/molecules/EmailResetPasswordLogin/index.js +155 -0
  6. package/dist/components/molecules/EmailResetPasswordLogin/styles.js +20 -0
  7. package/dist/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +28 -0
  8. package/dist/components/molecules/RegistrationFirstStep/index.js +336 -0
  9. package/dist/components/molecules/RegistrationFirstStep/styles.js +20 -0
  10. package/dist/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +28 -0
  11. package/dist/components/molecules/RegistrationSecondStep/index.js +156 -0
  12. package/dist/components/molecules/RegistrationSecondStep/styles.js +20 -0
  13. package/dist/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +28 -0
  14. package/dist/components/molecules/RegistrationThirdStep/index.js +161 -0
  15. package/dist/components/molecules/RegistrationThirdStep/styles.js +20 -0
  16. package/dist/components/molecules/SignInLogin/index.js +217 -67
  17. package/dist/components/molecules/SignInLogin/styles.js +1 -1
  18. package/dist/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +28 -0
  19. package/dist/components/molecules/VerificationCodeResetPasswordLogin/index.js +104 -0
  20. package/dist/components/molecules/VerificationCodeResetPasswordLogin/styles.js +20 -0
  21. package/dist/components/molecules/VerificationCodeResetPasswordLogin/utils.js +69 -0
  22. package/dist/components/organisms/ChangePassword/ChangePassword.stories.js +28 -0
  23. package/dist/components/organisms/ChangePassword/index.js +113 -0
  24. package/dist/components/organisms/ChangePassword/styles.js +18 -0
  25. package/dist/index.js +138 -47
  26. package/package.json +5 -2
  27. package/src/components/atoms/Loading/Loading.stories.js +10 -0
  28. package/src/components/atoms/Loading/index.js +13 -0
  29. package/src/components/atoms/Loading/styles.js +57 -0
  30. package/src/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +11 -0
  31. package/src/components/molecules/EmailResetPasswordLogin/index.js +86 -0
  32. package/src/components/molecules/EmailResetPasswordLogin/styles.js +23 -0
  33. package/src/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +11 -0
  34. package/src/components/molecules/RegistrationFirstStep/index.js +242 -0
  35. package/src/components/molecules/RegistrationFirstStep/styles.js +81 -0
  36. package/src/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +11 -0
  37. package/src/components/molecules/RegistrationSecondStep/index.js +97 -0
  38. package/src/components/molecules/RegistrationSecondStep/styles.js +59 -0
  39. package/src/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +11 -0
  40. package/src/components/molecules/RegistrationThirdStep/index.js +109 -0
  41. package/src/components/molecules/RegistrationThirdStep/styles.js +44 -0
  42. package/src/components/molecules/SignInLogin/index.js +181 -55
  43. package/src/components/molecules/SignInLogin/styles.js +1 -0
  44. package/src/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +11 -0
  45. package/src/components/molecules/VerificationCodeResetPasswordLogin/index.js +78 -0
  46. package/src/components/molecules/VerificationCodeResetPasswordLogin/styles.js +49 -0
  47. package/src/components/molecules/VerificationCodeResetPasswordLogin/utils.js +56 -0
  48. package/src/components/organisms/ChangePassword/ChangePassword.stories.js +11 -0
  49. package/src/components/organisms/ChangePassword/index.js +63 -0
  50. package/src/components/organisms/ChangePassword/styles.js +16 -0
  51. package/src/index.js +7 -0
@@ -0,0 +1,86 @@
1
+ import { Container } from "./styles";
2
+ import { GradientPanel } from "../../atoms/GradientPanel";
3
+ import { useState } from "react";
4
+ import { LogoImage } from "../../atoms/LogoImage";
5
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
6
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
7
+ import { TagAndInput } from "../../molecules/TagAndInput";
8
+ import { Button } from "../../atoms/GeneralButton";
9
+ import { Auth } from "aws-amplify";
10
+
11
+ export const EmailResetPasswordLogin = (props) => {
12
+ const [emptyEmail, setEmptyEmail] = useState(false);
13
+ const [invalidEmail, setInvalidEmail] = useState(false);
14
+ const [showErrors, setShowErrors] = useState(false);
15
+ const [awsError, setAwsError] = useState("");
16
+ const validate = async (e) => {
17
+ let valid = true;
18
+ setShowErrors(true);
19
+ e.preventDefault();
20
+ const email = document.querySelector("#emailInput").value;
21
+ email === "" ? setEmptyEmail(true) : setEmptyEmail(false);
22
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
23
+ email
24
+ )
25
+ ? setInvalidEmail(true)
26
+ : setInvalidEmail(false);
27
+ emptyEmail && (valid = false);
28
+ invalidEmail && (valid = false);
29
+
30
+ if (valid) {
31
+ try {
32
+ await Auth.forgotPassword(email);
33
+ sessionStorage.setItem("email", JSON.stringify(email));
34
+ sessionStorage.setItem("resetPasswordProcess", JSON.stringify("true"));
35
+ props.setPaso(5);
36
+ } catch (err) {
37
+ setAwsError(err.code);
38
+ }
39
+ }
40
+ };
41
+
42
+ const loginRight = [
43
+ <LogoImage key="1" />,
44
+ <div className="credenciales" key={"2"}>
45
+ <ScreenHeader
46
+ fontFamily={FontFamily.AvenirNext}
47
+ color={GlobalColors.s5}
48
+ text={"Ingresa tus credenciales"}
49
+ />
50
+ </div>,
51
+ <div className="user" key="3">
52
+ <TagAndInput
53
+ inputType={"text"}
54
+ inputId={"emailInput"}
55
+ label={"Nombre de usuario"}
56
+ inputPlaceHolder={"username@contentoh.com"}
57
+ />
58
+ {showErrors && emptyEmail && <label>Ingrese su correo</label>}
59
+ {showErrors && invalidEmail && !emptyEmail && (
60
+ <label>Ingrese un correo valido</label>
61
+ )}
62
+ {showErrors && awsError === "LimitExceededException" && (
63
+ <label>Has cambiado la contraseña recientemente, intenta despues</label>
64
+ )}
65
+ </div>,
66
+ <div className="button-center" key="4">
67
+ <Button
68
+ buttonType={"general-default-button"}
69
+ label={"Enviar"}
70
+ onClick={(e) => validate(e)}
71
+ />
72
+ </div>,
73
+ <div className="back-login" key="5">
74
+ <p onClick={() => props.setPaso(7)}>Regresar...</p>
75
+ </div>,
76
+ ];
77
+ return (
78
+ <Container>
79
+ <GradientPanel
80
+ componentsArray={loginRight}
81
+ panelType={"home-login"}
82
+ panelColor={GlobalColors.white}
83
+ />
84
+ </Container>
85
+ );
86
+ };
@@ -0,0 +1,23 @@
1
+ import styled from "styled-components";
2
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ display: flex;
6
+ width: 50%;
7
+ height: 100vh;
8
+ .button-center {
9
+ text-align: center;
10
+ .general-default-button {
11
+ width: 160px;
12
+ }
13
+ }
14
+ .back-login {
15
+ text-align: center;
16
+ margin: 15px !important;
17
+ color: ${GlobalColors.secondary_magenta};
18
+ cursor: pointer;
19
+ font-weight: bold;
20
+ font-family: ${FontFamily.Raleway};
21
+ font-size: 13px;
22
+ }
23
+ `;
@@ -0,0 +1,11 @@
1
+ import { RegistrationFirstStep } from "./index";
2
+
3
+ export default {
4
+ title: "Components/molecules/RegistrationFirstStep",
5
+ component: RegistrationFirstStep,
6
+ };
7
+ const Template = (args) => <RegistrationFirstStep {...args} />;
8
+
9
+ export const RegistrationFirstStepDefault = Template.bind({});
10
+
11
+ RegistrationFirstStepDefault.args = {};
@@ -0,0 +1,242 @@
1
+ import { Container } from "./styles";
2
+ import { GradientPanel } from "../../atoms/GradientPanel";
3
+ import { useState, useEffect } from "react";
4
+ import { LogoImage } from "../../atoms/LogoImage";
5
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
6
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
7
+ import { TagAndInput } from "../../molecules/TagAndInput";
8
+ import { Button } from "../../atoms/GeneralButton";
9
+ import { GeneralInput } from "../../atoms/GeneralInput";
10
+
11
+ export const RegistrationFirstStep = (props) => {
12
+ const [emptyName, setEmptyName] = useState(false);
13
+ const [emptyLastName, setEmptyLastName] = useState(false);
14
+ const [emptyEmail, setEmptyEmail] = useState(false);
15
+ const [emptyJob, setEmptyJob] = useState(false);
16
+ const [emptyPhone, setEmptyPhone] = useState(false);
17
+ const [emptyCountry, setEmptyCountry] = useState(true);
18
+ const [showErrors, setShowErrors] = useState(false);
19
+ const [regError, setRegError] = useState(false);
20
+ const [phoneFormatError, setPhoneFormatError] = useState(false);
21
+ const [emailFormatError, setEmailFormatError] = useState(false);
22
+
23
+ useEffect(() => {
24
+ JSON.parse(sessionStorage.getItem("nuevoRegistro")).name === "" &&
25
+ sessionStorage.removeItem("registrationError");
26
+ sessionStorage.getItem("registrationError") && setRegError(true);
27
+ if (sessionStorage.getItem("registrationError")) {
28
+ setEmptyName(false);
29
+ setEmptyLastName(false);
30
+ setEmptyEmail(false);
31
+ setEmptyJob(false);
32
+ setEmptyCountry(false);
33
+ setEmptyPhone(false);
34
+ }
35
+
36
+ sessionStorage.getItem("resetPasswordProcess") &&
37
+ sessionStorage.getItem("resetPasswordProcess");
38
+ }, []);
39
+
40
+ let paisesEsp = [
41
+ "Argentina",
42
+ "Colombia",
43
+ "Costa Rica",
44
+ "Ecuador",
45
+ "El Salvador",
46
+ "Honduras",
47
+ "México",
48
+ "Panamá",
49
+ "Perú",
50
+ ];
51
+ const updateInfo = (e, newValue) => {
52
+ let nuevoUsuario = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
53
+ switch (e.target.id) {
54
+ case "nameInput":
55
+ nuevoUsuario.name = newValue;
56
+ newValue === "" ? setEmptyName(true) : setEmptyName(false);
57
+ break;
58
+ case "lastNameInput":
59
+ nuevoUsuario.lastName = newValue;
60
+ newValue === "" ? setEmptyLastName(true) : setEmptyLastName(false);
61
+ break;
62
+ case "emailInput":
63
+ nuevoUsuario.email = newValue;
64
+ newValue === "" ? setEmptyEmail(true) : setEmptyEmail(false);
65
+ if (
66
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
67
+ newValue
68
+ )
69
+ ) {
70
+ setEmailFormatError(true);
71
+ } else {
72
+ setEmailFormatError(false);
73
+ }
74
+ break;
75
+ case "jobInput":
76
+ nuevoUsuario.position = newValue;
77
+ newValue === "" ? setEmptyJob(true) : setEmptyJob(false);
78
+ break;
79
+ case "phoneInput":
80
+ Array.from(newValue).forEach((digit, i) => {
81
+ newValue.charCodeAt(i) < 48
82
+ ? setPhoneFormatError(true)
83
+ : setPhoneFormatError(false);
84
+ newValue.charCodeAt(i) > 57
85
+ ? setPhoneFormatError(true)
86
+ : setPhoneFormatError(false);
87
+ });
88
+ nuevoUsuario.phone = `${JSON.parse(
89
+ sessionStorage.getItem("countryCodeSelect")
90
+ )}${newValue}`;
91
+ newValue === "" ? setEmptyPhone(true) : setEmptyPhone(false);
92
+ break;
93
+ case "countrySelect":
94
+ nuevoUsuario.country = newValue;
95
+ newValue === "" || newValue === "Selecciona tu país"
96
+ ? setEmptyCountry(true)
97
+ : setEmptyCountry(false);
98
+ break;
99
+ case "countryCodeSelect":
100
+ sessionStorage.setItem("countryCode", JSON.stringify(newValue));
101
+ nuevoUsuario.phone = `${JSON.parse(
102
+ sessionStorage.getItem("countryCode")
103
+ )}${document.querySelector("#phoneInput").value}`;
104
+ break;
105
+ default:
106
+ return;
107
+ }
108
+ sessionStorage.setItem("nuevoRegistro", JSON.stringify(nuevoUsuario));
109
+ };
110
+
111
+ const validateForm = (evt) => {
112
+ let valid = true;
113
+ evt.preventDefault();
114
+ setShowErrors(true);
115
+ emptyName && (valid = false);
116
+ emptyLastName && (valid = false);
117
+ emptyEmail && (valid = false);
118
+ emptyJob && (valid = false);
119
+ emptyPhone && (valid = false);
120
+ emptyCountry && (valid = false);
121
+ phoneFormatError && (valid = false);
122
+ emailFormatError && (valid = false);
123
+ !regError && valid && props.setPaso((paso) => props.paso + 1);
124
+ regError && valid && props.setPaso(4);
125
+ };
126
+ const loginRight = [
127
+ <LogoImage key="1" />,
128
+ <div className="credenciales" key={"2"}>
129
+ <ScreenHeader
130
+ fontFamily={FontFamily.AvenirNext}
131
+ color={GlobalColors.s5}
132
+ text={"Ingresa tus credenciales"}
133
+ />
134
+ </div>,
135
+ <div className="user" key="3">
136
+ <div className="name-registration-user">
137
+ <TagAndInput
138
+ inputType={"text"}
139
+ inputId={"nameInput"}
140
+ label={"Nombre"}
141
+ inputPlaceHolder={"Nombre"}
142
+ defaultValue={
143
+ JSON.parse(sessionStorage.getItem("nuevoRegistro")).name
144
+ }
145
+ required
146
+ onInput={(e) => updateInfo(e, e.target.value)}
147
+ />
148
+ <TagAndInput
149
+ inputType={"text"}
150
+ inputId={"lastNameInput"}
151
+ label={"Apellido"}
152
+ inputPlaceHolder={"Apellido"}
153
+ />
154
+ </div>
155
+ {emptyName && <label>Ingrese su nombre</label>}
156
+ {emptyLastName && <label>Ingrese sus apellidos</label>}
157
+ <TagAndInput
158
+ inputType={"text"}
159
+ inputId={"emailInput"}
160
+ label={"Correo electrónico"}
161
+ inputPlaceHolder={"username@contentoh.com"}
162
+ />
163
+ {emptyEmail && <label>Ingrese su correo</label>}
164
+ {invalidEmail && !emptyEmail && <label>Ingrese un correo válido</label>}
165
+ <TagAndInput
166
+ inputType={"text"}
167
+ inputId={"jobInput"}
168
+ label={"Puesto laboral"}
169
+ inputPlaceHolder={"Puesto dentro de la empresa"}
170
+ />
171
+ {emptyJob && <label>Ingrese su puesto</label>}
172
+ <ScreenHeader text={"Teléfono"} headerType={"input-name-header"} />
173
+ <div className="phone-registration-user">
174
+ <select name="select" className="phone-options" id="countryCodeSelect">
175
+ <option>+52</option>
176
+ <option>+54</option>
177
+ <option>+57</option>
178
+ <option>+506</option>
179
+ <option>+593</option>
180
+ <option>+503</option>
181
+ <option>+504</option>
182
+ <option>+507</option>
183
+ <option>+51</option>
184
+ </select>
185
+ <GeneralInput
186
+ inputId={"phoneInput"}
187
+ inputType={"text"}
188
+ inputPlaceholder={"Teléfono"}
189
+ />
190
+ </div>
191
+ {emptyPhone && <label>Ingrese su número de teléfono</label>}
192
+ <ScreenHeader text={"País"} headerType={"input-name-header"} />
193
+ <select name="select" className="country-options" id="countrySelect">
194
+ <option value="value1" selected>
195
+ Selecciona tu país
196
+ </option>
197
+ <option value="value2">Argentina</option>
198
+ <option value="value3">Colombia</option>
199
+ <option value="value2">Ecuador</option>
200
+ <option value="value3">El Salvador</option>
201
+ <option value="value2">Honduras</option>
202
+ <option value="value3">México</option>
203
+ <option value="value2">Panamá</option>
204
+ <option value="value3">Perú</option>
205
+ </select>
206
+ {emptyEmail && <label>Seleccione su país</label>}
207
+ </div>,
208
+ <div className="button-end" key="4">
209
+ <Button
210
+ buttonType={"general-default-button"}
211
+ label={"Enviar"}
212
+ onClick={(e) => validate(e)}
213
+ />
214
+ </div>,
215
+ <div className="progress-bar" key="5">
216
+ <div className="progress-bar-first-step"></div>
217
+ <div className="progress-bar-registration"></div>
218
+ </div>,
219
+ <ScreenHeader
220
+ text={"Paso 1"}
221
+ headerType={"date-header"}
222
+ color={GlobalColors.s4}
223
+ key="6"
224
+ />,
225
+ <div className="new-login" key="7">
226
+ <p className="pre-registro">
227
+ ¿Ya tienes una cuenta?<span> Inicia Sesión</span>
228
+ </p>
229
+ </div>,
230
+ ];
231
+ return (
232
+ <Container>
233
+ <div>
234
+ <GradientPanel
235
+ componentsArray={loginRight}
236
+ panelType={"home-login"}
237
+ panelColor={GlobalColors.white}
238
+ />
239
+ </div>
240
+ </Container>
241
+ );
242
+ };
@@ -0,0 +1,81 @@
1
+ import styled from "styled-components";
2
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ display: flex;
6
+ width: 50%;
7
+ height: 100vh;
8
+ .user {
9
+ .name-registration-user {
10
+ display: flex;
11
+ justify-content: space-between;
12
+ input {
13
+ width: 160px;
14
+ }
15
+ }
16
+ .input-name-header {
17
+ margin-bottom: 4px;
18
+ margin-top: 12px;
19
+ }
20
+ .phone-registration-user {
21
+ display: flex;
22
+ justify-content: space-between;
23
+ .phone-options {
24
+ width: 80px;
25
+ }
26
+ input {
27
+ width: 100%;
28
+ }
29
+ & + * {
30
+ margin-top: 10px;
31
+ }
32
+ }
33
+ .country-options,
34
+ .phone-options {
35
+ width: 100%;
36
+ border: 1px solid ${GlobalColors.s2};
37
+ font-family: ${FontFamily.AvenirNext};
38
+ color: ${GlobalColors.s4};
39
+ font-weight: normal;
40
+ font-size: 12px;
41
+ line-height: 15px;
42
+ padding: 10px;
43
+ outline: none;
44
+ border-radius: 2px;
45
+ resize: none;
46
+ &:focus {
47
+ border: 1px solid ${GlobalColors.magenta_s2};
48
+ }
49
+ }
50
+ }
51
+ .button-end {
52
+ text-align: end;
53
+ .general-default-button {
54
+ width: 160px;
55
+ }
56
+ & + * {
57
+ margin-top: 10px;
58
+ }
59
+ }
60
+ .progress-bar {
61
+ width: 100%;
62
+ height: 8px;
63
+ display: flex;
64
+ justify-content: space-between;
65
+ .progress-bar-first-step {
66
+ width: 33.33%;
67
+ background-color: rgb(196, 196, 196);
68
+ }
69
+ .progress-bar-registration {
70
+ background-color: rgb(226, 226, 226);
71
+ width: 66.66%;
72
+ }
73
+ }
74
+ .date-header {
75
+ .new-login {
76
+ & + * {
77
+ margin-top: 20px;
78
+ }
79
+ }
80
+ }
81
+ `;
@@ -0,0 +1,11 @@
1
+ import { RegistrationSecondStep } from "./index";
2
+
3
+ export default {
4
+ title: "Components/molecules/RegistrationSecondStep",
5
+ component: RegistrationSecondStep,
6
+ };
7
+ const Template = (args) => <RegistrationSecondStep {...args} />;
8
+
9
+ export const RegistrationSecondStepDefault = Template.bind({});
10
+
11
+ RegistrationSecondStepDefault.args = {};
@@ -0,0 +1,97 @@
1
+ import { Container } from "./styles";
2
+ import { GradientPanel } from "../../atoms/GradientPanel";
3
+ import { useState } from "react";
4
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
5
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
6
+ import { Button } from "../../atoms/GeneralButton";
7
+ import { LoginPasswordStrength } from "../../molecules/LoginPasswordStrength";
8
+ import { LogoImage } from "../../atoms/LogoImage";
9
+
10
+ export const RegistrationSecondStep = () => {
11
+ const [emptyPassword, setEmptyPassword] = useState(false);
12
+ const [emptyConfirmPassword, setEmptyConfirmPassword] = useState(false);
13
+ const [matchPasswords, setMatchPasswords] = useState(true);
14
+ const validate = async (e) => {
15
+ e.preventDefault();
16
+ const password = document.querySelector("#newPasswordInput").value;
17
+ password.length < 8 ? setEmptyPassword(true) : setEmptyPassword(false);
18
+ const confirmPassword = document.querySelector(
19
+ "#confirmPasswordInput"
20
+ ).value;
21
+ confirmPassword === ""
22
+ ? setEmptyConfirmPassword(true)
23
+ : setEmptyConfirmPassword(false);
24
+ if (password === confirmPassword) {
25
+ setMatchPasswords(true);
26
+ } else {
27
+ setMatchPasswords(false);
28
+ }
29
+ };
30
+ const loginRight = [
31
+ <LogoImage key="1" />,
32
+ <div className="credenciales" key={"2"}>
33
+ <ScreenHeader
34
+ fontFamily={FontFamily.AvenirNext}
35
+ color={GlobalColors.s5}
36
+ text={"Ingresa tus credenciales"}
37
+ />
38
+ </div>,
39
+ <LoginPasswordStrength
40
+ key={"3"}
41
+ emptyPassword={emptyPassword}
42
+ emptyConfirmPassword={emptyConfirmPassword}
43
+ matchPasswords={matchPasswords}
44
+ textTittle={"Ingresa tus credenciales"}
45
+ />,
46
+ <label className="label-terms" key={"4"}>Términos y condiciones</label>,
47
+ <div className="checkbox-terms" key={"5"}>
48
+ <input type="checkbox" />
49
+ <ScreenHeader
50
+ text={
51
+ "Conoce nuestros termnios y condiciones de cada uno de nuestros servicios. Si tienes algunda duda o comentario escríbenos."
52
+ }
53
+ headerType={"date-header"}
54
+ />
55
+ </div>,
56
+ <label className="label-terms" key={"6"}>Aviso de privacidad</label>,
57
+ <div className="checkbox-terms" key={"7"}>
58
+ <input type="checkbox" />
59
+ <ScreenHeader
60
+ text={"Todos los datos estan protegidos."}
61
+ headerType={"date-header"}
62
+ />
63
+ </div>,
64
+ <div className="button-end" key="8">
65
+ <Button
66
+ buttonType={"general-default-button"}
67
+ label={"Enviar"}
68
+ onClick={(e) => validate(e)}
69
+ />
70
+ </div>,
71
+ <div className="progress-bar" key={"9"}>
72
+ <div className="progress-bar-first-step-check"></div>
73
+ <div className="progress-bar-second-step"></div>
74
+ <div className="progress-bar-registration"></div>
75
+ </div>,
76
+ <ScreenHeader
77
+ text={"Paso 2"}
78
+ headerType={"date-header"}
79
+ color={GlobalColors.s4}
80
+ key={"10"}
81
+ />,
82
+ <div className="new-login" key="11">
83
+ <p className="pre-registro">
84
+ ¿Aún no tienes cuenta?<span> Regístrate</span>
85
+ </p>
86
+ </div>,
87
+ ];
88
+ return (
89
+ <Container>
90
+ <GradientPanel
91
+ panelColor={GlobalColors.white}
92
+ componentsArray={loginRight}
93
+ panelType={"home-login"}
94
+ ></GradientPanel>
95
+ </Container>
96
+ );
97
+ };
@@ -0,0 +1,59 @@
1
+ import styled from "styled-components";
2
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ display: flex;
6
+ width: 50%;
7
+ height: 100vh;
8
+ .button-end {
9
+ text-align: end;
10
+ .general-default-button {
11
+ width: 160px;
12
+ }
13
+ & + * {
14
+ margin-top: 10px;
15
+ }
16
+ }
17
+ .progress-bar {
18
+ width: 100%;
19
+ height: 8px;
20
+ display: flex;
21
+ justify-content: space-between;
22
+ .progress-bar-first-step-check {
23
+ width: 33.33%;
24
+ background-color: ${GlobalColors.exported};
25
+ }
26
+ .progress-bar-second-step {
27
+ width: 33.33%;
28
+ background-color: rgb(196, 196, 196);
29
+ }
30
+ .progress-bar-registration {
31
+ background-color: rgb(226, 226, 226);
32
+ width: 33.33%;
33
+ }
34
+ }
35
+ .date-header {
36
+ margin-left: 33.33%;
37
+ }
38
+ .checkbox-terms {
39
+ display: flex;
40
+ margin-bottom: 5px;
41
+ input {
42
+ cursor: pointer;
43
+ & + * {
44
+ margin-left: 15px;
45
+ }
46
+ }
47
+ }
48
+ .label-terms {
49
+ color: rgb(129, 115, 147);
50
+ font-size: 13px;
51
+ line-height: 24px;
52
+ font-weight: 700;
53
+ cursor: pointer;
54
+ margin-left: 25px;
55
+ & + * {
56
+ margin-top: 5px;
57
+ }
58
+ }
59
+ `;
@@ -0,0 +1,11 @@
1
+ import { RegistrationThirdStep } from "./index";
2
+
3
+ export default {
4
+ title: "Components/molecules/RegistrationThirdStep",
5
+ component: RegistrationThirdStep,
6
+ };
7
+ const Template = (args) => <RegistrationThirdStep {...args} />;
8
+
9
+ export const RegistrationThirdStepDefault = Template.bind({});
10
+
11
+ RegistrationThirdStepDefault.args = {};