contentoh-components-library 21.0.63 → 21.0.64

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 (246) hide show
  1. package/.env.development +5 -18
  2. package/.env.production +3 -16
  3. package/CHANGELOG.md +33 -31
  4. package/dist/assets/images/carouselImagesLogin/login2.svg +117 -0
  5. package/dist/assets/images/carouselImagesLogin/login3.svg +147 -0
  6. package/dist/assets/images/carouselImagesLogin/loginImage.svg +301 -0
  7. package/dist/assets/images/sliderToolTip/infoIcon.svg +4 -0
  8. package/dist/assets/images/sliderToolTip/slide1.svg +5 -0
  9. package/dist/assets/images/sliderToolTip/slide2.svg +9 -0
  10. package/dist/assets/images/sliderToolTip/slide3.svg +9 -0
  11. package/dist/assets/images/sliderToolTip/slide4.svg +9 -0
  12. package/dist/assets/images/sliderToolTip/slide5.svg +40 -0
  13. package/dist/components/atoms/AsignationOption/index.js +5 -9
  14. package/dist/components/atoms/AsignationOption/styles.js +1 -1
  15. package/dist/components/atoms/CheckBox/index.js +2 -4
  16. package/dist/components/atoms/GeneralButton/index.js +0 -5
  17. package/dist/components/atoms/GeneralButton/styles.js +2 -4
  18. package/dist/components/atoms/GeneralInput/index.js +25 -72
  19. package/dist/components/atoms/GeneralInput/styles.js +1 -7
  20. package/dist/components/atoms/GenericModal/index.js +2 -4
  21. package/dist/components/atoms/GenericModal/styles.js +1 -1
  22. package/dist/components/atoms/GradientPanel/styles.js +1 -1
  23. package/dist/components/atoms/ListCommercialRetailers/ListCommercialRetailers.stories.js +36 -0
  24. package/dist/components/atoms/ListCommercialRetailers/index.js +64 -0
  25. package/dist/components/atoms/ListCommercialRetailers/styles.js +20 -0
  26. package/dist/components/atoms/Loading/Loading.stories.js +28 -0
  27. package/dist/components/atoms/Loading/index.js +1 -0
  28. package/dist/components/atoms/LogoImage/index.js +1 -0
  29. package/dist/components/atoms/MenuCommercialRetailers/MenuCommercialRetailers.stories.js +37 -0
  30. package/dist/components/atoms/MenuCommercialRetailers/index.js +25 -0
  31. package/dist/components/{molecules/RetailerSelector → atoms/MenuCommercialRetailers}/styles.js +1 -1
  32. package/dist/components/atoms/MenuProductImage/MenuProductImage.stories.js +28 -0
  33. package/dist/components/atoms/MenuProductImage/index.js +88 -0
  34. package/dist/components/atoms/MenuProductImage/styles.js +20 -0
  35. package/dist/components/atoms/PriorityFlag/index.js +1 -1
  36. package/dist/components/atoms/ProductImage/styles.js +1 -1
  37. package/dist/components/atoms/ProgressBar/index.js +2 -2
  38. package/dist/components/atoms/ProgressBar/styles.js +5 -3
  39. package/dist/components/atoms/ScreenHeader/index.js +1 -1
  40. package/dist/components/atoms/ScreenHeader/styles.js +1 -1
  41. package/dist/components/atoms/SliderToolTip/SliderToolTip.stories.js +47 -0
  42. package/dist/components/atoms/SliderToolTip/index.js +200 -0
  43. package/dist/components/atoms/SliderToolTip/styles.js +24 -0
  44. package/dist/components/atoms/StatusTag/index.js +2 -37
  45. package/dist/components/atoms/StatusTag/styles.js +1 -1
  46. package/dist/components/atoms/ValidationPanel/index.js +3 -4
  47. package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +22 -0
  48. package/dist/components/atoms/VerticalSideMenuMainPage/index.js +49 -0
  49. package/dist/components/atoms/{Commentary → VerticalSideMenuMainPage}/styles.js +1 -6
  50. package/dist/components/molecules/ApproveRejetPanel/ApproveRejetPanel.stories.js +25 -0
  51. package/dist/components/molecules/ApproveRejetPanel/index.js +49 -0
  52. package/dist/components/{atoms/CharCounter → molecules/ApproveRejetPanel}/styles.js +1 -3
  53. package/dist/components/molecules/AvatarAndValidation/index.js +7 -17
  54. package/dist/components/molecules/AvatarAndValidation/styles.js +1 -1
  55. package/dist/components/molecules/CarouselImagesLogin/index.js +40 -42
  56. package/dist/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +28 -0
  57. package/dist/components/molecules/EmailResetPasswordLogin/index.js +153 -0
  58. package/dist/components/molecules/EmailResetPasswordLogin/styles.js +20 -0
  59. package/dist/components/molecules/FeaturesBar/index.js +1 -1
  60. package/dist/components/molecules/GalleryElement/index.js +21 -80
  61. package/dist/components/molecules/GalleryElement/styles.js +1 -1
  62. package/dist/components/molecules/GalleryHeader/index.js +6 -28
  63. package/dist/components/molecules/GalleryHeader/styles.js +1 -1
  64. package/dist/components/molecules/ImageSelector/index.js +4 -2
  65. package/dist/components/molecules/LoginPasswordStrength/index.js +9 -9
  66. package/dist/components/molecules/LoginPasswordStrength/styles.js +1 -1
  67. package/dist/components/{atoms/CharCounter/CharCounter.stories.js → molecules/LogoLoading/Loading.stories.js} +7 -10
  68. package/dist/components/molecules/LogoLoading/index.js +22 -0
  69. package/dist/components/molecules/LogoLoading/styles.js +18 -0
  70. package/dist/components/molecules/ProductNameHeader/index.js +2 -1
  71. package/dist/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +28 -0
  72. package/dist/components/molecules/RegistrationFirstStep/index.js +308 -0
  73. package/dist/components/molecules/RegistrationFirstStep/styles.js +20 -0
  74. package/dist/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +28 -0
  75. package/dist/components/molecules/RegistrationSecondStep/index.js +173 -0
  76. package/dist/components/molecules/RegistrationSecondStep/styles.js +20 -0
  77. package/dist/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +28 -0
  78. package/dist/components/molecules/RegistrationThirdStep/index.js +155 -0
  79. package/dist/components/molecules/RegistrationThirdStep/styles.js +20 -0
  80. package/dist/components/molecules/SignInLogin/SignInLogin.stories.js +28 -0
  81. package/dist/components/molecules/SignInLogin/index.js +291 -0
  82. package/dist/components/molecules/SignInLogin/styles.js +20 -0
  83. package/dist/components/molecules/SignInLoginCreationApp/SignInLogin.stories.js +28 -0
  84. package/dist/components/molecules/SignInLoginCreationApp/index.js +270 -0
  85. package/dist/components/molecules/SignInLoginCreationApp/styles.js +20 -0
  86. package/dist/components/molecules/StatusAsignationInfo/index.js +25 -46
  87. package/dist/components/molecules/StatusAsignationInfo/styles.js +1 -1
  88. package/dist/components/molecules/TableHeader/index.js +5 -12
  89. package/dist/components/molecules/TableHeader/styles.js +1 -1
  90. package/dist/components/molecules/TagAndInput/index.js +2 -24
  91. package/dist/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +28 -0
  92. package/dist/components/molecules/VerificationCodeResetPasswordLogin/index.js +211 -0
  93. package/dist/components/molecules/VerificationCodeResetPasswordLogin/styles.js +20 -0
  94. package/dist/components/molecules/VerificationCodeResetPasswordLogin/utils.js +69 -0
  95. package/dist/components/{atoms/InputFormatter/Wysiwyg.stories.js → organisms/ChangePassword/ChangePassword.stories.js} +7 -9
  96. package/dist/components/organisms/ChangePassword/index.js +124 -0
  97. package/dist/components/organisms/ChangePassword/styles.js +18 -0
  98. package/dist/components/organisms/FullProductNameHeader/index.js +8 -32
  99. package/dist/components/organisms/FullTabsMenu/index.js +5 -18
  100. package/dist/components/organisms/ImageDataTable/index.js +14 -90
  101. package/dist/components/organisms/InputGroup/index.js +13 -34
  102. package/dist/components/organisms/InputGroup/styles.js +1 -1
  103. package/dist/components/organisms/ProductImageModal/index.js +11 -15
  104. package/dist/components/organisms/ProductImageModal/styles.js +1 -1
  105. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +347 -91
  106. package/dist/components/pages/RetailerProductEdition/index.js +60 -1608
  107. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  108. package/dist/global-files/data.js +53 -212
  109. package/dist/global-files/global-styles.css +0 -1
  110. package/dist/global-files/variables.js +0 -1
  111. package/dist/index.js +277 -30
  112. package/package.json +14 -12
  113. package/src/assets/images/sliderToolTip/infoIcon.svg +4 -0
  114. package/src/assets/images/sliderToolTip/slide1.svg +5 -0
  115. package/src/assets/images/sliderToolTip/slide2.svg +9 -0
  116. package/src/assets/images/sliderToolTip/slide3.svg +9 -0
  117. package/src/assets/images/sliderToolTip/slide4.svg +9 -0
  118. package/src/assets/images/sliderToolTip/slide5.svg +40 -0
  119. package/src/components/atoms/AsignationOption/index.js +5 -7
  120. package/src/components/atoms/AsignationOption/styles.js +1 -9
  121. package/src/components/atoms/CheckBox/index.js +2 -8
  122. package/src/components/atoms/GeneralButton/index.js +2 -9
  123. package/src/components/atoms/GeneralButton/styles.js +0 -23
  124. package/src/components/atoms/GeneralInput/index.js +23 -71
  125. package/src/components/atoms/GeneralInput/styles.js +1 -11
  126. package/src/components/atoms/GenericModal/index.js +2 -2
  127. package/src/components/atoms/GenericModal/styles.js +2 -10
  128. package/src/components/atoms/GradientPanel/styles.js +1 -0
  129. package/src/components/atoms/Loading/Loading.stories.js +10 -0
  130. package/src/components/atoms/Loading/index.js +3 -2
  131. package/src/components/atoms/LogoImage/index.js +1 -1
  132. package/src/components/atoms/PriorityFlag/index.js +1 -1
  133. package/src/components/atoms/ProductImage/styles.js +1 -1
  134. package/src/components/atoms/ProgressBar/index.js +2 -2
  135. package/src/components/atoms/ProgressBar/styles.js +3 -54
  136. package/src/components/atoms/ScreenHeader/index.js +3 -7
  137. package/src/components/atoms/ScreenHeader/styles.js +2 -9
  138. package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +23 -0
  139. package/src/components/atoms/SliderToolTip/index.js +182 -0
  140. package/src/components/atoms/SliderToolTip/styles.js +168 -0
  141. package/src/components/atoms/StatusTag/index.js +2 -30
  142. package/src/components/atoms/StatusTag/styles.js +3 -15
  143. package/src/components/atoms/ValidationPanel/index.js +3 -3
  144. package/src/components/molecules/AvatarAndValidation/index.js +6 -24
  145. package/src/components/molecules/AvatarAndValidation/styles.js +1 -1
  146. package/src/components/molecules/CarouselImagesLogin/index.js +34 -37
  147. package/src/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +11 -0
  148. package/src/components/molecules/EmailResetPasswordLogin/index.js +85 -0
  149. package/src/components/molecules/EmailResetPasswordLogin/styles.js +23 -0
  150. package/src/components/molecules/FeaturesBar/index.js +7 -10
  151. package/src/components/molecules/GalleryElement/index.js +36 -75
  152. package/src/components/molecules/GalleryElement/styles.js +11 -38
  153. package/src/components/molecules/GalleryHeader/index.js +8 -14
  154. package/src/components/molecules/GalleryHeader/styles.js +0 -16
  155. package/src/components/molecules/ImageSelector/index.js +3 -2
  156. package/src/components/molecules/LoginPasswordStrength/index.js +11 -6
  157. package/src/components/molecules/LoginPasswordStrength/styles.js +5 -1
  158. package/src/components/molecules/LogoLoading/Loading.stories.js +10 -0
  159. package/src/components/molecules/LogoLoading/index.js +12 -0
  160. package/src/components/molecules/LogoLoading/styles.js +16 -0
  161. package/src/components/molecules/ProductNameHeader/index.js +2 -1
  162. package/src/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +11 -0
  163. package/src/components/molecules/RegistrationFirstStep/index.js +227 -0
  164. package/src/components/molecules/RegistrationFirstStep/styles.js +87 -0
  165. package/src/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +11 -0
  166. package/src/components/molecules/RegistrationSecondStep/index.js +136 -0
  167. package/src/components/molecules/RegistrationSecondStep/styles.js +64 -0
  168. package/src/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +11 -0
  169. package/src/components/molecules/RegistrationThirdStep/index.js +130 -0
  170. package/src/components/molecules/RegistrationThirdStep/styles.js +44 -0
  171. package/src/components/molecules/SignInLogin/SignInLogin.stories.js +11 -0
  172. package/src/components/molecules/SignInLogin/index.js +201 -0
  173. package/src/components/molecules/SignInLogin/styles.js +79 -0
  174. package/src/components/molecules/StatusAsignationInfo/index.js +38 -62
  175. package/src/components/molecules/StatusAsignationInfo/styles.js +2 -12
  176. package/src/components/molecules/TableHeader/index.js +3 -16
  177. package/src/components/molecules/TableHeader/styles.js +0 -5
  178. package/src/components/molecules/TagAndInput/index.js +2 -24
  179. package/src/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +11 -0
  180. package/src/components/molecules/VerificationCodeResetPasswordLogin/index.js +171 -0
  181. package/src/components/molecules/VerificationCodeResetPasswordLogin/styles.js +54 -0
  182. package/src/components/molecules/VerificationCodeResetPasswordLogin/utils.js +54 -0
  183. package/src/components/organisms/ChangePassword/ChangePassword.stories.js +11 -0
  184. package/src/components/organisms/ChangePassword/index.js +77 -0
  185. package/src/components/organisms/ChangePassword/styles.js +13 -0
  186. package/src/components/organisms/FullProductNameHeader/index.js +7 -28
  187. package/src/components/organisms/FullTabsMenu/index.js +3 -15
  188. package/src/components/organisms/ImageDataTable/index.js +11 -89
  189. package/src/components/organisms/InputGroup/index.js +11 -46
  190. package/src/components/organisms/InputGroup/styles.js +0 -3
  191. package/src/components/organisms/ProductImageModal/index.js +12 -20
  192. package/src/components/organisms/ProductImageModal/styles.js +0 -3
  193. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +343 -91
  194. package/src/components/pages/RetailerProductEdition/index.js +48 -1238
  195. package/src/components/pages/RetailerProductEdition/styles.js +4 -67
  196. package/src/global-files/data.js +57 -156
  197. package/src/global-files/global-styles.css +0 -1
  198. package/src/global-files/variables.js +0 -1
  199. package/src/index.js +20 -1
  200. package/dist/assets/images/generalButton/downloadIcon.svg +0 -3
  201. package/dist/assets/images/modalsSVGs/attributesSent.svg +0 -208
  202. package/dist/assets/images/modalsSVGs/descriptionSent.svg +0 -237
  203. package/dist/assets/images/modalsSVGs/providerSent.svg +0 -445
  204. package/dist/assets/images/modalsSVGs/uploadingImages.svg +0 -148
  205. package/dist/components/atoms/CharCounter/index.js +0 -22
  206. package/dist/components/atoms/Commentary/Commentary.stories.js +0 -1
  207. package/dist/components/atoms/Commentary/index.js +0 -23
  208. package/dist/components/atoms/Input/index.js +0 -26
  209. package/dist/components/atoms/Input/style.js +0 -26
  210. package/dist/components/atoms/InputFormatter/index.js +0 -184
  211. package/dist/components/atoms/InputFormatter/styles.js +0 -33
  212. package/dist/components/atoms/LabelToInput/index.js +0 -53
  213. package/dist/components/atoms/LabelToInput/style.js +0 -22
  214. package/dist/components/atoms/Percent/Percent.stories.js +0 -39
  215. package/dist/components/atoms/Percent/index.js +0 -39
  216. package/dist/components/atoms/Percent/styles.js +0 -20
  217. package/dist/components/atoms/Select/index.js +0 -39
  218. package/dist/components/atoms/Select/style.js +0 -32
  219. package/dist/components/molecules/RetailerSelector/RetailerSelector.stories.js +0 -48
  220. package/dist/components/molecules/RetailerSelector/index.js +0 -74
  221. package/dist/components/molecules/TextAndGradient/TextAndGradient.stories.js +0 -31
  222. package/dist/components/molecules/TextAndGradient/index.js +0 -36
  223. package/dist/components/molecules/TextAndGradient/styles.js +0 -18
  224. package/src/assets/images/generalButton/downloadIcon.svg +0 -3
  225. package/src/assets/images/modalsSVGs/attributesSent.svg +0 -208
  226. package/src/assets/images/modalsSVGs/descriptionSent.svg +0 -237
  227. package/src/assets/images/modalsSVGs/providerSent.svg +0 -445
  228. package/src/assets/images/modalsSVGs/uploadingImages.svg +0 -148
  229. package/src/components/atoms/CharCounter/CharCounter.stories.js +0 -11
  230. package/src/components/atoms/CharCounter/index.js +0 -13
  231. package/src/components/atoms/CharCounter/styles.js +0 -10
  232. package/src/components/atoms/Commentary/Commentary.stories.js +0 -0
  233. package/src/components/atoms/Commentary/index.js +0 -9
  234. package/src/components/atoms/Commentary/styles.js +0 -16
  235. package/src/components/atoms/Input/index.js +0 -15
  236. package/src/components/atoms/Input/style.js +0 -31
  237. package/src/components/atoms/InputFormatter/Wysiwyg.stories.js +0 -12
  238. package/src/components/atoms/InputFormatter/index.js +0 -144
  239. package/src/components/atoms/InputFormatter/styles.js +0 -40
  240. package/src/components/atoms/LabelToInput/index.js +0 -26
  241. package/src/components/atoms/LabelToInput/style.js +0 -41
  242. package/src/components/atoms/Select/index.js +0 -35
  243. package/src/components/atoms/Select/style.js +0 -76
  244. package/src/components/molecules/RetailerSelector/RetailerSelector.stories.js +0 -35
  245. package/src/components/molecules/RetailerSelector/index.js +0 -63
  246. package/src/components/molecules/RetailerSelector/styles.js +0 -18
@@ -0,0 +1,227 @@
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(false);
18
+ const [invalidEmail, setInvalidEmail] = useState(false);
19
+ const [phoneFormatError, setPhoneFormatError] = useState(false);
20
+ const [regError, setRegError] = useState(false);
21
+
22
+ useEffect(() => {
23
+ JSON.parse(sessionStorage.getItem("nuevoRegistro")).name === "" &&
24
+ sessionStorage.removeItem("registrationError");
25
+ sessionStorage.getItem("registrationError") && setRegError(true);
26
+ if (sessionStorage.getItem("registrationError")) {
27
+ setEmptyName(false);
28
+ setEmptyLastName(false);
29
+ setEmptyEmail(false);
30
+ setEmptyJob(false);
31
+ setEmptyCountry(false);
32
+ setEmptyPhone(false);
33
+ }
34
+ sessionStorage.getItem("resetPasswordProcess") &&
35
+ sessionStorage.getItem("resetPasswordProcess");
36
+ }, []);
37
+ const validate = (evt) => {
38
+ const name = document.querySelector("#nameInput").value;
39
+ const lastName = document.querySelector("#lastNameInput").value;
40
+ const email = document.querySelector("#emailInput").value;
41
+ const job = document.querySelector("#jobInput").value;
42
+ const phone = document.querySelector("#phoneInput").value;
43
+ const country = document.querySelector("#countrySelect").value;
44
+ const countryCode = document.querySelector("#countryCodeSelect").value;
45
+ let valid = true;
46
+ evt.preventDefault();
47
+ name === "" ? setEmptyName(true) : setEmptyName(false);
48
+ lastName === "" ? setEmptyLastName(true) : setEmptyLastName(false);
49
+ email === "" ? setEmptyEmail(true) : setEmptyEmail(false);
50
+ job === "" ? setEmptyJob(true) : setEmptyJob(false);
51
+ phone === "" ? setEmptyPhone(true) : setEmptyPhone(false);
52
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
53
+ email
54
+ )
55
+ ? setInvalidEmail(true)
56
+ : setInvalidEmail(false);
57
+ let invalidPhone = true;
58
+ country === "value" ? setEmptyCountry(true) : setEmptyCountry(false);
59
+ Array.from(phone).forEach((digit, i) => {
60
+ phone.charCodeAt(i) < 48
61
+ ? setPhoneFormatError(true)
62
+ : (invalidPhone = false);
63
+ phone.charCodeAt(i) > 57
64
+ ? setPhoneFormatError(true)
65
+ : (invalidPhone = false);
66
+ });
67
+ if (
68
+ name === "" ||
69
+ lastName === "" ||
70
+ email === "" ||
71
+ job === "" ||
72
+ phone === "" ||
73
+ country === "value" ||
74
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
75
+ email
76
+ ) ||
77
+ invalidPhone
78
+ ) {
79
+ valid = false;
80
+ } else valid = true;
81
+ let nuevoUsuario = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
82
+ if (valid) {
83
+ sessionStorage.setItem("countryCode", JSON.stringify(countryCode));
84
+ nuevoUsuario.name = name;
85
+ nuevoUsuario.lastName = lastName;
86
+ nuevoUsuario.email = email;
87
+ nuevoUsuario.position = job;
88
+ nuevoUsuario.phone = `${JSON.parse(
89
+ sessionStorage.getItem("countryCode")
90
+ )}${phone}`;
91
+ nuevoUsuario.country = country;
92
+ sessionStorage.setItem("nuevoRegistro", JSON.stringify(nuevoUsuario));
93
+ !regError && valid && props.setPaso((paso) => props.paso + 1);
94
+ regError && valid && props.setPaso(4);
95
+ }
96
+ };
97
+
98
+ const loginRight = [
99
+ <LogoImage key="1" />,
100
+ <div className="credenciales" key={"2"}>
101
+ <ScreenHeader
102
+ fontFamily={FontFamily.AvenirNext}
103
+ color={GlobalColors.s5}
104
+ text={"Ingresa tus credenciales"}
105
+ />
106
+ </div>,
107
+ <div className="user" key="3">
108
+ <div className="name-registration-user">
109
+ <TagAndInput
110
+ inputType={"text"}
111
+ inputId={"nameInput"}
112
+ label={"Nombre"}
113
+ inputPlaceHolder={"Nombre"}
114
+ required={"required"}
115
+ />
116
+ <TagAndInput
117
+ inputType={"text"}
118
+ inputId={"lastNameInput"}
119
+ label={"Apellido"}
120
+ inputPlaceHolder={"Apellido"}
121
+ required={"required"}
122
+ />
123
+ </div>
124
+ {emptyName && <label>Ingrese su nombre</label>}
125
+ {emptyLastName && (
126
+ <label className="lastname">Ingrese sus apellidos</label>
127
+ )}
128
+ <TagAndInput
129
+ inputType={"text"}
130
+ inputId={"emailInput"}
131
+ label={"Correo electrónico"}
132
+ inputPlaceHolder={"username@contentoh.com"}
133
+ required={"required"}
134
+ />
135
+ {regError &&
136
+ JSON.parse(sessionStorage.getItem("registrationError")) ===
137
+ "emailExists" && (
138
+ <label>Ya existe una cuenta asociada a este correo</label>
139
+ )}
140
+ {emptyEmail && <label>Ingrese su email</label>}
141
+ {invalidEmail && !emptyEmail && <label>Ingrese un correo válido</label>}
142
+ <TagAndInput
143
+ inputType={"text"}
144
+ inputId={"jobInput"}
145
+ label={"Puesto laboral"}
146
+ inputPlaceHolder={"Puesto dentro de la empresa"}
147
+ required={"required"}
148
+ />
149
+ {emptyJob && <label>Ingrese su puesto</label>}
150
+ <ScreenHeader text={"Teléfono"} headerType={"input-name-header"} />
151
+ <div className="phone-registration-user">
152
+ <select name="select" className="phone-options" id="countryCodeSelect">
153
+ <option>+52</option>
154
+ <option>+54</option>
155
+ <option>+57</option>
156
+ <option>+506</option>
157
+ <option>+593</option>
158
+ <option>+503</option>
159
+ <option>+504</option>
160
+ <option>+507</option>
161
+ <option>+51</option>
162
+ </select>
163
+ <GeneralInput
164
+ inputId={"phoneInput"}
165
+ inputType={"text"}
166
+ inputPlaceholder={"Teléfono"}
167
+ required={"required"}
168
+ />
169
+ </div>
170
+ {regError &&
171
+ JSON.parse(sessionStorage.getItem("registrationError")) ===
172
+ "phoneFormatError" && <label>Introduzca un número válido</label>}
173
+ {emptyPhone && <label>Ingrese su número de teléfono</label>}
174
+ {phoneFormatError && (
175
+ <label>Introduzca un número valido ( Solo numeros )</label>
176
+ )}
177
+ <ScreenHeader text={"País"} headerType={"input-name-header"} />
178
+ <select name="select" className="country-options" id="countrySelect">
179
+ <option value="value" selected>
180
+ Selecciona tu país
181
+ </option>
182
+ <option value="Argentina">Argentina</option>
183
+ <option value="Colombia">Colombia</option>
184
+ <option value="Ecuador">Ecuador</option>
185
+ <option value="El Salvador">El Salvador</option>
186
+ <option value="Honduras">Honduras</option>
187
+ <option value="México">México</option>
188
+ <option value="Panamá">Panamá</option>
189
+ <option value="Perú">Perú</option>
190
+ </select>
191
+ {emptyCountry && <label>Seleccione su país</label>}
192
+ </div>,
193
+ <div className="button-end" key="4">
194
+ <Button
195
+ buttonType={"general-default-button"}
196
+ label={"Enviar"}
197
+ onClick={(e) => {
198
+ validate(e);
199
+ }}
200
+ />
201
+ </div>,
202
+ <div className="progress-bar" key="5">
203
+ <div className="progress-bar-first-step"></div>
204
+ <div className="progress-bar-registration"></div>
205
+ </div>,
206
+ <ScreenHeader
207
+ text={"Paso 1"}
208
+ headerType={"date-header"}
209
+ color={GlobalColors.s4}
210
+ key="6"
211
+ />,
212
+ <div className="new-login" key="7">
213
+ <p className="pre-registro" onClick={() => props.setPaso(7)}>
214
+ ¿Ya tienes una cuenta?<span> Inicia Sesión</span>
215
+ </p>
216
+ </div>,
217
+ ];
218
+ return (
219
+ <Container>
220
+ <GradientPanel
221
+ componentsArray={loginRight}
222
+ panelType={"home-login"}
223
+ panelColor={GlobalColors.white}
224
+ />
225
+ </Container>
226
+ );
227
+ };
@@ -0,0 +1,87 @@
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
+ .lastname {
17
+ margin-left: 69%;
18
+ }
19
+ .input-name-header {
20
+ margin-bottom: 4px;
21
+ margin-top: 12px;
22
+ }
23
+ .phone-registration-user {
24
+ display: flex;
25
+ justify-content: space-between;
26
+ .phone-options {
27
+ width: 80px;
28
+ }
29
+ input {
30
+ width: 100%;
31
+ }
32
+ & + * {
33
+ margin-top: 10px;
34
+ }
35
+ }
36
+ .country-options,
37
+ .phone-options {
38
+ width: 100%;
39
+ border: 1px solid ${GlobalColors.s2};
40
+ font-family: ${FontFamily.AvenirNext};
41
+ color: ${GlobalColors.s4};
42
+ font-weight: normal;
43
+ font-size: 12px;
44
+ line-height: 15px;
45
+ padding: 10px;
46
+ outline: none;
47
+ border-radius: 2px;
48
+ resize: none;
49
+ &:focus {
50
+ border: 1px solid ${GlobalColors.magenta_s2};
51
+ }
52
+ }
53
+ }
54
+ .button-end {
55
+ text-align: end;
56
+ .general-default-button {
57
+ width: 160px;
58
+ }
59
+ & + * {
60
+ margin-top: 10px;
61
+ }
62
+ }
63
+ .progress-bar {
64
+ width: 100%;
65
+ height: 8px;
66
+ display: flex;
67
+ justify-content: space-between;
68
+ .progress-bar-first-step {
69
+ width: 33.33%;
70
+ background-color: rgb(196, 196, 196);
71
+ }
72
+ .progress-bar-registration {
73
+ background-color: rgb(226, 226, 226);
74
+ width: 66.66%;
75
+ }
76
+ }
77
+ .date-header {
78
+ .new-login {
79
+ & + * {
80
+ margin-top: 20px;
81
+ }
82
+ }
83
+ }
84
+ .pre-registro {
85
+ cursor: pointer;
86
+ }
87
+ `;
@@ -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,136 @@
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 = (props) => {
11
+ const [privacyCheck, setPrivacyCheck] = useState(false);
12
+ const [termsCheck, setTermsCheck] = useState(false);
13
+ const [emptyPassword, setEmptyPassword] = useState(false);
14
+ const [emptyConfirmPassword, setEmptyConfirmPassword] = useState(false);
15
+ const [matchPasswords, setMatchPasswords] = useState(true);
16
+ let nuevoUsuario = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
17
+
18
+ const validateForm = (evt, valid) => {
19
+ evt.preventDefault();
20
+ const password = document.querySelector("#newPasswordInput").value;
21
+ !termsCheck && (valid = false);
22
+ !privacyCheck && (valid = false);
23
+ if (valid) {
24
+ console.log(valid)
25
+ nuevoUsuario.password = password;
26
+ sessionStorage.setItem("nuevoRegistro", JSON.stringify(nuevoUsuario));
27
+ valid && props.setPaso(3);
28
+ }
29
+ };
30
+ const validate = (e) => {
31
+ e.preventDefault();
32
+ let valid = true;
33
+ const password = document.querySelector("#newPasswordInput").value;
34
+ password.length < 8 ? setEmptyPassword(true) : setEmptyPassword(false);
35
+ const confirmPassword = document.querySelector(
36
+ "#confirmPasswordInput"
37
+ ).value;
38
+ confirmPassword === ""
39
+ ? setEmptyConfirmPassword(true)
40
+ : setEmptyConfirmPassword(false);
41
+ password === confirmPassword
42
+ ? setMatchPasswords(true)
43
+ : setMatchPasswords(false);
44
+ if (
45
+ password.length < 8 ||
46
+ confirmPassword === "" ||
47
+ password !== confirmPassword
48
+ ) {
49
+ valid = false;
50
+ }
51
+ return valid;
52
+ };
53
+ const loginRight = [
54
+ <LogoImage key="1" />,
55
+ <div className="credenciales" key={"2"}>
56
+ <ScreenHeader
57
+ fontFamily={FontFamily.AvenirNext}
58
+ color={GlobalColors.s5}
59
+ text={"Ingresa tus credenciales"}
60
+ />
61
+ </div>,
62
+ <LoginPasswordStrength
63
+ key={"3"}
64
+ emptyPassword={emptyPassword}
65
+ emptyConfirmPassword={emptyConfirmPassword}
66
+ matchPasswords={matchPasswords}
67
+ textTittle={"Ingresa tus credenciales"}
68
+ required={"required"}
69
+ />,
70
+ <label className="label-terms" key={"4"}>
71
+ Términos y condiciones
72
+ </label>,
73
+ <div className="checkbox-terms" key={"5"}>
74
+ <input type="checkbox" onClick={(e) => setTermsCheck(e.target.checked)} />
75
+ <ScreenHeader
76
+ text={
77
+ "Conoce nuestros termnios y condiciones de cada uno de nuestros servicios. Si tienes algunda duda o comentario escríbenos."
78
+ }
79
+ headerType={"date-header"}
80
+ />
81
+ </div>,
82
+ <label className="label-terms" key={"6"}>
83
+ Aviso de privacidad
84
+ </label>,
85
+ <div className="checkbox-terms" key={"7"}>
86
+ <input
87
+ type="checkbox"
88
+ onClick={(e) => setPrivacyCheck(e.target.checked)}
89
+ />
90
+ <ScreenHeader
91
+ text={"Todos los datos estan protegidos."}
92
+ headerType={"date-header"}
93
+ />
94
+ </div>,
95
+ <div className="button-end" key="8">
96
+ {(!termsCheck || !privacyCheck) && (
97
+ <label className="terms">
98
+ *Aceptar los términos y condiciones y el aviso de privacidad
99
+ </label>
100
+ )}
101
+ <Button
102
+ buttonType={"general-default-button"}
103
+ label={"Enviar"}
104
+ onClick={(e) => {
105
+ let flag = validate(e);
106
+ validateForm(e, flag);
107
+ }}
108
+ />
109
+ </div>,
110
+ <div className="progress-bar" key={"9"}>
111
+ <div className="progress-bar-first-step-check"></div>
112
+ <div className="progress-bar-second-step"></div>
113
+ <div className="progress-bar-registration"></div>
114
+ </div>,
115
+ <ScreenHeader
116
+ text={"Paso 2"}
117
+ headerType={"date-header"}
118
+ color={GlobalColors.s4}
119
+ key={"10"}
120
+ />,
121
+ <div className="new-login" key="11">
122
+ <p className="pre-registro">
123
+ ¿Aún no tienes cuenta?<span> Regístrate</span>
124
+ </p>
125
+ </div>,
126
+ ];
127
+ return (
128
+ <Container>
129
+ <GradientPanel
130
+ panelColor={GlobalColors.white}
131
+ componentsArray={loginRight}
132
+ panelType={"home-login"}
133
+ ></GradientPanel>
134
+ </Container>
135
+ );
136
+ };
@@ -0,0 +1,64 @@
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
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: flex-end;
12
+ .general-default-button {
13
+ width: 160px;
14
+ }
15
+ .terms{
16
+ margin-bottom: 5px;
17
+ }
18
+ & + * {
19
+ margin-top: 10px;
20
+ }
21
+ }
22
+ .progress-bar {
23
+ width: 100%;
24
+ height: 8px;
25
+ display: flex;
26
+ justify-content: space-between;
27
+ .progress-bar-first-step-check {
28
+ width: 33.33%;
29
+ background-color: ${GlobalColors.exported};
30
+ }
31
+ .progress-bar-second-step {
32
+ width: 33.33%;
33
+ background-color: rgb(196, 196, 196);
34
+ }
35
+ .progress-bar-registration {
36
+ background-color: rgb(226, 226, 226);
37
+ width: 33.33%;
38
+ }
39
+ }
40
+ .date-header {
41
+ margin-left: 33.33%;
42
+ }
43
+ .checkbox-terms {
44
+ display: flex;
45
+ margin-bottom: 5px;
46
+ input {
47
+ cursor: pointer;
48
+ & + * {
49
+ margin-left: 15px;
50
+ }
51
+ }
52
+ }
53
+ .label-terms {
54
+ color: rgb(129, 115, 147);
55
+ font-size: 13px;
56
+ line-height: 24px;
57
+ font-weight: 700;
58
+ cursor: pointer;
59
+ margin-left: 25px;
60
+ & + * {
61
+ margin-top: 5px;
62
+ }
63
+ }
64
+ `;
@@ -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 = {};
@@ -0,0 +1,130 @@
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
+
10
+ export const RegistrationThirdStep = (props) => {
11
+ const [emptyCommercialName, setEmptyCommercialName] = useState(false);
12
+ const [emptyBussinesName, setEmptyBussinesName] = useState(false);
13
+ const [emptyRFC, setEmptyRFC] = useState(false);
14
+ const [emptyFiscalAddress, setEmptyFiscalAddress] = useState(false);
15
+
16
+ let nuevoRegistro = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
17
+
18
+ const validate = (e) => {
19
+ e.preventDefault();
20
+ let valid = true;
21
+ const commercialName = document.querySelector("#commercialNameInput").value;
22
+ const bussinesName = document.querySelector("#bussinesNameInput").value;
23
+ const RFC = document.querySelector("#rfcInput").value;
24
+ const FiscalAddress = document.querySelector("#fiscalAddressInput").value;
25
+ commercialName === ""
26
+ ? setEmptyCommercialName(true)
27
+ : setEmptyCommercialName(false);
28
+ bussinesName === ""
29
+ ? setEmptyBussinesName(true)
30
+ : setEmptyBussinesName(false);
31
+ RFC === "" ? setEmptyRFC(true) : setEmptyRFC(false);
32
+ FiscalAddress === ""
33
+ ? setEmptyFiscalAddress(true)
34
+ : setEmptyFiscalAddress(false);
35
+ if (
36
+ commercialName === "" ||
37
+ bussinesName === "" ||
38
+ RFC === "" ||
39
+ FiscalAddress === ""
40
+ ) {
41
+ valid = false;
42
+ }
43
+ if (valid) {
44
+ nuevoRegistro.commercialName = commercialName;
45
+ nuevoRegistro.companyName = bussinesName;
46
+ nuevoRegistro.rfc = RFC;
47
+ nuevoRegistro.adress = FiscalAddress;
48
+ sessionStorage.setItem("nuevoRegistro", JSON.stringify(nuevoRegistro));
49
+ props.setPaso(props.paso + 1);
50
+ }
51
+ };
52
+
53
+ const loginRight = [
54
+ <LogoImage key="1" />,
55
+ <div className="credenciales" key={"2"}>
56
+ <ScreenHeader
57
+ fontFamily={FontFamily.AvenirNext}
58
+ color={GlobalColors.s5}
59
+ text={"Ingresa tus credenciales"}
60
+ />
61
+ </div>,
62
+ <div className="user" key="3">
63
+ <TagAndInput
64
+ inputType={"text"}
65
+ inputId={"commercialNameInput"}
66
+ label={"Nombre comercial"}
67
+ inputPlaceHolder={"Nombre comercial"}
68
+ />
69
+ {emptyCommercialName && (
70
+ <label>Ingrese el nombre comercial de la empresa</label>
71
+ )}
72
+ <TagAndInput
73
+ inputType={"text"}
74
+ inputId={"bussinesNameInput"}
75
+ label={"Razón social"}
76
+ inputPlaceHolder={"Razón social"}
77
+ />
78
+ {emptyBussinesName && (
79
+ <label>Ingrese la razón social de la empresa</label>
80
+ )}
81
+ <TagAndInput
82
+ inputType={"text"}
83
+ inputId={"rfcInput"}
84
+ label={"RFC"}
85
+ inputPlaceHolder={"RFC"}
86
+ />
87
+ {emptyRFC && <label>El RFC es requerido</label>}
88
+ <TagAndInput
89
+ inputType={"text"}
90
+ inputId={"fiscalAddressInput"}
91
+ label={"Direccion fiscal"}
92
+ inputPlaceHolder={"Dirección fiscal"}
93
+ />
94
+ {emptyFiscalAddress && (
95
+ <label>Ingrese la direccion fiscal de la empresa</label>
96
+ )}
97
+ </div>,
98
+ <div className="button-end" key="4">
99
+ <Button
100
+ buttonType={"general-default-button"}
101
+ label={"Enviar"}
102
+ onClick={(e) => validate(e)}
103
+ />
104
+ </div>,
105
+ <div className="progress-bar" key="5">
106
+ <div className="progress-bar-step-check"></div>
107
+ <div className="progress-bar-registration"></div>
108
+ </div>,
109
+ <ScreenHeader
110
+ text={"Paso 3"}
111
+ headerType={"date-header"}
112
+ color={GlobalColors.s4}
113
+ key="6"
114
+ />,
115
+ <div className="new-login" key="7">
116
+ <p className="pre-registro">
117
+ ¿Ya tienes una cuenta?<span> Inicia Sesión</span>
118
+ </p>
119
+ </div>,
120
+ ];
121
+ return (
122
+ <Container>
123
+ <GradientPanel
124
+ componentsArray={loginRight}
125
+ panelType={"home-login"}
126
+ panelColor={GlobalColors.white}
127
+ />
128
+ </Container>
129
+ );
130
+ };