@servicetitan/navigation 12.0.3 → 13.0.0-canary.256.44cf055.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/counter-tag.d.ts +1 -1
- package/dist/components/counter-tag.d.ts.map +1 -1
- package/dist/components/counter-tag.js.map +1 -1
- package/dist/components/profile-dropdown/interface.d.ts +55 -0
- package/dist/components/profile-dropdown/interface.d.ts.map +1 -0
- package/dist/components/profile-dropdown/interface.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-legacy.stories.d.ts +13 -0
- package/dist/components/profile-dropdown/profile-dropdown-legacy.stories.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +5 -1
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.d.ts +9 -79
- package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.js +22 -22
- package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -1
- package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts +5 -1
- package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts.map +1 -1
- package/dist/components/titan-layout/interface-internal.d.ts +12 -0
- package/dist/components/titan-layout/interface-internal.d.ts.map +1 -1
- package/dist/components/titan-layout/interface-internal.js.map +1 -1
- package/dist/components/titan-layout/interface.d.ts +67 -14
- package/dist/components/titan-layout/interface.d.ts.map +1 -1
- package/dist/components/titan-layout/interface.js.map +1 -1
- package/dist/components/titan-layout/layout-header-dark.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-header-dark.js +24 -12
- package/dist/components/titan-layout/layout-header-dark.js.map +1 -1
- package/dist/components/titan-layout/layout-header-links-internal.d.ts +22 -3
- package/dist/components/titan-layout/layout-header-links-internal.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-header-links-internal.js +15 -18
- package/dist/components/titan-layout/layout-header-links-internal.js.map +1 -1
- package/dist/components/titan-layout/layout-header-links.d.ts +3 -4
- package/dist/components/titan-layout/layout-header-links.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-header-links.js +25 -5
- package/dist/components/titan-layout/layout-header-links.js.map +1 -1
- package/dist/components/titan-layout/layout-header.d.ts +4 -2
- package/dist/components/titan-layout/layout-header.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-header.js +25 -16
- package/dist/components/titan-layout/layout-header.js.map +1 -1
- package/dist/components/titan-layout/layout-header.module.less +37 -1
- package/dist/components/titan-layout/layout-header.module.less.d.ts +3 -0
- package/dist/components/titan-layout/layout-profile.d.ts +8 -5
- package/dist/components/titan-layout/layout-profile.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-profile.js +30 -28
- package/dist/components/titan-layout/layout-profile.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts +48 -31
- package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links-internal.js +87 -83
- package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links.d.ts +3 -3
- package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links.js +32 -19
- package/dist/components/titan-layout/layout-sidebar-links.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar.d.ts +1 -1
- package/dist/components/titan-layout/layout-sidebar.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-sidebar.js +81 -102
- package/dist/components/titan-layout/layout-sidebar.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar.module.less +74 -22
- package/dist/components/titan-layout/titan-layout-default.stories.d.ts +16 -0
- package/dist/components/titan-layout/titan-layout-default.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout-legacy.stories.d.ts +10 -0
- package/dist/components/titan-layout/titan-layout-legacy.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout-links.d.ts +5 -0
- package/dist/components/titan-layout/titan-layout-links.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout-links.js +34 -0
- package/dist/components/titan-layout/titan-layout-links.js.map +1 -0
- package/dist/components/titan-layout/titan-layout-stacked.stories.d.ts +10 -0
- package/dist/components/titan-layout/titan-layout-stacked.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout.d.ts +5 -4
- package/dist/components/titan-layout/titan-layout.d.ts.map +1 -1
- package/dist/components/titan-layout/titan-layout.js +33 -14
- package/dist/components/titan-layout/titan-layout.js.map +1 -1
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/test/data.d.ts +26 -23
- package/dist/test/data.d.ts.map +1 -1
- package/dist/test/data.js +26 -69
- package/dist/test/data.js.map +1 -1
- package/dist/test/titan-layout.d.ts +16 -0
- package/dist/test/titan-layout.d.ts.map +1 -0
- package/dist/test/titan-layout.js +21 -0
- package/dist/test/titan-layout.js.map +1 -0
- package/dist/utils/navigation-context.d.ts +3 -22
- package/dist/utils/navigation-context.d.ts.map +1 -1
- package/dist/utils/navigation-context.js +2 -10
- package/dist/utils/navigation-context.js.map +1 -1
- package/dist/utils/navigation.d.ts +2 -7
- package/dist/utils/navigation.d.ts.map +1 -1
- package/dist/utils/navigation.js.map +1 -1
- package/package.json +4 -4
- package/src/components/counter-tag.tsx +1 -1
- package/src/components/profile-dropdown/interface.ts +47 -0
- package/src/components/profile-dropdown/profile-dropdown-legacy.stories.tsx +25 -0
- package/src/components/profile-dropdown/profile-dropdown-stacked.stories.tsx +15 -7
- package/src/components/profile-dropdown/profile-dropdown.stories.tsx +50 -43
- package/src/components/profile-dropdown/profile-dropdown.tsx +39 -115
- package/src/components/titan-layout/interface-internal.ts +13 -0
- package/src/components/titan-layout/interface.ts +73 -17
- package/src/components/titan-layout/layout-header-dark.tsx +21 -5
- package/src/components/titan-layout/layout-header-links-internal.tsx +41 -54
- package/src/components/titan-layout/layout-header-links.tsx +65 -12
- package/src/components/titan-layout/layout-header.module.less +37 -1
- package/src/components/titan-layout/layout-header.module.less.d.ts +3 -0
- package/src/components/titan-layout/layout-header.tsx +28 -15
- package/src/components/titan-layout/layout-profile.tsx +53 -34
- package/src/components/titan-layout/layout-sidebar-links-internal.tsx +188 -147
- package/src/components/titan-layout/layout-sidebar-links.tsx +73 -26
- package/src/components/titan-layout/layout-sidebar.module.less +74 -22
- package/src/components/titan-layout/layout-sidebar.tsx +55 -80
- package/src/components/titan-layout/{titan-layout.stories.tsx → titan-layout-default.stories.tsx} +131 -114
- package/src/components/titan-layout/titan-layout-legacy.stories.tsx +24 -0
- package/src/components/titan-layout/titan-layout-links.tsx +34 -0
- package/src/components/titan-layout/titan-layout-stacked.stories.tsx +30 -0
- package/src/components/titan-layout/titan-layout.tsx +39 -15
- package/src/index.ts +1 -12
- package/src/test/data.tsx +31 -83
- package/src/test/titan-layout.tsx +34 -0
- package/src/utils/navigation-context.tsx +9 -35
- package/src/utils/navigation.ts +3 -10
- package/dist/components/header-navigation/header-navigation-content.d.ts +0 -30
- package/dist/components/header-navigation/header-navigation-content.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation-content.js +0 -58
- package/dist/components/header-navigation/header-navigation-content.js.map +0 -1
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts +0 -9
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +0 -12
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation-links.d.ts +0 -11
- package/dist/components/header-navigation/header-navigation-links.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation-links.js +0 -62
- package/dist/components/header-navigation/header-navigation-links.js.map +0 -1
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +0 -12
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation-stories.module.less +0 -6
- package/dist/components/header-navigation/header-navigation-stories.module.less.d.ts +0 -3
- package/dist/components/header-navigation/header-navigation.d.ts +0 -59
- package/dist/components/header-navigation/header-navigation.d.ts.map +0 -1
- package/dist/components/header-navigation/header-navigation.js +0 -228
- package/dist/components/header-navigation/header-navigation.js.map +0 -1
- package/dist/components/header-navigation/header-navigation.module.less +0 -260
- package/dist/components/header-navigation/header-navigation.module.less.d.ts +0 -22
- package/dist/components/header-navigation/header-navigation.stories.d.ts +0 -12
- package/dist/components/header-navigation/header-navigation.stories.d.ts.map +0 -1
- package/dist/components/header-navigation/index.d.ts +0 -2
- package/dist/components/header-navigation/index.d.ts.map +0 -1
- package/dist/components/header-navigation/index.js +0 -3
- package/dist/components/header-navigation/index.js.map +0 -1
- package/dist/components/header-navigation/with-tooltip.d.ts +0 -4
- package/dist/components/header-navigation/with-tooltip.d.ts.map +0 -1
- package/dist/components/header-navigation/with-tooltip.js +0 -10
- package/dist/components/header-navigation/with-tooltip.js.map +0 -1
- package/dist/components/layout.stories.d.ts +0 -13
- package/dist/components/layout.stories.d.ts.map +0 -1
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts +0 -9
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts.map +0 -1
- package/dist/components/left-navigation/header-navigation-tiny-links.d.ts +0 -18
- package/dist/components/left-navigation/header-navigation-tiny-links.d.ts.map +0 -1
- package/dist/components/left-navigation/header-navigation-tiny-links.js +0 -79
- package/dist/components/left-navigation/header-navigation-tiny-links.js.map +0 -1
- package/dist/components/left-navigation/header-navigation-tiny.d.ts +0 -23
- package/dist/components/left-navigation/header-navigation-tiny.d.ts.map +0 -1
- package/dist/components/left-navigation/header-navigation-tiny.js +0 -32
- package/dist/components/left-navigation/header-navigation-tiny.js.map +0 -1
- package/dist/components/left-navigation/header-navigation-tiny.module.less +0 -117
- package/dist/components/left-navigation/header-navigation-tiny.module.less.d.ts +0 -15
- package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts +0 -12
- package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +0 -1
- package/dist/components/left-navigation/index.d.ts +0 -5
- package/dist/components/left-navigation/index.d.ts.map +0 -1
- package/dist/components/left-navigation/index.js +0 -5
- package/dist/components/left-navigation/index.js.map +0 -1
- package/dist/components/left-navigation/interface-internal.d.ts +0 -10
- package/dist/components/left-navigation/interface-internal.d.ts.map +0 -1
- package/dist/components/left-navigation/interface-internal.js +0 -3
- package/dist/components/left-navigation/interface-internal.js.map +0 -1
- package/dist/components/left-navigation/interface.d.ts +0 -20
- package/dist/components/left-navigation/interface.d.ts.map +0 -1
- package/dist/components/left-navigation/interface.js.map +0 -1
- package/dist/components/left-navigation/side-navigation-context.d.ts +0 -8
- package/dist/components/left-navigation/side-navigation-context.d.ts.map +0 -1
- package/dist/components/left-navigation/side-navigation-context.js +0 -8
- package/dist/components/left-navigation/side-navigation-context.js.map +0 -1
- package/dist/components/left-navigation/side-navigation-links-internal.d.ts +0 -28
- package/dist/components/left-navigation/side-navigation-links-internal.d.ts.map +0 -1
- package/dist/components/left-navigation/side-navigation-links-internal.js +0 -89
- package/dist/components/left-navigation/side-navigation-links-internal.js.map +0 -1
- package/dist/components/left-navigation/side-navigation-links.d.ts +0 -6
- package/dist/components/left-navigation/side-navigation-links.d.ts.map +0 -1
- package/dist/components/left-navigation/side-navigation-links.js +0 -48
- package/dist/components/left-navigation/side-navigation-links.js.map +0 -1
- package/dist/components/left-navigation/side-navigation.d.ts +0 -29
- package/dist/components/left-navigation/side-navigation.d.ts.map +0 -1
- package/dist/components/left-navigation/side-navigation.js +0 -411
- package/dist/components/left-navigation/side-navigation.js.map +0 -1
- package/dist/components/left-navigation/side-navigation.module.less +0 -530
- package/dist/components/left-navigation/side-navigation.module.less.d.ts +0 -48
- package/dist/components/left-navigation/side-navigation.stories.d.ts +0 -17
- package/dist/components/left-navigation/side-navigation.stories.d.ts.map +0 -1
- package/dist/components/left-navigation/with-tooltip.d.ts +0 -4
- package/dist/components/left-navigation/with-tooltip.d.ts.map +0 -1
- package/dist/components/left-navigation/with-tooltip.js +0 -15
- package/dist/components/left-navigation/with-tooltip.js.map +0 -1
- package/dist/components/links.d.ts +0 -5
- package/dist/components/links.d.ts.map +0 -1
- package/dist/components/links.js +0 -35
- package/dist/components/links.js.map +0 -1
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts +0 -9
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts.map +0 -1
- package/dist/components/titan-layout/layout-profile.stories.d.ts +0 -13
- package/dist/components/titan-layout/layout-profile.stories.d.ts.map +0 -1
- package/dist/components/titan-layout/titan-layout.stories.d.ts +0 -29
- package/dist/components/titan-layout/titan-layout.stories.d.ts.map +0 -1
- package/dist/utils/navigation-legacy.d.ts +0 -88
- package/dist/utils/navigation-legacy.d.ts.map +0 -1
- package/dist/utils/navigation-legacy.js +0 -3
- package/dist/utils/navigation-legacy.js.map +0 -1
- package/src/components/header-navigation/header-navigation-content.tsx +0 -120
- package/src/components/header-navigation/header-navigation-extra-stacked.stories.tsx +0 -19
- package/src/components/header-navigation/header-navigation-extra.stories.tsx +0 -142
- package/src/components/header-navigation/header-navigation-links.tsx +0 -141
- package/src/components/header-navigation/header-navigation-stacked.stories.tsx +0 -146
- package/src/components/header-navigation/header-navigation-stories.module.less +0 -6
- package/src/components/header-navigation/header-navigation-stories.module.less.d.ts +0 -3
- package/src/components/header-navigation/header-navigation.module.less +0 -260
- package/src/components/header-navigation/header-navigation.module.less.d.ts +0 -22
- package/src/components/header-navigation/header-navigation.stories.tsx +0 -165
- package/src/components/header-navigation/header-navigation.tsx +0 -327
- package/src/components/header-navigation/index.ts +0 -1
- package/src/components/header-navigation/with-tooltip.tsx +0 -15
- package/src/components/layout.stories.tsx +0 -103
- package/src/components/left-navigation/header-navigation-extra-tiny.stories.tsx +0 -21
- package/src/components/left-navigation/header-navigation-tiny-links.tsx +0 -145
- package/src/components/left-navigation/header-navigation-tiny.module.less +0 -117
- package/src/components/left-navigation/header-navigation-tiny.module.less.d.ts +0 -15
- package/src/components/left-navigation/header-navigation-tiny.stories.tsx +0 -178
- package/src/components/left-navigation/header-navigation-tiny.tsx +0 -65
- package/src/components/left-navigation/index.ts +0 -4
- package/src/components/left-navigation/interface-internal.ts +0 -11
- package/src/components/left-navigation/interface.ts +0 -26
- package/src/components/left-navigation/side-navigation-context.tsx +0 -13
- package/src/components/left-navigation/side-navigation-links-internal.tsx +0 -151
- package/src/components/left-navigation/side-navigation-links.tsx +0 -57
- package/src/components/left-navigation/side-navigation.module.less +0 -530
- package/src/components/left-navigation/side-navigation.module.less.d.ts +0 -48
- package/src/components/left-navigation/side-navigation.stories.tsx +0 -226
- package/src/components/left-navigation/side-navigation.tsx +0 -543
- package/src/components/left-navigation/with-tooltip.tsx +0 -16
- package/src/components/links.tsx +0 -54
- package/src/components/profile-dropdown/profile-dropdown-tiny.stories.tsx +0 -25
- package/src/components/titan-layout/layout-profile.stories.tsx +0 -46
- package/src/utils/navigation-legacy.ts +0 -106
- /package/dist/components/{left-navigation → profile-dropdown}/interface.js +0 -0
package/src/components/titan-layout/{titan-layout.stories.tsx → titan-layout-default.stories.tsx}
RENAMED
|
@@ -6,68 +6,63 @@ import SvgSettings from '@servicetitan/anvil2/assets/icons/st/gnav_settings_inac
|
|
|
6
6
|
import SvgRocketActive from '@servicetitan/anvil2/assets/icons/st/gnav_titan_advisor_active.svg';
|
|
7
7
|
import SvgRocket from '@servicetitan/anvil2/assets/icons/st/gnav_titan_advisor_inactive.svg';
|
|
8
8
|
import { Page as Anvil1Page } from '@servicetitan/design-system';
|
|
9
|
-
import {
|
|
9
|
+
import { Fragment, useEffect, useState } from 'react';
|
|
10
10
|
import {
|
|
11
11
|
CallsNavigationTrigger,
|
|
12
12
|
LocationInfo,
|
|
13
13
|
NavLinkMock,
|
|
14
|
-
|
|
14
|
+
navItems,
|
|
15
15
|
withAnvil,
|
|
16
16
|
withDefaultRedirects,
|
|
17
17
|
withMemoryRouter,
|
|
18
18
|
} from '../../test/data';
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
19
|
+
import {
|
|
20
|
+
LayoutContentArgs,
|
|
21
|
+
getDefaultArgs,
|
|
22
|
+
useDefaultLayoutProps,
|
|
23
|
+
withDefaultLayoutProps,
|
|
24
|
+
} from '../../test/titan-layout';
|
|
25
|
+
import {
|
|
26
|
+
ProfileDropdown,
|
|
27
|
+
TitanLayout,
|
|
28
|
+
TitanLayoutLinkWrapper,
|
|
29
|
+
TitanLayoutProps,
|
|
30
|
+
TitanLayoutState,
|
|
31
|
+
} from './';
|
|
33
32
|
|
|
34
33
|
export default {
|
|
35
|
-
title: 'Navigation/TitanLayout',
|
|
36
|
-
decorators: [
|
|
34
|
+
title: 'Navigation/TitanLayout/Default',
|
|
35
|
+
decorators: [
|
|
36
|
+
withDefaultLayoutProps({ navVariant: 'left' }),
|
|
37
|
+
withDefaultRedirects,
|
|
38
|
+
withMemoryRouter,
|
|
39
|
+
withAnvil,
|
|
40
|
+
],
|
|
37
41
|
parameters: {},
|
|
38
42
|
argTypes: {},
|
|
39
|
-
args:
|
|
40
|
-
header: true,
|
|
41
|
-
sideTop: true,
|
|
42
|
-
extraText: true,
|
|
43
|
-
search: true,
|
|
44
|
-
longContent: true,
|
|
45
|
-
wideContent: false,
|
|
46
|
-
minWidth: false,
|
|
47
|
-
emptyNav: false,
|
|
48
|
-
} as LayoutContentArgs,
|
|
43
|
+
args: getDefaultArgs(),
|
|
49
44
|
};
|
|
50
45
|
|
|
51
46
|
const mainNavItems = [
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
navItems.dashboard,
|
|
48
|
+
navItems.calendar,
|
|
49
|
+
navItems.calls,
|
|
50
|
+
navItems.accountingWithSubmenu,
|
|
51
|
+
navItems.dispatch,
|
|
52
|
+
|
|
53
|
+
navItems.fleet,
|
|
54
|
+
navItems.followUpsWithSubmenu,
|
|
55
|
+
navItems.purchasingWithSubmenu,
|
|
56
|
+
|
|
57
|
+
navItems.marketing,
|
|
58
|
+
navItems.priceBook,
|
|
59
|
+
navItems.pointOfSale,
|
|
60
|
+
navItems.reports,
|
|
66
61
|
];
|
|
67
62
|
|
|
68
63
|
const overflowNavItems = [
|
|
69
|
-
{ ...
|
|
70
|
-
{ ...
|
|
64
|
+
{ ...navItems.accounting, id: 'accounting-overflow', title: 'Other Accounting' },
|
|
65
|
+
{ ...navItems.reports, id: 'reports-overflow', title: 'Other Reports' },
|
|
71
66
|
];
|
|
72
67
|
|
|
73
68
|
const profile = (
|
|
@@ -101,14 +96,22 @@ const profile = (
|
|
|
101
96
|
</ProfileDropdown>
|
|
102
97
|
);
|
|
103
98
|
|
|
99
|
+
const profileEmpty = (
|
|
100
|
+
<ProfileDropdown>
|
|
101
|
+
<ProfileDropdown.Link id="sign-out" to="/sign-out">
|
|
102
|
+
sign out
|
|
103
|
+
</ProfileDropdown.Link>
|
|
104
|
+
<ProfileDropdown.Divider />
|
|
105
|
+
</ProfileDropdown>
|
|
106
|
+
);
|
|
107
|
+
|
|
104
108
|
const extraLinks = (
|
|
105
109
|
<Fragment>
|
|
106
|
-
<
|
|
110
|
+
<TitanLayout.Link
|
|
107
111
|
id="search"
|
|
108
112
|
to="https://google.com"
|
|
109
113
|
target="_blank"
|
|
110
114
|
title="Search"
|
|
111
|
-
hint="Search: for all the questions"
|
|
112
115
|
tooltip="Search"
|
|
113
116
|
icon={SvgSearch}
|
|
114
117
|
iconActive={SvgSearch}
|
|
@@ -116,7 +119,7 @@ const extraLinks = (
|
|
|
116
119
|
|
|
117
120
|
<CallsNavigationTrigger />
|
|
118
121
|
|
|
119
|
-
<
|
|
122
|
+
<TitanLayout.Link
|
|
120
123
|
id="titanAdvisor"
|
|
121
124
|
to="/titanAdvisor"
|
|
122
125
|
title="Titan Advisor"
|
|
@@ -124,13 +127,12 @@ const extraLinks = (
|
|
|
124
127
|
iconActive={SvgRocketActive}
|
|
125
128
|
/>
|
|
126
129
|
|
|
127
|
-
<
|
|
130
|
+
<TitanLayout.Link
|
|
128
131
|
id="settings"
|
|
129
132
|
to="/settings"
|
|
130
133
|
title="Settings"
|
|
131
134
|
target="_blank"
|
|
132
|
-
aria-label="
|
|
133
|
-
hint="Settings"
|
|
135
|
+
aria-label="settings"
|
|
134
136
|
icon={SvgSettings}
|
|
135
137
|
iconActive={SvgSettingsActive}
|
|
136
138
|
/>
|
|
@@ -138,7 +140,7 @@ const extraLinks = (
|
|
|
138
140
|
);
|
|
139
141
|
|
|
140
142
|
const extraLinksTop = (
|
|
141
|
-
<
|
|
143
|
+
<TitanLayout.Trigger
|
|
142
144
|
id="atlas"
|
|
143
145
|
title="Atlas"
|
|
144
146
|
icon={SvgAtlas}
|
|
@@ -149,7 +151,7 @@ const extraLinksTop = (
|
|
|
149
151
|
/>
|
|
150
152
|
);
|
|
151
153
|
|
|
152
|
-
const SideLinkPopoverWrapper:
|
|
154
|
+
const SideLinkPopoverWrapper: TitanLayoutLinkWrapper = ({ children, context }) => {
|
|
153
155
|
return (
|
|
154
156
|
<Popover placement="right" openOnHover>
|
|
155
157
|
<Popover.Trigger>{(props: any) => <div {...props}>{children}</div>}</Popover.Trigger>
|
|
@@ -159,14 +161,13 @@ const SideLinkPopoverWrapper: FC<SideNavigationLinkWrapperProps> = ({ children,
|
|
|
159
161
|
};
|
|
160
162
|
|
|
161
163
|
const sidebarTop = () => [
|
|
162
|
-
<TitanLayout.Link key="tasks" {...
|
|
163
|
-
<TitanLayout.Link key="calls" {...
|
|
164
|
+
<TitanLayout.Link key="tasks" {...navItems.tasks} />,
|
|
165
|
+
<TitanLayout.Link key="calls" {...navItems.calls} />,
|
|
164
166
|
<TitanLayout.Trigger
|
|
165
167
|
key="marketing"
|
|
166
|
-
{...
|
|
168
|
+
{...navItems.marketing}
|
|
167
169
|
isActive={false}
|
|
168
170
|
wrapper={SideLinkPopoverWrapper}
|
|
169
|
-
onMobileClick={() => alert('clicked')}
|
|
170
171
|
counter={50}
|
|
171
172
|
/>,
|
|
172
173
|
];
|
|
@@ -204,7 +205,7 @@ const useLayoutProps = (args: LayoutContentArgs): TitanLayoutProps => {
|
|
|
204
205
|
|
|
205
206
|
navigationComponent: NavLinkMock,
|
|
206
207
|
navigationMainItems: args.emptyNav ? [] : mainNavItems,
|
|
207
|
-
navigationOverflowItems: args.emptyNav ? [] : overflowNavItems,
|
|
208
|
+
navigationOverflowItems: args.emptyNav || !args.overflowItems ? [] : overflowNavItems,
|
|
208
209
|
|
|
209
210
|
profile,
|
|
210
211
|
top: args.search ? <SearchBar /> : undefined,
|
|
@@ -223,10 +224,15 @@ const useLayoutProps = (args: LayoutContentArgs): TitanLayoutProps => {
|
|
|
223
224
|
};
|
|
224
225
|
|
|
225
226
|
const Content = (args: LayoutContentArgs) => {
|
|
227
|
+
const [info, setInfo] = useState('');
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
setInfo(new Date().toLocaleTimeString());
|
|
230
|
+
}, []);
|
|
226
231
|
return (
|
|
227
232
|
<Fragment>
|
|
228
233
|
<LocationInfo className="m-b-3" />
|
|
229
|
-
<div className="m-b-3">rendered - {
|
|
234
|
+
<div className="m-b-3">component rendered - {info}</div>
|
|
235
|
+
<div className="m-b-3">rerendered - {new Date().toLocaleTimeString()}</div>
|
|
230
236
|
{args.wideContent && (
|
|
231
237
|
<div style={{ width: '1200px' }}>
|
|
232
238
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
|
|
@@ -315,30 +321,8 @@ const Content = (args: LayoutContentArgs) => {
|
|
|
315
321
|
);
|
|
316
322
|
};
|
|
317
323
|
|
|
318
|
-
export const
|
|
319
|
-
<TitanLayout {...useLayoutProps(args)} appearance="legacy">
|
|
320
|
-
<div
|
|
321
|
-
className="p-3"
|
|
322
|
-
style={{ position: 'absolute', width: 'calc(100% - var(--nav-offset-left))' }}
|
|
323
|
-
>
|
|
324
|
-
<Content {...args} />
|
|
325
|
-
</div>
|
|
326
|
-
</TitanLayout>
|
|
327
|
-
);
|
|
328
|
-
|
|
329
|
-
export const TitanLayoutLegacyTopNav = (args: LayoutContentArgs) => (
|
|
330
|
-
<TitanLayout {...useLayoutProps(args)} appearance="legacy" navVariant="top">
|
|
331
|
-
<div
|
|
332
|
-
className="p-3"
|
|
333
|
-
style={{ position: 'absolute', width: 'calc(100% - var(--nav-offset-left))' }}
|
|
334
|
-
>
|
|
335
|
-
<Content {...args} />
|
|
336
|
-
</div>
|
|
337
|
-
</TitanLayout>
|
|
338
|
-
);
|
|
339
|
-
|
|
340
|
-
export const TitanLayoutLegacyTop = (args: LayoutContentArgs) => (
|
|
341
|
-
<TitanLayout {...useLayoutProps(args)} appearance="legacy" navVariant="top" top={undefined}>
|
|
324
|
+
export const ContentLegacy = (args: LayoutContentArgs) => (
|
|
325
|
+
<TitanLayout {...useLayoutProps(args)} appearance="legacy" {...useDefaultLayoutProps()}>
|
|
342
326
|
<div
|
|
343
327
|
className="p-3"
|
|
344
328
|
style={{ position: 'absolute', width: 'calc(100% - var(--nav-offset-left))' }}
|
|
@@ -348,46 +332,43 @@ export const TitanLayoutLegacyTop = (args: LayoutContentArgs) => (
|
|
|
348
332
|
</TitanLayout>
|
|
349
333
|
);
|
|
350
334
|
|
|
351
|
-
export const
|
|
352
|
-
<TitanLayout {...useLayoutProps(args)} appearance="anvil1">
|
|
335
|
+
export const ContentAnvil1 = (args: LayoutContentArgs) => (
|
|
336
|
+
<TitanLayout {...useLayoutProps(args)} appearance="anvil1" {...useDefaultLayoutProps()}>
|
|
353
337
|
<Anvil1Page>
|
|
354
338
|
<Content {...args} />
|
|
355
339
|
</Anvil1Page>
|
|
356
340
|
</TitanLayout>
|
|
357
341
|
);
|
|
358
342
|
|
|
359
|
-
export const
|
|
360
|
-
<TitanLayout {...useLayoutProps(args)} appearance="
|
|
361
|
-
<
|
|
362
|
-
<Content
|
|
363
|
-
|
|
343
|
+
export const ContentAnvil2 = (args: LayoutContentArgs) => (
|
|
344
|
+
<TitanLayout {...useLayoutProps(args)} appearance="anvil2" {...useDefaultLayoutProps()}>
|
|
345
|
+
<Anvil2Page>
|
|
346
|
+
<Anvil2Page.Content>
|
|
347
|
+
<Content {...args} />
|
|
348
|
+
</Anvil2Page.Content>
|
|
349
|
+
</Anvil2Page>
|
|
364
350
|
</TitanLayout>
|
|
365
351
|
);
|
|
366
352
|
|
|
367
|
-
export const
|
|
353
|
+
export const ExtraWithTitle = (args: LayoutContentArgs) => (
|
|
368
354
|
<TitanLayout
|
|
369
355
|
{...useLayoutProps(args)}
|
|
370
|
-
appearance="
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
356
|
+
appearance="anvil2"
|
|
357
|
+
profile={profileEmpty}
|
|
358
|
+
sideTop={undefined}
|
|
359
|
+
navigationMainItems={[navItems.projects]}
|
|
360
|
+
extraLinks={
|
|
361
|
+
<TitanLayout.Link
|
|
362
|
+
id="search"
|
|
363
|
+
to="/search"
|
|
364
|
+
title="Search"
|
|
365
|
+
icon={SvgSearch}
|
|
366
|
+
iconActive={SvgSearch}
|
|
367
|
+
extra={{ showTitle: true }}
|
|
368
|
+
/>
|
|
369
|
+
}
|
|
370
|
+
{...useDefaultLayoutProps()}
|
|
374
371
|
>
|
|
375
|
-
<Anvil1Page>
|
|
376
|
-
<Content {...args} />
|
|
377
|
-
</Anvil1Page>
|
|
378
|
-
</TitanLayout>
|
|
379
|
-
);
|
|
380
|
-
|
|
381
|
-
export const TitanLayoutAnvil1TopOverflow = (args: LayoutContentArgs) => (
|
|
382
|
-
<TitanLayout {...useLayoutProps(args)} appearance="anvil1" navVariant="top" top={undefined}>
|
|
383
|
-
<Anvil1Page>
|
|
384
|
-
<Content {...args} />
|
|
385
|
-
</Anvil1Page>
|
|
386
|
-
</TitanLayout>
|
|
387
|
-
);
|
|
388
|
-
|
|
389
|
-
export const TitanLayoutAnvil2 = (args: LayoutContentArgs) => (
|
|
390
|
-
<TitanLayout {...useLayoutProps(args)} appearance="anvil2">
|
|
391
372
|
<Anvil2Page>
|
|
392
373
|
<Anvil2Page.Content>
|
|
393
374
|
<Content {...args} />
|
|
@@ -396,8 +377,26 @@ export const TitanLayoutAnvil2 = (args: LayoutContentArgs) => (
|
|
|
396
377
|
</TitanLayout>
|
|
397
378
|
);
|
|
398
379
|
|
|
399
|
-
export const
|
|
400
|
-
<TitanLayout
|
|
380
|
+
export const ExtraWithFlashing = (args: LayoutContentArgs) => (
|
|
381
|
+
<TitanLayout
|
|
382
|
+
{...useLayoutProps(args)}
|
|
383
|
+
appearance="anvil2"
|
|
384
|
+
profile={profileEmpty}
|
|
385
|
+
sideTop={undefined}
|
|
386
|
+
navigationMainItems={[navItems.projects]}
|
|
387
|
+
extraLinks={
|
|
388
|
+
<TitanLayout.Link
|
|
389
|
+
id="search"
|
|
390
|
+
to="/search"
|
|
391
|
+
title="Search"
|
|
392
|
+
icon={SvgSearch}
|
|
393
|
+
iconActive={SvgSearch}
|
|
394
|
+
extra={{ flashing: true }}
|
|
395
|
+
side={{ counter: true }}
|
|
396
|
+
/>
|
|
397
|
+
}
|
|
398
|
+
{...useDefaultLayoutProps()}
|
|
399
|
+
>
|
|
401
400
|
<Anvil2Page>
|
|
402
401
|
<Anvil2Page.Content>
|
|
403
402
|
<Content {...args} />
|
|
@@ -406,8 +405,26 @@ export const TitanLayoutAnvil2TopNav = (args: LayoutContentArgs) => (
|
|
|
406
405
|
</TitanLayout>
|
|
407
406
|
);
|
|
408
407
|
|
|
409
|
-
export const
|
|
410
|
-
<TitanLayout
|
|
408
|
+
export const ExtraWithTitleFlashing = (args: LayoutContentArgs) => (
|
|
409
|
+
<TitanLayout
|
|
410
|
+
{...useLayoutProps(args)}
|
|
411
|
+
appearance="anvil2"
|
|
412
|
+
profile={profileEmpty}
|
|
413
|
+
sideTop={undefined}
|
|
414
|
+
navigationMainItems={[navItems.projects]}
|
|
415
|
+
extraLinks={
|
|
416
|
+
<TitanLayout.Link
|
|
417
|
+
id="search"
|
|
418
|
+
to="/search"
|
|
419
|
+
title="Search"
|
|
420
|
+
icon={SvgSearch}
|
|
421
|
+
iconActive={SvgSearch}
|
|
422
|
+
extra={{ showTitle: true, flashing: true }}
|
|
423
|
+
side={{ counter: true }}
|
|
424
|
+
/>
|
|
425
|
+
}
|
|
426
|
+
{...useDefaultLayoutProps()}
|
|
427
|
+
>
|
|
411
428
|
<Anvil2Page>
|
|
412
429
|
<Anvil2Page.Content>
|
|
413
430
|
<Content {...args} />
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { withAnvil, withDefaultRedirects, withMemoryRouter } from '../../test/data';
|
|
2
|
+
import { getDefaultArgs, withDefaultLayoutProps } from '../../test/titan-layout';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Navigation/TitanLayout/Legacy',
|
|
6
|
+
decorators: [
|
|
7
|
+
withDefaultLayoutProps({ navVariant: 'top', top: undefined }),
|
|
8
|
+
withDefaultRedirects,
|
|
9
|
+
withMemoryRouter,
|
|
10
|
+
withAnvil,
|
|
11
|
+
],
|
|
12
|
+
parameters: {},
|
|
13
|
+
argTypes: {},
|
|
14
|
+
args: getDefaultArgs(),
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
ContentLegacy,
|
|
19
|
+
ContentAnvil1,
|
|
20
|
+
ContentAnvil2,
|
|
21
|
+
ExtraWithTitle,
|
|
22
|
+
ExtraWithFlashing,
|
|
23
|
+
ExtraWithTitleFlashing,
|
|
24
|
+
} from './titan-layout-default.stories';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
|
|
3
|
+
import { TitanLayoutLinkProps, TitanLayoutTriggerProps } from './interface';
|
|
4
|
+
import { useTitanLayoutPlacementContext } from './layout-context';
|
|
5
|
+
import { LayoutHeaderNavigationLink, LayoutHeaderNavigationTrigger } from './layout-header-links';
|
|
6
|
+
import { LayoutSidebarLink, LayoutSidebarTrigger } from './layout-sidebar-links';
|
|
7
|
+
|
|
8
|
+
export const TitanLayoutLink: FC<TitanLayoutLinkProps> = props => {
|
|
9
|
+
const placement = useTitanLayoutPlacementContext();
|
|
10
|
+
|
|
11
|
+
if (placement === 'top') {
|
|
12
|
+
return <LayoutHeaderNavigationLink {...props} />;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (placement === 'side') {
|
|
16
|
+
return <LayoutSidebarLink {...props} />;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return null;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const TitanLayoutTrigger: FC<TitanLayoutTriggerProps> = props => {
|
|
23
|
+
const placement = useTitanLayoutPlacementContext();
|
|
24
|
+
|
|
25
|
+
if (placement === 'top') {
|
|
26
|
+
return <LayoutHeaderNavigationTrigger {...props} />;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (placement === 'side') {
|
|
30
|
+
return <LayoutSidebarTrigger {...props} />;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TextField } from '@servicetitan/anvil2';
|
|
2
|
+
|
|
3
|
+
import { withAnvil, withDefaultRedirects, withMemoryRouter } from '../../test/data';
|
|
4
|
+
import { getDefaultArgs, withDefaultLayoutProps } from '../../test/titan-layout';
|
|
5
|
+
|
|
6
|
+
const SearchBar = () => (
|
|
7
|
+
<TextField size="small" placeholder="Search" className="w-100-i m-x-half-i" />
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Navigation/TitanLayout/Stacked',
|
|
12
|
+
decorators: [
|
|
13
|
+
withDefaultLayoutProps({ navVariant: 'top', top: <SearchBar /> }),
|
|
14
|
+
withDefaultRedirects,
|
|
15
|
+
withMemoryRouter,
|
|
16
|
+
withAnvil,
|
|
17
|
+
],
|
|
18
|
+
parameters: {},
|
|
19
|
+
argTypes: {},
|
|
20
|
+
args: getDefaultArgs(),
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
ContentLegacy,
|
|
25
|
+
ContentAnvil1,
|
|
26
|
+
ContentAnvil2,
|
|
27
|
+
ExtraWithTitle,
|
|
28
|
+
ExtraWithFlashing,
|
|
29
|
+
ExtraWithTitleFlashing,
|
|
30
|
+
} from './titan-layout-default.stories';
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
ComponentPropsWithoutRef,
|
|
5
5
|
FC,
|
|
6
6
|
Fragment,
|
|
7
|
+
MouseEvent,
|
|
7
8
|
ReactElement,
|
|
8
9
|
ReactNode,
|
|
9
10
|
useCallback,
|
|
@@ -26,9 +27,9 @@ import { LayoutHeader } from './layout-header';
|
|
|
26
27
|
import { LayoutHeaderDark } from './layout-header-dark';
|
|
27
28
|
import { TitanLayoutLogoProps } from './layout-logo';
|
|
28
29
|
import { LayoutSidebar } from './layout-sidebar';
|
|
29
|
-
import { TitanLayoutSidebarLink, TitanLayoutSidebarTrigger } from './layout-sidebar-links';
|
|
30
30
|
import { InternalSideNavigationTrigger } from './layout-sidebar-links-internal';
|
|
31
31
|
import { useNotificationsState } from './notifications-context';
|
|
32
|
+
import { TitanLayoutLink, TitanLayoutTrigger } from './titan-layout-links';
|
|
32
33
|
import * as Styles from './titan-layout.module.less';
|
|
33
34
|
|
|
34
35
|
export type TitanLayoutProps = Omit<ComponentPropsWithoutRef<'div'>, 'children' | 'style'> & {
|
|
@@ -92,7 +93,7 @@ const useAppearance = (appearance: TitanLayoutProps['appearance']) =>
|
|
|
92
93
|
};
|
|
93
94
|
}, [appearance]);
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
function TitanLayoutComponent({
|
|
96
97
|
appearance = 'anvil2',
|
|
97
98
|
navVariant = 'left',
|
|
98
99
|
id,
|
|
@@ -112,7 +113,7 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
112
113
|
extraText,
|
|
113
114
|
minContentWidth,
|
|
114
115
|
sideTop,
|
|
115
|
-
})
|
|
116
|
+
}: TitanLayoutProps) {
|
|
116
117
|
const breakpoint = useTitanBreakpoint();
|
|
117
118
|
const context: TitanLayoutContextType = useMemo(
|
|
118
119
|
() => ({
|
|
@@ -148,10 +149,18 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
148
149
|
}
|
|
149
150
|
}, [view.isAnvil1]);
|
|
150
151
|
|
|
151
|
-
const onBurgerClick = useCallback(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
const onBurgerClick = useCallback(
|
|
153
|
+
(e: MouseEvent<never>) => {
|
|
154
|
+
if (isMobile) {
|
|
155
|
+
setMobileDrawerOpened(true);
|
|
156
|
+
} else {
|
|
157
|
+
onStateChange?.({ navCollapsed: !state?.navCollapsed });
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
e.stopPropagation();
|
|
161
|
+
},
|
|
162
|
+
[isMobile, state?.navCollapsed, onStateChange]
|
|
163
|
+
);
|
|
155
164
|
|
|
156
165
|
const onBarExpandChange = useCallback(
|
|
157
166
|
(expanded: boolean) => {
|
|
@@ -167,7 +176,10 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
167
176
|
(id: string, expanded: boolean) => {
|
|
168
177
|
onStateChange?.({
|
|
169
178
|
navCollapsed: state?.navCollapsed ?? false,
|
|
170
|
-
|
|
179
|
+
submenusExpanded: [
|
|
180
|
+
...(state?.submenusExpanded ?? []).filter(i => i !== id),
|
|
181
|
+
...(expanded ? [id] : []),
|
|
182
|
+
],
|
|
171
183
|
});
|
|
172
184
|
},
|
|
173
185
|
[state, onStateChange]
|
|
@@ -271,7 +283,17 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
271
283
|
</Fragment>
|
|
272
284
|
}
|
|
273
285
|
isMobile={isMobile}
|
|
274
|
-
hasNotifications={
|
|
286
|
+
hasNotifications={
|
|
287
|
+
isMobile && (hasNotifications || hasMenuNotifications)
|
|
288
|
+
}
|
|
289
|
+
hasBurger={hasSideBar}
|
|
290
|
+
burgerTooltip={
|
|
291
|
+
isMobile
|
|
292
|
+
? undefined
|
|
293
|
+
: state?.navCollapsed
|
|
294
|
+
? 'Expand'
|
|
295
|
+
: 'Collapse'
|
|
296
|
+
}
|
|
275
297
|
onBurgerClick={onBurgerClick}
|
|
276
298
|
/>
|
|
277
299
|
) : (
|
|
@@ -290,6 +312,7 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
290
312
|
isMobile={isMobile}
|
|
291
313
|
hasNotifications={hasNotifications || hasMenuNotifications}
|
|
292
314
|
onBurgerClick={onBurgerClick}
|
|
315
|
+
hasBurger={isMobile}
|
|
293
316
|
navigationMainItems={navigationMainItems}
|
|
294
317
|
navigationOverflowItems={navigationOverflowItems}
|
|
295
318
|
/>
|
|
@@ -302,7 +325,7 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
302
325
|
mobile={breakpoint.isMobile}
|
|
303
326
|
barExpanded={!state?.navCollapsed}
|
|
304
327
|
onBarExpandChange={onBarExpandChange}
|
|
305
|
-
|
|
328
|
+
submenusExpanded={state?.submenusExpanded}
|
|
306
329
|
onSubmenuExpandChange={onSubmenuExpandChange}
|
|
307
330
|
drawerOpened={mobileDrawerOpened}
|
|
308
331
|
onDrawerOpenChange={setMobileDrawerOpened}
|
|
@@ -318,10 +341,11 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
318
341
|
<InternalSideNavigationTrigger
|
|
319
342
|
id="--extra-text"
|
|
320
343
|
title={extraText}
|
|
321
|
-
|
|
322
|
-
tag={undefined}
|
|
344
|
+
isActive={undefined}
|
|
323
345
|
icon={undefined}
|
|
324
346
|
iconActive={undefined}
|
|
347
|
+
tag={undefined}
|
|
348
|
+
className={undefined}
|
|
325
349
|
/>
|
|
326
350
|
)}
|
|
327
351
|
</Fragment>
|
|
@@ -351,7 +375,7 @@ const TitanLayoutComponent: FC<TitanLayoutProps> = ({
|
|
|
351
375
|
</LayoutPlacementContext.Provider>
|
|
352
376
|
</LayoutContext.Provider>
|
|
353
377
|
);
|
|
354
|
-
}
|
|
378
|
+
}
|
|
355
379
|
|
|
356
380
|
const TitanLayoutHeaderObserved: FC<{
|
|
357
381
|
children: ReactNode;
|
|
@@ -445,6 +469,6 @@ const LayoutContentLegacy: FC<{
|
|
|
445
469
|
};
|
|
446
470
|
|
|
447
471
|
export const TitanLayout = Object.assign(TitanLayoutComponent, {
|
|
448
|
-
Link:
|
|
449
|
-
Trigger:
|
|
472
|
+
Link: TitanLayoutLink,
|
|
473
|
+
Trigger: TitanLayoutTrigger,
|
|
450
474
|
});
|
package/src/index.ts
CHANGED
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
export * from './components/header-navigation';
|
|
2
1
|
export * from './components/logo/logo-company-title';
|
|
3
2
|
export * from './components/logo/logo-titan';
|
|
4
3
|
export * from './components/logo/logo-titan-text';
|
|
5
4
|
export * from './components/counter-tag';
|
|
6
|
-
export * from './components/left-navigation';
|
|
7
5
|
export * from './components/titan-layout';
|
|
8
|
-
export * from './components/links';
|
|
9
6
|
export type * from './utils/navigation';
|
|
10
|
-
export type {
|
|
11
|
-
NavLinkComponentPropsStrict,
|
|
12
|
-
NavLinkComponentProps,
|
|
13
|
-
NavigationLocationContextType,
|
|
14
|
-
NavigationLocationInfo,
|
|
15
|
-
NavigationActiveLinkMatcher,
|
|
16
|
-
} from './utils/navigation-context';
|
|
17
|
-
export { NavigationComponentContext, NavigationLocationContext } from './utils/navigation-context';
|
|
18
|
-
export type * from './utils/navigation-legacy';
|
|
7
|
+
export type { NavLinkComponentProps } from './utils/navigation-context';
|
|
19
8
|
export * from './utils/use-breakpoint';
|