diff options
author | Volpeon <git@volpeon.ink> | 2024-06-26 21:47:55 +0200 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2024-06-26 21:47:55 +0200 |
commit | 03bb4268367dcd3b2d327d3834e2047a56687a86 (patch) | |
tree | 83f6f6837fc909dd8cc5f8166c3c1b4ae78c85d9 /tpl/objects/side-nav.pug | |
parent | Update (diff) | |
download | iro-design-03bb4268367dcd3b2d327d3834e2047a56687a86.tar.gz iro-design-03bb4268367dcd3b2d327d3834e2047a56687a86.tar.bz2 iro-design-03bb4268367dcd3b2d327d3834e2047a56687a86.zip |
Menus
Diffstat (limited to 'tpl/objects/side-nav.pug')
-rw-r--r-- | tpl/objects/side-nav.pug | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tpl/objects/side-nav.pug b/tpl/objects/side-nav.pug new file mode 100644 index 0000000..511f298 --- /dev/null +++ b/tpl/objects/side-nav.pug | |||
@@ -0,0 +1,48 @@ | |||
1 | include icon.pug | ||
2 | include status-indicator.pug | ||
3 | include action-button.pug | ||
4 | |||
5 | mixin side-nav | ||
6 | - | ||
7 | let classes = { | ||
8 | 'o-side-nav': true, | ||
9 | } | ||
10 | if (attributes.class) { | ||
11 | classes[attributes.class] = true; | ||
12 | } | ||
13 | |||
14 | div(class=classes)&attributes(attributes) | ||
15 | block | ||
16 | |||
17 | mixin side-nav-item | ||
18 | - | ||
19 | let classes = { | ||
20 | 'o-side-nav__item': true, | ||
21 | 'l-media': true, | ||
22 | 'l-media--75': true, | ||
23 | 'o-side-nav__header': attributes.header, | ||
24 | 'is-selected': attributes.selected, | ||
25 | } | ||
26 | if (attributes.class) { | ||
27 | classes[attributes.class] = true; | ||
28 | } | ||
29 | |||
30 | #{!!attributes.tag ? attributes.tag : 'button'}(class=classes)&attributes(attributes) | ||
31 | if attributes.icon | ||
32 | .l-media__block.o-side-nav__icon-slot | ||
33 | if attributes.iconIsStatus | ||
34 | +status-indicator(attributes.icon)(class='o-side-nav__icon') | ||
35 | else | ||
36 | +icon(attributes.icon)(class='o-side-nav__icon') | ||
37 | .l-media__block.l-media__block--main&attributes({ class: attributes.contentClass }) | ||
38 | block | ||
39 | if attributes.postIcon | ||
40 | .l-media__block.o-side-nav__icon-slot | ||
41 | +icon(attributes.postIcon)(class='o-side-nav__icon') | ||
42 | |||
43 | mixin side-nav-header | ||
44 | header.o-side-nav__header | ||
45 | block | ||
46 | |||
47 | mixin side-nav-separator | ||
48 | .o-side-nav__separator | ||