@servicetitan/navigation 13.0.0-canary.256.5761ed1.0 → 13.0.0-canary.256.6f02f8b.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/titan-layout/interface.d.ts +1 -1
- 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-sidebar-links-internal.d.ts +4 -10
- package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links-internal.js +50 -53
- package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -1
- package/dist/components/titan-layout/layout-sidebar-links.js +2 -4
- 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 +2 -4
- package/dist/components/titan-layout/layout-sidebar.js.map +1 -1
- package/dist/components/titan-layout/layout-sidebar.module.less +66 -22
- package/dist/components/titan-layout/titan-layout-default.stories.d.ts.map +1 -1
- package/dist/components/titan-layout/titan-layout.d.ts.map +1 -1
- package/dist/components/titan-layout/titan-layout.js +9 -5
- package/dist/components/titan-layout/titan-layout.js.map +1 -1
- package/package.json +2 -2
- package/src/components/titan-layout/interface.ts +1 -1
- package/src/components/titan-layout/layout-sidebar-links-internal.tsx +37 -54
- package/src/components/titan-layout/layout-sidebar-links.tsx +0 -2
- package/src/components/titan-layout/layout-sidebar.module.less +66 -22
- package/src/components/titan-layout/layout-sidebar.tsx +5 -5
- package/src/components/titan-layout/titan-layout-default.stories.tsx +9 -4
- package/src/components/titan-layout/titan-layout.tsx +5 -3
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
// mobile version
|
|
19
19
|
.nav-drawer {
|
|
20
|
-
// display: none;
|
|
21
20
|
position: fixed;
|
|
22
21
|
max-width: 400px;
|
|
23
22
|
width: 0;
|
|
@@ -184,19 +183,38 @@
|
|
|
184
183
|
}
|
|
185
184
|
|
|
186
185
|
.nav-top .divider {
|
|
187
|
-
margin-top: @spacing-
|
|
186
|
+
margin-top: @spacing-half;
|
|
188
187
|
margin-bottom: @spacing-1;
|
|
189
188
|
}
|
|
190
189
|
|
|
191
190
|
.nav-main {
|
|
192
191
|
padding-top: @spacing-1;
|
|
193
192
|
}
|
|
193
|
+
|
|
194
|
+
.nav-group-item {
|
|
195
|
+
.nav-item {
|
|
196
|
+
margin-right: 44px;
|
|
197
|
+
|
|
198
|
+
&.nav-item-active {
|
|
199
|
+
margin-right: @spacing-1;
|
|
200
|
+
|
|
201
|
+
.nav-item-icon-wrapper {
|
|
202
|
+
padding-right: 40px;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.nav-item-group-toggle-wrapper {
|
|
208
|
+
right: @spacing-1;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
194
211
|
}
|
|
195
212
|
|
|
196
213
|
.nav-drawer,
|
|
197
214
|
.nav-wide {
|
|
198
215
|
.nav-item {
|
|
199
216
|
flex-direction: row;
|
|
217
|
+
margin-bottom: @spacing-half;
|
|
200
218
|
|
|
201
219
|
.nav-item-icon-wrapper {
|
|
202
220
|
flex: 1;
|
|
@@ -355,26 +373,6 @@
|
|
|
355
373
|
min-height: 12px !important;
|
|
356
374
|
}
|
|
357
375
|
|
|
358
|
-
.nav-item-group-toggle-wrapper {
|
|
359
|
-
position: relative;
|
|
360
|
-
display: flex;
|
|
361
|
-
justify-content: center;
|
|
362
|
-
align-items: center;
|
|
363
|
-
|
|
364
|
-
.nav-item-group-toggle[data-anv][data-anv] {
|
|
365
|
-
color: inherit;
|
|
366
|
-
font-weight: @font-weight-semibold;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
.nav-item-group-toggle-click {
|
|
370
|
-
position: absolute;
|
|
371
|
-
left: -@spacing-2;
|
|
372
|
-
right: -@spacing-half;
|
|
373
|
-
top: -@spacing-1;
|
|
374
|
-
bottom: -@spacing-1;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
|
|
378
376
|
.nav-icon[data-anv][data-anv] {
|
|
379
377
|
height: 24px;
|
|
380
378
|
width: 24px;
|
|
@@ -397,6 +395,52 @@
|
|
|
397
395
|
.nav-group-wrapper {
|
|
398
396
|
.nav-group-item {
|
|
399
397
|
position: relative;
|
|
398
|
+
|
|
399
|
+
.nav-item {
|
|
400
|
+
margin-right: 36px;
|
|
401
|
+
|
|
402
|
+
&.nav-item-active {
|
|
403
|
+
margin-right: @spacing-0;
|
|
404
|
+
|
|
405
|
+
.nav-item-icon-wrapper {
|
|
406
|
+
padding-right: 40px;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.nav-item-counter[data-anv][data-anv] {
|
|
411
|
+
margin-right: @spacing-0;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
&:has(.nav-item-active) {
|
|
416
|
+
.nav-item-group-toggle-wrapper {
|
|
417
|
+
color: @text-color-active;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.nav-item-group-toggle-wrapper {
|
|
423
|
+
position: absolute;
|
|
424
|
+
top: 0;
|
|
425
|
+
bottom: 0;
|
|
426
|
+
right: @spacing-0;
|
|
427
|
+
color: @text-color;
|
|
428
|
+
display: flex;
|
|
429
|
+
justify-content: center;
|
|
430
|
+
align-items: center;
|
|
431
|
+
|
|
432
|
+
.nav-item-group-toggle[data-anv][data-anv] {
|
|
433
|
+
color: inherit;
|
|
434
|
+
font-weight: @font-weight-semibold;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.nav-item-group-toggle-click {
|
|
438
|
+
position: absolute;
|
|
439
|
+
left: -@spacing-2;
|
|
440
|
+
right: -@spacing-half;
|
|
441
|
+
top: -@spacing-1;
|
|
442
|
+
bottom: -@spacing-1;
|
|
443
|
+
}
|
|
400
444
|
}
|
|
401
445
|
|
|
402
446
|
.submenu-wrapper:not(.submenu-wrapper-collapsed) {
|
|
@@ -32,7 +32,7 @@ export interface LayoutSidebarProps {
|
|
|
32
32
|
bottom?: ReactElement;
|
|
33
33
|
mainItems?: NavigationItemData[];
|
|
34
34
|
barExpanded: boolean;
|
|
35
|
-
|
|
35
|
+
submenusExpanded: string[] | undefined;
|
|
36
36
|
drawerOpened: boolean;
|
|
37
37
|
mobile: boolean;
|
|
38
38
|
navigationComponent: FC<NavLinkComponentProps>;
|
|
@@ -45,7 +45,7 @@ export const LayoutSidebar: FC<LayoutSidebarProps> = ({
|
|
|
45
45
|
className,
|
|
46
46
|
mobile,
|
|
47
47
|
barExpanded,
|
|
48
|
-
|
|
48
|
+
submenusExpanded,
|
|
49
49
|
drawerOpened,
|
|
50
50
|
onBarExpandChange,
|
|
51
51
|
onSubmenuExpandChange,
|
|
@@ -97,7 +97,9 @@ export const LayoutSidebar: FC<LayoutSidebarProps> = ({
|
|
|
97
97
|
key={item.id}
|
|
98
98
|
item={item}
|
|
99
99
|
barExpanded={mobile ? drawerOpened : barExpanded}
|
|
100
|
-
submenuExpanded={
|
|
100
|
+
submenuExpanded={
|
|
101
|
+
!!item.id && !!submenusExpanded?.includes(item.id)
|
|
102
|
+
}
|
|
101
103
|
onSubmenuExpand={onSubmenuExpandChange}
|
|
102
104
|
navigationComponent={navigationComponent}
|
|
103
105
|
/>
|
|
@@ -115,7 +117,6 @@ export const LayoutSidebar: FC<LayoutSidebarProps> = ({
|
|
|
115
117
|
item.submenu,
|
|
116
118
|
getCounterTag(item.counter, item.tag)
|
|
117
119
|
)}
|
|
118
|
-
submenuExpanded={undefined}
|
|
119
120
|
navigationComponent={navigationComponent}
|
|
120
121
|
/>
|
|
121
122
|
)
|
|
@@ -236,7 +237,6 @@ const SideNavigationGroupItem: FC<{
|
|
|
236
237
|
iconActive={item.iconActive}
|
|
237
238
|
className={item.className}
|
|
238
239
|
tag={tag}
|
|
239
|
-
submenuExpanded={undefined}
|
|
240
240
|
navigationComponent={navigationComponent}
|
|
241
241
|
/>
|
|
242
242
|
</div>
|
|
@@ -6,7 +6,7 @@ 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 { Fragment, useState } from 'react';
|
|
9
|
+
import { Fragment, useEffect, useState } from 'react';
|
|
10
10
|
import {
|
|
11
11
|
CallsNavigationTrigger,
|
|
12
12
|
LocationInfo,
|
|
@@ -51,8 +51,8 @@ const mainNavItems = [
|
|
|
51
51
|
navItems.dispatch,
|
|
52
52
|
|
|
53
53
|
navItems.fleet,
|
|
54
|
-
navItems.
|
|
55
|
-
navItems.
|
|
54
|
+
navItems.followUpsWithSubmenu,
|
|
55
|
+
navItems.purchasingWithSubmenu,
|
|
56
56
|
|
|
57
57
|
navItems.marketing,
|
|
58
58
|
navItems.priceBook,
|
|
@@ -224,10 +224,15 @@ const useLayoutProps = (args: LayoutContentArgs): TitanLayoutProps => {
|
|
|
224
224
|
};
|
|
225
225
|
|
|
226
226
|
const Content = (args: LayoutContentArgs) => {
|
|
227
|
+
const [info, setInfo] = useState('');
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
setInfo(new Date().toLocaleTimeString());
|
|
230
|
+
}, []);
|
|
227
231
|
return (
|
|
228
232
|
<Fragment>
|
|
229
233
|
<LocationInfo className="m-b-3" />
|
|
230
|
-
<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>
|
|
231
236
|
{args.wideContent && (
|
|
232
237
|
<div style={{ width: '1200px' }}>
|
|
233
238
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
|
|
@@ -168,7 +168,10 @@ function TitanLayoutComponent({
|
|
|
168
168
|
(id: string, expanded: boolean) => {
|
|
169
169
|
onStateChange?.({
|
|
170
170
|
navCollapsed: state?.navCollapsed ?? false,
|
|
171
|
-
|
|
171
|
+
submenusExpanded: [
|
|
172
|
+
...(state?.submenusExpanded ?? []).filter(i => i !== id),
|
|
173
|
+
...(expanded ? [id] : []),
|
|
174
|
+
],
|
|
172
175
|
});
|
|
173
176
|
},
|
|
174
177
|
[state, onStateChange]
|
|
@@ -303,7 +306,7 @@ function TitanLayoutComponent({
|
|
|
303
306
|
mobile={breakpoint.isMobile}
|
|
304
307
|
barExpanded={!state?.navCollapsed}
|
|
305
308
|
onBarExpandChange={onBarExpandChange}
|
|
306
|
-
|
|
309
|
+
submenusExpanded={state?.submenusExpanded}
|
|
307
310
|
onSubmenuExpandChange={onSubmenuExpandChange}
|
|
308
311
|
drawerOpened={mobileDrawerOpened}
|
|
309
312
|
onDrawerOpenChange={setMobileDrawerOpened}
|
|
@@ -324,7 +327,6 @@ function TitanLayoutComponent({
|
|
|
324
327
|
iconActive={undefined}
|
|
325
328
|
tag={undefined}
|
|
326
329
|
className={undefined}
|
|
327
|
-
submenuExpanded={undefined}
|
|
328
330
|
/>
|
|
329
331
|
)}
|
|
330
332
|
</Fragment>
|