Skip to content

Commit 68fe2e5

Browse files
authored
Merge pull request #716 from NoelDeMartin/709-header
#709 Implement Design System Header
2 parents 636c0cb + a11db0c commit 68fe2e5

9 files changed

Lines changed: 175 additions & 216 deletions

File tree

package-lock.json

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

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solid-panes",
3-
"version": "4.4.2-2",
3+
"version": "4.4.2-3",
44
"description": "Solid-compatible Panes: applets and views for the mashlib and databrowser",
55
"main": "dist/index.cjs.js",
66
"types": "dist/index.d.ts",
@@ -85,6 +85,7 @@
8585
"pane-registry": "$pane-registry"
8686
},
8787
"devDependencies": {
88+
"@iconify/json": "2.2.494",
8889
"@testing-library/dom": "^10.4.1",
8990
"@testing-library/jest-dom": "^6.9.1",
9091
"@types/node": "^22.20.0",
@@ -96,6 +97,7 @@
9697
"neostandard": "^0.13.0",
9798
"solidos-toolkit": "dev",
9899
"typescript": "^6.0.3",
100+
"unplugin-icons": "^23.0.1",
99101
"vite": "^8.0.16",
100102
"vitest": "^4.0.18"
101103
},
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)