venice-ui 2.1.1 → 2.1.4

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.
@@ -100,6 +100,7 @@ exports.mainTheme = {
100
100
  contentBackground: exports.Theme.colors.white,
101
101
  // selector / dropdown
102
102
  optionActiveColor: exports.Theme.colors.primary,
103
+ optionColor: exports.Theme.colors.text,
103
104
  optionHoverBackground: (0, polished_1.lighten)(0.3, exports.Theme.colors.primary),
104
105
  //table
105
106
  tableBorderColor: exports.Theme.colors.gray_3,
@@ -32,7 +32,7 @@ const DropdownMenu_styles_1 = require("./DropdownMenu.styles");
32
32
  const Aligment_1 = require("../Aligment");
33
33
  const Typography_1 = require("../Typography");
34
34
  const react_dom_1 = require("react-dom");
35
- const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, targetID, iconColor = Theme_1.mainTheme.iconColor, iconHoverColor = Theme_1.mainTheme.iconHoverColor, iconBgColor = Theme_1.mainTheme.iconBgColor, iconBgHoverColor = Theme_1.mainTheme.iconBgHoverColor, position = 'left', zIndex, }) => {
35
+ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, targetID, iconColor = Theme_1.mainTheme.iconColor, iconHoverColor = Theme_1.mainTheme.iconHoverColor, iconBgColor = Theme_1.mainTheme.iconBgColor, iconBgHoverColor = Theme_1.mainTheme.iconBgHoverColor, position = 'left', zIndex, textMode = false, label = '', isTextActive = false }) => {
36
36
  const [open, toogleOpen] = (0, react_1.useState)(false);
37
37
  const ref = (0, react_1.useRef)(null);
38
38
  const sourceRef = (0, react_1.useRef)(null);
@@ -101,8 +101,7 @@ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false,
101
101
  };
102
102
  }, [open]);
103
103
  return (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuElement, null,
104
- react_1.default.createElement("div", { ref: sourceRef, onClick: () => toogle(!open) },
105
- react_1.default.createElement(Icons_1.Icon, { name: iconName, size: (0, common_1.setIconSize)(size), isActive: open, right: right, left: left, iconColor: iconColor, iconHoverColor: iconHoverColor, iconBgColor: iconBgColor, iconBgHoverColor: iconBgHoverColor })),
104
+ react_1.default.createElement("div", { ref: sourceRef, onClick: () => toogle(!open) }, textMode ? (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuLabel, { size: size, isActive: isTextActive }, label)) : (react_1.default.createElement(Icons_1.Icon, { name: iconName, size: (0, common_1.setIconSize)(size), isActive: open, right: right, left: left, iconColor: iconColor, iconHoverColor: iconHoverColor, iconBgColor: iconBgColor, iconBgHoverColor: iconBgHoverColor }))),
106
105
  open &&
107
106
  (0, react_dom_1.createPortal)(react_1.default.createElement(common_1.Panel, { style: dropdownStyles, ref: ref, size: size, zIndex: zIndex },
108
107
  react_1.default.createElement(Aligment_1.Aligment, { direction: "column" },
@@ -110,7 +109,7 @@ const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false,
110
109
  headerTitle && (react_1.default.createElement(Typography_1.TextAccent, { color: Theme_1.Theme.colors.text }, headerTitle)),
111
110
  headerSubtitle && (react_1.default.createElement(Typography_1.TextLabel, { color: Theme_1.Theme.colors.text }, headerSubtitle)))),
112
111
  react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuContent, null, options &&
113
- options.map((option) => (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuOption, { key: option.label, isDisable: isDisable(option.disableID), onClick: () => handleClick(option.action, option.disableID) }, option.label)))),
112
+ options.map((option) => (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuOption, { key: option.label, isDisable: isDisable(option.disableID), onClick: () => handleClick(option.action, option.disableID), isActive: option.isActive }, option.label)))),
114
113
  footer && (react_1.default.createElement(DropdownMenu_styles_1.DropdownMenuFooter, null, footerText && (react_1.default.createElement(Typography_1.Text, { action: true, onClick: handleFooterAction }, footerText)))))), document.body)));
115
114
  };
116
115
  exports.DropdownMenu = DropdownMenu;
@@ -3,11 +3,13 @@ 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.DropdownMenuOption = exports.DropdownMenuContent = exports.DropdownMenuFooter = exports.DropdownMenuHeader = exports.DropdownMenuElement = void 0;
6
+ exports.DropdownMenuLabel = exports.DropdownMenuOption = exports.DropdownMenuContent = exports.DropdownMenuFooter = exports.DropdownMenuHeader = exports.DropdownMenuElement = void 0;
7
7
  const polished_1 = require("polished");
8
8
  const styled_components_1 = __importDefault(require("styled-components"));
9
9
  const Theme_1 = require("../../Theme");
10
+ const common_1 = require("../common");
10
11
  exports.DropdownMenuElement = styled_components_1.default.div `
12
+ cursor: pointer;
11
13
  position: relative;
12
14
  width: auto;
13
15
  display: flex;
@@ -35,9 +37,18 @@ exports.DropdownMenuOption = styled_components_1.default.div `
35
37
  min-width: 80px;
36
38
  cursor: ${(p) => (p.isDisable ? 'not-allowed' : 'pointer')};
37
39
  white-space: nowrap;
38
- color: ${(p) => (p.isDisable ? Theme_1.Theme.colors.gray_1 : Theme_1.Theme.colors.text)};
40
+ color: ${(p) => p.isActive
41
+ ? Theme_1.Theme.colors.primary
42
+ : p.isDisable
43
+ ? Theme_1.Theme.colors.gray_1
44
+ : Theme_1.Theme.colors.text};
39
45
  font-size: 16px;
40
46
  :hover {
41
47
  background-color: ${(p) => p.isDisable ? Theme_1.Theme.colors.gray_4 : (0, polished_1.lighten)(0.4, Theme_1.Theme.colors.primary)};
42
48
  }
43
49
  `;
50
+ exports.DropdownMenuLabel = styled_components_1.default.div `
51
+ display: flex;
52
+ ${(p) => (0, common_1.setSize)(p.size)};
53
+ color:${(p) => p.isActive ? Theme_1.Theme.colors.primary : p.theme.optionColor};
54
+ `;
@@ -97,6 +97,7 @@ export const mainTheme = {
97
97
  contentBackground: Theme.colors.white,
98
98
  // selector / dropdown
99
99
  optionActiveColor: Theme.colors.primary,
100
+ optionColor: Theme.colors.text,
100
101
  optionHoverBackground: lighten(0.3, Theme.colors.primary),
101
102
  //table
102
103
  tableBorderColor: Theme.colors.gray_3,
@@ -2,11 +2,11 @@ import { Panel, setIconSize } from '../common';
2
2
  import React, { useState, useRef, useEffect } from 'react';
3
3
  import { Theme, mainTheme } from '../../Theme';
4
4
  import { Icon } from '../Icons';
5
- import { DropdownMenuOption, DropdownMenuElement, DropdownMenuContent, DropdownMenuFooter, DropdownMenuHeader, } from './DropdownMenu.styles';
5
+ import { DropdownMenuOption, DropdownMenuElement, DropdownMenuContent, DropdownMenuFooter, DropdownMenuHeader, DropdownMenuLabel, } from './DropdownMenu.styles';
6
6
  import { Aligment } from '../Aligment';
7
7
  import { TextAccent, TextLabel, Text } from '../Typography';
8
8
  import { createPortal } from 'react-dom';
9
- export const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, targetID, iconColor = mainTheme.iconColor, iconHoverColor = mainTheme.iconHoverColor, iconBgColor = mainTheme.iconBgColor, iconBgHoverColor = mainTheme.iconBgHoverColor, position = 'left', zIndex, }) => {
9
+ export const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, right = false, left = false, targetID, iconColor = mainTheme.iconColor, iconHoverColor = mainTheme.iconHoverColor, iconBgColor = mainTheme.iconBgColor, iconBgHoverColor = mainTheme.iconBgHoverColor, position = 'left', zIndex, textMode = false, label = '', isTextActive = false }) => {
10
10
  const [open, toogleOpen] = useState(false);
11
11
  const ref = useRef(null);
12
12
  const sourceRef = useRef(null);
@@ -75,8 +75,7 @@ export const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header =
75
75
  };
76
76
  }, [open]);
77
77
  return (React.createElement(DropdownMenuElement, null,
78
- React.createElement("div", { ref: sourceRef, onClick: () => toogle(!open) },
79
- React.createElement(Icon, { name: iconName, size: setIconSize(size), isActive: open, right: right, left: left, iconColor: iconColor, iconHoverColor: iconHoverColor, iconBgColor: iconBgColor, iconBgHoverColor: iconBgHoverColor })),
78
+ React.createElement("div", { ref: sourceRef, onClick: () => toogle(!open) }, textMode ? (React.createElement(DropdownMenuLabel, { size: size, isActive: isTextActive }, label)) : (React.createElement(Icon, { name: iconName, size: setIconSize(size), isActive: open, right: right, left: left, iconColor: iconColor, iconHoverColor: iconHoverColor, iconBgColor: iconBgColor, iconBgHoverColor: iconBgHoverColor }))),
80
79
  open &&
81
80
  createPortal(React.createElement(Panel, { style: dropdownStyles, ref: ref, size: size, zIndex: zIndex },
82
81
  React.createElement(Aligment, { direction: "column" },
@@ -84,6 +83,6 @@ export const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', header =
84
83
  headerTitle && (React.createElement(TextAccent, { color: Theme.colors.text }, headerTitle)),
85
84
  headerSubtitle && (React.createElement(TextLabel, { color: Theme.colors.text }, headerSubtitle)))),
86
85
  React.createElement(DropdownMenuContent, null, options &&
87
- options.map((option) => (React.createElement(DropdownMenuOption, { key: option.label, isDisable: isDisable(option.disableID), onClick: () => handleClick(option.action, option.disableID) }, option.label)))),
86
+ options.map((option) => (React.createElement(DropdownMenuOption, { key: option.label, isDisable: isDisable(option.disableID), onClick: () => handleClick(option.action, option.disableID), isActive: option.isActive }, option.label)))),
88
87
  footer && (React.createElement(DropdownMenuFooter, null, footerText && (React.createElement(Text, { action: true, onClick: handleFooterAction }, footerText)))))), document.body)));
89
88
  };
@@ -1,7 +1,9 @@
1
1
  import { lighten } from 'polished';
2
2
  import styled from 'styled-components';
3
3
  import { Theme } from '../../Theme';
4
+ import { setSize } from '../common';
4
5
  export const DropdownMenuElement = styled.div `
6
+ cursor: pointer;
5
7
  position: relative;
6
8
  width: auto;
7
9
  display: flex;
@@ -29,9 +31,18 @@ export const DropdownMenuOption = styled.div `
29
31
  min-width: 80px;
30
32
  cursor: ${(p) => (p.isDisable ? 'not-allowed' : 'pointer')};
31
33
  white-space: nowrap;
32
- color: ${(p) => (p.isDisable ? Theme.colors.gray_1 : Theme.colors.text)};
34
+ color: ${(p) => p.isActive
35
+ ? Theme.colors.primary
36
+ : p.isDisable
37
+ ? Theme.colors.gray_1
38
+ : Theme.colors.text};
33
39
  font-size: 16px;
34
40
  :hover {
35
41
  background-color: ${(p) => p.isDisable ? Theme.colors.gray_4 : lighten(0.4, Theme.colors.primary)};
36
42
  }
37
43
  `;
44
+ export const DropdownMenuLabel = styled.div `
45
+ display: flex;
46
+ ${(p) => setSize(p.size)};
47
+ color:${(p) => p.isActive ? Theme.colors.primary : p.theme.optionColor};
48
+ `;
@@ -90,6 +90,7 @@ export declare const mainTheme: {
90
90
  inputErrorTextColor: string;
91
91
  contentBackground: string;
92
92
  optionActiveColor: string;
93
+ optionColor: string;
93
94
  optionHoverBackground: string;
94
95
  tableBorderColor: string;
95
96
  tableHeaderBackground: string;
@@ -19,6 +19,9 @@ interface IDropdownMenuProps {
19
19
  iconBgHoverColor?: string;
20
20
  position?: string;
21
21
  zIndex?: number;
22
+ textMode?: boolean;
23
+ label?: string;
24
+ isTextActive?: boolean;
22
25
  }
23
26
  export declare const DropdownMenu: FC<IDropdownMenuProps>;
24
27
  export {};
@@ -1,3 +1,4 @@
1
+ import { InputSize } from '../../types';
1
2
  export declare const DropdownMenuElement: import("styled-components").StyledComponent<"div", any, {}, never>;
2
3
  export declare const DropdownMenuHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
3
4
  export declare const DropdownMenuFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -5,6 +6,13 @@ export declare const DropdownMenuContent: import("styled-components").StyledComp
5
6
  interface IPanelOptionStyle {
6
7
  onClick?: any;
7
8
  isDisable: boolean;
9
+ isActive?: boolean;
8
10
  }
9
11
  export declare const DropdownMenuOption: import("styled-components").StyledComponent<"div", any, IPanelOptionStyle, never>;
12
+ interface IDropdownMenuLabel {
13
+ size: InputSize;
14
+ theme: any;
15
+ isActive?: boolean;
16
+ }
17
+ export declare const DropdownMenuLabel: import("styled-components").StyledComponent<"div", any, IDropdownMenuLabel, never>;
10
18
  export {};
@@ -6,6 +6,7 @@ export interface IAction {
6
6
  action: (id?: string) => void;
7
7
  label: string | number;
8
8
  disableID?: string;
9
+ isActive?: boolean;
9
10
  }
10
11
  export interface IIconsActions {
11
12
  iconName: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venice-ui",
3
- "version": "2.1.1",
3
+ "version": "2.1.4",
4
4
  "description": "Component library",
5
5
  "main": "index.js",
6
6
  "module": "./dist/esm/index.js",