venice-ui 1.0.58 → 1.0.61

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 (60) hide show
  1. package/dist/cjs/Theme/Theme.js +28 -18
  2. package/dist/cjs/components/ButtonsFooter/ButtonsFooter.js +25 -0
  3. package/dist/cjs/components/ButtonsFooter/ButtonsFooter.style.js +10 -0
  4. package/dist/cjs/components/ButtonsFooter/index.js +5 -0
  5. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +4 -4
  6. package/dist/cjs/components/DropdownMenu/DropdownMenu.styles.js +9 -5
  7. package/dist/cjs/components/ElementHeader/ElementHeader.js +3 -3
  8. package/dist/cjs/components/Filters/Filters.js +1 -2
  9. package/dist/cjs/components/Icons/Icon.js +2 -2
  10. package/dist/cjs/components/Icons/Icon.styles.js +24 -17
  11. package/dist/cjs/components/Icons/IconsPath.js +1 -0
  12. package/dist/cjs/components/Icons/IconsShows.js +2 -2
  13. package/dist/cjs/components/Input/Input.js +1 -1
  14. package/dist/cjs/components/Modal/Modal.js +4 -10
  15. package/dist/cjs/components/Table/Table.js +21 -12
  16. package/dist/cjs/components/Table/Table.styles.js +33 -10
  17. package/dist/cjs/components/common/commonComponents.js +1 -1
  18. package/dist/cjs/components/common/inputStyles.js +4 -4
  19. package/dist/cjs/example/Colors.js +18 -0
  20. package/dist/cjs/example/ExampleComponent.js +53 -20
  21. package/dist/cjs/example/TypographyExample.js +47 -0
  22. package/dist/cjs/index.js +1 -0
  23. package/dist/esm/Theme/Theme.js +27 -17
  24. package/dist/esm/components/ButtonsFooter/ButtonsFooter.js +18 -0
  25. package/dist/esm/components/ButtonsFooter/ButtonsFooter.style.js +4 -0
  26. package/dist/esm/components/ButtonsFooter/index.js +1 -0
  27. package/dist/esm/components/DropdownMenu/DropdownMenu.js +4 -4
  28. package/dist/esm/components/DropdownMenu/DropdownMenu.styles.js +9 -5
  29. package/dist/esm/components/ElementHeader/ElementHeader.js +3 -3
  30. package/dist/esm/components/Filters/Filters.js +1 -2
  31. package/dist/esm/components/Icons/Icon.js +2 -2
  32. package/dist/esm/components/Icons/Icon.styles.js +26 -19
  33. package/dist/esm/components/Icons/IconsPath.js +1 -0
  34. package/dist/esm/components/Icons/IconsShows.js +3 -3
  35. package/dist/esm/components/Input/Input.js +1 -1
  36. package/dist/esm/components/Modal/Modal.js +5 -11
  37. package/dist/esm/components/Table/Table.js +22 -13
  38. package/dist/esm/components/Table/Table.styles.js +32 -9
  39. package/dist/esm/components/common/commonComponents.js +1 -1
  40. package/dist/esm/components/common/inputStyles.js +4 -4
  41. package/dist/esm/example/Colors.js +11 -0
  42. package/dist/esm/example/ExampleComponent.js +52 -19
  43. package/dist/esm/example/TypographyExample.js +40 -0
  44. package/dist/esm/index.js +1 -0
  45. package/dist/types/Theme/Theme.d.ts +14 -4
  46. package/dist/types/components/ButtonsFooter/ButtonsFooter.d.ts +13 -0
  47. package/dist/types/components/ButtonsFooter/ButtonsFooter.style.d.ts +1 -0
  48. package/dist/types/components/ButtonsFooter/index.d.ts +1 -0
  49. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +3 -1
  50. package/dist/types/components/Icons/Icon.d.ts +2 -2
  51. package/dist/types/components/Icons/Icon.styles.d.ts +3 -3
  52. package/dist/types/components/Icons/IconsPath.d.ts +1 -0
  53. package/dist/types/components/Modal/Modal.d.ts +2 -0
  54. package/dist/types/components/Table/Table.d.ts +3 -0
  55. package/dist/types/components/Table/Table.styles.d.ts +3 -0
  56. package/dist/types/example/Colors.d.ts +2 -0
  57. package/dist/types/example/ExampleComponent.d.ts +9 -0
  58. package/dist/types/example/TypographyExample.d.ts +2 -0
  59. package/dist/types/index.d.ts +1 -0
  60. package/package.json +17 -16
@@ -1,18 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mainTheme = exports.Theme = void 0;
3
+ exports.mainTheme = exports.Theme = exports.pallete = void 0;
4
4
  const polished_1 = require("polished");
5
+ exports.pallete = {
6
+ primary: "#4c95c5",
7
+ accent: '#e4b485',
8
+ };
5
9
  exports.Theme = {
6
10
  colors: {
7
- primary: "#4c95c5",
11
+ primary: exports.pallete.primary,
12
+ primary_40: (0, polished_1.lighten)(0.1, exports.pallete.primary),
13
+ primary_30: (0, polished_1.lighten)(0.2, exports.pallete.primary),
14
+ primary_20: (0, polished_1.lighten)(0.3, exports.pallete.primary),
15
+ primary_10: (0, polished_1.lighten)(0.4, exports.pallete.primary),
16
+ accent: exports.pallete.accent,
17
+ accent_light: (0, polished_1.lighten)(0.2, exports.pallete.accent),
18
+ black: "#000000",
8
19
  text: '#333333',
9
- disableText: "#979797",
10
- disableBackground: '#e7e7e7',
20
+ gray_1: '#979797',
21
+ gray_2: "#b7b7b7",
22
+ gray_3: "#e3e3e3",
23
+ gray_4: '#f3f3f3',
11
24
  white: "#ffffff",
12
- black: "#333333",
13
- gray_1: "#b7b7b7",
14
- gray_2: "#e3e3e3",
15
- gray_3: '#f3f3f3',
16
25
  overlayer: 'rgba(0,0,0,0.4)',
17
26
  red: '#ad1616'
18
27
  },
@@ -59,20 +68,20 @@ exports.mainTheme = {
59
68
  buttonPrimaryHover: (0, polished_1.lighten)(0.1, exports.Theme.colors.primary),
60
69
  buttonSecondaryHover: (0, polished_1.lighten)(0.4, exports.Theme.colors.primary),
61
70
  buttonInverseHover: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
62
- disabledBackground: exports.Theme.colors.disableBackground,
63
- disabledText: exports.Theme.colors.disableText,
71
+ disabledBackground: exports.Theme.colors.gray_4,
72
+ disabledText: exports.Theme.colors.gray_1,
64
73
  //text
65
74
  textColor: exports.Theme.colors.text,
66
75
  // input
67
76
  inputDefaultBackground: exports.Theme.colors.white,
68
- inputDefaultBorder: exports.Theme.colors.gray_1,
77
+ inputDefaultBorder: exports.Theme.colors.gray_2,
69
78
  inputDefaultTextColor: exports.Theme.colors.text,
70
- inputFocusBackground: (0, polished_1.lighten)(0.4, exports.Theme.colors.primary),
71
- inputFocusBorder: exports.Theme.colors.primary,
79
+ inputFocusBackground: exports.Theme.colors.accent_light,
80
+ inputFocusBorder: exports.Theme.colors.accent,
72
81
  inputFocusTextColor: exports.Theme.colors.text,
73
- inputDisabledBackground: exports.Theme.colors.disableBackground,
74
- inputDisabledBorder: exports.Theme.colors.disableText,
75
- inputDisabledTextColor: exports.Theme.colors.disableText,
82
+ inputDisabledBackground: exports.Theme.colors.gray_4,
83
+ inputDisabledBorder: exports.Theme.colors.gray_1,
84
+ inputDisabledTextColor: exports.Theme.colors.gray_1,
76
85
  inputErrorBackground: (0, polished_1.lighten)(0.5, exports.Theme.colors.red),
77
86
  inputErrorBorder: exports.Theme.colors.red,
78
87
  inputErrorTextColor: exports.Theme.colors.red,
@@ -82,14 +91,15 @@ exports.mainTheme = {
82
91
  optionActiveColor: exports.Theme.colors.primary,
83
92
  optionHoverBackground: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
84
93
  //table
85
- tableBorderColor: exports.Theme.colors.gray_2,
94
+ tableBorderColor: exports.Theme.colors.gray_3,
86
95
  tableHeaderBackground: exports.Theme.colors.white,
87
96
  tableHeaderActiveBackground: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
88
97
  tableCellBackground: exports.Theme.colors.white,
89
- tableCellEvenBackground: exports.Theme.colors.gray_3,
98
+ tableCellEvenBackground: exports.Theme.colors.gray_4,
90
99
  tableCellHoverBackground: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
91
100
  tableCellActiveBackground: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
92
101
  tableCellSortIcon: exports.Theme.colors.primary,
102
+ tableMoreIconColor: exports.Theme.colors.primary,
93
103
  // chips
94
104
  chipsNeutralBackground: exports.Theme.colors.primary,
95
105
  chipsNeutralTextColor: exports.Theme.colors.white
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ButtonsFooter = void 0;
7
+ const Button_1 = require("../Button");
8
+ const Theme_1 = require("../../Theme/Theme");
9
+ const Aligment_1 = require("../Aligment");
10
+ const react_1 = __importDefault(require("react"));
11
+ const ButtonsFooter_style_1 = require("./ButtonsFooter.style");
12
+ const ButtonsFooter = ({ handleConfirm, handleClose, handleAdditional, labelConfirm, labelClose, labelAdditional, submitDisabled, submitLoader, }) => {
13
+ const isAdditional = () => {
14
+ return labelAdditional !== undefined && handleAdditional !== undefined;
15
+ };
16
+ const isMultiButtons = () => {
17
+ return handleConfirm !== undefined && labelConfirm !== undefined;
18
+ };
19
+ return (react_1.default.createElement(Aligment_1.Aligment, { justify: isAdditional() ? 'space-between' : 'flex-end', vPadding: Theme_1.Theme.padding.l, hPadding: Theme_1.Theme.padding.l },
20
+ labelAdditional && handleAdditional && (react_1.default.createElement(ButtonsFooter_style_1.ButtonsFooterGroup, null, !submitLoader && (react_1.default.createElement(Button_1.Button, { mode: 'inverse', onClick: () => handleAdditional(), text: labelAdditional, left: isMultiButtons() })))),
21
+ react_1.default.createElement(ButtonsFooter_style_1.ButtonsFooterGroup, null,
22
+ !submitLoader && (react_1.default.createElement(Button_1.Button, { mode: isMultiButtons() ? 'secondary' : 'primary', onClick: () => handleClose(), text: labelClose, left: isMultiButtons() })),
23
+ handleConfirm && labelConfirm && (react_1.default.createElement(Button_1.Button, { onClick: handleConfirm, text: labelConfirm, disabled: submitDisabled, loader: submitLoader })))));
24
+ };
25
+ exports.ButtonsFooter = ButtonsFooter;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ButtonsFooterGroup = void 0;
7
+ const styled_components_1 = __importDefault(require("styled-components"));
8
+ exports.ButtonsFooterGroup = styled_components_1.default.div `
9
+ display:flex;
10
+ `;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonsFooter = void 0;
4
+ var ButtonsFooter_1 = require("./ButtonsFooter");
5
+ Object.defineProperty(exports, "ButtonsFooter", { enumerable: true, get: function () { return ButtonsFooter_1.ButtonsFooter; } });
@@ -31,7 +31,7 @@ const Icons_1 = require("../Icons");
31
31
  const DropdownMenu_styles_1 = require("./DropdownMenu.styles");
32
32
  const Aligment_1 = require("../Aligment");
33
33
  const Typography_1 = require("../Typography");
34
- const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme_1.Theme.colors.primary, iconBackgroundColor = false, header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, }) => {
34
+ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme_1.Theme.colors.text, header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, iconInverseMode = false, iconHoverColor = Theme_1.Theme.colors.primary_10, targetID }) => {
35
35
  const [open, toogleOpen] = (0, react_1.useState)(false);
36
36
  const ref = (0, react_1.useRef)(null);
37
37
  const close = () => {
@@ -42,7 +42,7 @@ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme_1
42
42
  close();
43
43
  };
44
44
  const handleClick = (action) => {
45
- action();
45
+ targetID ? action(targetID) : action();
46
46
  close();
47
47
  };
48
48
  (0, react_1.useEffect)(() => {
@@ -57,9 +57,9 @@ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme_1
57
57
  };
58
58
  }, [open]);
59
59
  return (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuElement, null,
60
- react_1.default.createElement(Icons_1.Icon, { name: iconName, onClick: () => toogleOpen(!open), color: color, bgColor: iconBackgroundColor, size: (0, common_1.setIconSize)(size), active: open, right: right, left: left }),
60
+ react_1.default.createElement(Icons_1.Icon, { name: iconName, onClick: () => toogleOpen(!open), color: color, hoverColor: iconHoverColor, size: (0, common_1.setIconSize)(size), active: open, right: right, left: left, inverseMode: iconInverseMode }),
61
61
  open && (react_1.default.createElement(common_1.Panel, { ref: ref, size: size, position: "right" },
62
- react_1.default.createElement(Aligment_1.Aligment, { hPadding: Theme_1.Theme.padding.m, direction: "column" },
62
+ react_1.default.createElement(Aligment_1.Aligment, { direction: "column" },
63
63
  header && (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuHeader, null,
64
64
  headerTitle && (react_1.default.createElement(Typography_1.TextAccent, { color: Theme_1.Theme.colors.text }, headerTitle)),
65
65
  headerSubtitle && (react_1.default.createElement(Typography_1.TextLabel, { color: Theme_1.Theme.colors.text }, headerSubtitle)))),
@@ -15,20 +15,24 @@ exports.DropdownMenuElement = styled_components_1.default.div `
15
15
  min-width:40px;
16
16
  `;
17
17
  exports.DropdownMenuHeader = styled_components_1.default.div `
18
- border-bottom: 1px solid ${Theme_1.Theme.colors.gray_2};
19
- padding-bottom: ${Theme_1.Theme.padding.m};
18
+ border-bottom: 1px solid ${Theme_1.Theme.colors.gray_3};
19
+ padding: ${Theme_1.Theme.padding.m};
20
20
  width:100%;
21
+ box-sizing: border-box;
21
22
  `;
22
23
  exports.DropdownMenuFooter = styled_components_1.default.div `
23
- border-top: 1px solid ${Theme_1.Theme.colors.gray_2};
24
- padding-top: ${Theme_1.Theme.padding.m};
24
+ border-top: 1px solid ${Theme_1.Theme.colors.gray_3};
25
+ padding: ${Theme_1.Theme.padding.m};
25
26
  width:100%;
27
+ box-sizing: border-box;
26
28
  `;
27
29
  exports.DropdownMenuContent = styled_components_1.default.div `
28
30
  width:100%;
29
31
  `;
30
32
  exports.DropdownMenuOption = styled_components_1.default.div `
31
- padding: ${Theme_1.Theme.padding.s} 0;
33
+ padding: ${Theme_1.Theme.padding.s} ${Theme_1.Theme.padding.s};
34
+ text-align:left;
35
+ min-width:80px;
32
36
  cursor: pointer;
33
37
  white-space: nowrap;
34
38
  color: ${Theme_1.Theme.colors.text};
@@ -15,7 +15,7 @@ const ElementHeader = ({ title, showTitle = true, moreIcon = false, backIcon = f
15
15
  const leftSide = () => {
16
16
  if (showTitle) {
17
17
  return (react_1.default.createElement(Aligment_1.Aligment, { align: 'center', direction: 'row', width: "auto" },
18
- backIcon && handleBack && (react_1.default.createElement(Icons_1.Icon, { name: "back_arrow", onClick: () => handleBack() })),
18
+ backIcon && handleBack && (react_1.default.createElement(Icons_1.Icon, { name: "back_arrow", onClick: () => handleBack(), left: true, color: Theme_1.Theme.colors.text })),
19
19
  react_1.default.createElement(Typography_1.TextHeader, null, title)));
20
20
  }
21
21
  else if (!showTitle && children) {
@@ -24,10 +24,10 @@ const ElementHeader = ({ title, showTitle = true, moreIcon = false, backIcon = f
24
24
  };
25
25
  const rightSide = () => {
26
26
  if (closeIcon && handleClose) {
27
- return react_1.default.createElement(Icons_1.Icon, { onClick: () => handleClose(), name: "close" });
27
+ return react_1.default.createElement(Icons_1.Icon, { onClick: () => handleClose(), name: "close", color: Theme_1.Theme.colors.text });
28
28
  }
29
29
  else if (!closeIcon && actionButton && handleClick) {
30
- return (react_1.default.createElement(Aligment_1.Aligment, { align: "flex-end", width: "auto" },
30
+ return (react_1.default.createElement(Aligment_1.Aligment, { align: "center", width: "auto" },
31
31
  react_1.default.createElement(Button_1.Button, { mode: "secondary", text: actionLabel, onClick: () => handleClick() }),
32
32
  moreIcon && options && react_1.default.createElement(DropdownMenu_1.DropdownMenu, { options: options, right: true })));
33
33
  }
@@ -179,9 +179,8 @@ const Filters = ({ theme = Theme_1.mainTheme, title = 'Select filters', labelCon
179
179
  react_1.default.createElement(Filters_styles_1.FilterIconArea, null,
180
180
  react_1.default.createElement(Icons_1.Icon, { name: "filters", onClick: toogleFilter, color: setIconColor() }),
181
181
  isAnyFilterActive() && (react_1.default.createElement(Chips_1.Chips, { label: labelClearAll, handleClose: resetAllFiltersAndSubmit }))),
182
- openFilters && (react_1.default.createElement(Modal_1.Modal, { title: title, handleConfirm: applyFilter, handleClose: toogleFilter, labelConfirm: labelConfirm, labelClose: labelClose },
182
+ openFilters && (react_1.default.createElement(Modal_1.Modal, { title: title, handleConfirm: applyFilter, handleClose: toogleFilter, handleAdditional: resetAllFilters, labelConfirm: labelConfirm, labelClose: labelClose, labelAdditional: labelClearAll },
183
183
  react_1.default.createElement(Aligment_1.Aligment, { direction: "column", align: 'flex-end' },
184
- react_1.default.createElement(Chips_1.Chips, { handleClose: resetAllFilters, label: labelClearAll }),
185
184
  react_1.default.createElement(Filters_styles_1.FiltersArea, null, filters.map((filter) => (react_1.default.createElement(Filters_styles_1.FilterSection, null,
186
185
  react_1.default.createElement(Aligment_1.Aligment, { wrap: "nowrap" },
187
186
  react_1.default.createElement(Typography_1.TextAccent, null, filter.label),
@@ -8,8 +8,8 @@ const react_1 = __importDefault(require("react"));
8
8
  const Theme_1 = require("../../Theme/Theme");
9
9
  const Icon_styles_1 = require("./Icon.styles");
10
10
  const IconsPath_1 = require("./IconsPath");
11
- const Icon = ({ size = 24, name, right = false, left = false, color = Theme_1.Theme.colors.text, bgColor, onClick, active = false, noHover = false }) => {
12
- return (react_1.default.createElement(Icon_styles_1.IconElement, { onClick: onClick, bgColor: bgColor, active: active, right: right, left: left, noHover: noHover },
11
+ const Icon = ({ size = 24, name, right = false, left = false, color = Theme_1.Theme.colors.text, hoverColor = Theme_1.Theme.colors.primary_10, active = false, inverseMode = false, onClick, }) => {
12
+ return (react_1.default.createElement(Icon_styles_1.IconElement, { onClick: onClick, right: right, left: left, active: active, hoverColor: hoverColor, inverseMode: inverseMode },
13
13
  react_1.default.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', preserveAspectRatio: "xMidYMid meet", x: "0", y: "0", name: name },
14
14
  react_1.default.createElement("path", { d: IconsPath_1.iconsPath[name], fill: color }))));
15
15
  };
@@ -4,32 +4,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IconElement = void 0;
7
- const polished_1 = require("polished");
8
7
  const styled_components_1 = __importDefault(require("styled-components"));
9
8
  const Theme_1 = require("../../Theme/Theme");
10
9
  exports.IconElement = styled_components_1.default.div `
11
10
  transition: 300ms;
12
11
  box-sizing: border-box;
13
- width:auto;
14
- display:inline-flex;
15
- border-radius: 50%;
12
+ width: auto;
13
+ display: inline-flex;
14
+ border-radius: ${Theme_1.Theme.borderRadius.m};
16
15
  margin-left: ${(p) => (p.right ? Theme_1.Theme.padding.m : '0')};
17
16
  margin-right: ${(p) => (p.left ? Theme_1.Theme.padding.m : '0')};
18
- ${p => p.onClick !== undefined &&
17
+ padding: 4px;
18
+ ${(p) => p.onClick !== undefined &&
19
19
  `
20
- padding: ${Theme_1.Theme.padding.s};
21
20
  cursor:pointer;
22
- ${!p.noHover &&
23
- `&:hover{
24
- background-color: ${p.bgColor ? `rgba(255,255,255,0.2)` : (0, polished_1.lighten)(0.3, Theme_1.Theme.colors.primary)};
25
- transition: 300ms;
26
- }`}
27
-
28
- svg{
21
+ path {
22
+ fill:${(p) => (p.color ? p.color : Theme_1.Theme.colors.primary)};
23
+ }
24
+ &:hover{
29
25
  cursor:pointer;
30
- }
31
- `}
32
- ${p => p.active && `
33
- background-color: ${p.bgColor ? `rgba(255,255,255,0.2)` : (0, polished_1.lighten)(0.3, Theme_1.Theme.colors.primary)};
26
+ ${!p.inverseMode
27
+ ? `
28
+ background-color:${p.hoverColor};
29
+ `
30
+ : `
31
+ path{
32
+ fill:${p.hoverColor};
33
+ }
34
+ `}
35
+ }
34
36
  `}
37
+
38
+ ${(p) => p.active &&
39
+ `
40
+ background-color:${p.hoverColor};path {
41
+ }`}
35
42
  `;
@@ -14,6 +14,7 @@ exports.iconsPath = {
14
14
  visability_off: "M16.1 13.3L14.65 11.85C14.8 11.0667 14.575 10.3333 13.975 9.65C13.375 8.96667 12.6 8.7 11.65 8.85L10.2 7.4C10.4833 7.26667 10.7708 7.16667 11.0625 7.1C11.3542 7.03333 11.6667 7 12 7C13.25 7 14.3125 7.4375 15.1875 8.3125C16.0625 9.1875 16.5 10.25 16.5 11.5C16.5 11.8333 16.4667 12.1458 16.4 12.4375C16.3333 12.7292 16.2333 13.0167 16.1 13.3ZM19.3 16.45L17.85 15.05C18.4833 14.5667 19.0458 14.0375 19.5375 13.4625C20.0292 12.8875 20.45 12.2333 20.8 11.5C19.9667 9.81667 18.7708 8.47917 17.2125 7.4875C15.6542 6.49583 13.9167 6 12 6C11.5167 6 11.0417 6.03333 10.575 6.1C10.1083 6.16667 9.65 6.26667 9.2 6.4L7.65 4.85C8.33333 4.56667 9.03333 4.35417 9.75 4.2125C10.4667 4.07083 11.2167 4 12 4C14.5167 4 16.7583 4.69583 18.725 6.0875C20.6917 7.47917 22.1167 9.28333 23 11.5C22.6167 12.4833 22.1125 13.3958 21.4875 14.2375C20.8625 15.0792 20.1333 15.8167 19.3 16.45ZM19.8 22.6L15.6 18.45C15.0167 18.6333 14.4292 18.7708 13.8375 18.8625C13.2458 18.9542 12.6333 19 12 19C9.48333 19 7.24167 18.3042 5.275 16.9125C3.30833 15.5208 1.88333 13.7167 1 11.5C1.35 10.6167 1.79167 9.79583 2.325 9.0375C2.85833 8.27917 3.46667 7.6 4.15 7L1.4 4.2L2.8 2.8L21.2 21.2L19.8 22.6ZM5.55 8.4C5.06667 8.83333 4.625 9.30833 4.225 9.825C3.825 10.3417 3.48333 10.9 3.2 11.5C4.03333 13.1833 5.22917 14.5208 6.7875 15.5125C8.34583 16.5042 10.0833 17 12 17C12.3333 17 12.6583 16.9792 12.975 16.9375C13.2917 16.8958 13.6167 16.85 13.95 16.8L13.05 15.85C12.8667 15.9 12.6917 15.9375 12.525 15.9625C12.3583 15.9875 12.1833 16 12 16C10.75 16 9.6875 15.5625 8.8125 14.6875C7.9375 13.8125 7.5 12.75 7.5 11.5C7.5 11.3167 7.5125 11.1417 7.5375 10.975C7.5625 10.8083 7.6 10.6333 7.65 10.45L5.55 8.4Z",
15
15
  search: "m19.6 21-6.3-6.3q-.75.6-1.725.95Q10.6 16 9.5 16q-2.725 0-4.612-1.887Q3 12.225 3 9.5q0-2.725 1.888-4.613Q6.775 3 9.5 3t4.613 1.887Q16 6.775 16 9.5q0 1.1-.35 2.075-.35.975-.95 1.725l6.3 6.3ZM9.5 14q1.875 0 3.188-1.312Q14 11.375 14 9.5q0-1.875-1.312-3.188Q11.375 5 9.5 5 7.625 5 6.312 6.312 5 7.625 5 9.5q0 1.875 1.312 3.188Q7.625 14 9.5 14Z",
16
16
  more_vert: "M12 20q-.825 0-1.412-.587Q10 18.825 10 18q0-.825.588-1.413Q11.175 16 12 16t1.413.587Q14 17.175 14 18q0 .825-.587 1.413Q12.825 20 12 20Zm0-6q-.825 0-1.412-.588Q10 12.825 10 12t.588-1.413Q11.175 10 12 10t1.413.587Q14 11.175 14 12q0 .825-.587 1.412Q12.825 14 12 14Zm0-6q-.825 0-1.412-.588Q10 6.825 10 6t.588-1.412Q11.175 4 12 4t1.413.588Q14 5.175 14 6t-.587 1.412Q12.825 8 12 8Z",
17
+ more_horiz: "M6 14C5.45 14 4.97917 13.8042 4.5875 13.4125C4.19583 13.0208 4 12.55 4 12C4 11.45 4.19583 10.9792 4.5875 10.5875C4.97917 10.1958 5.45 10 6 10C6.55 10 7.02083 10.1958 7.4125 10.5875C7.80417 10.9792 8 11.45 8 12C8 12.55 7.80417 13.0208 7.4125 13.4125C7.02083 13.8042 6.55 14 6 14ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM18 14C17.45 14 16.9792 13.8042 16.5875 13.4125C16.1958 13.0208 16 12.55 16 12C16 11.45 16.1958 10.9792 16.5875 10.5875C16.9792 10.1958 17.45 10 18 10C18.55 10 19.0208 10.1958 19.4125 10.5875C19.8042 10.9792 20 11.45 20 12C20 12.55 19.8042 13.0208 19.4125 13.4125C19.0208 13.8042 18.55 14 18 14Z",
17
18
  menu: "M3 18v-2h18v2Zm0-5v-2h18v2Zm0-5V6h18v2Z",
18
19
  unlock: "M6 8h9V6q0-1.25-.875-2.125T12 3q-1.25 0-2.125.875T9 6H7q0-2.075 1.463-3.538Q9.925 1 12 1t3.538 1.462Q17 3.925 17 6v2h1q.825 0 1.413.587Q20 9.175 20 10v10q0 .825-.587 1.413Q18.825 22 18 22H6q-.825 0-1.412-.587Q4 20.825 4 20V10q0-.825.588-1.413Q5.175 8 6 8Zm0 12h12V10H6v10Zm6-3q.825 0 1.413-.587Q14 15.825 14 15q0-.825-.587-1.413Q12.825 13 12 13q-.825 0-1.412.587Q10 14.175 10 15q0 .825.588 1.413Q11.175 17 12 17Zm-6 3V10v10Z",
19
20
  lock: "M6 22q-.825 0-1.412-.587Q4 20.825 4 20V10q0-.825.588-1.413Q5.175 8 6 8h1V6q0-2.075 1.463-3.538Q9.925 1 12 1t3.538 1.462Q17 3.925 17 6v2h1q.825 0 1.413.587Q20 9.175 20 10v10q0 .825-.587 1.413Q18.825 22 18 22Zm0-2h12V10H6v10Zm6-3q.825 0 1.413-.587Q14 15.825 14 15q0-.825-.587-1.413Q12.825 13 12 13q-.825 0-1.412.587Q10 14.175 10 15q0 .825.588 1.413Q11.175 17 12 17ZM9 8h6V6q0-1.25-.875-2.125T12 3q-1.25 0-2.125.875T9 6ZM6 20V10v10Z",
@@ -10,9 +10,9 @@ const Icon_1 = require("./Icon");
10
10
  const IconsPath_1 = require("./IconsPath");
11
11
  const example_1 = require("../../example");
12
12
  const IconsShows = () => {
13
- return (react_1.default.createElement(Aligment_1.Aligment, { gap: 5 },
13
+ return (react_1.default.createElement(Aligment_1.Aligment, { gap: 10 },
14
14
  react_1.default.createElement(react_1.default.Fragment, null, Object.keys(IconsPath_1.iconsPath).map((iconPath) => (react_1.default.createElement(example_1.IconsShowroom, null,
15
15
  react_1.default.createElement(Icon_1.Icon, { name: iconPath, size: 48 }),
16
- iconPath))))));
16
+ react_1.default.createElement(example_1.IconName, null, iconPath)))))));
17
17
  };
18
18
  exports.IconsShows = IconsShows;
@@ -45,7 +45,7 @@ const Input = ({ label, labelPosition = 'top', value, type = 'text', name, disab
45
45
  react_1.default.createElement(Input_styles_1.InputWrapper, { width: width },
46
46
  react_1.default.createElement(Input_styles_1.InputTextElement, { inputSize: size, type: showPassword ? 'text' : inputType, disabled: disabled, name: name, value: value, onChange: onChange, error: error, placeholder: placeholder, min: min, max: max, step: step }),
47
47
  inputType === 'password' && (react_1.default.createElement(Input_styles_1.EyeIconWrapper, { size: size },
48
- react_1.default.createElement(Icons_1.Icon, { name: showPassword ? 'visability_off' : 'visibility', size: 24, onClick: tooglePassword, color: theme.inputDefaultTextColor, noHover: true }))),
48
+ react_1.default.createElement(Icons_1.Icon, { name: showPassword ? 'visability_off' : 'visibility', size: 24, onClick: tooglePassword, color: theme.inputDefaultTextColor, inverseMode: true }))),
49
49
  error && react_1.default.createElement(Input_styles_1.InputErrorMsg, null, error)))));
50
50
  };
51
51
  exports.Input = Input;
@@ -4,25 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Modal = void 0;
7
- const ElementHeader_1 = require("../ElementHeader");
8
7
  const react_1 = __importDefault(require("react"));
8
+ const ElementHeader_1 = require("../ElementHeader");
9
9
  const Theme_1 = require("../../Theme/Theme");
10
- const Aligment_1 = require("../Aligment");
11
- const Button_1 = require("../Button");
12
10
  const common_1 = require("../common");
13
11
  const Modal_styles_1 = require("./Modal.styles");
14
12
  const styled_components_1 = require("styled-components");
15
- const Modal = ({ theme = Theme_1.mainTheme, children, title, handleConfirm, handleClose, labelConfirm, labelClose, submitDisabled, size = 'small', submitLoader = false }) => {
16
- const isMultiButtons = () => {
17
- return handleConfirm !== undefined && labelConfirm !== undefined;
18
- };
13
+ const ButtonsFooter_1 = require("../ButtonsFooter");
14
+ const Modal = ({ theme = Theme_1.mainTheme, children, title, handleConfirm, handleClose, handleAdditional, labelConfirm, labelClose, labelAdditional, submitDisabled, size = 'small', submitLoader = false, }) => {
19
15
  return (react_1.default.createElement(styled_components_1.ThemeProvider, { theme: theme },
20
16
  react_1.default.createElement(Modal_styles_1.ModalOverlayer, null,
21
17
  react_1.default.createElement(Modal_styles_1.ModalElement, { size: size },
22
18
  react_1.default.createElement(ElementHeader_1.ElementHeader, { title: title, handleClose: handleClose }),
23
19
  react_1.default.createElement(common_1.ScrollCotainer, null, children),
24
- react_1.default.createElement(Aligment_1.Aligment, { justify: 'flex-end', vPadding: Theme_1.Theme.padding.l, hPadding: Theme_1.Theme.padding.l },
25
- react_1.default.createElement(Button_1.Button, { mode: isMultiButtons() ? 'secondary' : 'primary', onClick: () => handleClose(), text: labelClose, left: isMultiButtons() }),
26
- handleConfirm && labelConfirm && (react_1.default.createElement(Button_1.Button, { onClick: handleConfirm, text: labelConfirm, disabled: submitDisabled, loader: submitLoader })))))));
20
+ react_1.default.createElement(ButtonsFooter_1.ButtonsFooter, { handleConfirm: handleConfirm, handleClose: handleClose, handleAdditional: handleAdditional, labelConfirm: labelConfirm, labelClose: labelClose, labelAdditional: labelAdditional, submitDisabled: submitDisabled, submitLoader: submitLoader })))));
27
21
  };
28
22
  exports.Modal = Modal;
@@ -34,19 +34,29 @@ const Aligment_1 = require("../Aligment");
34
34
  const Filters_1 = require("../Filters");
35
35
  const tableHelper_1 = require("./tableHelper");
36
36
  const Chips_1 = require("../Chips");
37
+ const DropdownMenu_1 = require("../DropdownMenu");
37
38
  const Table = ({ theme = Theme_1.mainTheme, headers, elements,
38
39
  // isBulkAction = false,
39
40
  hover = true, selectable = true, sortable = true, filtrable = false, sort = {
40
41
  name: '',
41
42
  order: 'none',
42
- }, filters = [],
43
- // haveMore = false,
44
- // moreActions = [],
45
- onRowClick, filtersTitle = 'Select filters', filtersConfirmLabel = 'Approve', filtersCancelLabel = 'Cancel', filterClearAllLabel = 'Clear all filters', sortClearLabel = 'Clear sorting', }) => {
43
+ }, filters = [], moreActions = [], onRowClick, filtersTitle = 'Select filters', filtersConfirmLabel = 'Approve', filtersCancelLabel = 'Cancel', filterClearAllLabel = 'Clear all filters', sortClearLabel = 'Clear sorting', }) => {
44
+ const checkHeaders = () => {
45
+ const tableHeaders = [...headers];
46
+ if (moreActions.length > 0) {
47
+ tableHeaders.push({
48
+ name: 'opiton',
49
+ valueSource: 'empty',
50
+ action: true,
51
+ });
52
+ }
53
+ return tableHeaders;
54
+ };
46
55
  const [tableProps, setTableProps] = (0, react_1.useState)({
47
56
  elements: (0, tableHelper_1.setElements)(elements, sort, filters),
48
57
  sort: sort,
49
58
  filters: filters,
59
+ headers: checkHeaders(),
50
60
  });
51
61
  (0, react_1.useEffect)(() => {
52
62
  setTableProps({
@@ -95,19 +105,18 @@ onRowClick, filtersTitle = 'Select filters', filtersConfirmLabel = 'Approve', fi
95
105
  sortable && tableProps.sort.name !== '' && (react_1.default.createElement(Chips_1.Chips, { label: sortClearLabel, handleClose: resetSorting }))))),
96
106
  react_1.default.createElement(Table_styles_1.TableWrapper, { cellPadding: "0", cellSpacing: "0" },
97
107
  react_1.default.createElement(Table_styles_1.TableHead, null,
98
- react_1.default.createElement(Table_styles_1.TableRow, { hover: false, selectable: false, active: false }, headers.map((header) => (react_1.default.createElement(Table_styles_1.TableHeaderCell, { key: header.name, sortable: sortable, onClick: () => handleHeaderCellClick(header.valueSource), isSorted: tableProps.sort.name === header.valueSource &&
108
+ react_1.default.createElement(Table_styles_1.TableRow, { hover: false, selectable: false, active: false }, tableProps.headers.map((header) => (react_1.default.createElement(react_1.default.Fragment, null, header.action ? (react_1.default.createElement(Table_styles_1.OptionTableHeaderCell, null)) : (react_1.default.createElement(Table_styles_1.TableHeaderCell, { key: header.name, sortable: sortable, onClick: () => handleHeaderCellClick(header.valueSource), isSorted: tableProps.sort.name === header.valueSource &&
99
109
  tableProps.sort.order != 'none' },
100
110
  header.name,
101
111
  tableProps.sort.name === header.valueSource &&
102
112
  tableProps.sort.order != 'none' && (react_1.default.createElement(Table_styles_1.TableHeaderSortIcon, null,
103
113
  react_1.default.createElement(Icons_1.Icon, { name: tableProps.sort.order === 'asc'
104
114
  ? 'arrow_drop_down'
105
- : 'arrow_drop_up', color: theme.tableCellSortIcon, size: 20 })))))))),
106
- react_1.default.createElement("tbody", null, tableProps.elements.map((item) => (react_1.default.createElement(Table_styles_1.TableRow, { key: item.id, hover: hover, active: selectedRow === item.id, selectable: selectable, onClick: () => handleRowClick(item.id) }, headers.map((header) => {
107
- return (react_1.default.createElement(Table_styles_1.TableCell, { key: `${item.id}-${header.name}` }, header.date
108
- ? (0, date_fns_1.format)(item[header.valueSource], 'dd-MM-yyyy')
109
- : item[header.valueSource]));
110
- // }
111
- }))))))));
115
+ : 'arrow_drop_up', color: theme.tableCellSortIcon, size: 20 })))))))))),
116
+ react_1.default.createElement("tbody", null, tableProps.elements.map((item) => (react_1.default.createElement(Table_styles_1.TableRow, { key: item.id, hover: hover, active: selectedRow === item.id, selectable: selectable, onClick: () => handleRowClick(item.id) }, tableProps.headers.map((header) => (react_1.default.createElement(react_1.default.Fragment, null, header.action ? (react_1.default.createElement(Table_styles_1.OptionTableCell, null,
117
+ react_1.default.createElement(Table_styles_1.OptionTableCellWrapper, { onClick: (e) => e.stopPropagation() },
118
+ react_1.default.createElement(DropdownMenu_1.DropdownMenu, { options: moreActions, targetID: item.id, iconName: 'more_vert', color: theme.tableMoreIconColor, iconInverseMode: true })))) : (react_1.default.createElement(Table_styles_1.TableCell, { key: `${item.id}-${header.name}` }, header.date
119
+ ? (0, date_fns_1.format)(item[header.valueSource], 'dd-MM-yyyy')
120
+ : item[header.valueSource]))))))))))));
112
121
  };
113
122
  exports.Table = Table;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TableTopBar = exports.TableCell = exports.TableRow = exports.TableHeaderSortIcon = exports.TableHeaderCell = exports.TableHead = exports.TableWrapper = void 0;
6
+ exports.OptionTableCellWrapper = exports.OptionTableCell = exports.TableTopBar = exports.TableCell = exports.TableRow = exports.TableHeaderSortIcon = exports.OptionTableHeaderCell = exports.TableHeaderCell = exports.TableHead = exports.TableWrapper = void 0;
7
7
  const styled_components_1 = __importDefault(require("styled-components"));
8
8
  exports.TableWrapper = styled_components_1.default.table `
9
9
  width: 100%;
@@ -20,43 +20,58 @@ exports.TableHeaderCell = styled_components_1.default.th `
20
20
  padding: 8px;
21
21
  transition: 300ms;
22
22
  font-size: 14px;
23
- background-color: ${(p) => p.isSorted ? p.theme.tableHeaderActiveBackground : p.theme.tableHeaderBackground};
23
+ background-color: ${(p) => p.isSorted
24
+ ? p.theme.tableHeaderActiveBackground
25
+ : p.theme.tableHeaderBackground};
24
26
  border-bottom: 1px solid ${(p) => p.theme.tableBorderColor};
25
27
 
26
28
  :hover {
27
- background-color: ${(p) => p.isSorted ? p.theme.tableHeaderActiveBackground : p.theme.tableHeaderBackground};
29
+ background-color: ${(p) => p.isSorted
30
+ ? p.theme.tableHeaderActiveBackground
31
+ : p.theme.tableHeaderBackground};
28
32
  }
29
-
33
+
30
34
  ${(p) => p.sortable &&
31
35
  `
32
36
  cursor:pointer;
33
37
  `}
34
38
  position:relative;
35
-
39
+ `;
40
+ exports.OptionTableHeaderCell = styled_components_1.default.th `
41
+ font-weight: bold;
42
+ text-align: left;
43
+ width: 28px;
44
+ transition: 300ms;
45
+ font-size: 14px;
46
+ background-color: ${(p) => p.theme.tableHeaderBackground};
47
+ border-bottom: 1px solid ${(p) => p.theme.tableBorderColor};
36
48
  `;
37
49
  exports.TableHeaderSortIcon = styled_components_1.default.div `
38
50
  width: 20px;
39
51
  height: 20px;
40
- position:absolute;
41
- right:0;
52
+ position: absolute;
53
+ right: 0;
42
54
  transition: 300ms;
43
55
  top: calc(50% - 10px);
44
56
  `;
45
57
  exports.TableRow = styled_components_1.default.tr `
46
- background-color: ${(p) => p.active ? p.theme.tableCellActiveBackground : p.theme.tableCellEvenBackground};
58
+ background-color: ${(p) => p.active
59
+ ? p.theme.tableCellActiveBackground
60
+ : p.theme.tableCellEvenBackground};
47
61
  :nth-child(even) {
48
62
  background-color: ${(p) => p.active
49
63
  ? p.theme.tableCellActiveBackground
50
64
  : p.theme.tableCellBackground};
51
65
  transition: 300ms;
52
66
  }
53
- ${(p) => (p.selectable && p.onClick) &&
67
+ ${(p) => (p.selectable || p.onClick) &&
54
68
  `
55
69
  cursor:pointer;`}
56
70
  ${(p) => p.hover &&
57
71
  `
58
72
  :hover{
59
73
  background-color:${p.theme.tableCellHoverBackground};
74
+
60
75
  }
61
76
  `}
62
77
  `;
@@ -65,5 +80,13 @@ exports.TableCell = styled_components_1.default.td `
65
80
  border-bottom: 1px solid ${(p) => p.theme.tableBorderColor};
66
81
  `;
67
82
  exports.TableTopBar = styled_components_1.default.div `
68
- padding-bottom:4px;
83
+ padding-bottom: 4px;
84
+ `;
85
+ exports.OptionTableCell = styled_components_1.default.td `
86
+ border-bottom: 1px solid ${(p) => p.theme.tableBorderColor};
87
+ text-align: center;
88
+ `;
89
+ exports.OptionTableCellWrapper = styled_components_1.default.div `
90
+ width: 40px;
91
+ display: flex;
69
92
  `;
@@ -28,7 +28,7 @@ exports.Panel = styled_components_1.default.div `
28
28
  position: absolute;
29
29
  z-index: ${Theme_1.Theme.zIndex.dropdown};
30
30
  top: ${(p) => (0, inputStyles_1.setPanelTop)(p.size)};
31
- border: 1px solid ${Theme_1.Theme.colors.gray_1};
31
+ border: 1px solid ${Theme_1.Theme.colors.gray_2};
32
32
  border-top: none;
33
33
  ${p => (0, inputStyles_1.setPanelPosition)(p.position)}
34
34
  `;
@@ -6,7 +6,7 @@ const Theme_1 = require("../../Theme");
6
6
  exports.defaultStyles = `
7
7
  box-sizing: border-box;
8
8
  background-color: ${Theme_1.Theme.colors.white};
9
- border: 1px solid ${Theme_1.Theme.colors.gray_1};
9
+ border: 1px solid ${Theme_1.Theme.colors.gray_2};
10
10
  border-radius: ${Theme_1.Theme.borderRadius.m};
11
11
  width: 100%;
12
12
  font-family: "Lato", sans-serif;
@@ -97,9 +97,9 @@ exports.inputColorSchema = {
97
97
  background-color: ${(0, polished_1.lighten)(0.4, Theme_1.Theme.colors.primary)};
98
98
  `,
99
99
  disabled: `
100
- border-color: ${Theme_1.Theme.colors.disableText};
101
- background-color: ${(0, polished_1.lighten)(0.2, Theme_1.Theme.colors.gray_1)};
102
- color:${Theme_1.Theme.colors.disableText};
100
+ border-color: ${Theme_1.Theme.colors.gray_1};
101
+ background-color: ${(0, polished_1.lighten)(0.2, Theme_1.Theme.colors.gray_2)};
102
+ color:${Theme_1.Theme.colors.gray_1};
103
103
  `,
104
104
  error: `
105
105
  border-color: ${Theme_1.Theme.colors.red};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Colors = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ExampleComponent_1 = require("./ExampleComponent");
9
+ const Theme_1 = require("../Theme");
10
+ const Colors = () => {
11
+ return (react_1.default.createElement(ExampleComponent_1.ColorsPreviewArea, null, Object.entries(Theme_1.Theme.colors).map(([key, value]) => (react_1.default.createElement(ExampleComponent_1.ColorsPreviewRow, null,
12
+ react_1.default.createElement(ExampleComponent_1.ColorsPreview, { color: value }),
13
+ react_1.default.createElement(ExampleComponent_1.ColorsDesc, null,
14
+ key,
15
+ react_1.default.createElement("br", null),
16
+ value))))));
17
+ };
18
+ exports.Colors = Colors;