venice-ui 1.0.36 → 1.0.37

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 (37) hide show
  1. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +70 -0
  2. package/dist/cjs/components/DropdownMenu/DropdownMenu.styles.js +38 -0
  3. package/dist/cjs/components/{More → DropdownMenu}/index.js +1 -1
  4. package/dist/cjs/components/ElementHeader/ElementHeader.js +2 -2
  5. package/dist/cjs/index.js +2 -3
  6. package/dist/esm/components/DropdownMenu/DropdownMenu.js +43 -0
  7. package/dist/esm/components/DropdownMenu/DropdownMenu.styles.js +32 -0
  8. package/dist/esm/components/DropdownMenu/index.js +1 -0
  9. package/dist/esm/components/ElementHeader/ElementHeader.js +2 -2
  10. package/dist/esm/index.js +2 -3
  11. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +17 -0
  12. package/dist/types/components/{UserMenu/UserMenu.styles.d.ts → DropdownMenu/DropdownMenu.styles.d.ts} +7 -1
  13. package/dist/types/components/DropdownMenu/index.d.ts +1 -0
  14. package/dist/types/index.d.ts +2 -3
  15. package/package.json +1 -1
  16. package/dist/cjs/components/ElementSubMenu/ElementSubMenu.js +0 -50
  17. package/dist/cjs/components/ElementSubMenu/ElementSubMenu.styles.js +0 -13
  18. package/dist/cjs/components/ElementSubMenu/index.js +0 -17
  19. package/dist/cjs/components/More/More.js +0 -15
  20. package/dist/cjs/components/UserMenu/UserMenu.js +0 -22
  21. package/dist/cjs/components/UserMenu/UserMenu.styles.js +0 -21
  22. package/dist/cjs/components/UserMenu/index.js +0 -17
  23. package/dist/esm/components/ElementSubMenu/ElementSubMenu.js +0 -23
  24. package/dist/esm/components/ElementSubMenu/ElementSubMenu.styles.js +0 -7
  25. package/dist/esm/components/ElementSubMenu/index.js +0 -1
  26. package/dist/esm/components/More/More.js +0 -8
  27. package/dist/esm/components/More/index.js +0 -1
  28. package/dist/esm/components/UserMenu/UserMenu.js +0 -15
  29. package/dist/esm/components/UserMenu/UserMenu.styles.js +0 -15
  30. package/dist/esm/components/UserMenu/index.js +0 -1
  31. package/dist/types/components/ElementSubMenu/ElementSubMenu.d.ts +0 -11
  32. package/dist/types/components/ElementSubMenu/ElementSubMenu.styles.d.ts +0 -1
  33. package/dist/types/components/ElementSubMenu/index.d.ts +0 -1
  34. package/dist/types/components/More/More.d.ts +0 -9
  35. package/dist/types/components/More/index.d.ts +0 -1
  36. package/dist/types/components/UserMenu/UserMenu.d.ts +0 -11
  37. package/dist/types/components/UserMenu/index.d.ts +0 -1
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DropdownMenu = void 0;
27
+ const common_1 = require("../common");
28
+ const react_1 = __importStar(require("react"));
29
+ const Theme_1 = require("../../Theme");
30
+ const Icons_1 = require("../Icons");
31
+ const DropdownMenu_styles_1 = require("./DropdownMenu.styles");
32
+ const Aligment_1 = require("../Aligment");
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, }) => {
35
+ const [open, toogleOpen] = (0, react_1.useState)(false);
36
+ const ref = (0, react_1.useRef)(null);
37
+ const close = () => {
38
+ toogleOpen(false);
39
+ };
40
+ const handleFooterAction = () => {
41
+ footerAction && footerAction();
42
+ close();
43
+ };
44
+ const handleClick = (action) => {
45
+ action();
46
+ close();
47
+ };
48
+ (0, react_1.useEffect)(() => {
49
+ const handleClickOutside = (event) => {
50
+ if (ref.current && !ref.current.contains(event.target)) {
51
+ close();
52
+ }
53
+ };
54
+ document.addEventListener('click', handleClickOutside, true);
55
+ return () => {
56
+ document.removeEventListener('click', handleClickOutside, true);
57
+ };
58
+ }, [open]);
59
+ return (react_1.default.createElement(DropdownMenu_styles_1.SubMenuElement, 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 }),
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" },
63
+ header && (react_1.default.createElement(DropdownMenu_styles_1.UserMenuHeader, null,
64
+ headerTitle && react_1.default.createElement(Typography_1.TextAccent, null, headerTitle),
65
+ headerSubtitle && react_1.default.createElement(Typography_1.TextLabel, null, headerSubtitle))),
66
+ react_1.default.createElement(DropdownMenu_styles_1.UserMenuContent, null, options &&
67
+ options.map((option) => (react_1.default.createElement(DropdownMenu_styles_1.PanelOption, { key: option.label, onClick: () => handleClick(option.action) }, option.label)))),
68
+ footer && (react_1.default.createElement(DropdownMenu_styles_1.UserMenuFooter, null, footerText && (react_1.default.createElement(Typography_1.Text, { action: true, onClick: handleFooterAction }, footerText)))))))));
69
+ };
70
+ exports.DropdownMenu = DropdownMenu;
@@ -0,0 +1,38 @@
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.PanelOption = exports.UserMenuContent = exports.UserMenuFooter = exports.UserMenuHeader = exports.SubMenuElement = void 0;
7
+ const polished_1 = require("polished");
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const Theme_1 = require("../../Theme");
10
+ exports.SubMenuElement = styled_components_1.default.div `
11
+ position:relative;
12
+ width:auto;
13
+ display: flex;
14
+ box-sizing: border-box;
15
+ `;
16
+ exports.UserMenuHeader = styled_components_1.default.div `
17
+ border-bottom: 1px solid ${Theme_1.Theme.colors.gray_2};
18
+ padding-bottom: ${Theme_1.Theme.padding.m};
19
+ width:100%;
20
+ `;
21
+ exports.UserMenuFooter = styled_components_1.default.div `
22
+ border-top: 1px solid ${Theme_1.Theme.colors.gray_2};
23
+ padding-top: ${Theme_1.Theme.padding.m};
24
+ width:100%;
25
+ `;
26
+ exports.UserMenuContent = styled_components_1.default.div `
27
+ width:100%;
28
+ `;
29
+ exports.PanelOption = styled_components_1.default.div `
30
+ padding: ${Theme_1.Theme.padding.s} 0;
31
+ cursor: pointer;
32
+ white-space: nowrap;
33
+ color: ${Theme_1.Theme.colors.text};
34
+
35
+ :hover {
36
+ background-color: ${(0, polished_1.lighten)(0.4, Theme_1.Theme.colors.primary)};
37
+ }
38
+ `;
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./More"), exports);
17
+ __exportStar(require("./DropdownMenu"), exports);
@@ -10,7 +10,7 @@ const Aligment_1 = require("../Aligment");
10
10
  const Typography_1 = require("../Typography");
11
11
  const Theme_1 = require("../../Theme");
12
12
  const Button_1 = require("../Button");
13
- const More_1 = require("../More");
13
+ const DropdownMenu_1 = require("../DropdownMenu");
14
14
  const ElementHeader = ({ title, showTitle = true, moreIcon = false, backIcon = false, closeIcon = true, actionButton = false, actionLabel = '', handleClose, handleClick, handleBack, children, bgColor = Theme_1.Theme.colors.white, options, }) => {
15
15
  const leftSide = () => {
16
16
  if (showTitle) {
@@ -29,7 +29,7 @@ const ElementHeader = ({ title, showTitle = true, moreIcon = false, backIcon = f
29
29
  else if (!closeIcon && actionButton && handleClick) {
30
30
  return (react_1.default.createElement(Aligment_1.Aligment, { align: "flex-end", width: "auto" },
31
31
  react_1.default.createElement(Button_1.Button, { mode: "inverse", text: actionLabel, onClick: () => handleClick() }),
32
- moreIcon && options && react_1.default.createElement(More_1.More, { options: options })));
32
+ moreIcon && options && react_1.default.createElement(DropdownMenu_1.DropdownMenu, { options: options })));
33
33
  }
34
34
  };
35
35
  return (react_1.default.createElement(Aligment_1.Aligment, { justify: !showTitle && !children ? 'flex-end' : 'space-between', vPadding: Theme_1.Theme.padding.m, hPadding: Theme_1.Theme.padding.l, backgroundColor: bgColor },
package/dist/cjs/index.js CHANGED
@@ -18,17 +18,16 @@ __exportStar(require("./components/Aligment"), exports);
18
18
  __exportStar(require("./components/Button"), exports);
19
19
  __exportStar(require("./components/Card"), exports);
20
20
  __exportStar(require("./components/Dropdown"), exports);
21
+ __exportStar(require("./components/DropdownMenu"), exports);
21
22
  __exportStar(require("./components/ElementHeader"), exports);
22
- __exportStar(require("./components/ElementSubMenu"), exports);
23
+ __exportStar(require("./components/DropdownMenu"), exports);
23
24
  __exportStar(require("./components/File"), exports);
24
25
  __exportStar(require("./components/Icons"), exports);
25
26
  __exportStar(require("./components/Input"), exports);
26
27
  __exportStar(require("./components/Loader"), exports);
27
28
  __exportStar(require("./components/Modal"), exports);
28
- __exportStar(require("./components/More"), exports);
29
29
  __exportStar(require("./components/Section"), exports);
30
30
  __exportStar(require("./components/Selector"), exports);
31
31
  __exportStar(require("./components/Sidepanel"), exports);
32
- __exportStar(require("./components/UserMenu"), exports);
33
32
  __exportStar(require("./components/Tile"), exports);
34
33
  __exportStar(require("./components/Typography"), exports);
@@ -0,0 +1,43 @@
1
+ import { Panel, setIconSize } from '../common';
2
+ import React, { useState, useRef, useEffect } from 'react';
3
+ import { Theme } from '../../Theme';
4
+ import { Icon } from '../Icons';
5
+ import { PanelOption, SubMenuElement, UserMenuContent, UserMenuFooter, UserMenuHeader, } from './DropdownMenu.styles';
6
+ import { Aligment } from '../Aligment';
7
+ import { TextAccent, TextLabel, Text } from '../Typography';
8
+ export const DropdownMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme.colors.primary, iconBackgroundColor = false, header = false, headerTitle, headerSubtitle, footer = false, footerText, footerAction, options, }) => {
9
+ const [open, toogleOpen] = useState(false);
10
+ const ref = useRef(null);
11
+ const close = () => {
12
+ toogleOpen(false);
13
+ };
14
+ const handleFooterAction = () => {
15
+ footerAction && footerAction();
16
+ close();
17
+ };
18
+ const handleClick = (action) => {
19
+ action();
20
+ close();
21
+ };
22
+ useEffect(() => {
23
+ const handleClickOutside = (event) => {
24
+ if (ref.current && !ref.current.contains(event.target)) {
25
+ close();
26
+ }
27
+ };
28
+ document.addEventListener('click', handleClickOutside, true);
29
+ return () => {
30
+ document.removeEventListener('click', handleClickOutside, true);
31
+ };
32
+ }, [open]);
33
+ return (React.createElement(SubMenuElement, null,
34
+ React.createElement(Icon, { name: iconName, onClick: () => toogleOpen(!open), color: color, bgColor: iconBackgroundColor, size: setIconSize(size), active: open }),
35
+ open && (React.createElement(Panel, { ref: ref, size: size, position: "right" },
36
+ React.createElement(Aligment, { hPadding: Theme.padding.m, direction: "column" },
37
+ header && (React.createElement(UserMenuHeader, null,
38
+ headerTitle && React.createElement(TextAccent, null, headerTitle),
39
+ headerSubtitle && React.createElement(TextLabel, null, headerSubtitle))),
40
+ React.createElement(UserMenuContent, null, options &&
41
+ options.map((option) => (React.createElement(PanelOption, { key: option.label, onClick: () => handleClick(option.action) }, option.label)))),
42
+ footer && (React.createElement(UserMenuFooter, null, footerText && (React.createElement(Text, { action: true, onClick: handleFooterAction }, footerText)))))))));
43
+ };
@@ -0,0 +1,32 @@
1
+ import { lighten } from "polished";
2
+ import styled from "styled-components";
3
+ import { Theme } from "../../Theme";
4
+ export const SubMenuElement = styled.div `
5
+ position:relative;
6
+ width:auto;
7
+ display: flex;
8
+ box-sizing: border-box;
9
+ `;
10
+ export const UserMenuHeader = styled.div `
11
+ border-bottom: 1px solid ${Theme.colors.gray_2};
12
+ padding-bottom: ${Theme.padding.m};
13
+ width:100%;
14
+ `;
15
+ export const UserMenuFooter = styled.div `
16
+ border-top: 1px solid ${Theme.colors.gray_2};
17
+ padding-top: ${Theme.padding.m};
18
+ width:100%;
19
+ `;
20
+ export const UserMenuContent = styled.div `
21
+ width:100%;
22
+ `;
23
+ export const PanelOption = styled.div `
24
+ padding: ${Theme.padding.s} 0;
25
+ cursor: pointer;
26
+ white-space: nowrap;
27
+ color: ${Theme.colors.text};
28
+
29
+ :hover {
30
+ background-color: ${lighten(0.4, Theme.colors.primary)};
31
+ }
32
+ `;
@@ -0,0 +1 @@
1
+ export * from './DropdownMenu';
@@ -4,7 +4,7 @@ import { Aligment } from '../Aligment';
4
4
  import { TextHeader } from '../Typography';
5
5
  import { Theme } from '../../Theme';
6
6
  import { Button } from '../Button';
7
- import { More } from '../More';
7
+ import { DropdownMenu } from '../DropdownMenu';
8
8
  export const ElementHeader = ({ title, showTitle = true, moreIcon = false, backIcon = false, closeIcon = true, actionButton = false, actionLabel = '', handleClose, handleClick, handleBack, children, bgColor = Theme.colors.white, options, }) => {
9
9
  const leftSide = () => {
10
10
  if (showTitle) {
@@ -23,7 +23,7 @@ export const ElementHeader = ({ title, showTitle = true, moreIcon = false, backI
23
23
  else if (!closeIcon && actionButton && handleClick) {
24
24
  return (React.createElement(Aligment, { align: "flex-end", width: "auto" },
25
25
  React.createElement(Button, { mode: "inverse", text: actionLabel, onClick: () => handleClick() }),
26
- moreIcon && options && React.createElement(More, { options: options })));
26
+ moreIcon && options && React.createElement(DropdownMenu, { options: options })));
27
27
  }
28
28
  };
29
29
  return (React.createElement(Aligment, { justify: !showTitle && !children ? 'flex-end' : 'space-between', vPadding: Theme.padding.m, hPadding: Theme.padding.l, backgroundColor: bgColor },
package/dist/esm/index.js CHANGED
@@ -2,17 +2,16 @@ export * from './components/Aligment';
2
2
  export * from './components/Button';
3
3
  export * from './components/Card';
4
4
  export * from './components/Dropdown';
5
+ export * from './components/DropdownMenu';
5
6
  export * from './components/ElementHeader';
6
- export * from './components/ElementSubMenu';
7
+ export * from './components/DropdownMenu';
7
8
  export * from './components/File';
8
9
  export * from './components/Icons';
9
10
  export * from "./components/Input";
10
11
  export * from './components/Loader';
11
12
  export * from './components/Modal';
12
- export * from './components/More';
13
13
  export * from './components/Section';
14
14
  export * from './components/Selector';
15
15
  export * from './components/Sidepanel';
16
- export * from './components/UserMenu';
17
16
  export * from './components/Tile';
18
17
  export * from './components/Typography';
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ import { InputSize, IAction } from '../../types';
3
+ interface IDropdownMenuProps {
4
+ size?: InputSize;
5
+ iconName?: string;
6
+ color?: string;
7
+ iconBackgroundColor?: boolean;
8
+ header?: boolean;
9
+ headerTitle?: string;
10
+ headerSubtitle?: string;
11
+ footer?: boolean;
12
+ footerText?: string;
13
+ footerAction?: () => void;
14
+ options: IAction[];
15
+ }
16
+ export declare const DropdownMenu: FC<IDropdownMenuProps>;
17
+ export {};
@@ -1,3 +1,9 @@
1
+ export declare const SubMenuElement: import("styled-components").StyledComponent<"div", any, {}, never>;
1
2
  export declare const UserMenuHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const UserMenuContent: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const UserMenuFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const UserMenuContent: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ interface IPanelOptionStyle {
6
+ onClick?: any;
7
+ }
8
+ export declare const PanelOption: import("styled-components").StyledComponent<"div", any, IPanelOptionStyle, never>;
9
+ export {};
@@ -0,0 +1 @@
1
+ export * from './DropdownMenu';
@@ -2,17 +2,16 @@ export * from './components/Aligment';
2
2
  export * from './components/Button';
3
3
  export * from './components/Card';
4
4
  export * from './components/Dropdown';
5
+ export * from './components/DropdownMenu';
5
6
  export * from './components/ElementHeader';
6
- export * from './components/ElementSubMenu';
7
+ export * from './components/DropdownMenu';
7
8
  export * from './components/File';
8
9
  export * from './components/Icons';
9
10
  export * from "./components/Input";
10
11
  export * from './components/Loader';
11
12
  export * from './components/Modal';
12
- export * from './components/More';
13
13
  export * from './components/Section';
14
14
  export * from './components/Selector';
15
15
  export * from './components/Sidepanel';
16
- export * from './components/UserMenu';
17
16
  export * from './components/Tile';
18
17
  export * from './components/Typography';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venice-ui",
3
- "version": "1.0.36",
3
+ "version": "1.0.37",
4
4
  "description": "Component library",
5
5
  "main": "index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ElementSubMenu = void 0;
27
- const common_1 = require("../common");
28
- const react_1 = __importStar(require("react"));
29
- const Theme_1 = require("../../Theme");
30
- const Icons_1 = require("../Icons");
31
- const ElementSubMenu_styles_1 = require("./ElementSubMenu.styles");
32
- const ElementSubMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme_1.Theme.colors.primary, bgColor = false, children }) => {
33
- const [open, toogleOpen] = (0, react_1.useState)(false);
34
- const ref = (0, react_1.useRef)(null);
35
- (0, react_1.useEffect)(() => {
36
- const handleClickOutside = (event) => {
37
- if (ref.current && !ref.current.contains(event.target)) {
38
- toogleOpen(false);
39
- }
40
- };
41
- document.addEventListener('click', handleClickOutside, true);
42
- return () => {
43
- document.removeEventListener('click', handleClickOutside, true);
44
- };
45
- }, [open]);
46
- return (react_1.default.createElement(ElementSubMenu_styles_1.SubMenuElement, null,
47
- react_1.default.createElement(Icons_1.Icon, { name: iconName, onClick: () => toogleOpen(!open), color: color, bgColor: bgColor, size: (0, common_1.setIconSize)(size), active: open }),
48
- open && (react_1.default.createElement(common_1.Panel, { ref: ref, size: size, position: "right" }, children))));
49
- };
50
- exports.ElementSubMenu = ElementSubMenu;
@@ -1,13 +0,0 @@
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.SubMenuElement = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- exports.SubMenuElement = styled_components_1.default.div `
9
- position:relative;
10
- width:auto;
11
- display: flex;
12
- box-sizing: border-box;
13
- `;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ElementSubMenu"), exports);
@@ -1,15 +0,0 @@
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.More = void 0;
7
- const common_1 = require("../common");
8
- const react_1 = __importDefault(require("react"));
9
- const ElementSubMenu_1 = require("../ElementSubMenu");
10
- const More = ({ options, size = 'medium', iconName = 'more_vert', }) => {
11
- return (react_1.default.createElement(ElementSubMenu_1.ElementSubMenu, { size: size, iconName: iconName },
12
- react_1.default.createElement(react_1.default.Fragment, null, options &&
13
- options.map((option) => (react_1.default.createElement(common_1.PanelOption, { key: option.label, onClick: option.action, active: true }, option.label))))));
14
- };
15
- exports.More = More;
@@ -1,22 +0,0 @@
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.UserMenu = void 0;
7
- const Aligment_1 = require("../Aligment");
8
- const react_1 = __importDefault(require("react"));
9
- const Theme_1 = require("../../Theme");
10
- const ElementSubMenu_1 = require("../ElementSubMenu");
11
- const UserMenu_styles_1 = require("./UserMenu.styles");
12
- const Typography_1 = require("../Typography");
13
- const UserMenu = ({ color = Theme_1.Theme.colors.white, bgColor = true, userName, logoutAction, logoutLabel = "Logout", children }) => {
14
- return (react_1.default.createElement(ElementSubMenu_1.ElementSubMenu, { size: "small", iconName: "person", color: color, bgColor: bgColor },
15
- react_1.default.createElement(Aligment_1.Aligment, { hPadding: Theme_1.Theme.padding.m, direction: "column" },
16
- react_1.default.createElement(UserMenu_styles_1.UserMenuHeader, null,
17
- react_1.default.createElement(Typography_1.TextAccent, null, userName)),
18
- react_1.default.createElement(UserMenu_styles_1.UserMenuContent, null, children),
19
- react_1.default.createElement(UserMenu_styles_1.UserMenuFooter, null,
20
- react_1.default.createElement(Typography_1.Text, { color: Theme_1.Theme.colors.red, action: true, onClick: logoutAction }, logoutLabel)))));
21
- };
22
- exports.UserMenu = UserMenu;
@@ -1,21 +0,0 @@
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.UserMenuFooter = exports.UserMenuContent = exports.UserMenuHeader = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- const Theme_1 = require("../../Theme");
9
- exports.UserMenuHeader = styled_components_1.default.div `
10
- border-bottom: 1px solid ${Theme_1.Theme.colors.gray_2};
11
- padding-bottom: ${Theme_1.Theme.padding.s};
12
- width:100%;
13
- `;
14
- exports.UserMenuContent = styled_components_1.default.div `
15
- padding: ${Theme_1.Theme.padding.s} 0;
16
- width:100%;
17
- `;
18
- exports.UserMenuFooter = styled_components_1.default.div `
19
- padding-top: ${Theme_1.Theme.padding.s};
20
- width:100%;
21
- `;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./UserMenu"), exports);
@@ -1,23 +0,0 @@
1
- import { Panel, setIconSize } from '../common';
2
- import React, { useState, useRef, useEffect } from 'react';
3
- import { Theme } from '../../Theme';
4
- import { Icon } from '../Icons';
5
- import { SubMenuElement } from './ElementSubMenu.styles';
6
- export const ElementSubMenu = ({ size = 'medium', iconName = 'more_vert', color = Theme.colors.primary, bgColor = false, children }) => {
7
- const [open, toogleOpen] = useState(false);
8
- const ref = useRef(null);
9
- useEffect(() => {
10
- const handleClickOutside = (event) => {
11
- if (ref.current && !ref.current.contains(event.target)) {
12
- toogleOpen(false);
13
- }
14
- };
15
- document.addEventListener('click', handleClickOutside, true);
16
- return () => {
17
- document.removeEventListener('click', handleClickOutside, true);
18
- };
19
- }, [open]);
20
- return (React.createElement(SubMenuElement, null,
21
- React.createElement(Icon, { name: iconName, onClick: () => toogleOpen(!open), color: color, bgColor: bgColor, size: setIconSize(size), active: open }),
22
- open && (React.createElement(Panel, { ref: ref, size: size, position: "right" }, children))));
23
- };
@@ -1,7 +0,0 @@
1
- import styled from "styled-components";
2
- export const SubMenuElement = styled.div `
3
- position:relative;
4
- width:auto;
5
- display: flex;
6
- box-sizing: border-box;
7
- `;
@@ -1 +0,0 @@
1
- export * from './ElementSubMenu';
@@ -1,8 +0,0 @@
1
- import { PanelOption } from '../common';
2
- import React from 'react';
3
- import { ElementSubMenu } from '../ElementSubMenu';
4
- export const More = ({ options, size = 'medium', iconName = 'more_vert', }) => {
5
- return (React.createElement(ElementSubMenu, { size: size, iconName: iconName },
6
- React.createElement(React.Fragment, null, options &&
7
- options.map((option) => (React.createElement(PanelOption, { key: option.label, onClick: option.action, active: true }, option.label))))));
8
- };
@@ -1 +0,0 @@
1
- export * from './More';
@@ -1,15 +0,0 @@
1
- import { Aligment } from '../Aligment';
2
- import React from 'react';
3
- import { Theme } from '../../Theme';
4
- import { ElementSubMenu } from '../ElementSubMenu';
5
- import { UserMenuHeader, UserMenuFooter, UserMenuContent } from './UserMenu.styles';
6
- import { TextAccent, Text } from '../Typography';
7
- export const UserMenu = ({ color = Theme.colors.white, bgColor = true, userName, logoutAction, logoutLabel = "Logout", children }) => {
8
- return (React.createElement(ElementSubMenu, { size: "small", iconName: "person", color: color, bgColor: bgColor },
9
- React.createElement(Aligment, { hPadding: Theme.padding.m, direction: "column" },
10
- React.createElement(UserMenuHeader, null,
11
- React.createElement(TextAccent, null, userName)),
12
- React.createElement(UserMenuContent, null, children),
13
- React.createElement(UserMenuFooter, null,
14
- React.createElement(Text, { color: Theme.colors.red, action: true, onClick: logoutAction }, logoutLabel)))));
15
- };
@@ -1,15 +0,0 @@
1
- import styled from "styled-components";
2
- import { Theme } from "../../Theme";
3
- export const UserMenuHeader = styled.div `
4
- border-bottom: 1px solid ${Theme.colors.gray_2};
5
- padding-bottom: ${Theme.padding.s};
6
- width:100%;
7
- `;
8
- export const UserMenuContent = styled.div `
9
- padding: ${Theme.padding.s} 0;
10
- width:100%;
11
- `;
12
- export const UserMenuFooter = styled.div `
13
- padding-top: ${Theme.padding.s};
14
- width:100%;
15
- `;
@@ -1 +0,0 @@
1
- export * from './UserMenu';
@@ -1,11 +0,0 @@
1
- import React, { FC } from 'react';
2
- import { InputSize } from '../../types';
3
- interface IElementSubMenuProps {
4
- children: React.ReactNode;
5
- size?: InputSize;
6
- iconName?: string;
7
- color?: string;
8
- bgColor?: boolean;
9
- }
10
- export declare const ElementSubMenu: FC<IElementSubMenuProps>;
11
- export {};
@@ -1 +0,0 @@
1
- export declare const SubMenuElement: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1 +0,0 @@
1
- export * from './ElementSubMenu';
@@ -1,9 +0,0 @@
1
- import { FC } from 'react';
2
- import { IAction, InputSize } from '../../types';
3
- interface IMoreProps {
4
- options: IAction[];
5
- size?: InputSize;
6
- iconName?: string;
7
- }
8
- export declare const More: FC<IMoreProps>;
9
- export {};
@@ -1 +0,0 @@
1
- export * from './More';
@@ -1,11 +0,0 @@
1
- import React, { FC } from 'react';
2
- interface IUserMenuProps {
3
- color?: string;
4
- bgColor?: boolean;
5
- userName: string;
6
- logoutAction: () => void;
7
- logoutLabel: string;
8
- children: React.ReactNode;
9
- }
10
- export declare const UserMenu: FC<IUserMenuProps>;
11
- export {};
@@ -1 +0,0 @@
1
- export * from './UserMenu';