contentoh-components-library 21.1.51 → 21.1.52

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 (44) hide show
  1. package/dist/components/atoms/CheckBox/styles.js +1 -1
  2. package/dist/components/atoms/Commentary/styles.js +1 -1
  3. package/dist/components/atoms/GeneralInput/index.js +0 -1
  4. package/dist/components/atoms/GeneralInput/styles.js +3 -3
  5. package/dist/components/atoms/InputFormatter/styles.js +1 -1
  6. package/dist/components/atoms/SliderToolTip/SliderToolTip.stories.js +67 -13
  7. package/dist/components/atoms/SliderToolTip/index.js +70 -135
  8. package/dist/components/atoms/SliderToolTip/styles.js +2 -2
  9. package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +44 -1
  10. package/dist/components/atoms/VerticalSideMenuMainPage/index.js +39 -65
  11. package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +21 -6
  12. package/dist/components/molecules/HeaderTop/index.js +4 -1
  13. package/dist/components/molecules/RetailerSelector/index.js +32 -0
  14. package/dist/components/molecules/StatusAsignationInfo/index.js +32 -3
  15. package/dist/components/organisms/FullTabsMenu/index.js +3 -1
  16. package/dist/components/pages/ProviderProductEdition/index.js +44 -6
  17. package/dist/components/pages/RetailerProductEdition/index.js +6 -5
  18. package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
  19. package/dist/index.js +38 -51
  20. package/package.json +2 -2
  21. package/src/components/atoms/CheckBox/styles.js +0 -1
  22. package/src/components/atoms/Commentary/styles.js +2 -2
  23. package/src/components/atoms/GeneralInput/index.js +0 -1
  24. package/src/components/atoms/GeneralInput/styles.js +5 -5
  25. package/src/components/atoms/InputFormatter/styles.js +3 -3
  26. package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +77 -11
  27. package/src/components/atoms/SliderToolTip/index.js +98 -154
  28. package/src/components/atoms/SliderToolTip/styles.js +51 -26
  29. package/src/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +24 -1
  30. package/src/components/atoms/VerticalSideMenuMainPage/index.js +32 -38
  31. package/src/components/atoms/VerticalSideMenuMainPage/styles.js +35 -29
  32. package/src/components/molecules/HeaderTop/index.js +6 -1
  33. package/src/components/molecules/RetailerSelector/index.js +15 -0
  34. package/src/components/molecules/StatusAsignationInfo/index.js +33 -1
  35. package/src/components/organisms/FullProductNameHeader/index.js +1 -1
  36. package/src/components/organisms/FullTabsMenu/index.js +2 -0
  37. package/src/components/pages/ProviderProductEdition/index.js +53 -9
  38. package/src/components/pages/ProviderProductEdition/styles.js +1 -1
  39. package/src/components/pages/RetailerProductEdition/index.js +6 -5
  40. package/src/components/pages/RetailerProductEdition/styles.js +1 -1
  41. package/src/index.js +0 -1
  42. package/src/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +0 -17
  43. package/src/components/pages/RegistrationLoginFirstStep/index.js +0 -160
  44. package/src/components/pages/RegistrationLoginFirstStep/styles.js +0 -85
@@ -13,7 +13,12 @@ export const HeaderTop = ({ setHeaderTop }) => {
13
13
  return (
14
14
  <Container ref={headerTop}>
15
15
  <ScreenHeader text="Edición de producto" />
16
- <Button buttonType="close-button" />
16
+ <Button
17
+ buttonType="close-button"
18
+ onClick={() => {
19
+ window.location.href = `/products`;
20
+ }}
21
+ />
17
22
  </Container>
18
23
  );
19
24
  };
@@ -19,12 +19,27 @@ export const RetailerSelector = ({
19
19
  }
20
20
  };
21
21
 
22
+ const getRetailerImage = async () => {
23
+ console.log(
24
+ `https://content-management-images.s3.amazonaws.com/retailers/${activeRetailer.id}.png`
25
+ );
26
+ activeRetailer.image = `https://content-management-images.s3.amazonaws.com/retailers/${activeRetailer.id}.png`;
27
+ retailers.forEach(
28
+ (retailer) =>
29
+ (retailer.image = `https://content-management-images.s3.amazonaws.com/retailers/${retailer.id}.png`)
30
+ );
31
+ };
32
+
22
33
  useEffect(() => {
23
34
  if (retailersPanel) {
24
35
  document.addEventListener("click", closeRetailersPanel, false);
25
36
  }
26
37
  }, [retailersPanel]);
27
38
 
39
+ useEffect(() => {
40
+ getRetailerImage();
41
+ }, [activeRetailer]);
42
+
28
43
  return (
29
44
  <Container id="retailers-assignation">
30
45
  <Avatar
@@ -6,6 +6,11 @@ import { Button } from "../../atoms/GeneralButton";
6
6
  import { useEffect, useState } from "react";
7
7
  import { AsignationOption } from "../../atoms/AsignationOption/index";
8
8
  import { getProfilePicture } from "../../../global-files/data";
9
+ import { SliderToolTip } from "../../atoms/SliderToolTip";
10
+ import InfoIcon from "../../../assets/images/sliderToolTip/infoIcon.svg";
11
+ import Slide1 from "../../../assets/images/sliderToolTip/slide21.svg";
12
+ import Slide2 from "../../../assets/images/sliderToolTip/slide22.svg";
13
+ import Slide3 from "../../../assets/images/sliderToolTip/slide23.svg";
9
14
 
10
15
  export const StatusAsignationInfo = ({
11
16
  status = "-",
@@ -20,6 +25,7 @@ export const StatusAsignationInfo = ({
20
25
  id = "default-id",
21
26
  onClickSave,
22
27
  showSaveButton,
28
+ canAssign,
23
29
  }) => {
24
30
  const [showAsignationPanel, setShowAsignationPanel] = useState(false);
25
31
  const [layout, setLayout] = useState(false);
@@ -31,6 +37,26 @@ export const StatusAsignationInfo = ({
31
37
  setShowAsignationPanel(false);
32
38
  }
33
39
  };
40
+ const slidefront = [
41
+ {
42
+ slide: Slide1,
43
+ title: "Valida tu producto en cada activo digital",
44
+ description:
45
+ "Al solicitar a Content-oh! podrás validar la información, imágenes y documentación de tu producto, esto hará más sencillo que puedas aprobar o rechazar el contenido.",
46
+ },
47
+ {
48
+ slide: Slide2,
49
+ title: "Aprueba o rechaza con un clic",
50
+ description:
51
+ "Cuando termines de revisar tu información, elige si aproebas o rechazas, esto enviara una notificiación a nuestro equipo, para continuar o corregir el producto.",
52
+ },
53
+ {
54
+ slide: Slide3,
55
+ title: "Estatus de tu producto en el proceso",
56
+ description:
57
+ "La mayor parte del proceso podrás identificar que estatus tiene tu producto, esto dara visibilidad a todo tu equipo para saber la etapa se encuentra.",
58
+ },
59
+ ];
34
60
 
35
61
  useEffect(() => {
36
62
  if (showAsignationPanel) {
@@ -40,6 +66,12 @@ export const StatusAsignationInfo = ({
40
66
 
41
67
  return (
42
68
  <Container id={id}>
69
+ <SliderToolTip
70
+ infoIcon={InfoIcon}
71
+ slidefront={slidefront}
72
+ iconSize={"medium-image"}
73
+ slidePosition={"bottom-slide"}
74
+ ></SliderToolTip>
43
75
  {status !== "-" && <StatusTag statusType={status} ovalForm={true} />}
44
76
  {showSaveButton && (
45
77
  <Button
@@ -92,7 +124,7 @@ export const StatusAsignationInfo = ({
92
124
  fontFamily={"Avenir Next"}
93
125
  headerType={"input-name-header"}
94
126
  />
95
- {showAsignationPanel && (
127
+ {showAsignationPanel && canAssign && (
96
128
  <div className="asignation-panel">
97
129
  <div className="asignation-header">
98
130
  <div className="asignation-status">
@@ -81,4 +81,4 @@ export const FullProductNameHeader = ({
81
81
  </div>
82
82
  </Container>
83
83
  );
84
- };
84
+ };
@@ -16,6 +16,7 @@ export const FullTabsMenu = ({
16
16
  askToDeleteImages,
17
17
  onClickSave,
18
18
  showSaveButton,
19
+ canAssign,
19
20
  }) => {
20
21
  const [imagesSection, setImagesSection] = useState(false);
21
22
 
@@ -27,6 +28,7 @@ export const FullTabsMenu = ({
27
28
  setActiveTab={setActiveTab}
28
29
  />
29
30
  <StatusAsignationInfo
31
+ canAssign={canAssign}
30
32
  status={status}
31
33
  activeTab={activeTab}
32
34
  setImageLayout={setImageLayout}
@@ -33,6 +33,13 @@ import { Link } from "react-router-dom";
33
33
  import face from "../../../assets/images/defaultImages/defaultProfileImage.svg";
34
34
  import errorModal from "../../../assets/images/genericModal/errorModal.svg";
35
35
  import { GlobalModal } from "../../organisms/GlobalModal/index";
36
+ import { SliderToolTip } from "../../atoms/SliderToolTip";
37
+ import InfoIcon from "../../../assets/images/sliderToolTip/infoIcon.svg";
38
+ import Slide1_1 from "../../../assets/images/sliderToolTip/slide1.svg";
39
+ import Slide1_2 from "../../../assets/images/sliderToolTip/slide2.svg";
40
+ import Slide1_3 from "../../../assets/images/sliderToolTip/slide3.svg";
41
+ import Slide1_4 from "../../../assets/images/sliderToolTip/slide4.svg";
42
+ import Slide1_5 from "../../../assets/images/sliderToolTip/slide5.svg";
36
43
 
37
44
  const reducerImages = (state, action) => {
38
45
  let { values, attrForImgs } = state;
@@ -973,6 +980,35 @@ export const ProviderProductEdition = ({
973
980
  setSaving(loading);
974
981
  }, [loading]);
975
982
 
983
+ const slidefront = [
984
+ {
985
+ slide: Slide1_1,
986
+ description:
987
+ "Creamos tu contenido, y todo lo que haga falta para tu producto, cada sección puedes socilitar contenido enriquecido, y nosotros lo haremos por ti.",
988
+ },
989
+ {
990
+ slide: Slide1_2,
991
+ description:
992
+ "Puedes agregar solicitudes de contenido enriquecido a tu carrito de compra las veces que sean necesarias. Una vez completada tu lista con los servicios necesitados sigue el proceso de compra en checkout.",
993
+ },
994
+ {
995
+ slide: Slide1_3,
996
+ description:
997
+ "Revisa el contenido que deseas solicilitar, valida y tambien puedes agregar contenido extra, traducciones, o simplemente completar el checkout.",
998
+ },
999
+ {
1000
+ slide: Slide1_4,
1001
+ description:
1002
+ "Elige el tipo de entrega de tu producto, puedes ser recolección en el lugar o por el contrario puedes dejarlo en nuestras oficinas.",
1003
+ },
1004
+ {
1005
+ slide: Slide1_5,
1006
+ title: "Bienvenido al modo Content-oh!",
1007
+ description:
1008
+ "Finalmente elige la forma de pago que más te guste, procede con el pago y listo.",
1009
+ },
1010
+ ];
1011
+
976
1012
  return (
977
1013
  <Container headerTop={headerTop}>
978
1014
  <HeaderTop setHeaderTop={setHeaderTop} />
@@ -1309,14 +1345,22 @@ export const ProviderProductEdition = ({
1309
1345
  </Link>
1310
1346
  </button>
1311
1347
  ) : (
1312
- <Button
1313
- onClick={() => {
1314
- setShowContentohRequestModal &&
1315
- setShowContentohRequestModal(true);
1316
- }}
1317
- buttonType="general-default-button"
1318
- label="Enviar a Content-oh!"
1319
- />
1348
+ <>
1349
+ <SliderToolTip
1350
+ infoIcon={InfoIcon}
1351
+ slidefront={slidefront}
1352
+ iconSize={"big-image"}
1353
+ slidePosition={"top-slide"}
1354
+ ></SliderToolTip>
1355
+ <Button
1356
+ onClick={() => {
1357
+ setShowContentohRequestModal &&
1358
+ setShowContentohRequestModal(true);
1359
+ }}
1360
+ buttonType="general-default-button"
1361
+ label="Enviar a Content-oh!"
1362
+ />
1363
+ </>
1320
1364
  )}
1321
1365
  </div>
1322
1366
  )}
@@ -1397,4 +1441,4 @@ export const ProviderProductEdition = ({
1397
1441
  )}
1398
1442
  </Container>
1399
1443
  );
1400
- };
1444
+ };
@@ -115,4 +115,4 @@ export const Container = styled.div`
115
115
  width: 100%;
116
116
  }
117
117
  }
118
- `;
118
+ `;
@@ -808,7 +808,7 @@ export const RetailerProductEdition = ({
808
808
  const data = {
809
809
  articleId: product?.article?.id_article,
810
810
  orderId: product?.orderId,
811
- message: body,
811
+ message: body?.replace(/<.*?\/?>/gm, ""),
812
812
  concept: concept,
813
813
  version: version,
814
814
  };
@@ -1164,7 +1164,7 @@ export const RetailerProductEdition = ({
1164
1164
  onClickSave={() =>
1165
1165
  product?.services?.images === 1 && updateImages()
1166
1166
  }
1167
- showSaveButton={userAssigned()}
1167
+ showSaveButton={auditorAssigned() || userAssigned()}
1168
1168
  />
1169
1169
  </div>
1170
1170
  <div className="product-information">
@@ -1256,6 +1256,7 @@ export const RetailerProductEdition = ({
1256
1256
  }}
1257
1257
  />
1258
1258
  <FullTabsMenu
1259
+ canAssign={![7, 8].includes(user.id_role)}
1259
1260
  tabsSections={tabsSections}
1260
1261
  status={retailerStatus}
1261
1262
  activeTab={activeTab}
@@ -1266,7 +1267,7 @@ export const RetailerProductEdition = ({
1266
1267
  assig={assig[activeTab]}
1267
1268
  setAssignation={setAssignation}
1268
1269
  isRetailer={isRetailer}
1269
- showSaveButton={userAssigned()}
1270
+ showSaveButton={auditorAssigned() || userAssigned()}
1270
1271
  onClickSave={() => {
1271
1272
  switch (activeTab) {
1272
1273
  case "Descripción":
@@ -1394,7 +1395,7 @@ export const RetailerProductEdition = ({
1394
1395
  ) : (
1395
1396
  <div className="feedback-box">
1396
1397
  <Commentary
1397
- comment={comment.message}
1398
+ comment={comment?.message?.replace(/<.*?\/?>/gm, "")}
1398
1399
  reviewed={crossComment}
1399
1400
  />
1400
1401
  <Button
@@ -1449,4 +1450,4 @@ export const RetailerProductEdition = ({
1449
1450
  )}
1450
1451
  </Container>
1451
1452
  );
1452
- };
1453
+ };
@@ -20,7 +20,7 @@ export const Container = styled.div`
20
20
  }
21
21
 
22
22
  .product-information {
23
- width: 100%;
23
+ width: calc(100% - 341px);
24
24
  display: flex;
25
25
  flex-direction: column;
26
26
 
package/src/index.js CHANGED
@@ -22,7 +22,6 @@ export * from "./components/atoms/SliderToolTip/index";
22
22
  export * from "./components/atoms/StatusTag/index";
23
23
  export * from "./components/atoms/TabSection/index";
24
24
  export * from "./components/atoms/ValidationPanel/index";
25
- export * from "./components/atoms/VerticalSideMenuMainPage/index";
26
25
 
27
26
  //molecules
28
27
  export * from "./components/molecules/AvatarAndValidation/index";
@@ -1,17 +0,0 @@
1
- import { RegistrationLoginFirstStep } from "./index";
2
- import LoginImage from "../../../assets/images/carouselImagesLogin/loginImage.svg";
3
- import Login2 from "../../../assets/images/carouselImagesLogin/login2.svg";
4
- import Login3 from "../../../assets/images/carouselImagesLogin/login3.svg";
5
-
6
- export default {
7
- title: "Components/pages/RegistrationLoginFirstStep",
8
- component: RegistrationLoginFirstStep,
9
- };
10
- const Template = (args) => <RegistrationLoginFirstStep {...args} />;
11
-
12
- export const RegistrationLoginFirstStepDefault = Template.bind({});
13
-
14
- RegistrationLoginFirstStepDefault.args = {
15
- imageArrayCarousel: [LoginImage, Login2, Login3],
16
- textCarousel: "Elige la plataforma que conecta proovedores y retailers",
17
- };
@@ -1,160 +0,0 @@
1
- import { Container } from "./styles";
2
- import { GradientPanel } from "../../atoms/GradientPanel";
3
- import { CarouselImagesLogin } from "../../molecules/CarouselImagesLogin";
4
- import { useState } from "react";
5
- import { LogoImage } from "../../atoms/LogoImage";
6
- import { ScreenHeader } from "../../atoms/ScreenHeader";
7
- import { GlobalColors, FontFamily } from "../../../global-files/variables";
8
- import { TagAndInput } from "../../molecules/TagAndInput";
9
- import { Button } from "../../atoms/GeneralButton";
10
- import { GeneralInput } from "../../atoms/GeneralInput";
11
-
12
- export const RegistrationLoginFirstStep = ({
13
- imageArrayCarousel = [],
14
- textCarousel,
15
- backogroundColorCarousel,
16
- }) => {
17
- const [emptyName, setEmptyName] = useState(false);
18
- const [emptyLastName, setEmptyLastName] = useState(false);
19
- const [emptyEmail, setEmptyEmail] = useState(false);
20
- const [emptyJob, setEmptyJob] = useState(false);
21
- const [emptyPhone, setEmptyPhone] = useState(false);
22
- const [invalidEmail, setInvalidEmail] = useState(false);
23
-
24
- const validate = async (e) => {
25
- e.preventDefault();
26
- const name = document.querySelector("#nameInput").value;
27
- const lastName = document.querySelector("#lastNameInput").value;
28
- const email = document.querySelector("#emailInput").value;
29
- const job = document.querySelector("#jobInput").value;
30
- const phone = document.querySelector("#phoneInput").value;
31
- name === "" ? setEmptyName(true) : setEmptyName(false);
32
- lastName === "" ? setEmptyLastName(true) : setEmptyLastName(false);
33
- email === "" ? setEmptyEmail(true) : setEmptyEmail(false);
34
- job === "" ? setEmptyJob(true) : setEmptyJob(false);
35
- phone === "" ? setEmptyPhone(true) : setEmptyPhone(false);
36
- !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
37
- email
38
- )
39
- ? setInvalidEmail(true)
40
- : setInvalidEmail(false);
41
- };
42
- const loginRight = [
43
- <LogoImage key="1" />,
44
- <div className="credenciales" key={"2"}>
45
- <ScreenHeader
46
- fontFamily={FontFamily.AvenirNext}
47
- color={GlobalColors.s5}
48
- text={"Ingresa tus credenciales"}
49
- />
50
- </div>,
51
- <div className="user" key="3">
52
- <div className="name-registration-user">
53
- <TagAndInput
54
- inputType={"text"}
55
- inputId={"nameInput"}
56
- label={"Nombre"}
57
- inputPlaceHolder={"Nombre"}
58
- />
59
- <TagAndInput
60
- inputType={"text"}
61
- inputId={"lastNameInput"}
62
- label={"Apellido"}
63
- inputPlaceHolder={"Apellido"}
64
- />
65
- </div>
66
- {emptyName && <label>Ingrese su nombre</label>}
67
- {emptyLastName && <label>Ingrese sus apellidos</label>}
68
- <TagAndInput
69
- inputType={"text"}
70
- inputId={"emailInput"}
71
- label={"Correo electrónico"}
72
- inputPlaceHolder={"username@contentoh.com"}
73
- />
74
- {emptyEmail && <label>Ingrese su correo</label>}
75
- {invalidEmail && !emptyEmail && <label>Ingrese un correo válido</label>}
76
- <TagAndInput
77
- inputType={"text"}
78
- inputId={"jobInput"}
79
- label={"Puesto laboral"}
80
- inputPlaceHolder={"Puesto dentro de la empresa"}
81
- />
82
- {emptyJob && <label>Ingrese su puesto</label>}
83
- <ScreenHeader text={"Teléfono"} headerType={"input-name-header"} />
84
- <div className="phone-registration-user">
85
- <select name="select" className="phone-options">
86
- <option>+52</option>
87
- <option>+54</option>
88
- <option>+57</option>
89
- <option>+506</option>
90
- <option>+593</option>
91
- <option>+503</option>
92
- <option>+504</option>
93
- <option>+507</option>
94
- <option>+51</option>
95
- </select>
96
- <GeneralInput
97
- inputId={"phoneInput"}
98
- inputType={"text"}
99
- inputPlaceholder={"Teléfono"}
100
- />
101
- </div>
102
- {emptyPhone && <label>Ingrese su número de teléfono</label>}
103
- <ScreenHeader text={"País"} headerType={"input-name-header"} />
104
- <select name="select" className="country-options">
105
- <option value="value1" selected>
106
- Selecciona tu país
107
- </option>
108
- <option value="value2">Argentina</option>
109
- <option value="value3">Colombia</option>
110
- <option value="value2">Ecuador</option>
111
- <option value="value3">El Salvador</option>
112
- <option value="value2">Honduras</option>
113
- <option value="value3">México</option>
114
- <option value="value2">Panamá</option>
115
- <option value="value3">Perú</option>
116
- </select>
117
- {emptyEmail && <label>Seleccione su país</label>}
118
- </div>,
119
- <div className="button-end" key="4">
120
- <Button
121
- buttonType={"general-default-button"}
122
- label={"Enviar"}
123
- onClick={(e) => validate(e)}
124
- />
125
- </div>,
126
- <div className="progress-bar" key="5">
127
- <div className="progress-bar-first-step"></div>
128
- <div className="progress-bar-registration"></div>
129
- </div>,
130
- <ScreenHeader
131
- text={"Paso 1"}
132
- headerType={"date-header"}
133
- color={GlobalColors.s4}
134
- key="6"
135
- />,
136
- <div className="new-login" key="7">
137
- <p className="pre-registro">
138
- ¿Ya tienes una cuenta?<span> Inicia Sesión</span>
139
- </p>
140
- </div>,
141
- ];
142
- return (
143
- <Container>
144
- <div className="home-retailer">
145
- <CarouselImagesLogin
146
- panelImg={imageArrayCarousel}
147
- panelText={textCarousel}
148
- panelColor={backogroundColorCarousel}
149
- />
150
- </div>
151
- <div className="home-login-retailer">
152
- <GradientPanel
153
- componentsArray={loginRight}
154
- panelType={"home-login"}
155
- panelColor={GlobalColors.white}
156
- />
157
- </div>
158
- </Container>
159
- );
160
- };
@@ -1,85 +0,0 @@
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: 100%;
7
- height: 100vh;
8
- .user {
9
- .name-registration-user {
10
- display: flex;
11
- justify-content: space-between;
12
- input {
13
- width: 160px;
14
- }
15
- }
16
- .input-name-header {
17
- margin-bottom: 4px;
18
- margin-top: 12px;
19
- }
20
- .phone-registration-user {
21
- display: flex;
22
- justify-content: space-between;
23
- .phone-options {
24
- width: 80px;
25
- }
26
- input {
27
- width: 100%;
28
- }
29
- & + * {
30
- margin-top: 10px;
31
- }
32
- }
33
- .country-options,
34
- .phone-options {
35
- width: 100%;
36
- border: 1px solid ${GlobalColors.s2};
37
- font-family: ${FontFamily.AvenirNext};
38
- color: ${GlobalColors.s4};
39
- font-weight: normal;
40
- font-size: 12px;
41
- line-height: 15px;
42
- padding: 10px;
43
- outline: none;
44
- border-radius: 2px;
45
- resize: none;
46
- &:focus {
47
- border: 1px solid ${GlobalColors.magenta_s2};
48
- }
49
- }
50
- }
51
- .button-end {
52
- text-align: end;
53
- .general-default-button {
54
- width: 160px;
55
- }
56
- & + * {
57
- margin-top: 10px;
58
- }
59
- }
60
- .progress-bar {
61
- width: 100%;
62
- height: 8px;
63
- display: flex;
64
- justify-content: space-between;
65
- .progress-bar-first-step {
66
- width: 33.33%;
67
- background-color: rgb(196, 196, 196);
68
- }
69
- .progress-bar-registration {
70
- background-color: rgb(226, 226, 226);
71
- width: 66.66%;
72
- }
73
- }
74
- .date-header {
75
- .new-login {
76
- & + * {
77
- margin-top: 20px;
78
- }
79
- }
80
- }
81
- .home-login-retailer,
82
- .home-retailer {
83
- width: 50%;
84
- }
85
- `;