Skip to content

Commit 76e0f20

Browse files
authored
[UX] Restyle global breadcrumbs (#1954)
* Issue-1858 Restyle global breadcrumbs Signed-off-by: kaddy645 <xdeskart@amazon.com> * Undo max count Signed-off-by: kaddy645 <xdeskart@amazon.com> * update snapshot Signed-off-by: kaddy645 <xdeskart@amazon.com> * add svg round-filter Signed-off-by: kaddy645 <xdeskart@amazon.com> * update tests Signed-off-by: kaddy645 <xdeskart@amazon.com> * spelling err Signed-off-by: kaddy645 <xdeskart@amazon.com> * remove un-necessary width Signed-off-by: kaddy645 <xdeskart@amazon.com> * pr updates Signed-off-by: kaddy645 <xdeskart@amazon.com> * pr updates Signed-off-by: kaddy645 <xdeskart@amazon.com> * clean code Signed-off-by: kaddy645 <xdeskart@amazon.com>
1 parent 9496da3 commit 76e0f20

File tree

6 files changed

+92
-10
lines changed

6 files changed

+92
-10
lines changed

src/core/public/_variables.scss

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
@import "@elastic/eui/src/global_styling/variables/header";
22

33
$osdHeaderOffset: $euiHeaderHeightCompensation;
4+
$osdHeaderBreadcrumbBlueBackground: #b9d9eb;
5+
$osdHeaderBreadcrumbGrayBackground: #d9e1e2;
6+
$osdHeaderBreadcrumbCollapsedLink: #002a3a;
Loading

src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap

+12-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/public/chrome/ui/header/__snapshots__/header_breadcrumbs.test.tsx.snap

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
@import "../../../../public/variables";
2+
3+
$firstBreadcrumbPolygon: polygon(
4+
0% 0%,
5+
100% 0%,
6+
calc(100% - #{$euiSizeS}) 100%,
7+
0% 100%
8+
);
9+
$breadcrumbPolygon: polygon(
10+
$euiSizeS 0%,
11+
100% 0%,
12+
calc(100% - #{$euiSizeS}) 100%,
13+
0% 100%
14+
);
15+
16+
.osdHeaderBreadcrumbs {
17+
/*
18+
filter defines a custom filter effect by grouping atomic filter primitives!
19+
here we are using Gaussian filter with stdDeviation for applying
20+
border-radius on clipped background.
21+
*/
22+
23+
filter: url("../../public/assets/round_filter.svg#round");
24+
25+
.osdBreadcrumbs {
26+
clip-path: $breadcrumbPolygon;
27+
background-color: $osdHeaderBreadcrumbGrayBackground;
28+
padding: $euiSizeXS - 2.5 $euiSizeL - $euiSizeXS;
29+
30+
&:first-child {
31+
clip-path: $firstBreadcrumbPolygon;
32+
}
33+
34+
&:last-child {
35+
background-color: $osdHeaderBreadcrumbBlueBackground;
36+
}
37+
}
38+
39+
.euiBreadcrumbSeparator {
40+
display: none;
41+
}
42+
43+
.euiBreadcrumb__collapsedLink {
44+
color: $osdHeaderBreadcrumbCollapsedLink;
45+
background: $euiColorEmptyShade;
46+
}
47+
48+
.euiPopover__anchor {
49+
padding: 0 $euiSizeS;
50+
}
51+
52+
.euiBreadcrumb:not(.euiBreadcrumb:last-child) {
53+
margin-right: 0;
54+
}
55+
}

src/core/public/chrome/ui/header/header_breadcrumbs.tsx

+11-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import useObservable from 'react-use/lib/useObservable';
3535
import { Observable } from 'rxjs';
3636
import { ChromeBreadcrumb } from '../../chrome_service';
3737

38+
import './header_breadcrumbs.scss';
39+
3840
interface Props {
3941
appTitle$: Observable<string>;
4042
breadcrumbs$: Observable<ChromeBreadcrumb[]>;
@@ -57,7 +59,15 @@ export function HeaderBreadcrumbs({ appTitle$, breadcrumbs$ }: Props) {
5759
i === 0 && 'first',
5860
i === breadcrumbs.length - 1 && 'last'
5961
),
62+
className: classNames('osdBreadcrumbs'),
6063
}));
6164

62-
return <EuiHeaderBreadcrumbs breadcrumbs={crumbs} max={10} data-test-subj="breadcrumbs" />;
65+
return (
66+
<EuiHeaderBreadcrumbs
67+
breadcrumbs={crumbs}
68+
max={10}
69+
data-test-subj="breadcrumbs"
70+
className="osdHeaderBreadcrumbs"
71+
/>
72+
);
6373
}

0 commit comments

Comments
 (0)