contentoh-components-library 21.1.26 → 21.1.27
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/dist/components/atoms/CheckBox/styles.js +1 -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/SliderToolTip/SliderToolTip.stories.js +13 -67
- package/dist/components/atoms/SliderToolTip/index.js +134 -64
- package/dist/components/atoms/SliderToolTip/styles.js +2 -2
- package/dist/components/atoms/ValidationPanel/index.js +4 -3
- package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +1 -44
- package/dist/components/atoms/VerticalSideMenuMainPage/index.js +48 -47
- package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +4 -29
- package/dist/components/molecules/AvatarAndValidation/index.js +4 -0
- package/dist/components/molecules/StatusAsignationInfo/index.js +1 -29
- 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 +5 -1
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +99 -109
- package/dist/components/pages/ProviderProductEdition/index.js +87 -97
- package/dist/components/pages/RetailerProductEdition/index.js +9 -10
- package/dist/global-files/global-styles.css +1 -0
- package/dist/index.js +51 -38
- package/package.json +1 -1
- package/src/components/atoms/CheckBox/styles.js +1 -0
- package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +11 -77
- package/src/components/atoms/SliderToolTip/index.js +154 -91
- package/src/components/atoms/SliderToolTip/styles.js +22 -51
- package/src/components/atoms/ValidationPanel/index.js +4 -3
- package/src/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +1 -24
- package/src/components/atoms/VerticalSideMenuMainPage/index.js +30 -38
- package/src/components/atoms/VerticalSideMenuMainPage/styles.js +18 -76
- package/src/components/molecules/AvatarAndValidation/index.js +4 -0
- package/src/components/molecules/StatusAsignationInfo/index.js +0 -31
- package/src/components/organisms/FullProductNameHeader/index.js +4 -0
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +105 -107
- package/src/components/pages/ProviderProductEdition/index.js +37 -64
- package/src/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +17 -0
- package/src/components/pages/RegistrationLoginFirstStep/index.js +160 -0
- package/src/components/pages/RegistrationLoginFirstStep/styles.js +85 -0
- package/src/components/pages/RetailerProductEdition/index.js +0 -1
- package/src/index.js +1 -0
- package/dist/assets/images/sliderToolTip/slide21.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide22.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide23.svg +0 -9
- 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/MenuCommercialRetailers/MenuCommercialRetailers.stories.js +0 -37
- package/dist/components/atoms/MenuCommercialRetailers/index.js +0 -25
- package/dist/components/atoms/MenuCommercialRetailers/styles.js +0 -20
- 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/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/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/src/assets/images/sliderToolTip/slide21.svg +0 -9
- package/src/assets/images/sliderToolTip/slide22.svg +0 -9
- package/src/assets/images/sliderToolTip/slide23.svg +0 -9
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = exports.MenuProductImageDefault = void 0;
|
|
9
|
-
|
|
10
|
-
var _index = require("./index");
|
|
11
|
-
|
|
12
|
-
var _menuProductImage = _interopRequireDefault(require("../../../assets/images/menuProductImage/menuProductImage.svg"));
|
|
13
|
-
|
|
14
|
-
var _default = {
|
|
15
|
-
title: "Components/atoms/MenuProductImage",
|
|
16
|
-
component: _index.MenuProductImage
|
|
17
|
-
};
|
|
18
|
-
exports.default = _default;
|
|
19
|
-
|
|
20
|
-
var Template = function Template(args) {
|
|
21
|
-
return /*#__PURE__*/React.createElement(_index.MenuProductImage, args);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
var MenuProductImageDefault = Template.bind({});
|
|
25
|
-
exports.MenuProductImageDefault = MenuProductImageDefault;
|
|
26
|
-
MenuProductImageDefault.args = {
|
|
27
|
-
ProductImg: _menuProductImage.default
|
|
28
|
-
};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.MenuProductImage = void 0;
|
|
9
|
-
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
-
|
|
12
|
-
var _styles = require("./styles");
|
|
13
|
-
|
|
14
|
-
var _menuProductImageButton = _interopRequireDefault(require("../../../assets/images/menuProductImage/menuProductImageButton.svg"));
|
|
15
|
-
|
|
16
|
-
var _react = require("react");
|
|
17
|
-
|
|
18
|
-
var _index = require("../LoadImageMenu/index");
|
|
19
|
-
|
|
20
|
-
var _listCommercialRetailers = _interopRequireDefault(require("../../../assets/images/listCommercialRetailers/listCommercialRetailers.svg"));
|
|
21
|
-
|
|
22
|
-
var MenuProductImage = function MenuProductImage(_ref) {
|
|
23
|
-
var ProductImg = _ref.ProductImg;
|
|
24
|
-
|
|
25
|
-
var _useState = (0, _react.useState)(false),
|
|
26
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
27
|
-
showMenu = _useState2[0],
|
|
28
|
-
setShowMenu = _useState2[1];
|
|
29
|
-
|
|
30
|
-
var closeMenu = function closeMenu(e) {
|
|
31
|
-
if (!e.target.closest(".menu-upload-product") && showMenu) {
|
|
32
|
-
document.removeEventListener("click", closeMenu, false);
|
|
33
|
-
setShowMenu(false);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
(0, _react.useEffect)(function () {
|
|
38
|
-
if (showMenu) {
|
|
39
|
-
document.addEventListener("click", closeMenu, false);
|
|
40
|
-
}
|
|
41
|
-
}, [showMenu]);
|
|
42
|
-
return /*#__PURE__*/React.createElement(_styles.Container, {
|
|
43
|
-
className: "div-upload-image"
|
|
44
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
45
|
-
className: "profile-image",
|
|
46
|
-
src: ProductImg,
|
|
47
|
-
alt: "Product Image"
|
|
48
|
-
}), /*#__PURE__*/React.createElement("button", {
|
|
49
|
-
onClick: function onClick(event) {
|
|
50
|
-
if (!showMenu) {
|
|
51
|
-
setShowMenu(true);
|
|
52
|
-
} else if (showMenu && !event.target.closest(".menu-upload-product")) {
|
|
53
|
-
setShowMenu(false);
|
|
54
|
-
document.removeEventListener("click", closeMenu, false);
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
className: "upload-image-button " + (showMenu && "show-menu-upload-image")
|
|
58
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
59
|
-
src: showMenu ? _listCommercialRetailers.default : _menuProductImageButton.default,
|
|
60
|
-
alt: "Product Image Button"
|
|
61
|
-
})), showMenu && /*#__PURE__*/React.createElement("div", {
|
|
62
|
-
className: "menu-upload-product"
|
|
63
|
-
}, /*#__PURE__*/React.createElement(_index.LoadImageMenu, {
|
|
64
|
-
tipo: "Tipo de empaque ",
|
|
65
|
-
product: "Producto expuesto",
|
|
66
|
-
content: [{
|
|
67
|
-
label: "Enbalaje adicional - 0"
|
|
68
|
-
}, {
|
|
69
|
-
label: "En paquete - 1"
|
|
70
|
-
}, {
|
|
71
|
-
label: "Producto expuesto - 2"
|
|
72
|
-
}, {
|
|
73
|
-
label: "Embalaje multiforme - 3"
|
|
74
|
-
}, {
|
|
75
|
-
label: "Si no es una imagen / no corresponde - X"
|
|
76
|
-
}],
|
|
77
|
-
id: "menu-packaging-type"
|
|
78
|
-
}), /*#__PURE__*/React.createElement(_index.LoadImageMenu, {
|
|
79
|
-
tipo: "Tipo de imagen ",
|
|
80
|
-
product: "Render",
|
|
81
|
-
content: [{
|
|
82
|
-
label: "fotografía del producto"
|
|
83
|
-
}],
|
|
84
|
-
id: "menu-image-type"
|
|
85
|
-
})));
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
exports.MenuProductImage = MenuProductImage;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.Container = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
|
-
var _variables = require("../../../global-files/variables");
|
|
15
|
-
|
|
16
|
-
var _templateObject;
|
|
17
|
-
|
|
18
|
-
var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n .profile-image {\n width: 23px;\n height: 23px;\n & + * {\n margin-left: 8px;\n }\n }\n .upload-image-button {\n background: transparent;\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n display: flex;\n align-items: center;\n cursor: pointer;\n height: 30px;\n width: 15px;\n left: 100%;\n img {\n display: none;\n }\n &:hover {\n border: 1px solid ", ";\n img {\n display: block;\n }\n }\n &.show-menu-upload-image {\n border: 1px solid ", ";\n img {\n display: block;\n }\n }\n }\n .menu-upload-product {\n background: ", ";\n border: 1px solid ", ";\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\n border-radius: 7px;\n width: 324px;\n padding: 8px 0px;\n position: absolute;\n right: 0%;\n z-index: 1;\n top: 30px;\n button {\n left: 0%;\n border-radius: 7px;\n span,\n .tipo {\n color: ", ";\n }\n .products {\n color: ", ";\n }\n }\n }\n"])), _variables.GlobalColors.s3, _variables.GlobalColors.magenta_s2, _variables.GlobalColors.s2, _variables.GlobalColors.s3, _variables.GlobalColors.s5, _variables.GlobalColors.s4);
|
|
19
|
-
|
|
20
|
-
exports.Container = Container;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.ApproveRejetPanelDefault = void 0;
|
|
7
|
-
|
|
8
|
-
var _index = require("./index");
|
|
9
|
-
|
|
10
|
-
var _default = {
|
|
11
|
-
title: "Components/molecules/ApproveRejetPanel",
|
|
12
|
-
component: _index.ApproveRejetPanel
|
|
13
|
-
};
|
|
14
|
-
exports.default = _default;
|
|
15
|
-
|
|
16
|
-
var Template = function Template(args) {
|
|
17
|
-
return /*#__PURE__*/React.createElement(_index.ApproveRejetPanel, args);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
var ApproveRejetPanelDefault = Template.bind({});
|
|
21
|
-
exports.ApproveRejetPanelDefault = ApproveRejetPanelDefault;
|
|
22
|
-
ApproveRejetPanelDefault.args = {
|
|
23
|
-
text: "113 productos",
|
|
24
|
-
check: false
|
|
25
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.ApproveRejetPanel = void 0;
|
|
9
|
-
|
|
10
|
-
var _ScreenHeader = require("../../atoms/ScreenHeader");
|
|
11
|
-
|
|
12
|
-
var _Avatar = require("../../atoms/Avatar");
|
|
13
|
-
|
|
14
|
-
var _styles = require("./styles");
|
|
15
|
-
|
|
16
|
-
var _approveRejetPanelDelete = _interopRequireDefault(require("../../../assets/images/approveRejetPanel/approveRejetPanelDelete.svg"));
|
|
17
|
-
|
|
18
|
-
var _approveRejetPanelCancel = _interopRequireDefault(require("../../../assets/images/approveRejetPanel/approveRejetPanelCancel.svg"));
|
|
19
|
-
|
|
20
|
-
var _approveRejetPanelSave = _interopRequireDefault(require("../../../assets/images/approveRejetPanel/approveRejetPanelSave.svg"));
|
|
21
|
-
|
|
22
|
-
var _approveRejetPanelExclude = _interopRequireDefault(require("../../../assets/images/approveRejetPanel/approveRejetPanelExclude.svg"));
|
|
23
|
-
|
|
24
|
-
var _variables = require("../../../global-files/variables");
|
|
25
|
-
|
|
26
|
-
var ApproveRejetPanel = function ApproveRejetPanel(_ref) {
|
|
27
|
-
var text = _ref.text,
|
|
28
|
-
check = _ref.check;
|
|
29
|
-
return /*#__PURE__*/React.createElement(_styles.Container, null, /*#__PURE__*/React.createElement(_ScreenHeader.ScreenHeader, {
|
|
30
|
-
fontFamily: _variables.FontFamily.AvenirNext,
|
|
31
|
-
headerType: "date-header",
|
|
32
|
-
color: _variables.GlobalColors.s4,
|
|
33
|
-
text: text
|
|
34
|
-
}), /*#__PURE__*/React.createElement(_Avatar.Avatar, {
|
|
35
|
-
image: _approveRejetPanelDelete.default,
|
|
36
|
-
imageType: "big-image",
|
|
37
|
-
altText: "delete button"
|
|
38
|
-
}), /*#__PURE__*/React.createElement(_Avatar.Avatar, {
|
|
39
|
-
image: check ? _approveRejetPanelCancel.default : _approveRejetPanelExclude.default,
|
|
40
|
-
imageType: "big-image",
|
|
41
|
-
altText: check ? "cancel button" : "exclude button"
|
|
42
|
-
}), /*#__PURE__*/React.createElement(_Avatar.Avatar, {
|
|
43
|
-
image: check ? _approveRejetPanelSave.default : _approveRejetPanelExclude.default,
|
|
44
|
-
imageType: "big-image",
|
|
45
|
-
altText: check ? "save button" : "exclude button"
|
|
46
|
-
}));
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
exports.ApproveRejetPanel = ApproveRejetPanel;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.Container = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
|
-
var _templateObject;
|
|
15
|
-
|
|
16
|
-
var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: end;\n align-items: center;\n .date-header + * {\n margin-left: 30px;\n }\n .big-image + * {\n margin-left: 10px;\n }\n"])));
|
|
17
|
-
|
|
18
|
-
exports.Container = Container;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = exports.SignInLoginCreationAppDefault = void 0;
|
|
9
|
-
|
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
|
-
|
|
12
|
-
var _index = require("./index");
|
|
13
|
-
|
|
14
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
|
-
var _default = {
|
|
17
|
-
title: "Components/molecules/SignInLoginCreationApp",
|
|
18
|
-
component: _index.SignInLoginCreationApp
|
|
19
|
-
};
|
|
20
|
-
exports.default = _default;
|
|
21
|
-
|
|
22
|
-
var Template = function Template(args) {
|
|
23
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.SignInLoginCreationApp, (0, _objectSpread2.default)({}, args));
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
var SignInLoginCreationAppDefault = Template.bind({});
|
|
27
|
-
exports.SignInLoginCreationAppDefault = SignInLoginCreationAppDefault;
|
|
28
|
-
SignInLoginCreationAppDefault.args = {};
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.SignInLoginCreationApp = void 0;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
15
|
-
|
|
16
|
-
var _styles = require("./styles");
|
|
17
|
-
|
|
18
|
-
var _index = require("../../atoms/LogoImage/index");
|
|
19
|
-
|
|
20
|
-
var _index2 = require("../../atoms/ScreenHeader/index");
|
|
21
|
-
|
|
22
|
-
var _index3 = require("../../atoms/GeneralButton/index");
|
|
23
|
-
|
|
24
|
-
var _index4 = require("../../atoms/CheckBox/index");
|
|
25
|
-
|
|
26
|
-
var _TagAndInput = require("../TagAndInput");
|
|
27
|
-
|
|
28
|
-
var _variables = require("../../../global-files/variables");
|
|
29
|
-
|
|
30
|
-
var _react = require("react");
|
|
31
|
-
|
|
32
|
-
var _Loading = require("../../atoms/Loading");
|
|
33
|
-
|
|
34
|
-
var _reactRouterDom = require("react-router-dom");
|
|
35
|
-
|
|
36
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
37
|
-
|
|
38
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
|
-
|
|
40
|
-
var SignInLoginCreationApp = function SignInLoginCreationApp(props) {
|
|
41
|
-
var _useState = (0, _react.useState)(false),
|
|
42
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
43
|
-
emptyEmail = _useState2[0],
|
|
44
|
-
setEmptyEmail = _useState2[1];
|
|
45
|
-
|
|
46
|
-
var _useState3 = (0, _react.useState)(false),
|
|
47
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
48
|
-
invalidEmail = _useState4[0],
|
|
49
|
-
setInvalidEmail = _useState4[1];
|
|
50
|
-
|
|
51
|
-
var _useState5 = (0, _react.useState)(false),
|
|
52
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
53
|
-
emptyPassword = _useState6[0],
|
|
54
|
-
setEmptyPassword = _useState6[1];
|
|
55
|
-
|
|
56
|
-
var _useState7 = (0, _react.useState)(true),
|
|
57
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
58
|
-
showErrors = _useState8[0],
|
|
59
|
-
setShowErrors = _useState8[1];
|
|
60
|
-
|
|
61
|
-
var _useState9 = (0, _react.useState)(""),
|
|
62
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
63
|
-
signInError = _useState10[0],
|
|
64
|
-
setSignInError = _useState10[1];
|
|
65
|
-
|
|
66
|
-
var _useState11 = (0, _react.useState)(false),
|
|
67
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
68
|
-
loading = _useState12[0],
|
|
69
|
-
setLoading = _useState12[1];
|
|
70
|
-
|
|
71
|
-
var _useState13 = (0, _react.useState)(false),
|
|
72
|
-
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
73
|
-
upgradePlanRedirect = _useState14[0],
|
|
74
|
-
setUpgradePlanRedirect = _useState14[1];
|
|
75
|
-
|
|
76
|
-
var validate = /*#__PURE__*/function () {
|
|
77
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
|
|
78
|
-
var valid, email, password, session, userGroup, response, userGroupValue, user, company;
|
|
79
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
|
-
while (1) {
|
|
81
|
-
switch (_context.prev = _context.next) {
|
|
82
|
-
case 0:
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
setSignInError("");
|
|
85
|
-
setShowErrors(true);
|
|
86
|
-
valid = true;
|
|
87
|
-
email = document.querySelector("#emailInput").value.trim();
|
|
88
|
-
password = document.querySelector("#passwordInput").value;
|
|
89
|
-
!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email) ? setInvalidEmail(true) : setInvalidEmail(false);
|
|
90
|
-
|
|
91
|
-
if (email === "") {
|
|
92
|
-
valid = false;
|
|
93
|
-
setEmptyEmail(true);
|
|
94
|
-
} else {
|
|
95
|
-
setEmptyEmail(false);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (password === "") {
|
|
99
|
-
valid = false;
|
|
100
|
-
setEmptyPassword(true);
|
|
101
|
-
} else {
|
|
102
|
-
setEmptyPassword(false);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (!valid) {
|
|
106
|
-
_context.next = 35;
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
_context.prev = 10;
|
|
111
|
-
setLoading(true);
|
|
112
|
-
_context.next = 14;
|
|
113
|
-
return props.Auth.signIn(email, password);
|
|
114
|
-
|
|
115
|
-
case 14:
|
|
116
|
-
session = _context.sent;
|
|
117
|
-
|
|
118
|
-
if (!(session.challengeName === "NEW_PASSWORD_REQUIRED")) {
|
|
119
|
-
_context.next = 20;
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
props.setUser(session);
|
|
124
|
-
props.setPaso(8);
|
|
125
|
-
_context.next = 28;
|
|
126
|
-
break;
|
|
127
|
-
|
|
128
|
-
case 20:
|
|
129
|
-
userGroup = session.signInUserSession.accessToken.payload["cognito:groups"];
|
|
130
|
-
_context.next = 23;
|
|
131
|
-
return _axios.default.get(process.env.REACT_APP_USER_ENDPOINT, {
|
|
132
|
-
headers: {
|
|
133
|
-
Authorization: session.signInUserSession.idToken.jwtToken
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
case 23:
|
|
138
|
-
response = _context.sent;
|
|
139
|
-
console.log(userGroup);
|
|
140
|
-
console.log(userGroup[0]);
|
|
141
|
-
userGroupValue = typeof userGroup === "string" ? userGroup : userGroup[0];
|
|
142
|
-
|
|
143
|
-
if (userGroupValue === "colaboradores_contentoh") {
|
|
144
|
-
sessionStorage.setItem("auth", true);
|
|
145
|
-
sessionStorage.setItem("jwt", session.signInUserSession.idToken.jwtToken);
|
|
146
|
-
user = JSON.parse(response.data.body).data[0];
|
|
147
|
-
company = JSON.parse(response.data.body).data[1];
|
|
148
|
-
caches.keys().then(function (names) {
|
|
149
|
-
names.forEach(function (name) {
|
|
150
|
-
caches.delete(name);
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
user.src = "https://".concat(process.env.REACT_APP_IMAGES_PROFILE_BUCKET, ".s3.amazonaws.com/id-").concat(user.id_user, "/").concat(user.id_user, ".png?").concat(new Date().getTime());
|
|
154
|
-
sessionStorage.setItem("user", JSON.stringify(user));
|
|
155
|
-
sessionStorage.setItem("company", JSON.stringify(company));
|
|
156
|
-
setUpgradePlanRedirect(true);
|
|
157
|
-
} else {
|
|
158
|
-
setSignInError("NotAuthorizedException");
|
|
159
|
-
setLoading(false);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
case 28:
|
|
163
|
-
_context.next = 35;
|
|
164
|
-
break;
|
|
165
|
-
|
|
166
|
-
case 30:
|
|
167
|
-
_context.prev = 30;
|
|
168
|
-
_context.t0 = _context["catch"](10);
|
|
169
|
-
console.log(_context.t0);
|
|
170
|
-
setLoading(false);
|
|
171
|
-
|
|
172
|
-
if (_context.t0.code === "NotAuthorizedException") {
|
|
173
|
-
setSignInError("NotAuthorizedException");
|
|
174
|
-
} else if (_context.t0.code === "UserNotConfirmedException") {
|
|
175
|
-
sessionStorage.setItem("email", JSON.stringify(document.querySelector("#usernameInput").value));
|
|
176
|
-
props.setPaso(5);
|
|
177
|
-
} else {
|
|
178
|
-
setSignInError("Error");
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
case 35:
|
|
182
|
-
case "end":
|
|
183
|
-
return _context.stop();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}, _callee, null, [[10, 30]]);
|
|
187
|
-
}));
|
|
188
|
-
|
|
189
|
-
return function validate(_x) {
|
|
190
|
-
return _ref.apply(this, arguments);
|
|
191
|
-
};
|
|
192
|
-
}();
|
|
193
|
-
|
|
194
|
-
(0, _react.useEffect)(function () {
|
|
195
|
-
sessionStorage.getItem("resetPasswordProcess") && sessionStorage.removeItem("resetPasswordProcess");
|
|
196
|
-
}, []);
|
|
197
|
-
(0, _react.useEffect)(function () {
|
|
198
|
-
if (upgradePlanRedirect) setLoading(false);
|
|
199
|
-
}, [upgradePlanRedirect]);
|
|
200
|
-
return loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
201
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Container, {
|
|
202
|
-
className: "home-login",
|
|
203
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
204
|
-
className: "main-container",
|
|
205
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.LogoImage, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
206
|
-
className: "credenciales",
|
|
207
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.ScreenHeader, {
|
|
208
|
-
fontFamily: _variables.FontFamily.AvenirNext,
|
|
209
|
-
color: _variables.GlobalColors.s5,
|
|
210
|
-
text: "Ingresa tus credenciales"
|
|
211
|
-
})
|
|
212
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
213
|
-
className: "user",
|
|
214
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TagAndInput.TagAndInput, {
|
|
215
|
-
inputType: "text",
|
|
216
|
-
label: "Nombre de usuario",
|
|
217
|
-
inputPlaceHolder: "username@contentoh.com",
|
|
218
|
-
inputId: "emailInput"
|
|
219
|
-
})
|
|
220
|
-
}), showErrors && emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
221
|
-
children: "Ingrese su correo"
|
|
222
|
-
}), invalidEmail && !emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
223
|
-
children: "Ingrese un correo v\xE1lido"
|
|
224
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
225
|
-
className: "password",
|
|
226
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TagAndInput.TagAndInput, {
|
|
227
|
-
inputType: "password",
|
|
228
|
-
label: "Contraseña",
|
|
229
|
-
inputPlaceHolder: "Escribe tu contraseña",
|
|
230
|
-
inputId: "passwordInput"
|
|
231
|
-
})
|
|
232
|
-
}), showErrors && emptyPassword && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
233
|
-
children: "Ingrese su contrase\xF1a"
|
|
234
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
235
|
-
className: "select",
|
|
236
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index4.CheckBox, {
|
|
237
|
-
label: "Mantener sesión activada",
|
|
238
|
-
id: "chk-default",
|
|
239
|
-
className: "active-left"
|
|
240
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
241
|
-
onClick: function onClick() {
|
|
242
|
-
return props.setPaso(10);
|
|
243
|
-
},
|
|
244
|
-
className: "active-right",
|
|
245
|
-
children: "Olvide mi contrase\xF1a"
|
|
246
|
-
})]
|
|
247
|
-
}), showErrors && signInError === "NotAuthorizedException" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
248
|
-
children: "Correo o contrase\xF1a incorrectos"
|
|
249
|
-
}), showErrors && signInError === "Error" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
250
|
-
children: "Ha habido un problema al iniciar sesi\xF3n"
|
|
251
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
252
|
-
className: "button-right",
|
|
253
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.Button, {
|
|
254
|
-
buttonType: "general-default-button",
|
|
255
|
-
label: "Iniciar sesión",
|
|
256
|
-
onClick: function onClick(e) {
|
|
257
|
-
return validate(e);
|
|
258
|
-
}
|
|
259
|
-
})
|
|
260
|
-
})]
|
|
261
|
-
})
|
|
262
|
-
}), upgradePlanRedirect && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Redirect, {
|
|
263
|
-
to: {
|
|
264
|
-
pathname: "/dashboard"
|
|
265
|
-
}
|
|
266
|
-
})]
|
|
267
|
-
});
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
exports.SignInLoginCreationApp = SignInLoginCreationApp;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.Container = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
|
-
var _variables = require("../../../global-files/variables");
|
|
15
|
-
|
|
16
|
-
var _templateObject;
|
|
17
|
-
|
|
18
|
-
var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: \"white\";\n display: flex;\n height: 100vh;\n width: 50%;\n justify-content: center;\n align-items: center;\n label {\n color: red;\n margin-top: 3px;\n margin-left: 15px;\n font-family: ", ";\n font-size: 11px;\n & + * {\n margin-top: 12px;\n }\n }\n\n &.home-login {\n .credenciales {\n & + * {\n margin-top: 30px;\n }\n }\n .user {\n & + * {\n margin-top: 20px;\n }\n }\n .password {\n & + * {\n margin-top: 20px;\n }\n }\n .select {\n display: flex;\n justify-content: space-between;\n .active-right {\n font-family: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 24px;\n letter-spacing: -0.015em;\n color: ", ";\n cursor: pointer;\n }\n & + * {\n margin-top: 50px;\n }\n }\n .button-right {\n text-align: right;\n & + * {\n margin-top: 55px;\n }\n }\n .new-login {\n p {\n font-family: ", ";\n text-align: right;\n font-weight: 500;\n font-size: 13px;\n line-height: 24px;\n color: ", ";\n cursor: pointer;\n span {\n color: ", ";\n }\n }\n }\n }\n .main-container {\n max-width: 80%;\n max-height: 80%;\n }\n"])), _variables.FontFamily.Raleway_700, _variables.FontFamily.AvenirNext, _variables.GlobalColors.s5, _variables.FontFamily.AvenirNext, _variables.GlobalColors.s5, _variables.GlobalColors.secondary_magenta);
|
|
19
|
-
|
|
20
|
-
exports.Container = Container;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg width="242" height="68" viewBox="0 0 242 68" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<rect width="242" height="68" fill="url(#pattern0)"/>
|
|
3
|
-
<defs>
|
|
4
|
-
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
-
<use xlink:href="#image0_11191_45209" transform="translate(0 -0.0217824) scale(0.0037594 0.013379)"/>
|
|
6
|
-
</pattern>
|
|
7
|
-
<image id="image0_11191_45209" width="266" height="78" xlink:href="data:image/png;base64,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"/>
|
|
8
|
-
</defs>
|
|
9
|
-
</svg>
|