contentoh-components-library 21.0.70 → 21.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.development +20 -5
- package/.env.production +18 -3
- package/CHANGELOG.md +31 -33
- package/dist/assets/images/generalButton/downloadIcon.svg +3 -0
- package/dist/assets/images/genericModal/closeWhite.svg +3 -0
- package/dist/assets/images/genericModal/errorModal.svg +3 -0
- package/dist/assets/images/genericModal/yellowAlert.svg +12 -0
- package/dist/assets/images/modalsSVGs/attributesSent.svg +208 -0
- package/dist/assets/images/modalsSVGs/descriptionSent.svg +237 -0
- package/dist/assets/images/modalsSVGs/providerSent.svg +445 -0
- package/dist/assets/images/modalsSVGs/uploadingImages.svg +148 -0
- package/dist/components/atoms/AsignationOption/index.js +9 -5
- package/dist/components/atoms/AsignationOption/styles.js +1 -1
- package/dist/components/{molecules/SignInLogin/SignInLogin.stories.js → atoms/CharCounter/CharCounter.stories.js} +10 -7
- package/dist/components/atoms/CharCounter/index.js +22 -0
- package/dist/components/{molecules/LogoLoading → atoms/CharCounter}/styles.js +3 -1
- package/dist/components/atoms/CheckBox/index.js +4 -2
- package/dist/components/atoms/Commentary/Commentary.stories.js +1 -0
- package/dist/components/atoms/Commentary/index.js +23 -0
- package/dist/components/{organisms/ChangePassword → atoms/Commentary}/styles.js +6 -1
- package/dist/components/atoms/GeneralButton/index.js +5 -0
- package/dist/components/atoms/GeneralButton/styles.js +4 -2
- package/dist/components/atoms/GeneralInput/index.js +72 -25
- package/dist/components/atoms/GeneralInput/styles.js +7 -1
- package/dist/components/atoms/GenericModal/index.js +4 -2
- package/dist/components/atoms/GenericModal/styles.js +1 -1
- package/dist/components/atoms/GradientPanel/styles.js +1 -1
- package/dist/components/atoms/Input/index.js +26 -0
- package/dist/components/atoms/Input/style.js +26 -0
- package/dist/components/{organisms/ChangePassword/ChangePassword.stories.js → atoms/InputFormatter/Wysiwyg.stories.js} +9 -7
- package/dist/components/atoms/InputFormatter/index.js +184 -0
- package/dist/components/atoms/InputFormatter/styles.js +33 -0
- package/dist/components/atoms/LabelToInput/index.js +53 -0
- package/dist/components/atoms/LabelToInput/style.js +22 -0
- package/dist/components/atoms/Loading/index.js +0 -1
- package/dist/components/atoms/LogoImage/index.js +0 -1
- package/dist/components/atoms/Percent/Percent.stories.js +39 -0
- package/dist/components/atoms/Percent/index.js +39 -0
- package/dist/components/atoms/Percent/styles.js +20 -0
- package/dist/components/atoms/PriorityFlag/index.js +1 -1
- package/dist/components/atoms/ProductImage/styles.js +1 -1
- package/dist/components/atoms/ProgressBar/index.js +2 -2
- package/dist/components/atoms/ProgressBar/styles.js +3 -5
- package/dist/components/atoms/ScreenHeader/index.js +1 -1
- package/dist/components/atoms/ScreenHeader/styles.js +1 -1
- package/dist/components/atoms/Select/index.js +39 -0
- package/dist/components/atoms/Select/style.js +32 -0
- package/dist/components/atoms/StatusTag/index.js +37 -2
- package/dist/components/atoms/StatusTag/styles.js +1 -1
- package/dist/components/atoms/ValidationPanel/index.js +5 -3
- package/dist/components/molecules/AvatarAndValidation/index.js +17 -7
- package/dist/components/molecules/AvatarAndValidation/styles.js +1 -1
- package/dist/components/molecules/CarouselImagesLogin/index.js +42 -40
- package/dist/components/molecules/FeaturesBar/index.js +1 -1
- package/dist/components/molecules/GalleryElement/index.js +80 -21
- package/dist/components/molecules/GalleryElement/styles.js +1 -1
- package/dist/components/molecules/GalleryHeader/index.js +28 -6
- package/dist/components/molecules/GalleryHeader/styles.js +1 -1
- package/dist/components/molecules/ImageSelector/index.js +2 -4
- package/dist/components/molecules/LoginPasswordStrength/index.js +6 -6
- package/dist/components/molecules/LoginPasswordStrength/styles.js +1 -1
- package/dist/components/molecules/ProductNameHeader/index.js +1 -2
- package/dist/components/molecules/RetailerSelector/RetailerSelector.stories.js +48 -0
- package/dist/components/molecules/RetailerSelector/index.js +74 -0
- package/dist/components/{atoms/MenuCommercialRetailers → molecules/RetailerSelector}/styles.js +1 -1
- package/dist/components/molecules/StatusAsignationInfo/index.js +46 -28
- package/dist/components/molecules/StatusAsignationInfo/styles.js +1 -1
- package/dist/components/molecules/TableHeader/index.js +12 -5
- package/dist/components/molecules/TableHeader/styles.js +1 -1
- package/dist/components/molecules/TagAndInput/index.js +24 -2
- package/dist/components/molecules/TextAndGradient/TextAndGradient.stories.js +31 -0
- package/dist/components/molecules/TextAndGradient/index.js +36 -0
- package/dist/components/molecules/TextAndGradient/styles.js +18 -0
- package/dist/components/organisms/FullProductNameHeader/index.js +31 -9
- package/dist/components/organisms/FullTabsMenu/index.js +18 -5
- package/dist/components/organisms/GlobalModal/index.js +73 -0
- package/dist/components/organisms/GlobalModal/styles.js +66 -0
- package/dist/components/organisms/ImageDataTable/index.js +90 -14
- package/dist/components/organisms/InputGroup/index.js +34 -13
- package/dist/components/organisms/InputGroup/styles.js +1 -1
- package/dist/components/organisms/ProductImageModal/index.js +13 -10
- package/dist/components/organisms/ProductImageModal/styles.js +1 -1
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +135 -0
- package/dist/components/pages/ProviderProductEdition/index.js +1979 -0
- package/dist/components/pages/ProviderProductEdition/styles.js +23 -0
- package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +91 -347
- package/dist/components/pages/RetailerProductEdition/index.js +1610 -60
- package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
- package/dist/global-files/data.js +213 -53
- package/dist/global-files/global-styles.css +1 -0
- package/dist/global-files/variables.js +1 -0
- package/dist/index.js +30 -277
- package/package.json +17 -18
- package/src/assets/images/generalButton/downloadIcon.svg +3 -0
- package/src/assets/images/genericModal/closeWhite.svg +3 -0
- package/src/assets/images/genericModal/errorModal.svg +3 -0
- package/src/assets/images/genericModal/yellowAlert.svg +12 -0
- package/src/assets/images/modalsSVGs/attributesSent.svg +208 -0
- package/src/assets/images/modalsSVGs/descriptionSent.svg +237 -0
- package/src/assets/images/modalsSVGs/providerSent.svg +445 -0
- package/src/assets/images/modalsSVGs/uploadingImages.svg +148 -0
- package/src/components/atoms/AsignationOption/index.js +7 -5
- package/src/components/atoms/AsignationOption/styles.js +9 -1
- package/src/components/atoms/CharCounter/CharCounter.stories.js +11 -0
- package/src/components/atoms/CharCounter/index.js +13 -0
- package/src/components/atoms/CharCounter/styles.js +10 -0
- package/src/components/atoms/CheckBox/index.js +8 -2
- package/src/components/atoms/Commentary/Commentary.stories.js +0 -0
- package/src/components/atoms/Commentary/index.js +9 -0
- package/src/components/atoms/Commentary/styles.js +16 -0
- package/src/components/atoms/GeneralButton/index.js +9 -2
- package/src/components/atoms/GeneralButton/styles.js +23 -0
- package/src/components/atoms/GeneralInput/index.js +71 -23
- package/src/components/atoms/GeneralInput/styles.js +11 -1
- package/src/components/atoms/GenericModal/index.js +2 -2
- package/src/components/atoms/GenericModal/styles.js +10 -2
- package/src/components/atoms/GradientPanel/styles.js +0 -1
- package/src/components/atoms/Input/index.js +15 -0
- package/src/components/atoms/Input/style.js +31 -0
- package/src/components/atoms/InputFormatter/Wysiwyg.stories.js +12 -0
- package/src/components/atoms/InputFormatter/index.js +144 -0
- package/src/components/atoms/InputFormatter/styles.js +40 -0
- package/src/components/atoms/LabelToInput/index.js +26 -0
- package/src/components/atoms/LabelToInput/style.js +41 -0
- package/src/components/atoms/Loading/index.js +2 -3
- package/src/components/atoms/LogoImage/index.js +1 -1
- package/src/components/atoms/PriorityFlag/index.js +1 -1
- package/src/components/atoms/ProductImage/styles.js +1 -1
- package/src/components/atoms/ProgressBar/index.js +2 -2
- package/src/components/atoms/ProgressBar/styles.js +54 -3
- package/src/components/atoms/ScreenHeader/index.js +7 -3
- package/src/components/atoms/ScreenHeader/styles.js +9 -2
- package/src/components/atoms/Select/index.js +35 -0
- package/src/components/atoms/Select/style.js +76 -0
- package/src/components/atoms/StatusTag/index.js +30 -2
- package/src/components/atoms/StatusTag/styles.js +15 -3
- package/src/components/atoms/ValidationPanel/index.js +4 -3
- package/src/components/molecules/AvatarAndValidation/index.js +23 -6
- package/src/components/molecules/AvatarAndValidation/styles.js +1 -1
- package/src/components/molecules/CarouselImagesLogin/index.js +37 -34
- package/src/components/molecules/FeaturesBar/index.js +10 -7
- package/src/components/molecules/GalleryElement/index.js +75 -36
- package/src/components/molecules/GalleryElement/styles.js +38 -11
- package/src/components/molecules/GalleryHeader/index.js +14 -8
- package/src/components/molecules/GalleryHeader/styles.js +16 -0
- package/src/components/molecules/ImageSelector/index.js +2 -3
- package/src/components/molecules/LoginPasswordStrength/index.js +3 -8
- package/src/components/molecules/LoginPasswordStrength/styles.js +0 -3
- package/src/components/molecules/ProductNameHeader/index.js +1 -2
- package/src/components/molecules/RetailerSelector/RetailerSelector.stories.js +35 -0
- package/src/components/molecules/RetailerSelector/index.js +63 -0
- package/src/components/molecules/RetailerSelector/styles.js +18 -0
- package/src/components/molecules/StatusAsignationInfo/index.js +64 -39
- package/src/components/molecules/StatusAsignationInfo/styles.js +12 -2
- package/src/components/molecules/TableHeader/index.js +16 -3
- package/src/components/molecules/TableHeader/styles.js +5 -0
- package/src/components/molecules/TagAndInput/index.js +24 -2
- package/src/components/organisms/FullProductNameHeader/index.js +38 -8
- package/src/components/organisms/FullTabsMenu/index.js +15 -3
- package/src/components/organisms/GlobalModal/index.js +68 -0
- package/src/components/organisms/GlobalModal/styles.js +113 -0
- package/src/components/organisms/ImageDataTable/index.js +89 -11
- package/src/components/organisms/InputGroup/index.js +46 -11
- package/src/components/organisms/InputGroup/styles.js +3 -0
- package/src/components/organisms/ProductImageModal/index.js +19 -12
- package/src/components/organisms/ProductImageModal/styles.js +3 -0
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +123 -0
- package/src/components/pages/ProviderProductEdition/index.js +1493 -0
- package/src/components/pages/ProviderProductEdition/styles.js +118 -0
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +91 -343
- package/src/components/pages/RetailerProductEdition/index.js +1245 -48
- package/src/components/pages/RetailerProductEdition/styles.js +67 -4
- package/src/global-files/data.js +158 -57
- package/src/global-files/global-styles.css +1 -0
- package/src/global-files/variables.js +1 -0
- package/src/index.js +1 -20
- package/dist/assets/images/editField/showPassword.png +0 -0
- package/dist/assets/images/sliderToolTip/infoIcon.svg +0 -4
- package/dist/assets/images/sliderToolTip/slide1.svg +0 -5
- package/dist/assets/images/sliderToolTip/slide2.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide3.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide4.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide5.svg +0 -40
- package/dist/components/atoms/ListCommercialRetailers/ListCommercialRetailers.stories.js +0 -36
- package/dist/components/atoms/ListCommercialRetailers/index.js +0 -64
- package/dist/components/atoms/ListCommercialRetailers/styles.js +0 -20
- package/dist/components/atoms/Loading/Loading.stories.js +0 -28
- package/dist/components/atoms/MenuCommercialRetailers/MenuCommercialRetailers.stories.js +0 -37
- package/dist/components/atoms/MenuCommercialRetailers/index.js +0 -25
- package/dist/components/atoms/MenuProductImage/MenuProductImage.stories.js +0 -28
- package/dist/components/atoms/MenuProductImage/index.js +0 -88
- package/dist/components/atoms/MenuProductImage/styles.js +0 -20
- package/dist/components/atoms/SliderToolTip/SliderToolTip.stories.js +0 -47
- package/dist/components/atoms/SliderToolTip/index.js +0 -200
- package/dist/components/atoms/SliderToolTip/styles.js +0 -24
- package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +0 -22
- package/dist/components/atoms/VerticalSideMenuMainPage/index.js +0 -49
- package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +0 -18
- package/dist/components/molecules/ApproveRejetPanel/ApproveRejetPanel.stories.js +0 -25
- package/dist/components/molecules/ApproveRejetPanel/index.js +0 -49
- package/dist/components/molecules/ApproveRejetPanel/styles.js +0 -18
- package/dist/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +0 -28
- package/dist/components/molecules/EmailResetPasswordLogin/index.js +0 -153
- package/dist/components/molecules/EmailResetPasswordLogin/styles.js +0 -20
- package/dist/components/molecules/LogoLoading/Loading.stories.js +0 -28
- package/dist/components/molecules/LogoLoading/index.js +0 -22
- package/dist/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +0 -28
- package/dist/components/molecules/RegistrationFirstStep/index.js +0 -308
- package/dist/components/molecules/RegistrationFirstStep/styles.js +0 -20
- package/dist/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +0 -28
- package/dist/components/molecules/RegistrationSecondStep/index.js +0 -169
- package/dist/components/molecules/RegistrationSecondStep/styles.js +0 -20
- package/dist/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +0 -28
- package/dist/components/molecules/RegistrationThirdStep/index.js +0 -155
- package/dist/components/molecules/RegistrationThirdStep/styles.js +0 -20
- package/dist/components/molecules/SignInLogin/index.js +0 -321
- package/dist/components/molecules/SignInLogin/styles.js +0 -20
- package/dist/components/molecules/SignInLoginCreationApp/SignInLogin.stories.js +0 -28
- package/dist/components/molecules/SignInLoginCreationApp/index.js +0 -270
- package/dist/components/molecules/SignInLoginCreationApp/styles.js +0 -20
- package/dist/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +0 -28
- package/dist/components/molecules/VerificationCodeResetPasswordLogin/index.js +0 -210
- package/dist/components/molecules/VerificationCodeResetPasswordLogin/styles.js +0 -20
- package/dist/components/molecules/VerificationCodeResetPasswordLogin/utils.js +0 -69
- package/dist/components/organisms/ChangePassword/index.js +0 -123
- package/src/assets/images/editField/showPassword.png +0 -0
- package/src/assets/images/sliderToolTip/infoIcon.svg +0 -4
- package/src/assets/images/sliderToolTip/slide1.svg +0 -5
- package/src/assets/images/sliderToolTip/slide2.svg +0 -9
- package/src/assets/images/sliderToolTip/slide3.svg +0 -9
- package/src/assets/images/sliderToolTip/slide4.svg +0 -9
- package/src/assets/images/sliderToolTip/slide5.svg +0 -40
- package/src/components/atoms/Loading/Loading.stories.js +0 -10
- package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +0 -23
- package/src/components/atoms/SliderToolTip/index.js +0 -182
- package/src/components/atoms/SliderToolTip/styles.js +0 -168
- package/src/components/molecules/EmailResetPasswordLogin/EmailResetPasswordLogin.stories.js +0 -11
- package/src/components/molecules/EmailResetPasswordLogin/index.js +0 -85
- package/src/components/molecules/EmailResetPasswordLogin/styles.js +0 -23
- package/src/components/molecules/LogoLoading/Loading.stories.js +0 -10
- package/src/components/molecules/LogoLoading/index.js +0 -12
- package/src/components/molecules/LogoLoading/styles.js +0 -16
- package/src/components/molecules/RegistrationFirstStep/RegistrationFirstStep.stories.js +0 -11
- package/src/components/molecules/RegistrationFirstStep/index.js +0 -227
- package/src/components/molecules/RegistrationFirstStep/styles.js +0 -87
- package/src/components/molecules/RegistrationSecondStep/RegistrationSecondStep.stories.js +0 -11
- package/src/components/molecules/RegistrationSecondStep/index.js +0 -130
- package/src/components/molecules/RegistrationSecondStep/styles.js +0 -59
- package/src/components/molecules/RegistrationThirdStep/RegistrationThirdStep.stories.js +0 -11
- package/src/components/molecules/RegistrationThirdStep/index.js +0 -130
- package/src/components/molecules/RegistrationThirdStep/styles.js +0 -44
- package/src/components/molecules/SignInLogin/SignInLogin.stories.js +0 -11
- package/src/components/molecules/SignInLogin/index.js +0 -226
- package/src/components/molecules/SignInLogin/styles.js +0 -120
- package/src/components/molecules/VerificationCodeResetPasswordLogin/VerificationCodeResetPasswordLogin.stories.js +0 -11
- package/src/components/molecules/VerificationCodeResetPasswordLogin/index.js +0 -170
- package/src/components/molecules/VerificationCodeResetPasswordLogin/styles.js +0 -51
- package/src/components/molecules/VerificationCodeResetPasswordLogin/utils.js +0 -54
- package/src/components/organisms/ChangePassword/ChangePassword.stories.js +0 -11
- package/src/components/organisms/ChangePassword/index.js +0 -76
- package/src/components/organisms/ChangePassword/styles.js +0 -13
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
import { GlobalColors } from "../../../global-files/variables";
|
|
3
|
+
|
|
4
|
+
export const Container = styled.div`
|
|
5
|
+
position: relative;
|
|
6
|
+
.retailers-panel {
|
|
7
|
+
background: ${GlobalColors.s2};
|
|
8
|
+
border: 1px solid ${GlobalColors.s3};
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.25);
|
|
11
|
+
border-radius: 4px;
|
|
12
|
+
padding: 10px;
|
|
13
|
+
position: absolute;
|
|
14
|
+
top: calc(100% + 10px);
|
|
15
|
+
right: 0;
|
|
16
|
+
z-index: 10;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
@@ -5,20 +5,24 @@ import { StatusTag } from "../../atoms/StatusTag/index";
|
|
|
5
5
|
import { Button } from "../../atoms/GeneralButton";
|
|
6
6
|
import { useEffect, useState } from "react";
|
|
7
7
|
import { AsignationOption } from "../../atoms/AsignationOption/index";
|
|
8
|
+
import { getProfilePicture } from "../../../global-files/data";
|
|
8
9
|
|
|
9
10
|
export const StatusAsignationInfo = ({
|
|
10
11
|
status = "-",
|
|
11
|
-
src,
|
|
12
12
|
imagesSection,
|
|
13
13
|
setImageLayout,
|
|
14
|
-
asignationsList,
|
|
15
14
|
percent = 0,
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
assignationsImages,
|
|
16
|
+
setAssignation,
|
|
17
|
+
isRetailer,
|
|
18
|
+
downloadImages,
|
|
19
|
+
askToDeleteImages,
|
|
18
20
|
id = "default-id",
|
|
21
|
+
onClickSave,
|
|
19
22
|
}) => {
|
|
20
23
|
const [showAsignationPanel, setShowAsignationPanel] = useState(false);
|
|
21
|
-
const [layout, setLayout] = useState(
|
|
24
|
+
const [layout, setLayout] = useState(false);
|
|
25
|
+
const [assignationType, setAssignationType] = useState("facilitator");
|
|
22
26
|
|
|
23
27
|
const closeAsignations = (e) => {
|
|
24
28
|
if (!e.target.closest("#default-id") && showAsignationPanel) {
|
|
@@ -35,18 +39,24 @@ export const StatusAsignationInfo = ({
|
|
|
35
39
|
|
|
36
40
|
return (
|
|
37
41
|
<Container id={id}>
|
|
42
|
+
{["AP", "AC", "RC"].includes(status) && (
|
|
43
|
+
<Button
|
|
44
|
+
buttonType={"circular-button save-button"}
|
|
45
|
+
onClick={onClickSave}
|
|
46
|
+
/>
|
|
47
|
+
)}
|
|
38
48
|
{imagesSection && (
|
|
39
49
|
<div className="images-buttons">
|
|
40
50
|
<Button
|
|
41
|
-
buttonType={"circular-button
|
|
51
|
+
buttonType={"circular-button delete-button"}
|
|
42
52
|
onClick={() => {
|
|
43
|
-
|
|
53
|
+
askToDeleteImages && askToDeleteImages();
|
|
44
54
|
}}
|
|
45
55
|
/>
|
|
46
56
|
<Button
|
|
47
|
-
buttonType={"circular-button
|
|
57
|
+
buttonType={"circular-button download-button"}
|
|
48
58
|
onClick={() => {
|
|
49
|
-
|
|
59
|
+
downloadImages();
|
|
50
60
|
}}
|
|
51
61
|
/>
|
|
52
62
|
<Button
|
|
@@ -58,15 +68,20 @@ export const StatusAsignationInfo = ({
|
|
|
58
68
|
/>
|
|
59
69
|
</div>
|
|
60
70
|
)}
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
<div className="assignations-container">
|
|
72
|
+
{assignationsImages?.assignations?.map((assignation, index) => (
|
|
73
|
+
<Avatar
|
|
74
|
+
key={index + "-" + assignation.id}
|
|
75
|
+
imageType={"small-image"}
|
|
76
|
+
image={getProfilePicture(assignation.id, 20, 20)}
|
|
77
|
+
altText="user profile image"
|
|
78
|
+
onClick={() => {
|
|
79
|
+
setShowAsignationPanel(true);
|
|
80
|
+
setAssignationType(assignation?.collaboratorType);
|
|
81
|
+
}}
|
|
82
|
+
/>
|
|
83
|
+
))}
|
|
84
|
+
</div>
|
|
70
85
|
<ScreenHeader
|
|
71
86
|
text={"Asig."}
|
|
72
87
|
color={"#969696"}
|
|
@@ -86,31 +101,41 @@ export const StatusAsignationInfo = ({
|
|
|
86
101
|
</div>
|
|
87
102
|
</div>
|
|
88
103
|
<div className="asignations-list">
|
|
89
|
-
{
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
104
|
+
{assignationsImages?.collaborators !== undefined ? (
|
|
105
|
+
assignationsImages?.collaborators[assignationType]?.map(
|
|
106
|
+
(asignation, index) => (
|
|
107
|
+
<AsignationOption
|
|
108
|
+
key={index + "-" + asignation.name}
|
|
109
|
+
profileImage={getProfilePicture(
|
|
110
|
+
asignation?.id_user,
|
|
111
|
+
40,
|
|
112
|
+
40
|
|
113
|
+
)}
|
|
114
|
+
onClick={() => {
|
|
115
|
+
setAssignation(assignationType, asignation?.id_user);
|
|
116
|
+
}}
|
|
117
|
+
name={asignation.name}
|
|
118
|
+
/>
|
|
119
|
+
)
|
|
120
|
+
)
|
|
98
121
|
) : (
|
|
99
122
|
<p className="no-asignations">Sin personas para asignar</p>
|
|
100
123
|
)}
|
|
101
124
|
</div>
|
|
102
|
-
|
|
103
|
-
<
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
125
|
+
{isRetailer === 1 && (
|
|
126
|
+
<div className="default-asignations-list">
|
|
127
|
+
<AsignationOption
|
|
128
|
+
asignationType={"provider"}
|
|
129
|
+
name={"Solicitar a"}
|
|
130
|
+
team={"Proveedor"}
|
|
131
|
+
/>
|
|
132
|
+
<AsignationOption
|
|
133
|
+
asignationType={"team"}
|
|
134
|
+
name={"Solicitar a"}
|
|
135
|
+
team={"Content-oh!"}
|
|
136
|
+
/>
|
|
137
|
+
</div>
|
|
138
|
+
)}
|
|
114
139
|
</div>
|
|
115
140
|
)}
|
|
116
141
|
</Container>
|
|
@@ -16,16 +16,22 @@ export const Container = styled.div`
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
.assignations-container {
|
|
20
|
+
display: flex;
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
.asignation-panel {
|
|
20
25
|
background: ${GlobalColors.s2};
|
|
21
26
|
border: 1px solid ${GlobalColors.s3};
|
|
22
27
|
box-sizing: border-box;
|
|
23
28
|
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.25);
|
|
24
29
|
border-radius: 4px;
|
|
25
|
-
padding: 10px;
|
|
30
|
+
padding: 10px 8px;
|
|
26
31
|
position: absolute;
|
|
27
32
|
top: calc(100% + 10px);
|
|
28
33
|
right: 0;
|
|
34
|
+
z-index: 10;
|
|
29
35
|
|
|
30
36
|
.asignation-header {
|
|
31
37
|
display: flex;
|
|
@@ -53,7 +59,6 @@ export const Container = styled.div`
|
|
|
53
59
|
|
|
54
60
|
.asignations-list {
|
|
55
61
|
min-height: 40px;
|
|
56
|
-
border-bottom: 1px solid ${GlobalColors.s3};
|
|
57
62
|
|
|
58
63
|
.no-asignations {
|
|
59
64
|
padding: 5px;
|
|
@@ -66,7 +71,12 @@ export const Container = styled.div`
|
|
|
66
71
|
|
|
67
72
|
& + * {
|
|
68
73
|
margin-top: 10px;
|
|
74
|
+
border-top: 1px solid ${GlobalColors.s3};
|
|
69
75
|
}
|
|
70
76
|
}
|
|
77
|
+
|
|
78
|
+
.default-asignations-list {
|
|
79
|
+
padding-top: 10px;
|
|
80
|
+
}
|
|
71
81
|
}
|
|
72
82
|
`;
|
|
@@ -3,15 +3,28 @@ import { ScreenHeader } from "../../atoms/ScreenHeader";
|
|
|
3
3
|
import { StatusAsignationInfo } from "../StatusAsignationInfo";
|
|
4
4
|
import { GlobalColors } from "../../../global-files/variables";
|
|
5
5
|
|
|
6
|
-
export const TableHeader = ({
|
|
6
|
+
export const TableHeader = ({
|
|
7
|
+
imagesStatus,
|
|
8
|
+
activeImage,
|
|
9
|
+
assignationsImages,
|
|
10
|
+
setAssignation,
|
|
11
|
+
isRetailer,
|
|
12
|
+
onClickSave,
|
|
13
|
+
}) => {
|
|
7
14
|
return (
|
|
8
15
|
<Container>
|
|
9
16
|
<ScreenHeader
|
|
10
|
-
text={activeImage?.
|
|
17
|
+
text={activeImage?.name || "-"}
|
|
11
18
|
color={GlobalColors.s5}
|
|
12
19
|
headerType={"input-name-header"}
|
|
13
20
|
/>
|
|
14
|
-
<StatusAsignationInfo
|
|
21
|
+
<StatusAsignationInfo
|
|
22
|
+
status={imagesStatus}
|
|
23
|
+
assignationsImages={assignationsImages}
|
|
24
|
+
setAssignation={setAssignation}
|
|
25
|
+
isRetailer={isRetailer}
|
|
26
|
+
onClickSave={onClickSave}
|
|
27
|
+
/>
|
|
15
28
|
</Container>
|
|
16
29
|
);
|
|
17
30
|
};
|
|
@@ -7,6 +7,11 @@ export const Container = styled.div`
|
|
|
7
7
|
padding-bottom: 5px;
|
|
8
8
|
border-bottom: 1px solid ${GlobalColors.s2};
|
|
9
9
|
|
|
10
|
+
.input-name-header {
|
|
11
|
+
overflow: auto;
|
|
12
|
+
max-width: 40%;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
}
|
|
10
15
|
.status-asignation-info {
|
|
11
16
|
display: flex;
|
|
12
17
|
align-items: center;
|
|
@@ -8,7 +8,18 @@ export const TagAndInput = ({
|
|
|
8
8
|
value,
|
|
9
9
|
inputPlaceHolder,
|
|
10
10
|
inputId,
|
|
11
|
-
|
|
11
|
+
updatedDescriptions,
|
|
12
|
+
setUpdatedDescriptions,
|
|
13
|
+
updatedDatasheets,
|
|
14
|
+
setUpdatedDatasheets,
|
|
15
|
+
articleId,
|
|
16
|
+
version,
|
|
17
|
+
index,
|
|
18
|
+
isRequired,
|
|
19
|
+
dinamicHeight,
|
|
20
|
+
inputCols,
|
|
21
|
+
inputRows,
|
|
22
|
+
maxChar,
|
|
12
23
|
}) => {
|
|
13
24
|
return (
|
|
14
25
|
<Container
|
|
@@ -21,8 +32,19 @@ export const TagAndInput = ({
|
|
|
21
32
|
inputId={inputId}
|
|
22
33
|
inputType={inputType}
|
|
23
34
|
inputValue={value}
|
|
35
|
+
index={index}
|
|
36
|
+
isRequired={isRequired}
|
|
24
37
|
inputPlaceholder={inputPlaceHolder}
|
|
25
|
-
|
|
38
|
+
updatedDescriptions={updatedDescriptions}
|
|
39
|
+
setUpdatedDescriptions={setUpdatedDescriptions}
|
|
40
|
+
updatedDatasheets={updatedDatasheets}
|
|
41
|
+
setUpdatedDatasheets={setUpdatedDatasheets}
|
|
42
|
+
articleId={articleId}
|
|
43
|
+
version={version}
|
|
44
|
+
dinamicHeight={dinamicHeight}
|
|
45
|
+
inputCols={inputCols}
|
|
46
|
+
inputRows={inputRows}
|
|
47
|
+
maxChar={maxChar}
|
|
26
48
|
/>
|
|
27
49
|
</Container>
|
|
28
50
|
);
|
|
@@ -3,22 +3,52 @@ import { ProductNameHeader } from "../../molecules/ProductNameHeader";
|
|
|
3
3
|
import { FeaturesBar } from "../../molecules/FeaturesBar";
|
|
4
4
|
import { AvatarAndValidation } from "../../molecules/AvatarAndValidation";
|
|
5
5
|
|
|
6
|
-
export const FullProductNameHeader = ({
|
|
6
|
+
export const FullProductNameHeader = ({
|
|
7
|
+
headerData,
|
|
8
|
+
percent,
|
|
9
|
+
activeRetailer,
|
|
10
|
+
setActiveRetailer,
|
|
11
|
+
showValidationButtons,
|
|
12
|
+
approve,
|
|
13
|
+
reject,
|
|
14
|
+
}) => {
|
|
7
15
|
return (
|
|
8
16
|
<Container>
|
|
9
17
|
<ProductNameHeader
|
|
10
|
-
productName={headerData?.name}
|
|
11
|
-
statusType={headerData?.status}
|
|
12
|
-
percent={
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
productName={headerData?.article?.name || headerData?.name}
|
|
19
|
+
statusType={headerData?.version_status || headerData?.status}
|
|
20
|
+
percent={percent?.toFixed(0)}
|
|
21
|
+
priority={headerData?.prio}
|
|
22
|
+
date={new Date(
|
|
23
|
+
headerData?.article?.timestamp || headerData?.timestamp
|
|
24
|
+
).toLocaleDateString()}
|
|
16
25
|
/>
|
|
17
26
|
<div className="features-bar-container">
|
|
18
|
-
<FeaturesBar
|
|
27
|
+
<FeaturesBar
|
|
28
|
+
features={[
|
|
29
|
+
{
|
|
30
|
+
feature: "Categoría",
|
|
31
|
+
value: headerData?.article?.category || headerData?.categoryName,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
feature: "Prov",
|
|
35
|
+
value: headerData?.article?.company_name,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
feature: "UPC",
|
|
39
|
+
value: headerData?.article?.upc || headerData?.upc,
|
|
40
|
+
},
|
|
41
|
+
]}
|
|
42
|
+
/>
|
|
19
43
|
<AvatarAndValidation
|
|
44
|
+
retailers={headerData?.retailers || headerData?.retailersAvailable}
|
|
20
45
|
avatarData={headerData?.avatarData}
|
|
21
46
|
validation={headerData?.validation}
|
|
47
|
+
activeRetailer={activeRetailer}
|
|
48
|
+
setActiveRetailer={setActiveRetailer}
|
|
49
|
+
showValidationButtons={showValidationButtons}
|
|
50
|
+
approve={approve}
|
|
51
|
+
reject={reject}
|
|
22
52
|
/>
|
|
23
53
|
</div>
|
|
24
54
|
</Container>
|
|
@@ -5,10 +5,16 @@ import { useState } from "react";
|
|
|
5
5
|
|
|
6
6
|
export const FullTabsMenu = ({
|
|
7
7
|
tabsSections,
|
|
8
|
-
status,
|
|
9
|
-
|
|
8
|
+
status = "",
|
|
9
|
+
activeTab,
|
|
10
10
|
setActiveTab,
|
|
11
11
|
setImageLayout,
|
|
12
|
+
assig,
|
|
13
|
+
setAssignation,
|
|
14
|
+
isRetailer,
|
|
15
|
+
downloadImages,
|
|
16
|
+
askToDeleteImages,
|
|
17
|
+
onClickSave,
|
|
12
18
|
}) => {
|
|
13
19
|
const [imagesSection, setImagesSection] = useState(false);
|
|
14
20
|
|
|
@@ -21,9 +27,15 @@ export const FullTabsMenu = ({
|
|
|
21
27
|
/>
|
|
22
28
|
<StatusAsignationInfo
|
|
23
29
|
status={status}
|
|
24
|
-
|
|
30
|
+
activeTab={activeTab}
|
|
25
31
|
setImageLayout={setImageLayout}
|
|
26
32
|
imagesSection={imagesSection}
|
|
33
|
+
assignationsImages={assig}
|
|
34
|
+
setAssignation={setAssignation}
|
|
35
|
+
isRetailer={isRetailer}
|
|
36
|
+
downloadImages={downloadImages}
|
|
37
|
+
onClickSave={onClickSave}
|
|
38
|
+
askToDeleteImages={askToDeleteImages}
|
|
27
39
|
/>
|
|
28
40
|
</Container>
|
|
29
41
|
);
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
|
|
3
|
+
export const MainContainer = styled.div`
|
|
4
|
+
position: fixed;
|
|
5
|
+
left: 0;
|
|
6
|
+
top: 0;
|
|
7
|
+
width: 100vw;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
background: #281f3366;
|
|
10
|
+
z-index: 15;
|
|
11
|
+
display: flex;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
align-items: center;
|
|
14
|
+
`;
|
|
15
|
+
|
|
16
|
+
export const Header = styled.div`
|
|
17
|
+
display: flex;
|
|
18
|
+
width: 100%;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
`;
|
|
21
|
+
|
|
22
|
+
export const MessageContainer = styled.div`
|
|
23
|
+
position: relative;
|
|
24
|
+
padding: 40px 20px;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
width: 600px;
|
|
27
|
+
min-height: ${(props) => (props.height ? "300px" : "190px")};
|
|
28
|
+
background: #281f33;
|
|
29
|
+
border-radius: 39px;
|
|
30
|
+
`;
|
|
31
|
+
export const TextArea = styled.textarea`
|
|
32
|
+
display: block;
|
|
33
|
+
margin-left: auto;
|
|
34
|
+
margin-right: auto;
|
|
35
|
+
position: relative;
|
|
36
|
+
width: 479px;
|
|
37
|
+
height: 84px;
|
|
38
|
+
background: #f0eef2;
|
|
39
|
+
border-radius: 4px;
|
|
40
|
+
color: #817393;
|
|
41
|
+
margin-bottom: 10px;
|
|
42
|
+
`;
|
|
43
|
+
|
|
44
|
+
export const Close = styled.figure`
|
|
45
|
+
position: absolute;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
right: 45px;
|
|
48
|
+
> img {
|
|
49
|
+
width: 14px;
|
|
50
|
+
height: 14px;
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
|
|
54
|
+
export const Icon = styled.figure`
|
|
55
|
+
margin-bottom: 10px;
|
|
56
|
+
height: ${(props) => props.heightImg && props.heightImg};
|
|
57
|
+
> img {
|
|
58
|
+
width: ${(props) => (props.widthImg ? props.widthImg : "85px")};
|
|
59
|
+
height: ${(props) => (props.heightImg ? props.heightImg : "85px")};
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
export const BoldText = styled.span`
|
|
63
|
+
font-weight: 600;
|
|
64
|
+
`;
|
|
65
|
+
|
|
66
|
+
export const Message = styled.p`
|
|
67
|
+
width: 100%;
|
|
68
|
+
font-family: Raleway;
|
|
69
|
+
font-style: normal;
|
|
70
|
+
font-weight: normal;
|
|
71
|
+
font-size: 24px;
|
|
72
|
+
text-align: center;
|
|
73
|
+
color: #f7f7f7;
|
|
74
|
+
margin: 20px 0px;
|
|
75
|
+
`;
|
|
76
|
+
|
|
77
|
+
export const ContainerButtons = styled.div`
|
|
78
|
+
display: flex;
|
|
79
|
+
justify-content: space-around;
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
export const FirstButton = styled.p`
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
height: 40px;
|
|
87
|
+
padding: 0 40px;
|
|
88
|
+
border: 1px solid #f0eef2;
|
|
89
|
+
box-sizing: border-box;
|
|
90
|
+
border-radius: 30px;
|
|
91
|
+
font-family: Avenir Next;
|
|
92
|
+
font-style: normal;
|
|
93
|
+
font-weight: 500;
|
|
94
|
+
font-size: 18px;
|
|
95
|
+
color: #f0eef2;
|
|
96
|
+
-webkit-user-select: none;
|
|
97
|
+
-moz-user-select: none;
|
|
98
|
+
-ms-user-select: none;
|
|
99
|
+
user-select: none;
|
|
100
|
+
cursor: pointer;
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
export const Button = styled(FirstButton)`
|
|
104
|
+
border: 0;
|
|
105
|
+
background: #e33aa9;
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
`;
|
|
108
|
+
|
|
109
|
+
export const Detail = styled(Message)`
|
|
110
|
+
font-weight: bold;
|
|
111
|
+
font-size: 18px;
|
|
112
|
+
white-space: normal;
|
|
113
|
+
`;
|