@mailstep/design-system 0.6.73-beta.1 → 0.6.73-beta.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.6.73-beta.1",
3
+ "version": "0.6.73-beta.3",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -1,5 +1,6 @@
1
1
  import { type FC } from 'react';
2
2
  import type { Brand, Variant } from '../../Elements/Logo';
3
+ import { LanguageItem } from '../LanguageSwitch';
3
4
  import type { MenuItemType } from '../SideMenu/types';
4
5
  import type { User } from './types';
5
6
  type Props = {
@@ -13,6 +14,9 @@ type Props = {
13
14
  currentLanguage?: string;
14
15
  hasUserMenu?: boolean;
15
16
  rightMenuItems?: MenuItemType[];
17
+ languageItems?: LanguageItem[];
18
+ showLanguageWithTitle?: boolean;
19
+ languageFlagWrapBackgroundColor?: string;
16
20
  onOpenMobileSideMenu?: () => void;
17
21
  onChangeLanguage?: (language: string) => void;
18
22
  onLogout?: () => void;
@@ -6,10 +6,10 @@ import { HamburgerMenuButton } from '../SideMenu';
6
6
  import { MenuItems } from './components/MenuItems';
7
7
  import { UserMenu } from './components/UserMenu';
8
8
  import { useChangeLanguage } from './hooks/useChangeLanguage';
9
- import { languageItems } from './utils/languageItems';
9
+ import { languageItems as defaultLanguageItems } from './utils/languageItems';
10
10
  import { Container, LeftSide, RightSide, LanguageWrapper } from './styles';
11
11
  export var Header = function (_a) {
12
- var isMobileMenuOpen = _a.isMobileMenuOpen, homeLink = _a.homeLink, logo = _a.logo, logoVariant = _a.logoVariant, logoSrc = _a.logoSrc, logoSrcWidth = _a.logoSrcWidth, user = _a.user, currentLanguage = _a.currentLanguage, _b = _a.hasUserMenu, hasUserMenu = _b === void 0 ? false : _b, rightMenuItems = _a.rightMenuItems, onOpenMobileSideMenu = _a.onOpenMobileSideMenu, onChangeLanguage = _a.onChangeLanguage, onLogout = _a.onLogout;
12
+ var isMobileMenuOpen = _a.isMobileMenuOpen, homeLink = _a.homeLink, logo = _a.logo, logoVariant = _a.logoVariant, logoSrc = _a.logoSrc, logoSrcWidth = _a.logoSrcWidth, user = _a.user, currentLanguage = _a.currentLanguage, _b = _a.hasUserMenu, hasUserMenu = _b === void 0 ? false : _b, rightMenuItems = _a.rightMenuItems, showLanguageWithTitle = _a.showLanguageWithTitle, languageFlagWrapBackgroundColor = _a.languageFlagWrapBackgroundColor, _c = _a.languageItems, languageItems = _c === void 0 ? defaultLanguageItems : _c, onOpenMobileSideMenu = _a.onOpenMobileSideMenu, onChangeLanguage = _a.onChangeLanguage, onLogout = _a.onLogout;
13
13
  var handleChangeLanguage = useChangeLanguage({ onChangeLanguage: onChangeLanguage }).handleChangeLanguage;
14
- return (_jsxs(Container, { children: [_jsxs(LeftSide, { children: [_jsx(HamburgerMenuButton, { isLeftMenuOpen: isMobileMenuOpen, onClick: onOpenMobileSideMenu }), _jsx(Link, { to: homeLink, children: logoSrc ? _jsx("img", { src: logoSrc, alt: "logo", width: logoSrcWidth }) : _jsx(Logo, { brand: logo, variant: logoVariant, width: "145px" }) })] }), _jsxs(RightSide, { children: [Array.isArray(rightMenuItems) && (rightMenuItems === null || rightMenuItems === void 0 ? void 0 : rightMenuItems.length) > 0 && _jsx(MenuItems, { items: rightMenuItems }), _jsx(LanguageWrapper, { children: _jsx(LanguageSwitch, { languageItems: languageItems, onLanguageChange: handleChangeLanguage, activeLanguage: currentLanguage }) }), hasUserMenu && _jsx(UserMenu, { user: user, onLogout: onLogout })] })] }));
14
+ return (_jsxs(Container, { children: [_jsxs(LeftSide, { children: [onOpenMobileSideMenu && _jsx(HamburgerMenuButton, { isLeftMenuOpen: isMobileMenuOpen, onClick: onOpenMobileSideMenu }), _jsx(Link, { to: homeLink, children: logoSrc ? (_jsx("img", { src: logoSrc, alt: "logo", width: logoSrcWidth })) : (_jsx(Logo, { brand: logo, variant: logoVariant, width: "145px" })) })] }), _jsxs(RightSide, { children: [Array.isArray(rightMenuItems) && (rightMenuItems === null || rightMenuItems === void 0 ? void 0 : rightMenuItems.length) > 0 && _jsx(MenuItems, { items: rightMenuItems }), _jsx(LanguageWrapper, { children: _jsx(LanguageSwitch, { languageItems: languageItems, withTitle: showLanguageWithTitle, onLanguageChange: handleChangeLanguage, activeLanguage: currentLanguage, languageFlagWrapBackgroundColor: languageFlagWrapBackgroundColor }) }), hasUserMenu && _jsx(UserMenu, { user: user, onLogout: onLogout })] })] }));
15
15
  };
@@ -12,6 +12,9 @@ declare const meta: {
12
12
  currentLanguage?: string | undefined;
13
13
  hasUserMenu?: boolean | undefined;
14
14
  rightMenuItems?: import("../../SideMenu").MenuItemType[] | undefined;
15
+ languageItems?: import("../../LanguageSwitch").LanguageItem[] | undefined;
16
+ showLanguageWithTitle?: boolean | undefined;
17
+ languageFlagWrapBackgroundColor?: string | undefined;
15
18
  onOpenMobileSideMenu?: (() => void) | undefined;
16
19
  onChangeLanguage?: ((language: string) => void) | undefined;
17
20
  onLogout?: (() => void) | undefined;
@@ -38,5 +38,5 @@ export var HeaderWithLanguageSwitch = function () { return (_jsx(LinguiContainer
38
38
  export var HeaderWithCustomLogo = function () { return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "//google.com", logoSrc: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png", logoSrcWidth: "100px" }) })); };
39
39
  export var HeaderWithAllItems = function () {
40
40
  var _a = useState(false), isMobileMenuOpen = _a[0], setIsMobileMenuOpen = _a[1];
41
- return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailstep", logoVariant: "black", currentLanguage: "cs", rightMenuItems: menuItems, hasUserMenu: true, user: user, isMobileMenuOpen: isMobileMenuOpen, onOpenMobileSideMenu: function () { return setIsMobileMenuOpen(function (state) { return !state; }); } }) }));
41
+ return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailstep", logoVariant: "black", currentLanguage: "cs", rightMenuItems: menuItems, hasUserMenu: true, user: user, showLanguageWithTitle: true, isMobileMenuOpen: isMobileMenuOpen, languageFlagWrapBackgroundColor: "pink", onOpenMobileSideMenu: function () { return setIsMobileMenuOpen(function (state) { return !state; }); } }) }));
42
42
  };
@@ -4,12 +4,12 @@ import { FlagUSA } from '../../../Elements/Icon/icons/FlagUSA';
4
4
  export var languageItems = [
5
5
  {
6
6
  languageCode: 'cs',
7
- icon: _jsx(FlagCZ, {}),
7
+ icon: _jsx(FlagCZ, { height: "16px" }),
8
8
  title: 'Česky'
9
9
  },
10
10
  {
11
11
  languageCode: 'en',
12
- icon: _jsx(FlagUSA, {}),
12
+ icon: _jsx(FlagUSA, { height: "16px" }),
13
13
  title: 'English'
14
14
  }
15
15
  ];
@@ -1,9 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useMemo, useState } from 'react';
3
+ import Icon from '../../Elements/Icon/Icon';
3
4
  import { useClickOutside } from '../Modal/hooks/useClickOutside';
4
- import { StyledFlag, LanguageFlagWrap, LanguageSwitchWrap, DownImg, StyledDropdownMenu } from './styles';
5
+ import { StyledFlag, LanguageFlagWrap, LanguageSwitchWrap, StyledDropdownMenu } from './styles';
5
6
  var LanguageSwitch = function (_a) {
6
- var activeLanguage = _a.activeLanguage, onLanguageChange = _a.onLanguageChange, languageItems = _a.languageItems, _b = _a.placement, placement = _b === void 0 ? 'right' : _b;
7
+ var activeLanguage = _a.activeLanguage, onLanguageChange = _a.onLanguageChange, languageItems = _a.languageItems, _b = _a.placement, placement = _b === void 0 ? 'right' : _b, withTitle = _a.withTitle, languageFlagWrapBackgroundColor = _a.languageFlagWrapBackgroundColor;
7
8
  var _c = useState(false), flagDropdownVisible = _c[0], setFlagDropdownVisible = _c[1];
8
9
  var onClose = useCallback(function () {
9
10
  setFlagDropdownVisible(false);
@@ -29,6 +30,6 @@ var LanguageSwitch = function (_a) {
29
30
  }, [filteredLanguages, languageToggle]);
30
31
  if (!activeLanguageObj || !languageItems)
31
32
  return null;
32
- return (_jsxs(LanguageSwitchWrap, { ref: flagMenuRef, children: [_jsxs(LanguageFlagWrap, { onClick: handleFlagClick, children: [_jsx(StyledFlag, { children: activeLanguageObj.icon }), _jsx(DownImg, { width: "10", height: "10", src: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxMCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2YwZjsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICM3MDcwNzA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJDaGV2cm9uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4KSByb3RhdGUoOTApIj4KICAgIDxyZWN0IGlkPSJGcmFtZSIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTAiIGhlaWdodD0iNiIvPgogICAgPHBhdGggaWQ9IlNoYXBlIiBjbGFzcz0iY2xzLTIiIGQ9Ik0xMCwxQTEsMSwwLDAsMCw4LjI5My4yOTNMNSwzLjU4NiwxLjcwNy4yOTNBMSwxLDAsMSwwLC4yOTMsMS43MDdsNCw0YTEsMSwwLDAsMCwxLjQxNSwwbDQtNEExLDEsMCwwLDAsMTAsMVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgOCkgcm90YXRlKC05MCkiLz4KICA8L2c+Cjwvc3ZnPgo=" })] }), _jsx(StyledDropdownMenu, { showMenu: flagDropdownVisible, items: formattedLanguages, placement: placement })] }));
33
+ return (_jsxs(LanguageSwitchWrap, { ref: flagMenuRef, children: [_jsxs(LanguageFlagWrap, { onClick: handleFlagClick, backgroundColor: languageFlagWrapBackgroundColor, withTitle: withTitle, children: [_jsxs(StyledFlag, { children: [activeLanguageObj.icon, withTitle && activeLanguageObj.title] }), _jsx(Icon, { icon: "chevronDown", size: "10px" })] }), _jsx(StyledDropdownMenu, { showMenu: flagDropdownVisible, items: formattedLanguages, placement: placement })] }));
33
34
  };
34
35
  export default LanguageSwitch;
@@ -5,5 +5,7 @@ export declare const StyledDropdownMenu: import("styled-components").StyledCompo
5
5
  placement: Placement;
6
6
  }, never>;
7
7
  export declare const LanguageSwitchWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
8
- export declare const DownImg: import("styled-components").StyledComponent<"img", import("@xstyled/system").Theme, {}, never>;
9
- export declare const LanguageFlagWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
8
+ export declare const LanguageFlagWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
9
+ backgroundColor?: string | undefined;
10
+ withTitle?: boolean | undefined;
11
+ }, never>;
@@ -2,9 +2,9 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import styled from '@xstyled/styled-components';
6
5
  import DropdownMenu from '../../Elements/DropdownMenu';
7
- export var StyledFlag = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: auto;\n cursor: pointer;\n"], ["\n width: auto;\n cursor: pointer;\n"])));
6
+ import styled from '@xstyled/styled-components';
7
+ export var StyledFlag = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: pointer;\n font-size: 16px;\n display: flex;\n gap: 6px;\n align-items: center;\n"], ["\n cursor: pointer;\n font-size: 16px;\n display: flex;\n gap: 6px;\n align-items: center;\n"])));
8
8
  export var StyledDropdownMenu = styled(DropdownMenu)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: absolute;\n top: 30px;\n right: -5px;\n\n width: max-content;\n @media (min-width: 1024px) {\n ", "\n }\n & > ul > a > * {\n display: flex;\n align-items: center;\n }\n\n :before {\n content: '';\n top: -1px;\n right: 15px;\n position: absolute;\n height: 10px;\n width: 10px;\n -webkit-transform: rotate(45deg) translate(-7px);\n -ms-transform: rotate(45deg) translate(-7px);\n transform: rotate(45deg) translate(-7px);\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n background: white;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n @media (min-width: 1024px) {\n ", "\n }\n }\n"], ["\n position: absolute;\n top: 30px;\n right: -5px;\n\n width: max-content;\n @media (min-width: 1024px) {\n ", "\n }\n & > ul > a > * {\n display: flex;\n align-items: center;\n }\n\n :before {\n content: '';\n top: -1px;\n right: 15px;\n position: absolute;\n height: 10px;\n width: 10px;\n -webkit-transform: rotate(45deg) translate(-7px);\n -ms-transform: rotate(45deg) translate(-7px);\n transform: rotate(45deg) translate(-7px);\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n background: white;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n @media (min-width: 1024px) {\n ", "\n }\n }\n"])), function (_a) {
9
9
  var placement = _a.placement;
10
10
  return "".concat(placement, ": -5px");
@@ -13,6 +13,11 @@ export var StyledDropdownMenu = styled(DropdownMenu)(templateObject_2 || (templa
13
13
  return "".concat(placement, ": 15px");
14
14
  });
15
15
  export var LanguageSwitchWrap = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n width: fit-content;\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n width: fit-content;\n"])));
16
- export var DownImg = styled.img(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-left: 15px;\n display: inline-block;\n width: 8px;\n height: 8px;\n"], ["\n margin-left: 15px;\n display: inline-block;\n width: 8px;\n height: 8px;\n"])));
17
- export var LanguageFlagWrap = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n cursor: pointer;\n position: relative;\n display: grid;\n grid-template-columns: 20px auto;\n align-items: center;\n"], ["\n cursor: pointer;\n position: relative;\n display: grid;\n grid-template-columns: 20px auto;\n align-items: center;\n"])));
18
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
16
+ export var LanguageFlagWrap = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n cursor: pointer;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n padding: 7px 12px;\n border-radius: 10px;\n background: ", ";\n"], ["\n cursor: pointer;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n padding: 7px 12px;\n border-radius: 10px;\n background: ", ";\n"])), function (_a) {
17
+ var withTitle = _a.withTitle;
18
+ return (withTitle ? '16px' : '8px');
19
+ }, function (_a) {
20
+ var backgroundColor = _a.backgroundColor;
21
+ return backgroundColor || 'white';
22
+ });
23
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -10,4 +10,6 @@ export type LanguageSwitchProps = {
10
10
  onLanguageChange: (languageCode: string) => void;
11
11
  languageItems?: LanguageItem[];
12
12
  placement?: Placement;
13
+ withTitle?: boolean;
14
+ languageFlagWrapBackgroundColor?: string;
13
15
  };