@servicetitan/navigation 1.6.0 → 2.0.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/dist/components/header-navigation/header-navigation-extra.stories.d.ts +1 -1
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation-extra.stories.js +3 -3
- package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -1
- package/dist/components/header-navigation/header-navigation.d.ts +34 -4
- package/dist/components/header-navigation/header-navigation.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation.js +19 -52
- package/dist/components/header-navigation/header-navigation.js.map +1 -1
- package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation.stories.js +1 -1
- package/dist/components/header-navigation/header-navigation.stories.js.map +1 -1
- package/package.json +2 -2
- package/src/components/header-navigation/header-navigation-extra.stories.tsx +11 -5
- package/src/components/header-navigation/header-navigation.stories.tsx +0 -2
- package/src/components/header-navigation/header-navigation.tsx +96 -101
|
@@ -8,5 +8,5 @@ export default _default;
|
|
|
8
8
|
export declare const extraLink: () => import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export declare const extraTrigger: () => import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export declare const extraCustomTrigger: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const extraWithTooltip: () => import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
//# sourceMappingURL=header-navigation-extra.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation-extra.stories.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-extra.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;;;;;;AAUrC,wBAIE;
|
|
1
|
+
{"version":3,"file":"header-navigation-extra.stories.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-extra.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;;;;;;AAUrC,wBAIE;AAoBF,eAAO,MAAM,SAAS,+CAUrB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAIxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,+CAM9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAiB5B,CAAC"}
|
|
@@ -19,15 +19,15 @@ export default {
|
|
|
19
19
|
parameters: {},
|
|
20
20
|
};
|
|
21
21
|
const NavLinkMock = (_a) => {
|
|
22
|
-
var { to, children } = _a, rest = __rest(_a, ["to", "children"]);
|
|
22
|
+
var { to, children, isActive, activeClassName } = _a, rest = __rest(_a, ["to", "children", "isActive", "activeClassName"]);
|
|
23
23
|
return (_jsx("a", Object.assign({}, rest, { href: to, onClick: e => {
|
|
24
24
|
e.preventDefault();
|
|
25
25
|
}, children: children })));
|
|
26
26
|
};
|
|
27
27
|
export const extraLink = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, contentClassName: "m-r-1", children: _jsx(HeaderNavigationLink, { id: "search", to: "https://google.com", target: "_blank", iconName: "search", hint: "Search: for all the questions" }) }));
|
|
28
|
-
export const extraTrigger = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, contentClassName: "m-r-1", children: _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", counter: 2 }) }));
|
|
28
|
+
export const extraTrigger = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, contentClassName: "m-r-1", children: _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", counter: 2, tooltip: "Phones pro" }) }));
|
|
29
29
|
export const extraCustomTrigger = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, children: _jsx(HeaderNavigationTriggerCustom, { id: "help-center", children: _jsx(HelpCenterButton, {}) }) }));
|
|
30
|
-
export const
|
|
30
|
+
export const extraWithTooltip = () => (_jsxs(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, contentClassName: "m-r-1", children: [_jsx(HeaderNavigationLink, { id: "search", to: "https://google.com", target: "_blank", iconName: "search", tooltip: "Search: for all the questions", hint: "Google" }), _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", title: "Dialpad", counter: 2 }), _jsx(HeaderNavigationTriggerCustom, { id: "help-center", children: _jsx(HelpCenterButton, {}) })] }));
|
|
31
31
|
const HelpCenterButton = () => {
|
|
32
32
|
const [open, setOpen] = useState(false);
|
|
33
33
|
return (_jsx(Popover, { onClickOutside: () => setOpen(false), open: open, direction: "bl", width: "xs", trigger: _jsx("div", { onClick: () => setOpen(true), children: _jsx(HeaderNavigationItemContent, { iconName: "help_outline" }) }), portal: true, children: "help center" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation-extra.stories.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-extra.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,eAAe;IACX,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,oBAAoB;IAC/B,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,MAAM,WAAW,GAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"header-navigation-extra.stories.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-extra.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,32 +3,53 @@ import { FC, HTMLAttributeAnchorTarget, ReactElement, ReactNode } from 'react';
|
|
|
3
3
|
import { HeaderNavigationItemData, NavLinkComponentProps } from '../../utils/navigation';
|
|
4
4
|
import { CounterTagPropsType } from '../counter-tag';
|
|
5
5
|
interface HeaderNavigationItemContentPropsStrict {
|
|
6
|
+
/** item text */
|
|
6
7
|
title?: string;
|
|
8
|
+
/** counter shown for item */
|
|
7
9
|
counter?: CounterTagPropsType;
|
|
10
|
+
/** icon component class name */
|
|
8
11
|
iconClassName?: string;
|
|
12
|
+
/** IconComponent custom icon component */
|
|
9
13
|
iconComponent?: FC;
|
|
14
|
+
/** iconName name of anvil icon */
|
|
10
15
|
iconName?: IconPropsStrict['name'];
|
|
16
|
+
/** iconSize size of anvil icon */
|
|
17
|
+
iconSize?: IconPropsStrict['size'];
|
|
11
18
|
}
|
|
12
|
-
export interface HeaderNavigationTriggerPropsStrict extends HeaderNavigationItemContentPropsStrict {
|
|
19
|
+
export interface HeaderNavigationTriggerPropsStrict extends Omit<HeaderNavigationItemContentPropsStrict, 'title'> {
|
|
20
|
+
/** unique identifier */
|
|
13
21
|
id: string;
|
|
22
|
+
/** tooltip text */
|
|
23
|
+
tooltip?: string;
|
|
24
|
+
/** item description */
|
|
14
25
|
hint?: string;
|
|
26
|
+
/** container class name */
|
|
15
27
|
className?: string;
|
|
16
28
|
}
|
|
17
29
|
interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
|
|
30
|
+
/** unstrict props */
|
|
18
31
|
[key: string]: any;
|
|
19
32
|
}
|
|
20
33
|
export interface HeaderNavigationLinkPropsStrict extends HeaderNavigationTriggerPropsStrict {
|
|
34
|
+
/** link href */
|
|
21
35
|
to: string;
|
|
36
|
+
/** isActive */
|
|
22
37
|
isActive?: boolean | ((pathname: string) => boolean);
|
|
38
|
+
/** link html target */
|
|
23
39
|
target?: HTMLAttributeAnchorTarget;
|
|
24
40
|
}
|
|
25
41
|
export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
|
|
42
|
+
/** unstrict props */
|
|
26
43
|
[key: string]: any;
|
|
27
44
|
}
|
|
45
|
+
/** Content for navigation items */
|
|
28
46
|
export declare const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStrict>;
|
|
47
|
+
/** Navigation extra item with link */
|
|
29
48
|
export declare const HeaderNavigationLink: FC<HeaderNavigationLinkProps>;
|
|
49
|
+
/** Navigation extra item with icon button */
|
|
30
50
|
export declare const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps>;
|
|
31
|
-
|
|
51
|
+
/** Navigation extra item with custom content */
|
|
52
|
+
export declare const HeaderNavigationTriggerCustom: FC<Omit<HeaderNavigationTriggerProps, 'counter' | 'iconSize' | 'iconName' | 'iconComponent' | 'iconClassName'> & {
|
|
32
53
|
children: ReactNode;
|
|
33
54
|
}>;
|
|
34
55
|
export interface HeaderNavigationOverflowProps {
|
|
@@ -37,18 +58,27 @@ export interface HeaderNavigationOverflowProps {
|
|
|
37
58
|
portal?: boolean;
|
|
38
59
|
}
|
|
39
60
|
export interface HeaderNavigationProps {
|
|
61
|
+
/** extra navigation */
|
|
40
62
|
children?: ReactNode;
|
|
63
|
+
/** container class name */
|
|
41
64
|
className?: string;
|
|
65
|
+
/** extra navigation container class name */
|
|
42
66
|
contentClassName?: string;
|
|
67
|
+
/** container id */
|
|
43
68
|
id?: string;
|
|
69
|
+
/** left content (usually used for logo) */
|
|
44
70
|
left?: ReactElement;
|
|
71
|
+
/** left container class name */
|
|
45
72
|
leftClassName?: string;
|
|
73
|
+
/** minimal width for navigation bar */
|
|
46
74
|
minWidth?: number;
|
|
75
|
+
/** main navigation items */
|
|
47
76
|
items?: HeaderNavigationItemData[];
|
|
77
|
+
/** main navigation overflow items */
|
|
48
78
|
itemsOverflow?: HeaderNavigationItemData[];
|
|
79
|
+
/** navigation component used for routing */
|
|
49
80
|
navigationComponent?: FC<NavLinkComponentProps>;
|
|
50
|
-
|
|
51
|
-
alignMinimized?: 'left' | 'right' | 'center';
|
|
81
|
+
/** props for main items overflow component */
|
|
52
82
|
overflow?: HeaderNavigationOverflowProps;
|
|
53
83
|
}
|
|
54
84
|
export declare const HeaderNavigation: FC<HeaderNavigationProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAEf,kBAAkB,EAErB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,EAAE,EAEF,yBAAyB,EACzB,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"header-navigation.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { createElement as _createElement } from "react";
|
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
import { Icon, Popover, Tooltip, } from '@servicetitan/design-system';
|
|
15
15
|
import classNames from 'classnames';
|
|
16
|
-
import { Fragment, useCallback, useEffect,
|
|
16
|
+
import { Fragment, useCallback, useEffect, useRef, useState, } from 'react';
|
|
17
17
|
import { DefaultNavLinkComponent, NavLinkContext, useNavLink, } from '../../utils/navigation-context';
|
|
18
18
|
import { CounterTag } from '../counter-tag';
|
|
19
19
|
import * as Styles from './header-navigation.module.less';
|
|
@@ -23,82 +23,53 @@ function useForceUpdate() {
|
|
|
23
23
|
setTick(tick => tick + 1);
|
|
24
24
|
}, []);
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
/** Content for navigation items */
|
|
27
|
+
export const HeaderNavigationItemContent = ({ title, counter, iconClassName, iconComponent: IconComponent, iconName, iconSize = '24px', }) => (_jsxs(Fragment, { children: [IconComponent ? (_jsx("i", { className: classNames(Styles.icon, iconClassName), children: _jsx(IconComponent, {}) })) : iconName ? (_jsx(Icon, { size: iconSize, name: iconName, className: classNames(Styles.icon, iconClassName) })) : (_jsx("i", { className: classNames(Styles.icon, iconClassName) })), !!title && _jsx("ins", { children: title }), !!counter && (_jsx(CounterTag, { data: counter, className: Styles.counter, longClassName: Styles.counterLong }))] }));
|
|
28
|
+
const withTooltip = (element, tooltip) => tooltip ? (_jsx(Tooltip, { el: "div", direction: "b", text: tooltip, children: element })) : (element);
|
|
29
|
+
/** Navigation extra item with link */
|
|
27
30
|
export const HeaderNavigationLink = (_a) => {
|
|
28
|
-
var { id, to,
|
|
31
|
+
var { id, to, hint, tooltip, counter, className, iconClassName, iconComponent, iconName, isActive, target } = _a, rest = __rest(_a, ["id", "to", "hint", "tooltip", "counter", "className", "iconClassName", "iconComponent", "iconName", "isActive", "target"]);
|
|
29
32
|
const NavigationComponent = useNavLink();
|
|
30
|
-
return (_createElement(NavigationComponent, Object.assign({ "data-cy": `navigation-link-${id}`, "data-pendo": `navigation-link-${id}` }, rest, { key: id, to: to, title: hint, className: classNames(Styles.link, className, {
|
|
33
|
+
return withTooltip(_createElement(NavigationComponent, Object.assign({ "data-cy": `navigation-link-${id}`, "data-pendo": `navigation-link-${id}` }, rest, { key: id, to: to, title: hint, className: classNames(Styles.link, className, {
|
|
31
34
|
[Styles.active]: isActive === true,
|
|
32
35
|
}), isActive: typeof isActive === 'function' ? isActive : undefined, activeClassName: Styles.active, target: target }),
|
|
33
|
-
_jsx(HeaderNavigationItemContent, {
|
|
36
|
+
_jsx(HeaderNavigationItemContent, { counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName })), tooltip);
|
|
34
37
|
};
|
|
38
|
+
/** Navigation main menu item */
|
|
35
39
|
const HeaderNavigationItem = ({ id, to, title, hint, counter, className, iconClassName, iconComponent, iconName, isActive, main, minimized, }) => {
|
|
36
40
|
const NavigationComponent = useNavLink();
|
|
37
|
-
|
|
41
|
+
return withTooltip(_jsx(NavigationComponent, { "data-cy": `navigation-item-${id}`, "data-pendo": `navigation-item-${id}`, to: to, title: hint, className: classNames(Styles.link, className, main ? Styles.linkMain : Styles.linkOverflow, {
|
|
38
42
|
[Styles.active]: isActive === true,
|
|
39
|
-
}), isActive: typeof isActive === 'function' ? isActive : undefined, activeClassName: Styles.active, children: _jsx(HeaderNavigationItemContent, { title: minimized ? undefined : title, counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName }) }, id));
|
|
40
|
-
return minimized && title ? (_jsx(Tooltip, { el: "div", direction: "b", text: title, children: trigger })) : (trigger);
|
|
43
|
+
}), isActive: typeof isActive === 'function' ? isActive : undefined, activeClassName: Styles.active, children: _jsx(HeaderNavigationItemContent, { title: minimized ? undefined : title, counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName, iconSize: "20px" }) }, id), minimized ? title : undefined);
|
|
41
44
|
};
|
|
45
|
+
/** Navigation extra item with icon button */
|
|
42
46
|
export const HeaderNavigationTrigger = (_a) => {
|
|
43
|
-
var { id,
|
|
44
|
-
return (_jsx("div", Object.assign({ "data-cy": `navigation-trigger-${id}`, "data-pendo": `navigation-trigger-${id}` }, rest, { title: hint, className: classNames(Styles.link, 'cursor-pointer', className), children: _jsx(HeaderNavigationItemContent, { counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName
|
|
47
|
+
var { id, className, counter, iconClassName, iconComponent, iconName, hint, tooltip } = _a, rest = __rest(_a, ["id", "className", "counter", "iconClassName", "iconComponent", "iconName", "hint", "tooltip"]);
|
|
48
|
+
return withTooltip(_jsx("div", Object.assign({ "data-cy": `navigation-trigger-${id}`, "data-pendo": `navigation-trigger-${id}` }, rest, { title: hint, className: classNames(Styles.link, 'cursor-pointer', className), children: _jsx(HeaderNavigationItemContent, { counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName }) })), tooltip);
|
|
45
49
|
};
|
|
50
|
+
/** Navigation extra item with custom content */
|
|
46
51
|
export const HeaderNavigationTriggerCustom = (_a) => {
|
|
47
|
-
var { children, id,
|
|
48
|
-
return (_jsx("div", Object.assign({ "data-cy": `navigation-custom-${id}`, "data-pendo": `navigation-custom-${id}` }, rest, { title:
|
|
52
|
+
var { children, id, className, tooltip, title } = _a, rest = __rest(_a, ["children", "id", "className", "tooltip", "title"]);
|
|
53
|
+
return withTooltip(_jsx("div", Object.assign({ "data-cy": `navigation-custom-${id}`, "data-pendo": `navigation-custom-${id}` }, rest, { title: title, className: classNames(Styles.link, 'cursor-pointer', className), children: children })), tooltip);
|
|
49
54
|
};
|
|
50
55
|
const HeaderNavigationOverflow = ({ items, overflow }) => {
|
|
51
56
|
var _a, _b;
|
|
52
57
|
const [isOpen, setIsOpen] = useState(false);
|
|
53
58
|
return (_jsx(Popover, { open: isOpen, trigger: _jsx(Icon, { name: "more_vert", size: "24px", className: "c-pointer", onClick: () => setIsOpen(true), color: "white", "data-cy": "navigation-overflow-trigger", "data-pendo": "navigation-overflow-trigger" }), direction: (_a = overflow === null || overflow === void 0 ? void 0 : overflow.direction) !== null && _a !== void 0 ? _a : 'bl', width: (_b = overflow === null || overflow === void 0 ? void 0 : overflow.width) !== null && _b !== void 0 ? _b : 'xs', portal: overflow === null || overflow === void 0 ? void 0 : overflow.portal, onClickOutside: () => setIsOpen(false), wrapperClassName: "d-if-i align-items-center", popoverContentClassName: Styles.overflowPopover, children: _jsx("div", { onClick: () => setIsOpen(false), className: Styles.navigationOverflow, "data-cy": "navigation-overflow-content", children: items.map(item => (_createElement(HeaderNavigationItem, Object.assign({}, item, { key: item.id, minimized: false, main: false })))) }) }));
|
|
54
59
|
};
|
|
55
|
-
const shortItemWidth = 44;
|
|
56
60
|
var MinimizedState;
|
|
57
61
|
(function (MinimizedState) {
|
|
58
62
|
MinimizedState[MinimizedState["Calculating"] = 0] = "Calculating";
|
|
59
63
|
MinimizedState[MinimizedState["Minimized"] = 1] = "Minimized";
|
|
60
64
|
MinimizedState[MinimizedState["Full"] = 2] = "Full";
|
|
61
65
|
})(MinimizedState || (MinimizedState = {}));
|
|
62
|
-
export const HeaderNavigation = ({
|
|
66
|
+
export const HeaderNavigation = ({ children, className, contentClassName, id, items, itemsOverflow, left, leftClassName, minWidth = 800, navigationComponent = DefaultNavLinkComponent, overflow, }) => {
|
|
63
67
|
const leftRef = useRef(null);
|
|
64
68
|
const rightRef = useRef(null);
|
|
65
69
|
const centerRef = useRef(null);
|
|
66
70
|
const navigationRef = useRef(null);
|
|
67
71
|
const forceUpdate = useForceUpdate();
|
|
68
72
|
const [minimized, setMinimized] = useState(MinimizedState.Calculating);
|
|
69
|
-
const navigationAlign = useMemo(() => {
|
|
70
|
-
if (alignMinimized && minimized === MinimizedState.Minimized) {
|
|
71
|
-
return alignMinimized;
|
|
72
|
-
}
|
|
73
|
-
return align !== null && align !== void 0 ? align : 'left';
|
|
74
|
-
}, [align, alignMinimized, minimized]);
|
|
75
|
-
const navigationAlignClass = useMemo(() => {
|
|
76
|
-
switch (navigationAlign) {
|
|
77
|
-
case 'center':
|
|
78
|
-
return 'justify-content-center';
|
|
79
|
-
case 'right':
|
|
80
|
-
return 'justify-content-end';
|
|
81
|
-
default:
|
|
82
|
-
return 'justify-content-start';
|
|
83
|
-
}
|
|
84
|
-
}, [navigationAlign]);
|
|
85
|
-
const calculatePaddings = useCallback(() => {
|
|
86
|
-
var _a;
|
|
87
|
-
if (leftRef.current && rightRef.current && centerRef.current) {
|
|
88
|
-
let diff = leftRef.current.clientWidth - rightRef.current.clientWidth;
|
|
89
|
-
const margin = 8;
|
|
90
|
-
// if no enough space to show navigation links in the middle of page
|
|
91
|
-
if (centerRef.current.clientWidth < ((_a = items === null || items === void 0 ? void 0 : items.length) !== null && _a !== void 0 ? _a : 0) * shortItemWidth) {
|
|
92
|
-
// show them in the middle of available space
|
|
93
|
-
diff = 0;
|
|
94
|
-
}
|
|
95
|
-
if (navigationAlign !== 'center') {
|
|
96
|
-
diff = 0;
|
|
97
|
-
}
|
|
98
|
-
centerRef.current.style.marginLeft = `${margin + (diff < 0 ? -diff : 0)}px`;
|
|
99
|
-
centerRef.current.style.marginRight = `${margin + (diff > 0 ? diff : 0)}px`;
|
|
100
|
-
}
|
|
101
|
-
}, [items, navigationAlign]);
|
|
102
73
|
useEffect(() => {
|
|
103
74
|
const handleResize = () => {
|
|
104
75
|
setMinimized(MinimizedState.Calculating);
|
|
@@ -111,14 +82,10 @@ export const HeaderNavigation = ({ align, alignMinimized, children, className, c
|
|
|
111
82
|
setMinimized(MinimizedState.Calculating);
|
|
112
83
|
forceUpdate();
|
|
113
84
|
}, [items, itemsOverflow, forceUpdate]);
|
|
114
|
-
useLayoutEffect(() => {
|
|
115
|
-
calculatePaddings();
|
|
116
|
-
}, [calculatePaddings]);
|
|
117
85
|
const updateIsMinimized = () => {
|
|
118
86
|
if (centerRef.current && navigationRef.current) {
|
|
119
87
|
if (navigationRef.current.clientWidth > centerRef.current.clientWidth) {
|
|
120
88
|
setMinimized(MinimizedState.Minimized);
|
|
121
|
-
calculatePaddings();
|
|
122
89
|
}
|
|
123
90
|
else if (minimized === MinimizedState.Calculating) {
|
|
124
91
|
setMinimized(MinimizedState.Full);
|
|
@@ -131,6 +98,6 @@ export const HeaderNavigation = ({ align, alignMinimized, children, className, c
|
|
|
131
98
|
return (_jsx(NavLinkContext.Provider, { value: navigationComponent, children: _jsxs("div", { className: classNames(Styles.header, className, {
|
|
132
99
|
[Styles.minimized]: minimized === MinimizedState.Minimized,
|
|
133
100
|
[Styles.calculating]: minimized === MinimizedState.Calculating,
|
|
134
|
-
}), style: { minWidth: `${minWidth}px` }, id: id, "data-cy": "header-navigation", children: [_jsx("div", { className: leftClassName, ref: leftRef, "data-cy": "navigation-left", children: left }), _jsx("div", { ref: centerRef, className: classNames('d-if flex-grow-1 flex-basis-0',
|
|
101
|
+
}), style: { minWidth: `${minWidth}px` }, id: id, "data-cy": "header-navigation", children: [_jsx("div", { className: leftClassName, ref: leftRef, "data-cy": "navigation-left", children: left }), _jsx("div", { ref: centerRef, className: classNames('d-if flex-grow-1 flex-basis-0 justify-content-center', Styles.center), "data-cy": "navigation-items", children: _jsxs("div", { ref: navigationRef, className: classNames(Styles.navigationItems, 'd-if'), children: [items === null || items === void 0 ? void 0 : items.map(item => (_createElement(HeaderNavigationItem, Object.assign({}, item, { minimized: minimized === MinimizedState.Minimized, main: true, key: item.id })))), !!(itemsOverflow === null || itemsOverflow === void 0 ? void 0 : itemsOverflow.length) && (_jsx(HeaderNavigationOverflow, { items: itemsOverflow, overflow: overflow }))] }) }), _jsx("div", { className: classNames('d-f flex-row justify-content-end align-items-center', Styles.right, contentClassName), ref: rightRef, "data-cy": "navigation-content", children: children })] }) }));
|
|
135
102
|
};
|
|
136
103
|
//# sourceMappingURL=header-navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EACH,IAAI,EAEJ,OAAO,EAEP,OAAO,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAEH,QAAQ,EAIR,WAAW,EACX,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"header-navigation.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation.stories.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;;;;;;AAarC,wBAIE;AAkDF,eAAO,MAAM,iBAAiB,+CAa7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,+CAqBnC,CAAC;AA6BF,eAAO,MAAM,mBAAmB,+
|
|
1
|
+
{"version":3,"file":"header-navigation.stories.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;;;;;;AAarC,wBAIE;AAkDF,eAAO,MAAM,iBAAiB,+CAa7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,+CAqBnC,CAAC;AA6BF,eAAO,MAAM,mBAAmB,+CA6D/B,CAAC"}
|
|
@@ -53,7 +53,7 @@ const HelpCenterButton = () => {
|
|
|
53
53
|
return (_jsx(Popover, { onClickOutside: () => setOpen(false), open: open, direction: "bl", width: "xs", trigger: _jsx("div", { onClick: () => setOpen(true), children: _jsx(HeaderNavigationItemContent, { iconName: "help_outline" }) }), portal: true, children: "help center" }));
|
|
54
54
|
};
|
|
55
55
|
const TimeZoneOffset = () => (_jsx("div", { className: "fs-2 fw-bold p-x-1", children: _jsx("span", { children: "EST (-9 hrs)" }) }));
|
|
56
|
-
export const withAllMonolithData = () => (_jsxs(HeaderNavigation, { left: _jsx(LogoCompanyTitle, { className: "m-l-1", fill: "#fff" }),
|
|
56
|
+
export const withAllMonolithData = () => (_jsxs(HeaderNavigation, { left: _jsx(LogoCompanyTitle, { className: "m-l-1", fill: "#fff" }), items: [
|
|
57
57
|
items.dashboard,
|
|
58
58
|
items.calendar,
|
|
59
59
|
items.calls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation.stories.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.stories.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"header-navigation.stories.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.stories.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/navigation",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Navigation components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"less": true,
|
|
44
44
|
"webpack": false
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "ec561d050f09ecadafd3be2d2ffec54c1fc325a9"
|
|
47
47
|
}
|
|
@@ -15,7 +15,13 @@ export default {
|
|
|
15
15
|
parameters: {},
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const NavLinkMock: FC<NavLinkComponentProps> = ({
|
|
18
|
+
const NavLinkMock: FC<NavLinkComponentProps> = ({
|
|
19
|
+
to,
|
|
20
|
+
children,
|
|
21
|
+
isActive,
|
|
22
|
+
activeClassName,
|
|
23
|
+
...rest
|
|
24
|
+
}) => (
|
|
19
25
|
<a
|
|
20
26
|
{...rest}
|
|
21
27
|
href={to}
|
|
@@ -41,7 +47,7 @@ export const extraLink = () => (
|
|
|
41
47
|
|
|
42
48
|
export const extraTrigger = () => (
|
|
43
49
|
<HeaderNavigation items={[]} navigationComponent={NavLinkMock} contentClassName="m-r-1">
|
|
44
|
-
<HeaderNavigationTrigger id="dialpad" iconName="phone" counter={2} />
|
|
50
|
+
<HeaderNavigationTrigger id="dialpad" iconName="phone" counter={2} tooltip="Phones pro" />
|
|
45
51
|
</HeaderNavigation>
|
|
46
52
|
);
|
|
47
53
|
|
|
@@ -53,15 +59,15 @@ export const extraCustomTrigger = () => (
|
|
|
53
59
|
</HeaderNavigation>
|
|
54
60
|
);
|
|
55
61
|
|
|
56
|
-
export const
|
|
62
|
+
export const extraWithTooltip = () => (
|
|
57
63
|
<HeaderNavigation items={[]} navigationComponent={NavLinkMock} contentClassName="m-r-1">
|
|
58
64
|
<HeaderNavigationLink
|
|
59
65
|
id="search"
|
|
60
66
|
to="https://google.com"
|
|
61
67
|
target="_blank"
|
|
62
68
|
iconName="search"
|
|
63
|
-
|
|
64
|
-
|
|
69
|
+
tooltip="Search: for all the questions"
|
|
70
|
+
hint="Google"
|
|
65
71
|
/>
|
|
66
72
|
|
|
67
73
|
<HeaderNavigationTrigger id="dialpad" iconName="phone" title="Dialpad" counter={2} />
|
|
@@ -134,8 +134,6 @@ const TimeZoneOffset: FC = () => (
|
|
|
134
134
|
export const withAllMonolithData = () => (
|
|
135
135
|
<HeaderNavigation
|
|
136
136
|
left={<LogoCompanyTitle className="m-l-1" fill="#fff" />}
|
|
137
|
-
align="left"
|
|
138
|
-
alignMinimized="center"
|
|
139
137
|
items={[
|
|
140
138
|
items.dashboard,
|
|
141
139
|
items.calendar,
|
|
@@ -14,8 +14,6 @@ import {
|
|
|
14
14
|
ReactNode,
|
|
15
15
|
useCallback,
|
|
16
16
|
useEffect,
|
|
17
|
-
useLayoutEffect,
|
|
18
|
-
useMemo,
|
|
19
17
|
useRef,
|
|
20
18
|
useState,
|
|
21
19
|
} from 'react';
|
|
@@ -36,38 +34,58 @@ function useForceUpdate() {
|
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
interface HeaderNavigationItemContentPropsStrict {
|
|
37
|
+
/** item text */
|
|
39
38
|
title?: string;
|
|
39
|
+
/** counter shown for item */
|
|
40
40
|
counter?: CounterTagPropsType;
|
|
41
|
+
/** icon component class name */
|
|
41
42
|
iconClassName?: string;
|
|
43
|
+
/** IconComponent custom icon component */
|
|
42
44
|
iconComponent?: FC;
|
|
45
|
+
/** iconName name of anvil icon */
|
|
43
46
|
iconName?: IconPropsStrict['name'];
|
|
47
|
+
/** iconSize size of anvil icon */
|
|
48
|
+
iconSize?: IconPropsStrict['size'];
|
|
44
49
|
}
|
|
45
|
-
export interface HeaderNavigationTriggerPropsStrict
|
|
50
|
+
export interface HeaderNavigationTriggerPropsStrict
|
|
51
|
+
extends Omit<HeaderNavigationItemContentPropsStrict, 'title'> {
|
|
52
|
+
/** unique identifier */
|
|
46
53
|
id: string;
|
|
54
|
+
/** tooltip text */
|
|
55
|
+
tooltip?: string;
|
|
56
|
+
/** item description */
|
|
47
57
|
hint?: string;
|
|
58
|
+
/** container class name */
|
|
48
59
|
className?: string;
|
|
49
60
|
}
|
|
50
61
|
|
|
51
62
|
interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
|
|
63
|
+
/** unstrict props */
|
|
52
64
|
[key: string]: any;
|
|
53
65
|
}
|
|
54
66
|
|
|
55
67
|
export interface HeaderNavigationLinkPropsStrict extends HeaderNavigationTriggerPropsStrict {
|
|
68
|
+
/** link href */
|
|
56
69
|
to: string;
|
|
70
|
+
/** isActive */
|
|
57
71
|
isActive?: boolean | ((pathname: string) => boolean);
|
|
72
|
+
/** link html target */
|
|
58
73
|
target?: HTMLAttributeAnchorTarget;
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
|
|
77
|
+
/** unstrict props */
|
|
62
78
|
[key: string]: any;
|
|
63
79
|
}
|
|
64
80
|
|
|
81
|
+
/** Content for navigation items */
|
|
65
82
|
export const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStrict> = ({
|
|
66
83
|
title,
|
|
67
84
|
counter,
|
|
68
85
|
iconClassName,
|
|
69
86
|
iconComponent: IconComponent,
|
|
70
87
|
iconName,
|
|
88
|
+
iconSize = '24px',
|
|
71
89
|
}) => (
|
|
72
90
|
<Fragment>
|
|
73
91
|
{IconComponent ? (
|
|
@@ -75,7 +93,11 @@ export const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStr
|
|
|
75
93
|
<IconComponent />
|
|
76
94
|
</i>
|
|
77
95
|
) : iconName ? (
|
|
78
|
-
<Icon
|
|
96
|
+
<Icon
|
|
97
|
+
size={iconSize}
|
|
98
|
+
name={iconName}
|
|
99
|
+
className={classNames(Styles.icon, iconClassName)}
|
|
100
|
+
/>
|
|
79
101
|
) : (
|
|
80
102
|
<i className={classNames(Styles.icon, iconClassName)} />
|
|
81
103
|
)}
|
|
@@ -92,11 +114,21 @@ export const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStr
|
|
|
92
114
|
</Fragment>
|
|
93
115
|
);
|
|
94
116
|
|
|
117
|
+
const withTooltip = (element: ReactNode, tooltip?: string) =>
|
|
118
|
+
tooltip ? (
|
|
119
|
+
<Tooltip el="div" direction="b" text={tooltip}>
|
|
120
|
+
{element}
|
|
121
|
+
</Tooltip>
|
|
122
|
+
) : (
|
|
123
|
+
element
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
/** Navigation extra item with link */
|
|
95
127
|
export const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = ({
|
|
96
128
|
id,
|
|
97
129
|
to,
|
|
98
|
-
title,
|
|
99
130
|
hint,
|
|
131
|
+
tooltip,
|
|
100
132
|
counter,
|
|
101
133
|
className,
|
|
102
134
|
iconClassName,
|
|
@@ -108,7 +140,7 @@ export const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = ({
|
|
|
108
140
|
}) => {
|
|
109
141
|
const NavigationComponent = useNavLink();
|
|
110
142
|
|
|
111
|
-
return (
|
|
143
|
+
return withTooltip(
|
|
112
144
|
<NavigationComponent
|
|
113
145
|
data-cy={`navigation-link-${id}`}
|
|
114
146
|
data-pendo={`navigation-link-${id}`}
|
|
@@ -124,13 +156,13 @@ export const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = ({
|
|
|
124
156
|
target={target}
|
|
125
157
|
>
|
|
126
158
|
<HeaderNavigationItemContent
|
|
127
|
-
title={title}
|
|
128
159
|
counter={counter}
|
|
129
160
|
iconComponent={iconComponent}
|
|
130
161
|
iconClassName={iconClassName}
|
|
131
162
|
iconName={iconName}
|
|
132
163
|
/>
|
|
133
|
-
</NavigationComponent
|
|
164
|
+
</NavigationComponent>,
|
|
165
|
+
tooltip
|
|
134
166
|
);
|
|
135
167
|
};
|
|
136
168
|
|
|
@@ -139,6 +171,7 @@ interface HeaderNavigationItemPropsStrict extends HeaderNavigationItemData {
|
|
|
139
171
|
main: boolean;
|
|
140
172
|
}
|
|
141
173
|
|
|
174
|
+
/** Navigation main menu item */
|
|
142
175
|
const HeaderNavigationItem: FC<HeaderNavigationItemPropsStrict> = ({
|
|
143
176
|
id,
|
|
144
177
|
to,
|
|
@@ -155,7 +188,7 @@ const HeaderNavigationItem: FC<HeaderNavigationItemPropsStrict> = ({
|
|
|
155
188
|
}) => {
|
|
156
189
|
const NavigationComponent = useNavLink();
|
|
157
190
|
|
|
158
|
-
|
|
191
|
+
return withTooltip(
|
|
159
192
|
<NavigationComponent
|
|
160
193
|
data-cy={`navigation-item-${id}`}
|
|
161
194
|
data-pendo={`navigation-item-${id}`}
|
|
@@ -179,60 +212,62 @@ const HeaderNavigationItem: FC<HeaderNavigationItemPropsStrict> = ({
|
|
|
179
212
|
iconComponent={iconComponent}
|
|
180
213
|
iconClassName={iconClassName}
|
|
181
214
|
iconName={iconName}
|
|
215
|
+
iconSize="20px"
|
|
182
216
|
/>
|
|
183
|
-
</NavigationComponent
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return minimized && title ? (
|
|
187
|
-
<Tooltip el="div" direction="b" text={title}>
|
|
188
|
-
{trigger}
|
|
189
|
-
</Tooltip>
|
|
190
|
-
) : (
|
|
191
|
-
trigger
|
|
217
|
+
</NavigationComponent>,
|
|
218
|
+
minimized ? title : undefined
|
|
192
219
|
);
|
|
193
220
|
};
|
|
194
221
|
|
|
222
|
+
/** Navigation extra item with icon button */
|
|
195
223
|
export const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps> = ({
|
|
196
224
|
id,
|
|
197
|
-
hint,
|
|
198
225
|
className,
|
|
199
226
|
counter,
|
|
200
227
|
iconClassName,
|
|
201
228
|
iconComponent,
|
|
202
229
|
iconName,
|
|
203
|
-
|
|
230
|
+
hint,
|
|
231
|
+
tooltip,
|
|
204
232
|
...rest
|
|
205
|
-
}) =>
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
233
|
+
}) =>
|
|
234
|
+
withTooltip(
|
|
235
|
+
<div
|
|
236
|
+
data-cy={`navigation-trigger-${id}`}
|
|
237
|
+
data-pendo={`navigation-trigger-${id}`}
|
|
238
|
+
{...rest}
|
|
239
|
+
title={hint}
|
|
240
|
+
className={classNames(Styles.link, 'cursor-pointer', className)}
|
|
241
|
+
>
|
|
242
|
+
<HeaderNavigationItemContent
|
|
243
|
+
counter={counter}
|
|
244
|
+
iconComponent={iconComponent}
|
|
245
|
+
iconClassName={iconClassName}
|
|
246
|
+
iconName={iconName}
|
|
247
|
+
/>
|
|
248
|
+
</div>,
|
|
249
|
+
tooltip
|
|
250
|
+
);
|
|
222
251
|
|
|
252
|
+
/** Navigation extra item with custom content */
|
|
223
253
|
export const HeaderNavigationTriggerCustom: FC<
|
|
224
|
-
Omit<
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
)
|
|
254
|
+
Omit<
|
|
255
|
+
HeaderNavigationTriggerProps,
|
|
256
|
+
'counter' | 'iconSize' | 'iconName' | 'iconComponent' | 'iconClassName'
|
|
257
|
+
> & { children: ReactNode }
|
|
258
|
+
> = ({ children, id, className, tooltip, title, ...rest }) =>
|
|
259
|
+
withTooltip(
|
|
260
|
+
<div
|
|
261
|
+
data-cy={`navigation-custom-${id}`}
|
|
262
|
+
data-pendo={`navigation-custom-${id}`}
|
|
263
|
+
{...rest}
|
|
264
|
+
title={title}
|
|
265
|
+
className={classNames(Styles.link, 'cursor-pointer', className)}
|
|
266
|
+
>
|
|
267
|
+
{children}
|
|
268
|
+
</div>,
|
|
269
|
+
tooltip
|
|
270
|
+
);
|
|
236
271
|
|
|
237
272
|
export interface HeaderNavigationOverflowProps {
|
|
238
273
|
direction: PopoverPropsStrict['direction'];
|
|
@@ -281,23 +316,30 @@ const HeaderNavigationOverflow: FC<{
|
|
|
281
316
|
};
|
|
282
317
|
|
|
283
318
|
export interface HeaderNavigationProps {
|
|
319
|
+
/** extra navigation */
|
|
284
320
|
children?: ReactNode;
|
|
321
|
+
/** container class name */
|
|
285
322
|
className?: string;
|
|
323
|
+
/** extra navigation container class name */
|
|
286
324
|
contentClassName?: string;
|
|
325
|
+
/** container id */
|
|
287
326
|
id?: string;
|
|
327
|
+
/** left content (usually used for logo) */
|
|
288
328
|
left?: ReactElement;
|
|
329
|
+
/** left container class name */
|
|
289
330
|
leftClassName?: string;
|
|
331
|
+
/** minimal width for navigation bar */
|
|
290
332
|
minWidth?: number;
|
|
333
|
+
/** main navigation items */
|
|
291
334
|
items?: HeaderNavigationItemData[];
|
|
335
|
+
/** main navigation overflow items */
|
|
292
336
|
itemsOverflow?: HeaderNavigationItemData[];
|
|
337
|
+
/** navigation component used for routing */
|
|
293
338
|
navigationComponent?: FC<NavLinkComponentProps>;
|
|
294
|
-
|
|
295
|
-
alignMinimized?: 'left' | 'right' | 'center';
|
|
339
|
+
/** props for main items overflow component */
|
|
296
340
|
overflow?: HeaderNavigationOverflowProps;
|
|
297
341
|
}
|
|
298
342
|
|
|
299
|
-
const shortItemWidth = 44;
|
|
300
|
-
|
|
301
343
|
enum MinimizedState {
|
|
302
344
|
Calculating,
|
|
303
345
|
Minimized,
|
|
@@ -305,8 +347,6 @@ enum MinimizedState {
|
|
|
305
347
|
}
|
|
306
348
|
|
|
307
349
|
export const HeaderNavigation: FC<HeaderNavigationProps> = ({
|
|
308
|
-
align,
|
|
309
|
-
alignMinimized,
|
|
310
350
|
children,
|
|
311
351
|
className,
|
|
312
352
|
contentClassName,
|
|
@@ -326,45 +366,6 @@ export const HeaderNavigation: FC<HeaderNavigationProps> = ({
|
|
|
326
366
|
const forceUpdate = useForceUpdate();
|
|
327
367
|
const [minimized, setMinimized] = useState(MinimizedState.Calculating);
|
|
328
368
|
|
|
329
|
-
const navigationAlign = useMemo(() => {
|
|
330
|
-
if (alignMinimized && minimized === MinimizedState.Minimized) {
|
|
331
|
-
return alignMinimized;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return align ?? 'left';
|
|
335
|
-
}, [align, alignMinimized, minimized]);
|
|
336
|
-
|
|
337
|
-
const navigationAlignClass = useMemo(() => {
|
|
338
|
-
switch (navigationAlign) {
|
|
339
|
-
case 'center':
|
|
340
|
-
return 'justify-content-center';
|
|
341
|
-
case 'right':
|
|
342
|
-
return 'justify-content-end';
|
|
343
|
-
default:
|
|
344
|
-
return 'justify-content-start';
|
|
345
|
-
}
|
|
346
|
-
}, [navigationAlign]);
|
|
347
|
-
|
|
348
|
-
const calculatePaddings = useCallback(() => {
|
|
349
|
-
if (leftRef.current && rightRef.current && centerRef.current) {
|
|
350
|
-
let diff = leftRef.current.clientWidth - rightRef.current.clientWidth;
|
|
351
|
-
const margin = 8;
|
|
352
|
-
|
|
353
|
-
// if no enough space to show navigation links in the middle of page
|
|
354
|
-
if (centerRef.current.clientWidth < (items?.length ?? 0) * shortItemWidth) {
|
|
355
|
-
// show them in the middle of available space
|
|
356
|
-
diff = 0;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
if (navigationAlign !== 'center') {
|
|
360
|
-
diff = 0;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
centerRef.current.style.marginLeft = `${margin + (diff < 0 ? -diff : 0)}px`;
|
|
364
|
-
centerRef.current.style.marginRight = `${margin + (diff > 0 ? diff : 0)}px`;
|
|
365
|
-
}
|
|
366
|
-
}, [items, navigationAlign]);
|
|
367
|
-
|
|
368
369
|
useEffect(() => {
|
|
369
370
|
const handleResize = () => {
|
|
370
371
|
setMinimized(MinimizedState.Calculating);
|
|
@@ -380,15 +381,10 @@ export const HeaderNavigation: FC<HeaderNavigationProps> = ({
|
|
|
380
381
|
forceUpdate();
|
|
381
382
|
}, [items, itemsOverflow, forceUpdate]);
|
|
382
383
|
|
|
383
|
-
useLayoutEffect(() => {
|
|
384
|
-
calculatePaddings();
|
|
385
|
-
}, [calculatePaddings]);
|
|
386
|
-
|
|
387
384
|
const updateIsMinimized = () => {
|
|
388
385
|
if (centerRef.current && navigationRef.current) {
|
|
389
386
|
if (navigationRef.current.clientWidth > centerRef.current.clientWidth) {
|
|
390
387
|
setMinimized(MinimizedState.Minimized);
|
|
391
|
-
calculatePaddings();
|
|
392
388
|
} else if (minimized === MinimizedState.Calculating) {
|
|
393
389
|
setMinimized(MinimizedState.Full);
|
|
394
390
|
}
|
|
@@ -416,8 +412,7 @@ export const HeaderNavigation: FC<HeaderNavigationProps> = ({
|
|
|
416
412
|
<div
|
|
417
413
|
ref={centerRef}
|
|
418
414
|
className={classNames(
|
|
419
|
-
'd-if flex-grow-1 flex-basis-0',
|
|
420
|
-
navigationAlignClass,
|
|
415
|
+
'd-if flex-grow-1 flex-basis-0 justify-content-center',
|
|
421
416
|
Styles.center
|
|
422
417
|
)}
|
|
423
418
|
data-cy="navigation-items"
|