contentoh-components-library 12.0.0 → 12.1.17

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 (288) hide show
  1. package/.env.development +8 -2
  2. package/.env.production +8 -2
  3. package/CHANGELOG.md +39 -0
  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/editField/showPassword.png +0 -0
  8. package/dist/assets/images/generalButton/downloadIcon.svg +3 -0
  9. package/dist/assets/images/genericModal/closeWhite.svg +3 -0
  10. package/dist/assets/images/genericModal/errorModal.svg +3 -0
  11. package/dist/assets/images/genericModal/yellowAlert.svg +12 -0
  12. package/dist/assets/images/sliderToolTip/infoIcon.svg +4 -0
  13. package/dist/assets/images/sliderToolTip/slide1.svg +5 -0
  14. package/dist/assets/images/sliderToolTip/slide2.svg +9 -0
  15. package/dist/assets/images/sliderToolTip/slide3.svg +9 -0
  16. package/dist/assets/images/sliderToolTip/slide4.svg +9 -0
  17. package/dist/assets/images/sliderToolTip/slide5.svg +40 -0
  18. package/dist/assets/images/verticalSideMenuMainPage/closeMenu.svg +4 -0
  19. package/dist/assets/images/verticalSideMenuMainPage/iconFAQS.svg +12 -0
  20. package/dist/assets/images/verticalSideMenuMainPage/iconGroup.svg +3 -0
  21. package/dist/assets/images/verticalSideMenuMainPage/iconLogo.svg +12 -0
  22. package/dist/assets/images/verticalSideMenuMainPage/iconLogoContentoh.svg +15 -0
  23. package/dist/assets/images/verticalSideMenuMainPage/iconProduct.svg +3 -0
  24. package/dist/assets/images/verticalSideMenuMainPage/iconSpeedometer.svg +12 -0
  25. package/dist/assets/images/verticalSideMenuMainPage/iconTask.svg +10 -0
  26. package/dist/assets/images/verticalSideMenuMainPage/openMenu.svg +4 -0
  27. package/dist/components/atoms/AsignationOption/index.js +24 -2
  28. package/dist/components/atoms/AsignationOption/styles.js +1 -1
  29. package/dist/components/atoms/CharCounter/CharCounter.stories.js +31 -0
  30. package/dist/components/atoms/CharCounter/index.js +22 -0
  31. package/dist/components/atoms/CharCounter/styles.js +20 -0
  32. package/dist/components/atoms/CheckBox/index.js +4 -2
  33. package/dist/components/atoms/DropDownButton/styles.js +1 -1
  34. package/dist/components/atoms/GeneralButton/styles.js +4 -2
  35. package/dist/components/atoms/GeneralInput/index.js +121 -65
  36. package/dist/components/atoms/GeneralInput/styles.js +8 -2
  37. package/dist/components/atoms/GenericModal/index.js +4 -2
  38. package/dist/components/atoms/GenericModal/styles.js +1 -1
  39. package/dist/components/atoms/GradientPanel/styles.js +2 -2
  40. package/dist/components/atoms/Input/index.js +1 -1
  41. package/dist/components/atoms/Input/style.js +4 -4
  42. package/dist/components/atoms/InputFormatter/Wysiwyg.stories.js +30 -0
  43. package/dist/components/atoms/InputFormatter/index.js +187 -0
  44. package/dist/components/atoms/InputFormatter/styles.js +33 -0
  45. package/dist/components/atoms/LabelToInput/index.js +0 -1
  46. package/dist/components/atoms/LabelToInput/style.js +3 -3
  47. package/dist/components/atoms/Loading/Loading.stories.js +28 -0
  48. package/dist/components/atoms/Loading/index.js +27 -0
  49. package/dist/components/atoms/Loading/styles.js +22 -0
  50. package/dist/components/atoms/LogoImage/index.js +1 -0
  51. package/dist/components/atoms/ProductPercentCard/Percent.stories.js +41 -0
  52. package/dist/components/atoms/ProductPercentCard/index.js +45 -0
  53. package/dist/components/atoms/ProductPercentCard/styles.js +20 -0
  54. package/dist/components/atoms/ProgressBar/styles.js +1 -1
  55. package/dist/components/atoms/ScreenHeader/index.js +1 -1
  56. package/dist/components/atoms/ScreenHeader/styles.js +1 -1
  57. package/dist/components/atoms/Select/index.js +4 -2
  58. package/dist/components/atoms/Select/style.js +1 -1
  59. package/dist/components/atoms/SliderToolTip/SliderToolTip.stories.js +47 -0
  60. package/dist/components/atoms/SliderToolTip/index.js +200 -0
  61. package/dist/components/atoms/SliderToolTip/styles.js +24 -0
  62. package/dist/components/atoms/StatusTag/index.js +37 -2
  63. package/dist/components/atoms/StatusTag/styles.js +1 -1
  64. package/dist/components/atoms/ValidationPanel/index.js +4 -3
  65. package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +28 -0
  66. package/dist/components/atoms/VerticalSideMenuMainPage/index.js +98 -0
  67. package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +24 -0
  68. package/dist/components/molecules/AvatarAndValidation/index.js +9 -12
  69. package/dist/components/molecules/CarouselImagesLogin/CarouselImagesLogin.stories.js +37 -0
  70. package/dist/components/molecules/CarouselImagesLogin/index.js +92 -0
  71. package/dist/components/molecules/CarouselImagesLogin/styles.js +21 -0
  72. package/dist/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +28 -0
  73. package/dist/components/molecules/EmailResetPasswordLogin/index.js +153 -0
  74. package/dist/components/molecules/EmailResetPasswordLogin/styles.js +20 -0
  75. package/dist/components/molecules/GalleryElement/index.js +32 -7
  76. package/dist/components/molecules/GalleryHeader/index.js +19 -2
  77. package/dist/components/molecules/LoginPasswordStrength/LoginPasswordStrength.stories.js +28 -0
  78. package/dist/components/molecules/LoginPasswordStrength/index.js +126 -0
  79. package/dist/components/molecules/LoginPasswordStrength/styles.js +78 -0
  80. package/dist/components/molecules/LogoLoading/Loading.stories.js +28 -0
  81. package/dist/components/molecules/LogoLoading/index.js +22 -0
  82. package/dist/components/molecules/LogoLoading/styles.js +18 -0
  83. package/dist/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +28 -0
  84. package/dist/components/molecules/RegistrationFirstStep/index.js +308 -0
  85. package/dist/components/molecules/RegistrationFirstStep/styles.js +20 -0
  86. package/dist/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +28 -0
  87. package/dist/components/molecules/RegistrationSecondStep/index.js +172 -0
  88. package/dist/components/molecules/RegistrationSecondStep/styles.js +20 -0
  89. package/dist/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +28 -0
  90. package/dist/components/molecules/RegistrationThirdStep/index.js +155 -0
  91. package/dist/components/molecules/RegistrationThirdStep/styles.js +20 -0
  92. package/dist/components/molecules/RetailerSelector/index.js +11 -3
  93. package/dist/components/molecules/RetailerSelector/styles.js +1 -1
  94. package/dist/components/molecules/SignInLogin/SignInLogin.stories.js +28 -0
  95. package/dist/components/molecules/SignInLogin/index.js +315 -0
  96. package/dist/components/molecules/SignInLogin/styles.js +20 -0
  97. package/dist/components/molecules/StatusAsignationInfo/index.js +19 -33
  98. package/dist/components/molecules/TableHeader/index.js +7 -3
  99. package/dist/components/molecules/TableHeader/styles.js +1 -1
  100. package/dist/components/molecules/TagAndInput/index.js +23 -5
  101. package/dist/components/molecules/TagAndInput/styles.js +10 -2
  102. package/dist/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +28 -0
  103. package/dist/components/molecules/VerificationCodeResetPasswordLogin/index.js +211 -0
  104. package/dist/components/molecules/VerificationCodeResetPasswordLogin/styles.js +20 -0
  105. package/dist/components/molecules/VerificationCodeResetPasswordLogin/utils.js +69 -0
  106. package/dist/components/organisms/ChangePassword/ChangePassword.stories.js +28 -0
  107. package/dist/components/organisms/ChangePassword/index.js +124 -0
  108. package/dist/components/organisms/ChangePassword/styles.js +18 -0
  109. package/dist/components/organisms/FullProductNameHeader/index.js +40 -15
  110. package/dist/components/organisms/FullTabsMenu/index.js +11 -11
  111. package/dist/components/organisms/GlobalModal/index.js +73 -0
  112. package/dist/components/organisms/GlobalModal/styles.js +66 -0
  113. package/dist/components/organisms/ImageDataTable/index.js +19 -13
  114. package/dist/components/organisms/InputGroup/index.js +17 -12
  115. package/dist/components/organisms/InputGroup/styles.js +1 -1
  116. package/dist/components/organisms/ProductImageModal/index.js +3 -6
  117. package/dist/components/organisms/ProductImageModal/styles.js +1 -1
  118. package/dist/components/pages/ChangePasswordLogin/ChangePasswordLogin.stories.js +38 -0
  119. package/dist/components/pages/ChangePasswordLogin/index.js +108 -0
  120. package/dist/components/pages/ChangePasswordLogin/styles.js +18 -0
  121. package/dist/components/pages/EmailResetPassword/EmailResetPassword.stories.js +37 -0
  122. package/dist/components/pages/EmailResetPassword/index.js +130 -0
  123. package/dist/components/pages/EmailResetPassword/styles.js +20 -0
  124. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +175 -0
  125. package/dist/components/pages/ProviderProductEdition/index.js +1800 -0
  126. package/dist/components/pages/ProviderProductEdition/styles.js +23 -0
  127. package/dist/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +37 -0
  128. package/dist/components/pages/RegistrationLoginFirstStep/index.js +269 -0
  129. package/dist/components/pages/RegistrationLoginFirstStep/styles.js +20 -0
  130. package/dist/components/pages/RegistrationLoginSecondStep/RegistrationLoginSecondStep.stories.js +38 -0
  131. package/dist/components/pages/RegistrationLoginSecondStep/index.js +176 -0
  132. package/dist/components/pages/RegistrationLoginSecondStep/styles.js +20 -0
  133. package/dist/components/pages/RegistrationLoginThirdStep/RegistrationLoginThirdStep.stories.js +37 -0
  134. package/dist/components/pages/RegistrationLoginThirdStep/index.js +178 -0
  135. package/dist/components/pages/RegistrationLoginThirdStep/styles.js +20 -0
  136. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +34 -75
  137. package/dist/components/pages/RetailerProductEdition/index.js +937 -641
  138. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  139. package/dist/components/pages/VerificationCodeResetPassword/VerificationCodeResetPassword.stories.js +37 -0
  140. package/dist/components/pages/VerificationCodeResetPassword/index.js +121 -0
  141. package/dist/components/pages/VerificationCodeResetPassword/styles.js +20 -0
  142. package/dist/components/pages/VerificationCodeResetPassword/utils.js +69 -0
  143. package/dist/global-files/data.js +36 -12
  144. package/dist/index.js +316 -100
  145. package/package.json +21 -8
  146. package/src/assets/images/carouselImagesLogin/login2.svg +117 -0
  147. package/src/assets/images/carouselImagesLogin/login3.svg +147 -0
  148. package/src/assets/images/carouselImagesLogin/loginImage.svg +301 -0
  149. package/src/assets/images/editField/showPassword.png +0 -0
  150. package/src/assets/images/generalButton/downloadIcon.svg +3 -0
  151. package/src/assets/images/genericModal/closeWhite.svg +3 -0
  152. package/src/assets/images/genericModal/errorModal.svg +3 -0
  153. package/src/assets/images/genericModal/yellowAlert.svg +12 -0
  154. package/src/assets/images/sliderToolTip/infoIcon.svg +4 -0
  155. package/src/assets/images/sliderToolTip/slide1.svg +5 -0
  156. package/src/assets/images/sliderToolTip/slide2.svg +9 -0
  157. package/src/assets/images/sliderToolTip/slide3.svg +9 -0
  158. package/src/assets/images/sliderToolTip/slide4.svg +9 -0
  159. package/src/assets/images/sliderToolTip/slide5.svg +40 -0
  160. package/src/assets/images/verticalSideMenuMainPage/closeMenu.svg +4 -0
  161. package/src/assets/images/verticalSideMenuMainPage/iconFAQS.svg +12 -0
  162. package/src/assets/images/verticalSideMenuMainPage/iconGroup.svg +3 -0
  163. package/src/assets/images/verticalSideMenuMainPage/iconLogo.svg +12 -0
  164. package/src/assets/images/verticalSideMenuMainPage/iconLogoContentoh.svg +15 -0
  165. package/src/assets/images/verticalSideMenuMainPage/iconProduct.svg +3 -0
  166. package/src/assets/images/verticalSideMenuMainPage/iconSpeedometer.svg +12 -0
  167. package/src/assets/images/verticalSideMenuMainPage/iconTask.svg +10 -0
  168. package/src/assets/images/verticalSideMenuMainPage/openMenu.svg +4 -0
  169. package/src/components/atoms/AsignationOption/index.js +17 -0
  170. package/src/components/atoms/AsignationOption/styles.js +13 -1
  171. package/src/components/atoms/CharCounter/CharCounter.stories.js +11 -0
  172. package/src/components/atoms/CharCounter/index.js +13 -0
  173. package/src/components/atoms/CharCounter/styles.js +10 -0
  174. package/src/components/atoms/CheckBox/index.js +8 -2
  175. package/src/components/atoms/DropDownButton/styles.js +6 -0
  176. package/src/components/atoms/GeneralButton/styles.js +14 -0
  177. package/src/components/atoms/GeneralInput/index.js +109 -68
  178. package/src/components/atoms/GeneralInput/styles.js +34 -0
  179. package/src/components/atoms/GenericModal/index.js +2 -2
  180. package/src/components/atoms/GenericModal/styles.js +11 -3
  181. package/src/components/atoms/GradientPanel/styles.js +8 -1
  182. package/src/components/atoms/Input/index.js +2 -1
  183. package/src/components/atoms/Input/style.js +9 -5
  184. package/src/components/atoms/InputFormatter/Wysiwyg.stories.js +12 -0
  185. package/src/components/atoms/InputFormatter/index.js +146 -0
  186. package/src/components/atoms/InputFormatter/styles.js +41 -0
  187. package/src/components/atoms/LabelToInput/index.js +0 -1
  188. package/src/components/atoms/LabelToInput/style.js +15 -4
  189. package/src/components/atoms/Loading/Loading.stories.js +10 -0
  190. package/src/components/atoms/Loading/index.js +13 -0
  191. package/src/components/atoms/Loading/styles.js +57 -0
  192. package/src/components/atoms/LogoImage/index.js +1 -1
  193. package/src/components/atoms/ProductPercentCard/Percent.stories.js +41 -0
  194. package/src/components/atoms/ProductPercentCard/index.js +23 -0
  195. package/src/components/atoms/{Percent → ProductPercentCard}/styles.js +11 -7
  196. package/src/components/atoms/ProgressBar/styles.js +2 -1
  197. package/src/components/atoms/ScreenHeader/index.js +7 -3
  198. package/src/components/atoms/ScreenHeader/styles.js +14 -2
  199. package/src/components/atoms/Select/index.js +3 -1
  200. package/src/components/atoms/Select/style.js +1 -2
  201. package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +23 -0
  202. package/src/components/atoms/SliderToolTip/index.js +182 -0
  203. package/src/components/atoms/SliderToolTip/styles.js +168 -0
  204. package/src/components/atoms/StatusTag/index.js +30 -2
  205. package/src/components/atoms/StatusTag/styles.js +9 -4
  206. package/src/components/atoms/ValidationPanel/index.js +4 -3
  207. package/src/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +12 -0
  208. package/src/components/atoms/VerticalSideMenuMainPage/index.js +54 -0
  209. package/src/components/atoms/VerticalSideMenuMainPage/styles.js +45 -0
  210. package/src/components/molecules/AvatarAndValidation/index.js +14 -15
  211. package/src/components/molecules/CarouselImagesLogin/CarouselImagesLogin.stories.js +17 -0
  212. package/src/components/molecules/CarouselImagesLogin/index.js +65 -0
  213. package/src/components/molecules/CarouselImagesLogin/styles.js +60 -0
  214. package/src/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +11 -0
  215. package/src/components/molecules/EmailResetPasswordLogin/index.js +85 -0
  216. package/src/components/molecules/EmailResetPasswordLogin/styles.js +23 -0
  217. package/src/components/molecules/GalleryElement/index.js +26 -6
  218. package/src/components/molecules/GalleryHeader/index.js +8 -2
  219. package/src/components/molecules/LoginPasswordStrength/LoginPasswordStrength.stories.js +8 -0
  220. package/src/components/molecules/LoginPasswordStrength/index.js +84 -0
  221. package/src/components/molecules/LoginPasswordStrength/styles.js +91 -0
  222. package/src/components/molecules/LogoLoading/Loading.stories.js +10 -0
  223. package/src/components/molecules/LogoLoading/index.js +12 -0
  224. package/src/components/molecules/LogoLoading/styles.js +16 -0
  225. package/src/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +11 -0
  226. package/src/components/molecules/RegistrationFirstStep/index.js +227 -0
  227. package/src/components/molecules/RegistrationFirstStep/styles.js +87 -0
  228. package/src/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +11 -0
  229. package/src/components/molecules/RegistrationSecondStep/index.js +135 -0
  230. package/src/components/molecules/RegistrationSecondStep/styles.js +64 -0
  231. package/src/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +11 -0
  232. package/src/components/molecules/RegistrationThirdStep/index.js +130 -0
  233. package/src/components/molecules/RegistrationThirdStep/styles.js +44 -0
  234. package/src/components/molecules/RetailerSelector/index.js +7 -1
  235. package/src/components/molecules/RetailerSelector/styles.js +3 -0
  236. package/src/components/molecules/SignInLogin/SignInLogin.stories.js +11 -0
  237. package/src/components/molecules/SignInLogin/index.js +226 -0
  238. package/src/components/molecules/SignInLogin/styles.js +120 -0
  239. package/src/components/molecules/StatusAsignationInfo/index.js +23 -30
  240. package/src/components/molecules/TableHeader/index.js +5 -1
  241. package/src/components/molecules/TableHeader/styles.js +8 -0
  242. package/src/components/molecules/TagAndInput/index.js +19 -1
  243. package/src/components/molecules/TagAndInput/styles.js +28 -0
  244. package/src/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +11 -0
  245. package/src/components/molecules/VerificationCodeResetPasswordLogin/index.js +171 -0
  246. package/src/components/molecules/VerificationCodeResetPasswordLogin/styles.js +54 -0
  247. package/src/components/molecules/VerificationCodeResetPasswordLogin/utils.js +54 -0
  248. package/src/components/organisms/ChangePassword/ChangePassword.stories.js +11 -0
  249. package/src/components/organisms/ChangePassword/index.js +77 -0
  250. package/src/components/organisms/ChangePassword/styles.js +13 -0
  251. package/src/components/organisms/FullProductNameHeader/index.js +47 -16
  252. package/src/components/organisms/FullTabsMenu/index.js +9 -9
  253. package/src/components/organisms/GlobalModal/index.js +68 -0
  254. package/src/components/organisms/GlobalModal/styles.js +113 -0
  255. package/src/components/organisms/ImageDataTable/index.js +25 -8
  256. package/src/components/organisms/InputGroup/index.js +28 -8
  257. package/src/components/organisms/InputGroup/styles.js +2 -2
  258. package/src/components/organisms/ProductImageModal/index.js +8 -5
  259. package/src/components/organisms/ProductImageModal/styles.js +3 -0
  260. package/src/components/pages/ChangePasswordLogin/ChangePasswordLogin.stories.js +18 -0
  261. package/src/components/pages/ChangePasswordLogin/index.js +77 -0
  262. package/src/components/pages/ChangePasswordLogin/styles.js +20 -0
  263. package/src/components/pages/EmailResetPassword/EmailResetPassword.stories.js +17 -0
  264. package/src/components/pages/EmailResetPassword/index.js +77 -0
  265. package/src/components/pages/EmailResetPassword/styles.js +27 -0
  266. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +172 -0
  267. package/src/components/pages/ProviderProductEdition/index.js +1275 -0
  268. package/src/components/pages/ProviderProductEdition/styles.js +118 -0
  269. package/src/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +17 -0
  270. package/src/components/pages/RegistrationLoginFirstStep/index.js +160 -0
  271. package/src/components/pages/RegistrationLoginFirstStep/styles.js +85 -0
  272. package/src/components/pages/RegistrationLoginSecondStep/RegistrationLoginSecondStep.stories.js +18 -0
  273. package/src/components/pages/RegistrationLoginSecondStep/index.js +111 -0
  274. package/src/components/pages/RegistrationLoginSecondStep/styles.js +64 -0
  275. package/src/components/pages/RegistrationLoginThirdStep/RegistrationLoginThirdStep.stories.js +17 -0
  276. package/src/components/pages/RegistrationLoginThirdStep/index.js +106 -0
  277. package/src/components/pages/RegistrationLoginThirdStep/styles.js +48 -0
  278. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +31 -66
  279. package/src/components/pages/RetailerProductEdition/index.js +790 -448
  280. package/src/components/pages/RetailerProductEdition/styles.js +13 -3
  281. package/src/components/pages/VerificationCodeResetPassword/VerificationCodeResetPassword.stories.js +17 -0
  282. package/src/components/pages/VerificationCodeResetPassword/index.js +92 -0
  283. package/src/components/pages/VerificationCodeResetPassword/styles.js +54 -0
  284. package/src/components/pages/VerificationCodeResetPassword/utils.js +56 -0
  285. package/src/global-files/data.js +27 -6
  286. package/src/index.js +23 -8
  287. package/src/components/atoms/Percent/Percent.stories.js +0 -38
  288. package/src/components/atoms/Percent/index.js +0 -15
@@ -0,0 +1,171 @@
1
+ import { Container } from "./styles";
2
+ import { GradientPanel } from "../../atoms/GradientPanel";
3
+ import { useEffect, 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 { GeneralInput } from "../../atoms/GeneralInput";
8
+ import { Button } from "../../atoms/GeneralButton";
9
+ import { validateInput, validate } from "./utils";
10
+
11
+ export const VerificationCodeResetPasswordLogin = (props) => {
12
+ const [resend, setResend] = useState(false);
13
+ const [awsError, setAwsError] = useState("");
14
+ const [emptyVerificationCode, setEmptyVerificationCode] = useState(false);
15
+ const [inputCodeVerificationAll, setInputCodeVerificationAll] = useState(
16
+ document.querySelectorAll("[id^='verificationCodeInput']")
17
+ );
18
+ const inputPositions = [1, 2, 3, 4, 5, 6];
19
+
20
+ useEffect(() => {
21
+ props.confirmationError !== "" && setEmptyVerificationCode(false);
22
+ }, [props.confirmationError]);
23
+
24
+ const checkCode = (e, flag) => {
25
+ let valid = true;
26
+ e.preventDefault();
27
+ let code = "";
28
+ if (awsError === "" && !flag) {
29
+ inputPositions.map(
30
+ (position) =>
31
+ (code =
32
+ code +
33
+ document.querySelector(`#verificationCodeInput${position}`).value)
34
+ );
35
+ if (sessionStorage.getItem("resetError")) {
36
+ JSON.parse(sessionStorage.getItem("confirmationCode")) === code &&
37
+ (valid = false);
38
+ }
39
+ sessionStorage.setItem("confirmationCode", JSON.stringify(code));
40
+ valid &&
41
+ !sessionStorage.getItem("resetPasswordProcess") &&
42
+ props.setPaso(6);
43
+ valid &&
44
+ sessionStorage.getItem("resetPasswordProcess") &&
45
+ props.setPaso(8);
46
+ }
47
+ };
48
+
49
+ const validateResend = async (e) => {
50
+ e.preventDefault();
51
+ const email = JSON.parse(sessionStorage.getItem("email"));
52
+ try {
53
+ await props.Auth.forgotPassword(email);
54
+ sessionStorage.setItem("email", JSON.stringify(email));
55
+ sessionStorage.setItem("resetPasswordProcess", JSON.stringify("true"));
56
+ props.setPaso(5);
57
+ setEmptyVerificationCode(false);
58
+ setResend(true);
59
+ } catch (err) {
60
+ setAwsError(err.code);
61
+ console.log(err.message);
62
+ }
63
+ };
64
+
65
+ useEffect(() => {
66
+ setInputCodeVerificationAll(
67
+ document.querySelectorAll("[id^='verificationCodeInput']")
68
+ );
69
+ }, []);
70
+
71
+ const loginRight = [
72
+ <LogoImage key="1" />,
73
+ <div className="credenciales" key={"2"}>
74
+ <ScreenHeader
75
+ fontFamily={FontFamily.AvenirNext}
76
+ color={GlobalColors.s5}
77
+ text={"Ingresa tus credenciales"}
78
+ />
79
+ </div>,
80
+ <div className="user" key="3">
81
+ {sessionStorage.getItem("email") && (
82
+ <ScreenHeader
83
+ text={`Ingrese el código de verificación enviado a: ${JSON.parse(
84
+ sessionStorage.getItem("email")
85
+ )}`}
86
+ headerType={"input-name-header"}
87
+ />
88
+ )}
89
+ {!sessionStorage.getItem("email") && (
90
+ <ScreenHeader
91
+ text={`Ingrese código de verificación enviado a: ${
92
+ JSON.parse(sessionStorage.getItem("nuevoRegistro")).email
93
+ }`}
94
+ headerType={"input-name-header"}
95
+ />
96
+ )}
97
+ <div className="verification-code">
98
+ {inputPositions.map((position) => (
99
+ <GeneralInput
100
+ inputId={`verificationCodeInput${position}`}
101
+ inputType={"text"}
102
+ inputPlaceholder={"X"}
103
+ validateInput={validateInput}
104
+ inputsArray={inputCodeVerificationAll}
105
+ position={position}
106
+ maxChar={1}
107
+ />
108
+ ))}
109
+ </div>
110
+ {emptyVerificationCode && (
111
+ <label>Ingrese su código de verificación</label>
112
+ )}
113
+ {sessionStorage.getItem("resetError") && (
114
+ <label>Código de verifiación incorrecto</label>
115
+ )}
116
+ {props.confirmationError === "LimitExceededException" &&
117
+ !emptyVerificationCode && (
118
+ <label>Haz realizado demasiados intentos, intentalo más tarde</label>
119
+ )}
120
+ {props.confirmationError === "CodeMismatchException" &&
121
+ !emptyVerificationCode && (
122
+ <label>Código de verificación incorrecto</label>
123
+ )}
124
+ {props.confirmationError === "ExpiredCodeException" &&
125
+ !emptyVerificationCode && (
126
+ <label>El código ingresado está expirado</label>
127
+ )}
128
+ {props.confirmationError === "InternalErrorException" &&
129
+ !emptyVerificationCode && (
130
+ <label>Algo salió mal, porfavor vuelva a intentarlo</label>
131
+ )}
132
+ {awsError === "LimitExceededException" && (
133
+ <label>Haz realizado demasiados intentos, intentalo más tarde</label>
134
+ )}
135
+ {awsError === "InternalErrorException" && (
136
+ <label>Algo salió mal, porfavor vuelva a intentarlo</label>
137
+ )}
138
+ {resend && awsError === "" && (
139
+ <label className="resendTrue">
140
+ Se reenvió el código de verificación correctamente
141
+ </label>
142
+ )}
143
+ </div>,
144
+ <div className="resend-code" key="4">
145
+ <p onClick={(e) => validateResend(e)}>Reenviar código de verificación</p>
146
+ </div>,
147
+ <div className="button-center" key="5">
148
+ <Button
149
+ buttonType={"general-default-button"}
150
+ label={"Enviar"}
151
+ onClick={(e) => {
152
+ let flag = validate(inputCodeVerificationAll);
153
+ checkCode(e, flag);
154
+ setEmptyVerificationCode(flag);
155
+ }}
156
+ />
157
+ </div>,
158
+ <div className="reset-password" key="6">
159
+ <p onClick={() => props.setPaso(10)}>Regresar...</p>
160
+ </div>,
161
+ ];
162
+ return (
163
+ <Container>
164
+ <GradientPanel
165
+ componentsArray={loginRight}
166
+ panelType={"home-login"}
167
+ panelColor={GlobalColors.white}
168
+ />
169
+ </Container>
170
+ );
171
+ };
@@ -0,0 +1,54 @@
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
+ height: 100vh;
7
+ width: 50%;
8
+ align-items: center;
9
+ justify-content: center;
10
+ .button-center {
11
+ text-align: center;
12
+ .general-default-button {
13
+ width: 160px;
14
+ }
15
+ }
16
+ .reset-password {
17
+ text-align: center;
18
+ margin: 15px !important;
19
+ color: ${GlobalColors.secondary_magenta};
20
+ cursor: pointer;
21
+ font-weight: bold;
22
+ font-family: ${FontFamily.Raleway};
23
+ font-size: 13px;
24
+ }
25
+ .resend-code {
26
+ margin-top: 8px !important;
27
+ color: ${GlobalColors.magenta_s2};
28
+ font-family: ${FontFamily.AvenirNext};
29
+ font-size: 11px;
30
+ text-decoration: underline rgb(228, 81, 172);
31
+ cursor: pointer;
32
+ & + * {
33
+ margin-top: 30px;
34
+ }
35
+ }
36
+ .verification-code {
37
+ display: flex;
38
+ text-align: center;
39
+ margin: auto;
40
+ margin-top: 10px;
41
+ input[type="number"]::-webkit-inner-spin-button,
42
+ input[type="number"]::-webkit-outer-spin-button {
43
+ -webkit-appearance: none;
44
+ margin: 0;
45
+ }
46
+ input {
47
+ width: 70%;
48
+ text-align: center;
49
+ }
50
+ }
51
+ .resendTrue{
52
+ color: ${GlobalColors.exported};
53
+ }
54
+ `;
@@ -0,0 +1,54 @@
1
+ /**
2
+ *
3
+ * @param {event} e event received triggered by verification code input
4
+ * @param {number} index index position from the verification code(VC) input array (i.e. digit 1,2,3 etc...)
5
+ * @param {array<html nodes>} inputsArray array which contains every VC digit input (used to change focus on input change)
6
+ */
7
+ export const validateInput = (e, index, inputsArray) => {
8
+ let isValid = false;
9
+ const inputNotEmpty = e.target.value.length > 0;
10
+ if (inputNotEmpty) {
11
+ if (validateInputNumber(e) !== null) {
12
+ isValid = true;
13
+ nextInputFocus(inputsArray, index++);
14
+ }
15
+ }
16
+ return isValid ? e.target.value : "";
17
+ };
18
+
19
+ /**
20
+ *
21
+ * @param {event} e event received triggered by verification code input
22
+ * @returns {boolean} if digit is a number
23
+ */
24
+ const validateInputNumber = (e) => {
25
+ return (e.target.value || String.fromCharCode(e.keyCode)).match(/[0-9]{1}/);
26
+ };
27
+
28
+ /**
29
+ *
30
+ * @param {array<html nodes>} inputsArray array which contains every VC digit input (used to change focus on input change)
31
+ * @param {number} index index position from the verification code(VC) input array (i.e. digit 1,2,3 etc...)
32
+ * changes focus to next input if digit typed is a number and there wasn't any before
33
+ */
34
+ const nextInputFocus = (inputsArray, index) => {
35
+ const button = document.getElementsByClassName("general-default-button");
36
+
37
+ inputsArray?.length && index === inputsArray?.length
38
+ ? button[0].focus()
39
+ : inputsArray[index]?.focus();
40
+ };
41
+
42
+ /**
43
+ *
44
+ * @param {array<html nodes>} inputsArray array which contains every VC digit input (used to check if there's any empty)
45
+ * @param {function} setEmptyVerificationCode function to update flag which handles if there's an empty char
46
+ * updates emptyVerificationFlag from father component
47
+ */
48
+ export const validate = (inputsArray) => {
49
+ let contInputEmpty = 0;
50
+ inputsArray.forEach((element) => {
51
+ element.value === "" ? 0 : contInputEmpty++;
52
+ });
53
+ return contInputEmpty !== inputsArray.length
54
+ };
@@ -0,0 +1,11 @@
1
+ import { ChangePassword } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/ChangePassword",
5
+ component: ChangePassword,
6
+ };
7
+ const Template = (args) => <ChangePassword {...args} />;
8
+
9
+ export const ChangePasswordDefault = Template.bind({});
10
+
11
+ ChangePasswordDefault.args = {};
@@ -0,0 +1,77 @@
1
+ import { Container } from "./styles";
2
+ import { LoginPasswordStrength } from "../../molecules/LoginPasswordStrength";
3
+ import { useState } from "react";
4
+ import { Button } from "../../atoms/GeneralButton";
5
+ import { LogoImage } from "../../atoms/LogoImage";
6
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
7
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
8
+ import { GradientPanel } from "../../atoms/GradientPanel";
9
+
10
+ export const ChangePassword = (props) => {
11
+ const [emptyPassword, setEmptyPassword] = useState(false);
12
+ const [emptyConfirmPassword, setEmptyConfirmPassword] = useState(false);
13
+ const [matchPasswords, setMatchPasswords] = useState(true);
14
+
15
+ const validate = async (e) => {
16
+ e.preventDefault();
17
+ let password = document.querySelector("#newPasswordInput").value;
18
+ password.length < 8 ? setEmptyPassword(true) : setEmptyPassword(false);
19
+ let confirmPassword = document.querySelector("#confirmPasswordInput").value;
20
+ confirmPassword === ""
21
+ ? setEmptyConfirmPassword(true)
22
+ : setEmptyConfirmPassword(false);
23
+ if (password === confirmPassword) {
24
+ setMatchPasswords(true);
25
+ } else {
26
+ setMatchPasswords(false);
27
+ }
28
+ let valid = true;
29
+ if (
30
+ password.length < 8 ||
31
+ confirmPassword === "" ||
32
+ password !== confirmPassword
33
+ ) {
34
+ valid = false;
35
+ }
36
+ if (valid) {
37
+ sessionStorage.setItem("newPassword", JSON.stringify(password));
38
+ !sessionStorage.getItem("resetPasswordProcess")
39
+ ? props.setPaso(9)
40
+ : props.setPaso(11);
41
+ }
42
+ };
43
+
44
+ const loginRight = [
45
+ <LogoImage key="1" />,
46
+ <div className="credenciales" key={"2"}>
47
+ <ScreenHeader
48
+ fontFamily={FontFamily.AvenirNext}
49
+ color={GlobalColors.s5}
50
+ text={"Ingresa tus credenciales"}
51
+ />
52
+ </div>,
53
+ <LoginPasswordStrength
54
+ emptyPassword={emptyPassword}
55
+ emptyConfirmPassword={emptyConfirmPassword}
56
+ matchPasswords={matchPasswords}
57
+ textTittle={"Ingresa tus credenciales"}
58
+ key="3"
59
+ />,
60
+ <div className="button-center" key="4">
61
+ <Button
62
+ buttonType={"general-default-button"}
63
+ label={"Enviar"}
64
+ onClick={(e) => validate(e)}
65
+ />
66
+ </div>,
67
+ ];
68
+ return (
69
+ <Container>
70
+ <GradientPanel
71
+ panelColor={GlobalColors.white}
72
+ componentsArray={loginRight}
73
+ panelType={"home-login"}
74
+ ></GradientPanel>
75
+ </Container>
76
+ );
77
+ };
@@ -0,0 +1,13 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ width: 50%;
5
+ height: 100vh;
6
+ .button-center {
7
+ display: flex;
8
+ justify-content: center;
9
+ .general-default-button {
10
+ width: 160px;
11
+ }
12
+ }
13
+ `;
@@ -2,44 +2,75 @@ import { Container } from "./styles";
2
2
  import { ProductNameHeader } from "../../molecules/ProductNameHeader";
3
3
  import { FeaturesBar } from "../../molecules/FeaturesBar";
4
4
  import { AvatarAndValidation } from "../../molecules/AvatarAndValidation";
5
+ import { useState } from "react";
6
+ import { useEffect } from "react";
5
7
 
6
8
  export const FullProductNameHeader = ({
7
9
  headerData,
8
10
  percent,
9
11
  activeRetailer,
10
12
  setActiveRetailer,
11
- approveRejectButtons,
12
- sendToFacilitator,
13
- auditorAssigned,
14
- userAssigned,
13
+ showValidationButtons,
14
+ approve,
15
+ reject,
16
+ servicesData,
15
17
  }) => {
18
+ const [retailers, setRetailers] = useState([]);
19
+ useEffect(() => {
20
+ const rtls = headerData?.retailers || headerData?.retailersAvailable;
21
+ servicesData &&
22
+ rtls.forEach((rt) => {
23
+ const element = [];
24
+ servicesData.forEach((sd) => {
25
+ if (sd.id_retailer === rt.id) {
26
+ element.push(sd.status ? sd.status : "RECEIVED");
27
+ } else element.push("NA");
28
+ rt["services"] = element;
29
+ });
30
+ });
31
+ setRetailers(rtls);
32
+ }, [servicesData]);
16
33
  return (
17
34
  <Container>
18
35
  <ProductNameHeader
19
- productName={headerData?.article?.name}
20
- statusType={headerData?.status}
21
- percent={percent}
36
+ productName={headerData?.article?.name || headerData?.name}
37
+ statusType={
38
+ headerData?.version_status ||
39
+ headerData?.status ||
40
+ headerData?.article_status
41
+ }
42
+ percent={percent?.toFixed(0)}
22
43
  priority={headerData?.prio}
23
- date={new Date(headerData?.article?.timestamp).toLocaleDateString()}
44
+ date={new Date(
45
+ headerData?.article?.timestamp || headerData?.timestamp
46
+ ).toLocaleDateString()}
24
47
  />
25
48
  <div className="features-bar-container">
26
49
  <FeaturesBar
27
50
  features={[
28
- { feature: "Categoría", value: headerData?.article?.category },
29
- { feature: "Prov", value: headerData?.article?.company_name },
30
- { feature: "UPC", value: headerData?.article?.upc },
51
+ {
52
+ feature: "Categoría",
53
+ value: headerData?.article?.category || headerData?.categoryName,
54
+ },
55
+ {
56
+ feature: "Prov",
57
+ value: headerData?.article?.company_name,
58
+ },
59
+ {
60
+ feature: "UPC",
61
+ value: headerData?.article?.upc || headerData?.upc,
62
+ },
31
63
  ]}
32
64
  />
33
65
  <AvatarAndValidation
34
- retailers={headerData?.retailers}
66
+ retailers={retailers}
35
67
  avatarData={headerData?.avatarData}
36
68
  validation={headerData?.validation}
37
69
  activeRetailer={activeRetailer}
38
70
  setActiveRetailer={setActiveRetailer}
39
- approveRejectButtons={approveRejectButtons}
40
- sendToFacilitator={sendToFacilitator}
41
- auditorAssigned={auditorAssigned}
42
- userAssigned={userAssigned}
71
+ showValidationButtons={showValidationButtons}
72
+ approve={approve}
73
+ reject={reject}
43
74
  />
44
75
  </div>
45
76
  </Container>
@@ -6,16 +6,16 @@ import { useState } from "react";
6
6
  export const FullTabsMenu = ({
7
7
  tabsSections,
8
8
  status = "",
9
- profileImage,
10
9
  activeTab,
11
10
  setActiveTab,
12
11
  setImageLayout,
13
- saveDatasheets,
14
- saveDescriptions,
15
- updateImages,
16
12
  assig,
17
13
  setAssignation,
18
14
  isRetailer,
15
+ downloadImages,
16
+ askToDeleteImages,
17
+ onClickSave,
18
+ showSaveButton,
19
19
  }) => {
20
20
  const [imagesSection, setImagesSection] = useState(false);
21
21
 
@@ -27,17 +27,17 @@ export const FullTabsMenu = ({
27
27
  setActiveTab={setActiveTab}
28
28
  />
29
29
  <StatusAsignationInfo
30
- status={status[activeTab]}
30
+ status={status}
31
31
  activeTab={activeTab}
32
- image={profileImage}
33
32
  setImageLayout={setImageLayout}
34
33
  imagesSection={imagesSection}
35
- saveDatasheets={saveDatasheets}
36
- saveDescriptions={saveDescriptions}
37
- updateImages={updateImages}
38
34
  assignationsImages={assig}
39
35
  setAssignation={setAssignation}
40
36
  isRetailer={isRetailer}
37
+ downloadImages={downloadImages}
38
+ onClickSave={onClickSave}
39
+ askToDeleteImages={askToDeleteImages}
40
+ showSaveButton={showSaveButton}
41
41
  />
42
42
  </Container>
43
43
  );
@@ -0,0 +1,68 @@
1
+ import React from "react";
2
+ import ReactImageFallback from "react-image-fallback";
3
+ import {
4
+ MainContainer,
5
+ MessageContainer,
6
+ Header,
7
+ Icon,
8
+ Close,
9
+ Message,
10
+ ContainerButtons,
11
+ FirstButton,
12
+ Button,
13
+ Detail,
14
+ TextArea,
15
+ BoldText,
16
+ } from "./styles";
17
+
18
+ import yellowAlert from "../../../assets/images/genericModal/yellowAlert.svg";
19
+ import closeWhite from "../../../assets/images/genericModal/closeWhite.svg";
20
+
21
+ /*
22
+ props (* required):
23
+ - *close: function to quit pop up e.g close={() => setShow(!show)}
24
+ - button1/button2: name and action button e.g. button1={{ name: 'Cancelar', action: () => console.log('Cancelar') }}
25
+ - img: source image
26
+ - *message: message to show (like title)
27
+ - detail: message detail
28
+ - withoutImg: if the value is "true" the icon will not be displayed, if this attribute is ignored or has the value of "false" the icon will be displayed
29
+ - customComponent: contains a custom component
30
+ */
31
+ export const GlobalModal = (props) => {
32
+ return (
33
+ <MainContainer>
34
+ <MessageContainer height={props.button1 || props.button2}>
35
+ <Header>
36
+ <Icon widthImg={props.widthImg} heightImg={props.heightImg}>
37
+ {!props.withoutImg && (
38
+ <ReactImageFallback
39
+ src={props.img}
40
+ fallbackImage={yellowAlert}
41
+ alt=""
42
+ />
43
+ )}
44
+ </Icon>
45
+ <Close onClick={props.close}>
46
+ <img src={closeWhite} alt="Cerrar" />
47
+ </Close>
48
+ </Header>
49
+ <Message>
50
+ {props.bold && <BoldText>{props.bold}</BoldText>} {props.message}
51
+ </Message>
52
+ {props.detail && <Detail>{`${props.detail} `}</Detail>}
53
+ {props.textArea && <TextArea id="area" />}
54
+ {props.customComponent && props.customComponent}
55
+ <ContainerButtons>
56
+ {props.button1 && (
57
+ <FirstButton onClick={props.button1.action}>
58
+ {props.button1.name}
59
+ </FirstButton>
60
+ )}
61
+ {props.button2 && (
62
+ <Button onClick={props.button2.action}>{props.button2.name}</Button>
63
+ )}
64
+ </ContainerButtons>
65
+ </MessageContainer>
66
+ </MainContainer>
67
+ );
68
+ };