@servicetitan/navigation 1.6.0 → 2.1.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-content.d.ts +30 -0
- package/dist/components/header-navigation/header-navigation-content.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-content.js +21 -0
- package/dist/components/header-navigation/header-navigation-content.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +2 -2
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation-extra.stories.js +7 -7
- package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -1
- package/dist/components/header-navigation/header-navigation-links.d.ts +38 -0
- package/dist/components/header-navigation/header-navigation-links.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-links.js +38 -0
- package/dist/components/header-navigation/header-navigation-links.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +11 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.js +66 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.js.map +1 -0
- package/dist/components/header-navigation/header-navigation.d.ts +43 -36
- package/dist/components/header-navigation/header-navigation.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation.js +41 -81
- package/dist/components/header-navigation/header-navigation.js.map +1 -1
- package/dist/components/header-navigation/header-navigation.module.less +172 -95
- package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -1
- package/dist/components/header-navigation/header-navigation.stories.js +8 -8
- package/dist/components/header-navigation/header-navigation.stories.js.map +1 -1
- package/dist/components/header-navigation/index.d.ts +3 -0
- package/dist/components/header-navigation/index.d.ts.map +1 -0
- package/dist/components/header-navigation/index.js +3 -0
- package/dist/components/header-navigation/index.js.map +1 -0
- package/dist/components/logo/logo-titan-text.d.ts +21 -5
- package/dist/components/logo/logo-titan-text.d.ts.map +1 -1
- package/dist/components/logo/logo-titan-text.js +9 -3
- package/dist/components/logo/logo-titan-text.js.map +1 -1
- package/dist/components/logo/logo-titan-text.module.less +12 -9
- package/dist/components/logo/logo-titan.d.ts +2 -2
- package/dist/components/logo/logo-titan.d.ts.map +1 -1
- package/dist/components/logo/logo-titan.js +1 -1
- package/dist/components/logo/logo-titan.js.map +1 -1
- package/dist/components/logo/logo.stories.d.ts +2 -1
- package/dist/components/logo/logo.stories.d.ts.map +1 -1
- package/dist/components/logo/logo.stories.js +7 -5
- package/dist/components/logo/logo.stories.js.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +15 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js +51 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.d.ts +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.js +3 -3
- package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.module.less +0 -2
- package/dist/components/profile-dropdown/profile-dropdown.stories.js +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.stories.js.map +1 -1
- package/dist/components/profile-dropdown/profile-icon.d.ts +1 -1
- package/dist/components/profile-dropdown/profile-icon.d.ts.map +1 -1
- package/dist/components/profile-dropdown/profile-icon.js +1 -1
- package/dist/components/profile-dropdown/profile-icon.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/with-tooltip.d.ts +3 -0
- package/dist/utils/with-tooltip.d.ts.map +1 -0
- package/dist/utils/with-tooltip.js +4 -0
- package/dist/utils/with-tooltip.js.map +1 -0
- package/package.json +2 -2
- package/src/components/header-navigation/header-navigation-content.tsx +118 -0
- package/src/components/header-navigation/header-navigation-extra.stories.tsx +23 -17
- package/src/components/header-navigation/header-navigation-links.tsx +143 -0
- package/src/components/header-navigation/header-navigation-stacked.stories.tsx +172 -0
- package/src/components/header-navigation/header-navigation.module.less +172 -95
- package/src/components/header-navigation/header-navigation.module.less.d.ts +14 -9
- package/src/components/header-navigation/header-navigation.stories.tsx +11 -19
- package/src/components/header-navigation/header-navigation.tsx +163 -283
- package/src/components/header-navigation/index.ts +2 -0
- package/src/components/logo/logo-titan-text.module.less +12 -9
- package/src/components/logo/logo-titan-text.tsx +62 -20
- package/src/components/logo/logo-titan.tsx +2 -2
- package/src/components/logo/logo.stories.tsx +13 -4
- package/src/components/profile-dropdown/profile-dropdown-stacked.stories.tsx +178 -0
- package/src/components/profile-dropdown/profile-dropdown.module.less +0 -2
- package/src/components/profile-dropdown/profile-dropdown.stories.tsx +1 -1
- package/src/components/profile-dropdown/profile-dropdown.tsx +5 -3
- package/src/components/profile-dropdown/profile-icon.tsx +2 -1
- package/src/index.ts +2 -1
- package/src/utils/with-tooltip.tsx +11 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IconPropsStrict } from '@servicetitan/design-system';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
import { HeaderNavigationItemData } from '../../utils/navigation';
|
|
4
|
+
import { CounterTagPropsType } from '../counter-tag';
|
|
5
|
+
export interface HeaderNavigationItemContentPropsStrict {
|
|
6
|
+
/** item text */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** text component class name */
|
|
9
|
+
titleClassName?: string;
|
|
10
|
+
/** counter shown for item */
|
|
11
|
+
counter?: CounterTagPropsType;
|
|
12
|
+
/** counter component class name */
|
|
13
|
+
counterClassName?: string;
|
|
14
|
+
/** icon component class name */
|
|
15
|
+
iconClassName?: string;
|
|
16
|
+
/** IconComponent custom icon component */
|
|
17
|
+
iconComponent?: FC;
|
|
18
|
+
/** iconName name of anvil icon */
|
|
19
|
+
iconName?: IconPropsStrict['name'];
|
|
20
|
+
}
|
|
21
|
+
/** Content for navigation items */
|
|
22
|
+
export declare const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStrict>;
|
|
23
|
+
interface HeaderNavigationItemPropsStrict extends HeaderNavigationItemData {
|
|
24
|
+
minimized: boolean;
|
|
25
|
+
main: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** Navigation main menu item */
|
|
28
|
+
export declare const HeaderNavigationItem: FC<HeaderNavigationItemPropsStrict>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=header-navigation-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-content.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAc,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGjE,MAAM,WAAW,sCAAsC;IACnD,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,mCAAmC;AACnC,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,sCAAsC,CAqClF,CAAC;AAEF,UAAU,+BAAgC,SAAQ,wBAAwB;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,+BAA+B,CA6CpE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Icon } from '@servicetitan/design-system';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { Fragment } from 'react';
|
|
5
|
+
import { useNavLink } from '../../utils/navigation-context';
|
|
6
|
+
import { withTooltip } from '../../utils/with-tooltip';
|
|
7
|
+
import { CounterTag } from '../counter-tag';
|
|
8
|
+
import * as Styles from './header-navigation.module.less';
|
|
9
|
+
/** Content for navigation items */
|
|
10
|
+
export const HeaderNavigationItemContent = ({ title, titleClassName, counter, counterClassName, iconClassName, iconComponent: IconComponent, iconName, }) => {
|
|
11
|
+
const iconClass = classNames(Styles.navigationIcon, iconClassName);
|
|
12
|
+
return (_jsxs(Fragment, { children: [IconComponent ? (_jsx("i", { className: iconClass, children: _jsx(IconComponent, {}) })) : iconName ? (_jsx(Icon, { name: iconName, className: iconClass })) : (_jsx("i", { className: iconClass })), !!title && (_jsx("span", { className: classNames(Styles.navigationItemTitle, titleClassName), children: title })), !!counter && (_jsx(CounterTag, { data: counter, className: classNames(Styles.navigationItemCounter, counterClassName), longClassName: Styles.navigationItemCounterLong }))] }));
|
|
13
|
+
};
|
|
14
|
+
/** Navigation main menu item */
|
|
15
|
+
export const HeaderNavigationItem = ({ id, to, title, hint, counter, className, iconClassName, iconComponent, iconName, isActive, main, minimized, }) => {
|
|
16
|
+
const NavigationComponent = useNavLink();
|
|
17
|
+
return withTooltip(_jsx(NavigationComponent, { "data-cy": `navigation-item-${id}`, "data-pendo": `navigation-item-${id}`, to: to, title: hint, className: classNames(Styles.navigationItem, main ? Styles.navigationItemMain : Styles.navigationItemOverflow, className, {
|
|
18
|
+
[Styles.navigationItemActive]: isActive === true,
|
|
19
|
+
}), isActive: typeof isActive === 'function' ? isActive : undefined, activeClassName: Styles.navigationItemActive, children: _jsx(HeaderNavigationItemContent, { title: minimized ? undefined : title, titleClassName: main ? '' : 'm-l-half', counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName }) }, id), minimized ? title : undefined);
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=header-navigation-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-content.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-content.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: FC<import("./header-navigation").HeaderNavigationLinkProps>;
|
|
4
|
+
component: FC<import("./header-navigation-links").HeaderNavigationLinkProps>;
|
|
5
5
|
parameters: {};
|
|
6
6
|
};
|
|
7
7
|
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;;;;;;
|
|
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;;;;;;AASrC,wBAIE;AAoBF,eAAO,MAAM,SAAS,+CAUrB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAIxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,+CAM9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAe5B,CAAC"}
|
|
@@ -10,26 +10,26 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { Popover } from '@servicetitan/design-system';
|
|
13
|
+
import { Button, Popover } from '@servicetitan/design-system';
|
|
14
14
|
import { useState } from 'react';
|
|
15
|
-
import { HeaderNavigation,
|
|
15
|
+
import { HeaderNavigation, HeaderNavigationLink, HeaderNavigationTrigger, HeaderNavigationTriggerCustom, } from './';
|
|
16
16
|
export default {
|
|
17
17
|
title: 'Navigation/HeaderNavigationExtra',
|
|
18
18
|
component: HeaderNavigationLink,
|
|
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
|
-
export const extraLink = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock,
|
|
28
|
-
export const extraTrigger = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock,
|
|
27
|
+
export const extraLink = () => (_jsx(HeaderNavigation, { items: [], navigationComponent: NavLinkMock, rightClassName: "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, rightClassName: "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, rightClassName: "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(HelpCenterButton, {})] }));
|
|
31
31
|
const HelpCenterButton = () => {
|
|
32
32
|
const [open, setOpen] = useState(false);
|
|
33
|
-
return (_jsx(Popover, { onClickOutside: () => setOpen(false), open: open, direction: "bl", width: "xs", trigger: _jsx(
|
|
33
|
+
return (_jsx(Popover, { onClickOutside: () => setOpen(false), open: open, direction: "bl", width: "xs", trigger: _jsx(Button, { className: "c-white", iconName: "help_outline", fill: "subtle", onClick: () => setOpen(true) }), portal: true, children: "help center" }));
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=header-navigation-extra.stories.js.map
|
|
@@ -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;
|
|
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,MAAM,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,GAChC,MAAM,IAAI,CAAC;AAEZ,eAAe;IACX,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,oBAAoB;IAC/B,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,MAAM,WAAW,GAA8B,CAAC,EAM/C,EAAE,EAAE;QAN2C,EAC5C,EAAE,EACF,QAAQ,EACR,QAAQ,EACR,eAAe,OAElB,EADM,IAAI,cALqC,iDAM/C,CADU;IACL,OAAA,CACF,4BACQ,IAAI,IACR,IAAI,EAAE,EAAE,EACR,OAAO,EAAE,CAAC,CAAC,EAAE;YACT,CAAC,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,YAEA,QAAQ,IACT,CACP,CAAA;CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAC3B,KAAC,gBAAgB,IAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAC,OAAO,YACjF,KAAC,oBAAoB,IACjB,EAAE,EAAC,QAAQ,EACX,EAAE,EAAC,oBAAoB,EACvB,MAAM,EAAC,QAAQ,EACf,QAAQ,EAAC,QAAQ,EACjB,IAAI,EAAC,+BAA+B,GACtC,GACa,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAC9B,KAAC,gBAAgB,IAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAC,OAAO,YACjF,KAAC,uBAAuB,IAAC,EAAE,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAC,YAAY,GAAG,GAC3E,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CACpC,KAAC,gBAAgB,IAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW,YACzD,KAAC,6BAA6B,IAAC,EAAE,EAAC,aAAa,YAC3C,KAAC,gBAAgB,KAAG,GACQ,GACjB,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAClC,MAAC,gBAAgB,IAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAC,OAAO,aACjF,KAAC,oBAAoB,IACjB,EAAE,EAAC,QAAQ,EACX,EAAE,EAAC,oBAAoB,EACvB,MAAM,EAAC,QAAQ,EACf,QAAQ,EAAC,QAAQ,EACjB,OAAO,EAAC,+BAA+B,EACvC,IAAI,EAAC,QAAQ,GACf,EAEF,KAAC,uBAAuB,IAAC,EAAE,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,CAAC,GAAI,EAErF,KAAC,gBAAgB,KAAG,IACL,CACtB,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC1B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACH,KAAC,OAAO,IACJ,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,IAAI,EACd,KAAK,EAAC,IAAI,EACV,OAAO,EACH,KAAC,MAAM,IACH,SAAS,EAAC,SAAS,EACnB,QAAQ,EAAC,cAAc,EACvB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAC9B,EAEN,MAAM,kCAGA,CACb,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FC, HTMLAttributeAnchorTarget, ReactNode } from 'react';
|
|
2
|
+
import { HeaderNavigationItemContentPropsStrict } from './header-navigation-content';
|
|
3
|
+
export interface HeaderNavigationTriggerPropsStrict extends Omit<HeaderNavigationItemContentPropsStrict, 'title' | 'size'> {
|
|
4
|
+
/** unique identifier */
|
|
5
|
+
id: string;
|
|
6
|
+
/** tooltip text */
|
|
7
|
+
tooltip?: string;
|
|
8
|
+
/** item description */
|
|
9
|
+
hint?: string;
|
|
10
|
+
/** container class name */
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
|
|
14
|
+
/** unstrict props */
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
export interface HeaderNavigationLinkPropsStrict extends HeaderNavigationTriggerPropsStrict {
|
|
18
|
+
/** link href */
|
|
19
|
+
to: string;
|
|
20
|
+
/** isActive */
|
|
21
|
+
isActive?: boolean | ((pathname: string) => boolean);
|
|
22
|
+
/** link html target */
|
|
23
|
+
target?: HTMLAttributeAnchorTarget;
|
|
24
|
+
}
|
|
25
|
+
export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
|
|
26
|
+
/** unstrict props */
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
/** Navigation extra item with link */
|
|
30
|
+
export declare const HeaderNavigationLink: FC<HeaderNavigationLinkProps>;
|
|
31
|
+
/** Navigation extra item with icon button */
|
|
32
|
+
export declare const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps>;
|
|
33
|
+
/** Navigation extra item with custom content */
|
|
34
|
+
export declare const HeaderNavigationTriggerCustom: FC<Omit<HeaderNavigationTriggerProps, 'counter' | 'iconSize' | 'iconName' | 'iconComponent' | 'iconClassName'> & {
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=header-navigation-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-links.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-links.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAEH,sCAAsC,EACzC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,kCACb,SAAQ,IAAI,CAAC,sCAAsC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtE,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,4BAA6B,SAAQ,kCAAkC;IAC7E,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,+BAAgC,SAAQ,kCAAkC;IACvF,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACrD,uBAAuB;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,yBAA0B,SAAQ,+BAA+B;IAC9E,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAwC9D,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAgChE,CAAC;AAEN,gDAAgD;AAChD,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAC1C,IAAI,CACA,4BAA4B,EAC5B,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,CAC1E,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAkB1B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { createElement as _createElement } from "react";
|
|
14
|
+
import classNames from 'classnames';
|
|
15
|
+
import { useNavLink } from '../../utils/navigation-context';
|
|
16
|
+
import { withTooltip } from '../../utils/with-tooltip';
|
|
17
|
+
import { HeaderNavigationItemContent, } from './header-navigation-content';
|
|
18
|
+
import * as Styles from './header-navigation.module.less';
|
|
19
|
+
/** Navigation extra item with link */
|
|
20
|
+
export const HeaderNavigationLink = (_a) => {
|
|
21
|
+
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"]);
|
|
22
|
+
const NavigationComponent = useNavLink();
|
|
23
|
+
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.navigationLink, Styles.navigationItem, className, {
|
|
24
|
+
[Styles.navigationItemActive]: isActive === true,
|
|
25
|
+
}), isActive: typeof isActive === 'function' ? isActive : undefined, activeClassName: Styles.navigationItemActive, target: target }),
|
|
26
|
+
_jsx(HeaderNavigationItemContent, { counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName })), tooltip);
|
|
27
|
+
};
|
|
28
|
+
/** Navigation extra item with icon button */
|
|
29
|
+
export const HeaderNavigationTrigger = (_a) => {
|
|
30
|
+
var { id, className, counter, iconClassName, iconComponent, iconName, hint, tooltip } = _a, rest = __rest(_a, ["id", "className", "counter", "iconClassName", "iconComponent", "iconName", "hint", "tooltip"]);
|
|
31
|
+
return withTooltip(_jsx("div", Object.assign({ "data-cy": `navigation-trigger-${id}`, "data-pendo": `navigation-trigger-${id}` }, rest, { title: hint, className: classNames(Styles.navigationItem, Styles.navigationLink, 'cursor-pointer', className), children: _jsx(HeaderNavigationItemContent, { counter: counter, iconComponent: iconComponent, iconClassName: iconClassName, iconName: iconName }) })), tooltip);
|
|
32
|
+
};
|
|
33
|
+
/** Navigation extra item with custom content */
|
|
34
|
+
export const HeaderNavigationTriggerCustom = (_a) => {
|
|
35
|
+
var { children, id, className, tooltip, title } = _a, rest = __rest(_a, ["children", "id", "className", "tooltip", "title"]);
|
|
36
|
+
return withTooltip(_jsx("div", Object.assign({ "data-cy": `navigation-custom-${id}`, "data-pendo": `navigation-custom-${id}` }, rest, { title: title, className: classNames(Styles.navigationItem, Styles.navigationLink, 'cursor-pointer', className), children: children })), tooltip);
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=header-navigation-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-links.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-links.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACH,2BAA2B,GAE9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAC;AAiC1D,sCAAsC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,EAanE,EAAE,EAAE;QAb+D,EAChE,EAAE,EACF,EAAE,EACF,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,MAAM,OAET,EADM,IAAI,cAZyD,2HAanE,CADU;IAEP,MAAM,mBAAmB,GAAG,UAAU,EAAE,CAAC;IAEzC,OAAO,WAAW,CACd,eAAC,mBAAmB,6BACP,mBAAmB,EAAE,EAAE,gBACpB,mBAAmB,EAAE,EAAE,IAC/B,IAAI,IACR,GAAG,EAAE,EAAE,EACP,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE;YAC3E,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,KAAK,IAAI;SACnD,CAAC,EACF,QAAQ,EAAE,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC/D,eAAe,EAAE,MAAM,CAAC,oBAAoB,EAC5C,MAAM,EAAE,MAAM;QAEd,KAAC,2BAA2B,IACxB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GACpB,CACgB,EACtB,OAAO,CACV,CAAC;AACN,CAAC,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,EAUzE,EAAE,EAAE;QAVqE,EACtE,EAAE,EACF,SAAS,EACT,OAAO,EACP,aAAa,EACb,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,OAAO,OAEV,EADM,IAAI,cAT+D,+FAUzE,CADU;IAEP,OAAA,WAAW,CACP,uCACa,sBAAsB,EAAE,EAAE,gBACvB,sBAAsB,EAAE,EAAE,IAClC,IAAI,IACR,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,cAAc,EACrB,gBAAgB,EAChB,SAAS,CACZ,YAED,KAAC,2BAA2B,IACxB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GACpB,IACA,EACN,OAAO,CACV,CAAA;CAAA,CAAC;AAEN,gDAAgD;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAKtC,CAAC,EAAoD,EAAE,EAAE;QAAxD,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,OAAW,EAAN,IAAI,cAAlD,mDAAoD,CAAF;IACnD,OAAA,WAAW,CACP,uCACa,qBAAqB,EAAE,EAAE,gBACtB,qBAAqB,EAAE,EAAE,IACjC,IAAI,IACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,cAAc,EACrB,gBAAgB,EAChB,SAAS,CACZ,YAEA,QAAQ,IACP,EACN,OAAO,CACV,CAAA;CAAA,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: FC<import("./header-navigation").HeaderNavigationStackedProps>;
|
|
5
|
+
parameters: {};
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|
|
8
|
+
export declare const defaultNavigation: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const withLogoTextAndOverflow: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const withAllMonolithData: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=header-navigation-stacked.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-stacked.stories.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-stacked.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;;;;;;AAOrC,wBAIE;AAkDF,eAAO,MAAM,iBAAiB,+CAc7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,+CAoBnC,CAAC;AAQF,eAAO,MAAM,mBAAmB,+CAiE/B,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Input, Stack } from '@servicetitan/design-system';
|
|
3
|
+
import { Fragment } from 'react';
|
|
4
|
+
import { LogoCompanyTitle } from '../logo/logo-company-title';
|
|
5
|
+
import { LogoTitan, LogoTitanTitle } from '../logo/logo-titan-text';
|
|
6
|
+
import { ProfileDropdown } from '../profile-dropdown/profile-dropdown';
|
|
7
|
+
import { HeaderNavigationLink, HeaderNavigationStacked, HeaderNavigationTrigger } from './';
|
|
8
|
+
export default {
|
|
9
|
+
title: 'Navigation/HeaderNavigationStacked',
|
|
10
|
+
component: HeaderNavigationStacked,
|
|
11
|
+
parameters: {},
|
|
12
|
+
};
|
|
13
|
+
const getItem = (id, data) => (Object.assign({ id, to: '/', title: id[0].toUpperCase() + id.substring(1), hint: id }, (data !== null && data !== void 0 ? data : {})));
|
|
14
|
+
const InventoryIcon = () => (_jsxs("svg", { width: "20", xmlns: "http://www.w3.org/2000/svg", viewBox: "-293 385 24 24", fill: "currentColor", children: [_jsx("polyline", { points: "-288,400.9 -282,404.3 -282,397.6 -288,394.2 -288,400.9 " }), _jsx("path", { d: "M-272,401.5c0,0.4-0.2,0.7-0.5,0.9l-7.9,4.4c-0.2,0.1-0.4,0.2-0.6,0.2s-0.4-0.1-0.6-0.2l-7.9-4.4c-0.3-0.2-0.5-0.5-0.5-0.9v-9c0-0.4,0.2-0.7,0.5-0.9l7.9-4.4c0.2-0.1,0.4-0.2,0.6-0.2s0.4,0.1,0.6,0.2l7.9,4.4c0.3,0.2,0.5,0.5,0.5,0.9V401.5 M-287,392.5 l6,3.4l5.9-3.3l-5.9-3.4L-287,392.5 M-274,400.9v-6.7l-6,3.4v6.7L-274,400.9z" })] }));
|
|
15
|
+
const items = {
|
|
16
|
+
calendar: getItem('calendar', { iconName: 'event' }),
|
|
17
|
+
calls: getItem('calls', { iconName: 'local_phone', isActive: true, counter: 12 }),
|
|
18
|
+
dashboard: getItem('dashboard', { iconName: 'odometer', isActive: true }),
|
|
19
|
+
dispatch: getItem('dispatch', { iconName: 'location_disabled', counter: 1 }),
|
|
20
|
+
fleet: getItem('fleet', { iconName: 'fleet-pro', title: 'Fleet Pro' }),
|
|
21
|
+
followUps: getItem('followUps', { iconName: 'flag', title: 'Follow Ups' }),
|
|
22
|
+
inventory: getItem('inventory', { iconName: 'toys' }),
|
|
23
|
+
purchasing: getItem('purchasing', { iconComponent: InventoryIcon }),
|
|
24
|
+
accounting: getItem('accounting', { iconName: 'assignment' }),
|
|
25
|
+
marketing: getItem('marketing', { iconName: 'bullhorn' }),
|
|
26
|
+
priceBook: getItem('priceBook', { iconName: 'book' }),
|
|
27
|
+
pointOfSale: getItem('pointOfSale', { iconName: 'cash-register' }),
|
|
28
|
+
projects: getItem('projects', { iconName: 'folder_special' }),
|
|
29
|
+
reports: getItem('reports', { iconName: 'poll' }),
|
|
30
|
+
};
|
|
31
|
+
const NavLinkMock = props => (_jsx("a", { href: props.to, target: props.target, onClick: e => {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
}, className: props.className, children: props.children }));
|
|
34
|
+
export const defaultNavigation = () => (_jsx(HeaderNavigationStacked, { left: _jsx(LogoCompanyTitle, { className: "m-l-1", fill: "#fff" }), leftClassName: "d-f align-items-center", items: [
|
|
35
|
+
items.dashboard,
|
|
36
|
+
items.calendar,
|
|
37
|
+
items.calls,
|
|
38
|
+
items.accounting,
|
|
39
|
+
items.dispatch,
|
|
40
|
+
items.fleet,
|
|
41
|
+
], navigationComponent: NavLinkMock }));
|
|
42
|
+
export const withLogoTextAndOverflow = () => (_jsx(HeaderNavigationStacked, { left: _jsxs(Stack, { alignItems: "center", children: [_jsx(LogoTitan, { mantleFill: "#2270EE", size: 44 }), _jsx(LogoTitanTitle, { className: "c-white m-l-1", children: "Commercial" })] }), items: [
|
|
43
|
+
items.dashboard,
|
|
44
|
+
items.calendar,
|
|
45
|
+
items.calls,
|
|
46
|
+
items.accounting,
|
|
47
|
+
items.dispatch,
|
|
48
|
+
items.purchasing,
|
|
49
|
+
items.fleet,
|
|
50
|
+
], itemsOverflow: [items.calls, items.accounting, items.purchasing, items.dispatch], navigationComponent: NavLinkMock }));
|
|
51
|
+
const TimeZoneOffset = () => (_jsx("div", { className: "fs-2 fw-bold p-x-1", children: _jsx("span", { children: "EST (-9 hrs)" }) }));
|
|
52
|
+
export const withAllMonolithData = () => (_jsx(HeaderNavigationStacked, { left: _jsx(LogoCompanyTitle, { className: "m-l-1", fill: "#fff" }), leftClassName: "d-f align-items-center", items: [
|
|
53
|
+
items.dashboard,
|
|
54
|
+
items.calendar,
|
|
55
|
+
items.calls,
|
|
56
|
+
items.accounting,
|
|
57
|
+
items.dispatch,
|
|
58
|
+
items.fleet,
|
|
59
|
+
items.followUps,
|
|
60
|
+
items.inventory,
|
|
61
|
+
items.marketing,
|
|
62
|
+
items.priceBook,
|
|
63
|
+
items.pointOfSale,
|
|
64
|
+
items.reports,
|
|
65
|
+
], navigationComponent: NavLinkMock, right: _jsxs(Fragment, { children: [_jsx(TimeZoneOffset, {}), _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", counter: 2 }), _jsx(HeaderNavigationLink, { id: "search", to: "https://google.com", target: "_blank", iconName: "search", hint: "Search: for all the questions" }), _jsx(HeaderNavigationTrigger, { id: "titanAdvisor", iconName: "rocket" }), _jsx(HeaderNavigationLink, { id: "settings", to: "https://google.com", target: "_blank", iconName: "settings", "aria-label": "search", hint: "Settings", isActive: true }), _jsxs(ProfileDropdown, { children: [_jsx(ProfileDropdown.Link, { id: "tasks", to: "https://googgle.com", counter: 10, children: "Task Management" }), _jsx(ProfileDropdown.Divider, {}), _jsxs(ProfileDropdown.Link, { id: "sign-out", to: "https://googgle.com", children: ["Sign Out", ' ', _jsx("span", { className: "c-neutral-100 m-l-half t-truncate", children: "James Bond" })] }), _jsx(ProfileDropdown.Section, { id: "userid", className: "c-neutral-100 fs-1", children: "User ID: 007" })] })] }), center: _jsx(Input, { placeholder: "Search smth", size: "xsmall", className: "w-100" }), centerClassName: "d-f align-items-center" }));
|
|
66
|
+
//# sourceMappingURL=header-navigation-stacked.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-navigation-stacked.stories.js","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation-stacked.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FC,
|
|
1
|
+
import { PopoverPropsStrict } from '@servicetitan/design-system';
|
|
2
|
+
import { FC, ReactElement, ReactNode } from 'react';
|
|
3
3
|
import { HeaderNavigationItemData, NavLinkComponentProps } from '../../utils/navigation';
|
|
4
|
-
import { CounterTagPropsType } from '../counter-tag';
|
|
5
|
-
interface HeaderNavigationItemContentPropsStrict {
|
|
6
|
-
title?: string;
|
|
7
|
-
counter?: CounterTagPropsType;
|
|
8
|
-
iconClassName?: string;
|
|
9
|
-
iconComponent?: FC;
|
|
10
|
-
iconName?: IconPropsStrict['name'];
|
|
11
|
-
}
|
|
12
|
-
export interface HeaderNavigationTriggerPropsStrict extends HeaderNavigationItemContentPropsStrict {
|
|
13
|
-
id: string;
|
|
14
|
-
hint?: string;
|
|
15
|
-
className?: string;
|
|
16
|
-
}
|
|
17
|
-
interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
|
|
18
|
-
[key: string]: any;
|
|
19
|
-
}
|
|
20
|
-
export interface HeaderNavigationLinkPropsStrict extends HeaderNavigationTriggerPropsStrict {
|
|
21
|
-
to: string;
|
|
22
|
-
isActive?: boolean | ((pathname: string) => boolean);
|
|
23
|
-
target?: HTMLAttributeAnchorTarget;
|
|
24
|
-
}
|
|
25
|
-
export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
|
|
26
|
-
[key: string]: any;
|
|
27
|
-
}
|
|
28
|
-
export declare const HeaderNavigationItemContent: FC<HeaderNavigationItemContentPropsStrict>;
|
|
29
|
-
export declare const HeaderNavigationLink: FC<HeaderNavigationLinkProps>;
|
|
30
|
-
export declare const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps>;
|
|
31
|
-
export declare const HeaderNavigationTriggerCustom: FC<Omit<HeaderNavigationTriggerProps, 'title'> & {
|
|
32
|
-
children: ReactNode;
|
|
33
|
-
}>;
|
|
34
4
|
export interface HeaderNavigationOverflowProps {
|
|
35
5
|
direction: PopoverPropsStrict['direction'];
|
|
36
6
|
width: PopoverPropsStrict['width'];
|
|
37
7
|
portal?: boolean;
|
|
38
8
|
}
|
|
39
9
|
export interface HeaderNavigationProps {
|
|
10
|
+
/** extra navigation */
|
|
40
11
|
children?: ReactNode;
|
|
12
|
+
/** container class name */
|
|
41
13
|
className?: string;
|
|
42
|
-
|
|
14
|
+
/** extra navigation container class name */
|
|
15
|
+
rightClassName?: string;
|
|
16
|
+
/** container id */
|
|
43
17
|
id?: string;
|
|
18
|
+
/** left content (usually used for logo) */
|
|
44
19
|
left?: ReactElement;
|
|
20
|
+
/** left container class name */
|
|
45
21
|
leftClassName?: string;
|
|
22
|
+
/** minimal width for navigation bar */
|
|
46
23
|
minWidth?: number;
|
|
24
|
+
/** main navigation items */
|
|
47
25
|
items?: HeaderNavigationItemData[];
|
|
26
|
+
/** main navigation overflow items */
|
|
48
27
|
itemsOverflow?: HeaderNavigationItemData[];
|
|
28
|
+
/** navigation component used for routing */
|
|
49
29
|
navigationComponent?: FC<NavLinkComponentProps>;
|
|
50
|
-
|
|
51
|
-
alignMinimized?: 'left' | 'right' | 'center';
|
|
30
|
+
/** props for main items overflow component */
|
|
52
31
|
overflow?: HeaderNavigationOverflowProps;
|
|
53
32
|
}
|
|
54
33
|
export declare const HeaderNavigation: FC<HeaderNavigationProps>;
|
|
55
|
-
export {
|
|
34
|
+
export interface HeaderNavigationStackedProps {
|
|
35
|
+
/** container class name */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** extra navigation */
|
|
38
|
+
right?: ReactNode;
|
|
39
|
+
/** extra navigation container class name */
|
|
40
|
+
rightClassName?: string;
|
|
41
|
+
/** container id */
|
|
42
|
+
id?: string;
|
|
43
|
+
/** left content (usually used for logo) */
|
|
44
|
+
left?: ReactElement;
|
|
45
|
+
/** left container class name */
|
|
46
|
+
leftClassName?: string;
|
|
47
|
+
/** center content */
|
|
48
|
+
center?: ReactElement;
|
|
49
|
+
/** center container class name */
|
|
50
|
+
centerClassName?: string;
|
|
51
|
+
/** minimal width for navigation bar */
|
|
52
|
+
minWidth?: number;
|
|
53
|
+
/** main navigation items */
|
|
54
|
+
items?: HeaderNavigationItemData[];
|
|
55
|
+
/** main navigation overflow items */
|
|
56
|
+
itemsOverflow?: HeaderNavigationItemData[];
|
|
57
|
+
/** navigation component used for routing */
|
|
58
|
+
navigationComponent?: FC<NavLinkComponentProps>;
|
|
59
|
+
/** props for main items overflow component */
|
|
60
|
+
overflow?: HeaderNavigationOverflowProps;
|
|
61
|
+
}
|
|
62
|
+
export declare const HeaderNavigationStacked: FC<HeaderNavigationStackedProps>;
|
|
56
63
|
//# sourceMappingURL=header-navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-navigation.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"header-navigation.d.ts","sourceRoot":"","sources":["../../../src/components/header-navigation/header-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAYzF,MAAM,WAAW,6BAA6B;IAC1C,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AA0CD,MAAM,WAAW,qBAAqB;IAClC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACnC,qCAAqC;IACrC,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAChD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAQD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkGtD,CAAC;AAEF,MAAM,WAAW,4BAA4B;IACzC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACnC,qCAAqC;IACrC,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAChD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CA+GpE,CAAC"}
|