@mailstep/design-system 0.6.64 → 0.6.65-beta.0
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/components/MenuItems/components/MenuItem/index.d.ts +7 -0
- package/ui/Blocks/Header/components/MenuItems/components/MenuItem/index.js +7 -0
- package/ui/Blocks/Header/components/MenuItems/index.d.ts +7 -0
- package/ui/Blocks/Header/components/MenuItems/index.js +7 -0
- package/ui/Blocks/Header/components/MenuItems/styles.d.ts +2 -0
- package/ui/Blocks/Header/components/MenuItems/styles.js +8 -0
- package/ui/Blocks/Header/components/UserMenu/components/UserInfo/index.d.ts +7 -0
- package/ui/Blocks/Header/components/UserMenu/components/UserInfo/index.js +8 -0
- package/ui/Blocks/Header/components/UserMenu/components/UserInfo/styles.d.ts +2 -0
- package/ui/Blocks/Header/components/UserMenu/components/UserInfo/styles.js +8 -0
- package/ui/Blocks/Header/components/UserMenu/hooks/index.d.ts +1 -0
- package/ui/Blocks/Header/components/UserMenu/hooks/index.js +1 -0
- package/ui/Blocks/Header/components/UserMenu/hooks/useLogout.d.ts +9 -0
- package/ui/Blocks/Header/components/UserMenu/hooks/useLogout.js +10 -0
- package/ui/Blocks/Header/components/UserMenu/index.d.ts +8 -0
- package/ui/Blocks/Header/components/UserMenu/index.js +18 -0
- package/ui/Blocks/Header/components/UserMenu/styles.d.ts +3 -0
- package/ui/Blocks/Header/components/UserMenu/styles.js +9 -0
- package/ui/Blocks/Header/hooks/useChangeLanguage.d.ts +9 -0
- package/ui/Blocks/Header/hooks/useChangeLanguage.js +10 -0
- package/ui/Blocks/Header/index.d.ts +18 -0
- package/ui/Blocks/Header/index.js +15 -0
- package/ui/Blocks/Header/stories/Header.stories.d.ts +25 -0
- package/ui/Blocks/Header/stories/Header.stories.js +38 -0
- package/ui/Blocks/Header/styles.d.ts +4 -0
- package/ui/Blocks/Header/styles.js +11 -0
- package/ui/Blocks/Header/types.d.ts +9 -0
- package/ui/Blocks/Header/types.js +1 -0
- package/ui/Blocks/Header/utils/constants.d.ts +1 -0
- package/ui/Blocks/Header/utils/constants.js +1 -0
- package/ui/Blocks/Header/utils/languageItems.d.ts +2 -0
- package/ui/Blocks/Header/utils/languageItems.js +15 -0
- package/ui/Blocks/LanguageSwitch/LanguageSwitch.d.ts +2 -2
- package/ui/Blocks/LanguageSwitch/LanguageSwitch.js +1 -1
- package/ui/Elements/Logo/index.d.ts +1 -0
- package/ui/hooks/useToggleAndClose.d.ts +3 -0
- package/ui/hooks/useToggleAndClose.js +12 -0
- package/ui/index.es.js +15160 -15657
- package/ui/index.umd.js +621 -621
package/package.json
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Link } from 'react-router-dom';
|
|
3
|
+
import { MenuItemsListItem } from '../../styles';
|
|
4
|
+
export var MenuItem = function (_a) {
|
|
5
|
+
var item = _a.item;
|
|
6
|
+
return (_jsx(MenuItemsListItem, { children: _jsx(Link, { to: item.link, children: item.name }) }));
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { MenuItem } from './components/MenuItem';
|
|
3
|
+
import { MenuItemsList } from './styles';
|
|
4
|
+
export var MenuItems = function (_a) {
|
|
5
|
+
var items = _a.items;
|
|
6
|
+
return (_jsx(MenuItemsList, { children: items === null || items === void 0 ? void 0 : items.map(function (item, key) { return (_jsx(MenuItem, { item: item }, key)); }) }));
|
|
7
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import styled from '@xstyled/styled-components';
|
|
6
|
+
export var MenuItemsList = styled.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: none;\n gap: 10px;\n\n @media (min-width: 1024px) {\n display: flex;\n }\n"], ["\n display: none;\n gap: 10px;\n\n @media (min-width: 1024px) {\n display: flex;\n }\n"])));
|
|
7
|
+
export var MenuItemsListItem = styled.li(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n a {\n text-decoration: none;\n color: red1;\n border-color: red1;\n }\n\n a:hover {\n border-bottom: 1px solid;\n }\n"], ["\n a {\n text-decoration: none;\n color: red1;\n border-color: red1;\n }\n\n a:hover {\n border-bottom: 1px solid;\n }\n"])));
|
|
8
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Avatar from '../../../../../../Elements/Avatar';
|
|
3
|
+
import { H7 } from '../../../../../../Elements/Typography';
|
|
4
|
+
import { AvatarWrapper, UserInfo } from './styles';
|
|
5
|
+
export var UserInfoBlock = function (_a) {
|
|
6
|
+
var userName = _a.userName, role = _a.role;
|
|
7
|
+
return (_jsxs(AvatarWrapper, { children: [_jsx(Avatar, { colorBack: "lightGray7", size: 34 }), _jsxs(UserInfo, { children: [_jsx(H7, { variant: "bold", mt: 0, mb: "4px", children: userName }), _jsx(H7, { mt: 0, mb: 0, children: role })] })] }));
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import styled from '@xstyled/styled-components';
|
|
6
|
+
export var UserInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"])));
|
|
7
|
+
export var AvatarWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n column-gap: 15px;\n margin-bottom: 20px;\n"], ["\n display: flex;\n column-gap: 15px;\n margin-bottom: 20px;\n"])));
|
|
8
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useLogout } from './useLogout';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useLogout } from './useLogout';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var useLogout = function (_a) {
|
|
2
|
+
var closeDropdown = _a.closeDropdown, onLogout = _a.onLogout;
|
|
3
|
+
var handleLogout = function () {
|
|
4
|
+
closeDropdown();
|
|
5
|
+
onLogout === null || onLogout === void 0 ? void 0 : onLogout();
|
|
6
|
+
};
|
|
7
|
+
return {
|
|
8
|
+
handleLogout: handleLogout
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import Avatar from '../../../../Elements/Avatar';
|
|
4
|
+
import Button from '../../../../Elements/Button';
|
|
5
|
+
import { useToggleAndClose } from '../../../../hooks/useToggleAndClose';
|
|
6
|
+
import Popover from '../../../Popover';
|
|
7
|
+
import { UserInfoBlock } from './components/UserInfo';
|
|
8
|
+
import { Trans } from '@lingui/react';
|
|
9
|
+
import { useLogout } from './hooks';
|
|
10
|
+
import { DropdownContentWrap, Line, UserWrap } from './styles';
|
|
11
|
+
export var UserMenu = function (_a) {
|
|
12
|
+
var _b, _c, _d, _e;
|
|
13
|
+
var user = _a.user, onLogout = _a.onLogout;
|
|
14
|
+
var _f = useToggleAndClose(false), isDropdownOpen = _f[0], toggleDropdown = _f[1], closeDropdown = _f[2];
|
|
15
|
+
var parentRef = useRef(null);
|
|
16
|
+
var handleLogout = useLogout({ closeDropdown: closeDropdown, onLogout: onLogout }).handleLogout;
|
|
17
|
+
return (_jsxs(UserWrap, { children: [_jsx("div", { ref: parentRef, onClick: toggleDropdown, children: _jsx(Avatar, { colorBack: isDropdownOpen ? 'lightGray7' : 'neutral20', size: 34 }) }), isDropdownOpen && (_jsx(Popover, { parentRef: parentRef, onClose: closeDropdown, children: _jsxs(DropdownContentWrap, { children: [_jsx(UserInfoBlock, { userName: "".concat((_b = user === null || user === void 0 ? void 0 : user.firstName) !== null && _b !== void 0 ? _b : '', " ").concat((_c = user === null || user === void 0 ? void 0 : user.lastName) !== null && _c !== void 0 ? _c : ''), role: (_e = (_d = user === null || user === void 0 ? void 0 : user.roles) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : '' }), _jsx(Line, {}), _jsx(Button, { onClick: handleLogout, iconLeft: "logout", variant: "ghost", fullWidth: true, children: _jsx(Trans, { id: "logout", message: "Logout" }) })] }) }))] }));
|
|
18
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const UserWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
2
|
+
export declare const DropdownContentWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
3
|
+
export declare const Line: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import styled, { th } from '@xstyled/styled-components';
|
|
6
|
+
export var UserWrap = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n cursor: pointer;\n align-items: center;\n"], ["\n display: flex;\n flex-direction: row;\n cursor: pointer;\n align-items: center;\n"])));
|
|
7
|
+
export var DropdownContentWrap = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 295px;\n background-color: white;\n box-shadow: ", ";\n padding: 24px 12px 12px 12px;\n border: 1px solid ", ";\n border-radius: 8px;\n margin: 5px 10px 0 0;\n"], ["\n width: 295px;\n background-color: white;\n box-shadow: ", ";\n padding: 24px 12px 12px 12px;\n border: 1px solid ", ";\n border-radius: 8px;\n margin: 5px 10px 0 0;\n"])), th.shadow('dropShadow'), th.color('lightGray6'));
|
|
8
|
+
export var Line = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 100%;\n height: 1px;\n background-color: ", ";\n margin: 4px 0;\n"], ["\n width: 100%;\n height: 1px;\n background-color: ", ";\n margin: 4px 0;\n"])), th.color('lightGray6'));
|
|
9
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type HookProps = {
|
|
2
|
+
onChangeLanguage?: (language: string) => void;
|
|
3
|
+
};
|
|
4
|
+
type HookReturn = {
|
|
5
|
+
handleChangeLanguage: (languageCode: string) => void;
|
|
6
|
+
};
|
|
7
|
+
type HookType = ({ onChangeLanguage }: HookProps) => HookReturn;
|
|
8
|
+
export declare const useChangeLanguage: HookType;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var useChangeLanguage = function (_a) {
|
|
2
|
+
var onChangeLanguage = _a.onChangeLanguage;
|
|
3
|
+
var handleChangeLanguage = function (languageCode) {
|
|
4
|
+
onChangeLanguage === null || onChangeLanguage === void 0 ? void 0 : onChangeLanguage(languageCode);
|
|
5
|
+
location.reload();
|
|
6
|
+
};
|
|
7
|
+
return {
|
|
8
|
+
handleChangeLanguage: handleChangeLanguage
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { Brand, Variant } from '../../Elements/Logo';
|
|
3
|
+
import type { User, MenuItem } from './types';
|
|
4
|
+
type Props = {
|
|
5
|
+
homeLink: string;
|
|
6
|
+
isMobileMenuOpen?: boolean;
|
|
7
|
+
logo: Brand;
|
|
8
|
+
logoVariant: Variant;
|
|
9
|
+
user?: User;
|
|
10
|
+
currentLanguage?: string;
|
|
11
|
+
hasUserMenu?: boolean;
|
|
12
|
+
rightMenuItems?: MenuItem[];
|
|
13
|
+
onOpenMobileSideMenu?: () => void;
|
|
14
|
+
onChangeLanguage?: (language: string) => void;
|
|
15
|
+
onLogout?: () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare const Header: FC<Props>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Link } from 'react-router-dom';
|
|
3
|
+
import Logo from '../../Elements/Logo';
|
|
4
|
+
import LanguageSwitch from '../LanguageSwitch';
|
|
5
|
+
import { HamburgerMenuButton } from '../SideMenu';
|
|
6
|
+
import { MenuItems } from './components/MenuItems';
|
|
7
|
+
import { UserMenu } from './components/UserMenu';
|
|
8
|
+
import { useChangeLanguage } from './hooks/useChangeLanguage';
|
|
9
|
+
import { languageItems } from './utils/languageItems';
|
|
10
|
+
import { Container, LeftSide, RightSide, LanguageWrapper } from './styles';
|
|
11
|
+
export var Header = function (_a) {
|
|
12
|
+
var isMobileMenuOpen = _a.isMobileMenuOpen, homeLink = _a.homeLink, logo = _a.logo, logoVariant = _a.logoVariant, 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;
|
|
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: _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 })] })] }));
|
|
15
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<{
|
|
5
|
+
homeLink: string;
|
|
6
|
+
isMobileMenuOpen?: boolean | undefined;
|
|
7
|
+
logo: import("../../..").Brand;
|
|
8
|
+
logoVariant: import("../../..").Variant;
|
|
9
|
+
user?: import("../types").User | undefined;
|
|
10
|
+
currentLanguage?: string | undefined;
|
|
11
|
+
hasUserMenu?: boolean | undefined;
|
|
12
|
+
rightMenuItems?: import("../types").MenuItem[] | undefined;
|
|
13
|
+
onOpenMobileSideMenu?: (() => void) | undefined;
|
|
14
|
+
onChangeLanguage?: ((language: string) => void) | undefined;
|
|
15
|
+
onLogout?: (() => void) | undefined;
|
|
16
|
+
}>;
|
|
17
|
+
tags: string[];
|
|
18
|
+
argTypes: {};
|
|
19
|
+
};
|
|
20
|
+
export default meta;
|
|
21
|
+
export declare const HeaderBasic: () => JSX.Element;
|
|
22
|
+
export declare const HeaderWithUser: () => JSX.Element;
|
|
23
|
+
export declare const HeaderWithRightLink: () => JSX.Element;
|
|
24
|
+
export declare const HeaderWithLanguageSwitch: () => JSX.Element;
|
|
25
|
+
export declare const HeaderWithAllItems: () => JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Header } from '../';
|
|
4
|
+
import { LinguiContainer } from '../../../utils/LinguiContainer';
|
|
5
|
+
var meta = {
|
|
6
|
+
title: 'Blocks/Header',
|
|
7
|
+
component: Header,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
argTypes: {}
|
|
10
|
+
};
|
|
11
|
+
var user = {
|
|
12
|
+
firstName: 'John',
|
|
13
|
+
lastName: 'Black',
|
|
14
|
+
roles: ['ADMIN']
|
|
15
|
+
};
|
|
16
|
+
var menuItems = [
|
|
17
|
+
{
|
|
18
|
+
name: 'About us',
|
|
19
|
+
link: 'http://mailstep.com'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Tracking package',
|
|
23
|
+
link: 'http://mailstep.com/tracking'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'Customer service',
|
|
27
|
+
link: 'http://mailstep.com/cc'
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
export default meta;
|
|
31
|
+
export var HeaderBasic = function () { return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailship", logoVariant: "s" }) })); };
|
|
32
|
+
export var HeaderWithUser = function () { return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailship", logoVariant: "s", hasUserMenu: true, user: user }) })); };
|
|
33
|
+
export var HeaderWithRightLink = function () { return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailship", logoVariant: "s", rightMenuItems: menuItems }) })); };
|
|
34
|
+
export var HeaderWithLanguageSwitch = function () { return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailship", logoVariant: "s", currentLanguage: "cs" }) })); };
|
|
35
|
+
export var HeaderWithAllItems = function () {
|
|
36
|
+
var _a = useState(false), isMobileMenuOpen = _a[0], setIsMobileMenuOpen = _a[1];
|
|
37
|
+
return (_jsx(LinguiContainer, { children: _jsx(Header, { homeLink: "/", logo: "mailship", logoVariant: "s", currentLanguage: "cs", rightMenuItems: menuItems, hasUserMenu: true, user: user, isMobileMenuOpen: isMobileMenuOpen, onOpenMobileSideMenu: function () { return setIsMobileMenuOpen(function (state) { return !state; }); } }) }));
|
|
38
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const Container: import("styled-components").StyledComponent<"header", import("@xstyled/system").Theme, {}, never>;
|
|
2
|
+
export declare const LeftSide: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
3
|
+
export declare const LanguageWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
4
|
+
export declare const RightSide: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import { headerHeight } from './utils/constants';
|
|
6
|
+
import styled, { th } from '@xstyled/styled-components';
|
|
7
|
+
export var Container = styled.header(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 20px;\n height: ", ";\n border-bottom: 1px solid ", ";\n"], ["\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 20px;\n height: ", ";\n border-bottom: 1px solid ", ";\n"])), headerHeight, th.color('lightGray7'));
|
|
8
|
+
export var LeftSide = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
|
|
9
|
+
export var LanguageWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n"], ["\n display: flex;\n justify-content: flex-end;\n"])));
|
|
10
|
+
export var RightSide = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n gap: 20px;\n align-items: center;\n"], ["\n display: flex;\n gap: 20px;\n align-items: center;\n"])));
|
|
11
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const headerHeight = "52px";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var headerHeight = '52px';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FlagCZ } from '../../../Elements/Icon/icons/FlagCZ';
|
|
3
|
+
import { FlagUSA } from '../../../Elements/Icon/icons/FlagUSA';
|
|
4
|
+
export var languageItems = [
|
|
5
|
+
{
|
|
6
|
+
languageCode: 'cs',
|
|
7
|
+
icon: _jsx(FlagCZ, {}),
|
|
8
|
+
title: 'Česky'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
languageCode: 'en',
|
|
12
|
+
icon: _jsx(FlagUSA, {}),
|
|
13
|
+
title: 'English'
|
|
14
|
+
}
|
|
15
|
+
];
|
|
@@ -13,7 +13,7 @@ var LanguageSwitch = function (_a) {
|
|
|
13
13
|
setFlagDropdownVisible(!flagDropdownVisible);
|
|
14
14
|
}, [flagDropdownVisible]);
|
|
15
15
|
var languageToggle = useCallback(function (languageCode) { return function () {
|
|
16
|
-
onLanguageChange
|
|
16
|
+
onLanguageChange === null || onLanguageChange === void 0 ? void 0 : onLanguageChange(languageCode);
|
|
17
17
|
}; }, [onLanguageChange]);
|
|
18
18
|
var activeLanguageObj = useMemo(function () { return languageItems === null || languageItems === void 0 ? void 0 : languageItems.find(function (language) { return language.languageCode === activeLanguage; }); }, [activeLanguage, languageItems]);
|
|
19
19
|
var filteredLanguages = useMemo(function () { return languageItems === null || languageItems === void 0 ? void 0 : languageItems.filter(function (language) { return language.languageCode !== activeLanguage; }); }, [languageItems, activeLanguage]);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
export var useToggleAndClose = function (initialValue) {
|
|
3
|
+
if (initialValue === void 0) { initialValue = true; }
|
|
4
|
+
var _a = useState(initialValue), state = _a[0], setState = _a[1];
|
|
5
|
+
var toggleHandler = function () {
|
|
6
|
+
setState(function (prev) { return !prev; });
|
|
7
|
+
};
|
|
8
|
+
var onClose = function () {
|
|
9
|
+
setState(false);
|
|
10
|
+
};
|
|
11
|
+
return [state, toggleHandler, onClose];
|
|
12
|
+
};
|