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.
- package/dist/cjs/Theme/Theme.js +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js +3 -4
- package/dist/cjs/components/DropdownMenu/DropdownMenu.styles.js +13 -2
- package/dist/esm/Theme/Theme.js +1 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +4 -5
- package/dist/esm/components/DropdownMenu/DropdownMenu.styles.js +12 -1
- package/dist/types/Theme/Theme.d.ts +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +3 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.styles.d.ts +8 -0
- package/dist/types/types/commonTypes.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/Theme/Theme.js
CHANGED
|
@@ -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) =>
|
|
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
|
+
`;
|
package/dist/esm/Theme/Theme.js
CHANGED
|
@@ -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) =>
|
|
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
|
+
`;
|
|
@@ -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 {};
|