Skip to content

Commit 345e415

Browse files
committed
#709 Implement Design System Header
1 parent 646efdf commit 345e415

8 files changed

Lines changed: 158 additions & 227 deletions

File tree

package-lock.json

Lines changed: 34 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
"pane-registry": "$pane-registry"
8787
},
8888
"devDependencies": {
89+
"@iconify/json": "2.2.494",
8990
"@testing-library/dom": "^10.4.1",
9091
"@testing-library/jest-dom": "^6.9.1",
9192
"@types/node": "^22.20.0",
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
@import "solid-ui/breakpoints.css";
2+
3+
:host {
4+
display: flex;
5+
flex-direction: row;
6+
align-items: center;
7+
justify-content: space-between;
8+
background: var(--solid-ui-color-slate-800);
9+
color: var(--solid-ui-color-white);
10+
padding: 7px 20px;
11+
gap: 10px;
12+
13+
a.logo {
14+
height: 40px;
15+
16+
solid-ui-solid-emblem {
17+
height: 100%;
18+
}
19+
}
20+
21+
.spacer {
22+
flex: 1;
23+
}
24+
25+
.separator {
26+
background: var(--solid-ui-color-body-grey);
27+
width: 1px;
28+
align-self: stretch;
29+
}
30+
31+
@media (--solid-ui-mobile) {
32+
a.logo,
33+
solid-ui-menu,
34+
.separator {
35+
display: none;
36+
}
37+
}
38+
}

src/components/header/Header.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { customElement, WebComponent } from 'solid-ui'
2+
import { html } from 'lit'
3+
import { property } from 'lit/decorators.js'
4+
import type { AccountMenuItem } from 'solid-ui/components/account'
5+
6+
import 'solid-ui/components/account'
7+
import 'solid-ui/components/button'
8+
import 'solid-ui/components/menu-item'
9+
import 'solid-ui/components/menu'
10+
import 'solid-ui/components/solid-emblem'
11+
import '~icons/lucide/help-circle'
12+
13+
import styles from './Header.styles.css'
14+
15+
@customElement('solid-panes-header')
16+
export default class Header extends WebComponent {
17+
static styles = styles
18+
19+
@property({ type: Array })
20+
accessor menuItems: AccountMenuItem[] = []
21+
22+
render () {
23+
return html`
24+
<a href="/" class="logo">
25+
<span class="sr-only">Home</span>
26+
<solid-ui-solid-emblem></solid-ui-solid-emblem>
27+
</a>
28+
<div class="spacer"></div>
29+
<solid-ui-account .menuItems=${this.menuItems}></solid-ui-account>
30+
<span class="separator"></span>
31+
<solid-ui-menu placement="bottom-end" distance="5">
32+
<solid-ui-button slot="trigger" variant="ghost" title="Open help">
33+
<span class="sr-only">Open help</span>
34+
<icon-lucide-help-circle slot="icon"></icon-lucide-help-circle>
35+
</solid-ui-button>
36+
37+
<solid-ui-menu-item href="https://solidos.github.io/userguide/">User guide</solid-ui-menu-item>
38+
<solid-ui-menu-item href="https://github.com/solidos/solidos/issues">Report a problem</solid-ui-menu-item>
39+
</solid-ui-menu>
40+
`
41+
}
42+
}

src/components/header/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import Header from './Header'
2+
3+
export { Header }
4+
export default Header

0 commit comments

Comments
 (0)