Skip to content

Commit 1164acf

Browse files
committed
chore(side-nav): make the host work as <aside>
1 parent 23bae4f commit 1164acf

File tree

1 file changed

+49
-60
lines changed

1 file changed

+49
-60
lines changed

src/ui-shell/sidenav.component.ts

Lines changed: 49 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -9,70 +9,59 @@ import { I18n } from "./../i18n/i18n.module";
99
@Component({
1010
selector: "ibm-sidenav",
1111
template: `
12-
<aside
13-
class="bx--side-nav"
14-
[ngClass]="{ 'bx--side-nav--expanded': expanded }">
15-
<nav
16-
class="bx--side-nav__navigation"
17-
role="navigation"
18-
[attr.aria-label]="i18n.get('UI_SHELL.SIDE_NAV.LABEL')">
19-
<ng-content select="ibm-sidenav-header"></ng-content>
20-
<ul class="bx--side-nav__items">
21-
<ng-content></ng-content>
22-
</ul>
23-
<footer class="bx--side-nav__footer">
24-
<button
25-
class="bx--side-nav__toggle"
26-
type="button"
27-
[title]="(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async"
28-
(click)="toggle()">
29-
<div class="bx--side-nav__icon">
30-
<svg
31-
*ngIf="expanded"
32-
focusable="false"
33-
preserveAspectRatio="xMidYMid meet"
34-
style="will-change: transform;"
35-
xmlns="http://www.w3.org/2000/svg"
36-
width="20"
37-
height="20"
38-
viewBox="0 0 32 32"
39-
aria-hidden="true">
40-
<path d="M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z"></path>
41-
</svg>
42-
<svg
43-
*ngIf="!expanded"
44-
focusable="false"
45-
preserveAspectRatio="xMidYMid meet"
46-
style="will-change: transform;"
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="20"
49-
height="20"
50-
viewBox="0 0 32 32"
51-
aria-hidden="true">
52-
<path d="M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path>
53-
</svg>
54-
</div>
55-
<span class="bx--assistive-text">
56-
{{(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async}}
57-
</span>
58-
</button>
59-
</footer>
60-
</nav>
61-
</aside>
12+
<nav
13+
class="bx--side-nav__navigation"
14+
role="navigation"
15+
[attr.aria-label]="i18n.get('UI_SHELL.SIDE_NAV.LABEL')">
16+
<ng-content select="ibm-sidenav-header"></ng-content>
17+
<ul class="bx--side-nav__items">
18+
<ng-content></ng-content>
19+
</ul>
20+
<footer class="bx--side-nav__footer">
21+
<button
22+
class="bx--side-nav__toggle"
23+
type="button"
24+
[title]="(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async"
25+
(click)="toggle()">
26+
<div class="bx--side-nav__icon">
27+
<svg
28+
*ngIf="expanded"
29+
focusable="false"
30+
preserveAspectRatio="xMidYMid meet"
31+
style="will-change: transform;"
32+
xmlns="http://www.w3.org/2000/svg"
33+
width="20"
34+
height="20"
35+
viewBox="0 0 32 32"
36+
aria-hidden="true">
37+
<path d="M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z"></path>
38+
</svg>
39+
<svg
40+
*ngIf="!expanded"
41+
focusable="false"
42+
preserveAspectRatio="xMidYMid meet"
43+
style="will-change: transform;"
44+
xmlns="http://www.w3.org/2000/svg"
45+
width="20"
46+
height="20"
47+
viewBox="0 0 32 32"
48+
aria-hidden="true">
49+
<path d="M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path>
50+
</svg>
51+
</div>
52+
<span class="bx--assistive-text">
53+
{{(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async}}
54+
</span>
55+
</button>
56+
</footer>
57+
</nav>
6258
`,
63-
styles: [
64-
`
65-
.bx--header ~ .bx--side-nav--wrapper .bx--side-nav {
66-
top: 3rem;
67-
}
68-
`
69-
],
7059
encapsulation: ViewEncapsulation.None
7160
})
7261
export class SideNav {
73-
@Input() expanded = false;
74-
75-
@HostBinding("class.bx--side-nav--wrapper") hostClass = true;
62+
@HostBinding("attr.role") role = "complementary";
63+
@HostBinding("class.bx--side-nav") hostClass = true;
64+
@HostBinding("class.bx--side-nav--expanded") expanded = false;
7665

7766
constructor(public i18n: I18n) { }
7867

0 commit comments

Comments
 (0)