@servicetitan/navigation 3.3.0 → 4.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.
Files changed (150) hide show
  1. package/dist/components/header-navigation/header-navigation-content.d.ts.map +1 -1
  2. package/dist/components/header-navigation/header-navigation-content.js +3 -3
  3. package/dist/components/header-navigation/header-navigation-content.js.map +1 -1
  4. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +3 -3
  5. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -1
  6. package/dist/components/header-navigation/header-navigation-extra.stories.js +8 -22
  7. package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -1
  8. package/dist/components/header-navigation/header-navigation-links.d.ts +3 -30
  9. package/dist/components/header-navigation/header-navigation-links.d.ts.map +1 -1
  10. package/dist/components/header-navigation/header-navigation-links.js +8 -5
  11. package/dist/components/header-navigation/header-navigation-links.js.map +1 -1
  12. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +1 -0
  13. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +1 -1
  14. package/dist/components/header-navigation/header-navigation-stacked.stories.js +8 -26
  15. package/dist/components/header-navigation/header-navigation-stacked.stories.js.map +1 -1
  16. package/dist/components/header-navigation/header-navigation.d.ts +1 -28
  17. package/dist/components/header-navigation/header-navigation.d.ts.map +1 -1
  18. package/dist/components/header-navigation/header-navigation.js +5 -8
  19. package/dist/components/header-navigation/header-navigation.js.map +1 -1
  20. package/dist/components/header-navigation/header-navigation.module.less +13 -70
  21. package/dist/components/header-navigation/header-navigation.stories.d.ts +1 -0
  22. package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -1
  23. package/dist/components/header-navigation/header-navigation.stories.js +9 -27
  24. package/dist/components/header-navigation/header-navigation.stories.js.map +1 -1
  25. package/dist/components/header-navigation/index.d.ts +0 -1
  26. package/dist/components/header-navigation/index.d.ts.map +1 -1
  27. package/dist/components/header-navigation/index.js +0 -1
  28. package/dist/components/header-navigation/index.js.map +1 -1
  29. package/dist/components/layout.stories.d.ts +1 -0
  30. package/dist/components/layout.stories.d.ts.map +1 -1
  31. package/dist/components/layout.stories.js +4 -2
  32. package/dist/components/layout.stories.js.map +1 -1
  33. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts +16 -0
  34. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts.map +1 -0
  35. package/dist/components/left-navigation/header-navigation-tiny-links.js +43 -0
  36. package/dist/components/left-navigation/header-navigation-tiny-links.js.map +1 -0
  37. package/dist/components/left-navigation/header-navigation-tiny.d.ts +23 -0
  38. package/dist/components/left-navigation/header-navigation-tiny.d.ts.map +1 -0
  39. package/dist/components/left-navigation/header-navigation-tiny.js +7 -0
  40. package/dist/components/left-navigation/header-navigation-tiny.js.map +1 -0
  41. package/dist/components/left-navigation/header-navigation-tiny.module.less +109 -0
  42. package/dist/components/{header-navigation → left-navigation}/header-navigation-tiny.stories.d.ts +2 -2
  43. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +1 -0
  44. package/dist/components/left-navigation/header-navigation-tiny.stories.js +30 -0
  45. package/dist/components/left-navigation/header-navigation-tiny.stories.js.map +1 -0
  46. package/dist/components/left-navigation/index.d.ts +3 -0
  47. package/dist/components/left-navigation/index.d.ts.map +1 -0
  48. package/dist/components/left-navigation/index.js +3 -0
  49. package/dist/components/left-navigation/index.js.map +1 -0
  50. package/dist/components/{side-navigation → left-navigation}/side-navigation.d.ts +1 -12
  51. package/dist/components/left-navigation/side-navigation.d.ts.map +1 -0
  52. package/dist/components/left-navigation/side-navigation.js +23 -0
  53. package/dist/components/left-navigation/side-navigation.js.map +1 -0
  54. package/dist/components/{side-navigation → left-navigation}/side-navigation.module.less +28 -22
  55. package/dist/components/left-navigation/side-navigation.stories.d.ts +10 -0
  56. package/dist/components/left-navigation/side-navigation.stories.d.ts.map +1 -0
  57. package/dist/components/left-navigation/side-navigation.stories.js +31 -0
  58. package/dist/components/left-navigation/side-navigation.stories.js.map +1 -0
  59. package/dist/components/links.d.ts +5 -0
  60. package/dist/components/links.d.ts.map +1 -0
  61. package/dist/components/links.js +14 -0
  62. package/dist/components/links.js.map +1 -0
  63. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +2 -8
  64. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -1
  65. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js +5 -43
  66. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js.map +1 -1
  67. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts +9 -0
  68. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts.map +1 -0
  69. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js +13 -0
  70. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js.map +1 -0
  71. package/dist/components/profile-dropdown/profile-dropdown.d.ts +2 -1
  72. package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -1
  73. package/dist/components/profile-dropdown/profile-dropdown.js +16 -7
  74. package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -1
  75. package/dist/components/profile-dropdown/profile-dropdown.module.less +7 -1
  76. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts +9 -8
  77. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts.map +1 -1
  78. package/dist/components/profile-dropdown/profile-dropdown.stories.js +39 -39
  79. package/dist/components/profile-dropdown/profile-dropdown.stories.js.map +1 -1
  80. package/dist/index.d.ts +2 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +2 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/test/data-stories.module.less +8 -0
  85. package/dist/test/data.stories.d.ts +26 -0
  86. package/dist/test/data.stories.d.ts.map +1 -0
  87. package/dist/test/data.stories.js +151 -0
  88. package/dist/test/data.stories.js.map +1 -0
  89. package/dist/utils/navigation-context.d.ts +2 -2
  90. package/dist/utils/navigation-context.d.ts.map +1 -1
  91. package/dist/utils/navigation-context.js +18 -5
  92. package/dist/utils/navigation-context.js.map +1 -1
  93. package/dist/utils/navigation.d.ts +47 -0
  94. package/dist/utils/navigation.d.ts.map +1 -1
  95. package/package.json +11 -11
  96. package/src/components/header-navigation/header-navigation-content.tsx +3 -3
  97. package/src/components/header-navigation/header-navigation-extra.stories.tsx +29 -38
  98. package/src/components/header-navigation/header-navigation-links.tsx +19 -41
  99. package/src/components/header-navigation/header-navigation-stacked.stories.tsx +18 -70
  100. package/src/components/header-navigation/header-navigation.module.less +13 -70
  101. package/src/components/header-navigation/header-navigation.module.less.d.ts +0 -1
  102. package/src/components/header-navigation/header-navigation.stories.tsx +20 -71
  103. package/src/components/header-navigation/header-navigation.tsx +6 -82
  104. package/src/components/header-navigation/index.ts +0 -1
  105. package/src/components/layout.stories.tsx +4 -2
  106. package/src/components/left-navigation/header-navigation-tiny-links.tsx +110 -0
  107. package/src/components/left-navigation/header-navigation-tiny.module.less +109 -0
  108. package/src/components/left-navigation/header-navigation-tiny.module.less.d.ts +14 -0
  109. package/src/components/{header-navigation → left-navigation}/header-navigation-tiny.stories.tsx +39 -46
  110. package/src/components/left-navigation/header-navigation-tiny.tsx +65 -0
  111. package/src/components/left-navigation/index.ts +2 -0
  112. package/src/components/{side-navigation → left-navigation}/side-navigation.module.less +28 -22
  113. package/src/components/{side-navigation → left-navigation}/side-navigation.module.less.d.ts +3 -3
  114. package/src/components/left-navigation/side-navigation.stories.tsx +46 -0
  115. package/src/components/left-navigation/side-navigation.tsx +171 -0
  116. package/src/components/links.tsx +31 -0
  117. package/src/components/profile-dropdown/profile-dropdown-stacked.stories.tsx +5 -170
  118. package/src/components/profile-dropdown/profile-dropdown-tiny.stories.tsx +15 -0
  119. package/src/components/profile-dropdown/profile-dropdown.module.less +7 -1
  120. package/src/components/profile-dropdown/profile-dropdown.module.less.d.ts +1 -0
  121. package/src/components/profile-dropdown/profile-dropdown.stories.tsx +106 -129
  122. package/src/components/profile-dropdown/profile-dropdown.tsx +35 -8
  123. package/src/index.ts +2 -1
  124. package/src/test/data-stories.module.less +8 -0
  125. package/src/test/data-stories.module.less.d.ts +3 -0
  126. package/src/test/data.stories.tsx +223 -0
  127. package/src/utils/navigation-context.tsx +10 -10
  128. package/src/utils/navigation.ts +54 -0
  129. package/dist/components/header-navigation/header-navigation-tiny.stories.d.ts.map +0 -1
  130. package/dist/components/header-navigation/header-navigation-tiny.stories.js +0 -25
  131. package/dist/components/header-navigation/header-navigation-tiny.stories.js.map +0 -1
  132. package/dist/components/side-navigation/icons.d.ts +0 -7
  133. package/dist/components/side-navigation/icons.d.ts.map +0 -1
  134. package/dist/components/side-navigation/icons.js +0 -5
  135. package/dist/components/side-navigation/icons.js.map +0 -1
  136. package/dist/components/side-navigation/index.d.ts +0 -2
  137. package/dist/components/side-navigation/index.d.ts.map +0 -1
  138. package/dist/components/side-navigation/index.js +0 -2
  139. package/dist/components/side-navigation/index.js.map +0 -1
  140. package/dist/components/side-navigation/side-navigation.d.ts.map +0 -1
  141. package/dist/components/side-navigation/side-navigation.js +0 -37
  142. package/dist/components/side-navigation/side-navigation.js.map +0 -1
  143. package/dist/components/side-navigation/side-navigation.stories.d.ts +0 -10
  144. package/dist/components/side-navigation/side-navigation.stories.d.ts.map +0 -1
  145. package/dist/components/side-navigation/side-navigation.stories.js +0 -52
  146. package/dist/components/side-navigation/side-navigation.stories.js.map +0 -1
  147. package/src/components/side-navigation/icons.tsx +0 -74
  148. package/src/components/side-navigation/index.ts +0 -1
  149. package/src/components/side-navigation/side-navigation.stories.tsx +0 -95
  150. package/src/components/side-navigation/side-navigation.tsx +0 -224
package/dist/index.d.ts CHANGED
@@ -4,7 +4,8 @@ export * from './components/logo/logo-company-title';
4
4
  export * from './components/logo/logo-titan';
5
5
  export * from './components/logo/logo-titan-text';
6
6
  export * from './components/counter-tag';
7
- export * from './components/side-navigation';
7
+ export * from './components/left-navigation';
8
+ export * from './components/links';
8
9
  export * from './utils/navigation';
9
10
  export * from './utils/with-tooltip';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,8 @@ export * from './components/logo/logo-company-title';
4
4
  export * from './components/logo/logo-titan';
5
5
  export * from './components/logo/logo-titan-text';
6
6
  export * from './components/counter-tag';
7
- export * from './components/side-navigation';
7
+ export * from './components/left-navigation';
8
+ export * from './components/links';
8
9
  export * from './utils/navigation';
9
10
  export * from './utils/with-tooltip';
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ // emulate temp anvil2 hotfix from monolith
2
+ .fix-icons {
3
+ [data-anv][data-anv] {
4
+ all: revert-layer;
5
+ line-height: revert-layer;
6
+ -webkit-font-smoothing: auto;
7
+ }
8
+ }
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import { HeaderNavigationItemData, NavLinkComponentProps } from '../utils/navigation';
3
+ export declare const NavLinkMock: import("react").ForwardRefExoticComponent<Omit<NavLinkComponentProps, "ref"> & import("react").RefAttributes<any>>;
4
+ export declare const withMemoryRouter: (Story: any) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const withAnvil: (Story: any) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const InventoryIcon: () => import("react/jsx-runtime").JSX.Element;
7
+ export declare const SearchIcon: () => import("react/jsx-runtime").JSX.Element;
8
+ export declare const items: {
9
+ calendar: HeaderNavigationItemData;
10
+ calls: HeaderNavigationItemData;
11
+ dashboard: HeaderNavigationItemData;
12
+ dispatch: HeaderNavigationItemData;
13
+ fleet: HeaderNavigationItemData;
14
+ followUps: HeaderNavigationItemData;
15
+ inventory: HeaderNavigationItemData;
16
+ purchasing: HeaderNavigationItemData;
17
+ accounting: HeaderNavigationItemData;
18
+ marketing: HeaderNavigationItemData;
19
+ priceBook: HeaderNavigationItemData;
20
+ pointOfSale: HeaderNavigationItemData;
21
+ projects: HeaderNavigationItemData;
22
+ reports: HeaderNavigationItemData;
23
+ tasks: HeaderNavigationItemData;
24
+ };
25
+ export declare const CallsNavigationTrigger: () => import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=data.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.stories.d.ts","sourceRoot":"","sources":["../../src/test/data.stories.tsx"],"names":[],"mappings":";AAwCA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAItF,eAAO,MAAM,WAAW,oHAwBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,GAAG,4CAM1C,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,GAAG,4CAInC,CAAC;AAEF,eAAO,MAAM,aAAa,+CAKzB,CAAC;AAEF,eAAO,MAAM,UAAU,+CAetB,CAAC;AAeF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;CA4EjB,CAAC;AAEF,eAAO,MAAM,sBAAsB,+CAuBlC,CAAC"}
@@ -0,0 +1,151 @@
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, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { AnvilProvider } from '@servicetitan/anvil2';
14
+ import SvgPhone from '@servicetitan/anvil2/assets/icons/material/round/phone_disabled.svg';
15
+ import SvgPhoneActive from '@servicetitan/anvil2/assets/icons/material/round/phone_enabled.svg';
16
+ import SvgAccountingActive from '@servicetitan/anvil2/assets/icons/st/gnav_accounting_active.svg';
17
+ import SvgAccounting from '@servicetitan/anvil2/assets/icons/st/gnav_accounting_inactive.svg';
18
+ import SvgCallsActive from '@servicetitan/anvil2/assets/icons/st/gnav_calls_active.svg';
19
+ import SvgCalls from '@servicetitan/anvil2/assets/icons/st/gnav_calls_inactive.svg';
20
+ import SvgDashboardActive from '@servicetitan/anvil2/assets/icons/st/gnav_dashboard_active.svg';
21
+ import SvgDashboard from '@servicetitan/anvil2/assets/icons/st/gnav_dashboard_inactive.svg';
22
+ import SvgDispatchActive from '@servicetitan/anvil2/assets/icons/st/gnav_dispatch_active.svg';
23
+ import SvgDispatch from '@servicetitan/anvil2/assets/icons/st/gnav_dispatch_inactive.svg';
24
+ import SvgFleetProActive from '@servicetitan/anvil2/assets/icons/st/gnav_fleet_pro_active.svg';
25
+ import SvgFleetPro from '@servicetitan/anvil2/assets/icons/st/gnav_fleet_pro_inactive.svg';
26
+ import SvgFollowUpActive from '@servicetitan/anvil2/assets/icons/st/gnav_follow_up_active.svg';
27
+ import SvgFollowUp from '@servicetitan/anvil2/assets/icons/st/gnav_follow_up_inactive.svg';
28
+ import SvgInventoryActive from '@servicetitan/anvil2/assets/icons/st/gnav_inventory_active.svg';
29
+ import SvgInventory from '@servicetitan/anvil2/assets/icons/st/gnav_inventory_inactive.svg';
30
+ import SvgMarketingActive from '@servicetitan/anvil2/assets/icons/st/gnav_marketing_active.svg';
31
+ import SvgMarketing from '@servicetitan/anvil2/assets/icons/st/gnav_marketing_inactive.svg';
32
+ import SvgPosActive from '@servicetitan/anvil2/assets/icons/st/gnav_pos_active.svg';
33
+ import SvgPos from '@servicetitan/anvil2/assets/icons/st/gnav_pos_inactive.svg';
34
+ import SvgPriceBookActive from '@servicetitan/anvil2/assets/icons/st/gnav_pricebook_active.svg';
35
+ import SvgPriceBook from '@servicetitan/anvil2/assets/icons/st/gnav_pricebook_inactive.svg';
36
+ import SvgProjectsActive from '@servicetitan/anvil2/assets/icons/st/gnav_projects_active.svg';
37
+ import SvgProjects from '@servicetitan/anvil2/assets/icons/st/gnav_projects_inactive.svg';
38
+ import SvgReportsActive from '@servicetitan/anvil2/assets/icons/st/gnav_reports_active.svg';
39
+ import SvgReports from '@servicetitan/anvil2/assets/icons/st/gnav_reports_inactive.svg';
40
+ import SvgScheduleActive from '@servicetitan/anvil2/assets/icons/st/gnav_schedule_active.svg';
41
+ import SvgSchedule from '@servicetitan/anvil2/assets/icons/st/gnav_schedule_inactive.svg';
42
+ import SvgTasksActive from '@servicetitan/anvil2/assets/icons/st/gnav_tasks_active.svg';
43
+ import SvgTasks from '@servicetitan/anvil2/assets/icons/st/gnav_tasks_inactive.svg';
44
+ import { Popover } from '@servicetitan/design-system';
45
+ import classNames from 'classnames';
46
+ import { forwardRef, useState } from 'react';
47
+ // needed only for storybook and added in root dependencies
48
+ // eslint-disable-next-line import/no-extraneous-dependencies
49
+ import { MemoryRouter, useHistory, useLocation } from 'react-router-dom';
50
+ import { HeaderNavigationTrigger } from '../components/links';
51
+ import { NavigationComponentContext } from '../utils/navigation-context';
52
+ import * as Styles from './data-stories.module.less';
53
+ export const NavLinkMock = forwardRef((_a, ref) => {
54
+ var { to, children, activeClassName, className, isActive } = _a, rest = __rest(_a, ["to", "children", "activeClassName", "className", "isActive"]);
55
+ const history = useHistory();
56
+ const location = useLocation();
57
+ const linkActive = location.pathname.replace('/', '') === to;
58
+ return (_jsx("a", Object.assign({}, rest, { className: classNames(className, linkActive ? activeClassName : ''), href: to, onClick: e => {
59
+ e.preventDefault();
60
+ if (!to.startsWith('http')) {
61
+ history.push(to);
62
+ }
63
+ }, ref: ref, children: children })));
64
+ });
65
+ export const withMemoryRouter = (Story) => (_jsx(MemoryRouter, { children: _jsx(NavigationComponentContext.Provider, { value: NavLinkMock, children: _jsx(Story, {}) }) }));
66
+ export const withAnvil = (Story) => (_jsx(AnvilProvider, { className: Styles.fixIcons, children: _jsx(Story, {}) }));
67
+ export 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" })] }));
68
+ export const SearchIcon = () => (_jsx("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("g", { transform: "translate(0,4)", children: _jsx("path", { d: "M0 15.7992V13.9992H12V15.7992H0ZM0 9.49922V7.69922H6V9.49922H0ZM0 3.19922V1.39922H6V3.19922H0ZM22.74 15.7992L17.94 10.9992C17.42 11.3992 16.86 11.6992 16.26 11.8992C15.66 12.0992 15.04 12.1992 14.4 12.1992C12.74 12.1992 11.325 11.6142 10.155 10.4442C8.985 9.27422 8.4 7.85922 8.4 6.19922C8.4 4.53922 8.985 3.12422 10.155 1.95422C11.325 0.784219 12.74 0.199219 14.4 0.199219C16.06 0.199219 17.475 0.784219 18.645 1.95422C19.815 3.12422 20.4 4.53922 20.4 6.19922C20.4 6.83922 20.3 7.45922 20.1 8.05922C19.9 8.65922 19.6 9.21922 19.2 9.73922L24 14.5392L22.74 15.7992ZM14.393 10.3992C15.5577 10.3992 16.55 9.99157 17.37 9.17627C18.19 8.36099 18.6 7.37099 18.6 6.20627C18.6 5.04157 18.1923 4.04922 17.377 3.22922C16.5618 2.40922 15.5718 1.99922 14.407 1.99922C13.2423 1.99922 12.25 2.40687 11.43 3.22217C10.61 4.03745 10.2 5.02745 10.2 6.19217C10.2 7.35687 10.6077 8.34922 11.423 9.16922C12.2382 9.98922 13.2282 10.3992 14.393 10.3992Z", fill: "white" }) }) }));
69
+ const getItem = (id, data) => (Object.assign({ id, to: id, title: id[0].toUpperCase() + id.substring(1), hint: id, icon: undefined, iconActive: undefined }, (data !== null && data !== void 0 ? data : {})));
70
+ export const items = {
71
+ calendar: getItem('calendar', {
72
+ iconName: 'event',
73
+ icon: SvgSchedule,
74
+ iconActive: SvgScheduleActive,
75
+ }),
76
+ calls: getItem('calls', {
77
+ iconName: 'local_phone',
78
+ icon: SvgCalls,
79
+ iconActive: SvgCallsActive,
80
+ counter: 12,
81
+ }),
82
+ dashboard: getItem('dashboard', {
83
+ iconName: 'odometer',
84
+ icon: SvgDashboard,
85
+ iconActive: SvgDashboardActive,
86
+ }),
87
+ dispatch: getItem('dispatch', {
88
+ iconName: 'location_disabled',
89
+ icon: SvgDispatch,
90
+ iconActive: SvgDispatchActive,
91
+ counter: 1,
92
+ }),
93
+ fleet: getItem('fleet', {
94
+ iconName: 'fleet-pro',
95
+ icon: SvgFleetPro,
96
+ iconActive: SvgFleetProActive,
97
+ title: 'Fleet Pro',
98
+ }),
99
+ followUps: getItem('followUps', {
100
+ iconName: 'flag',
101
+ icon: SvgFollowUp,
102
+ iconActive: SvgFollowUpActive,
103
+ title: 'Follow Ups',
104
+ }),
105
+ inventory: getItem('inventory', {
106
+ iconName: 'toys',
107
+ icon: SvgInventory,
108
+ iconActive: SvgInventoryActive,
109
+ }),
110
+ purchasing: getItem('purchasing', { iconComponent: InventoryIcon }),
111
+ accounting: getItem('accounting', {
112
+ iconName: 'assignment',
113
+ icon: SvgAccounting,
114
+ iconActive: SvgAccountingActive,
115
+ }),
116
+ marketing: getItem('marketing', {
117
+ iconName: 'bullhorn',
118
+ icon: SvgMarketing,
119
+ iconActive: SvgMarketingActive,
120
+ }),
121
+ priceBook: getItem('priceBook', {
122
+ iconName: 'book',
123
+ icon: SvgPriceBook,
124
+ iconActive: SvgPriceBookActive,
125
+ }),
126
+ pointOfSale: getItem('pointOfSale', {
127
+ iconName: 'cash-register',
128
+ icon: SvgPos,
129
+ iconActive: SvgPosActive,
130
+ }),
131
+ projects: getItem('projects', {
132
+ iconName: 'folder_special',
133
+ icon: SvgProjects,
134
+ iconActive: SvgProjectsActive,
135
+ }),
136
+ reports: getItem('reports', {
137
+ iconName: 'folder_special',
138
+ icon: SvgReports,
139
+ iconActive: SvgReportsActive,
140
+ }),
141
+ tasks: getItem('tasks', {
142
+ iconName: 'format_list_bulleted',
143
+ icon: SvgTasks,
144
+ iconActive: SvgTasksActive,
145
+ }),
146
+ };
147
+ export const CallsNavigationTrigger = () => {
148
+ const [open, setOpen] = useState(false);
149
+ return (_jsx(Popover, { open: open, onClickOutside: () => setOpen(false), direction: "bl", trigger: _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", counter: 2, icon: SvgPhone, iconActive: SvgPhoneActive, onClick: () => setOpen(!open), isActive: open }), children: "calls content" }));
150
+ };
151
+ //# sourceMappingURL=data.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.stories.js","sourceRoot":"","sources":["../../src/test/data.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { NavLinkComponentProps } from './navigation';
3
3
  export declare const DefaultNavLinkComponent: FC<NavLinkComponentProps>;
4
- export declare const NavLinkContext: import("react").Context<FC<NavLinkComponentProps>>;
5
- export declare const useNavLink: () => FC<NavLinkComponentProps>;
4
+ export declare const NavigationComponentContext: import("react").Context<FC<NavLinkComponentProps>>;
5
+ export declare const NavigationLegacyContext: import("react").Context<boolean>;
6
6
  //# sourceMappingURL=navigation-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-context.d.ts","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CAK7D,CAAC;AAEF,eAAO,MAAM,cAAc,oDAAyC,CAAC;AACrE,eAAO,MAAM,UAAU,iCAAmC,CAAC"}
1
+ {"version":3,"file":"navigation-context.d.ts","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAiB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CAK5B,CAAC;AAEnC,eAAO,MAAM,0BAA0B,oDAC8B,CAAC;AACtE,eAAO,MAAM,uBAAuB,kCAAuB,CAAC"}
@@ -1,7 +1,20 @@
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
+ };
1
12
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- import { NavLink } from 'react-router-dom';
4
- export const DefaultNavLinkComponent = props => (_jsx(NavLink, Object.assign({}, props, { isActive: props.isActive && ((_, { pathname }) => props.isActive(pathname)) })));
5
- export const NavLinkContext = createContext(DefaultNavLinkComponent);
6
- export const useNavLink = () => useContext(NavLinkContext);
13
+ import { createContext } from 'react';
14
+ export const DefaultNavLinkComponent = (_a) => {
15
+ var { children, activeClassName, isActive } = _a, props = __rest(_a, ["children", "activeClassName", "isActive"]);
16
+ return _jsx("a", Object.assign({}, props, { children: children }));
17
+ };
18
+ export const NavigationComponentContext = createContext(DefaultNavLinkComponent);
19
+ export const NavigationLegacyContext = createContext(false);
7
20
  //# sourceMappingURL=navigation-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-context.js","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,uBAAuB,GAA8B,KAAK,CAAC,EAAE,CAAC,CACvE,KAAC,OAAO,oBACA,KAAK,IACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,IAC9E,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"navigation-context.js","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAM,aAAa,EAAE,MAAM,OAAO,CAAC;AAG1C,MAAM,CAAC,MAAM,uBAAuB,GAA8B,CAAC,EAKlE,EAAE,EAAE;QAL8D,EAC/D,QAAQ,EACR,eAAe,EACf,QAAQ,OAEX,EADM,KAAK,cAJuD,2CAKlE,CADW;IACN,OAAA,4BAAO,KAAK,cAAG,QAAQ,IAAK,CAAA;CAAA,CAAC;AAEnC,MAAM,CAAC,MAAM,0BAA0B,GACnC,aAAa,CAA4B,uBAAuB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { IconProps } from '@servicetitan/anvil2';
1
2
  import { IconPropsStrict } from '@servicetitan/design-system';
2
3
  import { FC, HTMLAttributeAnchorTarget, ReactNode } from 'react';
3
4
  import { CounterTagPropsType } from '../components/counter-tag';
@@ -18,6 +19,10 @@ export interface HeaderNavigationItemData {
18
19
  iconClassName?: string;
19
20
  /** anvil's icon name of item */
20
21
  iconName?: IconPropsStrict['name'];
22
+ /** svg icon (anvil2) of inactive item */
23
+ icon: IconProps['svg'] | undefined;
24
+ /** svg icon (anvil2) of active item */
25
+ iconActive: IconProps['svg'] | undefined;
21
26
  /** icon component of item (<svg />) */
22
27
  iconComponent?: FC;
23
28
  /** item counter (optional). shown if it is set and greater than 0 */
@@ -37,4 +42,46 @@ export interface NavLinkComponentPropsStrict {
37
42
  export interface NavLinkComponentProps extends NavLinkComponentPropsStrict {
38
43
  [key: string]: any;
39
44
  }
45
+ export interface HeaderNavigationTriggerPropsStrict {
46
+ /** unique identifier */
47
+ id: string;
48
+ /** tooltip text */
49
+ tooltip?: string;
50
+ /** item description */
51
+ hint?: string;
52
+ /** container class name */
53
+ className?: string;
54
+ /** isActive */
55
+ isActive?: boolean;
56
+ /** counter shown for item */
57
+ counter?: CounterTagPropsType;
58
+ /** counter component class name */
59
+ counterClassName?: string;
60
+ /** icon component class name */
61
+ iconClassName?: string;
62
+ /** IconComponent custom icon component */
63
+ iconComponent?: FC;
64
+ /** iconName name of anvil icon */
65
+ iconName?: IconPropsStrict['name'];
66
+ /** svg icon (anvil2) of inactive item */
67
+ icon: IconProps['svg'] | undefined;
68
+ /** svg icon (anvil2) of active item */
69
+ iconActive: IconProps['svg'] | undefined;
70
+ }
71
+ export interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
72
+ /** unstrict props */
73
+ [key: string]: any;
74
+ }
75
+ export interface HeaderNavigationLinkPropsStrict extends Omit<HeaderNavigationTriggerPropsStrict, 'isActive'> {
76
+ /** link href */
77
+ to: string;
78
+ /** isActive */
79
+ isActive?: boolean | ((pathname: string) => boolean);
80
+ /** link html target */
81
+ target?: HTMLAttributeAnchorTarget;
82
+ }
83
+ export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
84
+ /** unstrict props */
85
+ [key: string]: any;
86
+ }
40
87
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/utils/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,wBAAwB;IACrC,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IAEX,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IAEX,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAErD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEnC,uCAAuC;IACvC,aAAa,CAAC,EAAE,EAAE,CAAC;IAEnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACtE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/utils/navigation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/navigation",
3
- "version": "3.3.0",
3
+ "version": "4.1.0",
4
4
  "description": "Navigation components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,24 +17,24 @@
17
17
  "classnames": "~2.3.1"
18
18
  },
19
19
  "peerDependencies": {
20
- "@servicetitan/design-system": ">=13.2.1",
20
+ "@servicetitan/anvil2": ">=1.16.3",
21
+ "@servicetitan/design-system": ">=13.0.0",
21
22
  "@servicetitan/react-ioc": ">=14.1.1",
22
- "@servicetitan/tokens": ">=12.2.1",
23
- "mobx": ">=6.3.2",
24
- "mobx-react": ">=7.5.1",
25
- "react": ">=17.0.2",
26
- "react-router-dom": "~5.3.0"
23
+ "@servicetitan/tokens": ">=12.0.0",
24
+ "mobx": ">=6.10.0",
25
+ "mobx-react": ">=9.0.0",
26
+ "react": ">=18.0.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@servicetitan/design-system": "~13.4.5",
29
+ "@servicetitan/anvil2": "~1.16.3",
30
+ "@servicetitan/design-system": "~14.4.3",
30
31
  "@servicetitan/react-ioc": "^24.0.3",
31
32
  "@servicetitan/tokens": ">=12.1.11",
32
33
  "@testing-library/react": "^14.0.0",
33
34
  "@types/react": "~18.2.55",
34
35
  "mobx": "~6.10.2",
35
36
  "mobx-react": "~9.0.2",
36
- "react": "~18.2.0",
37
- "react-router-dom": "~5.3.0"
37
+ "react": "~18.2.0"
38
38
  },
39
39
  "publishConfig": {
40
40
  "access": "public"
@@ -43,5 +43,5 @@
43
43
  "less": true,
44
44
  "webpack": false
45
45
  },
46
- "gitHead": "41795ef488172af6a1d3cf989a759d7e10af2f67"
46
+ "gitHead": "901f041843355800451ac2e52a830bfcece54acd"
47
47
  }
@@ -1,8 +1,8 @@
1
1
  import { Icon, IconPropsStrict } from '@servicetitan/design-system';
2
2
  import classNames from 'classnames';
3
- import { FC, Fragment } from 'react';
3
+ import { FC, Fragment, useContext } from 'react';
4
4
  import { HeaderNavigationItemData } from '../../utils/navigation';
5
- import { useNavLink } from '../../utils/navigation-context';
5
+ import { NavigationComponentContext } from '../../utils/navigation-context';
6
6
  import { withTooltip } from '../../utils/with-tooltip';
7
7
  import { CounterTag, CounterTagPropsType } from '../counter-tag';
8
8
  import * as Styles from './header-navigation.module.less';
@@ -84,7 +84,7 @@ export const HeaderNavigationItem: FC<HeaderNavigationItemPropsStrict> = ({
84
84
  main,
85
85
  minimized,
86
86
  }) => {
87
- const NavigationComponent = useNavLink();
87
+ const NavigationComponent = useContext(NavigationComponentContext);
88
88
 
89
89
  return withTooltip(
90
90
  <NavigationComponent
@@ -1,75 +1,66 @@
1
1
  import { Button, Popover } from '@servicetitan/design-system';
2
- import { FC, useState } from 'react';
3
- import { NavLinkComponentProps } from '../../utils/navigation';
4
- import {
5
- HeaderNavigation,
6
- HeaderNavigationLink,
7
- HeaderNavigationTrigger,
8
- HeaderNavigationTriggerCustom,
9
- } from './';
2
+ import { useState } from 'react';
3
+ import { withAnvil, withMemoryRouter } from '../../test/data.stories';
4
+ import { HeaderNavigationLink, HeaderNavigationTrigger } from './header-navigation-links';
5
+ import { HeaderNavigation } from './';
10
6
 
11
7
  export default {
12
8
  title: 'Navigation/HeaderNavigationExtra',
13
9
  component: HeaderNavigationLink,
10
+ decorators: [withMemoryRouter, withAnvil],
14
11
  parameters: {},
15
12
  };
16
13
 
17
- const NavLinkMock: FC<NavLinkComponentProps> = ({
18
- to,
19
- children,
20
- isActive,
21
- activeClassName,
22
- ...rest
23
- }) => (
24
- <a
25
- {...rest}
26
- href={to}
27
- onClick={e => {
28
- e.preventDefault();
29
- }}
30
- >
31
- {children}
32
- </a>
33
- );
14
+ const SvgIcon = undefined as any;
34
15
 
35
16
  export const extraLink = () => (
36
- <HeaderNavigation items={[]} navigationComponent={NavLinkMock} rightClassName="m-r-1">
17
+ <HeaderNavigation items={[]} rightClassName="m-r-1">
37
18
  <HeaderNavigationLink
38
19
  id="search"
39
20
  to="https://google.com"
40
21
  target="_blank"
41
22
  iconName="search"
23
+ icon={SvgIcon}
24
+ iconActive={SvgIcon}
42
25
  hint="Search: for all the questions"
43
26
  />
44
27
  </HeaderNavigation>
45
28
  );
46
29
 
47
30
  export const extraTrigger = () => (
48
- <HeaderNavigation items={[]} navigationComponent={NavLinkMock} rightClassName="m-r-1">
49
- <HeaderNavigationTrigger id="dialpad" iconName="phone" counter={2} tooltip="Phones pro" />
50
- </HeaderNavigation>
51
- );
52
-
53
- export const extraCustomTrigger = () => (
54
- <HeaderNavigation items={[]} navigationComponent={NavLinkMock}>
55
- <HeaderNavigationTriggerCustom id="help-center">
56
- <HelpCenterButton />
57
- </HeaderNavigationTriggerCustom>
31
+ <HeaderNavigation items={[]} rightClassName="m-r-1">
32
+ <HeaderNavigationTrigger
33
+ id="dialpad"
34
+ iconName="phone"
35
+ counter={2}
36
+ tooltip="Phones pro"
37
+ icon={SvgIcon}
38
+ iconActive={SvgIcon}
39
+ />
58
40
  </HeaderNavigation>
59
41
  );
60
42
 
61
43
  export const extraWithTooltip = () => (
62
- <HeaderNavigation items={[]} navigationComponent={NavLinkMock} rightClassName="m-r-1">
44
+ <HeaderNavigation items={[]} rightClassName="m-r-1">
63
45
  <HeaderNavigationLink
64
46
  id="search"
65
47
  to="https://google.com"
66
48
  target="_blank"
67
49
  iconName="search"
50
+ icon={SvgIcon}
51
+ iconActive={SvgIcon}
68
52
  tooltip="Search: for all the questions"
69
53
  hint="Google"
70
54
  />
71
55
 
72
- <HeaderNavigationTrigger id="dialpad" iconName="phone" title="Dialpad" counter={2} />
56
+ <HeaderNavigationTrigger
57
+ id="dialpad"
58
+ iconName="phone"
59
+ title="Dialpad"
60
+ counter={2}
61
+ icon={SvgIcon}
62
+ iconActive={SvgIcon}
63
+ />
73
64
 
74
65
  <HelpCenterButton />
75
66
  </HeaderNavigation>
@@ -1,44 +1,11 @@
1
1
  import classNames from 'classnames';
2
- import { FC, HTMLAttributeAnchorTarget, ReactNode } from 'react';
3
- import { useNavLink } from '../../utils/navigation-context';
2
+ import { FC, ReactNode, useContext } from 'react';
3
+ import { HeaderNavigationLinkProps, HeaderNavigationTriggerProps } from '../../utils/navigation';
4
+ import { NavigationComponentContext } from '../../utils/navigation-context';
4
5
  import { withTooltip } from '../../utils/with-tooltip';
5
- import {
6
- HeaderNavigationItemContent,
7
- HeaderNavigationItemContentPropsStrict,
8
- } from './header-navigation-content';
6
+ import { HeaderNavigationItemContent } from './header-navigation-content';
9
7
  import * as Styles from './header-navigation.module.less';
10
8
 
11
- export interface HeaderNavigationTriggerPropsStrict
12
- extends Omit<HeaderNavigationItemContentPropsStrict, 'title' | 'size'> {
13
- /** unique identifier */
14
- id: string;
15
- /** tooltip text */
16
- tooltip?: string;
17
- /** item description */
18
- hint?: string;
19
- /** container class name */
20
- className?: string;
21
- }
22
-
23
- interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
24
- /** unstrict props */
25
- [key: string]: any;
26
- }
27
-
28
- export interface HeaderNavigationLinkPropsStrict extends HeaderNavigationTriggerPropsStrict {
29
- /** link href */
30
- to: string;
31
- /** isActive */
32
- isActive?: boolean | ((pathname: string) => boolean);
33
- /** link html target */
34
- target?: HTMLAttributeAnchorTarget;
35
- }
36
-
37
- export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
38
- /** unstrict props */
39
- [key: string]: any;
40
- }
41
-
42
9
  /** Navigation extra item with link */
43
10
  export const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = ({
44
11
  id,
@@ -54,7 +21,7 @@ export const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = ({
54
21
  target,
55
22
  ...rest
56
23
  }) => {
57
- const NavigationComponent = useNavLink();
24
+ const NavigationComponent = useContext(NavigationComponentContext);
58
25
 
59
26
  return withTooltip(
60
27
  <NavigationComponent
@@ -90,11 +57,12 @@ export const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps> = ({
90
57
  iconClassName,
91
58
  iconComponent,
92
59
  iconName,
60
+ isActive,
93
61
  hint,
94
62
  tooltip,
95
63
  ...rest
96
- }) =>
97
- withTooltip(
64
+ }) => {
65
+ return withTooltip(
98
66
  <div
99
67
  data-cy={`navigation-trigger-${id}`}
100
68
  data-pendo={`navigation-trigger-${id}`}
@@ -103,6 +71,9 @@ export const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps> = ({
103
71
  className={classNames(
104
72
  Styles.navigationItem,
105
73
  Styles.navigationLink,
74
+ {
75
+ [Styles.navigationItemActive]: isActive === true,
76
+ },
106
77
  'cursor-pointer',
107
78
  className
108
79
  )}
@@ -116,12 +87,19 @@ export const HeaderNavigationTrigger: FC<HeaderNavigationTriggerProps> = ({
116
87
  </div>,
117
88
  tooltip
118
89
  );
90
+ };
119
91
 
120
92
  /** Navigation extra item with custom content */
121
93
  export const HeaderNavigationTriggerCustom: FC<
122
94
  Omit<
123
95
  HeaderNavigationTriggerProps,
124
- 'counter' | 'iconSize' | 'iconName' | 'iconComponent' | 'iconClassName'
96
+ | 'counter'
97
+ | 'iconSize'
98
+ | 'iconName'
99
+ | 'iconComponent'
100
+ | 'iconClassName'
101
+ | 'icon'
102
+ | 'iconActive'
125
103
  > & { children: ReactNode }
126
104
  > = ({ children, id, className, tooltip, title, ...rest }) =>
127
105
  withTooltip(