@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 +1 -1
- package/ui/Blocks/Header/index.d.ts +4 -0
- package/ui/Blocks/Header/index.js +3 -3
- package/ui/Blocks/Header/stories/Header.stories.d.ts +3 -0
- package/ui/Blocks/Header/stories/Header.stories.js +1 -1
- package/ui/Blocks/Header/utils/languageItems.js +2 -2
- package/ui/Blocks/LanguageSwitch/LanguageSwitch.js +5 -4
- package/ui/Blocks/LanguageSwitch/styles.d.ts +4 -2
- package/ui/Blocks/LanguageSwitch/styles.js +10 -5
- package/ui/Blocks/LanguageSwitch/types.d.ts +2 -0
- package/ui/index.es.js +7784 -7770
- package/ui/index.umd.js +366 -364
package/package.json
CHANGED
|
@@ -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 {
|
|
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,
|
|
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: [
|
|
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
|
|
9
|
-
|
|
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
|
-
|
|
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
|
|
17
|
-
|
|
18
|
-
|
|
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;
|